diff options
| author | Dan Egnor <egnor@google.com> | 2009-12-16 17:10:26 -0800 |
|---|---|---|
| committer | Dan Egnor <egnor@google.com> | 2009-12-21 15:32:57 -0800 |
| commit | 1e9eb6722c8bb06a82b27e1152eec2ea8528cccf (patch) | |
| tree | 5d4a42813ae5b9819278fd0217bf1b2441a39b82 | |
| parent | 55de681445377cb504c615160834a7d6ce332396 (diff) | |
Add some more buttons to Bad Behavior:
- crash system server
- report a Log.wtf()
Update Monkey for changes to IActivityController interface.
| -rw-r--r-- | apps/Development/AndroidManifest.xml | 31 | ||||
| -rw-r--r-- | apps/Development/res/layout/bad_behavior.xml | 10 | ||||
| -rw-r--r-- | apps/Development/res/values/strings.xml | 6 | ||||
| -rw-r--r-- | apps/Development/src/com/android/development/BadBehaviorActivity.java | 25 | ||||
| -rw-r--r-- | cmds/monkey/src/com/android/commands/monkey/Monkey.java | 4 |
5 files changed, 55 insertions, 21 deletions
diff --git a/apps/Development/AndroidManifest.xml b/apps/Development/AndroidManifest.xml index 07a4213b3..fc60edc93 100644 --- a/apps/Development/AndroidManifest.xml +++ b/apps/Development/AndroidManifest.xml @@ -17,28 +17,29 @@ <manifest xmlns:android="http://schemas.android.com/apk/res/android" package="com.android.development" android:versionCode="1" android:versionName="1.0"> - <uses-permission android:name="android.permission.WRITE_SETTINGS" /> + <uses-permission android:name="android.permission.ACCESS_WIFI_STATE" /> + <uses-permission android:name="android.permission.CHANGE_NETWORK_STATE" /> + <uses-permission android:name="android.permission.CHANGE_WIFI_STATE" /> + <uses-permission android:name="android.permission.DEVICE_POWER" /> <uses-permission android:name="android.permission.DUMP" /> - <uses-permission android:name="android.permission.SET_PREFERRED_APPLICATIONS" /> + <uses-permission android:name="android.permission.GET_ACCOUNTS" /> + <uses-permission android:name="android.permission.HARDWARE_TEST" /> + <uses-permission android:name="android.permission.INTERNET" /> + <uses-permission android:name="android.permission.MANAGE_ACCOUNTS" /> + <uses-permission android:name="android.permission.REBOOT" /> <uses-permission android:name="android.permission.RESTART_PACKAGES" /> - <uses-permission android:name="android.permission.SET_ANIMATION_SCALE" /> - <uses-permission android:name="android.permission.SET_PROCESS_LIMIT" /> <uses-permission android:name="android.permission.SET_ALWAYS_FINISH" /> + <uses-permission android:name="android.permission.SET_ANIMATION_SCALE" /> <uses-permission android:name="android.permission.SET_DEBUG_APP" /> - <uses-permission android:name="android.permission.HARDWARE_TEST" /> - <uses-permission android:name="android.permission.INTERNET" /> + <uses-permission android:name="android.permission.SET_PREFERRED_APPLICATIONS" /> + <uses-permission android:name="android.permission.SET_PROCESS_LIMIT" /> + <uses-permission android:name="android.permission.USE_CREDENTIALS" /> + <uses-permission android:name="android.permission.WAKE_LOCK" /> + <uses-permission android:name="android.permission.WRITE_SETTINGS" /> + <uses-permission android:name="com.google.android.googleapps.permission.ACCESS_GOOGLE_PASSWORD" /> <uses-permission android:name="com.google.android.googleapps.permission.GOOGLE_AUTH" /> <uses-permission android:name="com.google.android.googleapps.permission.GOOGLE_AUTH.ALL_SERVICES" /> <uses-permission android:name="com.google.android.googleapps.permission.GOOGLE_AUTH.YouTubeUser" /> - <uses-permission android:name="com.google.android.googleapps.permission.ACCESS_GOOGLE_PASSWORD" /> - <uses-permission android:name="android.permission.GET_ACCOUNTS" /> - <uses-permission android:name="android.permission.USE_CREDENTIALS" /> - <uses-permission android:name="android.permission.MANAGE_ACCOUNTS" /> - <uses-permission android:name="android.permission.ACCESS_WIFI_STATE" /> - <uses-permission android:name="android.permission.CHANGE_WIFI_STATE" /> - <uses-permission android:name="android.permission.WAKE_LOCK" /> - <uses-permission android:name="android.permission.DEVICE_POWER" /> - <uses-permission android:name="android.permission.CHANGE_NETWORK_STATE" /> <application android:label="Dev Tools" android:icon="@drawable/ic_launcher_devtools"> diff --git a/apps/Development/res/layout/bad_behavior.xml b/apps/Development/res/layout/bad_behavior.xml index 62a724502..bbc5b9f06 100644 --- a/apps/Development/res/layout/bad_behavior.xml +++ b/apps/Development/res/layout/bad_behavior.xml @@ -19,6 +19,11 @@ android:layout_width="fill_parent" android:layout_height="fill_parent"> + <Button android:id="@+id/bad_behavior_crash_system" + android:layout_width="wrap_content" + android:layout_height="wrap_content" + android:text="@string/bad_behavior_crash_system_label" /> + <Button android:id="@+id/bad_behavior_crash_main" android:layout_width="wrap_content" android:layout_height="wrap_content" @@ -29,6 +34,11 @@ android:layout_height="wrap_content" android:text="@string/bad_behavior_crash_thread_label" /> + <Button android:id="@+id/bad_behavior_wtf" + android:layout_width="wrap_content" + android:layout_height="wrap_content" + android:text="@string/bad_behavior_wtf_label" /> + <Button android:id="@+id/bad_behavior_anr" android:layout_width="wrap_content" android:layout_height="wrap_content" diff --git a/apps/Development/res/values/strings.xml b/apps/Development/res/values/strings.xml index cb41087f8..128144e1e 100644 --- a/apps/Development/res/values/strings.xml +++ b/apps/Development/res/values/strings.xml @@ -195,7 +195,9 @@ <string name="select_account_to_sync">Select account to sync</string> <!-- BadBehaviorActivity --> - <string name="bad_behavior_crash_main_label">Crash the main thread</string> - <string name="bad_behavior_crash_thread_label">Crash an auxiliary thread</string> + <string name="bad_behavior_crash_system_label">Crash the system server</string> + <string name="bad_behavior_crash_main_label">Crash the main app thread</string> + <string name="bad_behavior_crash_thread_label">Crash an auxiliary app thread</string> + <string name="bad_behavior_wtf_label">Report a WTF condition</string> <string name="bad_behavior_anr_label">Stop responding for 20 seconds (ANR)</string> </resources> diff --git a/apps/Development/src/com/android/development/BadBehaviorActivity.java b/apps/Development/src/com/android/development/BadBehaviorActivity.java index b8f47216a..d3974560d 100644 --- a/apps/Development/src/com/android/development/BadBehaviorActivity.java +++ b/apps/Development/src/com/android/development/BadBehaviorActivity.java @@ -18,8 +18,13 @@ package com.android.development; import android.app.Activity; import android.os.Bundle; -import android.widget.Button; +import android.os.IBinder; +import android.os.IPowerManager; +import android.os.RemoteException; +import android.os.ServiceManager; +import android.util.Log; import android.view.View; +import android.widget.Button; public class BadBehaviorActivity extends Activity { static class BadBehaviorException extends RuntimeException { @@ -34,6 +39,19 @@ public class BadBehaviorActivity extends Activity { super.onCreate(icicle); setContentView(R.layout.bad_behavior); + Button crash_system = (Button) findViewById(R.id.bad_behavior_crash_system); + crash_system.setOnClickListener(new View.OnClickListener() { + public void onClick(View v) { + try { + IBinder b = ServiceManager.getService(POWER_SERVICE); + IPowerManager pm = IPowerManager.Stub.asInterface(b); + pm.crash("Crashed by BadBehaviorActivity"); + } catch (RemoteException e) { + Log.e("BadBehavior", "Can't call IPowerManager.crash()", e); + } + } + }); + Button crash_main = (Button) findViewById(R.id.bad_behavior_crash_main); crash_main.setOnClickListener(new View.OnClickListener() { public void onClick(View v) { throw new BadBehaviorException(); } @@ -49,6 +67,11 @@ public class BadBehaviorActivity extends Activity { } }); + Button wtf = (Button) findViewById(R.id.bad_behavior_wtf); + wtf.setOnClickListener(new View.OnClickListener() { + public void onClick(View v) { Log.wtf("BadBehavior", "Apps Behaving Badly"); } + }); + Button anr = (Button) findViewById(R.id.bad_behavior_anr); anr.setOnClickListener(new View.OnClickListener() { public void onClick(View v) { diff --git a/cmds/monkey/src/com/android/commands/monkey/Monkey.java b/cmds/monkey/src/com/android/commands/monkey/Monkey.java index 38e488437..243100904 100644 --- a/cmds/monkey/src/com/android/commands/monkey/Monkey.java +++ b/cmds/monkey/src/com/android/commands/monkey/Monkey.java @@ -226,7 +226,7 @@ public class Monkey { } public boolean appCrashed(String processName, int pid, - String tag, String shortMsg, String longMsg, + String shortMsg, String longMsg, long timeMillis, String stackTrace) { System.err.println("// CRASH: " + processName + " (pid " + pid + ")"); System.err.println("// Short Msg: " + shortMsg); @@ -234,8 +234,6 @@ public class Monkey { System.err.println("// Build Label: " + Build.FINGERPRINT); System.err.println("// Build Changelist: " + Build.VERSION.INCREMENTAL); System.err.println("// Build Time: " + Build.TIME); - System.err.println("// ID: "); // TODO: This was never set -- remove? - System.err.println("// Tag: " + tag); System.err.println("// " + stackTrace.replace("\n", "\n// ")); if (!mIgnoreCrashes) { |
