IActivityManager.java revision 605eb79c9519307147fc1795d0eb155638a7f542
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.app.ActivityManager.RunningTaskInfo; 20import android.app.ActivityManager.RunningServiceInfo; 21import android.app.ActivityManager.StackInfo; 22import android.content.ComponentName; 23import android.content.ContentProviderNative; 24import android.content.IContentProvider; 25import android.content.IIntentReceiver; 26import android.content.IIntentSender; 27import android.content.Intent; 28import android.content.IntentFilter; 29import android.content.IntentSender; 30import android.content.UriPermission; 31import android.content.pm.ApplicationInfo; 32import android.content.pm.ConfigurationInfo; 33import android.content.pm.IPackageDataObserver; 34import android.content.pm.ParceledListSlice; 35import android.content.pm.ProviderInfo; 36import android.content.pm.UserInfo; 37import android.content.res.Configuration; 38import android.graphics.Bitmap; 39import android.graphics.Point; 40import android.graphics.Rect; 41import android.net.Uri; 42import android.os.Bundle; 43import android.os.Debug; 44import android.os.IBinder; 45import android.os.IInterface; 46import android.os.Parcel; 47import android.os.ParcelFileDescriptor; 48import android.os.Parcelable; 49import android.os.PersistableBundle; 50import android.os.RemoteException; 51import android.os.StrictMode; 52import android.service.voice.IVoiceInteractionSession; 53import com.android.internal.app.IVoiceInteractor; 54 55import java.util.List; 56 57/** 58 * System private API for talking with the activity manager service. This 59 * provides calls from the application back to the activity manager. 60 * 61 * {@hide} 62 */ 63public interface IActivityManager extends IInterface { 64 public int startActivity(IApplicationThread caller, String callingPackage, Intent intent, 65 String resolvedType, IBinder resultTo, String resultWho, int requestCode, int flags, 66 ProfilerInfo profilerInfo, Bundle options) throws RemoteException; 67 public int startActivityAsUser(IApplicationThread caller, String callingPackage, Intent intent, 68 String resolvedType, IBinder resultTo, String resultWho, int requestCode, int flags, 69 ProfilerInfo profilerInfo, Bundle options, int userId) throws RemoteException; 70 public int startActivityAsCaller(IApplicationThread caller, String callingPackage, 71 Intent intent, String resolvedType, IBinder resultTo, String resultWho, int requestCode, 72 int flags, ProfilerInfo profilerInfo, Bundle options, int userId) throws RemoteException; 73 public WaitResult startActivityAndWait(IApplicationThread caller, String callingPackage, 74 Intent intent, String resolvedType, IBinder resultTo, String resultWho, 75 int requestCode, int flags, ProfilerInfo profilerInfo, Bundle options, 76 int userId) throws RemoteException; 77 public int startActivityWithConfig(IApplicationThread caller, String callingPackage, 78 Intent intent, String resolvedType, IBinder resultTo, String resultWho, 79 int requestCode, int startFlags, Configuration newConfig, 80 Bundle options, int userId) throws RemoteException; 81 public int startActivityIntentSender(IApplicationThread caller, 82 IntentSender intent, Intent fillInIntent, String resolvedType, 83 IBinder resultTo, String resultWho, int requestCode, 84 int flagsMask, int flagsValues, Bundle options) throws RemoteException; 85 public int startVoiceActivity(String callingPackage, int callingPid, int callingUid, 86 Intent intent, String resolvedType, IVoiceInteractionSession session, 87 IVoiceInteractor interactor, int flags, ProfilerInfo profilerInfo, Bundle options, 88 int userId) throws RemoteException; 89 public boolean startNextMatchingActivity(IBinder callingActivity, 90 Intent intent, Bundle options) throws RemoteException; 91 public int startActivityFromRecents(int taskId, Bundle options) throws RemoteException; 92 public boolean finishActivity(IBinder token, int code, Intent data, boolean finishTask) 93 throws RemoteException; 94 public void finishSubActivity(IBinder token, String resultWho, int requestCode) throws RemoteException; 95 public boolean finishActivityAffinity(IBinder token) throws RemoteException; 96 public void finishVoiceTask(IVoiceInteractionSession session) throws RemoteException; 97 public boolean releaseActivityInstance(IBinder token) throws RemoteException; 98 public void releaseSomeActivities(IApplicationThread app) throws RemoteException; 99 public boolean willActivityBeVisible(IBinder token) throws RemoteException; 100 public Intent registerReceiver(IApplicationThread caller, String callerPackage, 101 IIntentReceiver receiver, IntentFilter filter, 102 String requiredPermission, int userId) throws RemoteException; 103 public void unregisterReceiver(IIntentReceiver receiver) throws RemoteException; 104 public int broadcastIntent(IApplicationThread caller, Intent intent, 105 String resolvedType, IIntentReceiver resultTo, int resultCode, 106 String resultData, Bundle map, String requiredPermission, 107 int appOp, boolean serialized, boolean sticky, int userId) throws RemoteException; 108 public void unbroadcastIntent(IApplicationThread caller, Intent intent, int userId) throws RemoteException; 109 public void finishReceiver(IBinder who, int resultCode, String resultData, Bundle map, 110 boolean abortBroadcast, int flags) throws RemoteException; 111 public void attachApplication(IApplicationThread app) throws RemoteException; 112 public void activityResumed(IBinder token) throws RemoteException; 113 public void activityIdle(IBinder token, Configuration config, 114 boolean stopProfiling) throws RemoteException; 115 public void activityPaused(IBinder token) throws RemoteException; 116 public void activityStopped(IBinder token, Bundle state, 117 PersistableBundle persistentState, CharSequence description) throws RemoteException; 118 public void activitySlept(IBinder token) throws RemoteException; 119 public void activityDestroyed(IBinder token) throws RemoteException; 120 public String getCallingPackage(IBinder token) throws RemoteException; 121 public ComponentName getCallingActivity(IBinder token) throws RemoteException; 122 public List<IAppTask> getAppTasks(String callingPackage) throws RemoteException; 123 public int addAppTask(IBinder activityToken, Intent intent, 124 ActivityManager.TaskDescription description, Bitmap thumbnail) throws RemoteException; 125 public Point getAppTaskThumbnailSize() throws RemoteException; 126 public List<RunningTaskInfo> getTasks(int maxNum, int flags) throws RemoteException; 127 public List<ActivityManager.RecentTaskInfo> getRecentTasks(int maxNum, 128 int flags, int userId) throws RemoteException; 129 public ActivityManager.TaskThumbnail getTaskThumbnail(int taskId) throws RemoteException; 130 public List<RunningServiceInfo> getServices(int maxNum, int flags) throws RemoteException; 131 public List<ActivityManager.ProcessErrorStateInfo> getProcessesInErrorState() 132 throws RemoteException; 133 public void moveTaskToFront(int task, int flags, Bundle options) throws RemoteException; 134 public void moveTaskToBack(int task) throws RemoteException; 135 public boolean moveActivityTaskToBack(IBinder token, boolean nonRoot) throws RemoteException; 136 public void moveTaskBackwards(int task) throws RemoteException; 137 public void moveTaskToStack(int taskId, int stackId, boolean toTop) throws RemoteException; 138 public void resizeStack(int stackId, Rect bounds) throws RemoteException; 139 public List<StackInfo> getAllStackInfos() throws RemoteException; 140 public StackInfo getStackInfo(int stackId) throws RemoteException; 141 public boolean isInHomeStack(int taskId) throws RemoteException; 142 public void setFocusedStack(int stackId) throws RemoteException; 143 public int getTaskForActivity(IBinder token, boolean onlyRoot) throws RemoteException; 144 public ContentProviderHolder getContentProvider(IApplicationThread caller, 145 String name, int userId, boolean stable) throws RemoteException; 146 public ContentProviderHolder getContentProviderExternal(String name, int userId, IBinder token) 147 throws RemoteException; 148 public void removeContentProvider(IBinder connection, boolean stable) throws RemoteException; 149 public void removeContentProviderExternal(String name, IBinder token) throws RemoteException; 150 public void publishContentProviders(IApplicationThread caller, 151 List<ContentProviderHolder> providers) throws RemoteException; 152 public boolean refContentProvider(IBinder connection, int stableDelta, int unstableDelta) 153 throws RemoteException; 154 public void unstableProviderDied(IBinder connection) throws RemoteException; 155 public void appNotRespondingViaProvider(IBinder connection) throws RemoteException; 156 public PendingIntent getRunningServiceControlPanel(ComponentName service) 157 throws RemoteException; 158 public ComponentName startService(IApplicationThread caller, Intent service, 159 String resolvedType, int userId) throws RemoteException; 160 public int stopService(IApplicationThread caller, Intent service, 161 String resolvedType, int userId) throws RemoteException; 162 public boolean stopServiceToken(ComponentName className, IBinder token, 163 int startId) throws RemoteException; 164 public void setServiceForeground(ComponentName className, IBinder token, 165 int id, Notification notification, boolean keepNotification) throws RemoteException; 166 public int bindService(IApplicationThread caller, IBinder token, 167 Intent service, String resolvedType, 168 IServiceConnection connection, int flags, int userId) throws RemoteException; 169 public boolean unbindService(IServiceConnection connection) throws RemoteException; 170 public void publishService(IBinder token, 171 Intent intent, IBinder service) throws RemoteException; 172 public void unbindFinished(IBinder token, Intent service, 173 boolean doRebind) throws RemoteException; 174 /* oneway */ 175 public void serviceDoneExecuting(IBinder token, int type, int startId, 176 int res) throws RemoteException; 177 public IBinder peekService(Intent service, String resolvedType) throws RemoteException; 178 179 public boolean bindBackupAgent(ApplicationInfo appInfo, int backupRestoreMode) 180 throws RemoteException; 181 public void clearPendingBackup() throws RemoteException; 182 public void backupAgentCreated(String packageName, IBinder agent) throws RemoteException; 183 public void unbindBackupAgent(ApplicationInfo appInfo) throws RemoteException; 184 public void killApplicationProcess(String processName, int uid) throws RemoteException; 185 186 public boolean startInstrumentation(ComponentName className, String profileFile, 187 int flags, Bundle arguments, IInstrumentationWatcher watcher, 188 IUiAutomationConnection connection, int userId, 189 String abiOverride) throws RemoteException; 190 public void finishInstrumentation(IApplicationThread target, 191 int resultCode, Bundle results) throws RemoteException; 192 193 public Configuration getConfiguration() throws RemoteException; 194 public void updateConfiguration(Configuration values) throws RemoteException; 195 public void setRequestedOrientation(IBinder token, 196 int requestedOrientation) throws RemoteException; 197 public int getRequestedOrientation(IBinder token) throws RemoteException; 198 199 public ComponentName getActivityClassForToken(IBinder token) throws RemoteException; 200 public String getPackageForToken(IBinder token) throws RemoteException; 201 202 public IIntentSender getIntentSender(int type, 203 String packageName, IBinder token, String resultWho, 204 int requestCode, Intent[] intents, String[] resolvedTypes, 205 int flags, Bundle options, int userId) throws RemoteException; 206 public void cancelIntentSender(IIntentSender sender) throws RemoteException; 207 public boolean clearApplicationUserData(final String packageName, 208 final IPackageDataObserver observer, int userId) throws RemoteException; 209 public String getPackageForIntentSender(IIntentSender sender) throws RemoteException; 210 public int getUidForIntentSender(IIntentSender sender) throws RemoteException; 211 212 public int handleIncomingUser(int callingPid, int callingUid, int userId, boolean allowAll, 213 boolean requireFull, String name, String callerPackage) throws RemoteException; 214 215 public void setProcessLimit(int max) throws RemoteException; 216 public int getProcessLimit() throws RemoteException; 217 218 public void setProcessForeground(IBinder token, int pid, 219 boolean isForeground) throws RemoteException; 220 221 public int checkPermission(String permission, int pid, int uid) 222 throws RemoteException; 223 224 public int checkUriPermission(Uri uri, int pid, int uid, int mode, int userId) 225 throws RemoteException; 226 public void grantUriPermission(IApplicationThread caller, String targetPkg, Uri uri, 227 int mode, int userId) throws RemoteException; 228 public void revokeUriPermission(IApplicationThread caller, Uri uri, int mode, int userId) 229 throws RemoteException; 230 public void takePersistableUriPermission(Uri uri, int modeFlags, int userId) 231 throws RemoteException; 232 public void releasePersistableUriPermission(Uri uri, int modeFlags, int userId) 233 throws RemoteException; 234 public ParceledListSlice<UriPermission> getPersistedUriPermissions( 235 String packageName, boolean incoming) throws RemoteException; 236 237 public void showWaitingForDebugger(IApplicationThread who, boolean waiting) 238 throws RemoteException; 239 240 public void getMemoryInfo(ActivityManager.MemoryInfo outInfo) throws RemoteException; 241 242 public void killBackgroundProcesses(final String packageName, int userId) 243 throws RemoteException; 244 public void killAllBackgroundProcesses() throws RemoteException; 245 public void forceStopPackage(final String packageName, int userId) throws RemoteException; 246 247 // Note: probably don't want to allow applications access to these. 248 public void setLockScreenShown(boolean shown) throws RemoteException; 249 250 public void unhandledBack() throws RemoteException; 251 public ParcelFileDescriptor openContentUri(Uri uri) throws RemoteException; 252 public void setDebugApp( 253 String packageName, boolean waitForDebugger, boolean persistent) 254 throws RemoteException; 255 public void setAlwaysFinish(boolean enabled) throws RemoteException; 256 public void setActivityController(IActivityController watcher) 257 throws RemoteException; 258 259 public void enterSafeMode() throws RemoteException; 260 261 public void noteWakeupAlarm(IIntentSender sender, int sourceUid, String sourcePkg) 262 throws RemoteException; 263 264 public boolean killPids(int[] pids, String reason, boolean secure) throws RemoteException; 265 public boolean killProcessesBelowForeground(String reason) throws RemoteException; 266 267 // Special low-level communication with activity manager. 268 public void handleApplicationCrash(IBinder app, 269 ApplicationErrorReport.CrashInfo crashInfo) throws RemoteException; 270 public boolean handleApplicationWtf(IBinder app, String tag, boolean system, 271 ApplicationErrorReport.CrashInfo crashInfo) throws RemoteException; 272 273 // A StrictMode violation to be handled. The violationMask is a 274 // subset of the original StrictMode policy bitmask, with only the 275 // bit violated and penalty bits to be executed by the 276 // ActivityManagerService remaining set. 277 public void handleApplicationStrictModeViolation(IBinder app, int violationMask, 278 StrictMode.ViolationInfo crashInfo) throws RemoteException; 279 280 /* 281 * This will deliver the specified signal to all the persistent processes. Currently only 282 * SIGUSR1 is delivered. All others are ignored. 283 */ 284 public void signalPersistentProcesses(int signal) throws RemoteException; 285 // Retrieve running application processes in the system 286 public List<ActivityManager.RunningAppProcessInfo> getRunningAppProcesses() 287 throws RemoteException; 288 // Retrieve info of applications installed on external media that are currently 289 // running. 290 public List<ApplicationInfo> getRunningExternalApplications() 291 throws RemoteException; 292 // Get memory information about the calling process. 293 public void getMyMemoryState(ActivityManager.RunningAppProcessInfo outInfo) 294 throws RemoteException; 295 // Get device configuration 296 public ConfigurationInfo getDeviceConfigurationInfo() throws RemoteException; 297 298 // Turn on/off profiling in a particular process. 299 public boolean profileControl(String process, int userId, boolean start, 300 ProfilerInfo profilerInfo, int profileType) throws RemoteException; 301 302 public boolean shutdown(int timeout) throws RemoteException; 303 304 public void stopAppSwitches() throws RemoteException; 305 public void resumeAppSwitches() throws RemoteException; 306 307 public void addPackageDependency(String packageName) throws RemoteException; 308 309 public void killApplicationWithAppId(String pkg, int appid, String reason) 310 throws RemoteException; 311 312 public void closeSystemDialogs(String reason) throws RemoteException; 313 314 public Debug.MemoryInfo[] getProcessMemoryInfo(int[] pids) 315 throws RemoteException; 316 317 public void overridePendingTransition(IBinder token, String packageName, 318 int enterAnim, int exitAnim) throws RemoteException; 319 320 public boolean isUserAMonkey() throws RemoteException; 321 322 public void setUserIsMonkey(boolean monkey) throws RemoteException; 323 324 public void finishHeavyWeightApp() throws RemoteException; 325 326 public boolean convertFromTranslucent(IBinder token) throws RemoteException; 327 public boolean convertToTranslucent(IBinder token, ActivityOptions options) throws RemoteException; 328 public void notifyActivityDrawn(IBinder token) throws RemoteException; 329 public ActivityOptions getActivityOptions(IBinder token) throws RemoteException; 330 331 public void bootAnimationComplete() throws RemoteException; 332 333 public void setImmersive(IBinder token, boolean immersive) throws RemoteException; 334 public boolean isImmersive(IBinder token) throws RemoteException; 335 public boolean isTopActivityImmersive() throws RemoteException; 336 public boolean isTopOfTask(IBinder token) throws RemoteException; 337 338 public void crashApplication(int uid, int initialPid, String packageName, 339 String message) throws RemoteException; 340 341 public String getProviderMimeType(Uri uri, int userId) throws RemoteException; 342 343 public IBinder newUriPermissionOwner(String name) throws RemoteException; 344 public void grantUriPermissionFromOwner(IBinder owner, int fromUid, String targetPkg, 345 Uri uri, int mode, int sourceUserId, int targetUserId) throws RemoteException; 346 public void revokeUriPermissionFromOwner(IBinder owner, Uri uri, 347 int mode, int userId) throws RemoteException; 348 349 public int checkGrantUriPermission(int callingUid, String targetPkg, Uri uri, 350 int modeFlags, int userId) throws RemoteException; 351 352 // Cause the specified process to dump the specified heap. 353 public boolean dumpHeap(String process, int userId, boolean managed, String path, 354 ParcelFileDescriptor fd) throws RemoteException; 355 356 public int startActivities(IApplicationThread caller, String callingPackage, 357 Intent[] intents, String[] resolvedTypes, IBinder resultTo, 358 Bundle options, int userId) throws RemoteException; 359 360 public int getFrontActivityScreenCompatMode() throws RemoteException; 361 public void setFrontActivityScreenCompatMode(int mode) throws RemoteException; 362 public int getPackageScreenCompatMode(String packageName) throws RemoteException; 363 public void setPackageScreenCompatMode(String packageName, int mode) 364 throws RemoteException; 365 public boolean getPackageAskScreenCompat(String packageName) throws RemoteException; 366 public void setPackageAskScreenCompat(String packageName, boolean ask) 367 throws RemoteException; 368 369 // Multi-user APIs 370 public boolean switchUser(int userid) throws RemoteException; 371 public boolean startUserInBackground(int userid) throws RemoteException; 372 public int stopUser(int userid, IStopUserCallback callback) throws RemoteException; 373 public UserInfo getCurrentUser() throws RemoteException; 374 public boolean isUserRunning(int userid, boolean orStopping) throws RemoteException; 375 public int[] getRunningUserIds() throws RemoteException; 376 377 public boolean removeTask(int taskId, int flags) throws RemoteException; 378 379 public void registerProcessObserver(IProcessObserver observer) throws RemoteException; 380 public void unregisterProcessObserver(IProcessObserver observer) throws RemoteException; 381 382 public boolean isIntentSenderTargetedToPackage(IIntentSender sender) throws RemoteException; 383 384 public boolean isIntentSenderAnActivity(IIntentSender sender) throws RemoteException; 385 386 public Intent getIntentForIntentSender(IIntentSender sender) throws RemoteException; 387 388 public String getTagForIntentSender(IIntentSender sender, String prefix) throws RemoteException; 389 390 public void updatePersistentConfiguration(Configuration values) throws RemoteException; 391 392 public long[] getProcessPss(int[] pids) throws RemoteException; 393 394 public void showBootMessage(CharSequence msg, boolean always) throws RemoteException; 395 396 public void keyguardWaitingForActivityDrawn() throws RemoteException; 397 398 public boolean shouldUpRecreateTask(IBinder token, String destAffinity) 399 throws RemoteException; 400 401 public boolean navigateUpTo(IBinder token, Intent target, int resultCode, Intent resultData) 402 throws RemoteException; 403 404 // These are not public because you need to be very careful in how you 405 // manage your activity to make sure it is always the uid you expect. 406 public int getLaunchedFromUid(IBinder activityToken) throws RemoteException; 407 public String getLaunchedFromPackage(IBinder activityToken) throws RemoteException; 408 409 public void registerUserSwitchObserver(IUserSwitchObserver observer) throws RemoteException; 410 public void unregisterUserSwitchObserver(IUserSwitchObserver observer) throws RemoteException; 411 412 public void requestBugReport() throws RemoteException; 413 414 public long inputDispatchingTimedOut(int pid, boolean aboveSystem, String reason) 415 throws RemoteException; 416 417 public Bundle getAssistContextExtras(int requestType) throws RemoteException; 418 419 public void reportAssistContextExtras(IBinder token, Bundle extras) throws RemoteException; 420 421 public boolean launchAssistIntent(Intent intent, int requestType, String hint, int userHandle) 422 throws RemoteException; 423 424 public void killUid(int uid, String reason) throws RemoteException; 425 426 public void hang(IBinder who, boolean allowRestart) throws RemoteException; 427 428 public void reportActivityFullyDrawn(IBinder token) throws RemoteException; 429 430 public void restart() throws RemoteException; 431 432 public void performIdleMaintenance() throws RemoteException; 433 434 public IActivityContainer createActivityContainer(IBinder parentActivityToken, 435 IActivityContainerCallback callback) throws RemoteException; 436 437 public void deleteActivityContainer(IActivityContainer container) throws RemoteException; 438 439 public IActivityContainer getEnclosingActivityContainer(IBinder activityToken) 440 throws RemoteException; 441 442 public IBinder getHomeActivityToken() throws RemoteException; 443 444 public void startLockTaskModeOnCurrent() throws RemoteException; 445 446 public void startLockTaskMode(int taskId) throws RemoteException; 447 448 public void startLockTaskMode(IBinder token) throws RemoteException; 449 450 public void stopLockTaskMode() throws RemoteException; 451 452 public void stopLockTaskModeOnCurrent() throws RemoteException; 453 454 public boolean isInLockTaskMode() throws RemoteException; 455 456 public void setTaskDescription(IBinder token, ActivityManager.TaskDescription values) 457 throws RemoteException; 458 public Bitmap getTaskDescriptionIcon(String filename) throws RemoteException; 459 460 public boolean requestVisibleBehind(IBinder token, boolean visible) throws RemoteException; 461 public boolean isBackgroundVisibleBehind(IBinder token) throws RemoteException; 462 public void backgroundResourcesReleased(IBinder token) throws RemoteException; 463 464 public void notifyLaunchTaskBehindComplete(IBinder token) throws RemoteException; 465 public void notifyEnterAnimationComplete(IBinder token) throws RemoteException; 466 467 public void notifyCleartextNetwork(int uid, byte[] firstPacket) throws RemoteException; 468 469 /* 470 * Private non-Binder interfaces 471 */ 472 /* package */ boolean testIsSystemReady(); 473 474 /** Information you can retrieve about a particular application. */ 475 public static class ContentProviderHolder implements Parcelable { 476 public final ProviderInfo info; 477 public IContentProvider provider; 478 public IBinder connection; 479 public boolean noReleaseNeeded; 480 481 public ContentProviderHolder(ProviderInfo _info) { 482 info = _info; 483 } 484 485 @Override 486 public int describeContents() { 487 return 0; 488 } 489 490 @Override 491 public void writeToParcel(Parcel dest, int flags) { 492 info.writeToParcel(dest, 0); 493 if (provider != null) { 494 dest.writeStrongBinder(provider.asBinder()); 495 } else { 496 dest.writeStrongBinder(null); 497 } 498 dest.writeStrongBinder(connection); 499 dest.writeInt(noReleaseNeeded ? 1:0); 500 } 501 502 public static final Parcelable.Creator<ContentProviderHolder> CREATOR 503 = new Parcelable.Creator<ContentProviderHolder>() { 504 @Override 505 public ContentProviderHolder createFromParcel(Parcel source) { 506 return new ContentProviderHolder(source); 507 } 508 509 @Override 510 public ContentProviderHolder[] newArray(int size) { 511 return new ContentProviderHolder[size]; 512 } 513 }; 514 515 private ContentProviderHolder(Parcel source) { 516 info = ProviderInfo.CREATOR.createFromParcel(source); 517 provider = ContentProviderNative.asInterface( 518 source.readStrongBinder()); 519 connection = source.readStrongBinder(); 520 noReleaseNeeded = source.readInt() != 0; 521 } 522 } 523 524 /** Information returned after waiting for an activity start. */ 525 public static class WaitResult implements Parcelable { 526 public int result; 527 public boolean timeout; 528 public ComponentName who; 529 public long thisTime; 530 public long totalTime; 531 532 public WaitResult() { 533 } 534 535 @Override 536 public int describeContents() { 537 return 0; 538 } 539 540 @Override 541 public void writeToParcel(Parcel dest, int flags) { 542 dest.writeInt(result); 543 dest.writeInt(timeout ? 1 : 0); 544 ComponentName.writeToParcel(who, dest); 545 dest.writeLong(thisTime); 546 dest.writeLong(totalTime); 547 } 548 549 public static final Parcelable.Creator<WaitResult> CREATOR 550 = new Parcelable.Creator<WaitResult>() { 551 @Override 552 public WaitResult createFromParcel(Parcel source) { 553 return new WaitResult(source); 554 } 555 556 @Override 557 public WaitResult[] newArray(int size) { 558 return new WaitResult[size]; 559 } 560 }; 561 562 private WaitResult(Parcel source) { 563 result = source.readInt(); 564 timeout = source.readInt() != 0; 565 who = ComponentName.readFromParcel(source); 566 thisTime = source.readLong(); 567 totalTime = source.readLong(); 568 } 569 } 570 571 String descriptor = "android.app.IActivityManager"; 572 573 // Please keep these transaction codes the same -- they are also 574 // sent by C++ code. 575 int HANDLE_APPLICATION_CRASH_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+1; 576 int START_ACTIVITY_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+2; 577 int UNHANDLED_BACK_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+3; 578 int OPEN_CONTENT_URI_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+4; 579 580 // Remaining non-native transaction codes. 581 int FINISH_ACTIVITY_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+10; 582 int REGISTER_RECEIVER_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+11; 583 int UNREGISTER_RECEIVER_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+12; 584 int BROADCAST_INTENT_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+13; 585 int UNBROADCAST_INTENT_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+14; 586 int FINISH_RECEIVER_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+15; 587 int ATTACH_APPLICATION_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+16; 588 int ACTIVITY_IDLE_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+17; 589 int ACTIVITY_PAUSED_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+18; 590 int ACTIVITY_STOPPED_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+19; 591 int GET_CALLING_PACKAGE_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+20; 592 int GET_CALLING_ACTIVITY_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+21; 593 int GET_TASKS_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+22; 594 int MOVE_TASK_TO_FRONT_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+23; 595 int MOVE_TASK_TO_BACK_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+24; 596 int MOVE_TASK_BACKWARDS_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+25; 597 int GET_TASK_FOR_ACTIVITY_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+26; 598 599 int GET_CONTENT_PROVIDER_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+28; 600 int PUBLISH_CONTENT_PROVIDERS_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+29; 601 int REF_CONTENT_PROVIDER_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+30; 602 int FINISH_SUB_ACTIVITY_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+31; 603 int GET_RUNNING_SERVICE_CONTROL_PANEL_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+32; 604 int START_SERVICE_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+33; 605 int STOP_SERVICE_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+34; 606 int BIND_SERVICE_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+35; 607 int UNBIND_SERVICE_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+36; 608 int PUBLISH_SERVICE_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+37; 609 int ACTIVITY_RESUMED_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+38; 610 int SET_DEBUG_APP_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+41; 611 int SET_ALWAYS_FINISH_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+42; 612 int START_INSTRUMENTATION_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+43; 613 int FINISH_INSTRUMENTATION_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+44; 614 int GET_CONFIGURATION_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+45; 615 int UPDATE_CONFIGURATION_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+46; 616 int STOP_SERVICE_TOKEN_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+47; 617 int GET_ACTIVITY_CLASS_FOR_TOKEN_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+48; 618 int GET_PACKAGE_FOR_TOKEN_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+49; 619 int SET_PROCESS_LIMIT_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+50; 620 int GET_PROCESS_LIMIT_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+51; 621 int CHECK_PERMISSION_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+52; 622 int CHECK_URI_PERMISSION_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+53; 623 int GRANT_URI_PERMISSION_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+54; 624 int REVOKE_URI_PERMISSION_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+55; 625 int SET_ACTIVITY_CONTROLLER_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+56; 626 int SHOW_WAITING_FOR_DEBUGGER_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+57; 627 int SIGNAL_PERSISTENT_PROCESSES_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+58; 628 int GET_RECENT_TASKS_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+59; 629 int SERVICE_DONE_EXECUTING_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+60; 630 int ACTIVITY_DESTROYED_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+61; 631 int GET_INTENT_SENDER_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+62; 632 int CANCEL_INTENT_SENDER_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+63; 633 int GET_PACKAGE_FOR_INTENT_SENDER_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+64; 634 int ENTER_SAFE_MODE_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+65; 635 int START_NEXT_MATCHING_ACTIVITY_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+66; 636 int NOTE_WAKEUP_ALARM_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+67; 637 int REMOVE_CONTENT_PROVIDER_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+68; 638 int SET_REQUESTED_ORIENTATION_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+69; 639 int GET_REQUESTED_ORIENTATION_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+70; 640 int UNBIND_FINISHED_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+71; 641 int SET_PROCESS_FOREGROUND_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+72; 642 int SET_SERVICE_FOREGROUND_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+73; 643 int MOVE_ACTIVITY_TASK_TO_BACK_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+74; 644 int GET_MEMORY_INFO_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+75; 645 int GET_PROCESSES_IN_ERROR_STATE_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+76; 646 int CLEAR_APP_DATA_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+77; 647 int FORCE_STOP_PACKAGE_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+78; 648 int KILL_PIDS_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+79; 649 int GET_SERVICES_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+80; 650 int GET_TASK_THUMBNAIL_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+81; 651 int GET_RUNNING_APP_PROCESSES_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+82; 652 int GET_DEVICE_CONFIGURATION_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+83; 653 int PEEK_SERVICE_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+84; 654 int PROFILE_CONTROL_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+85; 655 int SHUTDOWN_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+86; 656 int STOP_APP_SWITCHES_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+87; 657 int RESUME_APP_SWITCHES_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+88; 658 int START_BACKUP_AGENT_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+89; 659 int BACKUP_AGENT_CREATED_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+90; 660 int UNBIND_BACKUP_AGENT_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+91; 661 int GET_UID_FOR_INTENT_SENDER_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+92; 662 int HANDLE_INCOMING_USER_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+93; 663 int ADD_PACKAGE_DEPENDENCY_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+94; 664 int KILL_APPLICATION_WITH_APPID_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+95; 665 int CLOSE_SYSTEM_DIALOGS_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+96; 666 int GET_PROCESS_MEMORY_INFO_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+97; 667 int KILL_APPLICATION_PROCESS_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+98; 668 int START_ACTIVITY_INTENT_SENDER_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+99; 669 int OVERRIDE_PENDING_TRANSITION_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+100; 670 int HANDLE_APPLICATION_WTF_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+101; 671 int KILL_BACKGROUND_PROCESSES_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+102; 672 int IS_USER_A_MONKEY_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+103; 673 int START_ACTIVITY_AND_WAIT_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+104; 674 int WILL_ACTIVITY_BE_VISIBLE_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+105; 675 int START_ACTIVITY_WITH_CONFIG_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+106; 676 int GET_RUNNING_EXTERNAL_APPLICATIONS_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+107; 677 int FINISH_HEAVY_WEIGHT_APP_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+108; 678 int HANDLE_APPLICATION_STRICT_MODE_VIOLATION_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+109; 679 int IS_IMMERSIVE_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+110; 680 int SET_IMMERSIVE_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+111; 681 int IS_TOP_ACTIVITY_IMMERSIVE_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+112; 682 int CRASH_APPLICATION_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+113; 683 int GET_PROVIDER_MIME_TYPE_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+114; 684 int NEW_URI_PERMISSION_OWNER_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+115; 685 int GRANT_URI_PERMISSION_FROM_OWNER_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+116; 686 int REVOKE_URI_PERMISSION_FROM_OWNER_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+117; 687 int CHECK_GRANT_URI_PERMISSION_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+118; 688 int DUMP_HEAP_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+119; 689 int START_ACTIVITIES_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+120; 690 int IS_USER_RUNNING_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+121; 691 int ACTIVITY_SLEPT_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+122; 692 int GET_FRONT_ACTIVITY_SCREEN_COMPAT_MODE_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+123; 693 int SET_FRONT_ACTIVITY_SCREEN_COMPAT_MODE_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+124; 694 int GET_PACKAGE_SCREEN_COMPAT_MODE_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+125; 695 int SET_PACKAGE_SCREEN_COMPAT_MODE_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+126; 696 int GET_PACKAGE_ASK_SCREEN_COMPAT_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+127; 697 int SET_PACKAGE_ASK_SCREEN_COMPAT_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+128; 698 int SWITCH_USER_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+129; 699 int ___AVAILABLE_1___ = IBinder.FIRST_CALL_TRANSACTION+130; 700 int REMOVE_TASK_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+131; 701 int REGISTER_PROCESS_OBSERVER_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+132; 702 int UNREGISTER_PROCESS_OBSERVER_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+133; 703 int IS_INTENT_SENDER_TARGETED_TO_PACKAGE_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+134; 704 int UPDATE_PERSISTENT_CONFIGURATION_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+135; 705 int GET_PROCESS_PSS_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+136; 706 int SHOW_BOOT_MESSAGE_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+137; 707 int KILL_ALL_BACKGROUND_PROCESSES_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+139; 708 int GET_CONTENT_PROVIDER_EXTERNAL_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+140; 709 int REMOVE_CONTENT_PROVIDER_EXTERNAL_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+141; 710 int GET_MY_MEMORY_STATE_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+142; 711 int KILL_PROCESSES_BELOW_FOREGROUND_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+143; 712 int GET_CURRENT_USER_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+144; 713 int SHOULD_UP_RECREATE_TASK_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+145; 714 int NAVIGATE_UP_TO_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+146; 715 int SET_LOCK_SCREEN_SHOWN_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+147; 716 int FINISH_ACTIVITY_AFFINITY_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+148; 717 int GET_LAUNCHED_FROM_UID_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+149; 718 int UNSTABLE_PROVIDER_DIED_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+150; 719 int IS_INTENT_SENDER_AN_ACTIVITY_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+151; 720 int START_ACTIVITY_AS_USER_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+152; 721 int STOP_USER_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+153; 722 int REGISTER_USER_SWITCH_OBSERVER_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+154; 723 int UNREGISTER_USER_SWITCH_OBSERVER_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+155; 724 int GET_RUNNING_USER_IDS_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+156; 725 int REQUEST_BUG_REPORT_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+157; 726 int INPUT_DISPATCHING_TIMED_OUT_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+158; 727 int CLEAR_PENDING_BACKUP_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+159; 728 int GET_INTENT_FOR_INTENT_SENDER_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+160; 729 int GET_ASSIST_CONTEXT_EXTRAS_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+161; 730 int REPORT_ASSIST_CONTEXT_EXTRAS_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+162; 731 int GET_LAUNCHED_FROM_PACKAGE_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+163; 732 int KILL_UID_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+164; 733 int SET_USER_IS_MONKEY_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+165; 734 int HANG_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+166; 735 int CREATE_ACTIVITY_CONTAINER_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+167; 736 int MOVE_TASK_TO_STACK_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+168; 737 int RESIZE_STACK_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+169; 738 int GET_ALL_STACK_INFOS_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+170; 739 int SET_FOCUSED_STACK_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+171; 740 int GET_STACK_INFO_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+172; 741 int CONVERT_FROM_TRANSLUCENT_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+173; 742 int CONVERT_TO_TRANSLUCENT_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+174; 743 int NOTIFY_ACTIVITY_DRAWN_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+175; 744 int REPORT_ACTIVITY_FULLY_DRAWN_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+176; 745 int RESTART_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+177; 746 int PERFORM_IDLE_MAINTENANCE_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+178; 747 int TAKE_PERSISTABLE_URI_PERMISSION_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+179; 748 int RELEASE_PERSISTABLE_URI_PERMISSION_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+180; 749 int GET_PERSISTED_URI_PERMISSIONS_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+181; 750 int APP_NOT_RESPONDING_VIA_PROVIDER_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+182; 751 int GET_HOME_ACTIVITY_TOKEN_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+183; 752 int GET_ACTIVITY_CONTAINER_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+184; 753 int DELETE_ACTIVITY_CONTAINER_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+185; 754 755 756 // Start of L transactions 757 int GET_TAG_FOR_INTENT_SENDER_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+210; 758 int START_USER_IN_BACKGROUND_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+211; 759 int IS_IN_HOME_STACK_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+212; 760 int START_LOCK_TASK_BY_TASK_ID_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+213; 761 int START_LOCK_TASK_BY_TOKEN_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+214; 762 int STOP_LOCK_TASK_MODE_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+215; 763 int IS_IN_LOCK_TASK_MODE_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+216; 764 int SET_TASK_DESCRIPTION_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+217; 765 int START_VOICE_ACTIVITY_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+218; 766 int GET_ACTIVITY_OPTIONS_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+219; 767 int GET_APP_TASKS_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+220; 768 int START_LOCK_TASK_BY_CURRENT_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+221; 769 int STOP_LOCK_TASK_BY_CURRENT_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+222; 770 int FINISH_VOICE_TASK_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+223; 771 int IS_TOP_OF_TASK_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+224; 772 int REQUEST_VISIBLE_BEHIND_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+225; 773 int IS_BACKGROUND_VISIBLE_BEHIND_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+226; 774 int BACKGROUND_RESOURCES_RELEASED_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+227; 775 int NOTIFY_LAUNCH_TASK_BEHIND_COMPLETE_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+228; 776 int START_ACTIVITY_FROM_RECENTS_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION + 229; 777 int NOTIFY_ENTER_ANIMATION_COMPLETE_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+230; 778 int KEYGUARD_WAITING_FOR_ACTIVITY_DRAWN_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+231; 779 int START_ACTIVITY_AS_CALLER_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+232; 780 int ADD_APP_TASK_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+233; 781 int GET_APP_TASK_THUMBNAIL_SIZE_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+234; 782 int RELEASE_ACTIVITY_INSTANCE_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+235; 783 int RELEASE_SOME_ACTIVITIES_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+236; 784 int BOOT_ANIMATION_COMPLETE_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+237; 785 int GET_TASK_DESCRIPTION_ICON_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+238; 786 int LAUNCH_ASSIST_INTENT_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+239; 787 788 // Start of M transactions 789 int NOTIFY_CLEARTEXT_NETWORK_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+280; 790} 791