protected override void OnCreate(Bundle bundle) { // Prevents crash when activity in background with history enable is reopened after // Android does some auto memory management. var setup = MvxAndroidSetupSingleton.EnsureSingletonAvailable(this); setup.EnsureInitialized(); base.OnCreate(bundle); if (bundle == null) { HandleIntent(Intent); } else { IMvxJsonConverter serializer; if (!Mvx.TryResolve(out serializer)) { Mvx.Trace( "Could not resolve IMvxJsonConverter, it is going to be hard to create ViewModel cache"); return; } FragmentCacheConfiguration.RestoreCacheConfiguration(bundle, serializer); // Gabriel has blown his trumpet. Ressurect Fragments from the dead RestoreFragmentsCache(); RestoreViewModelsFromBundle(serializer, bundle); } }
protected override void OnPostCreate(Bundle savedInstanceState) { base.OnPostCreate(savedInstanceState); if (savedInstanceState == null) { return; } IMvxJsonConverter serializer; if (!Mvx.TryResolve(out serializer)) { Mvx.Trace( "Could not resolve IMvxJsonConverter, it is going to be hard to create ViewModel cache"); return; } FragmentCacheConfiguration.RestoreCacheConfiguration(savedInstanceState, serializer); // Gabriel has blown his trumpet. Ressurect Fragments from the dead. RestoreFragmentsCache(); RestoreViewModelsFromBundle(serializer, savedInstanceState); }
protected override void OnCreate(Bundle bundle) { // Prevents crash when activity in background with history enable is reopened after // Android does some auto memory management. var setup = MvxAndroidSetupSingleton.EnsureSingletonAvailable(this); setup.EnsureInitialized(); base.OnCreate(bundle); var rootView = Window.DecorView.RootView; EventHandler onGlobalLayout = null; onGlobalLayout = (sender, args) => { rootView.ViewTreeObserver.GlobalLayout -= onGlobalLayout; ViewModel.Appeared(); }; rootView.ViewTreeObserver.GlobalLayout += onGlobalLayout; if (bundle == null) HandleIntent(Intent); else { IMvxJsonConverter serializer; if (!Mvx.TryResolve(out serializer)) { Mvx.Trace( "Could not resolve IMvxJsonConverter, it is going to be hard to create ViewModel cache"); return; } FragmentCacheConfiguration.RestoreCacheConfiguration(bundle, serializer); // Gabriel has blown his trumpet. Ressurect Fragments from the dead RestoreFragmentsCache(); RestoreViewModelsFromBundle(serializer, bundle); } }