diff options
author | Eric Olsen <eolsen@android.com> | 2009-10-29 16:42:03 -0700 |
---|---|---|
committer | Eric Olsen <eolsen@android.com> | 2009-11-04 14:31:26 -0800 |
commit | f42f15cf450772d8eeb9c0c81a8403d33ffe1c9b (patch) | |
tree | 432beda7f272da18a3eff3c76cdbb04edc18b917 /services/java/com/android/server/HardwareService.java | |
parent | 5fc71e67498ed64ad2d41c23471b008f93cb580e (diff) |
Add support for colored LED on jogball backlight.
Signed-off-by: Eric Olsen <eolsen@android.com>
Diffstat (limited to 'services/java/com/android/server/HardwareService.java')
-rwxr-xr-x | services/java/com/android/server/HardwareService.java | 39 |
1 files changed, 23 insertions, 16 deletions
diff --git a/services/java/com/android/server/HardwareService.java b/services/java/com/android/server/HardwareService.java index b1d58ce8d1b0..0446a9edbae9 100755 --- a/services/java/com/android/server/HardwareService.java +++ b/services/java/com/android/server/HardwareService.java @@ -52,6 +52,7 @@ public class HardwareService extends IHardwareService.Stub { static final int LIGHT_FLASH_NONE = 0; static final int LIGHT_FLASH_TIMED = 1; + static final int LIGHT_FLASH_HARDWARE = 2; private final LinkedList<Vibration> mVibrations; private Vibration mCurrentVibration; @@ -125,7 +126,7 @@ public class HardwareService extends IHardwareService.Stub { mVibrations = new LinkedList<Vibration>(); mBatteryStats = BatteryStatsService.getService(); - + IntentFilter filter = new IntentFilter(); filter.addAction(Intent.ACTION_SCREEN_OFF); context.registerReceiver(mIntentReceiver, filter); @@ -239,15 +240,15 @@ public class HardwareService extends IHardwareService.Stub { Binder.restoreCallingIdentity(identity); } } - + public boolean getFlashlightEnabled() { return Hardware.getFlashlightEnabled(); } - + public void setFlashlightEnabled(boolean on) { - if (mContext.checkCallingOrSelfPermission(android.Manifest.permission.FLASHLIGHT) + if (mContext.checkCallingOrSelfPermission(android.Manifest.permission.FLASHLIGHT) != PackageManager.PERMISSION_GRANTED && - mContext.checkCallingOrSelfPermission(android.Manifest.permission.HARDWARE_TEST) + mContext.checkCallingOrSelfPermission(android.Manifest.permission.HARDWARE_TEST) != PackageManager.PERMISSION_GRANTED) { throw new SecurityException("Requires FLASHLIGHT or HARDWARE_TEST permission"); } @@ -255,9 +256,9 @@ public class HardwareService extends IHardwareService.Stub { } public void enableCameraFlash(int milliseconds) { - if (mContext.checkCallingOrSelfPermission(android.Manifest.permission.CAMERA) + if (mContext.checkCallingOrSelfPermission(android.Manifest.permission.CAMERA) != PackageManager.PERMISSION_GRANTED && - mContext.checkCallingOrSelfPermission(android.Manifest.permission.HARDWARE_TEST) + mContext.checkCallingOrSelfPermission(android.Manifest.permission.HARDWARE_TEST) != PackageManager.PERMISSION_GRANTED) { throw new SecurityException("Requires CAMERA or HARDWARE_TEST permission"); } @@ -282,13 +283,19 @@ public class HardwareService extends IHardwareService.Stub { setLight_native(mNativePointer, light, color, mode, onMS, offMS); } - public void setAttentionLight(boolean on) { + void setAutoBrightness_UNCHECKED(boolean on) { + if (mAutoBrightnessAvailable) { + setAutoBrightness_native(mNativePointer, on); + } + } + + public void setAttentionLight(boolean on, int color) { // Not worthy of a permission. We shouldn't have a flashlight permission. synchronized (this) { mAttentionLightOn = on; mPulsing = false; - setLight_native(mNativePointer, LIGHT_ID_ATTENTION, on ? 0xffffffff : 0, - LIGHT_FLASH_NONE, 0, 0); + setLight_native(mNativePointer, LIGHT_ID_ATTENTION, color, + LIGHT_FLASH_HARDWARE, on ? 3 : 0, 0); } } @@ -302,8 +309,8 @@ public class HardwareService extends IHardwareService.Stub { } if (!mAttentionLightOn && !mPulsing) { mPulsing = true; - setLight_native(mNativePointer, LIGHT_ID_ATTENTION, 0xff101010, - LIGHT_FLASH_NONE, 0, 0); + setLight_native(mNativePointer, LIGHT_ID_ATTENTION, 0x00ffffff, + LIGHT_FLASH_HARDWARE, 7, 0); mH.sendMessageDelayed(Message.obtain(mH, 1), 3000); } } @@ -391,7 +398,7 @@ public class HardwareService extends IHardwareService.Stub { private class VibrateThread extends Thread { final Vibration mVibration; boolean mDone; - + VibrateThread(Vibration vib) { mVibration = vib; mWakeLock.acquire(); @@ -425,7 +432,7 @@ public class HardwareService extends IHardwareService.Stub { long duration = 0; while (!mDone) { - // add off-time duration to any accumulated on-time duration + // add off-time duration to any accumulated on-time duration if (index < len) { duration += pattern[index++]; } @@ -478,7 +485,7 @@ public class HardwareService extends IHardwareService.Stub { } } }; - + private static native int init_native(); private static native void finalize_native(int ptr); @@ -489,7 +496,7 @@ public class HardwareService extends IHardwareService.Stub { private final PowerManager.WakeLock mWakeLock; private final IBatteryStats mBatteryStats; - + volatile VibrateThread mThread; private int mNativePointer; |