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.pm.UserInfo; 32 import android.content.res.Configuration; 33 import android.graphics.Bitmap; 34 import android.net.Uri; 35 import android.os.Bundle; 36 import android.os.Debug; 37 import android.os.IBinder; 38 import android.os.IInterface; 39 import android.os.Parcel; 40 import android.os.ParcelFileDescriptor; 41 import android.os.Parcelable; 42 import android.os.RemoteException; 43 import android.os.StrictMode; 44 45 import java.util.List; 46 47 /** 48 * System private API for talking with the activity manager service. This 49 * provides calls from the application back to the activity manager. 50 * 51 * {@hide} 52 */ 53 public interface IActivityManager extends IInterface { 54 public int startActivity(IApplicationThread caller, 55 Intent intent, String resolvedType, IBinder resultTo, String resultWho, 56 int requestCode, int flags, String profileFile, 57 ParcelFileDescriptor profileFd, Bundle options) throws RemoteException; 58 public WaitResult startActivityAndWait(IApplicationThread caller, 59 Intent intent, String resolvedType, IBinder resultTo, String resultWho, 60 int requestCode, int flags, String profileFile, 61 ParcelFileDescriptor profileFd, Bundle options) throws RemoteException; 62 public int startActivityWithConfig(IApplicationThread caller, 63 Intent intent, String resolvedType, IBinder resultTo, String resultWho, 64 int requestCode, int startFlags, Configuration newConfig, 65 Bundle options) throws RemoteException; 66 public int startActivityIntentSender(IApplicationThread caller, 67 IntentSender intent, Intent fillInIntent, String resolvedType, 68 IBinder resultTo, String resultWho, int requestCode, 69 int flagsMask, int flagsValues, Bundle options) throws RemoteException; 70 public boolean startNextMatchingActivity(IBinder callingActivity, 71 Intent intent, Bundle options) throws RemoteException; 72 public boolean finishActivity(IBinder token, int code, Intent data) 73 throws RemoteException; 74 public void finishSubActivity(IBinder token, String resultWho, int requestCode) throws RemoteException; 75 public boolean finishActivityAffinity(IBinder token) throws RemoteException; 76 public boolean willActivityBeVisible(IBinder token) throws RemoteException; 77 public Intent registerReceiver(IApplicationThread caller, String callerPackage, 78 IIntentReceiver receiver, IntentFilter filter, 79 String requiredPermission) throws RemoteException; 80 public void unregisterReceiver(IIntentReceiver receiver) throws RemoteException; 81 public int broadcastIntent(IApplicationThread caller, Intent intent, 82 String resolvedType, IIntentReceiver resultTo, int resultCode, 83 String resultData, Bundle map, String requiredPermission, 84 boolean serialized, boolean sticky, int userId) throws RemoteException; 85 public void unbroadcastIntent(IApplicationThread caller, Intent intent, int userId) throws RemoteException; 86 /* oneway */ 87 public void finishReceiver(IBinder who, int resultCode, String resultData, Bundle map, boolean abortBroadcast) throws RemoteException; 88 public void attachApplication(IApplicationThread app) throws RemoteException; 89 /* oneway */ 90 public void activityIdle(IBinder token, Configuration config, 91 boolean stopProfiling) throws RemoteException; 92 public void activityPaused(IBinder token) throws RemoteException; 93 /* oneway */ 94 public void activityStopped(IBinder token, Bundle state, 95 Bitmap thumbnail, CharSequence description) throws RemoteException; 96 /* oneway */ 97 public void activitySlept(IBinder token) throws RemoteException; 98 /* oneway */ 99 public void activityDestroyed(IBinder token) throws RemoteException; 100 public String getCallingPackage(IBinder token) throws RemoteException; 101 public ComponentName getCallingActivity(IBinder token) throws RemoteException; 102 public List getTasks(int maxNum, int flags, 103 IThumbnailReceiver receiver) throws RemoteException; 104 public List<ActivityManager.RecentTaskInfo> getRecentTasks(int maxNum, 105 int flags) throws RemoteException; 106 public ActivityManager.TaskThumbnails getTaskThumbnails(int taskId) throws RemoteException; 107 public List getServices(int maxNum, int flags) throws RemoteException; 108 public List<ActivityManager.ProcessErrorStateInfo> getProcessesInErrorState() 109 throws RemoteException; 110 public void moveTaskToFront(int task, int flags, Bundle options) throws RemoteException; 111 public void moveTaskToBack(int task) throws RemoteException; 112 public boolean moveActivityTaskToBack(IBinder token, boolean nonRoot) throws RemoteException; 113 public void moveTaskBackwards(int task) throws RemoteException; 114 public int getTaskForActivity(IBinder token, boolean onlyRoot) throws RemoteException; 115 /* oneway */ 116 public void reportThumbnail(IBinder token, 117 Bitmap thumbnail, CharSequence description) throws RemoteException; 118 public ContentProviderHolder getContentProvider(IApplicationThread caller, 119 String name, boolean stable) throws RemoteException; 120 public ContentProviderHolder getContentProviderExternal(String name, IBinder token) 121 throws RemoteException; 122 public void removeContentProvider(IBinder connection, boolean stable) throws RemoteException; 123 public void removeContentProviderExternal(String name, IBinder token) throws RemoteException; 124 public void publishContentProviders(IApplicationThread caller, 125 List<ContentProviderHolder> providers) throws RemoteException; 126 public boolean refContentProvider(IBinder connection, int stableDelta, int unstableDelta) 127 throws RemoteException; 128 public void unstableProviderDied(IBinder connection) throws RemoteException; 129 public PendingIntent getRunningServiceControlPanel(ComponentName service) 130 throws RemoteException; 131 public ComponentName startService(IApplicationThread caller, Intent service, 132 String resolvedType) throws RemoteException; 133 public int stopService(IApplicationThread caller, Intent service, 134 String resolvedType) throws RemoteException; 135 public boolean stopServiceToken(ComponentName className, IBinder token, 136 int startId) throws RemoteException; 137 public void setServiceForeground(ComponentName className, IBinder token, 138 int id, Notification notification, boolean keepNotification) throws RemoteException; 139 public int bindService(IApplicationThread caller, IBinder token, 140 Intent service, String resolvedType, 141 IServiceConnection connection, int flags, int userId) throws RemoteException; 142 public boolean unbindService(IServiceConnection connection) throws RemoteException; 143 public void publishService(IBinder token, 144 Intent intent, IBinder service) throws RemoteException; 145 public void unbindFinished(IBinder token, Intent service, 146 boolean doRebind) throws RemoteException; 147 /* oneway */ 148 public void serviceDoneExecuting(IBinder token, int type, int startId, 149 int res) throws RemoteException; 150 public IBinder peekService(Intent service, String resolvedType) throws RemoteException; 151 152 public boolean bindBackupAgent(ApplicationInfo appInfo, int backupRestoreMode) 153 throws RemoteException; 154 public void backupAgentCreated(String packageName, IBinder agent) throws RemoteException; 155 public void unbindBackupAgent(ApplicationInfo appInfo) throws RemoteException; 156 public void killApplicationProcess(String processName, int uid) throws RemoteException; 157 158 public boolean startInstrumentation(ComponentName className, String profileFile, 159 int flags, Bundle arguments, IInstrumentationWatcher watcher) 160 throws RemoteException; 161 public void finishInstrumentation(IApplicationThread target, 162 int resultCode, Bundle results) throws RemoteException; 163 164 public Configuration getConfiguration() throws RemoteException; 165 public void updateConfiguration(Configuration values) throws RemoteException; 166 public void setRequestedOrientation(IBinder token, 167 int requestedOrientation) throws RemoteException; 168 public int getRequestedOrientation(IBinder token) throws RemoteException; 169 170 public ComponentName getActivityClassForToken(IBinder token) throws RemoteException; 171 public String getPackageForToken(IBinder token) throws RemoteException; 172 173 public IIntentSender getIntentSender(int type, 174 String packageName, IBinder token, String resultWho, 175 int requestCode, Intent[] intents, String[] resolvedTypes, 176 int flags, Bundle options) throws RemoteException; 177 public void cancelIntentSender(IIntentSender sender) throws RemoteException; 178 public boolean clearApplicationUserData(final String packageName, 179 final IPackageDataObserver observer, int userId) throws RemoteException; 180 public String getPackageForIntentSender(IIntentSender sender) throws RemoteException; 181 public int getUidForIntentSender(IIntentSender sender) throws RemoteException; 182 183 public void setProcessLimit(int max) throws RemoteException; 184 public int getProcessLimit() throws RemoteException; 185 186 public void setProcessForeground(IBinder token, int pid, 187 boolean isForeground) throws RemoteException; 188 189 public int checkPermission(String permission, int pid, int uid) 190 throws RemoteException; 191 192 public int checkUriPermission(Uri uri, int pid, int uid, int mode) 193 throws RemoteException; 194 public void grantUriPermission(IApplicationThread caller, String targetPkg, 195 Uri uri, int mode) throws RemoteException; 196 public void revokeUriPermission(IApplicationThread caller, Uri uri, 197 int mode) throws RemoteException; 198 199 public void showWaitingForDebugger(IApplicationThread who, boolean waiting) 200 throws RemoteException; 201 202 public void getMemoryInfo(ActivityManager.MemoryInfo outInfo) throws RemoteException; 203 204 public void killBackgroundProcesses(final String packageName) throws RemoteException; 205 public void killAllBackgroundProcesses() throws RemoteException; 206 public void forceStopPackage(final String packageName) throws RemoteException; 207 208 // Note: probably don't want to allow applications access to these. 209 public void goingToSleep() throws RemoteException; 210 public void wakingUp() throws RemoteException; 211 public void setLockScreenShown(boolean shown) throws RemoteException; 212 213 public void unhandledBack() throws RemoteException; 214 public ParcelFileDescriptor openContentUri(Uri uri) throws RemoteException; 215 public void setDebugApp( 216 String packageName, boolean waitForDebugger, boolean persistent) 217 throws RemoteException; 218 public void setAlwaysFinish(boolean enabled) throws RemoteException; 219 public void setActivityController(IActivityController watcher) 220 throws RemoteException; 221 222 public void enterSafeMode() throws RemoteException; 223 224 public void noteWakeupAlarm(IIntentSender sender) throws RemoteException; 225 226 public boolean killPids(int[] pids, String reason, boolean secure) throws RemoteException; 227 public boolean killProcessesBelowForeground(String reason) throws RemoteException; 228 229 // Special low-level communication with activity manager. 230 public void startRunning(String pkg, String cls, String action, 231 String data) throws RemoteException; 232 public void handleApplicationCrash(IBinder app, 233 ApplicationErrorReport.CrashInfo crashInfo) throws RemoteException; 234 public boolean handleApplicationWtf(IBinder app, String tag, 235 ApplicationErrorReport.CrashInfo crashInfo) throws RemoteException; 236 237 // A StrictMode violation to be handled. The violationMask is a 238 // subset of the original StrictMode policy bitmask, with only the 239 // bit violated and penalty bits to be executed by the 240 // ActivityManagerService remaining set. 241 public void handleApplicationStrictModeViolation(IBinder app, int violationMask, 242 StrictMode.ViolationInfo crashInfo) throws RemoteException; 243 244 /* 245 * This will deliver the specified signal to all the persistent processes. Currently only 246 * SIGUSR1 is delivered. All others are ignored. 247 */ 248 public void signalPersistentProcesses(int signal) throws RemoteException; 249 // Retrieve running application processes in the system 250 public List<ActivityManager.RunningAppProcessInfo> getRunningAppProcesses() 251 throws RemoteException; 252 // Retrieve info of applications installed on external media that are currently 253 // running. 254 public List<ApplicationInfo> getRunningExternalApplications() 255 throws RemoteException; 256 // Get memory information about the calling process. 257 public void getMyMemoryState(ActivityManager.RunningAppProcessInfo outInfo) 258 throws RemoteException; 259 // Get device configuration 260 public ConfigurationInfo getDeviceConfigurationInfo() throws RemoteException; 261 262 // Turn on/off profiling in a particular process. 263 public boolean profileControl(String process, boolean start, 264 String path, ParcelFileDescriptor fd, int profileType) throws RemoteException; 265 266 public boolean shutdown(int timeout) throws RemoteException; 267 268 public void stopAppSwitches() throws RemoteException; 269 public void resumeAppSwitches() throws RemoteException; 270 271 public int startActivityInPackage(int uid, 272 Intent intent, String resolvedType, IBinder resultTo, 273 String resultWho, int requestCode, int startFlags, Bundle options) 274 throws RemoteException; 275 276 public void killApplicationWithUid(String pkg, int uid) throws RemoteException; 277 278 public void closeSystemDialogs(String reason) throws RemoteException; 279 280 public Debug.MemoryInfo[] getProcessMemoryInfo(int[] pids) 281 throws RemoteException; 282 283 public void overridePendingTransition(IBinder token, String packageName, 284 int enterAnim, int exitAnim) throws RemoteException; 285 286 public boolean isUserAMonkey() throws RemoteException; 287 288 public void finishHeavyWeightApp() throws RemoteException; 289 290 public void setImmersive(IBinder token, boolean immersive) throws RemoteException; 291 public boolean isImmersive(IBinder token) throws RemoteException; 292 public boolean isTopActivityImmersive() throws RemoteException; 293 294 public void crashApplication(int uid, int initialPid, String packageName, 295 String message) throws RemoteException; 296 297 public String getProviderMimeType(Uri uri) throws RemoteException; 298 299 public IBinder newUriPermissionOwner(String name) throws RemoteException; 300 public void grantUriPermissionFromOwner(IBinder owner, int fromUid, String targetPkg, 301 Uri uri, int mode) throws RemoteException; 302 public void revokeUriPermissionFromOwner(IBinder owner, Uri uri, 303 int mode) throws RemoteException; 304 305 public int checkGrantUriPermission(int callingUid, String targetPkg, 306 Uri uri, int modeFlags) throws RemoteException; 307 308 // Cause the specified process to dump the specified heap. 309 public boolean dumpHeap(String process, boolean managed, String path, 310 ParcelFileDescriptor fd) throws RemoteException; 311 312 public int startActivities(IApplicationThread caller, 313 Intent[] intents, String[] resolvedTypes, IBinder resultTo, 314 Bundle options) throws RemoteException; 315 public int startActivitiesInPackage(int uid, 316 Intent[] intents, String[] resolvedTypes, IBinder resultTo, 317 Bundle options) throws RemoteException; 318 319 public int getFrontActivityScreenCompatMode() throws RemoteException; 320 public void setFrontActivityScreenCompatMode(int mode) throws RemoteException; 321 public int getPackageScreenCompatMode(String packageName) throws RemoteException; 322 public void setPackageScreenCompatMode(String packageName, int mode) 323 throws RemoteException; 324 public boolean getPackageAskScreenCompat(String packageName) throws RemoteException; 325 public void setPackageAskScreenCompat(String packageName, boolean ask) 326 throws RemoteException; 327 328 // Multi-user APIs 329 public boolean switchUser(int userid) throws RemoteException; 330 public UserInfo getCurrentUser() throws RemoteException; 331 332 public boolean removeSubTask(int taskId, int subTaskIndex) throws RemoteException; 333 334 public boolean removeTask(int taskId, int flags) throws RemoteException; 335 336 public void registerProcessObserver(IProcessObserver observer) throws RemoteException; 337 public void unregisterProcessObserver(IProcessObserver observer) throws RemoteException; 338 339 public boolean isIntentSenderTargetedToPackage(IIntentSender sender) throws RemoteException; 340 341 public boolean isIntentSenderAnActivity(IIntentSender sender) throws RemoteException; 342 343 public void updatePersistentConfiguration(Configuration values) throws RemoteException; 344 345 public long[] getProcessPss(int[] pids) throws RemoteException; 346 347 public void showBootMessage(CharSequence msg, boolean always) throws RemoteException; 348 349 public void dismissKeyguardOnNextActivity() throws RemoteException; 350 351 public boolean targetTaskAffinityMatchesActivity(IBinder token, String destAffinity) 352 throws RemoteException; 353 354 public boolean navigateUpTo(IBinder token, Intent target, int resultCode, Intent resultData) 355 throws RemoteException; 356 357 // This is not public because you need to be very careful in how you 358 // manage your activity to make sure it is always the uid you expect. 359 public int getLaunchedFromUid(IBinder activityToken) throws RemoteException; 360 361 /* 362 * Private non-Binder interfaces 363 */ 364 /* package */ boolean testIsSystemReady(); 365 366 /** Information you can retrieve about a particular application. */ 367 public static class ContentProviderHolder implements Parcelable { 368 public final ProviderInfo info; 369 public IContentProvider provider; 370 public IBinder connection; 371 public boolean noReleaseNeeded; 372 373 public ContentProviderHolder(ProviderInfo _info) { 374 info = _info; 375 } 376 377 public int describeContents() { 378 return 0; 379 } 380 381 public void writeToParcel(Parcel dest, int flags) { 382 info.writeToParcel(dest, 0); 383 if (provider != null) { 384 dest.writeStrongBinder(provider.asBinder()); 385 } else { 386 dest.writeStrongBinder(null); 387 } 388 dest.writeStrongBinder(connection); 389 dest.writeInt(noReleaseNeeded ? 1:0); 390 } 391 392 public static final Parcelable.Creator<ContentProviderHolder> CREATOR 393 = new Parcelable.Creator<ContentProviderHolder>() { 394 public ContentProviderHolder createFromParcel(Parcel source) { 395 return new ContentProviderHolder(source); 396 } 397 398 public ContentProviderHolder[] newArray(int size) { 399 return new ContentProviderHolder[size]; 400 } 401 }; 402 403 private ContentProviderHolder(Parcel source) { 404 info = ProviderInfo.CREATOR.createFromParcel(source); 405 provider = ContentProviderNative.asInterface( 406 source.readStrongBinder()); 407 connection = source.readStrongBinder(); 408 noReleaseNeeded = source.readInt() != 0; 409 } 410 } 411 412 /** Information returned after waiting for an activity start. */ 413 public static class WaitResult implements Parcelable { 414 public int result; 415 public boolean timeout; 416 public ComponentName who; 417 public long thisTime; 418 public long totalTime; 419 420 public WaitResult() { 421 } 422 423 public int describeContents() { 424 return 0; 425 } 426 427 public void writeToParcel(Parcel dest, int flags) { 428 dest.writeInt(result); 429 dest.writeInt(timeout ? 1 : 0); 430 ComponentName.writeToParcel(who, dest); 431 dest.writeLong(thisTime); 432 dest.writeLong(totalTime); 433 } 434 435 public static final Parcelable.Creator<WaitResult> CREATOR 436 = new Parcelable.Creator<WaitResult>() { 437 public WaitResult createFromParcel(Parcel source) { 438 return new WaitResult(source); 439 } 440 441 public WaitResult[] newArray(int size) { 442 return new WaitResult[size]; 443 } 444 }; 445 446 private WaitResult(Parcel source) { 447 result = source.readInt(); 448 timeout = source.readInt() != 0; 449 who = ComponentName.readFromParcel(source); 450 thisTime = source.readLong(); 451 totalTime = source.readLong(); 452 } 453 }; 454 455 String descriptor = "android.app.IActivityManager"; 456 457 // Please keep these transaction codes the same -- they are also 458 // sent by C++ code. 459 int START_RUNNING_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION; 460 int HANDLE_APPLICATION_CRASH_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+1; 461 int START_ACTIVITY_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+2; 462 int UNHANDLED_BACK_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+3; 463 int OPEN_CONTENT_URI_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+4; 464 465 // Remaining non-native transaction codes. 466 int FINISH_ACTIVITY_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+10; 467 int REGISTER_RECEIVER_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+11; 468 int UNREGISTER_RECEIVER_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+12; 469 int BROADCAST_INTENT_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+13; 470 int UNBROADCAST_INTENT_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+14; 471 int FINISH_RECEIVER_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+15; 472 int ATTACH_APPLICATION_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+16; 473 int ACTIVITY_IDLE_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+17; 474 int ACTIVITY_PAUSED_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+18; 475 int ACTIVITY_STOPPED_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+19; 476 int GET_CALLING_PACKAGE_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+20; 477 int GET_CALLING_ACTIVITY_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+21; 478 int GET_TASKS_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+22; 479 int MOVE_TASK_TO_FRONT_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+23; 480 int MOVE_TASK_TO_BACK_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+24; 481 int MOVE_TASK_BACKWARDS_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+25; 482 int GET_TASK_FOR_ACTIVITY_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+26; 483 int REPORT_THUMBNAIL_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+27; 484 int GET_CONTENT_PROVIDER_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+28; 485 int PUBLISH_CONTENT_PROVIDERS_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+29; 486 int REF_CONTENT_PROVIDER_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+30; 487 int FINISH_SUB_ACTIVITY_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+31; 488 int GET_RUNNING_SERVICE_CONTROL_PANEL_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+32; 489 int START_SERVICE_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+33; 490 int STOP_SERVICE_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+34; 491 int BIND_SERVICE_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+35; 492 int UNBIND_SERVICE_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+36; 493 int PUBLISH_SERVICE_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+37; 494 495 int GOING_TO_SLEEP_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+39; 496 int WAKING_UP_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+40; 497 int SET_DEBUG_APP_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+41; 498 int SET_ALWAYS_FINISH_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+42; 499 int START_INSTRUMENTATION_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+43; 500 int FINISH_INSTRUMENTATION_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+44; 501 int GET_CONFIGURATION_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+45; 502 int UPDATE_CONFIGURATION_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+46; 503 int STOP_SERVICE_TOKEN_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+47; 504 int GET_ACTIVITY_CLASS_FOR_TOKEN_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+48; 505 int GET_PACKAGE_FOR_TOKEN_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+49; 506 int SET_PROCESS_LIMIT_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+50; 507 int GET_PROCESS_LIMIT_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+51; 508 int CHECK_PERMISSION_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+52; 509 int CHECK_URI_PERMISSION_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+53; 510 int GRANT_URI_PERMISSION_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+54; 511 int REVOKE_URI_PERMISSION_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+55; 512 int SET_ACTIVITY_CONTROLLER_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+56; 513 int SHOW_WAITING_FOR_DEBUGGER_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+57; 514 int SIGNAL_PERSISTENT_PROCESSES_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+58; 515 int GET_RECENT_TASKS_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+59; 516 int SERVICE_DONE_EXECUTING_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+60; 517 int ACTIVITY_DESTROYED_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+61; 518 int GET_INTENT_SENDER_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+62; 519 int CANCEL_INTENT_SENDER_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+63; 520 int GET_PACKAGE_FOR_INTENT_SENDER_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+64; 521 int ENTER_SAFE_MODE_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+65; 522 int START_NEXT_MATCHING_ACTIVITY_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+66; 523 int NOTE_WAKEUP_ALARM_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+67; 524 int REMOVE_CONTENT_PROVIDER_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+68; 525 int SET_REQUESTED_ORIENTATION_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+69; 526 int GET_REQUESTED_ORIENTATION_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+70; 527 int UNBIND_FINISHED_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+71; 528 int SET_PROCESS_FOREGROUND_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+72; 529 int SET_SERVICE_FOREGROUND_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+73; 530 int MOVE_ACTIVITY_TASK_TO_BACK_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+74; 531 int GET_MEMORY_INFO_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+75; 532 int GET_PROCESSES_IN_ERROR_STATE_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+76; 533 int CLEAR_APP_DATA_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+77; 534 int FORCE_STOP_PACKAGE_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+78; 535 int KILL_PIDS_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+79; 536 int GET_SERVICES_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+80; 537 int GET_TASK_THUMBNAILS_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+81; 538 int GET_RUNNING_APP_PROCESSES_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+82; 539 int GET_DEVICE_CONFIGURATION_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+83; 540 int PEEK_SERVICE_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+84; 541 int PROFILE_CONTROL_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+85; 542 int SHUTDOWN_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+86; 543 int STOP_APP_SWITCHES_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+87; 544 int RESUME_APP_SWITCHES_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+88; 545 int START_BACKUP_AGENT_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+89; 546 int BACKUP_AGENT_CREATED_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+90; 547 int UNBIND_BACKUP_AGENT_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+91; 548 int GET_UID_FOR_INTENT_SENDER_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+92; 549 550 551 int START_ACTIVITY_IN_PACKAGE_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+94; 552 int KILL_APPLICATION_WITH_UID_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+95; 553 int CLOSE_SYSTEM_DIALOGS_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+96; 554 int GET_PROCESS_MEMORY_INFO_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+97; 555 int KILL_APPLICATION_PROCESS_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+98; 556 int START_ACTIVITY_INTENT_SENDER_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+99; 557 int OVERRIDE_PENDING_TRANSITION_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+100; 558 int HANDLE_APPLICATION_WTF_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+101; 559 int KILL_BACKGROUND_PROCESSES_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+102; 560 int IS_USER_A_MONKEY_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+103; 561 int START_ACTIVITY_AND_WAIT_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+104; 562 int WILL_ACTIVITY_BE_VISIBLE_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+105; 563 int START_ACTIVITY_WITH_CONFIG_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+106; 564 int GET_RUNNING_EXTERNAL_APPLICATIONS_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+107; 565 int FINISH_HEAVY_WEIGHT_APP_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+108; 566 int HANDLE_APPLICATION_STRICT_MODE_VIOLATION_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+109; 567 int IS_IMMERSIVE_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+110; 568 int SET_IMMERSIVE_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+111; 569 int IS_TOP_ACTIVITY_IMMERSIVE_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+112; 570 int CRASH_APPLICATION_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+113; 571 int GET_PROVIDER_MIME_TYPE_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+114; 572 int NEW_URI_PERMISSION_OWNER_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+115; 573 int GRANT_URI_PERMISSION_FROM_OWNER_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+116; 574 int REVOKE_URI_PERMISSION_FROM_OWNER_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+117; 575 int CHECK_GRANT_URI_PERMISSION_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+118; 576 int DUMP_HEAP_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+119; 577 int START_ACTIVITIES_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+120; 578 int START_ACTIVITIES_IN_PACKAGE_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+121; 579 int ACTIVITY_SLEPT_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+122; 580 int GET_FRONT_ACTIVITY_SCREEN_COMPAT_MODE_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+123; 581 int SET_FRONT_ACTIVITY_SCREEN_COMPAT_MODE_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+124; 582 int GET_PACKAGE_SCREEN_COMPAT_MODE_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+125; 583 int SET_PACKAGE_SCREEN_COMPAT_MODE_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+126; 584 int GET_PACKAGE_ASK_SCREEN_COMPAT_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+127; 585 int SET_PACKAGE_ASK_SCREEN_COMPAT_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+128; 586 int SWITCH_USER_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+129; 587 int REMOVE_SUB_TASK_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+130; 588 int REMOVE_TASK_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+131; 589 int REGISTER_PROCESS_OBSERVER_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+132; 590 int UNREGISTER_PROCESS_OBSERVER_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+133; 591 int IS_INTENT_SENDER_TARGETED_TO_PACKAGE_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+134; 592 int UPDATE_PERSISTENT_CONFIGURATION_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+135; 593 int GET_PROCESS_PSS_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+136; 594 int SHOW_BOOT_MESSAGE_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+137; 595 int DISMISS_KEYGUARD_ON_NEXT_ACTIVITY_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+138; 596 int KILL_ALL_BACKGROUND_PROCESSES_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+139; 597 int GET_CONTENT_PROVIDER_EXTERNAL_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+140; 598 int REMOVE_CONTENT_PROVIDER_EXTERNAL_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+141; 599 int GET_MY_MEMORY_STATE_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+142; 600 int KILL_PROCESSES_BELOW_FOREGROUND_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+143; 601 int GET_CURRENT_USER_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+144; 602 int TARGET_TASK_AFFINITY_MATCHES_ACTIVITY_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+145; 603 int NAVIGATE_UP_TO_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+146; 604 int SET_LOCK_SCREEN_SHOWN_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+147; 605 int FINISH_ACTIVITY_AFFINITY_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+148; 606 int GET_LAUNCHED_FROM_UID_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+149; 607 int UNSTABLE_PROVIDER_DIED_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+150; 608 int IS_INTENT_SENDER_AN_ACTIVITY_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+151; 609 } 610