summaryrefslogtreecommitdiffstats
path: root/src/com/android/gallery3d/ui
diff options
context:
space:
mode:
authorChih-Chung Chang <chihchung@google.com>2012-05-22 21:26:36 -0700
committerChih-Chung Chang <chihchung@google.com>2012-05-22 21:57:55 -0700
commitedada7ca2b7c70c5459cbe488c1a16cc186f2bf0 (patch)
tree0a6222015196d727e836038ecbcca0516714adaf /src/com/android/gallery3d/ui
parent5c64aba0315281a67894b7d772e128e0bb6bea01 (diff)
downloadandroid_packages_apps_Gallery2-edada7ca2b7c70c5459cbe488c1a16cc186f2bf0.tar.gz
android_packages_apps_Gallery2-edada7ca2b7c70c5459cbe488c1a16cc186f2bf0.tar.bz2
android_packages_apps_Gallery2-edada7ca2b7c70c5459cbe488c1a16cc186f2bf0.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/com/android/gallery3d/ui')
-rw-r--r--src/com/android/gallery3d/ui/GLRootView.java17
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;