mirror of
https://github.com/commons-app/apps-android-commons.git
synced 2025-10-26 12:23:58 +01:00
* Fix #4283 IllegalStateException * Fix flickering issue
This commit is contained in:
parent
b42742ac21
commit
9139fd9137
3 changed files with 18 additions and 5 deletions
|
|
@ -582,6 +582,13 @@ public class ContributionsFragment
|
|||
presenter.onDetachView();
|
||||
}
|
||||
|
||||
@Override
|
||||
public void notifyDataSetChanged() {
|
||||
if (mediaDetailPagerFragment != null) {
|
||||
mediaDetailPagerFragment.notifyDataSetChanged();
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Retry upload when it is failed
|
||||
*
|
||||
|
|
|
|||
|
|
@ -93,6 +93,8 @@ public class ContributionsListFragment extends CommonsDaggerSupportFragment impl
|
|||
private final int SPAN_COUNT_LANDSCAPE = 3;
|
||||
private final int SPAN_COUNT_PORTRAIT = 1;
|
||||
|
||||
private int contributionsSize;
|
||||
|
||||
|
||||
@Override
|
||||
public View onCreateView(
|
||||
|
|
@ -143,7 +145,11 @@ public class ContributionsListFragment extends CommonsDaggerSupportFragment impl
|
|||
}
|
||||
|
||||
contributionsListPresenter.setup();
|
||||
contributionsListPresenter.contributionList.observe(this.getViewLifecycleOwner(), adapter::submitList);
|
||||
contributionsListPresenter.contributionList.observe(this.getViewLifecycleOwner(), list -> {
|
||||
contributionsSize = list.size();
|
||||
adapter.submitList(list);
|
||||
callback.notifyDataSetChanged();
|
||||
});
|
||||
rvContributionsList.setAdapter(adapter);
|
||||
adapter.registerAdapterDataObserver(new AdapterDataObserver() {
|
||||
@Override
|
||||
|
|
@ -328,7 +334,7 @@ public class ContributionsListFragment extends CommonsDaggerSupportFragment impl
|
|||
}
|
||||
|
||||
public int getTotalMediaCount() {
|
||||
return adapter.getItemCount();
|
||||
return contributionsSize;
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
@ -355,6 +361,8 @@ public class ContributionsListFragment extends CommonsDaggerSupportFragment impl
|
|||
|
||||
public interface Callback {
|
||||
|
||||
void notifyDataSetChanged();
|
||||
|
||||
void retryUpload(Contribution contribution);
|
||||
|
||||
void showDetail(int position, boolean isWikipediaButtonDisplayed);
|
||||
|
|
|
|||
|
|
@ -6,7 +6,6 @@ import android.annotation.SuppressLint;
|
|||
import android.content.Intent;
|
||||
import android.net.Uri;
|
||||
import android.os.Bundle;
|
||||
import android.os.Handler;
|
||||
import android.view.LayoutInflater;
|
||||
import android.view.Menu;
|
||||
import android.view.MenuInflater;
|
||||
|
|
@ -97,9 +96,8 @@ public class MediaDetailPagerFragment extends CommonsDaggerSupportFragment imple
|
|||
final int pageNumber = savedInstanceState.getInt("current-page");
|
||||
pager.setCurrentItem(pageNumber, false);
|
||||
getActivity().invalidateOptionsMenu();
|
||||
adapter.notifyDataSetChanged();
|
||||
|
||||
}
|
||||
adapter.notifyDataSetChanged();
|
||||
if (getActivity() instanceof MainActivity) {
|
||||
((MainActivity)getActivity()).hideTabs();
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue