protected override void OnCreate(Bundle savedInstanceState)
		{
			base.OnCreate(savedInstanceState);
			
			SetContentView(Resource.Layout.activity_map);

			mFragmentManager = SupportFragmentManager;
			mFragmentManager.AddOnBackStackChangedListener(this);
	
			mFragmentBreadCrumbs = FindViewById<FragmentBreadCrumbs>(Resource.Id.breadcrumbs);
			mFragmentBreadCrumbs.SetActivity(this);
	
			mMapFragment = (MapFragment)mFragmentManager.FindFragmentByTag("map");
			if (mMapFragment == null) {
				mMapFragment = new MapFragment();
				mMapFragment.Arguments = IntentToFragmentArguments(Intent);
	
				mFragmentManager.BeginTransaction()
	                    .Add(Resource.Id.fragment_container_map, mMapFragment, "map")
	                    .Commit();
			}
	
			FindViewById<ImageButton>(Resource.Id.close_button).Click += (sender, e) => {
				ClearBackStack(SupportFragmentManager);	
			};
	
			UpdateBreadCrumb();
		}
        public static bool TryShow (FragmentManager fragmentManager, TimeEntryModel model)
        {
            var settingsStore = ServiceContainer.Resolve<SettingsStore> ();
            if (settingsStore.ReadContinueDialog)
                return false;

            new RecentTimeEntryContinueDialogFragment (model).Show (fragmentManager, "notice_dialog");
            return true;
        }
		protected override void OnBeforeCommitReplaceFragment(FragmentManager fm, Android.Support.V4.App.FragmentTransaction ft, Fragment fragment)
		{
			base.OnBeforeCommitReplaceFragment(fm, ft, fragment);
			
			if (fragment is SessionDetailFragment) {
				ft.AddToBackStack(null);
			} else if (fragment is SessionsFragment) {
				fm.PopBackStack();
			}
			UpdateBreadCrumb();
		}
Exemplo n.º 4
0
        public static bool TryShow (FragmentManager fragmentManager)
        {
            var authManager = ServiceContainer.Resolve<AuthManager> ();
            if (authManager.User == null || authManager.User.TrackingMode == TrackingMode.StartNew)
                return false;

            var settingsStore = ServiceContainer.Resolve<SettingsStore> ();
            if (settingsStore.ReadDurOnlyNotice)
                return false;

            new DurOnlyNoticeDialogFragment ().Show (fragmentManager, "notice_dialog");
            return true;
        }
		protected override void OnCreate(Bundle bundle)
		{
			base.OnCreate(bundle);
			
			SetContentView(Resource.Layout.activity_schedule);
	
			mFragmentManager = SupportFragmentManager;
			mFragmentBreadCrumbs = FindViewById<FragmentBreadCrumbs>(Resource.Id.breadcrumbs);
			mFragmentBreadCrumbs.SetActivity(this);
			mFragmentManager.AddOnBackStackChangedListener(this);
	
			UpdateBreadCrumb();
		}
 public ItemsSourcePagerAdapter([NotNull] ViewPager viewPager)
 {
     Should.NotBeNull(viewPager, nameof(viewPager));
     _viewPager = viewPager;
     _fragmentManager = viewPager.GetFragmentManager();
     _itemTemplateProvider = new DataTemplateProvider(viewPager, AttachedMemberConstants.ItemTemplate, AttachedMemberConstants.ItemTemplateSelector);
     _weakHandler = ReflectionExtensions.MakeWeakCollectionChangedHandler(this, (adapter, o, arg3) => adapter.OnCollectionChanged(o, arg3));
     var activityView = _viewPager.Context.GetActivity() as IActivityView;
     if (activityView != null)
     {
         _listener = ReflectionExtensions.CreateWeakEventHandler<ItemsSourcePagerAdapter, EventArgs>(this, (adapter, o, arg3) => adapter.ActivityViewOnDestroyed((Activity)o));
         activityView.Mediator.Destroyed += _listener.Handle;
     }
 }
Exemplo n.º 7
0
            public static void Start (FragmentManager mgr, string email)
            {
                // Find old fragment to replace
                var frag = mgr.FindFragmentByTag ("google_auth");
                if (frag != null) {
                    var authFrag = frag as GoogleAuthFragment;
                    if (authFrag != null && authFrag.IsAuthenticating) {
                        // Authentication going on still, do nothing.
                        return;
                    }
                }

                var tx = mgr.BeginTransaction ();
                if (frag != null) {
                    tx.Remove (frag);
                }
                tx.Add (new GoogleAuthFragment (email), "google_auth");
                tx.Commit ();
            }
Exemplo n.º 8
0
            public MainPagerAdapter (Context ctx, FragmentManager fm) : base (fm)
            {
                this.ctx = ctx;

                timeEntryManager = ServiceContainer.Resolve<ActiveTimeEntryManager> ();
                timeEntryManager.PropertyChanged += OnTimeEntryManagerPropertyChanged;

                var bus = ServiceContainer.Resolve<MessageBus> ();
                subscriptionSettingChanged = bus.Subscribe<SettingChangedMessage> (OnSettingChanged);
            }
Exemplo n.º 9
0
		public PagerAdapter(FragmentManager fm, int NumOfTabs) : base(fm)
		{
			this.numOfTabs = NumOfTabs;
			fragments = new Fragment[NumOfTabs];
		}
Exemplo n.º 10
0
 public SimpleItemRecyclerViewAdapter(List<User> items, Context context, Android.Support.V4.App.FragmentManager fragmentManager)
 {
     _users = items;
     _context = context;
     _fragmentManager = fragmentManager;
 }
		private void ClearBackStack(FragmentManager fm)
		{
			while (fm.BackStackEntryCount > 0) {
				fm.PopBackStackImmediate();
			}
		}
 public GoogleMusicAdapter(FragmentManager p0)
     : base(p0)
 {
 }
Exemplo n.º 13
0
        protected override void OnCreate(Bundle savedInstanceState)
        {
            base.OnCreate(savedInstanceState);
            Xamarin.Essentials.Platform.Init(this, savedInstanceState);
            SetContentView(Resource.Layout.activity_main);
            sessionManagement = new Session_management(this);
            Android.Support.V7.Widget.Toolbar toolbar = FindViewById <Android.Support.V7.Widget.Toolbar>(Resource.Id.toolbar);
            SetSupportActionBar(toolbar);
            SupportActionBar.SetDisplayShowTitleEnabled(false);
            //SupportActionBar.SetTitle(Resource.String.app_name);

            drawer = (DrawerLayout)FindViewById(Resource.Id.drawer_layout);

            toggle = new ActionBarDrawerToggle(this, drawer, toolbar, Resource.String.navigation_drawer_open, Resource.String.navigation_drawer_close);
            drawer.SetDrawerListener(toggle);
            toggle.SyncState();

            navigationView = (NavigationView)FindViewById(Resource.Id.nav_view);

            IMenu m = navigationView.Menu;

            for (int i = 0; i < m.Size(); i++)
            {
                IMenuItem mi = m.GetItem(i);

                //for aapplying a font to subMenu ...
                ISubMenu subMenu = mi.SubMenu;
                if (subMenu != null && subMenu.Size() > 0)
                {
                    for (int j = 0; j < subMenu.Size(); j++)
                    {
                        IMenuItem subMenuItem = subMenu.GetItem(j);
                    }
                }
            }

            View headerView = navigationView.GetHeaderView(0);

            navigationView.Background.SetColorFilter(Android.Graphics.Color.Rgb(128, 0, 0), PorterDuff.Mode.Multiply);
            navigationView.SetNavigationItemSelectedListener(this);
            nav_menu = navigationView.Menu;
            View header = ((NavigationView)FindViewById(Resource.Id.nav_view)).GetHeaderView(0);

            viewpa = (LinearLayout)header.FindViewById(Resource.Id.viewpa);
            if (sessionManagement.isLoggedIn())
            {
                viewpa.Visibility = ViewStates.Visible;
            }

            My_Order         = (LinearLayout)header.FindViewById(Resource.Id.my_orders);
            My_Reward        = (LinearLayout)header.FindViewById(Resource.Id.my_reward);
            btn_checkout     = (LinearLayout)header.FindViewById(Resource.Id.checkout);
            My_Cart          = (LinearLayout)header.FindViewById(Resource.Id.my_cart);
            iv_profile       = (ImageView)header.FindViewById(Resource.Id.iv_header_img);
            username         = (TextView)header.FindViewById(Resource.Id.tv_header_name);
            totalBudgetCount = (TextView)FindViewById(Resource.Id.totalBudgetCount);

            My_Order.Click += delegate
            {
                if (sessionManagement.isLoggedIn())
                {
                    Intent i = new Intent(this, typeof(My_Order_activity));
                    StartActivity(i);
                }
                else
                {
                    Intent i = new Intent(this, typeof(LoginActivity));
                    StartActivity(i);
                    OverridePendingTransition(0, 0);
                };
            };
            My_Reward.Click += delegate
            {
                if (sessionManagement.isLoggedIn())
                {
                    Intent i = new Intent(this, typeof(Reward_fragment));
                    StartActivity(i);
                }
                else
                {
                    Intent i = new Intent(this, typeof(LoginActivity));
                    StartActivity(i);
                    OverridePendingTransition(0, 0);
                };
            };
            btn_checkout.Click += delegate
            {
                if (sessionManagement.isLoggedIn())
                {
                    Intent i = new Intent(this, typeof(OrderSummary));
                    StartActivity(i);
                }
                else
                {
                    Intent i = new Intent(this, typeof(LoginActivity));
                    StartActivity(i);
                    OverridePendingTransition(0, 0);
                };
            };
            My_Cart.Click += delegate
            {
                if (sessionManagement.isLoggedIn())
                {
                    Intent i = new Intent(this, typeof(CartFragment));
                    StartActivity(i);
                }
                else
                {
                    Intent i = new Intent(this, typeof(LoginActivity));
                    StartActivity(i);
                    OverridePendingTransition(0, 0);
                };
            };

            iv_profile.Click += delegate
            {
                if (sessionManagement.isLoggedIn())
                {
                    Edit_profile_fragment fm = new Edit_profile_fragment();
                    Android.Support.V4.App.FragmentManager fragmentManager = SupportFragmentManager;
                    fragmentManager.BeginTransaction().Replace(Resource.Id.contentPanel, fm)
                    .AddToBackStack(null).Commit();
                }
                else
                {
                    Intent i = new Intent(this, typeof(LoginActivity));
                    StartActivity(i);
                    OverridePendingTransition(0, 0);
                };
            };


            sideMenu();

            if (savedInstanceState == null)
            {
                HomeeeFragment fm = new HomeeeFragment();
                Android.Support.V4.App.FragmentManager fragmentManager = SupportFragmentManager;
                fragmentManager.BeginTransaction()
                .Replace(Resource.Id.contentPanel, fm, "Home_fragment")
                .SetTransition(Android.Support.V4.App.FragmentTransaction.TransitFragmentOpen)
                .Commit();
            }
            SupportFragmentManager.BackStackChanged += SupportFragmentManager_BackStackChanged;
            initComponent();
            loadFragment(new HomeeeFragment());
        }
        Task <bool> SwitchContentAsync(Page page, bool animated, bool removed = false, bool popToRoot = false)
        {
            if (!Element.IsAttachedToRoot())
            {
                return(Task.FromResult(false));
            }

            var      tcs      = new TaskCompletionSource <bool>();
            Fragment fragment = GetFragment(page, removed, popToRoot);

#if DEBUG
            // Enables logging of moveToState operations to logcat
            FragmentManager.EnableDebugLogging(true);
#endif

            Current?.SendDisappearing();
            Current = page;

            if (Platform != null)
            {
                Platform.NavAnimationInProgress = true;
            }

            FragmentTransaction transaction = FragmentManager.BeginTransactionEx();

            if (animated)
            {
                SetupPageTransition(transaction, !removed);
            }

            var fragmentsToRemove = new List <Fragment>();

            if (_fragmentStack.Count == 0)
            {
                transaction.AddEx(Id, fragment);
                _fragmentStack.Add(fragment);
            }
            else
            {
                if (removed)
                {
                    // pop only one page, or pop everything to the root
                    var popPage = true;
                    while (_fragmentStack.Count > 1 && popPage)
                    {
                        Fragment currentToRemove = _fragmentStack.Last();
                        _fragmentStack.RemoveAt(_fragmentStack.Count - 1);
                        transaction.HideEx(currentToRemove);
                        fragmentsToRemove.Add(currentToRemove);
                        popPage = popToRoot;
                    }

                    Fragment toShow = _fragmentStack.Last();
                    // Execute pending transactions so that we can be sure the fragment list is accurate.
                    FragmentManager.ExecutePendingTransactionsEx();
                    if (FragmentManager.Fragments.Contains(toShow))
                    {
                        transaction.ShowEx(toShow);
                    }
                    else
                    {
                        transaction.AddEx(Id, toShow);
                    }
                }
                else
                {
                    // push
                    Fragment currentToHide = _fragmentStack.Last();
                    transaction.HideEx(currentToHide);
                    transaction.AddEx(Id, fragment);
                    _fragmentStack.Add(fragment);
                }
            }

            // We don't currently support fragment restoration, so we don't need to worry about
            // whether the commit loses state
            transaction.CommitAllowingStateLossEx();

            // The fragment transitions don't really SUPPORT telling you when they end
            // There are some hacks you can do, but they actually are worse than just doing this:

            if (animated)
            {
                if (!removed)
                {
                    UpdateToolbar();
                    if (_drawerToggle != null && NavigationPageController.StackDepth == 2)
                    {
                        AnimateArrowIn();
                    }
                }
                else if (_drawerToggle != null && NavigationPageController.StackDepth == 2)
                {
                    AnimateArrowOut();
                }

                AddTransitionTimer(tcs, fragment, FragmentManager, fragmentsToRemove, TransitionDuration, removed);
            }
            else
            {
                AddTransitionTimer(tcs, fragment, FragmentManager, fragmentsToRemove, 1, true);
            }

            Context.HideKeyboard(this);

            if (Platform != null)
            {
                Platform.NavAnimationInProgress = false;
            }

            return(tcs.Task);
        }
Exemplo n.º 15
0
        public bool SetContent(object view, object content)
        {
            var targetView = view as ViewGroup;

            if (targetView == null)
            {
                return(false);
            }
            if (content == null)
            {
                FragmentManager fragmentManager = targetView.GetFragmentManager();
                Fragment        oldFragment     = fragmentManager?.FindFragmentById(targetView.Id);
                if (oldFragment != null && !fragmentManager.IsDestroyed)
                {
                    BeginTransaction(fragmentManager, targetView, null)
                    .Remove(oldFragment)
                    .CommitAllowingStateLoss();
                    fragmentManager.ExecutePendingTransactions();
                    return(true);
                }
                return(false);
            }
            var fragment = content as Fragment;

            if (fragment == null)
            {
                return(false);
            }
            AndroidToolkitExtensions.ValidateViewIdFragment(targetView, fragment);
            FragmentManager manager = targetView.GetFragmentManager();

            if (manager == null)
            {
                return(false);
            }
            FragmentTransaction transaction = BeginTransaction(manager, targetView, fragment);
            var addToBackStack = targetView.GetBindingMemberValue(AttachedMembers.ViewGroup.AddToBackStack);

            if (addToBackStack && fragment.Arguments != null)
            {
                addToBackStack = !fragment.Arguments.GetBoolean(AddedToBackStackKey);
            }

            if (fragment.IsDetached)
            {
                transaction.Attach(fragment);
            }
            else
            {
                if (addToBackStack)
                {
                    if (fragment.Arguments == null)
                    {
                        fragment.Arguments = new Bundle();
                    }
                    fragment.Arguments.PutBoolean(AddedToBackStackKey, true);
                }
                transaction.Replace(targetView.Id, fragment);
            }
            if (addToBackStack)
            {
                transaction.AddToBackStack(null);
            }

            transaction.Commit();
            manager.ExecutePendingTransactions();
            return(true);
        }
Exemplo n.º 16
0
 public ClockAdapter(Android.Support.V4.App.FragmentManager fm, Android.Support.V4.App.Fragment[] fragments, ICharSequence[] titles)
     : base(fm)
 {
     throw new NotImplementedException();
 }
 void HideFragment(object fragment)
 {
     Android.Support.V4.App.FragmentManager fm = this.SupportFragmentManager;
     fm.BeginTransaction().SetCustomAnimations(Resource.Animation.anim_fade_in, Resource.Animation.anim_fade_out).Hide((Android.Support.V4.App.Fragment)fragment).Commit();
 }
        protected override void Dispose(bool disposing)
        {
            if (_disposed)
            {
                return;
            }

            _disposed = true;

            if (disposing)
            {
                Device.Info.PropertyChanged -= DeviceInfoPropertyChanged;

                if (NavigationPageController != null)
                {
                    var navController = NavigationPageController;

                    navController.PushRequested             -= OnPushed;
                    navController.PopRequested              -= OnPopped;
                    navController.PopToRootRequested        -= OnPoppedToRoot;
                    navController.InsertPageBeforeRequested -= OnInsertPageBeforeRequested;
                    navController.RemovePageRequested       -= OnRemovePageRequested;
                }

                if (Current != null)
                {
                    Current.PropertyChanged -= CurrentOnPropertyChanged;
                }

                FragmentManager fm = FragmentManager;

                if (!fm.IsDestroyed)
                {
                    FragmentTransaction trans = fm.BeginTransactionEx();
                    foreach (Fragment fragment in _fragmentStack)
                    {
                        trans.RemoveEx(fragment);
                    }
                    trans.CommitAllowingStateLossEx();
                    fm.ExecutePendingTransactionsEx();
                }

                _toolbar.RemoveView(_titleView);
                _titleView?.Dispose();
                _titleView = null;

                if (_titleViewRenderer != null)
                {
                    Android.Platform.ClearRenderer(_titleViewRenderer.View);
                    _titleViewRenderer.Dispose();
                    _titleViewRenderer = null;
                }

                _toolbar.RemoveView(_titleIconView);
                _titleIconView?.Dispose();
                _titleIconView = null;

                _imageSource = null;

                if (_toolbarTracker != null)
                {
                    _toolbarTracker.CollectionChanged -= ToolbarTrackerOnCollectionChanged;

                    foreach (ToolbarItem item in _toolbarTracker.ToolbarItems)
                    {
                        item.PropertyChanged -= OnToolbarItemPropertyChanged;
                    }

                    _toolbarTracker.Target = null;
                    _toolbarTracker        = null;
                }

                if (_toolbar != null)
                {
                    _toolbar.SetNavigationOnClickListener(null);
                    _toolbar.Menu.Clear();

                    RemoveView(_toolbar);

                    _toolbar.Dispose();
                    _toolbar = null;
                }

                if (_drawerLayout.IsAlive() && _drawerListener.IsAlive())
                {
                    _drawerLayout.RemoveDrawerListener(_drawerListener);

                    RemoveView(_drawerLayout);
                }

                if (_drawerListener != null)
                {
                    _drawerListener.Dispose();
                    _drawerListener = null;
                }

                if (_drawerToggle != null)
                {
                    _drawerToggle.Dispose();
                    _drawerToggle = null;
                }

                if (_backgroundDrawable != null)
                {
                    _backgroundDrawable.Dispose();
                    _backgroundDrawable = null;
                }

                Current = null;

                // We dispose the child renderers after cleaning up everything related to DrawerLayout in case
                // one of the children is a MasterDetailPage (which may dispose of the DrawerLayout).
                if (Element != null)
                {
                    foreach (Element element in PageController.InternalChildren)
                    {
                        var child = element as VisualElement;
                        if (child == null)
                        {
                            continue;
                        }

                        IVisualElementRenderer renderer = Android.Platform.GetRenderer(child);
                        renderer?.Dispose();
                    }
                }
            }

            base.Dispose(disposing);
        }
 public GoogleMusicAdapter(FragmentManager p0)
     : base(p0)
 {
 }
Exemplo n.º 20
0
 public PagerAdapter(FragmentManager fm, int NumOfTabs) : base(fm)
 {
     this.numOfTabs = NumOfTabs;
     fragments      = new Fragment[NumOfTabs];
 }
Exemplo n.º 21
0
 public Adapter(V4FragmentManager fm) : base(fm)
 {
 }
Exemplo n.º 22
0
 // constructor
 public ClockAdapter(Android.Support.V4.App.FragmentManager fm, Android.Support.V4.App.Fragment[] fragments)
     : base(fm)
 {
     this.fragments = fragments;
 }
Exemplo n.º 23
0
            private async Task StartAuthAsync()
            {
                LoginActivity activity;

                try {
                    var log         = ServiceContainer.Resolve <ILogger> ();
                    var authManager = ServiceContainer.Resolve <AuthManager> ();
                    var ctx         = Activity;

                    // No point in trying to reauth when old authentication is still running.
                    if (authManager.IsAuthenticating)
                    {
                        return;
                    }

                    // Workaround for Android linker bug which forgets to register JNI types
                    Java.Interop.TypeManager.RegisterType("com/google/android/gms/auth/GoogleAuthException", typeof(GoogleAuthException));
                    Java.Interop.TypeManager.RegisterType("com/google/android/gms/auth/GooglePlayServicesAvailabilityException", typeof(GooglePlayServicesAvailabilityException));
                    Java.Interop.TypeManager.RegisterType("com/google/android/gms/auth/UserRecoverableAuthException", typeof(UserRecoverableAuthException));
                    Java.Interop.TypeManager.RegisterType("com/google/android/gms/auth/UserRecoverableNotifiedException", typeof(UserRecoverableNotifiedException));

                    String token = null;
                    try {
                        var account = AccountManager.Get(ctx).GetAccounts()
                                      .Where(x => x.Type == GoogleAuthUtil.GoogleAccountType && x.Name == Email)
                                      .FirstOrDefault();

                        token = await Task.Factory.StartNew(() => GoogleAuthUtil.GetToken(ctx, account, GoogleOAuthScope));
                    } catch (GooglePlayServicesAvailabilityException exc) {
                        var dia = GooglePlayServicesUtil.GetErrorDialog(
                            exc.ConnectionStatusCode, ctx, GoogleAuthRequestCode);
                        dia.Show();
                    } catch (UserRecoverableAuthException exc) {
                        StartActivityForResult(exc.Intent, GoogleAuthRequestCode);
                    } catch (Java.IO.IOException exc) {
                        // Connectivity error.. nothing to do really?
                        log.Info(LogTag, exc, "Failed to login with Google due to network issues.");
                    } catch (Exception exc) {
                        log.Error(LogTag, exc, "Failed to get access token for '{0}'.", Email);
                    }

                    // Failed to get token
                    if (token == null)
                    {
                        return;
                    }

                    try {
                        activity = Activity as LoginActivity;
                        if (activity != null && activity.CurrentMode == Mode.Signup)
                        {
                            // Signup with Google
                            var authRes = await activity.SignupWithGoogle(token);

                            if (authRes != AuthResult.Success)
                            {
                                ClearGoogleToken(ctx, token);
                                activity.ShowAuthError(Email, authRes, Mode.Signup, true);
                            }
                        }
                        else
                        {
                            // Authenticate client
                            var authRes = await authManager.AuthenticateWithGoogleAsync(token);

                            if (authRes != AuthResult.Success)
                            {
                                ClearGoogleToken(ctx, token);
                                activity.ShowAuthError(Email, authRes, Mode.Login, true);
                            }
                        }
                    } catch (InvalidOperationException ex) {
                        log.Info(LogTag, ex, "Failed to authenticate user with Google login.");
                    }
                } catch (Exception e) {
                }

                // Clean up self:
                if (Activity != null)
                {
                    FragmentManager.BeginTransaction()
                    .Remove(this)
                    .Commit();
                }
            }
		protected override void OnBeforeCommitReplaceFragment(FragmentManager fm, Android.Support.V4.App.FragmentTransaction ft, Fragment fragment)
		{
			base.OnBeforeCommitReplaceFragment(fm, ft, fragment);
			
			if (fragment is SessionsFragment || fragment is VendorsFragment) {
				mPauseBackStackWatcher = true;
				ClearBackStack(fm);
				mPauseBackStackWatcher = false;
			}
			ft.AddToBackStack(null);
			UpdateBreadCrumb();
		}
Exemplo n.º 25
0
            private async Task StartAuthAsync()
            {
                if (IsAuthenticating)
                {
                    return;
                }
                IsAuthenticating = true;

                try {
                    var log         = ServiceContainer.Resolve <ILogger> ();
                    var authManager = ServiceContainer.Resolve <AuthManager> ();
                    var ctx         = Activity;

                    // No point in trying to reauth when old authentication is still running.
                    if (authManager.IsAuthenticating)
                    {
                        return;
                    }

                    // Workaround for Android linker bug which forgets to register JNI types
                    Java.Interop.TypeManager.RegisterType("com/google/android/gms/auth/GoogleAuthException", typeof(GoogleAuthException));
                    Java.Interop.TypeManager.RegisterType("com/google/android/gms/auth/GooglePlayServicesAvailabilityException", typeof(GooglePlayServicesAvailabilityException));
                    Java.Interop.TypeManager.RegisterType("com/google/android/gms/auth/UserRecoverableAuthException", typeof(UserRecoverableAuthException));
                    Java.Interop.TypeManager.RegisterType("com/google/android/gms/auth/UserRecoverableNotifiedException", typeof(UserRecoverableNotifiedException));

                    String token = null;
                    try {
                        token = await Task.Factory.StartNew(() => GoogleAuthUtil.GetToken(ctx, Email, GoogleOAuthScope));
                    } catch (GooglePlayServicesAvailabilityException exc) {
                        var dia = GooglePlayServicesUtil.GetErrorDialog(
                            exc.ConnectionStatusCode, ctx, GoogleAuthRequestCode);
                        dia.Show();
                    } catch (UserRecoverableAuthException exc) {
                        StartActivityForResult(exc.Intent, GoogleAuthRequestCode);
                    } catch (Java.IO.IOException exc) {
                        // Connectivity error.. nothing to do really?
                        log.Info(LogTag, exc, "Failed to login with Google due to network issues.");
                    } catch (Exception exc) {
                        log.Error(LogTag, exc, "Failed to get access token for '{0}'.", Email);
                    }

                    // Failed to get token
                    if (token == null)
                    {
                        return;
                    }

                    try {
                        var authRes = await viewModel.TrySignupGoogleAsync(token);

                        if (authRes != AuthResult.Success)
                        {
                            ClearGoogleToken(ctx, token);
                            var dia = new ErrorDialogFragment(authRes);
                            dia.Show(FragmentManager, "auth_result_dialog");
                        }
                    } catch (InvalidOperationException ex) {
                        log.Info(LogTag, ex, "Failed to authenticate user with Google login.");
                    }
                } finally {
                    IsAuthenticating = false;
                }

                // Clean up self:
                if (Activity != null)
                {
                    FragmentManager.BeginTransaction()
                    .Remove(this)
                    .Commit();
                }
            }
Exemplo n.º 26
0
 protected virtual FragmentTransaction BeginTransaction([NotNull] FragmentManager fragmentManager,
                                                        [NotNull] View view, [CanBeNull] Fragment content)
 {
     return(fragmentManager.BeginTransaction());
 }
Exemplo n.º 27
0
 protected override ViewPagerAdapter CreateViewPagerAdapter(FragmentManager fragmentManager)
 {
     return(new ViewPagerAdapter(fragmentManager, false));
 }
Exemplo n.º 28
0
 public ClickListener(ViewHolder holder, Android.Support.V4.App.FragmentManager fragmentManager)
 {
     _holder = holder;
     _fragmentManager = fragmentManager;
 }
Exemplo n.º 29
0
        protected override void Dispose(bool disposing)
        {
            if (disposing && !_disposed)
            {
                _disposed = true;

                var activity = (FormsAppCompatActivity)Context;

                // API only exists on newer android YAY
                if ((int)Build.VERSION.SdkInt >= 17)
                {
                    if (!activity.IsDestroyed)
                    {
                        FragmentManager     fm    = FragmentManager;
                        FragmentTransaction trans = fm.BeginTransaction();
                        foreach (Fragment fragment in _fragmentStack)
                        {
                            trans.Remove(fragment);
                        }
                        trans.CommitAllowingStateLoss();
                        fm.ExecutePendingTransactions();
                    }
                }

                if (_toolbarTracker != null)
                {
                    _toolbarTracker.CollectionChanged -= ToolbarTrackerOnCollectionChanged;
                    _toolbarTracker.Target             = null;
                    _toolbarTracker = null;
                }

                if (_toolbar != null)
                {
                    _toolbar.SetNavigationOnClickListener(null);
                    _toolbar.Dispose();
                    _toolbar = null;
                }

                if (_drawerLayout != null && _drawerListener != null)
                {
                    _drawerLayout.RemoveDrawerListener(_drawerListener);
                }

                if (_drawerListener != null)
                {
                    _drawerListener.Dispose();
                    _drawerListener = null;
                }

                if (_drawerToggle != null)
                {
                    _drawerToggle.Dispose();
                    _drawerToggle = null;
                }

                if (_backgroundDrawable != null)
                {
                    _backgroundDrawable.Dispose();
                    _backgroundDrawable = null;
                }

                Current = null;

                // We dispose the child renderers after cleaning up everything related to DrawerLayout in case
                // one of the children is a MasterDetailPage (which may dispose of the DrawerLayout).
                if (Element != null)
                {
                    foreach (Element element in PageController.InternalChildren)
                    {
                        var child = element as VisualElement;
                        if (child == null)
                        {
                            continue;
                        }

                        IVisualElementRenderer renderer = Android.Platform.GetRenderer(child);
                        renderer?.Dispose();
                    }

                    var navController = (INavigationPageController)Element;

                    navController.PushRequested             -= OnPushed;
                    navController.PopRequested              -= OnPopped;
                    navController.PopToRootRequested        -= OnPoppedToRoot;
                    navController.InsertPageBeforeRequested -= OnInsertPageBeforeRequested;
                    navController.RemovePageRequested       -= OnRemovePageRequested;
                }

                Device.Info.PropertyChanged -= DeviceInfoPropertyChanged;
            }

            base.Dispose(disposing);
        }
Exemplo n.º 30
0
        Task <bool> SwitchContentAsync(Page page, bool animated, bool removed = false, bool popToRoot = false)
        {
            var      tcs      = new TaskCompletionSource <bool>();
            Fragment fragment = GetFragment(page, removed, popToRoot);

#if DEBUG
            // Enables logging of moveToState operations to logcat
            FragmentManager.EnableDebugLogging(true);
#endif

            Current = page;

            ((Platform)Element.Platform).NavAnimationInProgress = true;
            FragmentTransaction transaction = FragmentManager.BeginTransaction();

            if (animated)
            {
                SetupPageTransition(transaction, !removed);
            }

            transaction.DisallowAddToBackStack();

            if (_fragmentStack.Count == 0)
            {
                transaction.Add(Id, fragment);
                _fragmentStack.Add(fragment);
            }
            else
            {
                if (removed)
                {
                    // pop only one page, or pop everything to the root
                    var popPage = true;
                    while (_fragmentStack.Count > 1 && popPage)
                    {
                        Fragment currentToRemove = _fragmentStack.Last();
                        _fragmentStack.RemoveAt(_fragmentStack.Count - 1);
                        transaction.Remove(currentToRemove);
                        popPage = popToRoot;
                    }

                    Fragment toShow = _fragmentStack.Last();
                    // Execute pending transactions so that we can be sure the fragment list is accurate.
                    FragmentManager.ExecutePendingTransactions();
                    if (FragmentManager.Fragments.Contains(toShow))
                    {
                        transaction.Show(toShow);
                    }
                    else
                    {
                        transaction.Add(Id, toShow);
                    }
                }
                else
                {
                    // push
                    Fragment currentToHide = _fragmentStack.Last();
                    transaction.Hide(currentToHide);
                    transaction.Add(Id, fragment);
                    _fragmentStack.Add(fragment);
                }
            }

            // We don't currently support fragment restoration, so we don't need to worry about
            // whether the commit loses state
            transaction.CommitAllowingStateLoss();

            // The fragment transitions don't really SUPPORT telling you when they end
            // There are some hacks you can do, but they actually are worse than just doing this:

            if (animated)
            {
                if (!removed)
                {
                    UpdateToolbar();
                    if (_drawerToggle != null && ((INavigationPageController)Element).StackDepth == 2)
                    {
                        AnimateArrowIn();
                    }
                }
                else if (_drawerToggle != null && ((INavigationPageController)Element).StackDepth == 2)
                {
                    AnimateArrowOut();
                }

                Device.StartTimer(TimeSpan.FromMilliseconds(TransitionDuration), () =>
                {
                    tcs.TrySetResult(true);
                    fragment.UserVisibleHint = true;
                    if (removed)
                    {
                        UpdateToolbar();
                    }

                    return(false);
                });
            }
            else
            {
                Device.StartTimer(TimeSpan.FromMilliseconds(1), () =>
                {
                    tcs.TrySetResult(true);
                    fragment.UserVisibleHint = true;
                    UpdateToolbar();

                    return(false);
                });
            }

            Context.HideKeyboard(this);
            ((Platform)Element.Platform).NavAnimationInProgress = false;

            // TransitionDuration is how long the built-in animations are, and they are "reversible" in the sense that starting another one slightly before it's done is fine

            return(tcs.Task);
        }
Exemplo n.º 31
0
 public MainPagerAdapter (FragmentManager fragmentManager, ZoomLevel zoomLevel) : base (fragmentManager)
 {
     this.fragmentManager = fragmentManager;
     this.zoomLevel = zoomLevel;
 }
			public MonkeyPageAdapter (FragmentManager manager) : base (manager)
			{
			}
Exemplo n.º 33
0
            public MainPagerAdapter (Context ctx, FragmentManager fm) : base (fm)
            {
                this.ctx = ctx;

                currentTimeEntry = TimeEntryModel.FindRunning () ?? TimeEntryModel.GetDraft ();

                var bus = ServiceContainer.Resolve<MessageBus> ();
                subscriptionModelChanged = bus.Subscribe<ModelChangedMessage> (OnModelChanged);
                subscriptionSettingChanged = bus.Subscribe<SettingChangedMessage> (OnSettingChanged);
            }
Exemplo n.º 34
0
 public Adapter (V4FragmentManager fm) : base (fm)
 {
 }
Exemplo n.º 35
0
 public static void Show (FragmentManager fragmentManager)
 {
     new ThankForFeedbackDialog ().Show (fragmentManager, "thankforfeedback_dialog");
 }
Exemplo n.º 36
0
 public ClockAdapter(Android.Support.V4.App.FragmentManager fm, Android.Support.V4.App.Fragment[] fragments, ICharSequence[] titles)
     : base(fm)
 {
     this.fragments = fragments;
     this.titles    = titles;
 }
Exemplo n.º 37
0
 public AtmFinderAdapter(Android.Support.V4.App.FragmentManager fm, params Android.Support.V4.App.Fragment[] fragments) : base(fm)
 {
     _fragments = fragments;
 }
Exemplo n.º 38
0
 public MaterialAdapter(MaterialsView materialsView, MaterialsViewModel materialViewModel, List <Material> Materials, Context context, Android.Support.V4.App.FragmentManager fragmentManager)
 {
     this.materialsViewModel = materialViewModel;
     this.Materials          = Materials;
     this.context            = context;
     this.transaction        = fragmentManager;
     this.materialsView      = materialsView;
 }
Exemplo n.º 39
0
 public static bool ExecutePendingTransactionsEx(this FragmentManager fragmentTransaction)
 {
     return(fragmentTransaction.ExecutePendingTransactions());
 }
		public void SetFragmentManager(FragmentManager fragmentManager)
		{
			if (_fragmentManager == null)
				_fragmentManager = fragmentManager;
		}
Exemplo n.º 41
0
 public static FragmentTransaction BeginTransactionEx(this FragmentManager fragmentTransaction)
 {
     return(fragmentTransaction.BeginTransaction());
 }
Exemplo n.º 42
0
 public static void Show (String userMessage, FragmentManager fragmentManager)
 {
     new AskPublishToAppStore (userMessage).Show (fragmentManager, "askpublishtoappstore_dialog");
 }
Exemplo n.º 43
0
        public bool OnNavigationItemSelected(IMenuItem item)
        {
            int id = item.ItemId;

            Android.Support.V4.App.Fragment fm = null;
            Bundle args = new Bundle();

            if (id == Resource.Id.sign)
            {
                Intent i = new Intent(this, typeof(LoginActivity));
                StartActivity(i);
            }

            else if (id == Resource.Id.nav_logout)
            {
                sessionManagement.logoutSession();
                Finish();
            }
            if (id == Resource.Id.nav_aboutus)
            {
                fm = new About_us_fragment();
            }
            if (id == Resource.Id.nav_policy)
            {
                fm = new Terms_and_Condition_fragment();
            }
            if (id == Resource.Id.nav_share)
            {
                Intent sendIntent = new Intent();
                sendIntent.SetAction(Intent.ActionSend);
                sendIntent.PutExtra(Intent.ExtraText, "Hi friends i am using ." + " http://play.google.com/store/apps/details?id=" + "" + " APP"); //getPackageName()
                sendIntent.SetType("text/plain");
                StartActivity(sendIntent);
            }

            else if (id == Resource.Id.navigation_home)
            {
                loadFragment(new HomeeeFragment());

                HomeeeFragment appNewsHome1Fragment = new HomeeeFragment();
                Android.Support.V4.App.FragmentManager     manager     = SupportFragmentManager;
                Android.Support.V4.App.FragmentTransaction transaction = manager.BeginTransaction();
                transaction.Replace(Resource.Id.contentPanel, appNewsHome1Fragment);
                transaction.Commit();
                return(true);
            }

            /* else if (id == Resource.Id.nav_shop_now) {
             *   fm = new Shop_Now_fragment();
             * } */
            else if (id == Resource.Id.nav_my_profile)
            {
                fm = new Edit_profile_fragment();
            }
            //        else if (id == Resource.Id.nav_aboutus)
            //        {
            //            //            toolbar.setTitle("About");
            //            StartActivity(new Intent(this, About_us));
            //    } else if (id == Resource.Id.nav_policy) {
            //        fm = new Terms_and_Condition_fragment();
            //args.putString("url", TermsUrl);
            //        args.putString("title", getResources().getString(R.string.nav_terms));
            //        fm.setArguments(args);
            //    }
            //        else if (id == Resource.Id.nav_review) {
            //            //reviewOnApp();
            //        }
            //        else if (id == Resource.Id.nav_contact) {
            //            fm = new Contact_Us_fragment();
            //args.putString("url", SupportUrl);
            //            args.putString("title", getResources().getString(R.string.nav_terms));
            //            fm.setArguments(args);

            //        }
            //        else if (id == Resource.Id.nav_review) {
            //            reviewOnApp();
            //        }
            //else if (id == Resource.Id.nav_share) {
            //    shareApp();

            //        else if (id == Resource.Id.nav_powerd) {
            //            // stripUnderlines(textView);
            //            String url = "http://sameciti.com";
            //            Intent i = new Intent(Intent.ACTION_VIEW);
            //            i.setData(Uri.parse(url));
            //            startActivity(i);
            //            finish();
            //        }

            if (fm != null)
            {
                Android.Support.V4.App.FragmentManager fragmentManager = SupportFragmentManager;
                fragmentManager.BeginTransaction().Replace(Resource.Id.contentPanel, fm)
                .AddToBackStack(null).Commit();
            }

            drawer.CloseDrawer(GravityCompat.Start);
            return(true);
        }