summaryrefslogtreecommitdiff
path: root/Xamarin.Forms.ControlGallery.Android
diff options
context:
space:
mode:
authorE.Z. Hart <hartez@users.noreply.github.com>2016-09-27 07:50:02 -0600
committerRui Marinho <me@ruimarinho.net>2016-09-27 14:50:02 +0100
commit53e1d99a751e7a9cb8ae3f67ac8f3630b2aea398 (patch)
tree7379dd4d3419a69018e4db910936a8cf146f33f5 /Xamarin.Forms.ControlGallery.Android
parentc83c830c68bc0da08f330457dc6901f1657b86f5 (diff)
downloadxamarin-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.cs39
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)