summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorChih-Chung Chang <chihchung@google.com>2012-05-23 10:54:16 -0700
committerAndroid (Google) Code Review <android-gerrit@google.com>2012-05-23 10:54:16 -0700
commit6673c21275772af55c9ae72cd78cbbe710edc023 (patch)
tree69297e2446bafd66c5bc306781e92dab0571761b
parent13188c884a93f6086cbf4e860fb6dfcbc44c6e13 (diff)
parentedada7ca2b7c70c5459cbe488c1a16cc186f2bf0 (diff)
downloadandroid_packages_apps_Gallery2-6673c21275772af55c9ae72cd78cbbe710edc023.tar.gz
android_packages_apps_Gallery2-6673c21275772af55c9ae72cd78cbbe710edc023.tar.bz2
android_packages_apps_Gallery2-6673c21275772af55c9ae72cd78cbbe710edc023.zip
Merge "Put a black View in front of SurfaceView." into jb-dev
-rw-r--r--res/layout/cropimage.xml6
-rw-r--r--res/layout/dialog_picker.xml3
-rw-r--r--res/layout/gl_root_group.xml26
-rw-r--r--res/layout/main.xml9
-rw-r--r--src/com/android/gallery3d/ui/GLRootView.java17
5 files changed, 46 insertions, 15 deletions
diff --git a/res/layout/cropimage.xml b/res/layout/cropimage.xml
index aefebe82d..c434fb6a6 100644
--- a/res/layout/cropimage.xml
+++ b/res/layout/cropimage.xml
@@ -17,9 +17,5 @@
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent">
- <view class="com.android.gallery3d.ui.GLRootView"
- android:id="@+id/gl_root_view"
- android:background="@null"
- android:layout_width="match_parent"
- android:layout_height="match_parent" />
+ <include layout="@layout/gl_root_group"/>
</FrameLayout>
diff --git a/res/layout/dialog_picker.xml b/res/layout/dialog_picker.xml
index ba3f500f1..4a625a10b 100644
--- a/res/layout/dialog_picker.xml
+++ b/res/layout/dialog_picker.xml
@@ -18,8 +18,7 @@
android:orientation="vertical"
android:layout_width="match_parent"
android:layout_height="match_parent">
- <com.android.gallery3d.ui.GLRootView
- android:id="@+id/gl_root_view"
+ <include layout="@layout/gl_root_group"
android:layout_weight="1"
android:layout_height="0dp"
android:layout_width="match_parent"/>
diff --git a/res/layout/gl_root_group.xml b/res/layout/gl_root_group.xml
new file mode 100644
index 000000000..76ff33b73
--- /dev/null
+++ b/res/layout/gl_root_group.xml
@@ -0,0 +1,26 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Copyright (C) 2012 The Android Open Source Project
+
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+-->
+
+<merge xmlns:android="http://schemas.android.com/apk/res/android">
+ <com.android.gallery3d.ui.GLRootView
+ android:id="@+id/gl_root_view"
+ android:layout_width="match_parent"
+ android:layout_height="match_parent"/>
+ <View android:id="@+id/gl_root_cover"
+ android:layout_width="match_parent"
+ android:layout_height="match_parent"
+ android:background="@android:color/black"/>
+</merge>
diff --git a/res/layout/main.xml b/res/layout/main.xml
index 7dfe57a2d..d36730146 100644
--- a/res/layout/main.xml
+++ b/res/layout/main.xml
@@ -4,14 +4,7 @@
android:orientation="vertical"
android:layout_width="match_parent"
android:layout_height="match_parent">
- <com.android.gallery3d.ui.GLRootView
- android:id="@+id/gl_root_view"
- android:layout_width="match_parent"
- android:layout_height="match_parent"
- android:layout_alignParentBottom="true"
- android:layout_alignParentLeft="true"
- android:layout_alignParentRight="true"
- android:layout_alignParentTop="true"/>
+ <include layout="@layout/gl_root_group"/>
<FrameLayout android:id="@+id/footer"
android:visibility="gone"
android:layout_alignParentBottom="true"
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;