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.Intent; 23 import android.content.IntentFilter; 24 import android.content.IIntentSender; 25 import android.content.IIntentReceiver; 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.res.Configuration; 32 import android.graphics.Bitmap; 33 import android.net.Uri; 34 import android.os.Debug; 35 import android.os.RemoteException; 36 import android.os.IBinder; 37 import android.os.IInterface; 38 import android.os.Parcel; 39 import android.os.Parcelable; 40 import android.os.ParcelFileDescriptor; 41 import android.os.Bundle; 42 43 import java.util.List; 44 45 /** 46 * System private API for talking with the activity manager service. This 47 * provides calls from the application back to the activity manager. 48 * 49 * {@hide} 50 */ 51 public interface IActivityManager extends IInterface { 52 /** 53 * Returned by startActivity() if the start request was canceled because 54 * app switches are temporarily canceled to ensure the user's last request 55 * (such as pressing home) is performed. 56 */ 57 public static final int START_SWITCHES_CANCELED = 4; 58 /** 59 * Returned by startActivity() if an activity wasn't really started, but 60 * the given Intent was given to the existing top activity. 61 */ 62 public static final int START_DELIVERED_TO_TOP = 3; 63 /** 64 * Returned by startActivity() if an activity wasn't really started, but 65 * a task was simply brought to the foreground. 66 */ 67 public static final int START_TASK_TO_FRONT = 2; 68 /** 69 * Returned by startActivity() if the caller asked that the Intent not 70 * be executed if it is the recipient, and that is indeed the case. 71 */ 72 public static final int START_RETURN_INTENT_TO_CALLER = 1; 73 /** 74 * Activity was started successfully as normal. 75 */ 76 public static final int START_SUCCESS = 0; 77 public static final int START_INTENT_NOT_RESOLVED = -1; 78 public static final int START_CLASS_NOT_FOUND = -2; 79 public static final int START_FORWARD_AND_REQUEST_CONFLICT = -3; 80 public static final int START_PERMISSION_DENIED = -4; 81 public static final int START_NOT_ACTIVITY = -5; 82 public static final int START_CANCELED = -6; startActivity(IApplicationThread caller, Intent intent, String resolvedType, Uri[] grantedUriPermissions, int grantedMode, IBinder resultTo, String resultWho, int requestCode, boolean onlyIfNeeded, boolean debug)83 public int startActivity(IApplicationThread caller, 84 Intent intent, String resolvedType, Uri[] grantedUriPermissions, 85 int grantedMode, IBinder resultTo, String resultWho, int requestCode, 86 boolean onlyIfNeeded, boolean debug) throws RemoteException; startActivityIntentSender(IApplicationThread caller, IntentSender intent, Intent fillInIntent, String resolvedType, IBinder resultTo, String resultWho, int requestCode, int flagsMask, int flagsValues)87 public int startActivityIntentSender(IApplicationThread caller, 88 IntentSender intent, Intent fillInIntent, String resolvedType, 89 IBinder resultTo, String resultWho, int requestCode, 90 int flagsMask, int flagsValues) throws RemoteException; startNextMatchingActivity(IBinder callingActivity, Intent intent)91 public boolean startNextMatchingActivity(IBinder callingActivity, 92 Intent intent) throws RemoteException; finishActivity(IBinder token, int code, Intent data)93 public boolean finishActivity(IBinder token, int code, Intent data) 94 throws RemoteException; finishSubActivity(IBinder token, String resultWho, int requestCode)95 public void finishSubActivity(IBinder token, String resultWho, int requestCode) throws RemoteException; registerReceiver(IApplicationThread caller, IIntentReceiver receiver, IntentFilter filter, String requiredPermission)96 public Intent registerReceiver(IApplicationThread caller, 97 IIntentReceiver receiver, IntentFilter filter, 98 String requiredPermission) throws RemoteException; unregisterReceiver(IIntentReceiver receiver)99 public void unregisterReceiver(IIntentReceiver receiver) throws RemoteException; 100 public static final int BROADCAST_SUCCESS = 0; 101 public static final int BROADCAST_STICKY_CANT_HAVE_PERMISSION = -1; broadcastIntent(IApplicationThread caller, Intent intent, String resolvedType, IIntentReceiver resultTo, int resultCode, String resultData, Bundle map, String requiredPermission, boolean serialized, boolean sticky)102 public int broadcastIntent(IApplicationThread caller, Intent intent, 103 String resolvedType, IIntentReceiver resultTo, int resultCode, 104 String resultData, Bundle map, String requiredPermission, 105 boolean serialized, boolean sticky) throws RemoteException; unbroadcastIntent(IApplicationThread caller, Intent intent)106 public void unbroadcastIntent(IApplicationThread caller, Intent intent) throws RemoteException; 107 /* oneway */ finishReceiver(IBinder who, int resultCode, String resultData, Bundle map, boolean abortBroadcast)108 public void finishReceiver(IBinder who, int resultCode, String resultData, Bundle map, boolean abortBroadcast) throws RemoteException; setPersistent(IBinder token, boolean isPersistent)109 public void setPersistent(IBinder token, boolean isPersistent) throws RemoteException; attachApplication(IApplicationThread app)110 public void attachApplication(IApplicationThread app) throws RemoteException; 111 /* oneway */ activityIdle(IBinder token, Configuration config)112 public void activityIdle(IBinder token, Configuration config) throws RemoteException; activityPaused(IBinder token, Bundle state)113 public void activityPaused(IBinder token, Bundle state) throws RemoteException; 114 /* oneway */ activityStopped(IBinder token, Bitmap thumbnail, CharSequence description)115 public void activityStopped(IBinder token, 116 Bitmap thumbnail, CharSequence description) throws RemoteException; 117 /* oneway */ activityDestroyed(IBinder token)118 public void activityDestroyed(IBinder token) throws RemoteException; getCallingPackage(IBinder token)119 public String getCallingPackage(IBinder token) throws RemoteException; getCallingActivity(IBinder token)120 public ComponentName getCallingActivity(IBinder token) throws RemoteException; getTasks(int maxNum, int flags, IThumbnailReceiver receiver)121 public List getTasks(int maxNum, int flags, 122 IThumbnailReceiver receiver) throws RemoteException; getRecentTasks(int maxNum, int flags)123 public List<ActivityManager.RecentTaskInfo> getRecentTasks(int maxNum, 124 int flags) throws RemoteException; getServices(int maxNum, int flags)125 public List getServices(int maxNum, int flags) throws RemoteException; getProcessesInErrorState()126 public List<ActivityManager.ProcessErrorStateInfo> getProcessesInErrorState() 127 throws RemoteException; moveTaskToFront(int task)128 public void moveTaskToFront(int task) throws RemoteException; moveTaskToBack(int task)129 public void moveTaskToBack(int task) throws RemoteException; moveActivityTaskToBack(IBinder token, boolean nonRoot)130 public boolean moveActivityTaskToBack(IBinder token, boolean nonRoot) throws RemoteException; moveTaskBackwards(int task)131 public void moveTaskBackwards(int task) throws RemoteException; getTaskForActivity(IBinder token, boolean onlyRoot)132 public int getTaskForActivity(IBinder token, boolean onlyRoot) throws RemoteException; finishOtherInstances(IBinder token, ComponentName className)133 public void finishOtherInstances(IBinder token, ComponentName className) throws RemoteException; 134 /* oneway */ reportThumbnail(IBinder token, Bitmap thumbnail, CharSequence description)135 public void reportThumbnail(IBinder token, 136 Bitmap thumbnail, CharSequence description) throws RemoteException; getContentProvider(IApplicationThread caller, String name)137 public ContentProviderHolder getContentProvider(IApplicationThread caller, 138 String name) throws RemoteException; removeContentProvider(IApplicationThread caller, String name)139 public void removeContentProvider(IApplicationThread caller, 140 String name) throws RemoteException; publishContentProviders(IApplicationThread caller, List<ContentProviderHolder> providers)141 public void publishContentProviders(IApplicationThread caller, 142 List<ContentProviderHolder> providers) throws RemoteException; getRunningServiceControlPanel(ComponentName service)143 public PendingIntent getRunningServiceControlPanel(ComponentName service) 144 throws RemoteException; startService(IApplicationThread caller, Intent service, String resolvedType)145 public ComponentName startService(IApplicationThread caller, Intent service, 146 String resolvedType) throws RemoteException; stopService(IApplicationThread caller, Intent service, String resolvedType)147 public int stopService(IApplicationThread caller, Intent service, 148 String resolvedType) throws RemoteException; stopServiceToken(ComponentName className, IBinder token, int startId)149 public boolean stopServiceToken(ComponentName className, IBinder token, 150 int startId) throws RemoteException; setServiceForeground(ComponentName className, IBinder token, int id, Notification notification, boolean keepNotification)151 public void setServiceForeground(ComponentName className, IBinder token, 152 int id, Notification notification, boolean keepNotification) throws RemoteException; bindService(IApplicationThread caller, IBinder token, Intent service, String resolvedType, IServiceConnection connection, int flags)153 public int bindService(IApplicationThread caller, IBinder token, 154 Intent service, String resolvedType, 155 IServiceConnection connection, int flags) throws RemoteException; unbindService(IServiceConnection connection)156 public boolean unbindService(IServiceConnection connection) throws RemoteException; publishService(IBinder token, Intent intent, IBinder service)157 public void publishService(IBinder token, 158 Intent intent, IBinder service) throws RemoteException; unbindFinished(IBinder token, Intent service, boolean doRebind)159 public void unbindFinished(IBinder token, Intent service, 160 boolean doRebind) throws RemoteException; 161 /* oneway */ serviceDoneExecuting(IBinder token, int type, int startId, int res)162 public void serviceDoneExecuting(IBinder token, int type, int startId, 163 int res) throws RemoteException; peekService(Intent service, String resolvedType)164 public IBinder peekService(Intent service, String resolvedType) throws RemoteException; 165 bindBackupAgent(ApplicationInfo appInfo, int backupRestoreMode)166 public boolean bindBackupAgent(ApplicationInfo appInfo, int backupRestoreMode) 167 throws RemoteException; backupAgentCreated(String packageName, IBinder agent)168 public void backupAgentCreated(String packageName, IBinder agent) throws RemoteException; unbindBackupAgent(ApplicationInfo appInfo)169 public void unbindBackupAgent(ApplicationInfo appInfo) throws RemoteException; killApplicationProcess(String processName, int uid)170 public void killApplicationProcess(String processName, int uid) throws RemoteException; 171 startInstrumentation(ComponentName className, String profileFile, int flags, Bundle arguments, IInstrumentationWatcher watcher)172 public boolean startInstrumentation(ComponentName className, String profileFile, 173 int flags, Bundle arguments, IInstrumentationWatcher watcher) 174 throws RemoteException; finishInstrumentation(IApplicationThread target, int resultCode, Bundle results)175 public void finishInstrumentation(IApplicationThread target, 176 int resultCode, Bundle results) throws RemoteException; 177 getConfiguration()178 public Configuration getConfiguration() throws RemoteException; updateConfiguration(Configuration values)179 public void updateConfiguration(Configuration values) throws RemoteException; setRequestedOrientation(IBinder token, int requestedOrientation)180 public void setRequestedOrientation(IBinder token, 181 int requestedOrientation) throws RemoteException; getRequestedOrientation(IBinder token)182 public int getRequestedOrientation(IBinder token) throws RemoteException; 183 getActivityClassForToken(IBinder token)184 public ComponentName getActivityClassForToken(IBinder token) throws RemoteException; getPackageForToken(IBinder token)185 public String getPackageForToken(IBinder token) throws RemoteException; 186 187 public static final int INTENT_SENDER_BROADCAST = 1; 188 public static final int INTENT_SENDER_ACTIVITY = 2; 189 public static final int INTENT_SENDER_ACTIVITY_RESULT = 3; 190 public static final int INTENT_SENDER_SERVICE = 4; getIntentSender(int type, String packageName, IBinder token, String resultWho, int requestCode, Intent intent, String resolvedType, int flags)191 public IIntentSender getIntentSender(int type, 192 String packageName, IBinder token, String resultWho, 193 int requestCode, Intent intent, String resolvedType, int flags) throws RemoteException; cancelIntentSender(IIntentSender sender)194 public void cancelIntentSender(IIntentSender sender) throws RemoteException; clearApplicationUserData(final String packageName, final IPackageDataObserver observer)195 public boolean clearApplicationUserData(final String packageName, 196 final IPackageDataObserver observer) throws RemoteException; getPackageForIntentSender(IIntentSender sender)197 public String getPackageForIntentSender(IIntentSender sender) throws RemoteException; 198 setProcessLimit(int max)199 public void setProcessLimit(int max) throws RemoteException; getProcessLimit()200 public int getProcessLimit() throws RemoteException; 201 setProcessForeground(IBinder token, int pid, boolean isForeground)202 public void setProcessForeground(IBinder token, int pid, boolean isForeground) throws RemoteException; 203 checkPermission(String permission, int pid, int uid)204 public int checkPermission(String permission, int pid, int uid) 205 throws RemoteException; 206 checkUriPermission(Uri uri, int pid, int uid, int mode)207 public int checkUriPermission(Uri uri, int pid, int uid, int mode) 208 throws RemoteException; grantUriPermission(IApplicationThread caller, String targetPkg, Uri uri, int mode)209 public void grantUriPermission(IApplicationThread caller, String targetPkg, 210 Uri uri, int mode) throws RemoteException; revokeUriPermission(IApplicationThread caller, Uri uri, int mode)211 public void revokeUriPermission(IApplicationThread caller, Uri uri, 212 int mode) throws RemoteException; 213 showWaitingForDebugger(IApplicationThread who, boolean waiting)214 public void showWaitingForDebugger(IApplicationThread who, boolean waiting) 215 throws RemoteException; 216 getMemoryInfo(ActivityManager.MemoryInfo outInfo)217 public void getMemoryInfo(ActivityManager.MemoryInfo outInfo) throws RemoteException; 218 restartPackage(final String packageName)219 public void restartPackage(final String packageName) throws RemoteException; 220 221 // Note: probably don't want to allow applications access to these. goingToSleep()222 public void goingToSleep() throws RemoteException; wakingUp()223 public void wakingUp() throws RemoteException; 224 unhandledBack()225 public void unhandledBack() throws RemoteException; openContentUri(Uri uri)226 public ParcelFileDescriptor openContentUri(Uri uri) throws RemoteException; setDebugApp( String packageName, boolean waitForDebugger, boolean persistent)227 public void setDebugApp( 228 String packageName, boolean waitForDebugger, boolean persistent) 229 throws RemoteException; setAlwaysFinish(boolean enabled)230 public void setAlwaysFinish(boolean enabled) throws RemoteException; setActivityController(IActivityController watcher)231 public void setActivityController(IActivityController watcher) 232 throws RemoteException; 233 enterSafeMode()234 public void enterSafeMode() throws RemoteException; 235 noteWakeupAlarm(IIntentSender sender)236 public void noteWakeupAlarm(IIntentSender sender) throws RemoteException; 237 killPidsForMemory(int[] pids)238 public boolean killPidsForMemory(int[] pids) throws RemoteException; 239 reportPss(IApplicationThread caller, int pss)240 public void reportPss(IApplicationThread caller, int pss) throws RemoteException; 241 242 // Special low-level communication with activity manager. startRunning(String pkg, String cls, String action, String data)243 public void startRunning(String pkg, String cls, String action, 244 String data) throws RemoteException; 245 // Returns 1 if the user wants to debug. handleApplicationError(IBinder app, int flags, String tag, String shortMsg, String longMsg, byte[] crashData)246 public int handleApplicationError(IBinder app, 247 int flags, /* 1 == can debug */ 248 String tag, String shortMsg, String longMsg, 249 byte[] crashData) throws RemoteException; 250 251 /* 252 * This will deliver the specified signal to all the persistent processes. Currently only 253 * SIGUSR1 is delivered. All others are ignored. 254 */ signalPersistentProcesses(int signal)255 public void signalPersistentProcesses(int signal) throws RemoteException; 256 // Retrieve running application processes in the system getRunningAppProcesses()257 public List<ActivityManager.RunningAppProcessInfo> getRunningAppProcesses() 258 throws RemoteException; 259 // Get device configuration getDeviceConfigurationInfo()260 public ConfigurationInfo getDeviceConfigurationInfo() throws RemoteException; 261 262 // Turn on/off profiling in a particular process. profileControl(String process, boolean start, String path, ParcelFileDescriptor fd)263 public boolean profileControl(String process, boolean start, 264 String path, ParcelFileDescriptor fd) throws RemoteException; 265 shutdown(int timeout)266 public boolean shutdown(int timeout) throws RemoteException; 267 stopAppSwitches()268 public void stopAppSwitches() throws RemoteException; resumeAppSwitches()269 public void resumeAppSwitches() throws RemoteException; 270 registerActivityWatcher(IActivityWatcher watcher)271 public void registerActivityWatcher(IActivityWatcher watcher) 272 throws RemoteException; unregisterActivityWatcher(IActivityWatcher watcher)273 public void unregisterActivityWatcher(IActivityWatcher watcher) 274 throws RemoteException; 275 startActivityInPackage(int uid, Intent intent, String resolvedType, IBinder resultTo, String resultWho, int requestCode, boolean onlyIfNeeded)276 public int startActivityInPackage(int uid, 277 Intent intent, String resolvedType, IBinder resultTo, 278 String resultWho, int requestCode, boolean onlyIfNeeded) 279 throws RemoteException; 280 killApplicationWithUid(String pkg, int uid)281 public void killApplicationWithUid(String pkg, int uid) throws RemoteException; 282 closeSystemDialogs(String reason)283 public void closeSystemDialogs(String reason) throws RemoteException; 284 getProcessMemoryInfo(int[] pids)285 public Debug.MemoryInfo[] getProcessMemoryInfo(int[] pids) 286 throws RemoteException; 287 overridePendingTransition(IBinder token, String packageName, int enterAnim, int exitAnim)288 public void overridePendingTransition(IBinder token, String packageName, 289 int enterAnim, int exitAnim) throws RemoteException; 290 291 /* 292 * Private non-Binder interfaces 293 */ testIsSystemReady()294 /* package */ boolean testIsSystemReady(); 295 296 /** Information you can retrieve about a particular application. */ 297 public static class ContentProviderHolder implements Parcelable { 298 public final ProviderInfo info; 299 public final String permissionFailure; 300 public IContentProvider provider; 301 public boolean noReleaseNeeded; 302 ContentProviderHolder(ProviderInfo _info)303 public ContentProviderHolder(ProviderInfo _info) { 304 info = _info; 305 permissionFailure = null; 306 } 307 ContentProviderHolder(ProviderInfo _info, String _permissionFailure)308 public ContentProviderHolder(ProviderInfo _info, 309 String _permissionFailure) { 310 info = _info; 311 permissionFailure = _permissionFailure; 312 } 313 describeContents()314 public int describeContents() { 315 return 0; 316 } 317 writeToParcel(Parcel dest, int flags)318 public void writeToParcel(Parcel dest, int flags) { 319 info.writeToParcel(dest, 0); 320 dest.writeString(permissionFailure); 321 if (provider != null) { 322 dest.writeStrongBinder(provider.asBinder()); 323 } else { 324 dest.writeStrongBinder(null); 325 } 326 dest.writeInt(noReleaseNeeded ? 1:0); 327 } 328 329 public static final Parcelable.Creator<ContentProviderHolder> CREATOR 330 = new Parcelable.Creator<ContentProviderHolder>() { 331 public ContentProviderHolder createFromParcel(Parcel source) { 332 return new ContentProviderHolder(source); 333 } 334 335 public ContentProviderHolder[] newArray(int size) { 336 return new ContentProviderHolder[size]; 337 } 338 }; 339 ContentProviderHolder(Parcel source)340 private ContentProviderHolder(Parcel source) { 341 info = ProviderInfo.CREATOR.createFromParcel(source); 342 permissionFailure = source.readString(); 343 provider = ContentProviderNative.asInterface( 344 source.readStrongBinder()); 345 noReleaseNeeded = source.readInt() != 0; 346 } 347 }; 348 349 String descriptor = "android.app.IActivityManager"; 350 351 // Please keep these transaction codes the same -- they are also 352 // sent by C++ code. 353 int START_RUNNING_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION; 354 int HANDLE_APPLICATION_ERROR_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+1; 355 int START_ACTIVITY_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+2; 356 int UNHANDLED_BACK_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+3; 357 int OPEN_CONTENT_URI_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+4; 358 359 // Remaining non-native transaction codes. 360 int FINISH_ACTIVITY_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+10; 361 int REGISTER_RECEIVER_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+11; 362 int UNREGISTER_RECEIVER_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+12; 363 int BROADCAST_INTENT_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+13; 364 int UNBROADCAST_INTENT_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+14; 365 int FINISH_RECEIVER_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+15; 366 int ATTACH_APPLICATION_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+16; 367 int ACTIVITY_IDLE_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+17; 368 int ACTIVITY_PAUSED_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+18; 369 int ACTIVITY_STOPPED_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+19; 370 int GET_CALLING_PACKAGE_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+20; 371 int GET_CALLING_ACTIVITY_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+21; 372 int GET_TASKS_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+22; 373 int MOVE_TASK_TO_FRONT_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+23; 374 int MOVE_TASK_TO_BACK_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+24; 375 int MOVE_TASK_BACKWARDS_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+25; 376 int GET_TASK_FOR_ACTIVITY_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+26; 377 int REPORT_THUMBNAIL_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+27; 378 int GET_CONTENT_PROVIDER_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+28; 379 int PUBLISH_CONTENT_PROVIDERS_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+29; 380 int SET_PERSISTENT_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+30; 381 int FINISH_SUB_ACTIVITY_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+31; 382 int GET_RUNNING_SERVICE_CONTROL_PANEL_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+32; 383 int START_SERVICE_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+33; 384 int STOP_SERVICE_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+34; 385 int BIND_SERVICE_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+35; 386 int UNBIND_SERVICE_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+36; 387 int PUBLISH_SERVICE_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+37; 388 int FINISH_OTHER_INSTANCES_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+38; 389 int GOING_TO_SLEEP_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+39; 390 int WAKING_UP_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+40; 391 int SET_DEBUG_APP_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+41; 392 int SET_ALWAYS_FINISH_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+42; 393 int START_INSTRUMENTATION_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+43; 394 int FINISH_INSTRUMENTATION_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+44; 395 int GET_CONFIGURATION_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+45; 396 int UPDATE_CONFIGURATION_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+46; 397 int STOP_SERVICE_TOKEN_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+47; 398 int GET_ACTIVITY_CLASS_FOR_TOKEN_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+48; 399 int GET_PACKAGE_FOR_TOKEN_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+49; 400 int SET_PROCESS_LIMIT_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+50; 401 int GET_PROCESS_LIMIT_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+51; 402 int CHECK_PERMISSION_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+52; 403 int CHECK_URI_PERMISSION_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+53; 404 int GRANT_URI_PERMISSION_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+54; 405 int REVOKE_URI_PERMISSION_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+55; 406 int SET_ACTIVITY_CONTROLLER_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+56; 407 int SHOW_WAITING_FOR_DEBUGGER_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+57; 408 int SIGNAL_PERSISTENT_PROCESSES_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+58; 409 int GET_RECENT_TASKS_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+59; 410 int SERVICE_DONE_EXECUTING_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+60; 411 int ACTIVITY_DESTROYED_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+61; 412 int GET_INTENT_SENDER_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+62; 413 int CANCEL_INTENT_SENDER_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+63; 414 int GET_PACKAGE_FOR_INTENT_SENDER_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+64; 415 int ENTER_SAFE_MODE_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+65; 416 int START_NEXT_MATCHING_ACTIVITY_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+66; 417 int NOTE_WAKEUP_ALARM_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+67; 418 int REMOVE_CONTENT_PROVIDER_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+68; 419 int SET_REQUESTED_ORIENTATION_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+69; 420 int GET_REQUESTED_ORIENTATION_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+70; 421 int UNBIND_FINISHED_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+71; 422 int SET_PROCESS_FOREGROUND_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+72; 423 int SET_SERVICE_FOREGROUND_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+73; 424 int MOVE_ACTIVITY_TASK_TO_BACK_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+74; 425 int GET_MEMORY_INFO_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+75; 426 int GET_PROCESSES_IN_ERROR_STATE_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+76; 427 int CLEAR_APP_DATA_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+77; 428 int RESTART_PACKAGE_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+78; 429 int KILL_PIDS_FOR_MEMORY_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+79; 430 int GET_SERVICES_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+80; 431 int REPORT_PSS_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+81; 432 int GET_RUNNING_APP_PROCESSES_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+82; 433 int GET_DEVICE_CONFIGURATION_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+83; 434 int PEEK_SERVICE_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+84; 435 int PROFILE_CONTROL_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+85; 436 int SHUTDOWN_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+86; 437 int STOP_APP_SWITCHES_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+87; 438 int RESUME_APP_SWITCHES_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+88; 439 int START_BACKUP_AGENT_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+89; 440 int BACKUP_AGENT_CREATED_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+90; 441 int UNBIND_BACKUP_AGENT_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+91; 442 int REGISTER_ACTIVITY_WATCHER_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+92; 443 int UNREGISTER_ACTIVITY_WATCHER_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+93; 444 int START_ACTIVITY_IN_PACKAGE_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+94; 445 int KILL_APPLICATION_WITH_UID_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+95; 446 int CLOSE_SYSTEM_DIALOGS_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+96; 447 int GET_PROCESS_MEMORY_INFO_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+97; 448 int KILL_APPLICATION_PROCESS_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+98; 449 int START_ACTIVITY_INTENT_SENDER_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+99; 450 int OVERRIDE_PENDING_TRANSITION_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+100; 451 } 452