summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMike Lockwood <lockwood@android.com>2009-09-15 14:39:47 -0400
committerMike Lockwood <lockwood@android.com>2009-09-15 15:24:14 -0400
commitcd03f5320d42290b1619933954a344b59dc55f4f (patch)
tree5f9544a5147112e9bc6c47c71b093966dd6508dc
parenta096888f3c7e14723168c323f0ffdb2473adf5d3 (diff)
downloadpackages_apps_settings-cd03f5320d42290b1619933954a344b59dc55f4f.zip
packages_apps_settings-cd03f5320d42290b1619933954a344b59dc55f4f.tar.gz
packages_apps_settings-cd03f5320d42290b1619933954a344b59dc55f4f.tar.bz2
Move backlight brightness from HardwareService to PowerManager
to prevent apps from changing the hardware behind its back. Fixes b/2041941 Lock screen flashes the screen very bright before dimming Change-Id: Ic4faa008357fd3d74225ba90f05801c5127fd8c0 Signed-off-by: Mike Lockwood <lockwood@android.com>
-rw-r--r--AndroidManifest.xml1
-rw-r--r--src/com/android/settings/BrightnessPreference.java18
-rw-r--r--src/com/android/settings/widget/SettingsAppWidgetProvider.java16
3 files changed, 18 insertions, 17 deletions
diff --git a/AndroidManifest.xml b/AndroidManifest.xml
index e61d375..7a1760d 100644
--- a/AndroidManifest.xml
+++ b/AndroidManifest.xml
@@ -6,6 +6,7 @@
<uses-permission android:name="com.google.android.providers.gmail.permission.READ_GMAIL" />
<uses-permission android:name="android.permission.WRITE_SETTINGS" />
<uses-permission android:name="android.permission.WRITE_SECURE_SETTINGS" />
+ <uses-permission android:name="android.permission.DEVICE_POWER" />
<uses-permission android:name="android.permission.CHANGE_CONFIGURATION" />
<uses-permission android:name="android.permission.MOUNT_UNMOUNT_FILESYSTEMS" />
<uses-permission android:name="android.permission.VIBRATE" />
diff --git a/src/com/android/settings/BrightnessPreference.java b/src/com/android/settings/BrightnessPreference.java
index 61d3cf9..e2fe0f2 100644
--- a/src/com/android/settings/BrightnessPreference.java
+++ b/src/com/android/settings/BrightnessPreference.java
@@ -18,7 +18,7 @@ package com.android.settings;
import android.content.Context;
import android.os.RemoteException;
-import android.os.IHardwareService;
+import android.os.IPowerManager;
import android.os.ServiceManager;
import android.preference.SeekBarPreference;
import android.provider.Settings;
@@ -130,10 +130,10 @@ public class BrightnessPreference extends SeekBarPreference implements
private void setBrightness(int brightness) {
try {
- IHardwareService hardware = IHardwareService.Stub.asInterface(
- ServiceManager.getService("hardware"));
- if (hardware != null) {
- hardware.setBacklights(brightness);
+ IPowerManager power = IPowerManager.Stub.asInterface(
+ ServiceManager.getService("power"));
+ if (power != null) {
+ power.setBacklightBrightness(brightness);
}
} catch (RemoteException doe) {
@@ -147,10 +147,10 @@ public class BrightnessPreference extends SeekBarPreference implements
mSeekBar.setVisibility(View.VISIBLE);
}
try {
- IHardwareService hardware = IHardwareService.Stub.asInterface(
- ServiceManager.getService("hardware"));
- if (hardware != null) {
- hardware.setAutoBrightness(automatic != 0);
+ IPowerManager power = IPowerManager.Stub.asInterface(
+ ServiceManager.getService("power"));
+ if (power != null) {
+ power.setAutoBrightness(automatic != 0);
}
} catch (RemoteException doe) {
}
diff --git a/src/com/android/settings/widget/SettingsAppWidgetProvider.java b/src/com/android/settings/widget/SettingsAppWidgetProvider.java
index eddeb63..1f3c9f1 100644
--- a/src/com/android/settings/widget/SettingsAppWidgetProvider.java
+++ b/src/com/android/settings/widget/SettingsAppWidgetProvider.java
@@ -30,7 +30,7 @@ import android.location.LocationManager;
import android.net.ConnectivityManager;
import android.net.Uri;
import android.net.wifi.WifiManager;
-import android.os.IHardwareService;
+import android.os.IPowerManager;
import android.os.RemoteException;
import android.os.ServiceManager;
import android.provider.Settings;
@@ -318,9 +318,9 @@ public class SettingsAppWidgetProvider extends AppWidgetProvider {
*/
private static boolean getBrightness(Context context) {
try {
- IHardwareService hardware = IHardwareService.Stub.asInterface(
- ServiceManager.getService("hardware"));
- if (hardware != null) {
+ IPowerManager power = IPowerManager.Stub.asInterface(
+ ServiceManager.getService("power"));
+ if (power != null) {
int brightness = Settings.System.getInt(context.getContentResolver(),
Settings.System.SCREEN_BRIGHTNESS);
return brightness > 100;
@@ -338,9 +338,9 @@ public class SettingsAppWidgetProvider extends AppWidgetProvider {
*/
private void toggleBrightness(Context context) {
try {
- IHardwareService hardware = IHardwareService.Stub.asInterface(
- ServiceManager.getService("hardware"));
- if (hardware != null) {
+ IPowerManager power = IPowerManager.Stub.asInterface(
+ ServiceManager.getService("power"));
+ if (power != null) {
ContentResolver cr = context.getContentResolver();
int brightness = Settings.System.getInt(cr,
Settings.System.SCREEN_BRIGHTNESS);
@@ -353,7 +353,7 @@ public class SettingsAppWidgetProvider extends AppWidgetProvider {
} else {
brightness = MINIMUM_BACKLIGHT;
}
- hardware.setBacklights(brightness);
+ power.setBacklightBrightness(brightness);
Settings.System.putInt(cr, Settings.System.SCREEN_BRIGHTNESS, brightness);
brightness = Settings.System.getInt(cr,
Settings.System.SCREEN_BRIGHTNESS);