summaryrefslogtreecommitdiffstats
path: root/src
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
commit43edc9c33da294f3b5b97e55a58f5fd608d6209d (patch)
treee8186c19dabfd67fcb3c83aedb39a253ddc4eed6 /src
parent048ca675a9e659fb0d3b150880d71cd42770023d (diff)
downloadandroid_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.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;