mirror of
https://github.com/commons-app/apps-android-commons.git
synced 2025-10-26 12:23:58 +01:00
Fixed upload icon
This commit is contained in:
parent
4eaad5ab54
commit
7d56b31d6e
4 changed files with 37 additions and 1 deletions
|
|
@ -136,6 +136,8 @@ public class ContributionsFragment
|
|||
|
||||
public TextView uploadsErrorTextView;
|
||||
|
||||
public ImageView pendingUploadsImageView;
|
||||
|
||||
private Campaign wlmCampaign;
|
||||
|
||||
String userName;
|
||||
|
|
@ -266,7 +268,7 @@ public class ContributionsFragment
|
|||
final View uploadMenuItemActionView = uploadMenuItem.getActionView();
|
||||
pendingUploadsCountTextView = uploadMenuItemActionView.findViewById(R.id.pending_uploads_count_badge);
|
||||
uploadsErrorTextView = uploadMenuItemActionView.findViewById(R.id.uploads_error_count_badge);
|
||||
final ImageView pendingUploadsImageView = uploadMenuItemActionView.findViewById(R.id.pending_uploads_image_view);
|
||||
pendingUploadsImageView = uploadMenuItemActionView.findViewById(R.id.pending_uploads_image_view);
|
||||
if (pendingUploadsImageView != null){
|
||||
pendingUploadsImageView.setOnClickListener(view -> {
|
||||
startActivity(new Intent(getContext(), UploadProgressActivity.class));
|
||||
|
|
@ -710,6 +712,17 @@ public class ContributionsFragment
|
|||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void updateUploadIcon(int count) {
|
||||
if (pendingUploadsImageView != null){
|
||||
if (count != 0){
|
||||
pendingUploadsImageView.setVisibility(View.VISIBLE);
|
||||
}else {
|
||||
pendingUploadsImageView.setVisibility(View.GONE);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Replace whatever is in the current contributionsFragmentContainer view with
|
||||
* mediaDetailPagerFragment, and preserve previous state in back stack. Called when user selects
|
||||
|
|
|
|||
|
|
@ -224,6 +224,10 @@ public class ContributionsListFragment extends CommonsDaggerSupportFragment impl
|
|||
uploadErrorCount = list.size();
|
||||
callback.updateErrorIcon(uploadErrorCount);
|
||||
});
|
||||
contributionsListPresenter.getFailedAndPendingContributions();
|
||||
contributionsListPresenter.failedAndPendingContributionList.observe(getViewLifecycleOwner(), list -> {
|
||||
callback.updateUploadIcon(list.size());
|
||||
});
|
||||
contributionsListPresenter.contributionList.observe(getViewLifecycleOwner(), list -> {
|
||||
contributionsSize = list.size();
|
||||
adapter.submitList(list);
|
||||
|
|
@ -508,5 +512,7 @@ public class ContributionsListFragment extends CommonsDaggerSupportFragment impl
|
|||
void updatePendingIcon(int pendingCount);
|
||||
|
||||
void updateErrorIcon(int errorCount);
|
||||
|
||||
void updateUploadIcon(int count);
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -30,6 +30,7 @@ public class ContributionsListPresenter implements UserActionListener {
|
|||
LiveData<PagedList<Contribution>> contributionList;
|
||||
LiveData<PagedList<Contribution>> pendingContributionList;
|
||||
LiveData<PagedList<Contribution>> failedContributionList;
|
||||
LiveData<PagedList<Contribution>> failedAndPendingContributionList;
|
||||
|
||||
@Inject
|
||||
ContributionsListPresenter(
|
||||
|
|
@ -124,4 +125,19 @@ public class ContributionsListPresenter implements UserActionListener {
|
|||
failedContributionList = livePagedListBuilder.build();
|
||||
}
|
||||
|
||||
void getFailedAndPendingContributions() {
|
||||
final PagedList.Config pagedListConfig =
|
||||
(new PagedList.Config.Builder())
|
||||
.setPrefetchDistance(50)
|
||||
.setPageSize(10).build();
|
||||
Factory<Integer, Contribution> factory;
|
||||
factory = repository.fetchContributionsWithStates(
|
||||
Arrays.asList(Contribution.STATE_IN_PROGRESS, Contribution.STATE_QUEUED,
|
||||
Contribution.STATE_PAUSED, Contribution.STATE_FAILED));
|
||||
|
||||
LivePagedListBuilder livePagedListBuilder = new LivePagedListBuilder(factory,
|
||||
pagedListConfig);
|
||||
failedAndPendingContributionList = livePagedListBuilder.build();
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
|||
|
|
@ -14,6 +14,7 @@
|
|||
android:id="@+id/pending_uploads_image_view"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:visibility="gone"
|
||||
android:layout_marginEnd="@dimen/activity_margin_horizontal"
|
||||
android:layout_marginRight="@dimen/activity_margin_horizontal"
|
||||
android:gravity="center"
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue