예제 #1
0
        public override View CreateMainActivityFragmentView(ViewGroup container, Bundle savedInstanceState)
        {
            CreatePresenter(savedInstanceState).GetAwaiter().GetResult();

            _isAuthenticated = Presenter.AniDroidSettings.IsUserAuthenticated;
            _isFollowingOnly = _isAuthenticated && !Presenter.AniDroidSettings.ShowAllAniListActivity;

            var listView = LayoutInflater.Inflate(Resource.Layout.View_SwipeRefreshList, container, false);

            _recyclerView       = listView.FindViewById <RecyclerView>(Resource.Id.List_RecyclerView);
            _swipeRefreshLayout = listView.FindViewById <SwipeRefreshLayout>(Resource.Id.List_SwipeRefreshLayout);

            _recyclerAdapter = _recyclerAdapter != null
                ? new AniListActivityRecyclerAdapter(Activity, _recyclerAdapter)
                : new AniListActivityRecyclerAdapter(Activity, Presenter,
                                                     Presenter.GetAniListActivity(_isFollowingOnly), Presenter.GetUserId());

            _recyclerView.SetAdapter(_recyclerAdapter);

            if (Presenter.AniDroidSettings.UseSwipeToRefreshHomeScreen)
            {
                _swipeRefreshLayout.Enabled  = true;
                _swipeRefreshLayout.Refresh += (sender, e) =>
                {
                    RefreshActivity();
                    _swipeRefreshLayout.Refreshing = false;
                };
            }
            else
            {
                _swipeRefreshLayout.Enabled = false;
            }

            return(listView);
        }
예제 #2
0
        private View CreateUserActivityView(int userId)
        {
            var userActivityEnumerable = Presenter.GetUserActivityEnumerable(userId, PageLength);
            var retView  = LayoutInflater.Inflate(Resource.Layout.View_List, null);
            var recycler = retView.FindViewById <RecyclerView>(Resource.Id.List_RecyclerView);

            _userActivityRecyclerAdapter = new AniListActivityRecyclerAdapter(this, Presenter, userActivityEnumerable, Presenter.GetCurrentUserId());
            recycler.SetAdapter(_userActivityRecyclerAdapter);

            return(retView);
        }
예제 #3
0
        public override bool OnOptionsItemSelected(IMenuItem item)
        {
            switch (item.ItemId)
            {
            case Resource.Id.Menu_Home_Refresh:
                RefreshActivity();
                return(true);

            case Resource.Id.Menu_Home_PostStatus:
                AniListActivityCreateDialog.CreateNewActivity(Activity, Presenter.CreateStatusActivity);
                return(true);

            case Resource.Id.Menu_Home_ToggleActivityType:
                _isFollowingOnly = !_isFollowingOnly;
                _recyclerAdapter = new AniListActivityRecyclerAdapter(Activity, Presenter,
                                                                      Presenter.GetAniListActivity(_isFollowingOnly), Presenter.GetUserId());
                _recyclerView.SetAdapter(_recyclerAdapter);
                SetActivityIcon(item);
                return(true);
            }

            return(base.OnOptionsItemSelected(item));
        }
예제 #4
0
        public void ShowUserActivity(IAsyncEnumerable <OneOf <IPagedData <AniListActivity>, IAniListError> > activityEnumerable, int userId)
        {
            var recycler = View.FindViewById <RecyclerView>(Resource.Id.List_RecyclerView);

            recycler.SetAdapter(_recyclerAdapter = new AniListActivityRecyclerAdapter(Activity, Presenter, activityEnumerable, userId));
        }