diff --git a/res/values/arrays.xml b/res/values/arrays.xml
index d985004b6..c4d5dd2cb 100644
--- a/res/values/arrays.xml
+++ b/res/values/arrays.xml
@@ -179,6 +179,8 @@
<array name="camera_id_entryvalues" translatable="false">
<item>@string/pref_camera_id_entry_back_value</item>
<item>@string/pref_camera_id_entry_front_value</item>
+ <item>@string/pref_camera_id_mirc_back_value</item>
+
</array>
<array name="camera_id_labels" translatable="false">
@@ -189,11 +191,14 @@
<array name="camera_id_icons" translatable="false">
<item>@drawable/ic_switch_camera_back</item>
<item>@drawable/ic_switch_camera_front</item>
+ <item>@drawable/ic_switch_camera_front</item>
</array>
<array name="camera_id_descriptions" translatable="false">
<item>@string/camera_id_back_desc</item>
<item>@string/camera_id_front_desc</item>
+ <item>@string/camera_id_back_desc</item>
+
</array>
diff --git a/res/values/strings.xml b/res/values/strings.xml
index 19108e77a..0e26f3754 100644
--- a/res/values/strings.xml
+++ b/res/values/strings.xml
@@ -184,6 +184,9 @@
<string name="pref_camera_id_entry_back_value" translatable="false">0</string>
<!-- In select camera setting, front-facing camera value. [CHAR LIMIT=14] -->
<string name="pref_camera_id_entry_front_value" translatable="false">1</string>
+ <!-- 新增 -->
+ <string name="pref_camera_id_mirc_back_value" translatable="false">2</string>
+
<!-- Settings screen, location setting text. [CHAR LIMIT=20]-->
<string name="pref_camera_save_location_title">Save location</string>
diff --git a/src/com/android/camera/CaptureModule.java b/src/com/android/camera/CaptureModule.java
index 2b46b2b33..3e76e3565 100644
--- a/src/com/android/camera/CaptureModule.java
+++ b/src/com/android/camera/CaptureModule.java
@@ -1746,7 +1746,7 @@ public class CaptureModule extends CameraModule implements
* Returns which way around the camera is facing, based on it's ID.
*/
private Facing getFacingFromCameraId(int cameraId) {
- try {
+ /* try {
CameraManager manager = (CameraManager) mCameraActivity.getSystemService(Context.CAMERA_SERVICE);
String cameraIds = manager.getCameraIdList()[cameraId];
Log.d(TAG,"cameraIds="+cameraIds);
@@ -1759,10 +1759,19 @@ public class CaptureModule extends CameraModule implements
Log.e(TAG,"find camera facing failed !!!");
return Facing.BACK;
}
- /*
+
return mAppController.getCameraProvider().getCharacteristics(cameraId)
.isFacingFront() ? Facing.FRONT : Facing.BACK;
*/
+ switch (cameraId){
+ case 0:
+ return Facing.BACK;
+ case 1:
+ return Facing.FRONT;
+ case 2:
+ return Facing.MICR;
+ }
+ return Facing.BACK;
}
private void resetTextureBufferSize() {
diff --git a/src/com/android/camera/one/OneCamera.java b/src/com/android/camera/one/OneCamera.java
index 9f918fc8e..3bafa1eb3 100644
--- a/src/com/android/camera/one/OneCamera.java
+++ b/src/com/android/camera/one/OneCamera.java
@@ -39,7 +39,7 @@ public interface OneCamera {
/** Which way the camera is facing. */
public static enum Facing {
- FRONT, BACK;
+ FRONT, BACK,MICR;
}
/**
diff --git a/src/com/android/camera/one/v1/LegacyOneCameraManagerImpl.java b/src/com/android/camera/one/v1/LegacyOneCameraManagerImpl.java
index 9a3ec12c6..348b3104f 100644
--- a/src/com/android/camera/one/v1/LegacyOneCameraManagerImpl.java
+++ b/src/com/android/camera/one/v1/LegacyOneCameraManagerImpl.java
@@ -124,7 +124,10 @@ public class LegacyOneCameraManagerImpl implements OneCameraManager {
return mFirstBackCameraId;
} else if (facing == Facing.FRONT && mFirstFrontCameraId != null) {
return mFirstFrontCameraId;
- }
+ }else if (facing==Facing.MICR){
+ return CameraId.fromLegacyId(2);
+ }
+
return null;
}
@@ -193,4 +196,4 @@ public class LegacyOneCameraManagerImpl implements OneCameraManager {
return characteristics;
}
-}
\ No newline at end of file
+}
diff --git a/src/com/android/camera/one/v2/Camera2OneCameraManagerImpl.java b/src/com/android/camera/one/v2/Camera2OneCameraManagerImpl.java
index 3810eabc3..b2b10a58c 100644
--- a/src/com/android/camera/one/v2/Camera2OneCameraManagerImpl.java
+++ b/src/com/android/camera/one/v2/Camera2OneCameraManagerImpl.java
@@ -161,11 +161,18 @@ public class Camera2OneCameraManagerImpl extends CameraManager.AvailabilityCallb
return id;
}
- if (facing == Facing.FRONT) {
+ /* if (facing == Facing.FRONT) {
id = findFirstFrontCameraId();
} else {
id = findFirstBackCameraId();
- }
+ }*/
+if (facing==Facing.FRONT){
+ id="1";
+ }else if (facing==Facing.MICR){
+ id="2";
+ }else {
+ id="0";
+ }
if (id != null) {
mCameraFacingCache.put(facing, id);
修改android14 原生Camera2 支持三摄
于 2024-12-04 18:57:36 首次发布
839

被折叠的 条评论
为什么被折叠?



