diff --git a/commons/src/main/java/org/wikimedia/commons/CommonsApplication.java b/commons/src/main/java/org/wikimedia/commons/CommonsApplication.java index d6e9812ac..b9492ddaf 100644 --- a/commons/src/main/java/org/wikimedia/commons/CommonsApplication.java +++ b/commons/src/main/java/org/wikimedia/commons/CommonsApplication.java @@ -183,5 +183,10 @@ public class CommonsApplication extends Application { } } + public boolean deviceHasCamera() { + PackageManager pm = getPackageManager(); + return pm.hasSystemFeature(PackageManager.FEATURE_CAMERA) || + pm.hasSystemFeature(PackageManager.FEATURE_CAMERA_FRONT); + } } diff --git a/commons/src/main/java/org/wikimedia/commons/contributions/ContributionsListFragment.java b/commons/src/main/java/org/wikimedia/commons/contributions/ContributionsListFragment.java index 8ffbaa4d5..101f4eedc 100644 --- a/commons/src/main/java/org/wikimedia/commons/contributions/ContributionsListFragment.java +++ b/commons/src/main/java/org/wikimedia/commons/contributions/ContributionsListFragment.java @@ -266,6 +266,11 @@ public class ContributionsListFragment extends SherlockFragment { public void onCreateOptionsMenu(Menu menu, MenuInflater inflater) { menu.clear(); // See http://stackoverflow.com/a/8495697/17865 inflater.inflate(R.menu.fragment_contributions_list, menu); + + CommonsApplication app = (CommonsApplication)getActivity().getApplicationContext(); + if (!app.deviceHasCamera()) { + menu.findItem(R.id.menu_from_camera).setEnabled(false); + } } @Override