mirror of
				https://framagit.org/tom79/fedilab-tube
				synced 2025-06-05 21:09:11 +02:00 
			
		
		
		
	VM-v8
This commit is contained in:
		@@ -115,6 +115,17 @@ public class DisplayNotificationsFragment extends Fragment {
 | 
			
		||||
        rootView = null;
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    @Override
 | 
			
		||||
    public void onResume() {
 | 
			
		||||
        super.onResume();
 | 
			
		||||
        if( getActivity() != null && getActivity() != null) {
 | 
			
		||||
            View action_button = getActivity().findViewById(R.id.action_button);
 | 
			
		||||
            if( action_button != null) {
 | 
			
		||||
                action_button.setVisibility(View.GONE);
 | 
			
		||||
            }
 | 
			
		||||
        }
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    @Override
 | 
			
		||||
    public void onCreate(Bundle saveInstance) {
 | 
			
		||||
        super.onCreate(saveInstance);
 | 
			
		||||
 
 | 
			
		||||
@@ -84,6 +84,9 @@ public class DisplayStatusFragment extends Fragment implements AccountsHorizonta
 | 
			
		||||
    private boolean check_ScrollingUp;
 | 
			
		||||
    private String forAccount;
 | 
			
		||||
    private ConstraintLayout top_account_container;
 | 
			
		||||
    private FeedsVM viewModelFeeds;
 | 
			
		||||
    private SearchVM viewModelSearch;
 | 
			
		||||
    private AccountsVM viewModelAccounts;
 | 
			
		||||
 | 
			
		||||
    public DisplayStatusFragment() {
 | 
			
		||||
    }
 | 
			
		||||
@@ -156,16 +159,15 @@ public class DisplayStatusFragment extends Fragment implements AccountsHorizonta
 | 
			
		||||
            lv_status.addItemDecoration(new GridSpacingItemDecoration(spanCount, spacing, true));
 | 
			
		||||
            lv_status.setLayoutManager(gLayoutManager);
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
        viewModelAccounts = new ViewModelProvider(DisplayStatusFragment.this).get(AccountsVM.class);
 | 
			
		||||
        viewModelFeeds = new ViewModelProvider(DisplayStatusFragment.this).get(FeedsVM.class);
 | 
			
		||||
        viewModelSearch = new ViewModelProvider(DisplayStatusFragment.this).get(SearchVM.class);
 | 
			
		||||
        swipeRefreshLayout.setOnRefreshListener(this::pullToRefresh);
 | 
			
		||||
        //Load data depending of the value
 | 
			
		||||
        if (search_peertube == null) { //Not a Peertube search
 | 
			
		||||
            FeedsVM viewModel = new ViewModelProvider(this).get(FeedsVM.class);
 | 
			
		||||
            viewModel.getVideos(type, "0", targetedId, null).observe(DisplayStatusFragment.this.requireActivity(), this::manageVIewVideos);
 | 
			
		||||
            viewModelFeeds.getVideos(type, "0", targetedId, forAccount).observe(DisplayStatusFragment.this.requireActivity(), this::manageVIewVideos);
 | 
			
		||||
        } else {
 | 
			
		||||
            SearchVM viewModel = new ViewModelProvider(this).get(SearchVM.class);
 | 
			
		||||
            viewModel.getVideos("0", search_peertube).observe(DisplayStatusFragment.this.requireActivity(), this::manageVIewVideos);
 | 
			
		||||
            viewModelSearch.getVideos("0", search_peertube).observe(DisplayStatusFragment.this.requireActivity(), this::manageVIewVideos);
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        lv_accounts.addOnScrollListener(new RecyclerView.OnScrollListener() {
 | 
			
		||||
@@ -175,8 +177,7 @@ public class DisplayStatusFragment extends Fragment implements AccountsHorizonta
 | 
			
		||||
                    int visibleItemCount = mLayoutManager.getChildCount();
 | 
			
		||||
                    int totalItemCount = mLayoutManager.getItemCount();
 | 
			
		||||
                    if (firstVisibleItem + visibleItemCount == totalItemCount && context != null) {
 | 
			
		||||
                        AccountsVM viewModel = new ViewModelProvider(DisplayStatusFragment.this).get(AccountsVM.class);
 | 
			
		||||
                        viewModel.getAccounts(max_id_accounts, null, AccountsVM.accountFetch.SUBSCRIPTION).observe(DisplayStatusFragment.this.requireActivity(), apiResponse -> manageViewAccounts(apiResponse));
 | 
			
		||||
                        viewModelAccounts.getAccounts(max_id_accounts, null, AccountsVM.accountFetch.SUBSCRIPTION).observe(DisplayStatusFragment.this.requireActivity(), apiResponse -> manageViewAccounts(apiResponse));
 | 
			
		||||
                    }
 | 
			
		||||
                }
 | 
			
		||||
            }
 | 
			
		||||
@@ -202,8 +203,6 @@ public class DisplayStatusFragment extends Fragment implements AccountsHorizonta
 | 
			
		||||
                            }
 | 
			
		||||
                        }
 | 
			
		||||
                    }
 | 
			
		||||
                    FeedsVM viewModelFeeds = new ViewModelProvider(DisplayStatusFragment.this).get(FeedsVM.class);
 | 
			
		||||
                    SearchVM viewModelSearch = new ViewModelProvider(DisplayStatusFragment.this).get(SearchVM.class);
 | 
			
		||||
                    if (mLayoutManager != null) {
 | 
			
		||||
                        int firstVisibleItem = mLayoutManager.findFirstVisibleItemPosition();
 | 
			
		||||
                        if (dy > 0) {
 | 
			
		||||
@@ -213,7 +212,7 @@ public class DisplayStatusFragment extends Fragment implements AccountsHorizonta
 | 
			
		||||
                                if (!flag_loading) {
 | 
			
		||||
                                    flag_loading = true;
 | 
			
		||||
                                    if (search_peertube == null) { //Not a Peertube search
 | 
			
		||||
                                        viewModelFeeds.getVideos(type, max_id, null, null).observe(DisplayStatusFragment.this.requireActivity(), apiResponse -> manageVIewVideos(apiResponse));
 | 
			
		||||
                                        viewModelFeeds.getVideos(type, max_id, null, forAccount).observe(DisplayStatusFragment.this.requireActivity(), apiResponse -> manageVIewVideos(apiResponse));
 | 
			
		||||
                                    } else {
 | 
			
		||||
                                        viewModelSearch.getVideos(max_id, search_peertube).observe(DisplayStatusFragment.this.requireActivity(), apiResponse -> manageVIewVideos(apiResponse));
 | 
			
		||||
                                    }
 | 
			
		||||
@@ -232,11 +231,9 @@ public class DisplayStatusFragment extends Fragment implements AccountsHorizonta
 | 
			
		||||
                                if (!flag_loading) {
 | 
			
		||||
                                    flag_loading = true;
 | 
			
		||||
                                    if (search_peertube == null) { //Not a Peertube search
 | 
			
		||||
                                        FeedsVM viewModel = new ViewModelProvider(DisplayStatusFragment.this).get(FeedsVM.class);
 | 
			
		||||
                                        viewModel.getVideos(type, max_id, null, null).observe(DisplayStatusFragment.this.requireActivity(), apiResponse -> manageVIewVideos(apiResponse));
 | 
			
		||||
                                        viewModelFeeds.getVideos(type, max_id, null, forAccount).observe(DisplayStatusFragment.this.requireActivity(), apiResponse -> manageVIewVideos(apiResponse));
 | 
			
		||||
                                    } else {
 | 
			
		||||
                                        SearchVM viewModel = new ViewModelProvider(DisplayStatusFragment.this).get(SearchVM.class);
 | 
			
		||||
                                        viewModel.getVideos(max_id, search_peertube).observe(DisplayStatusFragment.this.requireActivity(), apiResponse -> manageVIewVideos(apiResponse));
 | 
			
		||||
                                        viewModelSearch.getVideos(max_id, search_peertube).observe(DisplayStatusFragment.this.requireActivity(), apiResponse -> manageVIewVideos(apiResponse));
 | 
			
		||||
                                    }
 | 
			
		||||
                                    nextElementLoader.setVisibility(View.VISIBLE);
 | 
			
		||||
                                }
 | 
			
		||||
@@ -403,11 +400,9 @@ public class DisplayStatusFragment extends Fragment implements AccountsHorizonta
 | 
			
		||||
            accountsHorizontalListAdapter.notifyItemRangeRemoved(0, accounts.size());
 | 
			
		||||
        }
 | 
			
		||||
        if (search_peertube == null) { //Not a Peertube search
 | 
			
		||||
            FeedsVM viewModel = new ViewModelProvider(this).get(FeedsVM.class);
 | 
			
		||||
            viewModel.getVideos(type, "0", targetedId, null).observe(this.requireActivity(), this::manageVIewVideos);
 | 
			
		||||
            viewModelFeeds.getVideos(type, "0", targetedId, forAccount).observe(this.requireActivity(), this::manageVIewVideos);
 | 
			
		||||
        } else {
 | 
			
		||||
            SearchVM viewModel = new ViewModelProvider(this).get(SearchVM.class);
 | 
			
		||||
            viewModel.getVideos("0", search_peertube).observe(this.requireActivity(), this::manageVIewVideos);
 | 
			
		||||
            viewModelSearch.getVideos("0", search_peertube).observe(this.requireActivity(), this::manageVIewVideos);
 | 
			
		||||
        }
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user