summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--core/java/android/app/ActivityManager.java3
-rw-r--r--core/java/android/view/HardwareRenderer.java5
-rw-r--r--core/jni/android_view_DisplayListCanvas.cpp11
-rw-r--r--packages/SettingsProvider/res/values/defaults.xml1
-rw-r--r--packages/SettingsProvider/src/com/android/providers/settings/DatabaseHelper.java13
-rw-r--r--packages/SystemUI/src/com/android/systemui/ImageWallpaper.java7
-rw-r--r--services/core/java/com/android/server/connectivity/NetworkMonitor.java3
-rw-r--r--services/core/java/com/android/server/wm/ScreenRotationAnimation.java3
8 files changed, 29 insertions, 17 deletions
diff --git a/core/java/android/app/ActivityManager.java b/core/java/android/app/ActivityManager.java
index 0ae9187..5fc3437 100644
--- a/core/java/android/app/ActivityManager.java
+++ b/core/java/android/app/ActivityManager.java
@@ -529,7 +529,8 @@ public class ActivityManager {
static public boolean isHighEndGfx() {
return (!isLowRamDeviceStatic() &&
!Resources.getSystem().getBoolean(com.android.internal.R.bool.config_avoidGfxAccel))
- || isForcedHighEndGfx();
+ || isForcedHighEndGfx()
+ || "0".equals(SystemProperties.get("ro.softwaregl", "0"));
}
/**
diff --git a/core/java/android/view/HardwareRenderer.java b/core/java/android/view/HardwareRenderer.java
index 5e58250..f67bb9c 100644
--- a/core/java/android/view/HardwareRenderer.java
+++ b/core/java/android/view/HardwareRenderer.java
@@ -19,6 +19,7 @@ package android.view;
import android.content.Context;
import android.graphics.Bitmap;
import android.graphics.Rect;
+import android.os.SystemProperties;
import android.view.Surface.OutOfResourcesException;
import java.io.File;
@@ -161,14 +162,14 @@ public abstract class HardwareRenderer {
*
* @hide
*/
- public static boolean sRendererDisabled = false;
+ public static boolean sRendererDisabled = SystemProperties.get("ro.softwaregl").equals("1") ? true : false;
/**
* Further hardware renderer disabling for the system process.
*
* @hide
*/
- public static boolean sSystemRendererDisabled = false;
+ public static boolean sSystemRendererDisabled = SystemProperties.get("ro.softwaregl").equals("1") ? true : false;
private boolean mEnabled;
private boolean mRequested = true;
diff --git a/core/jni/android_view_DisplayListCanvas.cpp b/core/jni/android_view_DisplayListCanvas.cpp
index ef1e4ab..fedb37d 100644
--- a/core/jni/android_view_DisplayListCanvas.cpp
+++ b/core/jni/android_view_DisplayListCanvas.cpp
@@ -222,14 +222,19 @@ static void android_view_DisplayListCanvas_drawLayer(JNIEnv* env, jobject clazz,
static jboolean android_view_DisplayListCanvas_isAvailable(JNIEnv* env, jobject clazz) {
char prop[PROPERTY_VALUE_MAX];
- if (property_get("ro.kernel.qemu", prop, NULL) == 0) {
- // not in the emulator
+ char software_rendering[PROPERTY_VALUE_MAX];
+
+ property_get("ro.softwaregl", software_rendering, "0");
+
+ if (property_get("ro.kernel.qemu", prop, NULL) == 0 && !atoi(software_rendering)) {
+ // not in the emulator and device has hardware acceleration
return JNI_TRUE;
}
+
// In the emulator this property will be set to 1 when hardware GLES is
// enabled, 0 otherwise. On old emulator versions it will be undefined.
property_get("ro.kernel.qemu.gles", prop, "0");
- return atoi(prop) == 1 ? JNI_TRUE : JNI_FALSE;
+ return (atoi(prop) == 1 && !atoi(software_rendering)) ? JNI_TRUE : JNI_FALSE;
}
// ----------------------------------------------------------------------------
diff --git a/packages/SettingsProvider/res/values/defaults.xml b/packages/SettingsProvider/res/values/defaults.xml
index 76b7d6f..d9402fc 100644
--- a/packages/SettingsProvider/res/values/defaults.xml
+++ b/packages/SettingsProvider/res/values/defaults.xml
@@ -41,6 +41,7 @@
<bool name="def_screen_brightness_automatic_mode">false</bool>
<fraction name="def_window_animation_scale">100%</fraction>
<fraction name="def_window_transition_scale">100%</fraction>
+ <fraction name="def_animator_duration_scale">100%</fraction>
<bool name="def_haptic_feedback">true</bool>
<bool name="def_dozeEnabledByDefault">false</bool>
diff --git a/packages/SettingsProvider/src/com/android/providers/settings/DatabaseHelper.java b/packages/SettingsProvider/src/com/android/providers/settings/DatabaseHelper.java
index f5f8ce6..858baa5 100644
--- a/packages/SettingsProvider/src/com/android/providers/settings/DatabaseHelper.java
+++ b/packages/SettingsProvider/src/com/android/providers/settings/DatabaseHelper.java
@@ -427,7 +427,6 @@ class DatabaseHelper extends SQLiteOpenHelper {
+ Settings.System.TRANSITION_ANIMATION_SCALE + "'");
stmt = db.compileStatement("INSERT INTO system(name,value)"
+ " VALUES(?,?);");
- loadDefaultAnimationSettings(stmt);
db.setTransactionSuccessful();
} finally {
db.endTransaction();
@@ -558,7 +557,6 @@ class DatabaseHelper extends SQLiteOpenHelper {
+ Settings.System.TRANSITION_ANIMATION_SCALE + "'");
stmt = db.compileStatement("INSERT INTO system(name,value)"
+ " VALUES(?,?);");
- loadDefaultAnimationSettings(stmt);
db.setTransactionSuccessful();
} finally {
db.endTransaction();
@@ -964,7 +962,6 @@ class DatabaseHelper extends SQLiteOpenHelper {
+ Settings.System.TRANSITION_ANIMATION_SCALE + "'");
stmt = db.compileStatement("INSERT INTO system(name,value)"
+ " VALUES(?,?);");
- loadDefaultAnimationSettings(stmt);
db.setTransactionSuccessful();
} finally {
db.endTransaction();
@@ -2574,8 +2571,6 @@ class DatabaseHelper extends SQLiteOpenHelper {
loadBooleanSetting(stmt, Settings.System.SCREEN_BRIGHTNESS_MODE,
R.bool.def_screen_brightness_automatic_mode);
- loadDefaultAnimationSettings(stmt);
-
loadBooleanSetting(stmt, Settings.System.ACCELEROMETER_ROTATION,
R.bool.def_accelerometer_rotation);
@@ -2628,10 +2623,12 @@ class DatabaseHelper extends SQLiteOpenHelper {
}
private void loadDefaultAnimationSettings(SQLiteStatement stmt) {
- loadFractionSetting(stmt, Settings.System.WINDOW_ANIMATION_SCALE,
+ loadFractionSetting(stmt, Settings.Global.WINDOW_ANIMATION_SCALE,
R.fraction.def_window_animation_scale, 1);
- loadFractionSetting(stmt, Settings.System.TRANSITION_ANIMATION_SCALE,
+ loadFractionSetting(stmt, Settings.Global.TRANSITION_ANIMATION_SCALE,
R.fraction.def_window_transition_scale, 1);
+ loadFractionSetting(stmt, Settings.Global.ANIMATOR_DURATION_SCALE,
+ R.fraction.def_animator_duration_scale, 1);
}
private void loadDefaultHapticSettings(SQLiteStatement stmt) {
@@ -2821,6 +2818,8 @@ class DatabaseHelper extends SQLiteOpenHelper {
loadSetting(stmt, Settings.Global.MODE_RINGER,
AudioManager.RINGER_MODE_NORMAL);
+ loadDefaultAnimationSettings(stmt);
+
// --- Previously in 'secure'
loadBooleanSetting(stmt, Settings.Global.PACKAGE_VERIFIER_ENABLE,
R.bool.def_package_verifier_enable);
diff --git a/packages/SystemUI/src/com/android/systemui/ImageWallpaper.java b/packages/SystemUI/src/com/android/systemui/ImageWallpaper.java
index 5a6f3c9..02d5de8 100644
--- a/packages/SystemUI/src/com/android/systemui/ImageWallpaper.java
+++ b/packages/SystemUI/src/com/android/systemui/ImageWallpaper.java
@@ -60,6 +60,7 @@ public class ImageWallpaper extends WallpaperService {
private static final String GL_LOG_TAG = "ImageWallpaperGL";
private static final boolean DEBUG = false;
private static final String PROPERTY_KERNEL_QEMU = "ro.kernel.qemu";
+ private static final String PROPERTY_RENDERING_SOFTWARE = "ro.softwaregl";
static final boolean FIXED_SIZED_SURFACE = true;
static final boolean USE_OPENGL = true;
@@ -77,7 +78,7 @@ public class ImageWallpaper extends WallpaperService {
//noinspection PointlessBooleanExpression,ConstantConditions
if (FIXED_SIZED_SURFACE && USE_OPENGL) {
- if (!isEmulator()) {
+ if (!isEmulator() && !needsSoftwareRendering()) {
mIsHwAccelerated = ActivityManager.isHighEndGfx();
}
}
@@ -94,6 +95,10 @@ public class ImageWallpaper extends WallpaperService {
return "1".equals(SystemProperties.get(PROPERTY_KERNEL_QEMU, "0"));
}
+ private static boolean needsSoftwareRendering() {
+ return "1".equals(SystemProperties.get(PROPERTY_RENDERING_SOFTWARE, "0"));
+ }
+
@Override
public Engine onCreateEngine() {
mEngine = new DrawableEngine();
diff --git a/services/core/java/com/android/server/connectivity/NetworkMonitor.java b/services/core/java/com/android/server/connectivity/NetworkMonitor.java
index 5108564..5b632d6 100644
--- a/services/core/java/com/android/server/connectivity/NetworkMonitor.java
+++ b/services/core/java/com/android/server/connectivity/NetworkMonitor.java
@@ -270,9 +270,6 @@ public class NetworkMonitor extends StateMachine {
mLingerDelayMs = SystemProperties.getInt(LINGER_DELAY_PROPERTY, DEFAULT_LINGER_DELAY_MS);
- mIsCaptivePortalCheckEnabled = Settings.Global.getInt(mContext.getContentResolver(),
- Settings.Global.CAPTIVE_PORTAL_DETECTION_ENABLED, 1) == 1;
-
start();
}
diff --git a/services/core/java/com/android/server/wm/ScreenRotationAnimation.java b/services/core/java/com/android/server/wm/ScreenRotationAnimation.java
index 7e5c807..36a2474 100644
--- a/services/core/java/com/android/server/wm/ScreenRotationAnimation.java
+++ b/services/core/java/com/android/server/wm/ScreenRotationAnimation.java
@@ -260,6 +260,9 @@ class ScreenRotationAnimation {
if (isSecure) {
flags |= SurfaceControl.SECURE;
}
+ if (android.os.SystemProperties.get("ro.softwaregl").equals("1")) {
+ flags |= SurfaceControl.FX_SURFACE_DIM;
+ }
if (WindowManagerService.DEBUG_SURFACE_TRACE) {
mSurfaceControl = new SurfaceTrace(session, "ScreenshotSurface",