summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorcodeworkx <codeworkx@cyanogenmod.org>2016-01-06 00:10:40 +0100
committerSteve Kondik <steve@cyngn.com>2016-11-02 12:22:27 -0700
commit574888cd358907f171e69919e213bcdc61be2376 (patch)
treef9470ae58ce5319d31e26de8d9e48228bd691eae
parent602a7c22051ea07d0a6ecf0dcc0fb4971a9f3e7a (diff)
downloadandroid_packages_apps_Snap-574888cd358907f171e69919e213bcdc61be2376.tar.gz
android_packages_apps_Snap-574888cd358907f171e69919e213bcdc61be2376.tar.bz2
android_packages_apps_Snap-574888cd358907f171e69919e213bcdc61be2376.zip
add options to restart preview onPictureTaken
Change-Id: I7ce9d6f2323e367743e6d4c9662b846d3052f2a4
-rw-r--r--res/values/config.xml6
-rwxr-xr-xsrc/com/android/camera/PhotoModule.java17
2 files changed, 23 insertions, 0 deletions
diff --git a/res/values/config.xml b/res/values/config.xml
index 0e7e58780..80b0d9215 100644
--- a/res/values/config.xml
+++ b/res/values/config.xml
@@ -32,6 +32,12 @@
<!-- Set's parameter "lge-camera" for LGE devices. -->
<bool name="lge_camera">false</bool>
+ <!-- Restart preview for back camera onPictureTaken -->
+ <bool name="back_camera_restart_preview_onPictureTaken">false</bool>
+
+ <!-- Restart preview for front camera onPictureTaken -->
+ <bool name="front_camera_restart_preview_onPictureTaken">false</bool>
+
<!-- Set's manufacturer specific parameters on startup.
Example: lge-camera=1;cam-mode=0 -->
<string name="manufacturer_key_values"></string>
diff --git a/src/com/android/camera/PhotoModule.java b/src/com/android/camera/PhotoModule.java
index dc4b9726e..0f03a7a26 100755
--- a/src/com/android/camera/PhotoModule.java
+++ b/src/com/android/camera/PhotoModule.java
@@ -64,6 +64,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;
@@ -252,6 +253,8 @@ public class PhotoModule
private byte[] mLastJpegData;
private int mLastJpegOrientation = 0;
+ private static Context mApplicationContext;
+
private Runnable mDoSnapRunnable = new Runnable() {
@Override
public void run() {
@@ -901,6 +904,8 @@ public class PhotoModule
return;
}
+ mApplicationContext = CameraApp.getContext();
+
// Initialize location service.
boolean recordLocation = RecordLocationPreference.get(mPreferences);
mLocationManager.recordLocation(recordLocation);
@@ -1343,6 +1348,18 @@ public class PhotoModule
&& (mCameraState != LONGSHOT)
&& (mSnapshotMode != CameraInfo.CAMERA_SUPPORT_MODE_ZSL)
&& (mReceivedSnapNum == mBurstSnapNum);
+
+ boolean backCameraRestartPreviewOnPictureTaken =
+ mApplicationContext.getResources().getBoolean(R.bool.back_camera_restart_preview_onPictureTaken);
+ boolean frontCameraRestartPreviewOnPictureTaken =
+ mApplicationContext.getResources().getBoolean(R.bool.front_camera_restart_preview_onPictureTaken);
+
+ CameraInfo info = CameraHolder.instance().getCameraInfo()[mCameraId];
+ if ((info.facing == CameraInfo.CAMERA_FACING_BACK && backCameraRestartPreviewOnPictureTaken)
+ || (info.facing == CameraInfo.CAMERA_FACING_FRONT && frontCameraRestartPreviewOnPictureTaken)) {
+ needRestartPreview = true;
+ }
+
if (needRestartPreview) {
setupPreview();
if (CameraUtil.FOCUS_MODE_CONTINUOUS_PICTURE.equals(