From 48feef948c83e55c76f91d20468cddb65ce24806 Mon Sep 17 00:00:00 2001 From: Byunghun Jeon Date: Tue, 6 Oct 2015 14:42:58 -0700 Subject: SnapdragonCamera: Fix crash issue with enable FD with TruePortrait Fixes ui operation on background thread issue with always enabling FD with TruePortrait on. Change-Id: I976d206c2114aba1e1c5ae4b53959093c2836942 --- src/com/android/camera/PhotoModule.java | 15 +++++++++++++-- 1 file changed, 13 insertions(+), 2 deletions(-) diff --git a/src/com/android/camera/PhotoModule.java b/src/com/android/camera/PhotoModule.java index 682199d72..a991e4398 100644 --- a/src/com/android/camera/PhotoModule.java +++ b/src/com/android/camera/PhotoModule.java @@ -3265,7 +3265,13 @@ public class PhotoModule .equals(advancedFeature)) { // face detection must always be on for truePortrait if (CameraUtil.isSupported(Parameters.FACE_DETECTION_ON, mParameters.getSupportedFaceDetectionModes())) { - mUI.overrideSettings(CameraSettings.KEY_FACE_DETECTION, Parameters.FACE_DETECTION_ON); + mActivity.runOnUiThread(new Runnable() { + @Override + public void run() { + mUI.overrideSettings(CameraSettings.KEY_FACE_DETECTION, Parameters.FACE_DETECTION_ON); + } + }); + mParameters.setFaceDetectionMode(Parameters.FACE_DETECTION_ON); if(mFaceDetectionEnabled == false) { mFaceDetectionEnabled = true; @@ -3275,7 +3281,12 @@ public class PhotoModule } else { // Set face detetction parameter. // clear override to re-enable setting if true portrait is off. - mUI.overrideSettings(CameraSettings.KEY_FACE_DETECTION, null); + mActivity.runOnUiThread(new Runnable() { + @Override + public void run() { + mUI.overrideSettings(CameraSettings.KEY_FACE_DETECTION, null); + } + }); String faceDetection = mPreferences.getString( CameraSettings.KEY_FACE_DETECTION, -- cgit v1.2.3