Skip to content

Commit 1359f70

Browse files
ashishkumar468misaochan
authored andcommitted
Closes commons-app#3264, disable options menu for null media from provider (commons-app#3265)
1 parent 452f799 commit 1359f70

File tree

1 file changed

+29
-19
lines changed

1 file changed

+29
-19
lines changed

app/src/main/java/fr/free/nrw/commons/media/MediaDetailPagerFragment.java

Lines changed: 29 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,9 @@
11
package fr.free.nrw.commons.media;
22

3+
import static android.Manifest.permission.WRITE_EXTERNAL_STORAGE;
4+
import static android.content.Context.DOWNLOAD_SERVICE;
5+
import static fr.free.nrw.commons.Utils.handleWebUrl;
6+
37
import android.annotation.SuppressLint;
48
import android.app.DownloadManager;
59
import android.content.Intent;
@@ -14,15 +18,10 @@
1418
import android.view.View;
1519
import android.view.ViewGroup;
1620
import android.widget.Toast;
17-
1821
import androidx.fragment.app.Fragment;
1922
import androidx.fragment.app.FragmentManager;
2023
import androidx.fragment.app.FragmentStatePagerAdapter;
2124
import androidx.viewpager.widget.ViewPager;
22-
23-
import javax.inject.Inject;
24-
import javax.inject.Named;
25-
2625
import butterknife.BindView;
2726
import butterknife.ButterKnife;
2827
import fr.free.nrw.commons.Media;
@@ -42,12 +41,10 @@
4241
import fr.free.nrw.commons.utils.NetworkUtils;
4342
import fr.free.nrw.commons.utils.PermissionUtils;
4443
import fr.free.nrw.commons.utils.ViewUtil;
44+
import javax.inject.Inject;
45+
import javax.inject.Named;
4546
import timber.log.Timber;
4647

47-
import static android.Manifest.permission.WRITE_EXTERNAL_STORAGE;
48-
import static android.content.Context.DOWNLOAD_SERVICE;
49-
import static fr.free.nrw.commons.Utils.handleWebUrl;
50-
5148
public class MediaDetailPagerFragment extends CommonsDaggerSupportFragment implements ViewPager.OnPageChangeListener {
5249

5350
@Inject SessionManager sessionManager;
@@ -256,6 +253,7 @@ public void onCreateOptionsMenu(Menu menu, MenuInflater inflater) {
256253
menu.findItem(R.id.menu_share_current_image).setEnabled(true).setVisible(true);
257254
menu.findItem(R.id.menu_download_current_image).setEnabled(true).setVisible(true);
258255
menu.findItem(R.id.menu_bookmark_current_image).setEnabled(true).setVisible(true);
256+
menu.findItem(R.id.menu_set_as_wallpaper).setEnabled(true).setVisible(true);
259257

260258
// Initialize bookmark object
261259
bookmark = new Bookmark(
@@ -265,27 +263,39 @@ public void onCreateOptionsMenu(Menu menu, MenuInflater inflater) {
265263
);
266264
updateBookmarkState(menu.findItem(R.id.menu_bookmark_current_image));
267265

268-
if (m instanceof Contribution ) {
266+
if (m instanceof Contribution) {
269267
Contribution c = (Contribution) m;
270268
switch (c.getState()) {
271269
case Contribution.STATE_FAILED:
272-
menu.findItem(R.id.menu_browser_current_image).setEnabled(false).setVisible(false);
273-
menu.findItem(R.id.menu_share_current_image).setEnabled(false).setVisible(false);
274-
menu.findItem(R.id.menu_download_current_image).setEnabled(false).setVisible(false);
275-
menu.findItem(R.id.menu_bookmark_current_image).setEnabled(false).setVisible(false);
276-
break;
277270
case Contribution.STATE_IN_PROGRESS:
278271
case Contribution.STATE_QUEUED:
279-
menu.findItem(R.id.menu_browser_current_image).setEnabled(false).setVisible(false);
280-
menu.findItem(R.id.menu_share_current_image).setEnabled(false).setVisible(false);
281-
menu.findItem(R.id.menu_download_current_image).setEnabled(false).setVisible(false);
282-
menu.findItem(R.id.menu_bookmark_current_image).setEnabled(false).setVisible(false);
272+
menu.findItem(R.id.menu_browser_current_image).setEnabled(false)
273+
.setVisible(false);
274+
menu.findItem(R.id.menu_share_current_image).setEnabled(false)
275+
.setVisible(false);
276+
menu.findItem(R.id.menu_download_current_image).setEnabled(false)
277+
.setVisible(false);
278+
menu.findItem(R.id.menu_bookmark_current_image).setEnabled(false)
279+
.setVisible(false);
280+
menu.findItem(R.id.menu_set_as_wallpaper).setEnabled(false)
281+
.setVisible(false);
283282
break;
284283
case Contribution.STATE_COMPLETED:
285284
// Default set of menu items works fine. Treat same as regular media object
286285
break;
287286
}
288287
}
288+
} else {
289+
menu.findItem(R.id.menu_browser_current_image).setEnabled(false)
290+
.setVisible(false);
291+
menu.findItem(R.id.menu_share_current_image).setEnabled(false)
292+
.setVisible(false);
293+
menu.findItem(R.id.menu_download_current_image).setEnabled(false)
294+
.setVisible(false);
295+
menu.findItem(R.id.menu_bookmark_current_image).setEnabled(false)
296+
.setVisible(false);
297+
menu.findItem(R.id.menu_set_as_wallpaper).setEnabled(false)
298+
.setVisible(false);
289299
}
290300
}
291301
}

0 commit comments

Comments
 (0)