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