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