summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTreehugger Robot <treehugger-gerrit@google.com>2021-11-09 01:47:14 +0000
committerAutomerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>2021-11-09 01:47:14 +0000
commita7822e01aed4004bfcd869b51ceefc289984caf8 (patch)
tree5fe4844c6f94eb9afcf5f79d9c656312a99a0c87
parent665260523d8f0612fd8820d561d48040f8c364e6 (diff)
parent0d53bf4bf4a7e4c4181715d87927c962003a22f4 (diff)
downloadCamera2-a7822e01aed4004bfcd869b51ceefc289984caf8.tar.gz
Merge "AOSP/Camera2: check system feature instead of actual camera device" am: 4cdfd29712 am: 4c67c660bd am: 0d53bf4bf4
Original change: https://android-review.googlesource.com/c/platform/packages/apps/Camera2/+/1881115 Change-Id: If41812762af1aed9abbae1059e273ecf25f2edc0
-rw-r--r--src/com/android/camera/SetActivitiesCameraReceiver.java30
1 files changed, 8 insertions, 22 deletions
diff --git a/src/com/android/camera/SetActivitiesCameraReceiver.java b/src/com/android/camera/SetActivitiesCameraReceiver.java
index 7a79c52e6..347e82b9f 100644
--- a/src/com/android/camera/SetActivitiesCameraReceiver.java
+++ b/src/com/android/camera/SetActivitiesCameraReceiver.java
@@ -38,8 +38,7 @@ public class SetActivitiesCameraReceiver extends BroadcastReceiver {
public void onReceive(Context context, Intent intent) {
// Disable camera-related activities if there is no camera.
int component_state = (CHECK_BACK_CAMERA_ONLY
- ? hasBackCamera()
- : (hasCamera() || supportExternalCamera(context)))
+ ? hasBackCamera(context) : hasCamera(context))
? PackageManager.COMPONENT_ENABLED_STATE_ENABLED
: PackageManager.COMPONENT_ENABLED_STATE_DISABLED;
@@ -50,29 +49,16 @@ public class SetActivitiesCameraReceiver extends BroadcastReceiver {
}
}
- private boolean supportExternalCamera(Context context) {
+ private boolean hasCamera(Context context) {
PackageManager pm = context.getPackageManager();
- return pm.hasSystemFeature(PackageManager.FEATURE_CAMERA_EXTERNAL);
+ return pm.hasSystemFeature(PackageManager.FEATURE_CAMERA)
+ || pm.hasSystemFeature(PackageManager.FEATURE_CAMERA_FRONT)
+ || pm.hasSystemFeature(PackageManager.FEATURE_CAMERA_EXTERNAL);
}
- private boolean hasCamera() {
- int n = android.hardware.Camera.getNumberOfCameras();
- Log.i(TAG, "number of camera: " + n);
- return (n > 0);
- }
-
- private boolean hasBackCamera() {
- int n = android.hardware.Camera.getNumberOfCameras();
- CameraInfo info = new CameraInfo();
- for (int i = 0; i < n; i++) {
- android.hardware.Camera.getCameraInfo(i, info);
- if (info.facing == CameraInfo.CAMERA_FACING_BACK) {
- Log.i(TAG, "back camera found: " + i);
- return true;
- }
- }
- Log.i(TAG, "no back camera");
- return false;
+ private boolean hasBackCamera(Context context) {
+ PackageManager pm = context.getPackageManager();
+ return pm.hasSystemFeature(PackageManager.FEATURE_CAMERA);
}
private void setComponent(Context context, String klass, final int enabledState) {