summaryrefslogtreecommitdiffstats
path: root/src/com/android/camera/ui/FilmStripView.java
diff options
context:
space:
mode:
authorSuman Mukherjee <sumam@codeaurora.org>2013-11-06 17:14:18 +0530
committerSuman Mukherjee <sumam@codeaurora.org>2013-11-06 17:14:18 +0530
commit9930c01a3859dd103851f772801c0fdfaf727921 (patch)
tree213e5c426b8f62eb208168e1e3e84bab4270ea2d /src/com/android/camera/ui/FilmStripView.java
parent60bd26f5167be74685609f50a6f1b416e53a7439 (diff)
downloadandroid_packages_apps_Snap-9930c01a3859dd103851f772801c0fdfaf727921.tar.gz
android_packages_apps_Snap-9930c01a3859dd103851f772801c0fdfaf727921.tar.bz2
android_packages_apps_Snap-9930c01a3859dd103851f772801c0fdfaf727921.zip
Clear preview frame on surfaceTexture during activity pause.
CameraActivity Reloads views on filmstrip during each resume. While reloading surface texture is destroyed and recreated. So when user press power key to pause and unlock to resume, till the surface texture is destroyed user see the old frame (which was rendered before onPause). Followed by gray screen till surface creation and start of preview. It created filckering impact on UI. Fix here is to destroy the surfaceTexure in onPause itself so during next resume user won't see old frame. Change-Id: Id5c787586288de660dc6ad91f3c2ae018761ddd4 CRs-Fixed: 566255
Diffstat (limited to 'src/com/android/camera/ui/FilmStripView.java')
-rw-r--r--src/com/android/camera/ui/FilmStripView.java15
1 files changed, 15 insertions, 0 deletions
diff --git a/src/com/android/camera/ui/FilmStripView.java b/src/com/android/camera/ui/FilmStripView.java
index 074f80b8a..d2695b5a4 100644
--- a/src/com/android/camera/ui/FilmStripView.java
+++ b/src/com/android/camera/ui/FilmStripView.java
@@ -408,6 +408,8 @@ public class FilmStripView extends ViewGroup implements BottomControlsListener {
public void goToFilmStrip();
public void goToFullScreen();
+
+ public void clearSurfaceViews();
}
/**
@@ -2330,6 +2332,19 @@ public class FilmStripView extends ViewGroup implements BottomControlsListener {
scaleTo(1f, GEOMETRY_ADJUST_TIME_MS);
}
+ @Override
+ public void clearSurfaceViews() {
+ for(ViewItem item: mViewItem) {
+ if (item == null) {
+ continue;
+ }
+ View v = item.getView();
+ if (v != mCameraView) {
+ removeView(v);
+ }
+ }
+ }
+
private void cancelFlingAnimation() {
// Cancels flinging for zoomed images
if (isFlingAnimationRunning()) {