1 /*
2 **
3 ** Copyright 2009, The Android Open Source Project
4 **
5 ** Licensed under the Apache License, Version 2.0 (the "License");
6 ** you may not use this file except in compliance with the License.
7 ** You may obtain a copy of the License at
8 **
9 **     http://www.apache.org/licenses/LICENSE-2.0
10 **
11 ** Unless required by applicable law or agreed to in writing, software
12 ** distributed under the License is distributed on an "AS IS" BASIS,
13 ** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14 ** See the License for the specific language governing permissions and
15 ** limitations under the License.
16 */
17 
18 package android.app;
19 
20 import android.content.Intent;
21 
22 /**
23  * Testing interface to monitor what is happening in the activity manager
24  * while tests are running.  Not for normal application development.
25  * {@hide}
26  */
27 interface IActivityController
28 {
29     /**
30      * The system is trying to start an activity.  Return true to allow
31      * it to be started as normal, or false to cancel/reject this activity.
32      */
activityStarting(in Intent intent, String pkg)33     boolean activityStarting(in Intent intent, String pkg);
34 
35     /**
36      * The system is trying to return to an activity.  Return true to allow
37      * it to be resumed as normal, or false to cancel/reject this activity.
38      */
activityResuming(String pkg)39     boolean activityResuming(String pkg);
40 
41     /**
42      * An application process has crashed (in Java).  Return true for the
43      * normal error recovery (app crash dialog) to occur, false to kill
44      * it immediately.
45      */
appCrashed(String processName, int pid, String shortMsg, String longMsg, long timeMillis, String stackTrace)46     boolean appCrashed(String processName, int pid,
47             String shortMsg, String longMsg,
48             long timeMillis, String stackTrace);
49 
50     /**
51      * Early call as soon as an ANR is detected.
52      */
appEarlyNotResponding(String processName, int pid, String annotation)53     int appEarlyNotResponding(String processName, int pid, String annotation);
54 
55     /**
56      * An application process is not responding.  Return 0 to show the "app
57      * not responding" dialog, 1 to continue waiting, or -1 to kill it
58      * immediately.
59      */
appNotResponding(String processName, int pid, String processStats)60     int appNotResponding(String processName, int pid, String processStats);
61 
62     /**
63      * The system process watchdog has detected that the system seems to be
64      * hung.  Return 1 to continue waiting, or -1 to let it continue with its
65      * normal kill.
66      */
systemNotResponding(String msg)67     int systemNotResponding(String msg);
68 }
69