• 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, Intent intent, String resolvedType, IBinder resultTo, String resultWho, int requestCode, int flags, String profileFile, ParcelFileDescriptor profileFd, Bundle options)54     public int startActivity(IApplicationThread caller,
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, 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,
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, 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,
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, Intent intent, String resolvedType, IBinder resultTo, String resultWho, int requestCode, int startFlags, Configuration newConfig, Bundle options, int userId)66     public int startActivityWithConfig(IApplicationThread caller,
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, 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             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, int userId)160     public boolean startInstrumentation(ComponentName className, String profileFile,
161             int flags, Bundle arguments, IInstrumentationWatcher watcher, int userId)
162             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 
finishHeavyWeightApp()289     public void finishHeavyWeightApp() throws RemoteException;
290 
setImmersive(IBinder token, boolean immersive)291     public void setImmersive(IBinder token, boolean immersive) throws RemoteException;
isImmersive(IBinder token)292     public boolean isImmersive(IBinder token) throws RemoteException;
isTopActivityImmersive()293     public boolean isTopActivityImmersive() throws RemoteException;
294 
crashApplication(int uid, int initialPid, String packageName, String message)295     public void crashApplication(int uid, int initialPid, String packageName,
296             String message) throws RemoteException;
297 
getProviderMimeType(Uri uri, int userId)298     public String getProviderMimeType(Uri uri, int userId) throws RemoteException;
299 
newUriPermissionOwner(String name)300     public IBinder newUriPermissionOwner(String name) throws RemoteException;
grantUriPermissionFromOwner(IBinder owner, int fromUid, String targetPkg, Uri uri, int mode)301     public void grantUriPermissionFromOwner(IBinder owner, int fromUid, String targetPkg,
302             Uri uri, int mode) throws RemoteException;
revokeUriPermissionFromOwner(IBinder owner, Uri uri, int mode)303     public void revokeUriPermissionFromOwner(IBinder owner, Uri uri,
304             int mode) throws RemoteException;
305 
checkGrantUriPermission(int callingUid, String targetPkg, Uri uri, int modeFlags)306     public int checkGrantUriPermission(int callingUid, String targetPkg,
307             Uri uri, int modeFlags) throws RemoteException;
308 
309     // Cause the specified process to dump the specified heap.
dumpHeap(String process, int userId, boolean managed, String path, ParcelFileDescriptor fd)310     public boolean dumpHeap(String process, int userId, boolean managed, String path,
311         ParcelFileDescriptor fd) throws RemoteException;
312 
startActivities(IApplicationThread caller, Intent[] intents, String[] resolvedTypes, IBinder resultTo, Bundle options, int userId)313     public int startActivities(IApplicationThread caller,
314             Intent[] intents, String[] resolvedTypes, IBinder resultTo,
315             Bundle options, int userId) throws RemoteException;
316 
getFrontActivityScreenCompatMode()317     public int getFrontActivityScreenCompatMode() throws RemoteException;
setFrontActivityScreenCompatMode(int mode)318     public void setFrontActivityScreenCompatMode(int mode) throws RemoteException;
getPackageScreenCompatMode(String packageName)319     public int getPackageScreenCompatMode(String packageName) throws RemoteException;
setPackageScreenCompatMode(String packageName, int mode)320     public void setPackageScreenCompatMode(String packageName, int mode)
321             throws RemoteException;
getPackageAskScreenCompat(String packageName)322     public boolean getPackageAskScreenCompat(String packageName) throws RemoteException;
setPackageAskScreenCompat(String packageName, boolean ask)323     public void setPackageAskScreenCompat(String packageName, boolean ask)
324             throws RemoteException;
325 
326     // Multi-user APIs
switchUser(int userid)327     public boolean switchUser(int userid) throws RemoteException;
stopUser(int userid, IStopUserCallback callback)328     public int stopUser(int userid, IStopUserCallback callback) throws RemoteException;
getCurrentUser()329     public UserInfo getCurrentUser() throws RemoteException;
isUserRunning(int userid, boolean orStopping)330     public boolean isUserRunning(int userid, boolean orStopping) throws RemoteException;
getRunningUserIds()331     public int[] getRunningUserIds() throws RemoteException;
332 
removeSubTask(int taskId, int subTaskIndex)333     public boolean removeSubTask(int taskId, int subTaskIndex) throws RemoteException;
334 
removeTask(int taskId, int flags)335     public boolean removeTask(int taskId, int flags) throws RemoteException;
336 
registerProcessObserver(IProcessObserver observer)337     public void registerProcessObserver(IProcessObserver observer) throws RemoteException;
unregisterProcessObserver(IProcessObserver observer)338     public void unregisterProcessObserver(IProcessObserver observer) throws RemoteException;
339 
isIntentSenderTargetedToPackage(IIntentSender sender)340     public boolean isIntentSenderTargetedToPackage(IIntentSender sender) throws RemoteException;
341 
isIntentSenderAnActivity(IIntentSender sender)342     public boolean isIntentSenderAnActivity(IIntentSender sender) throws RemoteException;
343 
getIntentForIntentSender(IIntentSender sender)344     public Intent getIntentForIntentSender(IIntentSender sender) throws RemoteException;
345 
updatePersistentConfiguration(Configuration values)346     public void updatePersistentConfiguration(Configuration values) throws RemoteException;
347 
getProcessPss(int[] pids)348     public long[] getProcessPss(int[] pids) throws RemoteException;
349 
showBootMessage(CharSequence msg, boolean always)350     public void showBootMessage(CharSequence msg, boolean always) throws RemoteException;
351 
dismissKeyguardOnNextActivity()352     public void dismissKeyguardOnNextActivity() throws RemoteException;
353 
targetTaskAffinityMatchesActivity(IBinder token, String destAffinity)354     public boolean targetTaskAffinityMatchesActivity(IBinder token, String destAffinity)
355             throws RemoteException;
356 
navigateUpTo(IBinder token, Intent target, int resultCode, Intent resultData)357     public boolean navigateUpTo(IBinder token, Intent target, int resultCode, Intent resultData)
358             throws RemoteException;
359 
360     // This is not public because you need to be very careful in how you
361     // manage your activity to make sure it is always the uid you expect.
getLaunchedFromUid(IBinder activityToken)362     public int getLaunchedFromUid(IBinder activityToken) throws RemoteException;
363 
registerUserSwitchObserver(IUserSwitchObserver observer)364     public void registerUserSwitchObserver(IUserSwitchObserver observer) throws RemoteException;
unregisterUserSwitchObserver(IUserSwitchObserver observer)365     public void unregisterUserSwitchObserver(IUserSwitchObserver observer) throws RemoteException;
366 
requestBugReport()367     public void requestBugReport() throws RemoteException;
368 
inputDispatchingTimedOut(int pid, boolean aboveSystem)369     public long inputDispatchingTimedOut(int pid, boolean aboveSystem) throws RemoteException;
370 
371     /*
372      * Private non-Binder interfaces
373      */
testIsSystemReady()374     /* package */ boolean testIsSystemReady();
375 
376     /** Information you can retrieve about a particular application. */
377     public static class ContentProviderHolder implements Parcelable {
378         public final ProviderInfo info;
379         public IContentProvider provider;
380         public IBinder connection;
381         public boolean noReleaseNeeded;
382 
ContentProviderHolder(ProviderInfo _info)383         public ContentProviderHolder(ProviderInfo _info) {
384             info = _info;
385         }
386 
describeContents()387         public int describeContents() {
388             return 0;
389         }
390 
writeToParcel(Parcel dest, int flags)391         public void writeToParcel(Parcel dest, int flags) {
392             info.writeToParcel(dest, 0);
393             if (provider != null) {
394                 dest.writeStrongBinder(provider.asBinder());
395             } else {
396                 dest.writeStrongBinder(null);
397             }
398             dest.writeStrongBinder(connection);
399             dest.writeInt(noReleaseNeeded ? 1:0);
400         }
401 
402         public static final Parcelable.Creator<ContentProviderHolder> CREATOR
403                 = new Parcelable.Creator<ContentProviderHolder>() {
404             public ContentProviderHolder createFromParcel(Parcel source) {
405                 return new ContentProviderHolder(source);
406             }
407 
408             public ContentProviderHolder[] newArray(int size) {
409                 return new ContentProviderHolder[size];
410             }
411         };
412 
ContentProviderHolder(Parcel source)413         private ContentProviderHolder(Parcel source) {
414             info = ProviderInfo.CREATOR.createFromParcel(source);
415             provider = ContentProviderNative.asInterface(
416                 source.readStrongBinder());
417             connection = source.readStrongBinder();
418             noReleaseNeeded = source.readInt() != 0;
419         }
420     }
421 
422     /** Information returned after waiting for an activity start. */
423     public static class WaitResult implements Parcelable {
424         public int result;
425         public boolean timeout;
426         public ComponentName who;
427         public long thisTime;
428         public long totalTime;
429 
WaitResult()430         public WaitResult() {
431         }
432 
describeContents()433         public int describeContents() {
434             return 0;
435         }
436 
writeToParcel(Parcel dest, int flags)437         public void writeToParcel(Parcel dest, int flags) {
438             dest.writeInt(result);
439             dest.writeInt(timeout ? 1 : 0);
440             ComponentName.writeToParcel(who, dest);
441             dest.writeLong(thisTime);
442             dest.writeLong(totalTime);
443         }
444 
445         public static final Parcelable.Creator<WaitResult> CREATOR
446                 = new Parcelable.Creator<WaitResult>() {
447             public WaitResult createFromParcel(Parcel source) {
448                 return new WaitResult(source);
449             }
450 
451             public WaitResult[] newArray(int size) {
452                 return new WaitResult[size];
453             }
454         };
455 
WaitResult(Parcel source)456         private WaitResult(Parcel source) {
457             result = source.readInt();
458             timeout = source.readInt() != 0;
459             who = ComponentName.readFromParcel(source);
460             thisTime = source.readLong();
461             totalTime = source.readLong();
462         }
463     };
464 
465     String descriptor = "android.app.IActivityManager";
466 
467     // Please keep these transaction codes the same -- they are also
468     // sent by C++ code.
469     int START_RUNNING_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION;
470     int HANDLE_APPLICATION_CRASH_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+1;
471     int START_ACTIVITY_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+2;
472     int UNHANDLED_BACK_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+3;
473     int OPEN_CONTENT_URI_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+4;
474 
475     // Remaining non-native transaction codes.
476     int FINISH_ACTIVITY_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+10;
477     int REGISTER_RECEIVER_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+11;
478     int UNREGISTER_RECEIVER_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+12;
479     int BROADCAST_INTENT_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+13;
480     int UNBROADCAST_INTENT_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+14;
481     int FINISH_RECEIVER_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+15;
482     int ATTACH_APPLICATION_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+16;
483     int ACTIVITY_IDLE_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+17;
484     int ACTIVITY_PAUSED_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+18;
485     int ACTIVITY_STOPPED_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+19;
486     int GET_CALLING_PACKAGE_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+20;
487     int GET_CALLING_ACTIVITY_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+21;
488     int GET_TASKS_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+22;
489     int MOVE_TASK_TO_FRONT_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+23;
490     int MOVE_TASK_TO_BACK_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+24;
491     int MOVE_TASK_BACKWARDS_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+25;
492     int GET_TASK_FOR_ACTIVITY_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+26;
493     int REPORT_THUMBNAIL_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+27;
494     int GET_CONTENT_PROVIDER_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+28;
495     int PUBLISH_CONTENT_PROVIDERS_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+29;
496     int REF_CONTENT_PROVIDER_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+30;
497     int FINISH_SUB_ACTIVITY_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+31;
498     int GET_RUNNING_SERVICE_CONTROL_PANEL_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+32;
499     int START_SERVICE_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+33;
500     int STOP_SERVICE_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+34;
501     int BIND_SERVICE_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+35;
502     int UNBIND_SERVICE_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+36;
503     int PUBLISH_SERVICE_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+37;
504     int ACTIVITY_RESUMED_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+38;
505     int GOING_TO_SLEEP_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+39;
506     int WAKING_UP_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+40;
507     int SET_DEBUG_APP_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+41;
508     int SET_ALWAYS_FINISH_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+42;
509     int START_INSTRUMENTATION_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+43;
510     int FINISH_INSTRUMENTATION_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+44;
511     int GET_CONFIGURATION_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+45;
512     int UPDATE_CONFIGURATION_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+46;
513     int STOP_SERVICE_TOKEN_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+47;
514     int GET_ACTIVITY_CLASS_FOR_TOKEN_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+48;
515     int GET_PACKAGE_FOR_TOKEN_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+49;
516     int SET_PROCESS_LIMIT_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+50;
517     int GET_PROCESS_LIMIT_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+51;
518     int CHECK_PERMISSION_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+52;
519     int CHECK_URI_PERMISSION_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+53;
520     int GRANT_URI_PERMISSION_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+54;
521     int REVOKE_URI_PERMISSION_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+55;
522     int SET_ACTIVITY_CONTROLLER_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+56;
523     int SHOW_WAITING_FOR_DEBUGGER_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+57;
524     int SIGNAL_PERSISTENT_PROCESSES_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+58;
525     int GET_RECENT_TASKS_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+59;
526     int SERVICE_DONE_EXECUTING_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+60;
527     int ACTIVITY_DESTROYED_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+61;
528     int GET_INTENT_SENDER_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+62;
529     int CANCEL_INTENT_SENDER_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+63;
530     int GET_PACKAGE_FOR_INTENT_SENDER_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+64;
531     int ENTER_SAFE_MODE_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+65;
532     int START_NEXT_MATCHING_ACTIVITY_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+66;
533     int NOTE_WAKEUP_ALARM_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+67;
534     int REMOVE_CONTENT_PROVIDER_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+68;
535     int SET_REQUESTED_ORIENTATION_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+69;
536     int GET_REQUESTED_ORIENTATION_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+70;
537     int UNBIND_FINISHED_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+71;
538     int SET_PROCESS_FOREGROUND_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+72;
539     int SET_SERVICE_FOREGROUND_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+73;
540     int MOVE_ACTIVITY_TASK_TO_BACK_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+74;
541     int GET_MEMORY_INFO_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+75;
542     int GET_PROCESSES_IN_ERROR_STATE_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+76;
543     int CLEAR_APP_DATA_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+77;
544     int FORCE_STOP_PACKAGE_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+78;
545     int KILL_PIDS_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+79;
546     int GET_SERVICES_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+80;
547     int GET_TASK_THUMBNAILS_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+81;
548     int GET_RUNNING_APP_PROCESSES_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+82;
549     int GET_DEVICE_CONFIGURATION_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+83;
550     int PEEK_SERVICE_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+84;
551     int PROFILE_CONTROL_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+85;
552     int SHUTDOWN_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+86;
553     int STOP_APP_SWITCHES_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+87;
554     int RESUME_APP_SWITCHES_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+88;
555     int START_BACKUP_AGENT_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+89;
556     int BACKUP_AGENT_CREATED_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+90;
557     int UNBIND_BACKUP_AGENT_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+91;
558     int GET_UID_FOR_INTENT_SENDER_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+92;
559     int HANDLE_INCOMING_USER_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+93;
560     int GET_TASK_TOP_THUMBNAIL_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+94;
561     int KILL_APPLICATION_WITH_APPID_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+95;
562     int CLOSE_SYSTEM_DIALOGS_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+96;
563     int GET_PROCESS_MEMORY_INFO_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+97;
564     int KILL_APPLICATION_PROCESS_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+98;
565     int START_ACTIVITY_INTENT_SENDER_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+99;
566     int OVERRIDE_PENDING_TRANSITION_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+100;
567     int HANDLE_APPLICATION_WTF_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+101;
568     int KILL_BACKGROUND_PROCESSES_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+102;
569     int IS_USER_A_MONKEY_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+103;
570     int START_ACTIVITY_AND_WAIT_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+104;
571     int WILL_ACTIVITY_BE_VISIBLE_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+105;
572     int START_ACTIVITY_WITH_CONFIG_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+106;
573     int GET_RUNNING_EXTERNAL_APPLICATIONS_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+107;
574     int FINISH_HEAVY_WEIGHT_APP_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+108;
575     int HANDLE_APPLICATION_STRICT_MODE_VIOLATION_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+109;
576     int IS_IMMERSIVE_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+110;
577     int SET_IMMERSIVE_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+111;
578     int IS_TOP_ACTIVITY_IMMERSIVE_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+112;
579     int CRASH_APPLICATION_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+113;
580     int GET_PROVIDER_MIME_TYPE_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+114;
581     int NEW_URI_PERMISSION_OWNER_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+115;
582     int GRANT_URI_PERMISSION_FROM_OWNER_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+116;
583     int REVOKE_URI_PERMISSION_FROM_OWNER_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+117;
584     int CHECK_GRANT_URI_PERMISSION_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+118;
585     int DUMP_HEAP_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+119;
586     int START_ACTIVITIES_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+120;
587     int IS_USER_RUNNING_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+121;
588     int ACTIVITY_SLEPT_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+122;
589     int GET_FRONT_ACTIVITY_SCREEN_COMPAT_MODE_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+123;
590     int SET_FRONT_ACTIVITY_SCREEN_COMPAT_MODE_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+124;
591     int GET_PACKAGE_SCREEN_COMPAT_MODE_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+125;
592     int SET_PACKAGE_SCREEN_COMPAT_MODE_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+126;
593     int GET_PACKAGE_ASK_SCREEN_COMPAT_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+127;
594     int SET_PACKAGE_ASK_SCREEN_COMPAT_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+128;
595     int SWITCH_USER_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+129;
596     int REMOVE_SUB_TASK_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+130;
597     int REMOVE_TASK_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+131;
598     int REGISTER_PROCESS_OBSERVER_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+132;
599     int UNREGISTER_PROCESS_OBSERVER_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+133;
600     int IS_INTENT_SENDER_TARGETED_TO_PACKAGE_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+134;
601     int UPDATE_PERSISTENT_CONFIGURATION_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+135;
602     int GET_PROCESS_PSS_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+136;
603     int SHOW_BOOT_MESSAGE_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+137;
604     int DISMISS_KEYGUARD_ON_NEXT_ACTIVITY_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+138;
605     int KILL_ALL_BACKGROUND_PROCESSES_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+139;
606     int GET_CONTENT_PROVIDER_EXTERNAL_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+140;
607     int REMOVE_CONTENT_PROVIDER_EXTERNAL_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+141;
608     int GET_MY_MEMORY_STATE_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+142;
609     int KILL_PROCESSES_BELOW_FOREGROUND_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+143;
610     int GET_CURRENT_USER_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+144;
611     int TARGET_TASK_AFFINITY_MATCHES_ACTIVITY_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+145;
612     int NAVIGATE_UP_TO_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+146;
613     int SET_LOCK_SCREEN_SHOWN_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+147;
614     int FINISH_ACTIVITY_AFFINITY_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+148;
615     int GET_LAUNCHED_FROM_UID_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+149;
616     int UNSTABLE_PROVIDER_DIED_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+150;
617     int IS_INTENT_SENDER_AN_ACTIVITY_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+151;
618     int START_ACTIVITY_AS_USER_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+152;
619     int STOP_USER_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+153;
620     int REGISTER_USER_SWITCH_OBSERVER_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+154;
621     int UNREGISTER_USER_SWITCH_OBSERVER_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+155;
622     int GET_RUNNING_USER_IDS_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+156;
623     int REQUEST_BUG_REPORT_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+157;
624     int INPUT_DISPATCHING_TIMED_OUT_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+158;
625     int CLEAR_PENDING_BACKUP_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+159;
626     int GET_INTENT_FOR_INTENT_SENDER_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+160;
627 }
628