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