From 3fdfdea0721fe7a36f6aaa509075f01a194f6748 Mon Sep 17 00:00:00 2001 From: xie <xie-email@example.com> Date: Sat, 23 Nov 2024 09:19:59 +0000 Subject: [PATCH] feat(usb_camera): apply usb_camera patch --- android/packages/apps/Camera2/src/com/android/camera/MultiToggleImageButton.java | 34 ++++++++++++++++++++++++++++++++++ 1 files changed, 34 insertions(+), 0 deletions(-) diff --git a/android/packages/apps/Camera2/src/com/android/camera/MultiToggleImageButton.java b/android/packages/apps/Camera2/src/com/android/camera/MultiToggleImageButton.java index 34ffcef..9f885ef 100755 --- a/android/packages/apps/Camera2/src/com/android/camera/MultiToggleImageButton.java +++ b/android/packages/apps/Camera2/src/com/android/camera/MultiToggleImageButton.java @@ -27,6 +27,7 @@ import android.graphics.Matrix; import android.graphics.drawable.Drawable; import android.os.AsyncTask; +import android.os.SystemProperties; import android.util.AttributeSet; import android.view.View; import android.widget.ImageButton; @@ -74,6 +75,8 @@ private int mAnimDirection; private Matrix mMatrix = new Matrix(); private ValueAnimator mAnimator; + + private static final String ANDROID_UVC_PROPERTY = "ro.camera.uvcfacing"; public MultiToggleImageButton(Context context) { super(context); @@ -242,6 +245,37 @@ private void nextState() { int state = mState + 1; + if(getId() == R.id.camera_toggle_button){ + /* + *If ro.camera.uvcfacing is set, then skip the original facing state. + */ + String uvcProperty = SystemProperties.get(ANDROID_UVC_PROPERTY, ""); + if(uvcProperty.equals("")){ + if(state == Integer.parseInt(getResources() + .getString(R.string.pref_camera_id_entry_external_value))){ + state = state + 1; + } + } + else if (uvcProperty.equals("back")) { + if(state == Integer.parseInt(getResources() + .getString(R.string.pref_camera_id_entry_back_value))){ + state = state + 1; + } + } + else if (uvcProperty.equals("front")) { + if(state == Integer.parseInt(getResources() + .getString(R.string.pref_camera_id_entry_front_value))){ + state = state + 1; + } + } + else if (uvcProperty.equals("external")) { + int externalValue = Integer.parseInt(getResources(). + getString(R.string.pref_camera_id_entry_external_value)); + if(state != externalValue){ + state = externalValue; + } + } + } if (state >= mImageIds.length) { state = 0; } -- Gitblit v1.6.2