diff options
author | Chih-Chung Chang <chihchung@google.com> | 2012-05-22 21:26:36 -0700 |
---|---|---|
committer | Chih-Chung Chang <chihchung@google.com> | 2012-05-22 21:57:55 -0700 |
commit | 43edc9c33da294f3b5b97e55a58f5fd608d6209d (patch) | |
tree | e8186c19dabfd67fcb3c83aedb39a253ddc4eed6 /src | |
parent | 048ca675a9e659fb0d3b150880d71cd42770023d (diff) | |
download | android_packages_apps_Snap-43edc9c33da294f3b5b97e55a58f5fd608d6209d.tar.gz android_packages_apps_Snap-43edc9c33da294f3b5b97e55a58f5fd608d6209d.tar.bz2 android_packages_apps_Snap-43edc9c33da294f3b5b97e55a58f5fd608d6209d.zip |
Put a black View in front of SurfaceView.
This prevents SurfaceView from being transparent before the first draw.
Bug: 6507478
Change-Id: I2170f23d4c9844bfc3854d6120f5e72cc0d591ca
Diffstat (limited to 'src')
-rw-r--r-- | src/com/android/gallery3d/ui/GLRootView.java | 17 |
1 files changed, 17 insertions, 0 deletions
diff --git a/src/com/android/gallery3d/ui/GLRootView.java b/src/com/android/gallery3d/ui/GLRootView.java index f78e6e6bf..99ed8cb42 100644 --- a/src/com/android/gallery3d/ui/GLRootView.java +++ b/src/com/android/gallery3d/ui/GLRootView.java @@ -25,7 +25,9 @@ import android.os.SystemClock; import android.util.AttributeSet; import android.view.MotionEvent; import android.view.SurfaceHolder; +import android.view.View; +import com.android.gallery3d.R; import com.android.gallery3d.anim.CanvasAnimation; import com.android.gallery3d.common.Utils; import com.android.gallery3d.util.GalleryUtils; @@ -104,6 +106,7 @@ public class GLRootView extends GLSurfaceView private long mLastDrawFinishTime; private boolean mInDownState = false; + private boolean mFirstDraw = true; public GLRootView(Context context) { this(context, null); @@ -322,6 +325,20 @@ public class GLRootView extends GLSurfaceView mRenderLock.unlock(); } + // We put a black cover View in front of the SurfaceView and hide it + // after the first draw. This prevents the SurfaceView being transparent + // before the first draw. + if (mFirstDraw) { + mFirstDraw = false; + post(new Runnable() { + public void run() { + View root = getRootView(); + View cover = root.findViewById(R.id.gl_root_cover); + cover.setVisibility(GONE); + } + }); + } + if (DEBUG_PROFILE_SLOW_ONLY) { long t = System.nanoTime(); long durationInMs = (t - mLastDrawFinishTime) / 1000000; |