mirror of
https://github.com/commons-app/apps-android-commons.git
synced 2025-10-26 20:33:53 +01:00
Fix which menu items get displayed at which state
Only show actions that are applicable to each state. Also clarify that 'abort' actually only 'deleted' failed uploads. We have no way to abort an in-progress upload yet Change-Id: I2c18273e603e3ca6b1e03f83b7404e96b6d8bad0
This commit is contained in:
parent
b7c1f44d1e
commit
1bc0b781d1
4 changed files with 39 additions and 15 deletions
|
|
@ -19,14 +19,14 @@
|
|||
<item android:id="@+id/menu_retry_current_image"
|
||||
android:showAsAction="ifRoom|withText"
|
||||
android:icon="@android:drawable/ic_menu_revert"
|
||||
android:title="@string/menu_retry"
|
||||
android:title="@string/menu_retry_upload"
|
||||
android:visible="false"
|
||||
android:enabled="false"
|
||||
/>
|
||||
<item android:id="@+id/menu_abort_current_image"
|
||||
<item android:id="@+id/menu_cancel_current_image"
|
||||
android:showAsAction="never"
|
||||
android:icon="@android:drawable/ic_menu_delete"
|
||||
android:title="@string/menu_abort"
|
||||
android:title="@string/menu_cancel_upload"
|
||||
android:visible="false"
|
||||
android:enabled="false"
|
||||
/>
|
||||
|
|
|
|||
|
|
@ -73,9 +73,9 @@
|
|||
<string name="menu_feedback">Menu item text that prompts user to send feedback to WMF via email</string>
|
||||
<string name="waiting_first_sync">Message shown on contributions list during first sync.</string>
|
||||
<string name="no_uploads_yet">Message shown on contribution list during non-first sync if no uploads present.</string>
|
||||
<string name="menu_retry">Menu item text prompting user to retry a failed upload.
|
||||
<string name="menu_retry_upload">Menu item text prompting user to retry a failed upload.
|
||||
{{Identical|Retry}}</string>
|
||||
<string name="menu_abort">Menu item text prompting user to abort and delete a failed upload.</string>
|
||||
<string name="menu_cancel_upload">Menu item text prompting user to cancel and delete a failed upload.</string>
|
||||
<string name="share_license_summary">Text label telling user the license of the current upload in progress. %1$s refers to appropriate display text for the chosen CC license</string>
|
||||
<string name="menu_download">Menu item text prompting user to download a selected photo or media file locally.
|
||||
{{Identical|Download}}</string>
|
||||
|
|
|
|||
|
|
@ -85,8 +85,8 @@
|
|||
<string name="waiting_first_sync">Waiting for first sync...</string>
|
||||
<string name="no_uploads_yet">You have not yet uploaded any photos.</string>
|
||||
|
||||
<string name="menu_retry">Retry</string>
|
||||
<string name="menu_abort">Abort</string>
|
||||
<string name="menu_retry_upload">Retry</string>
|
||||
<string name="menu_cancel_upload">Cancel</string>
|
||||
|
||||
<string name="share_license_summary">This image will be licensed under %1$s</string>
|
||||
|
||||
|
|
|
|||
|
|
@ -142,7 +142,7 @@ public class MediaDetailPagerFragment extends SherlockFragment implements ViewPa
|
|||
((ContributionsActivity)getActivity()).retryUpload(pager.getCurrentItem());
|
||||
getSherlockActivity().getSupportFragmentManager().popBackStack();
|
||||
return true;
|
||||
case R.id.menu_abort_current_image:
|
||||
case R.id.menu_cancel_current_image:
|
||||
// todo: delete image
|
||||
((ContributionsActivity)getActivity()).deleteUpload(pager.getCurrentItem());
|
||||
getSherlockActivity().getSupportFragmentManager().popBackStack();
|
||||
|
|
@ -228,13 +228,37 @@ public class MediaDetailPagerFragment extends SherlockFragment implements ViewPa
|
|||
if(pager != null) {
|
||||
MediaDetailProvider provider = (MediaDetailProvider)getSherlockActivity();
|
||||
Media m = provider.getMediaAtPosition(pager.getCurrentItem());
|
||||
if(m != null && !m.getFilename().startsWith("File:")) {
|
||||
// Crude way of checking if the file has been successfully saved!
|
||||
if(m != null) {
|
||||
// Enable default set of actions, then re-enable different set of actions only if it is a failed contrib
|
||||
|
||||
if(m instanceof Contribution) {
|
||||
Contribution c = (Contribution)m;
|
||||
switch(c.getState()) {
|
||||
case Contribution.STATE_FAILED:
|
||||
menu.findItem(R.id.menu_retry_current_image).setEnabled(true).setVisible(true);
|
||||
menu.findItem(R.id.menu_cancel_current_image).setEnabled(true).setVisible(true);
|
||||
menu.findItem(R.id.menu_browser_current_image).setEnabled(false).setVisible(false);
|
||||
menu.findItem(R.id.menu_share_current_image).setEnabled(false).setVisible(false);
|
||||
menu.findItem(R.id.menu_download_current_image).setEnabled(false).setVisible(false);
|
||||
menu.findItem(R.id.menu_retry_current_image).setEnabled(true).setVisible(true);
|
||||
menu.findItem(R.id.menu_abort_current_image).setEnabled(true).setVisible(true);
|
||||
break;
|
||||
case Contribution.STATE_IN_PROGRESS:
|
||||
case Contribution.STATE_QUEUED:
|
||||
menu.findItem(R.id.menu_retry_current_image).setEnabled(false).setVisible(false);
|
||||
menu.findItem(R.id.menu_cancel_current_image).setEnabled(false).setVisible(false);
|
||||
menu.findItem(R.id.menu_browser_current_image).setEnabled(false).setVisible(false);
|
||||
menu.findItem(R.id.menu_share_current_image).setEnabled(false).setVisible(false);
|
||||
menu.findItem(R.id.menu_download_current_image).setEnabled(false).setVisible(false);
|
||||
break;
|
||||
case Contribution.STATE_COMPLETED:
|
||||
menu.findItem(R.id.menu_retry_current_image).setEnabled(false).setVisible(false);
|
||||
menu.findItem(R.id.menu_cancel_current_image).setEnabled(false).setVisible(false);
|
||||
menu.findItem(R.id.menu_browser_current_image).setEnabled(true).setVisible(true);
|
||||
menu.findItem(R.id.menu_share_current_image).setEnabled(true).setVisible(true);
|
||||
menu.findItem(R.id.menu_download_current_image).setEnabled(true).setVisible(true);
|
||||
break;
|
||||
}
|
||||
|
||||
}
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue