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