From 043a6b1e5709c46cb8094766c792ec57d3fd97df Mon Sep 17 00:00:00 2001 From: Romain Guy Date: Tue, 27 Sep 2011 15:37:54 -0700 Subject: [PATCH] Don't use OpenGL ES 2.0 to render the wallpaper on the emulator. Bug #5352896 The emulator doesn't support OpenGL ES 2.0. Change-Id: I7f647d78d4d8ad87d12a5f009d5d37f6aeaecf72 --- .../src/com/android/systemui/ImageWallpaper.java | 15 ++++++++++++--- 1 file changed, 12 insertions(+), 3 deletions(-) diff --git a/packages/SystemUI/src/com/android/systemui/ImageWallpaper.java b/packages/SystemUI/src/com/android/systemui/ImageWallpaper.java index 492f3c245349c..bf1ec257856f8 100644 --- a/packages/SystemUI/src/com/android/systemui/ImageWallpaper.java +++ b/packages/SystemUI/src/com/android/systemui/ImageWallpaper.java @@ -26,6 +26,7 @@ import android.graphics.Canvas; import android.graphics.Rect; import android.graphics.Region.Op; import android.opengl.GLUtils; +import android.os.SystemProperties; import android.renderscript.Matrix4f; import android.service.wallpaper.WallpaperService; import android.util.Log; @@ -56,6 +57,7 @@ public class ImageWallpaper extends WallpaperService { private static final String TAG = "ImageWallpaper"; private static final String GL_LOG_TAG = "ImageWallpaperGL"; private static final boolean DEBUG = false; + private static final String PROPERTY_KERNEL_QEMU = "ro.kernel.qemu"; static final boolean FIXED_SIZED_SURFACE = true; static final boolean USE_OPENGL = true; @@ -71,12 +73,19 @@ public class ImageWallpaper extends WallpaperService { //noinspection PointlessBooleanExpression,ConstantConditions if (FIXED_SIZED_SURFACE && USE_OPENGL) { - WindowManager windowManager = (WindowManager) getSystemService(Context.WINDOW_SERVICE); - Display display = windowManager.getDefaultDisplay(); - mIsHwAccelerated = ActivityManager.isHighEndGfx(display); + if (!isEmulator()) { + WindowManager windowManager = + (WindowManager) getSystemService(Context.WINDOW_SERVICE); + Display display = windowManager.getDefaultDisplay(); + mIsHwAccelerated = ActivityManager.isHighEndGfx(display); + } } } + private static boolean isEmulator() { + return "1".equals(SystemProperties.get(PROPERTY_KERNEL_QEMU, "0")); + } + public Engine onCreateEngine() { return new DrawableEngine(); }