diff options
author | Dianne Hackborn <hackbod@google.com> | 2010-08-13 15:56:29 -0700 |
---|---|---|
committer | Android (Google) Code Review <android-gerrit@google.com> | 2010-08-13 15:56:29 -0700 |
commit | a8d9291d7f93d1aa0d24d71d65c7de2894812177 (patch) | |
tree | d76cdebcb35c20f0e76e34f59b0ff8e40c3e703e /tests | |
parent | e05184f271f9882a5bf828e353aea40e0c06ff69 (diff) | |
parent | 9adb9c3b10991ef315c270993f4155709c8a232d (diff) | |
download | frameworks_base-a8d9291d7f93d1aa0d24d71d65c7de2894812177.zip frameworks_base-a8d9291d7f93d1aa0d24d71d65c7de2894812177.tar.gz frameworks_base-a8d9291d7f93d1aa0d24d71d65c7de2894812177.tar.bz2 |
Merge "Various battery info things:" into gingerbread
Diffstat (limited to 'tests')
-rw-r--r-- | tests/BatteryWaster/res/layout/battery_waster.xml | 10 | ||||
-rw-r--r-- | tests/BatteryWaster/res/values/strings.xml | 2 | ||||
-rw-r--r-- | tests/BatteryWaster/src/com/android/batterywaster/BatteryWaster.java | 67 |
3 files changed, 67 insertions, 12 deletions
diff --git a/tests/BatteryWaster/res/layout/battery_waster.xml b/tests/BatteryWaster/res/layout/battery_waster.xml index e1cb6bf..36aa68b 100644 --- a/tests/BatteryWaster/res/layout/battery_waster.xml +++ b/tests/BatteryWaster/res/layout/battery_waster.xml @@ -30,6 +30,16 @@ android:text="@string/waste_away" /> + <CheckBox android:id="@+id/checkbox_wake" + android:layout_width="match_parent" + android:layout_height="wrap_content" + android:layout_marginLeft="25dp" + android:layout_marginTop="25dp" + android:textSize="18sp" + android:textColor="#ffffffff" + android:text="@string/wake_away" + /> + <ScrollView android:id="@+id/scroll" android:layout_width="match_parent" android:layout_height="0px" diff --git a/tests/BatteryWaster/res/values/strings.xml b/tests/BatteryWaster/res/values/strings.xml index 46c5fa1..a3b849a 100644 --- a/tests/BatteryWaster/res/values/strings.xml +++ b/tests/BatteryWaster/res/values/strings.xml @@ -18,5 +18,7 @@ <string name="waste_away">Discharge my battery!</string> + <string name="wake_away">Keep my device awake!</string> + </resources> diff --git a/tests/BatteryWaster/src/com/android/batterywaster/BatteryWaster.java b/tests/BatteryWaster/src/com/android/batterywaster/BatteryWaster.java index 8ea7e00..499330f 100644 --- a/tests/BatteryWaster/src/com/android/batterywaster/BatteryWaster.java +++ b/tests/BatteryWaster/src/com/android/batterywaster/BatteryWaster.java @@ -41,6 +41,8 @@ public class BatteryWaster extends Activity { PowerManager.WakeLock mWakeLock; SpinThread mThread; + boolean mWasting, mWaking; + @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); @@ -50,6 +52,7 @@ public class BatteryWaster extends Activity { setContentView(R.layout.battery_waster); findViewById(R.id.checkbox).setOnClickListener(mClickListener); + findViewById(R.id.checkbox_wake).setOnClickListener(mWakeClickListener); mLog = (TextView)findViewById(R.id.log); mDateFormat = DateFormat.getInstance(); @@ -67,9 +70,18 @@ public class BatteryWaster extends Activity { @Override public void onPause() { + super.onPause(); stopRunning(); } + @Override + public void onDestroy() { + super.onDestroy(); + if (mWakeLock.isHeld()) { + mWakeLock.release(); + } + } + View.OnClickListener mClickListener = new View.OnClickListener() { public void onClick(View v) { CheckBox checkbox = (CheckBox)v; @@ -81,23 +93,54 @@ public class BatteryWaster extends Activity { } }; + View.OnClickListener mWakeClickListener = new View.OnClickListener() { + public void onClick(View v) { + CheckBox checkbox = (CheckBox)v; + if (checkbox.isChecked()) { + mWaking = true; + updateWakeLock(); + } else { + mWaking = false; + updateWakeLock(); + } + } + }; + void startRunning() { - log("Start"); - registerReceiver(mReceiver, mFilter); - mWakeLock.acquire(); - if (mThread == null) { - mThread = new SpinThread(); - mThread.start(); + if (!mWasting) { + log("Start"); + registerReceiver(mReceiver, mFilter); + mWasting = true; + updateWakeLock(); + if (mThread == null) { + mThread = new SpinThread(); + mThread.start(); + } } } void stopRunning() { - log("Stop"); - unregisterReceiver(mReceiver); - mWakeLock.release(); - if (mThread != null) { - mThread.quit(); - mThread = null; + if (mWasting) { + log("Stop"); + unregisterReceiver(mReceiver); + mWasting = false; + updateWakeLock(); + if (mThread != null) { + mThread.quit(); + mThread = null; + } + } + } + + void updateWakeLock() { + if (mWasting || mWaking) { + if (!mWakeLock.isHeld()) { + mWakeLock.acquire(); + } + } else { + if (mWakeLock.isHeld()) { + mWakeLock.release(); + } } } |