diff options
author | E.Z. Hart <hartez@users.noreply.github.com> | 2016-09-27 07:50:02 -0600 |
---|---|---|
committer | Rui Marinho <me@ruimarinho.net> | 2016-09-27 14:50:02 +0100 |
commit | 53e1d99a751e7a9cb8ae3f67ac8f3630b2aea398 (patch) | |
tree | 7379dd4d3419a69018e4db910936a8cf146f33f5 /Xamarin.Forms.ControlGallery.Android | |
parent | c83c830c68bc0da08f330457dc6901f1657b86f5 (diff) | |
download | xamarin-forms-53e1d99a751e7a9cb8ae3f67ac8f3630b2aea398.tar.gz xamarin-forms-53e1d99a751e7a9cb8ae3f67ac8f3630b2aea398.tar.bz2 xamarin-forms-53e1d99a751e7a9cb8ae3f67ac8f3630b2aea398.zip |
Fix potential NRE accessing current application via Page.RealParent (#330)
* Fix potential NRE accessing current application via Page.RealParent
* Update Native Bindings Gallery to use MessagingCenter
Diffstat (limited to 'Xamarin.Forms.ControlGallery.Android')
-rw-r--r-- | Xamarin.Forms.ControlGallery.Android/Activity1.cs | 39 |
1 files changed, 8 insertions, 31 deletions
diff --git a/Xamarin.Forms.ControlGallery.Android/Activity1.cs b/Xamarin.Forms.ControlGallery.Android/Activity1.cs index 35f877dc..ad3945ee 100644 --- a/Xamarin.Forms.ControlGallery.Android/Activity1.cs +++ b/Xamarin.Forms.ControlGallery.Android/Activity1.cs @@ -205,17 +205,8 @@ namespace Xamarin.Forms.ControlGallery.Android var app = new App (); - var mdp = app.MainPage as MasterDetailPage; - var detail = mdp?.Detail as NavigationPage; - if (detail != null) { - detail.Pushed += (sender, args) => { - var nncgPage = args.Page as NestedNativeControlGalleryPage; - - if (nncgPage != null) { - AddNativeControls (nncgPage); - } - }; - } + // When the native control gallery loads up, it'll let us know so we can add the nested native controls + MessagingCenter.Subscribe<NestedNativeControlGalleryPage>(this, NestedNativeControlGalleryPage.ReadyForNativeControlsMessage, AddNativeControls); LoadApplication (app); } @@ -327,29 +318,15 @@ namespace Xamarin.Forms.ControlGallery.Android // uncomment to verify turning off title bar works. This is not intended to be dynamic really. //Forms.SetTitleBarVisibility (AndroidTitleBarVisibility.Never); - var app = new App (); + var app = new App(); - var mdp = app.MainPage as MasterDetailPage; - var detail = mdp?.Detail as NavigationPage; - if (detail != null) { - detail.Pushed += (sender, args) => { - var nncgPage = args.Page as NestedNativeControlGalleryPage; + // When the native control gallery loads up, it'll let us know so we can add the nested native controls + MessagingCenter.Subscribe<NestedNativeControlGalleryPage>(this, NestedNativeControlGalleryPage.ReadyForNativeControlsMessage, AddNativeControls); - if (nncgPage != null) { - AddNativeControls (nncgPage); - } + // When the native binding gallery loads up, it'll let us know so we can set up the native bindings + MessagingCenter.Subscribe<NativeBindingGalleryPage >(this, NativeBindingGalleryPage.ReadyForNativeBindingsMessage, AddNativeBindings); - var nncgPage1 = args.Page as NativeBindingGalleryPage; - - if (nncgPage1 != null) - { - AddNativeBindings(nncgPage1); - } - - }; - } - - LoadApplication (app); + LoadApplication(app); } public override void OnConfigurationChanged (global::Android.Content.Res.Configuration newConfig) |