IActivityManager.java revision 9c6e8ced9b6913657f48c38c208b1b594500c0e1
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.annotation.UserIdInt; 20import android.app.ActivityManager.RunningServiceInfo; 21import android.app.ActivityManager.RunningTaskInfo; 22import android.app.ActivityManager.StackInfo; 23import android.app.assist.AssistContent; 24import android.app.assist.AssistStructure; 25import android.content.ComponentName; 26import android.content.ContentProviderNative; 27import android.content.IContentProvider; 28import android.content.IIntentReceiver; 29import android.content.IIntentSender; 30import android.content.Intent; 31import android.content.IntentFilter; 32import android.content.IntentSender; 33import android.content.UriPermission; 34import android.content.pm.ApplicationInfo; 35import android.content.pm.ConfigurationInfo; 36import android.content.pm.IPackageDataObserver; 37import android.content.pm.PackageManager.NameNotFoundException; 38import android.content.pm.ParceledListSlice; 39import android.content.pm.ProviderInfo; 40import android.content.pm.UserInfo; 41import android.content.res.Configuration; 42import android.graphics.Bitmap; 43import android.graphics.Point; 44import android.graphics.Rect; 45import android.net.Uri; 46import android.os.Bundle; 47import android.os.Debug; 48import android.os.IBinder; 49import android.os.IInterface; 50import android.os.Parcel; 51import android.os.ParcelFileDescriptor; 52import android.os.Parcelable; 53import android.os.PersistableBundle; 54import android.os.RemoteException; 55import android.os.StrictMode; 56import android.service.voice.IVoiceInteractionSession; 57import com.android.internal.app.IVoiceInteractor; 58import com.android.internal.os.IResultReceiver; 59 60import java.util.List; 61 62/** 63 * System private API for talking with the activity manager service. This 64 * provides calls from the application back to the activity manager. 65 * 66 * {@hide} 67 */ 68public interface IActivityManager extends IInterface { 69 public int startActivity(IApplicationThread caller, String callingPackage, Intent intent, 70 String resolvedType, IBinder resultTo, String resultWho, int requestCode, int flags, 71 ProfilerInfo profilerInfo, Bundle options) throws RemoteException; 72 public int startActivityAsUser(IApplicationThread caller, String callingPackage, Intent intent, 73 String resolvedType, IBinder resultTo, String resultWho, int requestCode, int flags, 74 ProfilerInfo profilerInfo, Bundle options, int userId) throws RemoteException; 75 public int startActivityAsCaller(IApplicationThread caller, String callingPackage, 76 Intent intent, String resolvedType, IBinder resultTo, String resultWho, int requestCode, 77 int flags, ProfilerInfo profilerInfo, Bundle options, boolean ignoreTargetSecurity, 78 int userId) throws RemoteException; 79 public WaitResult startActivityAndWait(IApplicationThread caller, String callingPackage, 80 Intent intent, String resolvedType, IBinder resultTo, String resultWho, 81 int requestCode, int flags, ProfilerInfo profilerInfo, Bundle options, 82 int userId) throws RemoteException; 83 public int startActivityWithConfig(IApplicationThread caller, String callingPackage, 84 Intent intent, String resolvedType, IBinder resultTo, String resultWho, 85 int requestCode, int startFlags, Configuration newConfig, 86 Bundle options, int userId) throws RemoteException; 87 public int startActivityIntentSender(IApplicationThread caller, 88 IntentSender intent, Intent fillInIntent, String resolvedType, 89 IBinder resultTo, String resultWho, int requestCode, 90 int flagsMask, int flagsValues, Bundle options) throws RemoteException; 91 public int startVoiceActivity(String callingPackage, int callingPid, int callingUid, 92 Intent intent, String resolvedType, IVoiceInteractionSession session, 93 IVoiceInteractor interactor, int flags, ProfilerInfo profilerInfo, Bundle options, 94 int userId) throws RemoteException; 95 public boolean startNextMatchingActivity(IBinder callingActivity, 96 Intent intent, Bundle options) throws RemoteException; 97 public int startActivityFromRecents(int taskId, Bundle options) 98 throws RemoteException; 99 public boolean finishActivity(IBinder token, int code, Intent data, int finishTask) 100 throws RemoteException; 101 public void finishSubActivity(IBinder token, String resultWho, int requestCode) throws RemoteException; 102 public boolean finishActivityAffinity(IBinder token) throws RemoteException; 103 public void finishVoiceTask(IVoiceInteractionSession session) throws RemoteException; 104 public boolean releaseActivityInstance(IBinder token) throws RemoteException; 105 public void releaseSomeActivities(IApplicationThread app) throws RemoteException; 106 public boolean willActivityBeVisible(IBinder token) throws RemoteException; 107 public Intent registerReceiver(IApplicationThread caller, String callerPackage, 108 IIntentReceiver receiver, IntentFilter filter, 109 String requiredPermission, int userId) throws RemoteException; 110 public void unregisterReceiver(IIntentReceiver receiver) throws RemoteException; 111 public int broadcastIntent(IApplicationThread caller, Intent intent, 112 String resolvedType, IIntentReceiver resultTo, int resultCode, 113 String resultData, Bundle map, String[] requiredPermissions, 114 int appOp, Bundle options, boolean serialized, boolean sticky, int userId) throws RemoteException; 115 public void unbroadcastIntent(IApplicationThread caller, Intent intent, int userId) throws RemoteException; 116 public void finishReceiver(IBinder who, int resultCode, String resultData, Bundle map, 117 boolean abortBroadcast, int flags) throws RemoteException; 118 public void attachApplication(IApplicationThread app) throws RemoteException; 119 public void activityResumed(IBinder token) throws RemoteException; 120 public void activityIdle(IBinder token, Configuration config, 121 boolean stopProfiling) throws RemoteException; 122 public void activityPaused(IBinder token) throws RemoteException; 123 public void activityStopped(IBinder token, Bundle state, 124 PersistableBundle persistentState, CharSequence description) throws RemoteException; 125 public void activitySlept(IBinder token) throws RemoteException; 126 public void activityDestroyed(IBinder token) throws RemoteException; 127 public void activityRelaunched(IBinder token) throws RemoteException; 128 public void reportSizeConfigurations(IBinder token, int[] horizontalSizeConfiguration, 129 int[] verticalSizeConfigurations, int[] smallestWidthConfigurations) 130 throws RemoteException; 131 public String getCallingPackage(IBinder token) throws RemoteException; 132 public ComponentName getCallingActivity(IBinder token) throws RemoteException; 133 public List<IAppTask> getAppTasks(String callingPackage) throws RemoteException; 134 public int addAppTask(IBinder activityToken, Intent intent, 135 ActivityManager.TaskDescription description, Bitmap thumbnail) throws RemoteException; 136 public Point getAppTaskThumbnailSize() throws RemoteException; 137 public List<RunningTaskInfo> getTasks(int maxNum, int flags) throws RemoteException; 138 public List<ActivityManager.RecentTaskInfo> getRecentTasks(int maxNum, 139 int flags, int userId) throws RemoteException; 140 public ActivityManager.TaskThumbnail getTaskThumbnail(int taskId) throws RemoteException; 141 public List<RunningServiceInfo> getServices(int maxNum, int flags) throws RemoteException; 142 public List<ActivityManager.ProcessErrorStateInfo> getProcessesInErrorState() 143 throws RemoteException; 144 public void moveTaskToFront(int task, int flags, Bundle options) throws RemoteException; 145 public boolean moveActivityTaskToBack(IBinder token, boolean nonRoot) throws RemoteException; 146 public void moveTaskBackwards(int task) throws RemoteException; 147 public void moveTaskToStack(int taskId, int stackId, boolean toTop) throws RemoteException; 148 public boolean moveTaskToDockedStack(int taskId, int createMode, boolean toTop, boolean animate, 149 Rect initialBounds) throws RemoteException; 150 public boolean moveTopActivityToPinnedStack(int stackId, Rect bounds) throws RemoteException; 151 public void resizeStack(int stackId, Rect bounds, boolean allowResizeInDockedMode, 152 boolean preserveWindows, boolean animate) throws RemoteException; 153 154 /** 155 * Moves all tasks from the docked stack in the fullscreen stack and puts the top task of the 156 * fullscreen stack into the docked stack. 157 */ 158 public void swapDockedAndFullscreenStack() throws RemoteException; 159 160 /** 161 * Resizes the docked stack, and all other stacks as the result of the dock stack bounds change. 162 * 163 * @param dockedBounds The bounds for the docked stack. 164 * @param tempDockedTaskBounds The temporary bounds for the tasks in the docked stack, which 165 * might be different from the stack bounds to allow more 166 * flexibility while resizing, or {@code null} if they should be the 167 * same as the stack bounds. 168 * @param tempDockedTaskInsetBounds The temporary bounds for the tasks to calculate the insets. 169 * When resizing, we usually "freeze" the layout of a task. To 170 * achieve that, we also need to "freeze" the insets, which 171 * gets achieved by changing task bounds but not bounds used 172 * to calculate the insets in this transient state 173 * @param tempOtherTaskBounds The temporary bounds for the tasks in all other stacks, or 174 * {@code null} if they should be the same as the stack bounds. 175 * @param tempOtherTaskInsetBounds Like {@code tempDockedTaskInsetBounds}, but for the other 176 * stacks. 177 * @throws RemoteException 178 */ 179 public void resizeDockedStack(Rect dockedBounds, Rect tempDockedTaskBounds, 180 Rect tempDockedTaskInsetBounds, 181 Rect tempOtherTaskBounds, Rect tempOtherTaskInsetBounds) throws RemoteException; 182 /** 183 * Resizes the pinned stack. 184 * 185 * @param pinnedBounds The bounds for the pinned stack. 186 * @param tempPinnedTaskBounds The temporary bounds for the tasks in the pinned stack, which 187 * might be different from the stack bounds to allow more 188 * flexibility while resizing, or {@code null} if they should be the 189 * same as the stack bounds. 190 */ 191 public void resizePinnedStack(Rect pinnedBounds, Rect tempPinnedTaskBounds) throws RemoteException; 192 public void positionTaskInStack(int taskId, int stackId, int position) throws RemoteException; 193 public List<StackInfo> getAllStackInfos() throws RemoteException; 194 public StackInfo getStackInfo(int stackId) throws RemoteException; 195 public boolean isInHomeStack(int taskId) throws RemoteException; 196 public void setFocusedStack(int stackId) throws RemoteException; 197 public int getFocusedStackId() throws RemoteException; 198 public void setFocusedTask(int taskId) throws RemoteException; 199 public void registerTaskStackListener(ITaskStackListener listener) throws RemoteException; 200 public int getTaskForActivity(IBinder token, boolean onlyRoot) throws RemoteException; 201 public ContentProviderHolder getContentProvider(IApplicationThread caller, 202 String name, int userId, boolean stable) throws RemoteException; 203 public ContentProviderHolder getContentProviderExternal(String name, int userId, IBinder token) 204 throws RemoteException; 205 public void removeContentProvider(IBinder connection, boolean stable) throws RemoteException; 206 public void removeContentProviderExternal(String name, IBinder token) throws RemoteException; 207 public void publishContentProviders(IApplicationThread caller, 208 List<ContentProviderHolder> providers) throws RemoteException; 209 public boolean refContentProvider(IBinder connection, int stableDelta, int unstableDelta) 210 throws RemoteException; 211 public void unstableProviderDied(IBinder connection) throws RemoteException; 212 public void appNotRespondingViaProvider(IBinder connection) throws RemoteException; 213 public PendingIntent getRunningServiceControlPanel(ComponentName service) 214 throws RemoteException; 215 public ComponentName startService(IApplicationThread caller, Intent service, 216 String resolvedType, String callingPackage, int userId) throws RemoteException; 217 public int stopService(IApplicationThread caller, Intent service, 218 String resolvedType, int userId) throws RemoteException; 219 public boolean stopServiceToken(ComponentName className, IBinder token, 220 int startId) throws RemoteException; 221 public void setServiceForeground(ComponentName className, IBinder token, 222 int id, Notification notification, boolean keepNotification) throws RemoteException; 223 public int bindService(IApplicationThread caller, IBinder token, Intent service, 224 String resolvedType, IServiceConnection connection, int flags, 225 String callingPackage, int userId) throws RemoteException; 226 public boolean unbindService(IServiceConnection connection) throws RemoteException; 227 public void publishService(IBinder token, 228 Intent intent, IBinder service) throws RemoteException; 229 public void unbindFinished(IBinder token, Intent service, 230 boolean doRebind) throws RemoteException; 231 /* oneway */ 232 public void serviceDoneExecuting(IBinder token, int type, int startId, 233 int res) throws RemoteException; 234 public IBinder peekService(Intent service, String resolvedType, String callingPackage) 235 throws RemoteException; 236 237 public boolean bindBackupAgent(ApplicationInfo appInfo, int backupRestoreMode) 238 throws RemoteException; 239 public void clearPendingBackup() throws RemoteException; 240 public void backupAgentCreated(String packageName, IBinder agent) throws RemoteException; 241 public void unbindBackupAgent(ApplicationInfo appInfo) throws RemoteException; 242 public void killApplicationProcess(String processName, int uid) throws RemoteException; 243 244 public boolean startInstrumentation(ComponentName className, String profileFile, 245 int flags, Bundle arguments, IInstrumentationWatcher watcher, 246 IUiAutomationConnection connection, int userId, 247 String abiOverride) throws RemoteException; 248 public void finishInstrumentation(IApplicationThread target, 249 int resultCode, Bundle results) throws RemoteException; 250 251 public Configuration getConfiguration() throws RemoteException; 252 public void updateConfiguration(Configuration values) throws RemoteException; 253 public void setRequestedOrientation(IBinder token, 254 int requestedOrientation) throws RemoteException; 255 public int getRequestedOrientation(IBinder token) throws RemoteException; 256 257 public ComponentName getActivityClassForToken(IBinder token) throws RemoteException; 258 public String getPackageForToken(IBinder token) throws RemoteException; 259 260 public IIntentSender getIntentSender(int type, 261 String packageName, IBinder token, String resultWho, 262 int requestCode, Intent[] intents, String[] resolvedTypes, 263 int flags, Bundle options, int userId) throws RemoteException; 264 public void cancelIntentSender(IIntentSender sender) throws RemoteException; 265 public boolean clearApplicationUserData(final String packageName, 266 final IPackageDataObserver observer, int userId) throws RemoteException; 267 public String getPackageForIntentSender(IIntentSender sender) throws RemoteException; 268 public int getUidForIntentSender(IIntentSender sender) throws RemoteException; 269 270 public int handleIncomingUser(int callingPid, int callingUid, int userId, boolean allowAll, 271 boolean requireFull, String name, String callerPackage) throws RemoteException; 272 273 public void setProcessLimit(int max) throws RemoteException; 274 public int getProcessLimit() throws RemoteException; 275 276 public void setProcessForeground(IBinder token, int pid, 277 boolean isForeground) throws RemoteException; 278 279 public int checkPermission(String permission, int pid, int uid) 280 throws RemoteException; 281 public int checkPermissionWithToken(String permission, int pid, int uid, IBinder callerToken) 282 throws RemoteException; 283 284 public int checkUriPermission(Uri uri, int pid, int uid, int mode, int userId, 285 IBinder callerToken) throws RemoteException; 286 public void grantUriPermission(IApplicationThread caller, String targetPkg, Uri uri, 287 int mode, int userId) throws RemoteException; 288 public void revokeUriPermission(IApplicationThread caller, Uri uri, int mode, int userId) 289 throws RemoteException; 290 public void takePersistableUriPermission(Uri uri, int modeFlags, int userId) 291 throws RemoteException; 292 public void releasePersistableUriPermission(Uri uri, int modeFlags, int userId) 293 throws RemoteException; 294 public ParceledListSlice<UriPermission> getPersistedUriPermissions( 295 String packageName, boolean incoming) throws RemoteException; 296 297 // Gets the URI permissions granted to an arbitrary package. 298 // NOTE: this is different from getPersistedUriPermissions(), which returns the URIs the package 299 // granted to another packages (instead of those granted to it). 300 public ParceledListSlice<UriPermission> getGrantedUriPermissions(String packageName, int userId) 301 throws RemoteException; 302 303 // Clears the URI permissions granted to an arbitrary package. 304 public void clearGrantedUriPermissions(String packageName, int userId) throws RemoteException; 305 306 public void showWaitingForDebugger(IApplicationThread who, boolean waiting) 307 throws RemoteException; 308 309 public void getMemoryInfo(ActivityManager.MemoryInfo outInfo) throws RemoteException; 310 311 public void killBackgroundProcesses(final String packageName, int userId) 312 throws RemoteException; 313 public void killAllBackgroundProcesses() throws RemoteException; 314 public void killPackageDependents(final String packageName, int userId) throws RemoteException; 315 public void forceStopPackage(final String packageName, int userId) throws RemoteException; 316 317 // Note: probably don't want to allow applications access to these. 318 public void setLockScreenShown(boolean shown) throws RemoteException; 319 320 public void unhandledBack() throws RemoteException; 321 public ParcelFileDescriptor openContentUri(Uri uri) throws RemoteException; 322 public void setDebugApp( 323 String packageName, boolean waitForDebugger, boolean persistent) 324 throws RemoteException; 325 public void setAlwaysFinish(boolean enabled) throws RemoteException; 326 public void setActivityController(IActivityController watcher, boolean imAMonkey) 327 throws RemoteException; 328 public void setLenientBackgroundCheck(boolean enabled) throws RemoteException; 329 public int getMemoryTrimLevel() throws RemoteException; 330 331 public void enterSafeMode() throws RemoteException; 332 333 public void noteWakeupAlarm(IIntentSender sender, int sourceUid, String sourcePkg, String tag) 334 throws RemoteException; 335 public void noteAlarmStart(IIntentSender sender, int sourceUid, String tag) 336 throws RemoteException; 337 public void noteAlarmFinish(IIntentSender sender, int sourceUid, String tag) 338 throws RemoteException; 339 340 public boolean killPids(int[] pids, String reason, boolean secure) throws RemoteException; 341 public boolean killProcessesBelowForeground(String reason) throws RemoteException; 342 343 // Special low-level communication with activity manager. 344 public void handleApplicationCrash(IBinder app, 345 ApplicationErrorReport.CrashInfo crashInfo) throws RemoteException; 346 public boolean handleApplicationWtf(IBinder app, String tag, boolean system, 347 ApplicationErrorReport.CrashInfo crashInfo) throws RemoteException; 348 349 // A StrictMode violation to be handled. The violationMask is a 350 // subset of the original StrictMode policy bitmask, with only the 351 // bit violated and penalty bits to be executed by the 352 // ActivityManagerService remaining set. 353 public void handleApplicationStrictModeViolation(IBinder app, int violationMask, 354 StrictMode.ViolationInfo crashInfo) throws RemoteException; 355 356 /* 357 * This will deliver the specified signal to all the persistent processes. Currently only 358 * SIGUSR1 is delivered. All others are ignored. 359 */ 360 public void signalPersistentProcesses(int signal) throws RemoteException; 361 // Retrieve running application processes in the system 362 public List<ActivityManager.RunningAppProcessInfo> getRunningAppProcesses() 363 throws RemoteException; 364 // Retrieve info of applications installed on external media that are currently 365 // running. 366 public List<ApplicationInfo> getRunningExternalApplications() 367 throws RemoteException; 368 // Get memory information about the calling process. 369 public void getMyMemoryState(ActivityManager.RunningAppProcessInfo outInfo) 370 throws RemoteException; 371 // Get device configuration 372 public ConfigurationInfo getDeviceConfigurationInfo() throws RemoteException; 373 374 // Turn on/off profiling in a particular process. 375 public boolean profileControl(String process, int userId, boolean start, 376 ProfilerInfo profilerInfo, int profileType) throws RemoteException; 377 378 public boolean shutdown(int timeout) throws RemoteException; 379 380 public void stopAppSwitches() throws RemoteException; 381 public void resumeAppSwitches() throws RemoteException; 382 383 public void addPackageDependency(String packageName) throws RemoteException; 384 385 public void killApplicationWithAppId(String pkg, int appid, String reason) 386 throws RemoteException; 387 388 public void closeSystemDialogs(String reason) throws RemoteException; 389 390 public Debug.MemoryInfo[] getProcessMemoryInfo(int[] pids) 391 throws RemoteException; 392 393 public void overridePendingTransition(IBinder token, String packageName, 394 int enterAnim, int exitAnim) throws RemoteException; 395 396 public boolean isUserAMonkey() throws RemoteException; 397 398 public void setUserIsMonkey(boolean monkey) throws RemoteException; 399 400 public void finishHeavyWeightApp() throws RemoteException; 401 402 public boolean convertFromTranslucent(IBinder token) throws RemoteException; 403 public boolean convertToTranslucent(IBinder token, ActivityOptions options) throws RemoteException; 404 public void notifyActivityDrawn(IBinder token) throws RemoteException; 405 public ActivityOptions getActivityOptions(IBinder token) throws RemoteException; 406 407 public void bootAnimationComplete() throws RemoteException; 408 409 public void setImmersive(IBinder token, boolean immersive) throws RemoteException; 410 public boolean isImmersive(IBinder token) throws RemoteException; 411 public boolean isTopActivityImmersive() throws RemoteException; 412 public boolean isTopOfTask(IBinder token) throws RemoteException; 413 414 public void crashApplication(int uid, int initialPid, String packageName, 415 String message) throws RemoteException; 416 417 public String getProviderMimeType(Uri uri, int userId) throws RemoteException; 418 419 public IBinder newUriPermissionOwner(String name) throws RemoteException; 420 public IBinder getUriPermissionOwnerForActivity(IBinder activityToken) throws RemoteException; 421 public void grantUriPermissionFromOwner(IBinder owner, int fromUid, String targetPkg, 422 Uri uri, int mode, int sourceUserId, int targetUserId) throws RemoteException; 423 public void revokeUriPermissionFromOwner(IBinder owner, Uri uri, 424 int mode, int userId) throws RemoteException; 425 426 public int checkGrantUriPermission(int callingUid, String targetPkg, Uri uri, 427 int modeFlags, int userId) throws RemoteException; 428 429 // Cause the specified process to dump the specified heap. 430 public boolean dumpHeap(String process, int userId, boolean managed, String path, 431 ParcelFileDescriptor fd) throws RemoteException; 432 433 public int startActivities(IApplicationThread caller, String callingPackage, 434 Intent[] intents, String[] resolvedTypes, IBinder resultTo, 435 Bundle options, int userId) throws RemoteException; 436 437 public int getFrontActivityScreenCompatMode() throws RemoteException; 438 public void setFrontActivityScreenCompatMode(int mode) throws RemoteException; 439 public int getPackageScreenCompatMode(String packageName) throws RemoteException; 440 public void setPackageScreenCompatMode(String packageName, int mode) 441 throws RemoteException; 442 public boolean getPackageAskScreenCompat(String packageName) throws RemoteException; 443 public void setPackageAskScreenCompat(String packageName, boolean ask) 444 throws RemoteException; 445 446 // Multi-user APIs 447 public boolean switchUser(int userid) throws RemoteException; 448 public boolean startUserInBackground(int userid) throws RemoteException; 449 public boolean unlockUser(int userid, byte[] token, byte[] secret) throws RemoteException; 450 public int stopUser(int userid, boolean force, IStopUserCallback callback) throws RemoteException; 451 public UserInfo getCurrentUser() throws RemoteException; 452 public boolean isUserRunning(int userid, int flags) throws RemoteException; 453 public int[] getRunningUserIds() throws RemoteException; 454 455 public boolean removeTask(int taskId) throws RemoteException; 456 457 public void registerProcessObserver(IProcessObserver observer) throws RemoteException; 458 public void unregisterProcessObserver(IProcessObserver observer) throws RemoteException; 459 460 public void registerUidObserver(IUidObserver observer, int which) throws RemoteException; 461 public void unregisterUidObserver(IUidObserver observer) throws RemoteException; 462 463 public boolean isIntentSenderTargetedToPackage(IIntentSender sender) throws RemoteException; 464 465 public boolean isIntentSenderAnActivity(IIntentSender sender) throws RemoteException; 466 467 public Intent getIntentForIntentSender(IIntentSender sender) throws RemoteException; 468 469 public String getTagForIntentSender(IIntentSender sender, String prefix) throws RemoteException; 470 471 public void updatePersistentConfiguration(Configuration values) throws RemoteException; 472 473 public long[] getProcessPss(int[] pids) throws RemoteException; 474 475 public void showBootMessage(CharSequence msg, boolean always) throws RemoteException; 476 477 public void keyguardWaitingForActivityDrawn() throws RemoteException; 478 479 /** 480 * Notify the system that the keyguard is going away. 481 * 482 * @param flags See {@link android.view.WindowManagerPolicy#KEYGUARD_GOING_AWAY_FLAG_TO_SHADE} 483 * etc. 484 */ 485 public void keyguardGoingAway(int flags) throws RemoteException; 486 487 public boolean shouldUpRecreateTask(IBinder token, String destAffinity) 488 throws RemoteException; 489 490 public boolean navigateUpTo(IBinder token, Intent target, int resultCode, Intent resultData) 491 throws RemoteException; 492 493 // These are not public because you need to be very careful in how you 494 // manage your activity to make sure it is always the uid you expect. 495 public int getLaunchedFromUid(IBinder activityToken) throws RemoteException; 496 public String getLaunchedFromPackage(IBinder activityToken) throws RemoteException; 497 498 public void registerUserSwitchObserver(IUserSwitchObserver observer) throws RemoteException; 499 public void unregisterUserSwitchObserver(IUserSwitchObserver observer) throws RemoteException; 500 501 public void requestBugReport(int bugreportType) throws RemoteException; 502 503 public long inputDispatchingTimedOut(int pid, boolean aboveSystem, String reason) 504 throws RemoteException; 505 506 public Bundle getAssistContextExtras(int requestType) throws RemoteException; 507 508 public boolean requestAssistContextExtras(int requestType, IResultReceiver receiver, 509 IBinder activityToken) throws RemoteException; 510 511 public void reportAssistContextExtras(IBinder token, Bundle extras, 512 AssistStructure structure, AssistContent content, Uri referrer) throws RemoteException; 513 514 public boolean launchAssistIntent(Intent intent, int requestType, String hint, int userHandle, 515 Bundle args) throws RemoteException; 516 517 public boolean isAssistDataAllowedOnCurrentActivity() throws RemoteException; 518 519 public boolean showAssistFromActivity(IBinder token, Bundle args) throws RemoteException; 520 521 public void killUid(int appId, int userId, String reason) throws RemoteException; 522 523 public void hang(IBinder who, boolean allowRestart) throws RemoteException; 524 525 public void reportActivityFullyDrawn(IBinder token) throws RemoteException; 526 527 public void restart() throws RemoteException; 528 529 public void performIdleMaintenance() throws RemoteException; 530 531 public IActivityContainer createVirtualActivityContainer(IBinder parentActivityToken, 532 IActivityContainerCallback callback) throws RemoteException; 533 534 public IActivityContainer createStackOnDisplay(int displayId) throws RemoteException; 535 536 public void deleteActivityContainer(IActivityContainer container) throws RemoteException; 537 538 public int getActivityDisplayId(IBinder activityToken) throws RemoteException; 539 540 public void startLockTaskModeOnCurrent() throws RemoteException; 541 542 public void startLockTaskMode(int taskId) throws RemoteException; 543 544 public void startLockTaskMode(IBinder token) throws RemoteException; 545 546 public void stopLockTaskMode() throws RemoteException; 547 548 public void stopLockTaskModeOnCurrent() throws RemoteException; 549 550 public boolean isInLockTaskMode() throws RemoteException; 551 552 public int getLockTaskModeState() throws RemoteException; 553 554 public void showLockTaskEscapeMessage(IBinder token) throws RemoteException; 555 556 public void setTaskDescription(IBinder token, ActivityManager.TaskDescription values) 557 throws RemoteException; 558 public void setTaskResizeable(int taskId, int resizeableMode) throws RemoteException; 559 public void resizeTask(int taskId, Rect bounds, int resizeMode) throws RemoteException; 560 561 public Rect getTaskBounds(int taskId) throws RemoteException; 562 public Bitmap getTaskDescriptionIcon(String filename, int userId) throws RemoteException; 563 564 public void startInPlaceAnimationOnFrontMostApplication(ActivityOptions opts) 565 throws RemoteException; 566 567 public boolean requestVisibleBehind(IBinder token, boolean visible) throws RemoteException; 568 public boolean isBackgroundVisibleBehind(IBinder token) throws RemoteException; 569 public void backgroundResourcesReleased(IBinder token) throws RemoteException; 570 571 public void notifyLaunchTaskBehindComplete(IBinder token) throws RemoteException; 572 public void notifyEnterAnimationComplete(IBinder token) throws RemoteException; 573 574 public void notifyCleartextNetwork(int uid, byte[] firstPacket) throws RemoteException; 575 576 public void setDumpHeapDebugLimit(String processName, int uid, long maxMemSize, 577 String reportPackage) throws RemoteException; 578 public void dumpHeapFinished(String path) throws RemoteException; 579 580 public void setVoiceKeepAwake(IVoiceInteractionSession session, boolean keepAwake) 581 throws RemoteException; 582 public void updateLockTaskPackages(int userId, String[] packages) throws RemoteException; 583 public void updateDeviceOwner(String packageName) throws RemoteException; 584 585 public int getPackageProcessState(String packageName, String callingPackage) 586 throws RemoteException; 587 588 public boolean setProcessMemoryTrimLevel(String process, int uid, int level) 589 throws RemoteException; 590 591 public boolean isRootVoiceInteraction(IBinder token) throws RemoteException; 592 593 // Start Binder transaction tracking for all applications. 594 public boolean startBinderTracking() throws RemoteException; 595 596 // Stop Binder transaction tracking for all applications and dump trace data to the given file 597 // descriptor. 598 public boolean stopBinderTrackingAndDump(ParcelFileDescriptor fd) throws RemoteException; 599 600 public int getActivityStackId(IBinder token) throws RemoteException; 601 public void exitFreeformMode(IBinder token) throws RemoteException; 602 603 public void suppressResizeConfigChanges(boolean suppress) throws RemoteException; 604 605 public void moveTasksToFullscreenStack(int fromStackId, boolean onTop) throws RemoteException; 606 607 public int getAppStartMode(int uid, String packageName) throws RemoteException; 608 609 public boolean inMultiWindow(IBinder token) throws RemoteException; 610 611 public boolean inPictureInPicture(IBinder token) throws RemoteException; 612 613 public void enterPictureInPicture(IBinder token) throws RemoteException; 614 615 public int setVrMode(IBinder token, boolean enabled, ComponentName packageName) 616 throws RemoteException; 617 618 public boolean isVrModePackageEnabled(ComponentName packageName) throws RemoteException; 619 620 public boolean isAppForeground(int uid) throws RemoteException; 621 622 public void startLocalVoiceInteraction(IBinder token, Bundle options) throws RemoteException; 623 624 public void stopLocalVoiceInteraction(IBinder token) throws RemoteException; 625 626 public boolean supportsLocalVoiceInteraction() throws RemoteException; 627 628 public void notifyPinnedStackAnimationEnded() throws RemoteException; 629 630 public void removeStack(int stackId) throws RemoteException; 631 632 public void notifyLockedProfile(@UserIdInt int userId) throws RemoteException; 633 634 /* 635 * Private non-Binder interfaces 636 */ 637 /* package */ boolean testIsSystemReady(); 638 639 /** Information you can retrieve about a particular application. */ 640 public static class ContentProviderHolder implements Parcelable { 641 public final ProviderInfo info; 642 public IContentProvider provider; 643 public IBinder connection; 644 public boolean noReleaseNeeded; 645 646 public ContentProviderHolder(ProviderInfo _info) { 647 info = _info; 648 } 649 650 @Override 651 public int describeContents() { 652 return 0; 653 } 654 655 @Override 656 public void writeToParcel(Parcel dest, int flags) { 657 info.writeToParcel(dest, 0); 658 if (provider != null) { 659 dest.writeStrongBinder(provider.asBinder()); 660 } else { 661 dest.writeStrongBinder(null); 662 } 663 dest.writeStrongBinder(connection); 664 dest.writeInt(noReleaseNeeded ? 1 : 0); 665 } 666 667 public static final Parcelable.Creator<ContentProviderHolder> CREATOR 668 = new Parcelable.Creator<ContentProviderHolder>() { 669 @Override 670 public ContentProviderHolder createFromParcel(Parcel source) { 671 return new ContentProviderHolder(source); 672 } 673 674 @Override 675 public ContentProviderHolder[] newArray(int size) { 676 return new ContentProviderHolder[size]; 677 } 678 }; 679 680 private ContentProviderHolder(Parcel source) { 681 info = ProviderInfo.CREATOR.createFromParcel(source); 682 provider = ContentProviderNative.asInterface( 683 source.readStrongBinder()); 684 connection = source.readStrongBinder(); 685 noReleaseNeeded = source.readInt() != 0; 686 } 687 } 688 689 /** Information returned after waiting for an activity start. */ 690 public static class WaitResult implements Parcelable { 691 public int result; 692 public boolean timeout; 693 public ComponentName who; 694 public long thisTime; 695 public long totalTime; 696 697 public WaitResult() { 698 } 699 700 @Override 701 public int describeContents() { 702 return 0; 703 } 704 705 @Override 706 public void writeToParcel(Parcel dest, int flags) { 707 dest.writeInt(result); 708 dest.writeInt(timeout ? 1 : 0); 709 ComponentName.writeToParcel(who, dest); 710 dest.writeLong(thisTime); 711 dest.writeLong(totalTime); 712 } 713 714 public static final Parcelable.Creator<WaitResult> CREATOR 715 = new Parcelable.Creator<WaitResult>() { 716 @Override 717 public WaitResult createFromParcel(Parcel source) { 718 return new WaitResult(source); 719 } 720 721 @Override 722 public WaitResult[] newArray(int size) { 723 return new WaitResult[size]; 724 } 725 }; 726 727 private WaitResult(Parcel source) { 728 result = source.readInt(); 729 timeout = source.readInt() != 0; 730 who = ComponentName.readFromParcel(source); 731 thisTime = source.readLong(); 732 totalTime = source.readLong(); 733 } 734 } 735 736 String descriptor = "android.app.IActivityManager"; 737 738 // Please keep these transaction codes the same -- they are also 739 // sent by C++ code. 740 int HANDLE_APPLICATION_CRASH_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+1; 741 int START_ACTIVITY_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+2; 742 int UNHANDLED_BACK_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+3; 743 int OPEN_CONTENT_URI_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+4; 744 745 // Remaining non-native transaction codes. 746 int FINISH_ACTIVITY_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+10; 747 int REGISTER_RECEIVER_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+11; 748 int UNREGISTER_RECEIVER_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+12; 749 int BROADCAST_INTENT_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+13; 750 int UNBROADCAST_INTENT_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+14; 751 int FINISH_RECEIVER_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+15; 752 int ATTACH_APPLICATION_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+16; 753 int ACTIVITY_IDLE_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+17; 754 int ACTIVITY_PAUSED_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+18; 755 int ACTIVITY_STOPPED_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+19; 756 int GET_CALLING_PACKAGE_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+20; 757 int GET_CALLING_ACTIVITY_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+21; 758 int GET_TASKS_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+22; 759 int MOVE_TASK_TO_FRONT_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+23; 760 761 int MOVE_TASK_BACKWARDS_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+25; 762 int GET_TASK_FOR_ACTIVITY_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+26; 763 764 int GET_CONTENT_PROVIDER_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+28; 765 int PUBLISH_CONTENT_PROVIDERS_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+29; 766 int REF_CONTENT_PROVIDER_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+30; 767 int FINISH_SUB_ACTIVITY_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+31; 768 int GET_RUNNING_SERVICE_CONTROL_PANEL_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+32; 769 int START_SERVICE_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+33; 770 int STOP_SERVICE_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+34; 771 int BIND_SERVICE_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+35; 772 int UNBIND_SERVICE_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+36; 773 int PUBLISH_SERVICE_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+37; 774 int ACTIVITY_RESUMED_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+38; 775 int SET_DEBUG_APP_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+41; 776 int SET_ALWAYS_FINISH_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+42; 777 int START_INSTRUMENTATION_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+43; 778 int FINISH_INSTRUMENTATION_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+44; 779 int GET_CONFIGURATION_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+45; 780 int UPDATE_CONFIGURATION_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+46; 781 int STOP_SERVICE_TOKEN_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+47; 782 int GET_ACTIVITY_CLASS_FOR_TOKEN_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+48; 783 int GET_PACKAGE_FOR_TOKEN_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+49; 784 int SET_PROCESS_LIMIT_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+50; 785 int GET_PROCESS_LIMIT_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+51; 786 int CHECK_PERMISSION_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+52; 787 int CHECK_URI_PERMISSION_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+53; 788 int GRANT_URI_PERMISSION_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+54; 789 int REVOKE_URI_PERMISSION_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+55; 790 int SET_ACTIVITY_CONTROLLER_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+56; 791 int SHOW_WAITING_FOR_DEBUGGER_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+57; 792 int SIGNAL_PERSISTENT_PROCESSES_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+58; 793 int GET_RECENT_TASKS_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+59; 794 int SERVICE_DONE_EXECUTING_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+60; 795 int ACTIVITY_DESTROYED_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+61; 796 int GET_INTENT_SENDER_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+62; 797 int CANCEL_INTENT_SENDER_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+63; 798 int GET_PACKAGE_FOR_INTENT_SENDER_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+64; 799 int ENTER_SAFE_MODE_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+65; 800 int START_NEXT_MATCHING_ACTIVITY_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+66; 801 int NOTE_WAKEUP_ALARM_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+67; 802 int REMOVE_CONTENT_PROVIDER_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+68; 803 int SET_REQUESTED_ORIENTATION_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+69; 804 int GET_REQUESTED_ORIENTATION_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+70; 805 int UNBIND_FINISHED_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+71; 806 int SET_PROCESS_FOREGROUND_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+72; 807 int SET_SERVICE_FOREGROUND_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+73; 808 int MOVE_ACTIVITY_TASK_TO_BACK_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+74; 809 int GET_MEMORY_INFO_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+75; 810 int GET_PROCESSES_IN_ERROR_STATE_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+76; 811 int CLEAR_APP_DATA_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+77; 812 int FORCE_STOP_PACKAGE_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+78; 813 int KILL_PIDS_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+79; 814 int GET_SERVICES_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+80; 815 int GET_TASK_THUMBNAIL_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+81; 816 int GET_RUNNING_APP_PROCESSES_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+82; 817 int GET_DEVICE_CONFIGURATION_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+83; 818 int PEEK_SERVICE_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+84; 819 int PROFILE_CONTROL_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+85; 820 int SHUTDOWN_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+86; 821 int STOP_APP_SWITCHES_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+87; 822 int RESUME_APP_SWITCHES_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+88; 823 int START_BACKUP_AGENT_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+89; 824 int BACKUP_AGENT_CREATED_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+90; 825 int UNBIND_BACKUP_AGENT_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+91; 826 int GET_UID_FOR_INTENT_SENDER_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+92; 827 int HANDLE_INCOMING_USER_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+93; 828 int ADD_PACKAGE_DEPENDENCY_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+94; 829 int KILL_APPLICATION_WITH_APPID_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+95; 830 int CLOSE_SYSTEM_DIALOGS_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+96; 831 int GET_PROCESS_MEMORY_INFO_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+97; 832 int KILL_APPLICATION_PROCESS_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+98; 833 int START_ACTIVITY_INTENT_SENDER_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+99; 834 int OVERRIDE_PENDING_TRANSITION_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+100; 835 int HANDLE_APPLICATION_WTF_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+101; 836 int KILL_BACKGROUND_PROCESSES_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+102; 837 int IS_USER_A_MONKEY_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+103; 838 int START_ACTIVITY_AND_WAIT_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+104; 839 int WILL_ACTIVITY_BE_VISIBLE_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+105; 840 int START_ACTIVITY_WITH_CONFIG_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+106; 841 int GET_RUNNING_EXTERNAL_APPLICATIONS_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+107; 842 int FINISH_HEAVY_WEIGHT_APP_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+108; 843 int HANDLE_APPLICATION_STRICT_MODE_VIOLATION_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+109; 844 int IS_IMMERSIVE_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+110; 845 int SET_IMMERSIVE_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+111; 846 int IS_TOP_ACTIVITY_IMMERSIVE_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+112; 847 int CRASH_APPLICATION_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+113; 848 int GET_PROVIDER_MIME_TYPE_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+114; 849 int NEW_URI_PERMISSION_OWNER_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+115; 850 int GRANT_URI_PERMISSION_FROM_OWNER_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+116; 851 int REVOKE_URI_PERMISSION_FROM_OWNER_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+117; 852 int CHECK_GRANT_URI_PERMISSION_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+118; 853 int DUMP_HEAP_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+119; 854 int START_ACTIVITIES_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+120; 855 int IS_USER_RUNNING_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+121; 856 int ACTIVITY_SLEPT_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+122; 857 int GET_FRONT_ACTIVITY_SCREEN_COMPAT_MODE_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+123; 858 int SET_FRONT_ACTIVITY_SCREEN_COMPAT_MODE_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+124; 859 int GET_PACKAGE_SCREEN_COMPAT_MODE_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+125; 860 int SET_PACKAGE_SCREEN_COMPAT_MODE_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+126; 861 int GET_PACKAGE_ASK_SCREEN_COMPAT_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+127; 862 int SET_PACKAGE_ASK_SCREEN_COMPAT_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+128; 863 int SWITCH_USER_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+129; 864 int SET_FOCUSED_TASK_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+130; 865 int REMOVE_TASK_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+131; 866 int REGISTER_PROCESS_OBSERVER_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+132; 867 int UNREGISTER_PROCESS_OBSERVER_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+133; 868 int IS_INTENT_SENDER_TARGETED_TO_PACKAGE_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+134; 869 int UPDATE_PERSISTENT_CONFIGURATION_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+135; 870 int GET_PROCESS_PSS_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+136; 871 int SHOW_BOOT_MESSAGE_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+137; 872 int KILL_ALL_BACKGROUND_PROCESSES_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+139; 873 int GET_CONTENT_PROVIDER_EXTERNAL_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+140; 874 int REMOVE_CONTENT_PROVIDER_EXTERNAL_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+141; 875 int GET_MY_MEMORY_STATE_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+142; 876 int KILL_PROCESSES_BELOW_FOREGROUND_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+143; 877 int GET_CURRENT_USER_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+144; 878 int SHOULD_UP_RECREATE_TASK_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+145; 879 int NAVIGATE_UP_TO_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+146; 880 int SET_LOCK_SCREEN_SHOWN_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+147; 881 int FINISH_ACTIVITY_AFFINITY_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+148; 882 int GET_LAUNCHED_FROM_UID_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+149; 883 int UNSTABLE_PROVIDER_DIED_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+150; 884 int IS_INTENT_SENDER_AN_ACTIVITY_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+151; 885 int START_ACTIVITY_AS_USER_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+152; 886 int STOP_USER_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+153; 887 int REGISTER_USER_SWITCH_OBSERVER_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+154; 888 int UNREGISTER_USER_SWITCH_OBSERVER_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+155; 889 int GET_RUNNING_USER_IDS_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+156; 890 int REQUEST_BUG_REPORT_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+157; 891 int INPUT_DISPATCHING_TIMED_OUT_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+158; 892 int CLEAR_PENDING_BACKUP_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+159; 893 int GET_INTENT_FOR_INTENT_SENDER_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+160; 894 int GET_ASSIST_CONTEXT_EXTRAS_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+161; 895 int REPORT_ASSIST_CONTEXT_EXTRAS_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+162; 896 int GET_LAUNCHED_FROM_PACKAGE_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+163; 897 int KILL_UID_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+164; 898 int SET_USER_IS_MONKEY_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+165; 899 int HANG_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+166; 900 int CREATE_VIRTUAL_ACTIVITY_CONTAINER_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+167; 901 int MOVE_TASK_TO_STACK_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+168; 902 int RESIZE_STACK_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+169; 903 int GET_ALL_STACK_INFOS_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+170; 904 int SET_FOCUSED_STACK_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+171; 905 int GET_STACK_INFO_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+172; 906 int CONVERT_FROM_TRANSLUCENT_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+173; 907 int CONVERT_TO_TRANSLUCENT_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+174; 908 int NOTIFY_ACTIVITY_DRAWN_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+175; 909 int REPORT_ACTIVITY_FULLY_DRAWN_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+176; 910 int RESTART_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+177; 911 int PERFORM_IDLE_MAINTENANCE_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+178; 912 int TAKE_PERSISTABLE_URI_PERMISSION_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+179; 913 int RELEASE_PERSISTABLE_URI_PERMISSION_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+180; 914 int GET_PERSISTED_URI_PERMISSIONS_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+181; 915 int APP_NOT_RESPONDING_VIA_PROVIDER_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+182; 916 int GET_TASK_BOUNDS_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+183; 917 int GET_ACTIVITY_DISPLAY_ID_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+184; 918 int DELETE_ACTIVITY_CONTAINER_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+185; 919 int SET_PROCESS_MEMORY_TRIM_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+186; 920 921 922 // Start of L transactions 923 int GET_TAG_FOR_INTENT_SENDER_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+210; 924 int START_USER_IN_BACKGROUND_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+211; 925 int IS_IN_HOME_STACK_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+212; 926 int START_LOCK_TASK_BY_TASK_ID_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+213; 927 int START_LOCK_TASK_BY_TOKEN_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+214; 928 int STOP_LOCK_TASK_MODE_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+215; 929 int IS_IN_LOCK_TASK_MODE_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+216; 930 int SET_TASK_DESCRIPTION_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+217; 931 int START_VOICE_ACTIVITY_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+218; 932 int GET_ACTIVITY_OPTIONS_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+219; 933 int GET_APP_TASKS_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+220; 934 int START_LOCK_TASK_BY_CURRENT_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+221; 935 int STOP_LOCK_TASK_BY_CURRENT_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+222; 936 int FINISH_VOICE_TASK_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+223; 937 int IS_TOP_OF_TASK_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+224; 938 int REQUEST_VISIBLE_BEHIND_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+225; 939 int IS_BACKGROUND_VISIBLE_BEHIND_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+226; 940 int BACKGROUND_RESOURCES_RELEASED_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+227; 941 int NOTIFY_LAUNCH_TASK_BEHIND_COMPLETE_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+228; 942 int START_ACTIVITY_FROM_RECENTS_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION + 229; 943 int NOTIFY_ENTER_ANIMATION_COMPLETE_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+230; 944 int KEYGUARD_WAITING_FOR_ACTIVITY_DRAWN_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+231; 945 int START_ACTIVITY_AS_CALLER_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+232; 946 int ADD_APP_TASK_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+233; 947 int GET_APP_TASK_THUMBNAIL_SIZE_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+234; 948 int RELEASE_ACTIVITY_INSTANCE_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+235; 949 int RELEASE_SOME_ACTIVITIES_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+236; 950 int BOOT_ANIMATION_COMPLETE_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+237; 951 int GET_TASK_DESCRIPTION_ICON_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+238; 952 int LAUNCH_ASSIST_INTENT_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+239; 953 int START_IN_PLACE_ANIMATION_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+240; 954 int CHECK_PERMISSION_WITH_TOKEN_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+241; 955 int REGISTER_TASK_STACK_LISTENER_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+242; 956 957 // Start of M transactions 958 int NOTIFY_CLEARTEXT_NETWORK_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+280; 959 int CREATE_STACK_ON_DISPLAY = IBinder.FIRST_CALL_TRANSACTION+281; 960 int GET_FOCUSED_STACK_ID_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+282; 961 int SET_TASK_RESIZEABLE_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+283; 962 int REQUEST_ASSIST_CONTEXT_EXTRAS_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+284; 963 int RESIZE_TASK_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+285; 964 int GET_LOCK_TASK_MODE_STATE_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+286; 965 int SET_DUMP_HEAP_DEBUG_LIMIT_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+287; 966 int DUMP_HEAP_FINISHED_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+288; 967 int SET_VOICE_KEEP_AWAKE_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+289; 968 int UPDATE_LOCK_TASK_PACKAGES_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+290; 969 int NOTE_ALARM_START_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+291; 970 int NOTE_ALARM_FINISH_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+292; 971 int GET_PACKAGE_PROCESS_STATE_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+293; 972 int SHOW_LOCK_TASK_ESCAPE_MESSAGE_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+294; 973 int UPDATE_DEVICE_OWNER_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+295; 974 int KEYGUARD_GOING_AWAY_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+296; 975 int REGISTER_UID_OBSERVER_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+297; 976 int UNREGISTER_UID_OBSERVER_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+298; 977 int IS_SCREEN_CAPTURE_ALLOWED_ON_CURRENT_ACTIVITY_TRANSACTION 978 = IBinder.FIRST_CALL_TRANSACTION+299; 979 int SHOW_ASSIST_FROM_ACTIVITY_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+300; 980 int IS_ROOT_VOICE_INTERACTION_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+301; 981 982 // Start of N transactions 983 int START_BINDER_TRACKING_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION + 340; 984 int STOP_BINDER_TRACKING_AND_DUMP_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION + 341; 985 int POSITION_TASK_IN_STACK_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION + 342; 986 int GET_ACTIVITY_STACK_ID_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION + 343; 987 int EXIT_FREEFORM_MODE_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION + 344; 988 int REPORT_SIZE_CONFIGURATIONS = IBinder.FIRST_CALL_TRANSACTION + 345; 989 int MOVE_TASK_TO_DOCKED_STACK_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION + 346; 990 int SUPPRESS_RESIZE_CONFIG_CHANGES_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION + 347; 991 int MOVE_TASKS_TO_FULLSCREEN_STACK_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION + 348; 992 int MOVE_TOP_ACTIVITY_TO_PINNED_STACK_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION + 349; 993 int GET_APP_START_MODE_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION + 350; 994 int UNLOCK_USER_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION + 351; 995 int IN_MULTI_WINDOW_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION + 352; 996 int IN_PICTURE_IN_PICTURE_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION + 353; 997 int KILL_PACKAGE_DEPENDENTS_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION + 354; 998 int ENTER_PICTURE_IN_PICTURE_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION + 355; 999 int ACTIVITY_RELAUNCHED_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION + 356; 1000 int GET_URI_PERMISSION_OWNER_FOR_ACTIVITY_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION + 357; 1001 int RESIZE_DOCKED_STACK_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION + 358; 1002 int SET_VR_MODE_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION + 359; 1003 int GET_GRANTED_URI_PERMISSIONS_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION + 360; 1004 int CLEAR_GRANTED_URI_PERMISSIONS_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION + 361; 1005 int IS_APP_FOREGROUND_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION + 362; 1006 int START_LOCAL_VOICE_INTERACTION_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION + 363; 1007 int STOP_LOCAL_VOICE_INTERACTION_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION + 364; 1008 int SUPPORTS_LOCAL_VOICE_INTERACTION_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION + 365; 1009 int NOTIFY_PINNED_STACK_ANIMATION_ENDED_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION + 366; 1010 int REMOVE_STACK = IBinder.FIRST_CALL_TRANSACTION + 367; 1011 int SET_LENIENT_BACKGROUND_CHECK_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+368; 1012 int GET_MEMORY_TRIM_LEVEL_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+369; 1013 int RESIZE_PINNED_STACK_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION + 370; 1014 int IS_VR_PACKAGE_ENABLED_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION + 371; 1015 int SWAP_DOCKED_AND_FULLSCREEN_STACK = IBinder.FIRST_CALL_TRANSACTION + 372; 1016 int NOTIFY_LOCKED_PROFILE = IBinder.FIRST_CALL_TRANSACTION + 373; 1017} 1018