diff options
| author | Chih-Chung Chang <chihchung@google.com> | 2012-05-23 10:54:16 -0700 |
|---|---|---|
| committer | Android (Google) Code Review <android-gerrit@google.com> | 2012-05-23 10:54:16 -0700 |
| commit | 6673c21275772af55c9ae72cd78cbbe710edc023 (patch) | |
| tree | 69297e2446bafd66c5bc306781e92dab0571761b | |
| parent | 13188c884a93f6086cbf4e860fb6dfcbc44c6e13 (diff) | |
| parent | edada7ca2b7c70c5459cbe488c1a16cc186f2bf0 (diff) | |
| download | android_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.xml | 6 | ||||
| -rw-r--r-- | res/layout/dialog_picker.xml | 3 | ||||
| -rw-r--r-- | res/layout/gl_root_group.xml | 26 | ||||
| -rw-r--r-- | res/layout/main.xml | 9 | ||||
| -rw-r--r-- | src/com/android/gallery3d/ui/GLRootView.java | 17 |
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; |
