diff options
author | Daniel Sandler <dsandler@google.com> | 2011-07-26 10:21:24 -0700 |
---|---|---|
committer | Android (Google) Code Review <android-gerrit@google.com> | 2011-07-26 10:21:24 -0700 |
commit | 4e69214f4d68974139f75ba53b1a8443dca286dc (patch) | |
tree | 385c1065f22e6172e738ed53d0c10cbf249a3969 | |
parent | e2234add84ca159150d112e47fca2d4737542944 (diff) | |
parent | 7198662bb3c81a761fdfa3038d90df68d22c0b97 (diff) | |
download | frameworks_base-4e69214f4d68974139f75ba53b1a8443dca286dc.zip frameworks_base-4e69214f4d68974139f75ba53b1a8443dca286dc.tar.gz frameworks_base-4e69214f4d68974139f75ba53b1a8443dca286dc.tar.bz2 |
Merge "Play the low-battery sound only at certain discharge events."
-rw-r--r-- | packages/SystemUI/src/com/android/systemui/power/PowerUI.java | 28 |
1 files changed, 22 insertions, 6 deletions
diff --git a/packages/SystemUI/src/com/android/systemui/power/PowerUI.java b/packages/SystemUI/src/com/android/systemui/power/PowerUI.java index a549f51..fe7d5aa 100644 --- a/packages/SystemUI/src/com/android/systemui/power/PowerUI.java +++ b/packages/SystemUI/src/com/android/systemui/power/PowerUI.java @@ -45,6 +45,8 @@ import com.android.systemui.SystemUI; public class PowerUI extends SystemUI { static final String TAG = "PowerUI"; + static final boolean DEBUG = false; + Handler mHandler = new Handler(); int mBatteryLevel = 100; @@ -122,7 +124,7 @@ public class PowerUI extends SystemUI { int oldBucket = findBatteryLevelBucket(oldBatteryLevel); int bucket = findBatteryLevelBucket(mBatteryLevel); - if (false) { + if (DEBUG) { Slog.d(TAG, "buckets ....." + mLowBatteryAlertCloseLevel + " .. " + mLowBatteryReminderLevels[0] + " .. " + mLowBatteryReminderLevels[1]); @@ -149,8 +151,12 @@ public class PowerUI extends SystemUI { && (bucket < oldBucket || oldPlugged) && mBatteryStatus != BatteryManager.BATTERY_STATUS_UNKNOWN && bucket < 0) { - Slog.i(TAG, "showing low battery warning: level=" + mBatteryLevel); showLowBatteryWarning(); + + // only play SFX when the dialog comes up or the bucket changes + if (bucket != oldBucket || oldPlugged) { + playLowBatterySound(); + } } else if (plugged || (bucket > oldBucket && bucket > 0)) { dismissLowBatteryWarning(); } else if (mBatteryLevelTextView != null) { @@ -170,6 +176,11 @@ public class PowerUI extends SystemUI { } void showLowBatteryWarning() { + Slog.i(TAG, + ((mBatteryLevelTextView == null) ? "showing" : "updating") + + " low battery warning: level=" + mBatteryLevel + + " [" + findBatteryLevelBucket(mBatteryLevel) + "]"); + CharSequence levelText = mContext.getString( R.string.battery_low_percent_format, mBatteryLevel); @@ -198,9 +209,7 @@ public class PowerUI extends SystemUI { new DialogInterface.OnClickListener() { public void onClick(DialogInterface dialog, int which) { mContext.startActivity(intent); - if (mLowBatteryDialog != null) { - mLowBatteryDialog.dismiss(); - } + dismissLowBatteryWarning(); } }); } @@ -216,6 +225,12 @@ public class PowerUI extends SystemUI { d.show(); mLowBatteryDialog = d; } + } + + void playLowBatterySound() { + if (DEBUG) { + Slog.i(TAG, "playing low battery sound. WOMP-WOMP!"); + } final ContentResolver cr = mContext.getContentResolver(); if (Settings.System.getInt(cr, Settings.System.POWER_SOUNDS_ENABLED, 1) == 1) { @@ -236,12 +251,13 @@ public class PowerUI extends SystemUI { void dismissInvalidChargerDialog() { if (mInvalidChargerDialog != null) { - Slog.d(TAG, "closing invalid charger warning"); mInvalidChargerDialog.dismiss(); } } void showInvalidChargerDialog() { + Slog.d(TAG, "showing invalid charger dialog"); + dismissLowBatteryWarning(); AlertDialog.Builder b = new AlertDialog.Builder(mContext); |