1 /* 2 * Copyright (C) 2006 The Android Open Source Project 3 * 4 * Licensed under the Apache License, Version 2.0 (the "License"); 5 * you may not use this file except in compliance with the License. 6 * You may obtain a copy of the License at 7 * 8 * http://www.apache.org/licenses/LICENSE-2.0 9 * 10 * Unless required by applicable law or agreed to in writing, software 11 * distributed under the License is distributed on an "AS IS" BASIS, 12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 * See the License for the specific language governing permissions and 14 * limitations under the License. 15 */ 16 17 package android.app; 18 19 import android.content.ComponentName; 20 import android.content.ContentProviderNative; 21 import android.content.IContentProvider; 22 import android.content.IIntentReceiver; 23 import android.content.IIntentSender; 24 import android.content.Intent; 25 import android.content.IntentFilter; 26 import android.content.IntentSender; 27 import android.content.pm.ApplicationInfo; 28 import android.content.pm.ConfigurationInfo; 29 import android.content.pm.IPackageDataObserver; 30 import android.content.pm.ProviderInfo; 31 import android.content.res.Configuration; 32 import android.graphics.Bitmap; 33 import android.net.Uri; 34 import android.os.Bundle; 35 import android.os.Debug; 36 import android.os.IBinder; 37 import android.os.IInterface; 38 import android.os.Parcel; 39 import android.os.ParcelFileDescriptor; 40 import android.os.Parcelable; 41 import android.os.RemoteException; 42 import android.os.StrictMode; 43 44 import java.util.List; 45 46 /** 47 * System private API for talking with the activity manager service. This 48 * provides calls from the application back to the activity manager. 49 * 50 * {@hide} 51 */ 52 public interface IActivityManager extends IInterface { 53 /** 54 * Returned by startActivity() if the start request was canceled because 55 * app switches are temporarily canceled to ensure the user's last request 56 * (such as pressing home) is performed. 57 */ 58 public static final int START_SWITCHES_CANCELED = 4; 59 /** 60 * Returned by startActivity() if an activity wasn't really started, but 61 * the given Intent was given to the existing top activity. 62 */ 63 public static final int START_DELIVERED_TO_TOP = 3; 64 /** 65 * Returned by startActivity() if an activity wasn't really started, but 66 * a task was simply brought to the foreground. 67 */ 68 public static final int START_TASK_TO_FRONT = 2; 69 /** 70 * Returned by startActivity() if the caller asked that the Intent not 71 * be executed if it is the recipient, and that is indeed the case. 72 */ 73 public static final int START_RETURN_INTENT_TO_CALLER = 1; 74 /** 75 * Activity was started successfully as normal. 76 */ 77 public static final int START_SUCCESS = 0; 78 public static final int START_INTENT_NOT_RESOLVED = -1; 79 public static final int START_CLASS_NOT_FOUND = -2; 80 public static final int START_FORWARD_AND_REQUEST_CONFLICT = -3; 81 public static final int START_PERMISSION_DENIED = -4; 82 public static final int START_NOT_ACTIVITY = -5; 83 public static final int START_CANCELED = -6; 84 public int startActivity(IApplicationThread caller, 85 Intent intent, String resolvedType, Uri[] grantedUriPermissions, 86 int grantedMode, IBinder resultTo, String resultWho, int requestCode, 87 boolean onlyIfNeeded, boolean debug) throws RemoteException; 88 public WaitResult startActivityAndWait(IApplicationThread caller, 89 Intent intent, String resolvedType, Uri[] grantedUriPermissions, 90 int grantedMode, IBinder resultTo, String resultWho, int requestCode, 91 boolean onlyIfNeeded, boolean debug) throws RemoteException; 92 public int startActivityWithConfig(IApplicationThread caller, 93 Intent intent, String resolvedType, Uri[] grantedUriPermissions, 94 int grantedMode, IBinder resultTo, String resultWho, int requestCode, 95 boolean onlyIfNeeded, boolean debug, Configuration newConfig) throws RemoteException; 96 public int startActivityIntentSender(IApplicationThread caller, 97 IntentSender intent, Intent fillInIntent, String resolvedType, 98 IBinder resultTo, String resultWho, int requestCode, 99 int flagsMask, int flagsValues) throws RemoteException; 100 public boolean startNextMatchingActivity(IBinder callingActivity, 101 Intent intent) throws RemoteException; 102 public boolean finishActivity(IBinder token, int code, Intent data) 103 throws RemoteException; 104 public void finishSubActivity(IBinder token, String resultWho, int requestCode) throws RemoteException; 105 public boolean willActivityBeVisible(IBinder token) throws RemoteException; 106 public Intent registerReceiver(IApplicationThread caller, 107 IIntentReceiver receiver, IntentFilter filter, 108 String requiredPermission) throws RemoteException; 109 public void unregisterReceiver(IIntentReceiver receiver) throws RemoteException; 110 public static final int BROADCAST_SUCCESS = 0; 111 public static final int BROADCAST_STICKY_CANT_HAVE_PERMISSION = -1; 112 public int broadcastIntent(IApplicationThread caller, Intent intent, 113 String resolvedType, IIntentReceiver resultTo, int resultCode, 114 String resultData, Bundle map, String requiredPermission, 115 boolean serialized, boolean sticky) throws RemoteException; 116 public void unbroadcastIntent(IApplicationThread caller, Intent intent) throws RemoteException; 117 /* oneway */ 118 public void finishReceiver(IBinder who, int resultCode, String resultData, Bundle map, boolean abortBroadcast) throws RemoteException; 119 public void attachApplication(IApplicationThread app) throws RemoteException; 120 /* oneway */ 121 public void activityIdle(IBinder token, Configuration config) throws RemoteException; 122 public void activityPaused(IBinder token, Bundle state) throws RemoteException; 123 /* oneway */ 124 public void activityStopped(IBinder token, 125 Bitmap thumbnail, CharSequence description) throws RemoteException; 126 /* oneway */ 127 public void activityDestroyed(IBinder token) throws RemoteException; 128 public String getCallingPackage(IBinder token) throws RemoteException; 129 public ComponentName getCallingActivity(IBinder token) throws RemoteException; 130 public List getTasks(int maxNum, int flags, 131 IThumbnailReceiver receiver) throws RemoteException; 132 public List<ActivityManager.RecentTaskInfo> getRecentTasks(int maxNum, 133 int flags) throws RemoteException; 134 public List getServices(int maxNum, int flags) throws RemoteException; 135 public List<ActivityManager.ProcessErrorStateInfo> getProcessesInErrorState() 136 throws RemoteException; 137 public void moveTaskToFront(int task) throws RemoteException; 138 public void moveTaskToBack(int task) throws RemoteException; 139 public boolean moveActivityTaskToBack(IBinder token, boolean nonRoot) throws RemoteException; 140 public void moveTaskBackwards(int task) throws RemoteException; 141 public int getTaskForActivity(IBinder token, boolean onlyRoot) throws RemoteException; 142 public void finishOtherInstances(IBinder token, ComponentName className) throws RemoteException; 143 /* oneway */ 144 public void reportThumbnail(IBinder token, 145 Bitmap thumbnail, CharSequence description) throws RemoteException; 146 public ContentProviderHolder getContentProvider(IApplicationThread caller, 147 String name) throws RemoteException; 148 public void removeContentProvider(IApplicationThread caller, 149 String name) throws RemoteException; 150 public void publishContentProviders(IApplicationThread caller, 151 List<ContentProviderHolder> providers) throws RemoteException; 152 public PendingIntent getRunningServiceControlPanel(ComponentName service) 153 throws RemoteException; 154 public ComponentName startService(IApplicationThread caller, Intent service, 155 String resolvedType) throws RemoteException; 156 public int stopService(IApplicationThread caller, Intent service, 157 String resolvedType) throws RemoteException; 158 public boolean stopServiceToken(ComponentName className, IBinder token, 159 int startId) throws RemoteException; 160 public void setServiceForeground(ComponentName className, IBinder token, 161 int id, Notification notification, boolean keepNotification) throws RemoteException; 162 public int bindService(IApplicationThread caller, IBinder token, 163 Intent service, String resolvedType, 164 IServiceConnection connection, int flags) throws RemoteException; 165 public boolean unbindService(IServiceConnection connection) throws RemoteException; 166 public void publishService(IBinder token, 167 Intent intent, IBinder service) throws RemoteException; 168 public void unbindFinished(IBinder token, Intent service, 169 boolean doRebind) throws RemoteException; 170 /* oneway */ 171 public void serviceDoneExecuting(IBinder token, int type, int startId, 172 int res) throws RemoteException; 173 public IBinder peekService(Intent service, String resolvedType) throws RemoteException; 174 175 public boolean bindBackupAgent(ApplicationInfo appInfo, int backupRestoreMode) 176 throws RemoteException; 177 public void backupAgentCreated(String packageName, IBinder agent) throws RemoteException; 178 public void unbindBackupAgent(ApplicationInfo appInfo) throws RemoteException; 179 public void killApplicationProcess(String processName, int uid) throws RemoteException; 180 181 public boolean startInstrumentation(ComponentName className, String profileFile, 182 int flags, Bundle arguments, IInstrumentationWatcher watcher) 183 throws RemoteException; 184 public void finishInstrumentation(IApplicationThread target, 185 int resultCode, Bundle results) throws RemoteException; 186 187 public Configuration getConfiguration() throws RemoteException; 188 public void updateConfiguration(Configuration values) throws RemoteException; 189 public void setRequestedOrientation(IBinder token, 190 int requestedOrientation) throws RemoteException; 191 public int getRequestedOrientation(IBinder token) throws RemoteException; 192 193 public ComponentName getActivityClassForToken(IBinder token) throws RemoteException; 194 public String getPackageForToken(IBinder token) throws RemoteException; 195 196 public static final int INTENT_SENDER_BROADCAST = 1; 197 public static final int INTENT_SENDER_ACTIVITY = 2; 198 public static final int INTENT_SENDER_ACTIVITY_RESULT = 3; 199 public static final int INTENT_SENDER_SERVICE = 4; 200 public IIntentSender getIntentSender(int type, 201 String packageName, IBinder token, String resultWho, 202 int requestCode, Intent intent, String resolvedType, int flags) throws RemoteException; 203 public void cancelIntentSender(IIntentSender sender) throws RemoteException; 204 public boolean clearApplicationUserData(final String packageName, 205 final IPackageDataObserver observer) throws RemoteException; 206 public String getPackageForIntentSender(IIntentSender sender) throws RemoteException; 207 208 public void setProcessLimit(int max) throws RemoteException; 209 public int getProcessLimit() throws RemoteException; 210 211 public void setProcessForeground(IBinder token, int pid, boolean isForeground) throws RemoteException; 212 213 public int checkPermission(String permission, int pid, int uid) 214 throws RemoteException; 215 216 public int checkUriPermission(Uri uri, int pid, int uid, int mode) 217 throws RemoteException; 218 public void grantUriPermission(IApplicationThread caller, String targetPkg, 219 Uri uri, int mode) throws RemoteException; 220 public void revokeUriPermission(IApplicationThread caller, Uri uri, 221 int mode) throws RemoteException; 222 223 public void showWaitingForDebugger(IApplicationThread who, boolean waiting) 224 throws RemoteException; 225 226 public void getMemoryInfo(ActivityManager.MemoryInfo outInfo) throws RemoteException; 227 228 public void killBackgroundProcesses(final String packageName) throws RemoteException; 229 public void forceStopPackage(final String packageName) throws RemoteException; 230 231 // Note: probably don't want to allow applications access to these. 232 public void goingToSleep() throws RemoteException; 233 public void wakingUp() throws RemoteException; 234 235 public void unhandledBack() throws RemoteException; 236 public ParcelFileDescriptor openContentUri(Uri uri) throws RemoteException; 237 public void setDebugApp( 238 String packageName, boolean waitForDebugger, boolean persistent) 239 throws RemoteException; 240 public void setAlwaysFinish(boolean enabled) throws RemoteException; 241 public void setActivityController(IActivityController watcher) 242 throws RemoteException; 243 244 public void enterSafeMode() throws RemoteException; 245 246 public void noteWakeupAlarm(IIntentSender sender) throws RemoteException; 247 248 public boolean killPids(int[] pids, String reason) throws RemoteException; 249 250 // Special low-level communication with activity manager. 251 public void startRunning(String pkg, String cls, String action, 252 String data) throws RemoteException; 253 public void handleApplicationCrash(IBinder app, 254 ApplicationErrorReport.CrashInfo crashInfo) throws RemoteException; 255 public boolean handleApplicationWtf(IBinder app, String tag, 256 ApplicationErrorReport.CrashInfo crashInfo) throws RemoteException; 257 258 // A StrictMode violation to be handled. The violationMask is a 259 // subset of the original StrictMode policy bitmask, with only the 260 // bit violated and penalty bits to be executed by the 261 // ActivityManagerService remaining set. 262 public void handleApplicationStrictModeViolation(IBinder app, int violationMask, 263 StrictMode.ViolationInfo crashInfo) throws RemoteException; 264 265 /* 266 * This will deliver the specified signal to all the persistent processes. Currently only 267 * SIGUSR1 is delivered. All others are ignored. 268 */ 269 public void signalPersistentProcesses(int signal) throws RemoteException; 270 // Retrieve info of applications installed on external media that are currently 271 // running. 272 public List<ActivityManager.RunningAppProcessInfo> getRunningAppProcesses() 273 throws RemoteException; 274 // Retrieve running application processes in the system 275 public List<ApplicationInfo> getRunningExternalApplications() 276 throws RemoteException; 277 // Get device configuration 278 public ConfigurationInfo getDeviceConfigurationInfo() throws RemoteException; 279 280 // Turn on/off profiling in a particular process. 281 public boolean profileControl(String process, boolean start, 282 String path, ParcelFileDescriptor fd) throws RemoteException; 283 284 public boolean shutdown(int timeout) throws RemoteException; 285 286 public void stopAppSwitches() throws RemoteException; 287 public void resumeAppSwitches() throws RemoteException; 288 289 public void registerActivityWatcher(IActivityWatcher watcher) 290 throws RemoteException; 291 public void unregisterActivityWatcher(IActivityWatcher watcher) 292 throws RemoteException; 293 294 public int startActivityInPackage(int uid, 295 Intent intent, String resolvedType, IBinder resultTo, 296 String resultWho, int requestCode, boolean onlyIfNeeded) 297 throws RemoteException; 298 299 public void killApplicationWithUid(String pkg, int uid) throws RemoteException; 300 301 public void closeSystemDialogs(String reason) throws RemoteException; 302 303 public Debug.MemoryInfo[] getProcessMemoryInfo(int[] pids) 304 throws RemoteException; 305 306 public void overridePendingTransition(IBinder token, String packageName, 307 int enterAnim, int exitAnim) throws RemoteException; 308 309 public boolean isUserAMonkey() throws RemoteException; 310 311 public void finishHeavyWeightApp() throws RemoteException; 312 313 public void crashApplication(int uid, int initialPid, String packageName, 314 String message) throws RemoteException; 315 316 public String getProviderMimeType(Uri uri) throws RemoteException; 317 318 public IBinder newUriPermissionOwner(String name) throws RemoteException; 319 public void grantUriPermissionFromOwner(IBinder owner, int fromUid, String targetPkg, 320 Uri uri, int mode) throws RemoteException; 321 public void revokeUriPermissionFromOwner(IBinder owner, Uri uri, 322 int mode) throws RemoteException; 323 324 /* 325 * Private non-Binder interfaces 326 */ 327 /* package */ boolean testIsSystemReady(); 328 329 /** Information you can retrieve about a particular application. */ 330 public static class ContentProviderHolder implements Parcelable { 331 public final ProviderInfo info; 332 public IContentProvider provider; 333 public boolean noReleaseNeeded; 334 335 public ContentProviderHolder(ProviderInfo _info) { 336 info = _info; 337 } 338 339 public int describeContents() { 340 return 0; 341 } 342 343 public void writeToParcel(Parcel dest, int flags) { 344 info.writeToParcel(dest, 0); 345 if (provider != null) { 346 dest.writeStrongBinder(provider.asBinder()); 347 } else { 348 dest.writeStrongBinder(null); 349 } 350 dest.writeInt(noReleaseNeeded ? 1:0); 351 } 352 353 public static final Parcelable.Creator<ContentProviderHolder> CREATOR 354 = new Parcelable.Creator<ContentProviderHolder>() { 355 public ContentProviderHolder createFromParcel(Parcel source) { 356 return new ContentProviderHolder(source); 357 } 358 359 public ContentProviderHolder[] newArray(int size) { 360 return new ContentProviderHolder[size]; 361 } 362 }; 363 364 private ContentProviderHolder(Parcel source) { 365 info = ProviderInfo.CREATOR.createFromParcel(source); 366 provider = ContentProviderNative.asInterface( 367 source.readStrongBinder()); 368 noReleaseNeeded = source.readInt() != 0; 369 } 370 }; 371 372 /** Information returned after waiting for an activity start. */ 373 public static class WaitResult implements Parcelable { 374 public int result; 375 public boolean timeout; 376 public ComponentName who; 377 public long thisTime; 378 public long totalTime; 379 380 public WaitResult() { 381 } 382 383 public int describeContents() { 384 return 0; 385 } 386 387 public void writeToParcel(Parcel dest, int flags) { 388 dest.writeInt(result); 389 dest.writeInt(timeout ? 1 : 0); 390 ComponentName.writeToParcel(who, dest); 391 dest.writeLong(thisTime); 392 dest.writeLong(totalTime); 393 } 394 395 public static final Parcelable.Creator<WaitResult> CREATOR 396 = new Parcelable.Creator<WaitResult>() { 397 public WaitResult createFromParcel(Parcel source) { 398 return new WaitResult(source); 399 } 400 401 public WaitResult[] newArray(int size) { 402 return new WaitResult[size]; 403 } 404 }; 405 406 private WaitResult(Parcel source) { 407 result = source.readInt(); 408 timeout = source.readInt() != 0; 409 who = ComponentName.readFromParcel(source); 410 thisTime = source.readLong(); 411 totalTime = source.readLong(); 412 } 413 }; 414 415 String descriptor = "android.app.IActivityManager"; 416 417 // Please keep these transaction codes the same -- they are also 418 // sent by C++ code. 419 int START_RUNNING_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION; 420 int HANDLE_APPLICATION_CRASH_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+1; 421 int START_ACTIVITY_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+2; 422 int UNHANDLED_BACK_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+3; 423 int OPEN_CONTENT_URI_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+4; 424 425 // Remaining non-native transaction codes. 426 int FINISH_ACTIVITY_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+10; 427 int REGISTER_RECEIVER_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+11; 428 int UNREGISTER_RECEIVER_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+12; 429 int BROADCAST_INTENT_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+13; 430 int UNBROADCAST_INTENT_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+14; 431 int FINISH_RECEIVER_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+15; 432 int ATTACH_APPLICATION_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+16; 433 int ACTIVITY_IDLE_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+17; 434 int ACTIVITY_PAUSED_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+18; 435 int ACTIVITY_STOPPED_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+19; 436 int GET_CALLING_PACKAGE_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+20; 437 int GET_CALLING_ACTIVITY_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+21; 438 int GET_TASKS_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+22; 439 int MOVE_TASK_TO_FRONT_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+23; 440 int MOVE_TASK_TO_BACK_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+24; 441 int MOVE_TASK_BACKWARDS_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+25; 442 int GET_TASK_FOR_ACTIVITY_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+26; 443 int REPORT_THUMBNAIL_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+27; 444 int GET_CONTENT_PROVIDER_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+28; 445 int PUBLISH_CONTENT_PROVIDERS_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+29; 446 447 int FINISH_SUB_ACTIVITY_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+31; 448 int GET_RUNNING_SERVICE_CONTROL_PANEL_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+32; 449 int START_SERVICE_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+33; 450 int STOP_SERVICE_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+34; 451 int BIND_SERVICE_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+35; 452 int UNBIND_SERVICE_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+36; 453 int PUBLISH_SERVICE_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+37; 454 int FINISH_OTHER_INSTANCES_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+38; 455 int GOING_TO_SLEEP_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+39; 456 int WAKING_UP_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+40; 457 int SET_DEBUG_APP_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+41; 458 int SET_ALWAYS_FINISH_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+42; 459 int START_INSTRUMENTATION_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+43; 460 int FINISH_INSTRUMENTATION_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+44; 461 int GET_CONFIGURATION_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+45; 462 int UPDATE_CONFIGURATION_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+46; 463 int STOP_SERVICE_TOKEN_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+47; 464 int GET_ACTIVITY_CLASS_FOR_TOKEN_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+48; 465 int GET_PACKAGE_FOR_TOKEN_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+49; 466 int SET_PROCESS_LIMIT_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+50; 467 int GET_PROCESS_LIMIT_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+51; 468 int CHECK_PERMISSION_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+52; 469 int CHECK_URI_PERMISSION_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+53; 470 int GRANT_URI_PERMISSION_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+54; 471 int REVOKE_URI_PERMISSION_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+55; 472 int SET_ACTIVITY_CONTROLLER_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+56; 473 int SHOW_WAITING_FOR_DEBUGGER_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+57; 474 int SIGNAL_PERSISTENT_PROCESSES_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+58; 475 int GET_RECENT_TASKS_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+59; 476 int SERVICE_DONE_EXECUTING_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+60; 477 int ACTIVITY_DESTROYED_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+61; 478 int GET_INTENT_SENDER_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+62; 479 int CANCEL_INTENT_SENDER_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+63; 480 int GET_PACKAGE_FOR_INTENT_SENDER_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+64; 481 int ENTER_SAFE_MODE_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+65; 482 int START_NEXT_MATCHING_ACTIVITY_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+66; 483 int NOTE_WAKEUP_ALARM_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+67; 484 int REMOVE_CONTENT_PROVIDER_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+68; 485 int SET_REQUESTED_ORIENTATION_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+69; 486 int GET_REQUESTED_ORIENTATION_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+70; 487 int UNBIND_FINISHED_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+71; 488 int SET_PROCESS_FOREGROUND_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+72; 489 int SET_SERVICE_FOREGROUND_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+73; 490 int MOVE_ACTIVITY_TASK_TO_BACK_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+74; 491 int GET_MEMORY_INFO_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+75; 492 int GET_PROCESSES_IN_ERROR_STATE_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+76; 493 int CLEAR_APP_DATA_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+77; 494 int FORCE_STOP_PACKAGE_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+78; 495 int KILL_PIDS_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+79; 496 int GET_SERVICES_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+80; 497 498 int GET_RUNNING_APP_PROCESSES_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+82; 499 int GET_DEVICE_CONFIGURATION_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+83; 500 int PEEK_SERVICE_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+84; 501 int PROFILE_CONTROL_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+85; 502 int SHUTDOWN_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+86; 503 int STOP_APP_SWITCHES_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+87; 504 int RESUME_APP_SWITCHES_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+88; 505 int START_BACKUP_AGENT_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+89; 506 int BACKUP_AGENT_CREATED_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+90; 507 int UNBIND_BACKUP_AGENT_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+91; 508 int REGISTER_ACTIVITY_WATCHER_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+92; 509 int UNREGISTER_ACTIVITY_WATCHER_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+93; 510 int START_ACTIVITY_IN_PACKAGE_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+94; 511 int KILL_APPLICATION_WITH_UID_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+95; 512 int CLOSE_SYSTEM_DIALOGS_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+96; 513 int GET_PROCESS_MEMORY_INFO_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+97; 514 int KILL_APPLICATION_PROCESS_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+98; 515 int START_ACTIVITY_INTENT_SENDER_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+99; 516 int OVERRIDE_PENDING_TRANSITION_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+100; 517 int HANDLE_APPLICATION_WTF_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+101; 518 int KILL_BACKGROUND_PROCESSES_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+102; 519 int IS_USER_A_MONKEY_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+103; 520 int START_ACTIVITY_AND_WAIT_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+104; 521 int WILL_ACTIVITY_BE_VISIBLE_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+105; 522 int START_ACTIVITY_WITH_CONFIG_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+106; 523 int GET_RUNNING_EXTERNAL_APPLICATIONS_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+107; 524 int FINISH_HEAVY_WEIGHT_APP_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+108; 525 int HANDLE_APPLICATION_STRICT_MODE_VIOLATION_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+109; 526 int IS_IMMERSIVE_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+110; 527 int SET_IMMERSIVE_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+111; 528 int IS_TOP_ACTIVITY_IMMERSIVE_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+112; 529 int CRASH_APPLICATION_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+113; 530 int GET_PROVIDER_MIME_TYPE_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+114; 531 int NEW_URI_PERMISSION_OWNER_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+115; 532 int GRANT_URI_PERMISSION_FROM_OWNER_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+116; 533 int REVOKE_URI_PERMISSION_FROM_OWNER_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+117; 534 } 535