summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--src/com/android/camera/CameraActivity.java26
-rw-r--r--src/com/android/camera/app/CameraAppUI.java14
2 files changed, 35 insertions, 5 deletions
diff --git a/src/com/android/camera/CameraActivity.java b/src/com/android/camera/CameraActivity.java
index 5bcd9dd15..d01db898f 100644
--- a/src/com/android/camera/CameraActivity.java
+++ b/src/com/android/camera/CameraActivity.java
@@ -1385,15 +1385,28 @@ public class CameraActivity extends Activity
if (mCurrentModule == null) {
return;
}
- int visibility;
+
+ int visibility = getPreviewVisibility();
+ updatePreviewRendering(visibility);
+ mCurrentModule.onPreviewVisibilityChanged(visibility);
+ }
+
+ private void updatePreviewRendering(int visibility) {
+ if (visibility == ModuleController.VISIBILITY_HIDDEN) {
+ mCameraAppUI.pausePreviewRendering();
+ } else {
+ mCameraAppUI.resumePreviewRendering();
+ }
+ }
+
+ private int getPreviewVisibility() {
if (mFilmstripCoversPreview) {
- visibility = ModuleController.VISIBILITY_HIDDEN;
+ return ModuleController.VISIBILITY_HIDDEN;
} else if (mModeListVisible){
- visibility = ModuleController.VISIBILITY_COVERED;
+ return ModuleController.VISIBILITY_COVERED;
} else {
- visibility = ModuleController.VISIBILITY_VISIBLE;
+ return ModuleController.VISIBILITY_VISIBLE;
}
- mCurrentModule.onPreviewVisibilityChanged(visibility);
}
private void setRotationAnimation() {
@@ -1560,6 +1573,9 @@ public class CameraActivity extends Activity
mPanoramaViewHelper.onResume();
ReleaseDialogHelper.showReleaseInfoDialogOnStart(this, mSettingsManager);
syncLocationManagerSetting();
+
+ final int previewVisibility = getPreviewVisibility();
+ updatePreviewRendering(previewVisibility);
}
@Override
diff --git a/src/com/android/camera/app/CameraAppUI.java b/src/com/android/camera/app/CameraAppUI.java
index e90cc9a99..b28c93890 100644
--- a/src/com/android/camera/app/CameraAppUI.java
+++ b/src/com/android/camera/app/CameraAppUI.java
@@ -853,6 +853,20 @@ public class CameraAppUI implements ModeListView.ModeSwitchListener,
}
}
+ /**
+ * Call to stop the preview from being rendered.
+ */
+ public void pausePreviewRendering() {
+ mTextureView.setVisibility(View.INVISIBLE);
+ }
+
+ /**
+ * Call to begin rendering the preview again.
+ */
+ public void resumePreviewRendering() {
+ mTextureView.setVisibility(View.VISIBLE);
+ }
+
@Override
public void onOpenFullScreen() {
if (mShouldShowShimmy) {