summaryrefslogtreecommitdiffstats
path: root/tests/BatteryWaster
diff options
context:
space:
mode:
authorDianne Hackborn <hackbod@google.com>2010-09-22 22:34:31 -0700
committerDianne Hackborn <hackbod@google.com>2010-09-23 15:59:28 -0700
commit287952c35e148811c106bc0f5036eabf20f71562 (patch)
treebaf7ae1e8a086c6e14138536caa925b2a793ce69 /tests/BatteryWaster
parentf9ec03c0f5fc2c6eba5bbead24c4eb314c0205be (diff)
downloadframeworks_base-287952c35e148811c106bc0f5036eabf20f71562.zip
frameworks_base-287952c35e148811c106bc0f5036eabf20f71562.tar.gz
frameworks_base-287952c35e148811c106bc0f5036eabf20f71562.tar.bz2
Fix issue #3022508: Crash during media scan
Don't kill processes for excessive wake lock use, even if they are in the background, as long as they have running services. Also fix some problems with this, such as not noting the kill in battery stats. And add killing of processes for cpu usage as well, along with some optimizations to computing CPU usage. And fix BatteryWaster to be better behaving for testing these cases. Add new "monitor" command to am to watch as the activity manager does stuff (so we can catch things at the point of ANR). Finally some miscellaneous debug output for the stuff here, as well as in progress debugging of an ANR. Change-Id: Ib32f55ca50fb7486b4be4eb5e695f8f60c882cd1
Diffstat (limited to 'tests/BatteryWaster')
-rw-r--r--tests/BatteryWaster/src/com/android/batterywaster/BatteryWaster.java28
1 files changed, 13 insertions, 15 deletions
diff --git a/tests/BatteryWaster/src/com/android/batterywaster/BatteryWaster.java b/tests/BatteryWaster/src/com/android/batterywaster/BatteryWaster.java
index 48c4520..5fb09a7 100644
--- a/tests/BatteryWaster/src/com/android/batterywaster/BatteryWaster.java
+++ b/tests/BatteryWaster/src/com/android/batterywaster/BatteryWaster.java
@@ -25,6 +25,7 @@ import android.os.BatteryManager;
import android.os.Bundle;
import android.os.PowerManager;
import android.view.View;
+import android.view.WindowManager;
import android.widget.CheckBox;
import android.widget.TextView;
@@ -38,7 +39,6 @@ public class BatteryWaster extends Activity {
TextView mLog;
DateFormat mDateFormat;
IntentFilter mFilter;
- PowerManager.WakeLock mWakeLock;
PowerManager.WakeLock mPartialWakeLock;
SpinThread mThread;
@@ -65,24 +65,26 @@ public class BatteryWaster extends Activity {
mFilter.addAction(Intent.ACTION_POWER_CONNECTED);
PowerManager pm = (PowerManager)getSystemService(POWER_SERVICE);
- mWakeLock = pm.newWakeLock(PowerManager.FULL_WAKE_LOCK, "BatteryWaster");
- mWakeLock.setReferenceCounted(false);
mPartialWakeLock = pm.newWakeLock(PowerManager.PARTIAL_WAKE_LOCK, "BatteryWaster");
mPartialWakeLock.setReferenceCounted(false);
}
@Override
- public void onPause() {
- super.onPause();
- stopRunning();
+ public void onResume() {
+ super.onResume();
+ if (((CheckBox)findViewById(R.id.checkbox)).isChecked()) {
+ startRunning();
+ }
+ if (((CheckBox)findViewById(R.id.checkbox_wake)).isChecked()) {
+ mWaking = true;
+ updateWakeLock();
+ }
}
@Override
public void onDestroy() {
super.onDestroy();
- if (mWakeLock.isHeld()) {
- mWakeLock.release();
- }
+ stopRunning();
if (mPartialWakeLock.isHeld()) {
mPartialWakeLock.release();
}
@@ -140,13 +142,9 @@ public class BatteryWaster extends Activity {
void updateWakeLock() {
if (mWasting) {
- if (!mWakeLock.isHeld()) {
- mWakeLock.acquire();
- }
+ getWindow().addFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON);
} else {
- if (mWakeLock.isHeld()) {
- mWakeLock.release();
- }
+ getWindow().clearFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON);
}
if (mWaking) {
if (!mPartialWakeLock.isHeld()) {