diff options
author | E.Z. Hart <hartez@users.noreply.github.com> | 2016-06-16 09:45:09 -0600 |
---|---|---|
committer | Rui Marinho <me@ruimarinho.net> | 2016-06-16 16:45:09 +0100 |
commit | d5be2f0144ca810fdfbf59808d526c26fe86017e (patch) | |
tree | 3ad7e4465307cd6d633184e05d85eb3a4df59e01 /Xamarin.Forms.Platform.Android/AppCompat/NavigationPageRenderer.cs | |
parent | 04f7bd296ee67af9189ecd7fdfbd2808ca16ce9a (diff) | |
download | xamarin-forms-d5be2f0144ca810fdfbf59808d526c26fe86017e.tar.gz xamarin-forms-d5be2f0144ca810fdfbf59808d526c26fe86017e.tar.bz2 xamarin-forms-d5be2f0144ca810fdfbf59808d526c26fe86017e.zip |
Prep Page for removal of InternalsVisibleTo (#150)
Diffstat (limited to 'Xamarin.Forms.Platform.Android/AppCompat/NavigationPageRenderer.cs')
-rw-r--r-- | Xamarin.Forms.Platform.Android/AppCompat/NavigationPageRenderer.cs | 18 |
1 files changed, 10 insertions, 8 deletions
diff --git a/Xamarin.Forms.Platform.Android/AppCompat/NavigationPageRenderer.cs b/Xamarin.Forms.Platform.Android/AppCompat/NavigationPageRenderer.cs index 1132c8fa..277be331 100644 --- a/Xamarin.Forms.Platform.Android/AppCompat/NavigationPageRenderer.cs +++ b/Xamarin.Forms.Platform.Android/AppCompat/NavigationPageRenderer.cs @@ -73,6 +73,8 @@ namespace Xamarin.Forms.Platform.Android.AppCompat FragmentManager FragmentManager => _fragmentManager ?? (_fragmentManager = ((FormsAppCompatActivity)Context).SupportFragmentManager); + IPageController PageController => Element as IPageController; + bool ToolbarVisible { get { return _toolbarVisible; } @@ -130,9 +132,9 @@ namespace Xamarin.Forms.Platform.Android.AppCompat if (Element != null) { - for (var i = 0; i < Element.InternalChildren.Count; i++) + for (var i = 0; i < PageController.InternalChildren.Count; i++) { - var child = Element.InternalChildren[i] as VisualElement; + var child = PageController.InternalChildren[i] as VisualElement; if (child == null) continue; IVisualElementRenderer renderer = Android.Platform.GetRenderer(child); @@ -146,7 +148,7 @@ namespace Xamarin.Forms.Platform.Android.AppCompat navController.PopToRootRequested -= OnPoppedToRoot; navController.InsertPageBeforeRequested -= OnInsertPageBeforeRequested; navController.RemovePageRequested -= OnRemovePageRequested; - Element.SendDisappearing(); + PageController.SendDisappearing(); } if (_toolbarTracker != null) @@ -174,7 +176,7 @@ namespace Xamarin.Forms.Platform.Android.AppCompat protected override void OnAttachedToWindow() { base.OnAttachedToWindow(); - Element.SendAppearing(); + PageController.SendAppearing(); _fragmentStack.Last().UserVisibleHint = true; RegisterToolbar(); UpdateToolbar(); @@ -183,7 +185,7 @@ namespace Xamarin.Forms.Platform.Android.AppCompat protected override void OnDetachedFromWindow() { base.OnDetachedFromWindow(); - Element.SendDisappearing(); + PageController.SendDisappearing(); } protected override void OnElementChanged(ElementChangedEventArgs<NavigationPage> e) @@ -272,7 +274,7 @@ namespace Xamarin.Forms.Platform.Android.AppCompat int containerHeight = ToolbarVisible ? internalHeight : b - t; containerHeight -= ContainerPadding; - Element.ContainerArea = new Rectangle(0, 0, Context.FromPixels(r - l), Context.FromPixels(containerHeight)); + PageController.ContainerArea = new Rectangle(0, 0, Context.FromPixels(r - l), Context.FromPixels(containerHeight)); // Potential for optimization here, the exact conditions by which you don't need to do this are complex // and the cost of doing when it's not needed is moderate to low since the layout will short circuit pretty fast Element.ForceLayout(); @@ -393,7 +395,7 @@ namespace Xamarin.Forms.Platform.Android.AppCompat { UpdateToolbar(); - int index = Element.InternalChildren.IndexOf(before); + int index = PageController.InternalChildren.IndexOf(before); if (index == -1) throw new InvalidOperationException("This should never happen, please file a bug"); @@ -464,7 +466,7 @@ namespace Xamarin.Forms.Platform.Android.AppCompat if (masterDetailPage == null) { - masterDetailPage = Element.InternalChildren[0] as MasterDetailPage; + masterDetailPage = PageController.InternalChildren[0] as MasterDetailPage; if (masterDetailPage == null) return; } |