summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTimi <timi.rautamaki@gmail.com>2021-05-09 11:56:57 +0200
committerTimi <timi.rautamaki@gmail.com>2021-05-10 14:03:33 +0200
commit8cd66afd16158a6ff1f822a0e3d58d5084516f83 (patch)
tree4b99c3d88b00f3debdfa577071b2378c52e4424c
parent029c55fea24d97af189e4211f3e7d833e8089f4e (diff)
Snap: api2: add QR scanner mode
Change-Id: I99a11907ab5bdd04e6c3f9780f8df18265e7d4bf
-rw-r--r--res/values/arrays.xml1
-rwxr-xr-xsrc/com/android/camera/CaptureModule.java22
2 files changed, 19 insertions, 4 deletions
diff --git a/res/values/arrays.xml b/res/values/arrays.xml
index 034d707a7..6df58e8c6 100644
--- a/res/values/arrays.xml
+++ b/res/values/arrays.xml
@@ -704,6 +704,7 @@
<item>@drawable/ic_switch_bokeh</item>ยด
<item>@drawable/ic_switch_sat</item>
<item>@drawable/ic_switch_promode</item>
+ <item>@drawable/ic_cam_switcher_qr</item>
</array>
<array name="camera_modes_front">
diff --git a/src/com/android/camera/CaptureModule.java b/src/com/android/camera/CaptureModule.java
index f93494599..b7773c873 100755
--- a/src/com/android/camera/CaptureModule.java
+++ b/src/com/android/camera/CaptureModule.java
@@ -134,6 +134,8 @@ import com.android.camera.util.VendorTagUtil;
import org.codeaurora.snapcam.R;
import org.codeaurora.snapcam.filter.ClearSightImageProcessor;
+import org.lineageos.quickreader.ScannerActivity;
+
import java.io.File;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
@@ -558,7 +560,7 @@ public class CaptureModule implements CameraModule, PhotoController,
private boolean[] mCameraOpened = new boolean[MAX_NUM_CAM];
private CameraDevice[] mCameraDevice = new CameraDevice[MAX_NUM_CAM];
private String[] mCameraId = new String[MAX_NUM_CAM];
- private String[] mSelectableModes = {"Video", "HFR", "Photo", "Bokeh", "SAT", "ProMode"};
+ private String[] mSelectableModes = {"Video", "HFR", "Photo", "Bokeh", "SAT", "ProMode", "QR"};
private ArrayList<SceneModule> mSceneCameraIds = new ArrayList<>();
private SceneModule mCurrentSceneMode;
private int mNextModeIndex = 1;
@@ -571,7 +573,8 @@ public class CaptureModule implements CameraModule, PhotoController,
DEFAULT,
RTB,
SAT,
- PRO_MODE
+ PRO_MODE,
+ QR,
}
public enum MFNRSupportValues {
@@ -2445,6 +2448,7 @@ public class CaptureModule implements CameraModule, PhotoController,
removeList[CameraMode.DEFAULT.ordinal()] = false;
removeList[CameraMode.VIDEO.ordinal()] = false;
removeList[CameraMode.PRO_MODE.ordinal()] = false;
+ removeList[CameraMode.QR.ordinal()] = false;
if (facing == CameraCharacteristics.LENS_FACING_FRONT) {
CaptureModule.FRONT_ID = cameraId;
mSceneCameraIds.get(CameraMode.DEFAULT.ordinal()).frontCameraId = cameraId;
@@ -2460,6 +2464,7 @@ public class CaptureModule implements CameraModule, PhotoController,
mSceneCameraIds.get(CameraMode.DEFAULT.ordinal()).rearCameraId = cameraId;
mSceneCameraIds.get(CameraMode.VIDEO.ordinal()).rearCameraId = cameraId;
mSceneCameraIds.get(CameraMode.PRO_MODE.ordinal()).rearCameraId = cameraId;
+ mSceneCameraIds.get(CameraMode.QR.ordinal()).rearCameraId = cameraId;
if (mSettingsManager.isHFRSupported()) { // filter HFR mode
removeList[CameraMode.HFR.ordinal()] = false;
mSceneCameraIds.get(CameraMode.HFR.ordinal()).rearCameraId = cameraId;
@@ -8988,6 +8993,13 @@ public class CaptureModule implements CameraModule, PhotoController,
if (mCurrentSceneMode.mode == mSceneCameraIds.get(mode).mode) {
return -1;
}
+ if (mSceneCameraIds.get(mode).mode == CameraMode.QR) {
+ mUI.closeModeSwitcher(true);
+ Intent intent = new Intent(mActivity, ScannerActivity.class);
+ mActivity.startActivity(intent);
+ // Don't change the selected item in modeswitcher
+ return -1;
+ }
setCameraModeSwitcherAllowed(false);
setNextSceneMode(mode);
SceneModule nextSceneMode = mSceneCameraIds.get(mode);
@@ -9064,7 +9076,8 @@ public class CaptureModule implements CameraModule, PhotoController,
int cameraId = isBackCamera() ? rearCameraId : frontCameraId;
cameraId = isForceAUXOn(this.mode) ? auxCameraId : cameraId;
if ((this.mode == CameraMode.DEFAULT || this.mode == CameraMode.VIDEO ||
- this.mode == CameraMode.HFR || this.mode == CameraMode.PRO_MODE)
+ this.mode == CameraMode.HFR || this.mode == CameraMode.PRO_MODE ||
+ this.mode == CameraMode.QR)
&& (mSettingsManager.isDeveloperEnabled() || swithCameraId != -1)) {
String value = mSettingsManager.getValue(SettingsManager.KEY_SWITCH_CAMERA);
if (value != null && !value.equals("-1")) {
@@ -9081,7 +9094,8 @@ public class CaptureModule implements CameraModule, PhotoController,
int cameraId = isBackCamera() ? rearCameraId : frontCameraId;
cameraId = isForceAUXOn(this.mode) ? auxCameraId : cameraId;
if ((this.mode == CameraMode.DEFAULT || this.mode == CameraMode.VIDEO ||
- this.mode == CameraMode.HFR || this.mode == CameraMode.PRO_MODE)
+ this.mode == CameraMode.HFR || this.mode == CameraMode.PRO_MODE ||
+ this.mode == CameraMode.QR)
&& (mSettingsManager.isDeveloperEnabled() || swithCameraId != -1)) {
final SharedPreferences pref = mActivity.getSharedPreferences(
ComboPreferences.getLocalSharedPreferencesName(mActivity,