Skip to content

Commit 1e9eb67

Browse files
committed
Add some more buttons to Bad Behavior:
- crash system server - report a Log.wtf() Update Monkey for changes to IActivityController interface.
1 parent 55de681 commit 1e9eb67

File tree

5 files changed

+55
-21
lines changed

5 files changed

+55
-21
lines changed

apps/Development/AndroidManifest.xml

Lines changed: 16 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -17,28 +17,29 @@
1717
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
1818
package="com.android.development"
1919
android:versionCode="1" android:versionName="1.0">
20-
<uses-permission android:name="android.permission.WRITE_SETTINGS" />
20+
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
21+
<uses-permission android:name="android.permission.CHANGE_NETWORK_STATE" />
22+
<uses-permission android:name="android.permission.CHANGE_WIFI_STATE" />
23+
<uses-permission android:name="android.permission.DEVICE_POWER" />
2124
<uses-permission android:name="android.permission.DUMP" />
22-
<uses-permission android:name="android.permission.SET_PREFERRED_APPLICATIONS" />
25+
<uses-permission android:name="android.permission.GET_ACCOUNTS" />
26+
<uses-permission android:name="android.permission.HARDWARE_TEST" />
27+
<uses-permission android:name="android.permission.INTERNET" />
28+
<uses-permission android:name="android.permission.MANAGE_ACCOUNTS" />
29+
<uses-permission android:name="android.permission.REBOOT" />
2330
<uses-permission android:name="android.permission.RESTART_PACKAGES" />
24-
<uses-permission android:name="android.permission.SET_ANIMATION_SCALE" />
25-
<uses-permission android:name="android.permission.SET_PROCESS_LIMIT" />
2631
<uses-permission android:name="android.permission.SET_ALWAYS_FINISH" />
32+
<uses-permission android:name="android.permission.SET_ANIMATION_SCALE" />
2733
<uses-permission android:name="android.permission.SET_DEBUG_APP" />
28-
<uses-permission android:name="android.permission.HARDWARE_TEST" />
29-
<uses-permission android:name="android.permission.INTERNET" />
34+
<uses-permission android:name="android.permission.SET_PREFERRED_APPLICATIONS" />
35+
<uses-permission android:name="android.permission.SET_PROCESS_LIMIT" />
36+
<uses-permission android:name="android.permission.USE_CREDENTIALS" />
37+
<uses-permission android:name="android.permission.WAKE_LOCK" />
38+
<uses-permission android:name="android.permission.WRITE_SETTINGS" />
39+
<uses-permission android:name="com.google.android.googleapps.permission.ACCESS_GOOGLE_PASSWORD" />
3040
<uses-permission android:name="com.google.android.googleapps.permission.GOOGLE_AUTH" />
3141
<uses-permission android:name="com.google.android.googleapps.permission.GOOGLE_AUTH.ALL_SERVICES" />
3242
<uses-permission android:name="com.google.android.googleapps.permission.GOOGLE_AUTH.YouTubeUser" />
33-
<uses-permission android:name="com.google.android.googleapps.permission.ACCESS_GOOGLE_PASSWORD" />
34-
<uses-permission android:name="android.permission.GET_ACCOUNTS" />
35-
<uses-permission android:name="android.permission.USE_CREDENTIALS" />
36-
<uses-permission android:name="android.permission.MANAGE_ACCOUNTS" />
37-
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
38-
<uses-permission android:name="android.permission.CHANGE_WIFI_STATE" />
39-
<uses-permission android:name="android.permission.WAKE_LOCK" />
40-
<uses-permission android:name="android.permission.DEVICE_POWER" />
41-
<uses-permission android:name="android.permission.CHANGE_NETWORK_STATE" />
4243

4344
<application android:label="Dev Tools"
4445
android:icon="@drawable/ic_launcher_devtools">

apps/Development/res/layout/bad_behavior.xml

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,11 @@
1919
android:layout_width="fill_parent"
2020
android:layout_height="fill_parent">
2121

22+
<Button android:id="@+id/bad_behavior_crash_system"
23+
android:layout_width="wrap_content"
24+
android:layout_height="wrap_content"
25+
android:text="@string/bad_behavior_crash_system_label" />
26+
2227
<Button android:id="@+id/bad_behavior_crash_main"
2328
android:layout_width="wrap_content"
2429
android:layout_height="wrap_content"
@@ -29,6 +34,11 @@
2934
android:layout_height="wrap_content"
3035
android:text="@string/bad_behavior_crash_thread_label" />
3136

37+
<Button android:id="@+id/bad_behavior_wtf"
38+
android:layout_width="wrap_content"
39+
android:layout_height="wrap_content"
40+
android:text="@string/bad_behavior_wtf_label" />
41+
3242
<Button android:id="@+id/bad_behavior_anr"
3343
android:layout_width="wrap_content"
3444
android:layout_height="wrap_content"

apps/Development/res/values/strings.xml

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -195,7 +195,9 @@
195195
<string name="select_account_to_sync">Select account to sync</string>
196196

197197
<!-- BadBehaviorActivity -->
198-
<string name="bad_behavior_crash_main_label">Crash the main thread</string>
199-
<string name="bad_behavior_crash_thread_label">Crash an auxiliary thread</string>
198+
<string name="bad_behavior_crash_system_label">Crash the system server</string>
199+
<string name="bad_behavior_crash_main_label">Crash the main app thread</string>
200+
<string name="bad_behavior_crash_thread_label">Crash an auxiliary app thread</string>
201+
<string name="bad_behavior_wtf_label">Report a WTF condition</string>
200202
<string name="bad_behavior_anr_label">Stop responding for 20 seconds (ANR)</string>
201203
</resources>

apps/Development/src/com/android/development/BadBehaviorActivity.java

Lines changed: 24 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,8 +18,13 @@
1818

1919
import android.app.Activity;
2020
import android.os.Bundle;
21-
import android.widget.Button;
21+
import android.os.IBinder;
22+
import android.os.IPowerManager;
23+
import android.os.RemoteException;
24+
import android.os.ServiceManager;
25+
import android.util.Log;
2226
import android.view.View;
27+
import android.widget.Button;
2328

2429
public class BadBehaviorActivity extends Activity {
2530
static class BadBehaviorException extends RuntimeException {
@@ -34,6 +39,19 @@ public void onCreate(Bundle icicle) {
3439
super.onCreate(icicle);
3540
setContentView(R.layout.bad_behavior);
3641

42+
Button crash_system = (Button) findViewById(R.id.bad_behavior_crash_system);
43+
crash_system.setOnClickListener(new View.OnClickListener() {
44+
public void onClick(View v) {
45+
try {
46+
IBinder b = ServiceManager.getService(POWER_SERVICE);
47+
IPowerManager pm = IPowerManager.Stub.asInterface(b);
48+
pm.crash("Crashed by BadBehaviorActivity");
49+
} catch (RemoteException e) {
50+
Log.e("BadBehavior", "Can't call IPowerManager.crash()", e);
51+
}
52+
}
53+
});
54+
3755
Button crash_main = (Button) findViewById(R.id.bad_behavior_crash_main);
3856
crash_main.setOnClickListener(new View.OnClickListener() {
3957
public void onClick(View v) { throw new BadBehaviorException(); }
@@ -49,6 +67,11 @@ public void onClick(View v) {
4967
}
5068
});
5169

70+
Button wtf = (Button) findViewById(R.id.bad_behavior_wtf);
71+
wtf.setOnClickListener(new View.OnClickListener() {
72+
public void onClick(View v) { Log.wtf("BadBehavior", "Apps Behaving Badly"); }
73+
});
74+
5275
Button anr = (Button) findViewById(R.id.bad_behavior_anr);
5376
anr.setOnClickListener(new View.OnClickListener() {
5477
public void onClick(View v) {

cmds/monkey/src/com/android/commands/monkey/Monkey.java

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -226,16 +226,14 @@ public boolean activityResuming(String pkg) {
226226
}
227227

228228
public boolean appCrashed(String processName, int pid,
229-
String tag, String shortMsg, String longMsg,
229+
String shortMsg, String longMsg,
230230
long timeMillis, String stackTrace) {
231231
System.err.println("// CRASH: " + processName + " (pid " + pid + ")");
232232
System.err.println("// Short Msg: " + shortMsg);
233233
System.err.println("// Long Msg: " + longMsg);
234234
System.err.println("// Build Label: " + Build.FINGERPRINT);
235235
System.err.println("// Build Changelist: " + Build.VERSION.INCREMENTAL);
236236
System.err.println("// Build Time: " + Build.TIME);
237-
System.err.println("// ID: "); // TODO: This was never set -- remove?
238-
System.err.println("// Tag: " + tag);
239237
System.err.println("// " + stackTrace.replace("\n", "\n// "));
240238

241239
if (!mIgnoreCrashes) {

0 commit comments

Comments
 (0)