diff options
-rw-r--r-- | src/com/android/camera/CameraActivity.java | 26 | ||||
-rw-r--r-- | src/com/android/camera/app/CameraAppUI.java | 14 |
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) { |