예제 #1
0
        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);
            }
        }
예제 #2
0
        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);
        }
예제 #3
0
		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);
			}
		}