From f0e709d5d8d53e3d5611fc7f050a2fbaa79fc8f8 Mon Sep 17 00:00:00 2001 From: likaid Date: Mon, 14 Sep 2015 14:51:39 +0800 Subject: SnapdragonCamera: Hide all camera setting when countdown timer starts Camera setting including module switcher scene mode filter mode and front/back camera switcher should not be used during countdown timer, since it may cause unexpected concurrent errors. Hide all the camera settings when countdown timer starts, show them again after countdown. Change-Id: I79c2add63c61d304fe0948e1c9fefe3a8c1a6fee CRs-Fixed: 900086 --- src/com/android/camera/PhotoMenu.java | 17 +++++++++++++++++ src/com/android/camera/PhotoModule.java | 1 + src/com/android/camera/PhotoUI.java | 12 ++++++++++++ 3 files changed, 30 insertions(+) (limited to 'src/com/android') diff --git a/src/com/android/camera/PhotoMenu.java b/src/com/android/camera/PhotoMenu.java index 4c766995c..7b719593d 100644 --- a/src/com/android/camera/PhotoMenu.java +++ b/src/com/android/camera/PhotoMenu.java @@ -88,6 +88,9 @@ public class PhotoMenu extends MenuController private View mFrontBackSwitcher; private View mSceneModeSwitcher; private View mFilterModeSwitcher; + private View mCameraSwitcher; + private View mSettingMenu; + private View mPreviewThumbnail; private PhotoUI mUI; private int mPopupStatus; private int mPreviewMenuStatus; @@ -111,6 +114,9 @@ public class PhotoMenu extends MenuController mHdrSwitcher = ui.getRootView().findViewById(R.id.hdr_switcher); mSceneModeSwitcher = ui.getRootView().findViewById(R.id.scene_mode_switcher); mFilterModeSwitcher = ui.getRootView().findViewById(R.id.filter_mode_switcher); + mSettingMenu = ui.getRootView().findViewById(R.id.menu); + mCameraSwitcher = ui.getRootView().findViewById(R.id.camera_switcher); + mPreviewThumbnail = ui.getRootView().findViewById(R.id.preview_thumb); } public void initialize(PreferenceGroup group) { @@ -1214,4 +1220,15 @@ public class PhotoMenu extends MenuController public int getOrientation() { return mUI == null ? 0 : mUI.getOrientation(); } + + public void hideCameraControls(boolean hide) { + final int status = (hide) ? View.INVISIBLE : View.VISIBLE; + mSettingMenu.setVisibility(status); + mFrontBackSwitcher.setVisibility(status); + mHdrSwitcher.setVisibility(status); + mSceneModeSwitcher.setVisibility(status); + mFilterModeSwitcher.setVisibility(status); + mCameraSwitcher.setVisibility(status); + mPreviewThumbnail.setVisibility(status); + } } diff --git a/src/com/android/camera/PhotoModule.java b/src/com/android/camera/PhotoModule.java index f349b5cee..f92ef65ba 100644 --- a/src/com/android/camera/PhotoModule.java +++ b/src/com/android/camera/PhotoModule.java @@ -4377,6 +4377,7 @@ public class PhotoModule mFocusManager.doSnap(); mFocusManager.onShutterUp(); mUI.overrideSettings(CameraSettings.KEY_ZSL, null); + mUI.showUIAfterCountDown(); } @Override diff --git a/src/com/android/camera/PhotoUI.java b/src/com/android/camera/PhotoUI.java index d7cf80186..936f52a99 100644 --- a/src/com/android/camera/PhotoUI.java +++ b/src/com/android/camera/PhotoUI.java @@ -1114,11 +1114,13 @@ public class PhotoUI implements PieListener, public void cancelCountDown() { if (mCountDownView == null) return; mCountDownView.cancelCountDown(); + showUIAfterCountDown(); } public void startCountDown(int sec, boolean playSound) { if (mCountDownView == null) initializeCountDown(); mCountDownView.startCountDown(sec, playSound); + hideUIWhileCountDown(); } public void showPreferencesToast() { @@ -1294,4 +1296,14 @@ public class PhotoUI implements PieListener, public void adjustOrientation() { setOrientation(mOrientation, true); } + + public void hideUIWhileCountDown() { + mMenu.hideCameraControls(true); + mGestures.setZoomOnly(true); + } + + public void showUIAfterCountDown() { + mMenu.hideCameraControls(false); + mGestures.setZoomOnly(false); + } } -- cgit v1.2.3