diff options
Diffstat (limited to 'core')
-rw-r--r-- | core/java/android/os/IPowerManager.aidl | 1 | ||||
-rw-r--r-- | core/java/android/os/PowerManager.java | 17 | ||||
-rw-r--r-- | core/res/AndroidManifest.xml | 4 |
3 files changed, 19 insertions, 3 deletions
diff --git a/core/java/android/os/IPowerManager.aidl b/core/java/android/os/IPowerManager.aidl index b9dc860..0229864 100644 --- a/core/java/android/os/IPowerManager.aidl +++ b/core/java/android/os/IPowerManager.aidl @@ -32,6 +32,7 @@ interface IPowerManager void preventScreenOn(boolean prevent); void setScreenBrightnessOverride(int brightness); boolean isScreenOn(); + void reboot(String reason); // sets the brightness of the backlights (screen, keyboard, button) 0-255 void setBacklightBrightness(int brightness); diff --git a/core/java/android/os/PowerManager.java b/core/java/android/os/PowerManager.java index 4b3b6f6..ffdb27c 100644 --- a/core/java/android/os/PowerManager.java +++ b/core/java/android/os/PowerManager.java @@ -465,6 +465,22 @@ public class PowerManager } } + /** + * Reboot the device. Will not return if the reboot is + * successful. Requires the {@link android.Manifest#REBOOT} + * permission. + * + * @param reason code to pass to the kernel (e.g., "recovery") to + * request special boot modes, or null. + */ + public void reboot(String reason) + { + try { + mService.reboot(reason); + } catch (RemoteException e) { + } + } + private PowerManager() { } @@ -488,4 +504,3 @@ public class PowerManager IPowerManager mService; Handler mHandler; } - diff --git a/core/res/AndroidManifest.xml b/core/res/AndroidManifest.xml index 22716b8..8047436 100644 --- a/core/res/AndroidManifest.xml +++ b/core/res/AndroidManifest.xml @@ -943,7 +943,7 @@ <permission android:name="android.permission.DELETE_CACHE_FILES" android:label="@string/permlab_deleteCacheFiles" android:description="@string/permdesc_deleteCacheFiles" - android:protectionLevel="signature" /> + android:protectionLevel="signatureOrSystem" /> <!-- Allows an application to delete packages. --> <permission android:name="android.permission.DELETE_PACKAGES" @@ -981,7 +981,7 @@ <permission android:name="android.permission.REBOOT" android:label="@string/permlab_reboot" android:description="@string/permdesc_reboot" - android:protectionLevel="signature" /> + android:protectionLevel="signatureOrSystem" /> <!-- Allows low-level access to power management --> <permission android:name="android.permission.DEVICE_POWER" |