summaryrefslogtreecommitdiffstats
path: root/src/com/android/camera/PhotoModule.java
diff options
context:
space:
mode:
authorcodeworkx <codeworkx@cyanogenmod.org>2006-01-16 00:10:40 +0100
committerChippa-a <vusal1372@gmail.com>2019-10-25 15:55:25 +0300
commitaeefca79db8916396109271160321aa4fc3346b8 (patch)
tree21081cf31596df12672d3033d35f53b2f5034c40 /src/com/android/camera/PhotoModule.java
parentedda79c459940f0b247c71e59e798307ed057e8f (diff)
downloadandroid_packages_apps_Snap-aeefca79db8916396109271160321aa4fc3346b8.tar.gz
android_packages_apps_Snap-aeefca79db8916396109271160321aa4fc3346b8.tar.bz2
android_packages_apps_Snap-aeefca79db8916396109271160321aa4fc3346b8.zip
Snap: Add options to restart preview onPictureTaken
Author: codeworkx <codeworkx@cyanogenmod.org> Date: Mon Jan 16 00:10:40 2006 +0100 Snap: Add options to restart preview onPictureTaken Change-Id: I7ce9d6f2323e367743e6d4c9662b846d3052f2a4 Author: LuK1337 <priv.luk@gmail.com> Date: Mon Jan 11 17:40:58 2016 +0100 Move mApplicationContext to init() Fixes following NPE: 01-11 17:36:42.607 4329 4391 E AndroidRuntime: FATAL EXCEPTION: Thread-235 01-11 17:36:42.607 4329 4391 E AndroidRuntime: Process: org.cyanogenmod.snap, PID: 4329 01-11 17:36:42.607 4329 4391 E AndroidRuntime: java.lang.NullPointerException: Attempt to invoke virtual method 'android.content.res.Resources android.content.Context.getResources()' on a null object reference 01-11 17:36:42.607 4329 4391 E AndroidRuntime: at com.android.camera.PhotoModule.updateCameraParametersPreference(PhotoModule.java:3492) 01-11 17:36:42.607 4329 4391 E AndroidRuntime: at com.android.camera.PhotoModule.setCameraParameters(PhotoModule.java:3714) 01-11 17:36:42.607 4329 4391 E AndroidRuntime: at com.android.camera.PhotoModule.startPreview(PhotoModule.java:2715) 01-11 17:36:42.607 4329 4391 E AndroidRuntime: at com.android.camera.PhotoModule.-wrap14(PhotoModule.java) 01-11 17:36:42.607 4329 4391 E AndroidRuntime: at com.android.camera.PhotoModule$OpenCameraThread.run(PhotoModule.java:265) Change-Id: I6ca0dfe402cab46dd7b6f102921062f3c7ec8d43 Author: codeworkx <codeworkx@cyanogenmod.org> Date: Fri Jan 22 17:17:53 2016 +0100 Snap: Do not restart preview during longshots Change-Id: I6ad439dc0be7c6e0d13ac7c22aacdc0ad559d051 Author: LuK1337 <priv.luk@gmail.com> Date: Sun Mar 19 10:43:33 2017 +0100 Snap: Add overlay for restarting camera preview for additional cameras Change-Id: I95eb7237b101b73d66fe231a11d0c8d5156bfe47 Change-Id: I49312aef5331bf549e38a0534b95f76a0b8bb8da
Diffstat (limited to 'src/com/android/camera/PhotoModule.java')
-rwxr-xr-xsrc/com/android/camera/PhotoModule.java25
1 files changed, 24 insertions, 1 deletions
diff --git a/src/com/android/camera/PhotoModule.java b/src/com/android/camera/PhotoModule.java
index b82490927..6770ed7cc 100755
--- a/src/com/android/camera/PhotoModule.java
+++ b/src/com/android/camera/PhotoModule.java
@@ -68,6 +68,7 @@ import android.widget.SeekBar.OnSeekBarChangeListener;
import android.widget.LinearLayout;
import android.widget.TextView;
+import com.android.camera.app.CameraApp;
import com.android.camera.CameraManager.CameraAFCallback;
import com.android.camera.CameraManager.CameraAFMoveCallback;
import com.android.camera.CameraManager.CameraPictureCallback;
@@ -256,6 +257,8 @@ public class PhotoModule
private byte[] mLastJpegData;
private int mLastJpegOrientation = 0;
+ private static Context mApplicationContext;
+
private Runnable mDoSnapRunnable = new Runnable() {
@Override
public void run() {
@@ -570,6 +573,7 @@ public class PhotoModule
mCameraId = getPreferredCameraId(mPreferences);
mContentResolver = mActivity.getContentResolver();
+ mApplicationContext = CameraApp.getContext();
// Surface texture is from camera screen nail and startPreview needs it.
// This must be done before startPreview.
@@ -1377,6 +1381,26 @@ public class PhotoModule
&& (mCameraState != LONGSHOT)
&& (mSnapshotMode != CameraInfoWrapper.CAMERA_SUPPORT_MODE_ZSL)
&& (mReceivedSnapNum == mBurstSnapNum);
+
+ CameraInfo info = CameraHolder.instance().getCameraInfo()[mCameraId];
+
+ final boolean isAuxCamera = info.facing > CameraInfo.CAMERA_FACING_FRONT;
+ final boolean isBackCamera = info.facing == CameraInfo.CAMERA_FACING_BACK;
+ final boolean isFrontCamera = info.facing == CameraInfo.CAMERA_FACING_FRONT;
+ final boolean auxCameraRestartPreviewOnPictureTaken = mApplicationContext
+ .getResources().getBoolean(R.bool.additional_camera_restart_preview_onPictureTaken);
+ final boolean backCameraRestartPreviewOnPictureTaken = mApplicationContext
+ .getResources().getBoolean(R.bool.back_camera_restart_preview_onPictureTaken);
+ final boolean frontCameraRestartPreviewOnPictureTaken = mApplicationContext
+ .getResources().getBoolean(R.bool.front_camera_restart_preview_onPictureTaken);
+
+ if ((isAuxCamera && auxCameraRestartPreviewOnPictureTaken ||
+ isBackCamera && backCameraRestartPreviewOnPictureTaken ||
+ isFrontCamera && frontCameraRestartPreviewOnPictureTaken) &&
+ mCameraState != LONGSHOT) {
+ needRestartPreview = true;
+ }
+
if (needRestartPreview) {
setupPreview();
if (CameraUtil.FOCUS_MODE_CONTINUOUS_PICTURE.equals(
@@ -1417,7 +1441,6 @@ public class PhotoModule
.findPreference(CameraSettings.KEY_SELFIE_MIRROR);
if (selfieMirrorPref != null && selfieMirrorPref.getValue() != null &&
selfieMirrorPref.getValue().equalsIgnoreCase("enable")) {
- CameraInfo info = CameraHolder.instance().getCameraInfo()[mCameraId];
jpegData = flipJpeg(jpegData, info.orientation, orientation);
jpegData = addExifTags(jpegData, orientation);
}