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