Fixed upload icon

This commit is contained in:
Kanahia 2024-07-23 13:22:10 +05:30
parent 4eaad5ab54
commit 7d56b31d6e
4 changed files with 37 additions and 1 deletions

View file

@ -136,6 +136,8 @@ public class ContributionsFragment
public TextView uploadsErrorTextView; public TextView uploadsErrorTextView;
public ImageView pendingUploadsImageView;
private Campaign wlmCampaign; private Campaign wlmCampaign;
String userName; String userName;
@ -266,7 +268,7 @@ public class ContributionsFragment
final View uploadMenuItemActionView = uploadMenuItem.getActionView(); final View uploadMenuItemActionView = uploadMenuItem.getActionView();
pendingUploadsCountTextView = uploadMenuItemActionView.findViewById(R.id.pending_uploads_count_badge); pendingUploadsCountTextView = uploadMenuItemActionView.findViewById(R.id.pending_uploads_count_badge);
uploadsErrorTextView = uploadMenuItemActionView.findViewById(R.id.uploads_error_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){ if (pendingUploadsImageView != null){
pendingUploadsImageView.setOnClickListener(view -> { pendingUploadsImageView.setOnClickListener(view -> {
startActivity(new Intent(getContext(), UploadProgressActivity.class)); 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 * Replace whatever is in the current contributionsFragmentContainer view with
* mediaDetailPagerFragment, and preserve previous state in back stack. Called when user selects * mediaDetailPagerFragment, and preserve previous state in back stack. Called when user selects

View file

@ -224,6 +224,10 @@ public class ContributionsListFragment extends CommonsDaggerSupportFragment impl
uploadErrorCount = list.size(); uploadErrorCount = list.size();
callback.updateErrorIcon(uploadErrorCount); callback.updateErrorIcon(uploadErrorCount);
}); });
contributionsListPresenter.getFailedAndPendingContributions();
contributionsListPresenter.failedAndPendingContributionList.observe(getViewLifecycleOwner(), list -> {
callback.updateUploadIcon(list.size());
});
contributionsListPresenter.contributionList.observe(getViewLifecycleOwner(), list -> { contributionsListPresenter.contributionList.observe(getViewLifecycleOwner(), list -> {
contributionsSize = list.size(); contributionsSize = list.size();
adapter.submitList(list); adapter.submitList(list);
@ -508,5 +512,7 @@ public class ContributionsListFragment extends CommonsDaggerSupportFragment impl
void updatePendingIcon(int pendingCount); void updatePendingIcon(int pendingCount);
void updateErrorIcon(int errorCount); void updateErrorIcon(int errorCount);
void updateUploadIcon(int count);
} }
} }

View file

@ -30,6 +30,7 @@ public class ContributionsListPresenter implements UserActionListener {
LiveData<PagedList<Contribution>> contributionList; LiveData<PagedList<Contribution>> contributionList;
LiveData<PagedList<Contribution>> pendingContributionList; LiveData<PagedList<Contribution>> pendingContributionList;
LiveData<PagedList<Contribution>> failedContributionList; LiveData<PagedList<Contribution>> failedContributionList;
LiveData<PagedList<Contribution>> failedAndPendingContributionList;
@Inject @Inject
ContributionsListPresenter( ContributionsListPresenter(
@ -124,4 +125,19 @@ public class ContributionsListPresenter implements UserActionListener {
failedContributionList = livePagedListBuilder.build(); 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();
}
} }

View file

@ -14,6 +14,7 @@
android:id="@+id/pending_uploads_image_view" android:id="@+id/pending_uploads_image_view"
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:visibility="gone"
android:layout_marginEnd="@dimen/activity_margin_horizontal" android:layout_marginEnd="@dimen/activity_margin_horizontal"
android:layout_marginRight="@dimen/activity_margin_horizontal" android:layout_marginRight="@dimen/activity_margin_horizontal"
android:gravity="center" android:gravity="center"