Yuvipanda has submitted this change and it was merged.

Change subject: bug 47671 -- don't show crashy photo button if no camera present
......................................................................


bug 47671 -- don't show crashy photo button if no camera present

We were crashing when trying to take a photo if no camera was
present on the device, since no activity can be found for the
camera intent and an exception is thrown.

Work around this by simply checking if the device has a camera
via the package manager feature checks, and hiding the menu item
if relevant.

GitHub: https://github.com/wikimedia/apps-android-commons/pull/13
Change-Id: I635946ed32cf768917db4a8dff0058061e45e6ec
---
M commons/src/main/java/org/wikimedia/commons/CommonsApplication.java
M 
commons/src/main/java/org/wikimedia/commons/contributions/ContributionsListFragment.java
2 files changed, 10 insertions(+), 0 deletions(-)

Approvals:
  Yuvipanda: Verified; Looks good to me, approved



diff --git 
a/commons/src/main/java/org/wikimedia/commons/CommonsApplication.java 
b/commons/src/main/java/org/wikimedia/commons/CommonsApplication.java
index d6e9812..b9492dd 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 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 8ffbaa4..101f4ee 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 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

-- 
To view, visit https://gerrit.wikimedia.org/r/69253
To unsubscribe, visit https://gerrit.wikimedia.org/r/settings

Gerrit-MessageType: merged
Gerrit-Change-Id: I635946ed32cf768917db4a8dff0058061e45e6ec
Gerrit-PatchSet: 2
Gerrit-Project: apps/android/commons
Gerrit-Branch: master
Gerrit-Owner: SuchABot <[email protected]>
Gerrit-Reviewer: Brion VIBBER <[email protected]>
Gerrit-Reviewer: Yuvipanda <[email protected]>
Gerrit-Reviewer: jenkins-bot

_______________________________________________
MediaWiki-commits mailing list
[email protected]
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits

Reply via email to