19066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project/* 29066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * Copyright (C) 2006 The Android Open Source Project 39066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * 49066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * Licensed under the Apache License, Version 2.0 (the "License"); 59066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * you may not use this file except in compliance with the License. 69066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * You may obtain a copy of the License at 79066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * 89066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * http://www.apache.org/licenses/LICENSE-2.0 99066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * 109066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * Unless required by applicable law or agreed to in writing, software 119066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * distributed under the License is distributed on an "AS IS" BASIS, 129066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 139066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * See the License for the specific language governing permissions and 149066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * limitations under the License. 159066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project */ 169066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 179066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectpackage android.app; 189066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 199066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectimport android.content.ComponentName; 209066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectimport android.content.Intent; 211ccac75e1f1b97eccb916a8de04fc1012b30f6e5Suchi Amalapurapuimport android.content.IIntentReceiver; 229066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectimport android.content.pm.ActivityInfo; 239066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectimport android.content.pm.ApplicationInfo; 249066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectimport android.content.pm.ProviderInfo; 259066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectimport android.content.pm.ServiceInfo; 26e2515eebf42c763c0a2d9f873a153711778cfc17Dianne Hackbornimport android.content.res.CompatibilityInfo; 279066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectimport android.content.res.Configuration; 289066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectimport android.os.Binder; 299066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectimport android.os.Bundle; 303025ef332c29e255388f74b2afefe05f64bce07cDianne Hackbornimport android.os.Debug; 319c8dd55a9d829c29a3feee9469d8c2f27a9f5516Dianne Hackbornimport android.os.Parcelable; 329066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectimport android.os.RemoteException; 339066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectimport android.os.IBinder; 349066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectimport android.os.Parcel; 359066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectimport android.os.ParcelFileDescriptor; 369066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 379066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectimport java.io.FileDescriptor; 389066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectimport java.io.IOException; 399066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectimport java.util.HashMap; 409066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectimport java.util.List; 419066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectimport java.util.Map; 429066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 439066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project/** {@hide} */ 449066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectpublic abstract class ApplicationThreadNative extends Binder 459066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project implements IApplicationThread { 469066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project /** 479066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * Cast a Binder object into an application thread interface, generating 489066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * a proxy if needed. 499066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project */ 509066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project static public IApplicationThread asInterface(IBinder obj) { 519066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project if (obj == null) { 529066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project return null; 539066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 549066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project IApplicationThread in = 559066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (IApplicationThread)obj.queryLocalInterface(descriptor); 569066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project if (in != null) { 579066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project return in; 589066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 599066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 609066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project return new ApplicationThreadProxy(obj); 619066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 629066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 639066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project public ApplicationThreadNative() { 649066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project attachInterface(this, descriptor); 659066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 669066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 679066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project @Override 689066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project public boolean onTransact(int code, Parcel data, Parcel reply, int flags) 699066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project throws RemoteException { 709066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project switch (code) { 719066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project case SCHEDULE_PAUSE_ACTIVITY_TRANSACTION: 729066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project { 739066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project data.enforceInterface(IApplicationThread.descriptor); 749066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project IBinder b = data.readStrongBinder(); 759066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project boolean finished = data.readInt() != 0; 769066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project boolean userLeaving = data.readInt() != 0; 779066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project int configChanges = data.readInt(); 789066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project schedulePauseActivity(b, finished, userLeaving, configChanges); 799066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project return true; 809066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 819066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 829066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project case SCHEDULE_STOP_ACTIVITY_TRANSACTION: 839066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project { 849066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project data.enforceInterface(IApplicationThread.descriptor); 859066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project IBinder b = data.readStrongBinder(); 869066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project boolean show = data.readInt() != 0; 879066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project int configChanges = data.readInt(); 889066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project scheduleStopActivity(b, show, configChanges); 899066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project return true; 909066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 919066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 929066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project case SCHEDULE_WINDOW_VISIBILITY_TRANSACTION: 939066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project { 949066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project data.enforceInterface(IApplicationThread.descriptor); 959066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project IBinder b = data.readStrongBinder(); 969066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project boolean show = data.readInt() != 0; 979066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project scheduleWindowVisibility(b, show); 989066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project return true; 999066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 1009066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 1014eba96bb314d8ff773ea33d6cb3179f25751ecceDianne Hackborn case SCHEDULE_SLEEPING_TRANSACTION: 1024eba96bb314d8ff773ea33d6cb3179f25751ecceDianne Hackborn { 1034eba96bb314d8ff773ea33d6cb3179f25751ecceDianne Hackborn data.enforceInterface(IApplicationThread.descriptor); 1044eba96bb314d8ff773ea33d6cb3179f25751ecceDianne Hackborn IBinder b = data.readStrongBinder(); 1054eba96bb314d8ff773ea33d6cb3179f25751ecceDianne Hackborn boolean sleeping = data.readInt() != 0; 1064eba96bb314d8ff773ea33d6cb3179f25751ecceDianne Hackborn scheduleSleeping(b, sleeping); 1074eba96bb314d8ff773ea33d6cb3179f25751ecceDianne Hackborn return true; 1084eba96bb314d8ff773ea33d6cb3179f25751ecceDianne Hackborn } 1094eba96bb314d8ff773ea33d6cb3179f25751ecceDianne Hackborn 1109066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project case SCHEDULE_RESUME_ACTIVITY_TRANSACTION: 1119066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project { 1129066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project data.enforceInterface(IApplicationThread.descriptor); 1139066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project IBinder b = data.readStrongBinder(); 1149066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project boolean isForward = data.readInt() != 0; 1159066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project scheduleResumeActivity(b, isForward); 1169066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project return true; 1179066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 1189066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 1199066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project case SCHEDULE_SEND_RESULT_TRANSACTION: 1209066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project { 1219066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project data.enforceInterface(IApplicationThread.descriptor); 1229066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project IBinder b = data.readStrongBinder(); 1239066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project List<ResultInfo> ri = data.createTypedArrayList(ResultInfo.CREATOR); 1249066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project scheduleSendResult(b, ri); 1259066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project return true; 1269066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 1279066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 1289066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project case SCHEDULE_LAUNCH_ACTIVITY_TRANSACTION: 1299066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project { 1309066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project data.enforceInterface(IApplicationThread.descriptor); 1319066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project Intent intent = Intent.CREATOR.createFromParcel(data); 1329066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project IBinder b = data.readStrongBinder(); 133b06ea706530e6d19eb2a1a9a7ae6c5dd77d80af0Dianne Hackborn int ident = data.readInt(); 1349066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project ActivityInfo info = ActivityInfo.CREATOR.createFromParcel(data); 13558f42a59bda3bc912d0d2f81dc65a9d31d140eaaDianne Hackborn Configuration curConfig = Configuration.CREATOR.createFromParcel(data); 136e2515eebf42c763c0a2d9f873a153711778cfc17Dianne Hackborn CompatibilityInfo compatInfo = CompatibilityInfo.CREATOR.createFromParcel(data); 1379066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project Bundle state = data.readBundle(); 1389066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project List<ResultInfo> ri = data.createTypedArrayList(ResultInfo.CREATOR); 1399066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project List<Intent> pi = data.createTypedArrayList(Intent.CREATOR); 1409066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project boolean notResumed = data.readInt() != 0; 1419066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project boolean isForward = data.readInt() != 0; 14262f20ecf492d2b29881bba307c79ff55e68760e6Dianne Hackborn String profileName = data.readString(); 14362f20ecf492d2b29881bba307c79ff55e68760e6Dianne Hackborn ParcelFileDescriptor profileFd = data.readInt() != 0 14462f20ecf492d2b29881bba307c79ff55e68760e6Dianne Hackborn ? data.readFileDescriptor() : null; 14562f20ecf492d2b29881bba307c79ff55e68760e6Dianne Hackborn boolean autoStopProfiler = data.readInt() != 0; 14658f42a59bda3bc912d0d2f81dc65a9d31d140eaaDianne Hackborn scheduleLaunchActivity(intent, b, ident, info, curConfig, compatInfo, state, ri, pi, 14762f20ecf492d2b29881bba307c79ff55e68760e6Dianne Hackborn notResumed, isForward, profileName, profileFd, autoStopProfiler); 1489066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project return true; 1499066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 1509066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 1519066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project case SCHEDULE_RELAUNCH_ACTIVITY_TRANSACTION: 1529066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project { 1539066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project data.enforceInterface(IApplicationThread.descriptor); 1549066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project IBinder b = data.readStrongBinder(); 1559066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project List<ResultInfo> ri = data.createTypedArrayList(ResultInfo.CREATOR); 1569066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project List<Intent> pi = data.createTypedArrayList(Intent.CREATOR); 1579066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project int configChanges = data.readInt(); 1589066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project boolean notResumed = data.readInt() != 0; 159871ecdce67fb59a2603c1b93db657fe8b65695bdDianne Hackborn Configuration config = null; 160871ecdce67fb59a2603c1b93db657fe8b65695bdDianne Hackborn if (data.readInt() != 0) { 161871ecdce67fb59a2603c1b93db657fe8b65695bdDianne Hackborn config = Configuration.CREATOR.createFromParcel(data); 162871ecdce67fb59a2603c1b93db657fe8b65695bdDianne Hackborn } 163871ecdce67fb59a2603c1b93db657fe8b65695bdDianne Hackborn scheduleRelaunchActivity(b, ri, pi, configChanges, notResumed, config); 1649066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project return true; 1659066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 1669066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 1679066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project case SCHEDULE_NEW_INTENT_TRANSACTION: 1689066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project { 1699066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project data.enforceInterface(IApplicationThread.descriptor); 1709066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project List<Intent> pi = data.createTypedArrayList(Intent.CREATOR); 1719066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project IBinder b = data.readStrongBinder(); 1729066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project scheduleNewIntent(pi, b); 1739066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project return true; 1749066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 1759066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 1769066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project case SCHEDULE_FINISH_ACTIVITY_TRANSACTION: 1779066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project { 1789066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project data.enforceInterface(IApplicationThread.descriptor); 1799066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project IBinder b = data.readStrongBinder(); 1809066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project boolean finishing = data.readInt() != 0; 1819066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project int configChanges = data.readInt(); 1829066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project scheduleDestroyActivity(b, finishing, configChanges); 1839066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project return true; 1849066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 1859066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 1869066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project case SCHEDULE_RECEIVER_TRANSACTION: 1879066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project { 1889066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project data.enforceInterface(IApplicationThread.descriptor); 1899066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project Intent intent = Intent.CREATOR.createFromParcel(data); 1909066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project ActivityInfo info = ActivityInfo.CREATOR.createFromParcel(data); 191e2515eebf42c763c0a2d9f873a153711778cfc17Dianne Hackborn CompatibilityInfo compatInfo = CompatibilityInfo.CREATOR.createFromParcel(data); 1929066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project int resultCode = data.readInt(); 1939066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project String resultData = data.readString(); 1949066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project Bundle resultExtras = data.readBundle(); 1959066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project boolean sync = data.readInt() != 0; 19620e809870d8ac1e5b848f2daf51b2272ef89bdfcDianne Hackborn int sendingUser = data.readInt(); 197e2515eebf42c763c0a2d9f873a153711778cfc17Dianne Hackborn scheduleReceiver(intent, info, compatInfo, resultCode, resultData, 19820e809870d8ac1e5b848f2daf51b2272ef89bdfcDianne Hackborn resultExtras, sync, sendingUser); 1999066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project return true; 2009066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 2019066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 2029066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project case SCHEDULE_CREATE_SERVICE_TRANSACTION: { 2039066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project data.enforceInterface(IApplicationThread.descriptor); 2049066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project IBinder token = data.readStrongBinder(); 2059066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project ServiceInfo info = ServiceInfo.CREATOR.createFromParcel(data); 206e2515eebf42c763c0a2d9f873a153711778cfc17Dianne Hackborn CompatibilityInfo compatInfo = CompatibilityInfo.CREATOR.createFromParcel(data); 207e2515eebf42c763c0a2d9f873a153711778cfc17Dianne Hackborn scheduleCreateService(token, info, compatInfo); 2089066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project return true; 2099066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 2109066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 2119066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project case SCHEDULE_BIND_SERVICE_TRANSACTION: { 2129066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project data.enforceInterface(IApplicationThread.descriptor); 2139066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project IBinder token = data.readStrongBinder(); 2149066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project Intent intent = Intent.CREATOR.createFromParcel(data); 2159066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project boolean rebind = data.readInt() != 0; 2169066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project scheduleBindService(token, intent, rebind); 2179066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project return true; 2189066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 2199066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 2209066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project case SCHEDULE_UNBIND_SERVICE_TRANSACTION: { 2219066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project data.enforceInterface(IApplicationThread.descriptor); 2229066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project IBinder token = data.readStrongBinder(); 2239066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project Intent intent = Intent.CREATOR.createFromParcel(data); 2249066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project scheduleUnbindService(token, intent); 2259066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project return true; 2269066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 2279066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 2289066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project case SCHEDULE_SERVICE_ARGS_TRANSACTION: 2299066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project { 2309066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project data.enforceInterface(IApplicationThread.descriptor); 2319066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project IBinder token = data.readStrongBinder(); 2320c5001d776d56bae02a5cc2663286a125d99bc5eDianne Hackborn boolean taskRemoved = data.readInt() != 0; 2339066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project int startId = data.readInt(); 234f6f9f2d0256930ce0bb4913b2260b8480914edc2Dianne Hackborn int fl = data.readInt(); 235f6f9f2d0256930ce0bb4913b2260b8480914edc2Dianne Hackborn Intent args; 236f6f9f2d0256930ce0bb4913b2260b8480914edc2Dianne Hackborn if (data.readInt() != 0) { 237f6f9f2d0256930ce0bb4913b2260b8480914edc2Dianne Hackborn args = Intent.CREATOR.createFromParcel(data); 238f6f9f2d0256930ce0bb4913b2260b8480914edc2Dianne Hackborn } else { 239f6f9f2d0256930ce0bb4913b2260b8480914edc2Dianne Hackborn args = null; 240f6f9f2d0256930ce0bb4913b2260b8480914edc2Dianne Hackborn } 2410c5001d776d56bae02a5cc2663286a125d99bc5eDianne Hackborn scheduleServiceArgs(token, taskRemoved, startId, fl, args); 2429066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project return true; 2439066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 2449066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 2459066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project case SCHEDULE_STOP_SERVICE_TRANSACTION: 2469066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project { 2479066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project data.enforceInterface(IApplicationThread.descriptor); 2489066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project IBinder token = data.readStrongBinder(); 2499066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project scheduleStopService(token); 2509066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project return true; 2519066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 2529066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 2539066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project case BIND_APPLICATION_TRANSACTION: 2549066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project { 2559066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project data.enforceInterface(IApplicationThread.descriptor); 2569066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project String packageName = data.readString(); 2579066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project ApplicationInfo info = 2589066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project ApplicationInfo.CREATOR.createFromParcel(data); 2599066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project List<ProviderInfo> providers = 2609066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project data.createTypedArrayList(ProviderInfo.CREATOR); 2619066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project ComponentName testName = (data.readInt() != 0) 2629066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project ? new ComponentName(data) : null; 2639066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project String profileName = data.readString(); 26462f20ecf492d2b29881bba307c79ff55e68760e6Dianne Hackborn ParcelFileDescriptor profileFd = data.readInt() != 0 26562f20ecf492d2b29881bba307c79ff55e68760e6Dianne Hackborn ? data.readFileDescriptor() : null; 26662f20ecf492d2b29881bba307c79ff55e68760e6Dianne Hackborn boolean autoStopProfiler = data.readInt() != 0; 2679066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project Bundle testArgs = data.readBundle(); 2689066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project IBinder binder = data.readStrongBinder(); 2699066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project IInstrumentationWatcher testWatcher = IInstrumentationWatcher.Stub.asInterface(binder); 2709066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project int testMode = data.readInt(); 27192a8b22e7410e74e1cba1b856333116652af8a5cSiva Velusamy boolean openGlTrace = data.readInt() != 0; 272181fafaf48208978b8ba2022683ffa78aaeddde1Christopher Tate boolean restrictedBackupMode = (data.readInt() != 0); 2735d927c2d8e832fcfcb0154c8741f896001141ef4Dianne Hackborn boolean persistent = (data.readInt() != 0); 2749066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project Configuration config = Configuration.CREATOR.createFromParcel(data); 275e2515eebf42c763c0a2d9f873a153711778cfc17Dianne Hackborn CompatibilityInfo compatInfo = CompatibilityInfo.CREATOR.createFromParcel(data); 2769066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project HashMap<String, IBinder> services = data.readHashMap(null); 27754d068ec6af0ee6d261a135400efe6816c6f5ffeSvetoslav Ganov Bundle coreSettings = data.readBundle(); 2789066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project bindApplication(packageName, info, 27962f20ecf492d2b29881bba307c79ff55e68760e6Dianne Hackborn providers, testName, profileName, profileFd, autoStopProfiler, 28092a8b22e7410e74e1cba1b856333116652af8a5cSiva Velusamy testArgs, testWatcher, testMode, openGlTrace, restrictedBackupMode, 28192a8b22e7410e74e1cba1b856333116652af8a5cSiva Velusamy persistent, config, compatInfo, services, coreSettings); 2829066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project return true; 2839066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 28492a8b22e7410e74e1cba1b856333116652af8a5cSiva Velusamy 2859066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project case SCHEDULE_EXIT_TRANSACTION: 2869066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project { 2879066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project data.enforceInterface(IApplicationThread.descriptor); 2889066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project scheduleExit(); 2899066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project return true; 2909066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 2919066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 2925e1ab335e6e8fbfa19c64d53880a22f472010953Christopher Tate case SCHEDULE_SUICIDE_TRANSACTION: 2935e1ab335e6e8fbfa19c64d53880a22f472010953Christopher Tate { 2945e1ab335e6e8fbfa19c64d53880a22f472010953Christopher Tate data.enforceInterface(IApplicationThread.descriptor); 2955e1ab335e6e8fbfa19c64d53880a22f472010953Christopher Tate scheduleSuicide(); 2965e1ab335e6e8fbfa19c64d53880a22f472010953Christopher Tate return true; 2975e1ab335e6e8fbfa19c64d53880a22f472010953Christopher Tate } 2985e1ab335e6e8fbfa19c64d53880a22f472010953Christopher Tate 2999066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project case REQUEST_THUMBNAIL_TRANSACTION: 3009066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project { 3019066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project data.enforceInterface(IApplicationThread.descriptor); 3029066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project IBinder b = data.readStrongBinder(); 3039066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project requestThumbnail(b); 3049066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project return true; 3059066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 306434203a277cd2f237a71508a3d5a7d1602126cd5Robert Greenwalt 3079066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project case SCHEDULE_CONFIGURATION_CHANGED_TRANSACTION: 3089066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project { 3099066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project data.enforceInterface(IApplicationThread.descriptor); 3109066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project Configuration config = Configuration.CREATOR.createFromParcel(data); 3119066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project scheduleConfigurationChanged(config); 3129066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project return true; 3139066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 3149066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 3159066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project case UPDATE_TIME_ZONE_TRANSACTION: { 3169066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project data.enforceInterface(IApplicationThread.descriptor); 3179066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project updateTimeZone(); 3189066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project return true; 3199066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 3209066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 32103595d01188d88c169e8c9dd51b357fd545e69ccRobert Greenwalt case CLEAR_DNS_CACHE_TRANSACTION: { 32203595d01188d88c169e8c9dd51b357fd545e69ccRobert Greenwalt data.enforceInterface(IApplicationThread.descriptor); 32303595d01188d88c169e8c9dd51b357fd545e69ccRobert Greenwalt clearDnsCache(); 32403595d01188d88c169e8c9dd51b357fd545e69ccRobert Greenwalt return true; 32503595d01188d88c169e8c9dd51b357fd545e69ccRobert Greenwalt } 32603595d01188d88c169e8c9dd51b357fd545e69ccRobert Greenwalt 327434203a277cd2f237a71508a3d5a7d1602126cd5Robert Greenwalt case SET_HTTP_PROXY_TRANSACTION: { 328434203a277cd2f237a71508a3d5a7d1602126cd5Robert Greenwalt data.enforceInterface(IApplicationThread.descriptor); 329434203a277cd2f237a71508a3d5a7d1602126cd5Robert Greenwalt final String proxy = data.readString(); 330434203a277cd2f237a71508a3d5a7d1602126cd5Robert Greenwalt final String port = data.readString(); 331434203a277cd2f237a71508a3d5a7d1602126cd5Robert Greenwalt final String exclList = data.readString(); 332434203a277cd2f237a71508a3d5a7d1602126cd5Robert Greenwalt setHttpProxy(proxy, port, exclList); 333434203a277cd2f237a71508a3d5a7d1602126cd5Robert Greenwalt return true; 334434203a277cd2f237a71508a3d5a7d1602126cd5Robert Greenwalt } 335434203a277cd2f237a71508a3d5a7d1602126cd5Robert Greenwalt 3369066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project case PROCESS_IN_BACKGROUND_TRANSACTION: { 3379066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project data.enforceInterface(IApplicationThread.descriptor); 3389066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project processInBackground(); 3399066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project return true; 3409066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 341434203a277cd2f237a71508a3d5a7d1602126cd5Robert Greenwalt 3429066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project case DUMP_SERVICE_TRANSACTION: { 3439066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project data.enforceInterface(IApplicationThread.descriptor); 3449066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project ParcelFileDescriptor fd = data.readFileDescriptor(); 3459066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project final IBinder service = data.readStrongBinder(); 3469066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project final String[] args = data.readStringArray(); 3479066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project if (fd != null) { 3489066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project dumpService(fd.getFileDescriptor(), service, args); 3499066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project try { 3509066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project fd.close(); 3519066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } catch (IOException e) { 3529066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 3539066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 3549066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project return true; 3559066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 3569066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 35718cb28756caf02bf2b2f5e67c68451edaf719b47Marco Nelissen case DUMP_PROVIDER_TRANSACTION: { 35818cb28756caf02bf2b2f5e67c68451edaf719b47Marco Nelissen data.enforceInterface(IApplicationThread.descriptor); 35918cb28756caf02bf2b2f5e67c68451edaf719b47Marco Nelissen ParcelFileDescriptor fd = data.readFileDescriptor(); 36018cb28756caf02bf2b2f5e67c68451edaf719b47Marco Nelissen final IBinder service = data.readStrongBinder(); 36118cb28756caf02bf2b2f5e67c68451edaf719b47Marco Nelissen final String[] args = data.readStringArray(); 36218cb28756caf02bf2b2f5e67c68451edaf719b47Marco Nelissen if (fd != null) { 36318cb28756caf02bf2b2f5e67c68451edaf719b47Marco Nelissen dumpProvider(fd.getFileDescriptor(), service, args); 36418cb28756caf02bf2b2f5e67c68451edaf719b47Marco Nelissen try { 36518cb28756caf02bf2b2f5e67c68451edaf719b47Marco Nelissen fd.close(); 36618cb28756caf02bf2b2f5e67c68451edaf719b47Marco Nelissen } catch (IOException e) { 36718cb28756caf02bf2b2f5e67c68451edaf719b47Marco Nelissen } 36818cb28756caf02bf2b2f5e67c68451edaf719b47Marco Nelissen } 36918cb28756caf02bf2b2f5e67c68451edaf719b47Marco Nelissen return true; 37018cb28756caf02bf2b2f5e67c68451edaf719b47Marco Nelissen } 37118cb28756caf02bf2b2f5e67c68451edaf719b47Marco Nelissen 3729066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project case SCHEDULE_REGISTERED_RECEIVER_TRANSACTION: { 3739066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project data.enforceInterface(IApplicationThread.descriptor); 3749066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project IIntentReceiver receiver = IIntentReceiver.Stub.asInterface( 3759066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project data.readStrongBinder()); 3769066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project Intent intent = Intent.CREATOR.createFromParcel(data); 3779066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project int resultCode = data.readInt(); 3789066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project String dataStr = data.readString(); 3799066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project Bundle extras = data.readBundle(); 3809066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project boolean ordered = data.readInt() != 0; 38168d881cf2d2b252f6f795cd64d43e316a1d736e5Dianne Hackborn boolean sticky = data.readInt() != 0; 38220e809870d8ac1e5b848f2daf51b2272ef89bdfcDianne Hackborn int sendingUser = data.readInt(); 3839066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project scheduleRegisteredReceiver(receiver, intent, 38420e809870d8ac1e5b848f2daf51b2272ef89bdfcDianne Hackborn resultCode, dataStr, extras, ordered, sticky, sendingUser); 3859066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project return true; 3869066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 3879066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 3889066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project case SCHEDULE_LOW_MEMORY_TRANSACTION: 3899066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project { 390e94a3e7f84c4e47f013be07901f8f1ceeedefb6eVairavan Srinivasan data.enforceInterface(IApplicationThread.descriptor); 3919066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project scheduleLowMemory(); 3929066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project return true; 3939066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 3949066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 3959066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project case SCHEDULE_ACTIVITY_CONFIGURATION_CHANGED_TRANSACTION: 3969066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project { 3979066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project data.enforceInterface(IApplicationThread.descriptor); 3989066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project IBinder b = data.readStrongBinder(); 3999066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project scheduleActivityConfigurationChanged(b); 4009066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project return true; 4019066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 4029066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 403f5b4b98fada53d91c4c2ebeb5a1d33ccc95c94d2The Android Open Source Project case PROFILER_CONTROL_TRANSACTION: 404f5b4b98fada53d91c4c2ebeb5a1d33ccc95c94d2The Android Open Source Project { 405f5b4b98fada53d91c4c2ebeb5a1d33ccc95c94d2The Android Open Source Project data.enforceInterface(IApplicationThread.descriptor); 406f5b4b98fada53d91c4c2ebeb5a1d33ccc95c94d2The Android Open Source Project boolean start = data.readInt() != 0; 4079a8c5cefcab3d5dec6ff63f0e99553e1aa9a4af8Romain Guy int profileType = data.readInt(); 408f5b4b98fada53d91c4c2ebeb5a1d33ccc95c94d2The Android Open Source Project String path = data.readString(); 4099c8dd55a9d829c29a3feee9469d8c2f27a9f5516Dianne Hackborn ParcelFileDescriptor fd = data.readInt() != 0 4109c8dd55a9d829c29a3feee9469d8c2f27a9f5516Dianne Hackborn ? data.readFileDescriptor() : null; 4117eabe55db6b113f83c2cefcd06812648927de877Romain Guy profilerControl(start, path, fd, profileType); 412f5b4b98fada53d91c4c2ebeb5a1d33ccc95c94d2The Android Open Source Project return true; 413f5b4b98fada53d91c4c2ebeb5a1d33ccc95c94d2The Android Open Source Project } 41406de2ea752171f52a4e6e6872cb3a0689e591dcbDianne Hackborn 41506de2ea752171f52a4e6e6872cb3a0689e591dcbDianne Hackborn case SET_SCHEDULING_GROUP_TRANSACTION: 41606de2ea752171f52a4e6e6872cb3a0689e591dcbDianne Hackborn { 41706de2ea752171f52a4e6e6872cb3a0689e591dcbDianne Hackborn data.enforceInterface(IApplicationThread.descriptor); 41806de2ea752171f52a4e6e6872cb3a0689e591dcbDianne Hackborn int group = data.readInt(); 41906de2ea752171f52a4e6e6872cb3a0689e591dcbDianne Hackborn setSchedulingGroup(group); 42006de2ea752171f52a4e6e6872cb3a0689e591dcbDianne Hackborn return true; 42106de2ea752171f52a4e6e6872cb3a0689e591dcbDianne Hackborn } 422181fafaf48208978b8ba2022683ffa78aaeddde1Christopher Tate 423181fafaf48208978b8ba2022683ffa78aaeddde1Christopher Tate case SCHEDULE_CREATE_BACKUP_AGENT_TRANSACTION: 424181fafaf48208978b8ba2022683ffa78aaeddde1Christopher Tate { 425181fafaf48208978b8ba2022683ffa78aaeddde1Christopher Tate data.enforceInterface(IApplicationThread.descriptor); 426181fafaf48208978b8ba2022683ffa78aaeddde1Christopher Tate ApplicationInfo appInfo = ApplicationInfo.CREATOR.createFromParcel(data); 427e2515eebf42c763c0a2d9f873a153711778cfc17Dianne Hackborn CompatibilityInfo compatInfo = CompatibilityInfo.CREATOR.createFromParcel(data); 428181fafaf48208978b8ba2022683ffa78aaeddde1Christopher Tate int backupMode = data.readInt(); 429e2515eebf42c763c0a2d9f873a153711778cfc17Dianne Hackborn scheduleCreateBackupAgent(appInfo, compatInfo, backupMode); 430181fafaf48208978b8ba2022683ffa78aaeddde1Christopher Tate return true; 431181fafaf48208978b8ba2022683ffa78aaeddde1Christopher Tate } 4321885b37913181230c36d6485bdd389f89fa90f43Christopher Tate 4331885b37913181230c36d6485bdd389f89fa90f43Christopher Tate case SCHEDULE_DESTROY_BACKUP_AGENT_TRANSACTION: 4341885b37913181230c36d6485bdd389f89fa90f43Christopher Tate { 4351885b37913181230c36d6485bdd389f89fa90f43Christopher Tate data.enforceInterface(IApplicationThread.descriptor); 4361885b37913181230c36d6485bdd389f89fa90f43Christopher Tate ApplicationInfo appInfo = ApplicationInfo.CREATOR.createFromParcel(data); 437e2515eebf42c763c0a2d9f873a153711778cfc17Dianne Hackborn CompatibilityInfo compatInfo = CompatibilityInfo.CREATOR.createFromParcel(data); 438e2515eebf42c763c0a2d9f873a153711778cfc17Dianne Hackborn scheduleDestroyBackupAgent(appInfo, compatInfo); 4391885b37913181230c36d6485bdd389f89fa90f43Christopher Tate return true; 4401885b37913181230c36d6485bdd389f89fa90f43Christopher Tate } 4413025ef332c29e255388f74b2afefe05f64bce07cDianne Hackborn 4423025ef332c29e255388f74b2afefe05f64bce07cDianne Hackborn case GET_MEMORY_INFO_TRANSACTION: 4433025ef332c29e255388f74b2afefe05f64bce07cDianne Hackborn { 4443025ef332c29e255388f74b2afefe05f64bce07cDianne Hackborn data.enforceInterface(IApplicationThread.descriptor); 4453025ef332c29e255388f74b2afefe05f64bce07cDianne Hackborn Debug.MemoryInfo mi = new Debug.MemoryInfo(); 4463025ef332c29e255388f74b2afefe05f64bce07cDianne Hackborn getMemoryInfo(mi); 4473025ef332c29e255388f74b2afefe05f64bce07cDianne Hackborn reply.writeNoException(); 4483025ef332c29e255388f74b2afefe05f64bce07cDianne Hackborn mi.writeToParcel(reply, 0); 4493025ef332c29e255388f74b2afefe05f64bce07cDianne Hackborn return true; 4503025ef332c29e255388f74b2afefe05f64bce07cDianne Hackborn } 4514416c3d6e4becd9ed39b89a03db0239c8225a135Dianne Hackborn 4524416c3d6e4becd9ed39b89a03db0239c8225a135Dianne Hackborn case DISPATCH_PACKAGE_BROADCAST_TRANSACTION: 4534416c3d6e4becd9ed39b89a03db0239c8225a135Dianne Hackborn { 4544416c3d6e4becd9ed39b89a03db0239c8225a135Dianne Hackborn data.enforceInterface(IApplicationThread.descriptor); 4554416c3d6e4becd9ed39b89a03db0239c8225a135Dianne Hackborn int cmd = data.readInt(); 4564416c3d6e4becd9ed39b89a03db0239c8225a135Dianne Hackborn String[] packages = data.readStringArray(); 4574416c3d6e4becd9ed39b89a03db0239c8225a135Dianne Hackborn dispatchPackageBroadcast(cmd, packages); 4584416c3d6e4becd9ed39b89a03db0239c8225a135Dianne Hackborn return true; 4594416c3d6e4becd9ed39b89a03db0239c8225a135Dianne Hackborn } 4609d39d0cb361c5d3bba04a6bacf299be2162a6e92Dianne Hackborn 4619d39d0cb361c5d3bba04a6bacf299be2162a6e92Dianne Hackborn case SCHEDULE_CRASH_TRANSACTION: 4629d39d0cb361c5d3bba04a6bacf299be2162a6e92Dianne Hackborn { 4639d39d0cb361c5d3bba04a6bacf299be2162a6e92Dianne Hackborn data.enforceInterface(IApplicationThread.descriptor); 4649d39d0cb361c5d3bba04a6bacf299be2162a6e92Dianne Hackborn String msg = data.readString(); 4659d39d0cb361c5d3bba04a6bacf299be2162a6e92Dianne Hackborn scheduleCrash(msg); 4669d39d0cb361c5d3bba04a6bacf299be2162a6e92Dianne Hackborn return true; 4679d39d0cb361c5d3bba04a6bacf299be2162a6e92Dianne Hackborn } 468824c510752fd6a30cdba5ed7324cb80a5043ce26Andy McFadden 469824c510752fd6a30cdba5ed7324cb80a5043ce26Andy McFadden case DUMP_HEAP_TRANSACTION: 470824c510752fd6a30cdba5ed7324cb80a5043ce26Andy McFadden { 471824c510752fd6a30cdba5ed7324cb80a5043ce26Andy McFadden data.enforceInterface(IApplicationThread.descriptor); 472824c510752fd6a30cdba5ed7324cb80a5043ce26Andy McFadden boolean managed = data.readInt() != 0; 473824c510752fd6a30cdba5ed7324cb80a5043ce26Andy McFadden String path = data.readString(); 474824c510752fd6a30cdba5ed7324cb80a5043ce26Andy McFadden ParcelFileDescriptor fd = data.readInt() != 0 475824c510752fd6a30cdba5ed7324cb80a5043ce26Andy McFadden ? data.readFileDescriptor() : null; 476824c510752fd6a30cdba5ed7324cb80a5043ce26Andy McFadden dumpHeap(managed, path, fd); 477824c510752fd6a30cdba5ed7324cb80a5043ce26Andy McFadden return true; 478824c510752fd6a30cdba5ed7324cb80a5043ce26Andy McFadden } 479625ac271f80777668f832a344486a6fcdc06d0aeDianne Hackborn 480625ac271f80777668f832a344486a6fcdc06d0aeDianne Hackborn case DUMP_ACTIVITY_TRANSACTION: { 481625ac271f80777668f832a344486a6fcdc06d0aeDianne Hackborn data.enforceInterface(IApplicationThread.descriptor); 482625ac271f80777668f832a344486a6fcdc06d0aeDianne Hackborn ParcelFileDescriptor fd = data.readFileDescriptor(); 483625ac271f80777668f832a344486a6fcdc06d0aeDianne Hackborn final IBinder activity = data.readStrongBinder(); 48430d7189067524000c738c188c4ff91f84f474d25Dianne Hackborn final String prefix = data.readString(); 485625ac271f80777668f832a344486a6fcdc06d0aeDianne Hackborn final String[] args = data.readStringArray(); 486625ac271f80777668f832a344486a6fcdc06d0aeDianne Hackborn if (fd != null) { 48730d7189067524000c738c188c4ff91f84f474d25Dianne Hackborn dumpActivity(fd.getFileDescriptor(), activity, prefix, args); 488625ac271f80777668f832a344486a6fcdc06d0aeDianne Hackborn try { 489625ac271f80777668f832a344486a6fcdc06d0aeDianne Hackborn fd.close(); 490625ac271f80777668f832a344486a6fcdc06d0aeDianne Hackborn } catch (IOException e) { 491625ac271f80777668f832a344486a6fcdc06d0aeDianne Hackborn } 492625ac271f80777668f832a344486a6fcdc06d0aeDianne Hackborn } 493625ac271f80777668f832a344486a6fcdc06d0aeDianne Hackborn return true; 494625ac271f80777668f832a344486a6fcdc06d0aeDianne Hackborn } 49554d068ec6af0ee6d261a135400efe6816c6f5ffeSvetoslav Ganov 496e2515eebf42c763c0a2d9f873a153711778cfc17Dianne Hackborn case SET_CORE_SETTINGS_TRANSACTION: { 49754d068ec6af0ee6d261a135400efe6816c6f5ffeSvetoslav Ganov data.enforceInterface(IApplicationThread.descriptor); 49854d068ec6af0ee6d261a135400efe6816c6f5ffeSvetoslav Ganov Bundle settings = data.readBundle(); 49954d068ec6af0ee6d261a135400efe6816c6f5ffeSvetoslav Ganov setCoreSettings(settings); 50054d068ec6af0ee6d261a135400efe6816c6f5ffeSvetoslav Ganov return true; 50154d068ec6af0ee6d261a135400efe6816c6f5ffeSvetoslav Ganov } 502e2515eebf42c763c0a2d9f873a153711778cfc17Dianne Hackborn 503e2515eebf42c763c0a2d9f873a153711778cfc17Dianne Hackborn case UPDATE_PACKAGE_COMPATIBILITY_INFO_TRANSACTION: { 504e2515eebf42c763c0a2d9f873a153711778cfc17Dianne Hackborn data.enforceInterface(IApplicationThread.descriptor); 505e2515eebf42c763c0a2d9f873a153711778cfc17Dianne Hackborn String pkg = data.readString(); 506e2515eebf42c763c0a2d9f873a153711778cfc17Dianne Hackborn CompatibilityInfo compat = CompatibilityInfo.CREATOR.createFromParcel(data); 507e2515eebf42c763c0a2d9f873a153711778cfc17Dianne Hackborn updatePackageCompatibilityInfo(pkg, compat); 508e2515eebf42c763c0a2d9f873a153711778cfc17Dianne Hackborn return true; 509e2515eebf42c763c0a2d9f873a153711778cfc17Dianne Hackborn } 510ce86ba86df61de8b34b226a4eb6c23ec33e866e0Dianne Hackborn 511ce86ba86df61de8b34b226a4eb6c23ec33e866e0Dianne Hackborn case SCHEDULE_TRIM_MEMORY_TRANSACTION: { 512ce86ba86df61de8b34b226a4eb6c23ec33e866e0Dianne Hackborn data.enforceInterface(IApplicationThread.descriptor); 513ce86ba86df61de8b34b226a4eb6c23ec33e866e0Dianne Hackborn int level = data.readInt(); 514ce86ba86df61de8b34b226a4eb6c23ec33e866e0Dianne Hackborn scheduleTrimMemory(level); 515ce86ba86df61de8b34b226a4eb6c23ec33e866e0Dianne Hackborn return true; 516ce86ba86df61de8b34b226a4eb6c23ec33e866e0Dianne Hackborn } 5170e3328fbdd3845b0e2bec364e951498eaee6b079Dianne Hackborn 5180e3328fbdd3845b0e2bec364e951498eaee6b079Dianne Hackborn case DUMP_MEM_INFO_TRANSACTION: 5190e3328fbdd3845b0e2bec364e951498eaee6b079Dianne Hackborn { 5200e3328fbdd3845b0e2bec364e951498eaee6b079Dianne Hackborn data.enforceInterface(IApplicationThread.descriptor); 5210e3328fbdd3845b0e2bec364e951498eaee6b079Dianne Hackborn ParcelFileDescriptor fd = data.readFileDescriptor(); 522b437e090ec03a2bab10bdfcb9484577a7f34e157Dianne Hackborn boolean checkin = data.readInt() != 0; 523b437e090ec03a2bab10bdfcb9484577a7f34e157Dianne Hackborn boolean all = data.readInt() != 0; 5240e3328fbdd3845b0e2bec364e951498eaee6b079Dianne Hackborn String[] args = data.readStringArray(); 5250e3328fbdd3845b0e2bec364e951498eaee6b079Dianne Hackborn Debug.MemoryInfo mi = null; 5260e3328fbdd3845b0e2bec364e951498eaee6b079Dianne Hackborn if (fd != null) { 5270e3328fbdd3845b0e2bec364e951498eaee6b079Dianne Hackborn try { 528b437e090ec03a2bab10bdfcb9484577a7f34e157Dianne Hackborn mi = dumpMemInfo(fd.getFileDescriptor(), checkin, all, args); 5290e3328fbdd3845b0e2bec364e951498eaee6b079Dianne Hackborn } finally { 5300e3328fbdd3845b0e2bec364e951498eaee6b079Dianne Hackborn try { 5310e3328fbdd3845b0e2bec364e951498eaee6b079Dianne Hackborn fd.close(); 5320e3328fbdd3845b0e2bec364e951498eaee6b079Dianne Hackborn } catch (IOException e) { 5330e3328fbdd3845b0e2bec364e951498eaee6b079Dianne Hackborn // swallowed, not propagated back to the caller 5340e3328fbdd3845b0e2bec364e951498eaee6b079Dianne Hackborn } 5350e3328fbdd3845b0e2bec364e951498eaee6b079Dianne Hackborn } 5360e3328fbdd3845b0e2bec364e951498eaee6b079Dianne Hackborn } 5370e3328fbdd3845b0e2bec364e951498eaee6b079Dianne Hackborn reply.writeNoException(); 5380e3328fbdd3845b0e2bec364e951498eaee6b079Dianne Hackborn mi.writeToParcel(reply, 0); 5390e3328fbdd3845b0e2bec364e951498eaee6b079Dianne Hackborn return true; 5400e3328fbdd3845b0e2bec364e951498eaee6b079Dianne Hackborn } 5410e3328fbdd3845b0e2bec364e951498eaee6b079Dianne Hackborn 5420e3328fbdd3845b0e2bec364e951498eaee6b079Dianne Hackborn case DUMP_GFX_INFO_TRANSACTION: 5430e3328fbdd3845b0e2bec364e951498eaee6b079Dianne Hackborn { 5440e3328fbdd3845b0e2bec364e951498eaee6b079Dianne Hackborn data.enforceInterface(IApplicationThread.descriptor); 5450e3328fbdd3845b0e2bec364e951498eaee6b079Dianne Hackborn ParcelFileDescriptor fd = data.readFileDescriptor(); 5460e3328fbdd3845b0e2bec364e951498eaee6b079Dianne Hackborn String[] args = data.readStringArray(); 5470e3328fbdd3845b0e2bec364e951498eaee6b079Dianne Hackborn if (fd != null) { 5480e3328fbdd3845b0e2bec364e951498eaee6b079Dianne Hackborn try { 5490e3328fbdd3845b0e2bec364e951498eaee6b079Dianne Hackborn dumpGfxInfo(fd.getFileDescriptor(), args); 5500e3328fbdd3845b0e2bec364e951498eaee6b079Dianne Hackborn } finally { 5510e3328fbdd3845b0e2bec364e951498eaee6b079Dianne Hackborn try { 5520e3328fbdd3845b0e2bec364e951498eaee6b079Dianne Hackborn fd.close(); 5530e3328fbdd3845b0e2bec364e951498eaee6b079Dianne Hackborn } catch (IOException e) { 5540e3328fbdd3845b0e2bec364e951498eaee6b079Dianne Hackborn // swallowed, not propagated back to the caller 5550e3328fbdd3845b0e2bec364e951498eaee6b079Dianne Hackborn } 5560e3328fbdd3845b0e2bec364e951498eaee6b079Dianne Hackborn } 5570e3328fbdd3845b0e2bec364e951498eaee6b079Dianne Hackborn } 5580e3328fbdd3845b0e2bec364e951498eaee6b079Dianne Hackborn reply.writeNoException(); 5590e3328fbdd3845b0e2bec364e951498eaee6b079Dianne Hackborn return true; 5600e3328fbdd3845b0e2bec364e951498eaee6b079Dianne Hackborn } 5616754ba24f12a54b97b3ca1c5d29fc23c15980abeJeff Brown 5626754ba24f12a54b97b3ca1c5d29fc23c15980abeJeff Brown case DUMP_DB_INFO_TRANSACTION: 5636754ba24f12a54b97b3ca1c5d29fc23c15980abeJeff Brown { 5646754ba24f12a54b97b3ca1c5d29fc23c15980abeJeff Brown data.enforceInterface(IApplicationThread.descriptor); 5656754ba24f12a54b97b3ca1c5d29fc23c15980abeJeff Brown ParcelFileDescriptor fd = data.readFileDescriptor(); 5666754ba24f12a54b97b3ca1c5d29fc23c15980abeJeff Brown String[] args = data.readStringArray(); 5676754ba24f12a54b97b3ca1c5d29fc23c15980abeJeff Brown if (fd != null) { 5686754ba24f12a54b97b3ca1c5d29fc23c15980abeJeff Brown try { 5696754ba24f12a54b97b3ca1c5d29fc23c15980abeJeff Brown dumpDbInfo(fd.getFileDescriptor(), args); 5706754ba24f12a54b97b3ca1c5d29fc23c15980abeJeff Brown } finally { 5716754ba24f12a54b97b3ca1c5d29fc23c15980abeJeff Brown try { 5726754ba24f12a54b97b3ca1c5d29fc23c15980abeJeff Brown fd.close(); 5736754ba24f12a54b97b3ca1c5d29fc23c15980abeJeff Brown } catch (IOException e) { 5746754ba24f12a54b97b3ca1c5d29fc23c15980abeJeff Brown // swallowed, not propagated back to the caller 5756754ba24f12a54b97b3ca1c5d29fc23c15980abeJeff Brown } 5766754ba24f12a54b97b3ca1c5d29fc23c15980abeJeff Brown } 5776754ba24f12a54b97b3ca1c5d29fc23c15980abeJeff Brown } 5786754ba24f12a54b97b3ca1c5d29fc23c15980abeJeff Brown reply.writeNoException(); 5796754ba24f12a54b97b3ca1c5d29fc23c15980abeJeff Brown return true; 5806754ba24f12a54b97b3ca1c5d29fc23c15980abeJeff Brown } 5816ae8d1821822296df0606c9cd1c46708cc21cb58Dianne Hackborn 5826ae8d1821822296df0606c9cd1c46708cc21cb58Dianne Hackborn case UNSTABLE_PROVIDER_DIED_TRANSACTION: 5836ae8d1821822296df0606c9cd1c46708cc21cb58Dianne Hackborn { 5846ae8d1821822296df0606c9cd1c46708cc21cb58Dianne Hackborn data.enforceInterface(IApplicationThread.descriptor); 5856ae8d1821822296df0606c9cd1c46708cc21cb58Dianne Hackborn IBinder provider = data.readStrongBinder(); 5866ae8d1821822296df0606c9cd1c46708cc21cb58Dianne Hackborn unstableProviderDied(provider); 5876ae8d1821822296df0606c9cd1c46708cc21cb58Dianne Hackborn reply.writeNoException(); 5886ae8d1821822296df0606c9cd1c46708cc21cb58Dianne Hackborn return true; 5896ae8d1821822296df0606c9cd1c46708cc21cb58Dianne Hackborn } 5909066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 5919066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 5929066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project return super.onTransact(code, data, reply, flags); 5939066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 5949066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 5959066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project public IBinder asBinder() 5969066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project { 5979066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project return this; 5989066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 5999066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project} 6009066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 6019066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectclass ApplicationThreadProxy implements IApplicationThread { 6029066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project private final IBinder mRemote; 6039066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 6049066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project public ApplicationThreadProxy(IBinder remote) { 6059066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project mRemote = remote; 6069066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 6079066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 6089066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project public final IBinder asBinder() { 6099066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project return mRemote; 6109066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 6119066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 6129066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project public final void schedulePauseActivity(IBinder token, boolean finished, 6139066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project boolean userLeaving, int configChanges) throws RemoteException { 6149066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project Parcel data = Parcel.obtain(); 6159066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project data.writeInterfaceToken(IApplicationThread.descriptor); 6169066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project data.writeStrongBinder(token); 6179066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project data.writeInt(finished ? 1 : 0); 6189066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project data.writeInt(userLeaving ? 1 :0); 6199066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project data.writeInt(configChanges); 6209066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project mRemote.transact(SCHEDULE_PAUSE_ACTIVITY_TRANSACTION, data, null, 6219066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project IBinder.FLAG_ONEWAY); 6229066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project data.recycle(); 6239066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 6249066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 6259066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project public final void scheduleStopActivity(IBinder token, boolean showWindow, 6269066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project int configChanges) throws RemoteException { 6279066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project Parcel data = Parcel.obtain(); 6289066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project data.writeInterfaceToken(IApplicationThread.descriptor); 6299066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project data.writeStrongBinder(token); 6309066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project data.writeInt(showWindow ? 1 : 0); 6319066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project data.writeInt(configChanges); 6329066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project mRemote.transact(SCHEDULE_STOP_ACTIVITY_TRANSACTION, data, null, 6339066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project IBinder.FLAG_ONEWAY); 6349066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project data.recycle(); 6359066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 6369066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 6379066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project public final void scheduleWindowVisibility(IBinder token, 6389066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project boolean showWindow) throws RemoteException { 6399066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project Parcel data = Parcel.obtain(); 6409066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project data.writeInterfaceToken(IApplicationThread.descriptor); 6419066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project data.writeStrongBinder(token); 6429066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project data.writeInt(showWindow ? 1 : 0); 6439066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project mRemote.transact(SCHEDULE_WINDOW_VISIBILITY_TRANSACTION, data, null, 6449066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project IBinder.FLAG_ONEWAY); 6459066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project data.recycle(); 6469066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 6479066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 6484eba96bb314d8ff773ea33d6cb3179f25751ecceDianne Hackborn public final void scheduleSleeping(IBinder token, 6494eba96bb314d8ff773ea33d6cb3179f25751ecceDianne Hackborn boolean sleeping) throws RemoteException { 6504eba96bb314d8ff773ea33d6cb3179f25751ecceDianne Hackborn Parcel data = Parcel.obtain(); 6514eba96bb314d8ff773ea33d6cb3179f25751ecceDianne Hackborn data.writeInterfaceToken(IApplicationThread.descriptor); 6524eba96bb314d8ff773ea33d6cb3179f25751ecceDianne Hackborn data.writeStrongBinder(token); 6534eba96bb314d8ff773ea33d6cb3179f25751ecceDianne Hackborn data.writeInt(sleeping ? 1 : 0); 6544eba96bb314d8ff773ea33d6cb3179f25751ecceDianne Hackborn mRemote.transact(SCHEDULE_SLEEPING_TRANSACTION, data, null, 6554eba96bb314d8ff773ea33d6cb3179f25751ecceDianne Hackborn IBinder.FLAG_ONEWAY); 6564eba96bb314d8ff773ea33d6cb3179f25751ecceDianne Hackborn data.recycle(); 6574eba96bb314d8ff773ea33d6cb3179f25751ecceDianne Hackborn } 6584eba96bb314d8ff773ea33d6cb3179f25751ecceDianne Hackborn 6599066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project public final void scheduleResumeActivity(IBinder token, boolean isForward) 6609066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project throws RemoteException { 6619066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project Parcel data = Parcel.obtain(); 6629066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project data.writeInterfaceToken(IApplicationThread.descriptor); 6639066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project data.writeStrongBinder(token); 6649066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project data.writeInt(isForward ? 1 : 0); 6659066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project mRemote.transact(SCHEDULE_RESUME_ACTIVITY_TRANSACTION, data, null, 6669066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project IBinder.FLAG_ONEWAY); 6679066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project data.recycle(); 6689066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 6699066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 6709066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project public final void scheduleSendResult(IBinder token, List<ResultInfo> results) 6719066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project throws RemoteException { 6729066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project Parcel data = Parcel.obtain(); 6739066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project data.writeInterfaceToken(IApplicationThread.descriptor); 6749066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project data.writeStrongBinder(token); 6759066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project data.writeTypedList(results); 6769066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project mRemote.transact(SCHEDULE_SEND_RESULT_TRANSACTION, data, null, 6779066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project IBinder.FLAG_ONEWAY); 6789066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project data.recycle(); 6799066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 6809066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 681b06ea706530e6d19eb2a1a9a7ae6c5dd77d80af0Dianne Hackborn public final void scheduleLaunchActivity(Intent intent, IBinder token, int ident, 68258f42a59bda3bc912d0d2f81dc65a9d31d140eaaDianne Hackborn ActivityInfo info, Configuration curConfig, CompatibilityInfo compatInfo, 68358f42a59bda3bc912d0d2f81dc65a9d31d140eaaDianne Hackborn Bundle state, List<ResultInfo> pendingResults, 68458f42a59bda3bc912d0d2f81dc65a9d31d140eaaDianne Hackborn List<Intent> pendingNewIntents, boolean notResumed, boolean isForward, 68558f42a59bda3bc912d0d2f81dc65a9d31d140eaaDianne Hackborn String profileName, ParcelFileDescriptor profileFd, boolean autoStopProfiler) 6869066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project throws RemoteException { 6879066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project Parcel data = Parcel.obtain(); 6889066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project data.writeInterfaceToken(IApplicationThread.descriptor); 6899066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project intent.writeToParcel(data, 0); 6909066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project data.writeStrongBinder(token); 691b06ea706530e6d19eb2a1a9a7ae6c5dd77d80af0Dianne Hackborn data.writeInt(ident); 6929066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project info.writeToParcel(data, 0); 69358f42a59bda3bc912d0d2f81dc65a9d31d140eaaDianne Hackborn curConfig.writeToParcel(data, 0); 694e2515eebf42c763c0a2d9f873a153711778cfc17Dianne Hackborn compatInfo.writeToParcel(data, 0); 6959066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project data.writeBundle(state); 6969066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project data.writeTypedList(pendingResults); 6979066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project data.writeTypedList(pendingNewIntents); 6989066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project data.writeInt(notResumed ? 1 : 0); 6999066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project data.writeInt(isForward ? 1 : 0); 70062f20ecf492d2b29881bba307c79ff55e68760e6Dianne Hackborn data.writeString(profileName); 70162f20ecf492d2b29881bba307c79ff55e68760e6Dianne Hackborn if (profileFd != null) { 70262f20ecf492d2b29881bba307c79ff55e68760e6Dianne Hackborn data.writeInt(1); 70362f20ecf492d2b29881bba307c79ff55e68760e6Dianne Hackborn profileFd.writeToParcel(data, Parcelable.PARCELABLE_WRITE_RETURN_VALUE); 70462f20ecf492d2b29881bba307c79ff55e68760e6Dianne Hackborn } else { 70562f20ecf492d2b29881bba307c79ff55e68760e6Dianne Hackborn data.writeInt(0); 70662f20ecf492d2b29881bba307c79ff55e68760e6Dianne Hackborn } 70762f20ecf492d2b29881bba307c79ff55e68760e6Dianne Hackborn data.writeInt(autoStopProfiler ? 1 : 0); 7089066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project mRemote.transact(SCHEDULE_LAUNCH_ACTIVITY_TRANSACTION, data, null, 7099066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project IBinder.FLAG_ONEWAY); 7109066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project data.recycle(); 7119066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 7129066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 7139066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project public final void scheduleRelaunchActivity(IBinder token, 7149066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project List<ResultInfo> pendingResults, List<Intent> pendingNewIntents, 715871ecdce67fb59a2603c1b93db657fe8b65695bdDianne Hackborn int configChanges, boolean notResumed, Configuration config) 716871ecdce67fb59a2603c1b93db657fe8b65695bdDianne Hackborn throws RemoteException { 7179066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project Parcel data = Parcel.obtain(); 7189066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project data.writeInterfaceToken(IApplicationThread.descriptor); 7199066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project data.writeStrongBinder(token); 7209066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project data.writeTypedList(pendingResults); 7219066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project data.writeTypedList(pendingNewIntents); 7229066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project data.writeInt(configChanges); 7239066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project data.writeInt(notResumed ? 1 : 0); 724871ecdce67fb59a2603c1b93db657fe8b65695bdDianne Hackborn if (config != null) { 725871ecdce67fb59a2603c1b93db657fe8b65695bdDianne Hackborn data.writeInt(1); 726871ecdce67fb59a2603c1b93db657fe8b65695bdDianne Hackborn config.writeToParcel(data, 0); 727871ecdce67fb59a2603c1b93db657fe8b65695bdDianne Hackborn } else { 728871ecdce67fb59a2603c1b93db657fe8b65695bdDianne Hackborn data.writeInt(0); 729871ecdce67fb59a2603c1b93db657fe8b65695bdDianne Hackborn } 7309066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project mRemote.transact(SCHEDULE_RELAUNCH_ACTIVITY_TRANSACTION, data, null, 7319066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project IBinder.FLAG_ONEWAY); 7329066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project data.recycle(); 7339066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 7349066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 7359066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project public void scheduleNewIntent(List<Intent> intents, IBinder token) 7369066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project throws RemoteException { 7379066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project Parcel data = Parcel.obtain(); 7389066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project data.writeInterfaceToken(IApplicationThread.descriptor); 7399066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project data.writeTypedList(intents); 7409066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project data.writeStrongBinder(token); 7419066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project mRemote.transact(SCHEDULE_NEW_INTENT_TRANSACTION, data, null, 7429066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project IBinder.FLAG_ONEWAY); 7439066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project data.recycle(); 7449066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 7459066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 7469066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project public final void scheduleDestroyActivity(IBinder token, boolean finishing, 7479066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project int configChanges) throws RemoteException { 7489066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project Parcel data = Parcel.obtain(); 7499066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project data.writeInterfaceToken(IApplicationThread.descriptor); 7509066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project data.writeStrongBinder(token); 7519066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project data.writeInt(finishing ? 1 : 0); 7529066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project data.writeInt(configChanges); 7539066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project mRemote.transact(SCHEDULE_FINISH_ACTIVITY_TRANSACTION, data, null, 7549066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project IBinder.FLAG_ONEWAY); 7559066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project data.recycle(); 7569066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 7579066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 7589066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project public final void scheduleReceiver(Intent intent, ActivityInfo info, 759e2515eebf42c763c0a2d9f873a153711778cfc17Dianne Hackborn CompatibilityInfo compatInfo, int resultCode, String resultData, 76020e809870d8ac1e5b848f2daf51b2272ef89bdfcDianne Hackborn Bundle map, boolean sync, int sendingUser) throws RemoteException { 7619066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project Parcel data = Parcel.obtain(); 7629066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project data.writeInterfaceToken(IApplicationThread.descriptor); 7639066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project intent.writeToParcel(data, 0); 7649066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project info.writeToParcel(data, 0); 765e2515eebf42c763c0a2d9f873a153711778cfc17Dianne Hackborn compatInfo.writeToParcel(data, 0); 7669066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project data.writeInt(resultCode); 7679066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project data.writeString(resultData); 7689066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project data.writeBundle(map); 7699066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project data.writeInt(sync ? 1 : 0); 77020e809870d8ac1e5b848f2daf51b2272ef89bdfcDianne Hackborn data.writeInt(sendingUser); 7719066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project mRemote.transact(SCHEDULE_RECEIVER_TRANSACTION, data, null, 7729066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project IBinder.FLAG_ONEWAY); 7739066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project data.recycle(); 7749066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 7759066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 776e2515eebf42c763c0a2d9f873a153711778cfc17Dianne Hackborn public final void scheduleCreateBackupAgent(ApplicationInfo app, 777e2515eebf42c763c0a2d9f873a153711778cfc17Dianne Hackborn CompatibilityInfo compatInfo, int backupMode) throws RemoteException { 778181fafaf48208978b8ba2022683ffa78aaeddde1Christopher Tate Parcel data = Parcel.obtain(); 779181fafaf48208978b8ba2022683ffa78aaeddde1Christopher Tate data.writeInterfaceToken(IApplicationThread.descriptor); 780181fafaf48208978b8ba2022683ffa78aaeddde1Christopher Tate app.writeToParcel(data, 0); 781e2515eebf42c763c0a2d9f873a153711778cfc17Dianne Hackborn compatInfo.writeToParcel(data, 0); 782181fafaf48208978b8ba2022683ffa78aaeddde1Christopher Tate data.writeInt(backupMode); 783d884f43ffa47f1966e9c63d1ac4722994e037c0bChristopher Tate mRemote.transact(SCHEDULE_CREATE_BACKUP_AGENT_TRANSACTION, data, null, 784d884f43ffa47f1966e9c63d1ac4722994e037c0bChristopher Tate IBinder.FLAG_ONEWAY); 785181fafaf48208978b8ba2022683ffa78aaeddde1Christopher Tate data.recycle(); 786181fafaf48208978b8ba2022683ffa78aaeddde1Christopher Tate } 787181fafaf48208978b8ba2022683ffa78aaeddde1Christopher Tate 788e2515eebf42c763c0a2d9f873a153711778cfc17Dianne Hackborn public final void scheduleDestroyBackupAgent(ApplicationInfo app, 789e2515eebf42c763c0a2d9f873a153711778cfc17Dianne Hackborn CompatibilityInfo compatInfo) throws RemoteException { 790181fafaf48208978b8ba2022683ffa78aaeddde1Christopher Tate Parcel data = Parcel.obtain(); 791181fafaf48208978b8ba2022683ffa78aaeddde1Christopher Tate data.writeInterfaceToken(IApplicationThread.descriptor); 792181fafaf48208978b8ba2022683ffa78aaeddde1Christopher Tate app.writeToParcel(data, 0); 793e2515eebf42c763c0a2d9f873a153711778cfc17Dianne Hackborn compatInfo.writeToParcel(data, 0); 794d884f43ffa47f1966e9c63d1ac4722994e037c0bChristopher Tate mRemote.transact(SCHEDULE_DESTROY_BACKUP_AGENT_TRANSACTION, data, null, 795d884f43ffa47f1966e9c63d1ac4722994e037c0bChristopher Tate IBinder.FLAG_ONEWAY); 796181fafaf48208978b8ba2022683ffa78aaeddde1Christopher Tate data.recycle(); 797181fafaf48208978b8ba2022683ffa78aaeddde1Christopher Tate } 798181fafaf48208978b8ba2022683ffa78aaeddde1Christopher Tate 799e2515eebf42c763c0a2d9f873a153711778cfc17Dianne Hackborn public final void scheduleCreateService(IBinder token, ServiceInfo info, 800e2515eebf42c763c0a2d9f873a153711778cfc17Dianne Hackborn CompatibilityInfo compatInfo) throws RemoteException { 8019066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project Parcel data = Parcel.obtain(); 8029066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project data.writeInterfaceToken(IApplicationThread.descriptor); 8039066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project data.writeStrongBinder(token); 8049066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project info.writeToParcel(data, 0); 805e2515eebf42c763c0a2d9f873a153711778cfc17Dianne Hackborn compatInfo.writeToParcel(data, 0); 8069066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project mRemote.transact(SCHEDULE_CREATE_SERVICE_TRANSACTION, data, null, 8079066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project IBinder.FLAG_ONEWAY); 8089066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project data.recycle(); 8099066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 8109066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 8119066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project public final void scheduleBindService(IBinder token, Intent intent, boolean rebind) 8129066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project throws RemoteException { 8139066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project Parcel data = Parcel.obtain(); 8149066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project data.writeInterfaceToken(IApplicationThread.descriptor); 8159066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project data.writeStrongBinder(token); 8169066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project intent.writeToParcel(data, 0); 8179066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project data.writeInt(rebind ? 1 : 0); 8189066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project mRemote.transact(SCHEDULE_BIND_SERVICE_TRANSACTION, data, null, 8199066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project IBinder.FLAG_ONEWAY); 8209066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project data.recycle(); 8219066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 8229066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 8239066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project public final void scheduleUnbindService(IBinder token, Intent intent) 8249066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project throws RemoteException { 8259066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project Parcel data = Parcel.obtain(); 8269066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project data.writeInterfaceToken(IApplicationThread.descriptor); 8279066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project data.writeStrongBinder(token); 8289066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project intent.writeToParcel(data, 0); 8299066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project mRemote.transact(SCHEDULE_UNBIND_SERVICE_TRANSACTION, data, null, 8309066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project IBinder.FLAG_ONEWAY); 8319066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project data.recycle(); 8329066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 8339066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 8340c5001d776d56bae02a5cc2663286a125d99bc5eDianne Hackborn public final void scheduleServiceArgs(IBinder token, boolean taskRemoved, int startId, 835f6f9f2d0256930ce0bb4913b2260b8480914edc2Dianne Hackborn int flags, Intent args) throws RemoteException { 8369066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project Parcel data = Parcel.obtain(); 8379066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project data.writeInterfaceToken(IApplicationThread.descriptor); 8389066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project data.writeStrongBinder(token); 8390c5001d776d56bae02a5cc2663286a125d99bc5eDianne Hackborn data.writeInt(taskRemoved ? 1 : 0); 8409066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project data.writeInt(startId); 841f6f9f2d0256930ce0bb4913b2260b8480914edc2Dianne Hackborn data.writeInt(flags); 842f6f9f2d0256930ce0bb4913b2260b8480914edc2Dianne Hackborn if (args != null) { 843f6f9f2d0256930ce0bb4913b2260b8480914edc2Dianne Hackborn data.writeInt(1); 844f6f9f2d0256930ce0bb4913b2260b8480914edc2Dianne Hackborn args.writeToParcel(data, 0); 845f6f9f2d0256930ce0bb4913b2260b8480914edc2Dianne Hackborn } else { 846f6f9f2d0256930ce0bb4913b2260b8480914edc2Dianne Hackborn data.writeInt(0); 847f6f9f2d0256930ce0bb4913b2260b8480914edc2Dianne Hackborn } 8489066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project mRemote.transact(SCHEDULE_SERVICE_ARGS_TRANSACTION, data, null, 8499066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project IBinder.FLAG_ONEWAY); 8509066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project data.recycle(); 8519066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 8529066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 8539066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project public final void scheduleStopService(IBinder token) 8549066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project throws RemoteException { 8559066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project Parcel data = Parcel.obtain(); 8569066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project data.writeInterfaceToken(IApplicationThread.descriptor); 8579066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project data.writeStrongBinder(token); 8589066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project mRemote.transact(SCHEDULE_STOP_SERVICE_TRANSACTION, data, null, 8599066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project IBinder.FLAG_ONEWAY); 8609066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project data.recycle(); 8619066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 8629066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 8639066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project public final void bindApplication(String packageName, ApplicationInfo info, 86462f20ecf492d2b29881bba307c79ff55e68760e6Dianne Hackborn List<ProviderInfo> providers, ComponentName testName, String profileName, 86562f20ecf492d2b29881bba307c79ff55e68760e6Dianne Hackborn ParcelFileDescriptor profileFd, boolean autoStopProfiler, Bundle testArgs, 86692a8b22e7410e74e1cba1b856333116652af8a5cSiva Velusamy IInstrumentationWatcher testWatcher, int debugMode, boolean openGlTrace, 86792a8b22e7410e74e1cba1b856333116652af8a5cSiva Velusamy boolean restrictedBackupMode, boolean persistent, 86892a8b22e7410e74e1cba1b856333116652af8a5cSiva Velusamy Configuration config, CompatibilityInfo compatInfo, 86954d068ec6af0ee6d261a135400efe6816c6f5ffeSvetoslav Ganov Map<String, IBinder> services, Bundle coreSettings) throws RemoteException { 8709066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project Parcel data = Parcel.obtain(); 8719066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project data.writeInterfaceToken(IApplicationThread.descriptor); 8729066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project data.writeString(packageName); 8739066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project info.writeToParcel(data, 0); 8749066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project data.writeTypedList(providers); 8759066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project if (testName == null) { 8769066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project data.writeInt(0); 8779066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } else { 8789066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project data.writeInt(1); 8799066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project testName.writeToParcel(data, 0); 8809066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 8819066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project data.writeString(profileName); 88262f20ecf492d2b29881bba307c79ff55e68760e6Dianne Hackborn if (profileFd != null) { 88362f20ecf492d2b29881bba307c79ff55e68760e6Dianne Hackborn data.writeInt(1); 88462f20ecf492d2b29881bba307c79ff55e68760e6Dianne Hackborn profileFd.writeToParcel(data, Parcelable.PARCELABLE_WRITE_RETURN_VALUE); 88562f20ecf492d2b29881bba307c79ff55e68760e6Dianne Hackborn } else { 88662f20ecf492d2b29881bba307c79ff55e68760e6Dianne Hackborn data.writeInt(0); 88762f20ecf492d2b29881bba307c79ff55e68760e6Dianne Hackborn } 88862f20ecf492d2b29881bba307c79ff55e68760e6Dianne Hackborn data.writeInt(autoStopProfiler ? 1 : 0); 8899066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project data.writeBundle(testArgs); 8909066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project data.writeStrongInterface(testWatcher); 8919066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project data.writeInt(debugMode); 89292a8b22e7410e74e1cba1b856333116652af8a5cSiva Velusamy data.writeInt(openGlTrace ? 1 : 0); 893181fafaf48208978b8ba2022683ffa78aaeddde1Christopher Tate data.writeInt(restrictedBackupMode ? 1 : 0); 8945d927c2d8e832fcfcb0154c8741f896001141ef4Dianne Hackborn data.writeInt(persistent ? 1 : 0); 8959066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project config.writeToParcel(data, 0); 896e2515eebf42c763c0a2d9f873a153711778cfc17Dianne Hackborn compatInfo.writeToParcel(data, 0); 8979066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project data.writeMap(services); 89854d068ec6af0ee6d261a135400efe6816c6f5ffeSvetoslav Ganov data.writeBundle(coreSettings); 8999066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project mRemote.transact(BIND_APPLICATION_TRANSACTION, data, null, 9009066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project IBinder.FLAG_ONEWAY); 9019066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project data.recycle(); 9029066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 9039066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 9049066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project public final void scheduleExit() throws RemoteException { 9059066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project Parcel data = Parcel.obtain(); 9069066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project data.writeInterfaceToken(IApplicationThread.descriptor); 9079066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project mRemote.transact(SCHEDULE_EXIT_TRANSACTION, data, null, 9089066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project IBinder.FLAG_ONEWAY); 9099066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project data.recycle(); 9109066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 9115e1ab335e6e8fbfa19c64d53880a22f472010953Christopher Tate 9125e1ab335e6e8fbfa19c64d53880a22f472010953Christopher Tate public final void scheduleSuicide() throws RemoteException { 9135e1ab335e6e8fbfa19c64d53880a22f472010953Christopher Tate Parcel data = Parcel.obtain(); 9145e1ab335e6e8fbfa19c64d53880a22f472010953Christopher Tate data.writeInterfaceToken(IApplicationThread.descriptor); 9155e1ab335e6e8fbfa19c64d53880a22f472010953Christopher Tate mRemote.transact(SCHEDULE_SUICIDE_TRANSACTION, data, null, 9165e1ab335e6e8fbfa19c64d53880a22f472010953Christopher Tate IBinder.FLAG_ONEWAY); 9175e1ab335e6e8fbfa19c64d53880a22f472010953Christopher Tate data.recycle(); 9185e1ab335e6e8fbfa19c64d53880a22f472010953Christopher Tate } 9195e1ab335e6e8fbfa19c64d53880a22f472010953Christopher Tate 9209066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project public final void requestThumbnail(IBinder token) 9219066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project throws RemoteException { 9229066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project Parcel data = Parcel.obtain(); 9239066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project data.writeInterfaceToken(IApplicationThread.descriptor); 9249066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project data.writeStrongBinder(token); 9259066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project mRemote.transact(REQUEST_THUMBNAIL_TRANSACTION, data, null, 9269066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project IBinder.FLAG_ONEWAY); 9279066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project data.recycle(); 9289066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 9299066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 9309066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project public final void scheduleConfigurationChanged(Configuration config) 9319066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project throws RemoteException { 9329066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project Parcel data = Parcel.obtain(); 9339066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project data.writeInterfaceToken(IApplicationThread.descriptor); 9349066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project config.writeToParcel(data, 0); 9359066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project mRemote.transact(SCHEDULE_CONFIGURATION_CHANGED_TRANSACTION, data, null, 9369066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project IBinder.FLAG_ONEWAY); 9379066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project data.recycle(); 9389066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 9399066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 9409066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project public void updateTimeZone() throws RemoteException { 9419066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project Parcel data = Parcel.obtain(); 9429066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project data.writeInterfaceToken(IApplicationThread.descriptor); 9439066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project mRemote.transact(UPDATE_TIME_ZONE_TRANSACTION, data, null, 9449066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project IBinder.FLAG_ONEWAY); 9459066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project data.recycle(); 9469066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 9479066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 94803595d01188d88c169e8c9dd51b357fd545e69ccRobert Greenwalt public void clearDnsCache() throws RemoteException { 94903595d01188d88c169e8c9dd51b357fd545e69ccRobert Greenwalt Parcel data = Parcel.obtain(); 95003595d01188d88c169e8c9dd51b357fd545e69ccRobert Greenwalt data.writeInterfaceToken(IApplicationThread.descriptor); 95103595d01188d88c169e8c9dd51b357fd545e69ccRobert Greenwalt mRemote.transact(CLEAR_DNS_CACHE_TRANSACTION, data, null, 95203595d01188d88c169e8c9dd51b357fd545e69ccRobert Greenwalt IBinder.FLAG_ONEWAY); 95303595d01188d88c169e8c9dd51b357fd545e69ccRobert Greenwalt data.recycle(); 95403595d01188d88c169e8c9dd51b357fd545e69ccRobert Greenwalt } 95503595d01188d88c169e8c9dd51b357fd545e69ccRobert Greenwalt 956434203a277cd2f237a71508a3d5a7d1602126cd5Robert Greenwalt public void setHttpProxy(String proxy, String port, String exclList) throws RemoteException { 957434203a277cd2f237a71508a3d5a7d1602126cd5Robert Greenwalt Parcel data = Parcel.obtain(); 958434203a277cd2f237a71508a3d5a7d1602126cd5Robert Greenwalt data.writeInterfaceToken(IApplicationThread.descriptor); 959434203a277cd2f237a71508a3d5a7d1602126cd5Robert Greenwalt data.writeString(proxy); 960434203a277cd2f237a71508a3d5a7d1602126cd5Robert Greenwalt data.writeString(port); 961434203a277cd2f237a71508a3d5a7d1602126cd5Robert Greenwalt data.writeString(exclList); 962434203a277cd2f237a71508a3d5a7d1602126cd5Robert Greenwalt mRemote.transact(SET_HTTP_PROXY_TRANSACTION, data, null, IBinder.FLAG_ONEWAY); 963434203a277cd2f237a71508a3d5a7d1602126cd5Robert Greenwalt data.recycle(); 964434203a277cd2f237a71508a3d5a7d1602126cd5Robert Greenwalt } 965434203a277cd2f237a71508a3d5a7d1602126cd5Robert Greenwalt 9669066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project public void processInBackground() throws RemoteException { 9679066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project Parcel data = Parcel.obtain(); 9689066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project data.writeInterfaceToken(IApplicationThread.descriptor); 9699066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project mRemote.transact(PROCESS_IN_BACKGROUND_TRANSACTION, data, null, 9709066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project IBinder.FLAG_ONEWAY); 9719066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project data.recycle(); 9729066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 9739066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 9749066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project public void dumpService(FileDescriptor fd, IBinder token, String[] args) 9759066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project throws RemoteException { 9769066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project Parcel data = Parcel.obtain(); 9779066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project data.writeInterfaceToken(IApplicationThread.descriptor); 9789066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project data.writeFileDescriptor(fd); 9799066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project data.writeStrongBinder(token); 9809066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project data.writeStringArray(args); 981e17aeb31030cfeed339a39a107912ad5e9178390Dianne Hackborn mRemote.transact(DUMP_SERVICE_TRANSACTION, data, null, IBinder.FLAG_ONEWAY); 9829066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project data.recycle(); 9839066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 9849066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 98518cb28756caf02bf2b2f5e67c68451edaf719b47Marco Nelissen public void dumpProvider(FileDescriptor fd, IBinder token, String[] args) 98618cb28756caf02bf2b2f5e67c68451edaf719b47Marco Nelissen throws RemoteException { 98718cb28756caf02bf2b2f5e67c68451edaf719b47Marco Nelissen Parcel data = Parcel.obtain(); 98818cb28756caf02bf2b2f5e67c68451edaf719b47Marco Nelissen data.writeInterfaceToken(IApplicationThread.descriptor); 98918cb28756caf02bf2b2f5e67c68451edaf719b47Marco Nelissen data.writeFileDescriptor(fd); 99018cb28756caf02bf2b2f5e67c68451edaf719b47Marco Nelissen data.writeStrongBinder(token); 99118cb28756caf02bf2b2f5e67c68451edaf719b47Marco Nelissen data.writeStringArray(args); 99218cb28756caf02bf2b2f5e67c68451edaf719b47Marco Nelissen mRemote.transact(DUMP_PROVIDER_TRANSACTION, data, null, IBinder.FLAG_ONEWAY); 99318cb28756caf02bf2b2f5e67c68451edaf719b47Marco Nelissen data.recycle(); 99418cb28756caf02bf2b2f5e67c68451edaf719b47Marco Nelissen } 99518cb28756caf02bf2b2f5e67c68451edaf719b47Marco Nelissen 9969066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project public void scheduleRegisteredReceiver(IIntentReceiver receiver, Intent intent, 99720e809870d8ac1e5b848f2daf51b2272ef89bdfcDianne Hackborn int resultCode, String dataStr, Bundle extras, boolean ordered, 99820e809870d8ac1e5b848f2daf51b2272ef89bdfcDianne Hackborn boolean sticky, int sendingUser) throws RemoteException { 9999066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project Parcel data = Parcel.obtain(); 10009066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project data.writeInterfaceToken(IApplicationThread.descriptor); 10019066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project data.writeStrongBinder(receiver.asBinder()); 10029066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project intent.writeToParcel(data, 0); 10039066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project data.writeInt(resultCode); 10049066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project data.writeString(dataStr); 10059066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project data.writeBundle(extras); 10069066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project data.writeInt(ordered ? 1 : 0); 100768d881cf2d2b252f6f795cd64d43e316a1d736e5Dianne Hackborn data.writeInt(sticky ? 1 : 0); 100820e809870d8ac1e5b848f2daf51b2272ef89bdfcDianne Hackborn data.writeInt(sendingUser); 10099066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project mRemote.transact(SCHEDULE_REGISTERED_RECEIVER_TRANSACTION, data, null, 10109066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project IBinder.FLAG_ONEWAY); 10119066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project data.recycle(); 10129066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 10139066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 10149066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project public final void scheduleLowMemory() throws RemoteException { 10159066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project Parcel data = Parcel.obtain(); 10169066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project data.writeInterfaceToken(IApplicationThread.descriptor); 10179066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project mRemote.transact(SCHEDULE_LOW_MEMORY_TRANSACTION, data, null, 10189066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project IBinder.FLAG_ONEWAY); 10199066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project data.recycle(); 10209066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 10219066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 10229066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project public final void scheduleActivityConfigurationChanged( 10239066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project IBinder token) throws RemoteException { 10249066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project Parcel data = Parcel.obtain(); 10259066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project data.writeInterfaceToken(IApplicationThread.descriptor); 10269066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project data.writeStrongBinder(token); 10279066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project mRemote.transact(SCHEDULE_ACTIVITY_CONFIGURATION_CHANGED_TRANSACTION, data, null, 10289066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project IBinder.FLAG_ONEWAY); 10299066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project data.recycle(); 10309066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 10319066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 10329c8dd55a9d829c29a3feee9469d8c2f27a9f5516Dianne Hackborn public void profilerControl(boolean start, String path, 10337eabe55db6b113f83c2cefcd06812648927de877Romain Guy ParcelFileDescriptor fd, int profileType) throws RemoteException { 1034f5b4b98fada53d91c4c2ebeb5a1d33ccc95c94d2The Android Open Source Project Parcel data = Parcel.obtain(); 1035f5b4b98fada53d91c4c2ebeb5a1d33ccc95c94d2The Android Open Source Project data.writeInterfaceToken(IApplicationThread.descriptor); 1036f5b4b98fada53d91c4c2ebeb5a1d33ccc95c94d2The Android Open Source Project data.writeInt(start ? 1 : 0); 10379a8c5cefcab3d5dec6ff63f0e99553e1aa9a4af8Romain Guy data.writeInt(profileType); 1038f5b4b98fada53d91c4c2ebeb5a1d33ccc95c94d2The Android Open Source Project data.writeString(path); 10399c8dd55a9d829c29a3feee9469d8c2f27a9f5516Dianne Hackborn if (fd != null) { 10409c8dd55a9d829c29a3feee9469d8c2f27a9f5516Dianne Hackborn data.writeInt(1); 10419c8dd55a9d829c29a3feee9469d8c2f27a9f5516Dianne Hackborn fd.writeToParcel(data, Parcelable.PARCELABLE_WRITE_RETURN_VALUE); 10429c8dd55a9d829c29a3feee9469d8c2f27a9f5516Dianne Hackborn } else { 10439c8dd55a9d829c29a3feee9469d8c2f27a9f5516Dianne Hackborn data.writeInt(0); 10449c8dd55a9d829c29a3feee9469d8c2f27a9f5516Dianne Hackborn } 1045f5b4b98fada53d91c4c2ebeb5a1d33ccc95c94d2The Android Open Source Project mRemote.transact(PROFILER_CONTROL_TRANSACTION, data, null, 1046f5b4b98fada53d91c4c2ebeb5a1d33ccc95c94d2The Android Open Source Project IBinder.FLAG_ONEWAY); 1047f5b4b98fada53d91c4c2ebeb5a1d33ccc95c94d2The Android Open Source Project data.recycle(); 1048f5b4b98fada53d91c4c2ebeb5a1d33ccc95c94d2The Android Open Source Project } 104906de2ea752171f52a4e6e6872cb3a0689e591dcbDianne Hackborn 105006de2ea752171f52a4e6e6872cb3a0689e591dcbDianne Hackborn public void setSchedulingGroup(int group) throws RemoteException { 105106de2ea752171f52a4e6e6872cb3a0689e591dcbDianne Hackborn Parcel data = Parcel.obtain(); 105206de2ea752171f52a4e6e6872cb3a0689e591dcbDianne Hackborn data.writeInterfaceToken(IApplicationThread.descriptor); 105306de2ea752171f52a4e6e6872cb3a0689e591dcbDianne Hackborn data.writeInt(group); 105406de2ea752171f52a4e6e6872cb3a0689e591dcbDianne Hackborn mRemote.transact(SET_SCHEDULING_GROUP_TRANSACTION, data, null, 105506de2ea752171f52a4e6e6872cb3a0689e591dcbDianne Hackborn IBinder.FLAG_ONEWAY); 105606de2ea752171f52a4e6e6872cb3a0689e591dcbDianne Hackborn data.recycle(); 105706de2ea752171f52a4e6e6872cb3a0689e591dcbDianne Hackborn } 10583025ef332c29e255388f74b2afefe05f64bce07cDianne Hackborn 10593025ef332c29e255388f74b2afefe05f64bce07cDianne Hackborn public void getMemoryInfo(Debug.MemoryInfo outInfo) throws RemoteException { 10603025ef332c29e255388f74b2afefe05f64bce07cDianne Hackborn Parcel data = Parcel.obtain(); 10613025ef332c29e255388f74b2afefe05f64bce07cDianne Hackborn Parcel reply = Parcel.obtain(); 10623025ef332c29e255388f74b2afefe05f64bce07cDianne Hackborn data.writeInterfaceToken(IApplicationThread.descriptor); 10633025ef332c29e255388f74b2afefe05f64bce07cDianne Hackborn mRemote.transact(GET_MEMORY_INFO_TRANSACTION, data, reply, 0); 10643025ef332c29e255388f74b2afefe05f64bce07cDianne Hackborn reply.readException(); 10653025ef332c29e255388f74b2afefe05f64bce07cDianne Hackborn outInfo.readFromParcel(reply); 10663025ef332c29e255388f74b2afefe05f64bce07cDianne Hackborn data.recycle(); 10673025ef332c29e255388f74b2afefe05f64bce07cDianne Hackborn reply.recycle(); 10683025ef332c29e255388f74b2afefe05f64bce07cDianne Hackborn } 10694416c3d6e4becd9ed39b89a03db0239c8225a135Dianne Hackborn 10704416c3d6e4becd9ed39b89a03db0239c8225a135Dianne Hackborn public void dispatchPackageBroadcast(int cmd, String[] packages) throws RemoteException { 10714416c3d6e4becd9ed39b89a03db0239c8225a135Dianne Hackborn Parcel data = Parcel.obtain(); 10724416c3d6e4becd9ed39b89a03db0239c8225a135Dianne Hackborn data.writeInterfaceToken(IApplicationThread.descriptor); 10734416c3d6e4becd9ed39b89a03db0239c8225a135Dianne Hackborn data.writeInt(cmd); 10744416c3d6e4becd9ed39b89a03db0239c8225a135Dianne Hackborn data.writeStringArray(packages); 10754416c3d6e4becd9ed39b89a03db0239c8225a135Dianne Hackborn mRemote.transact(DISPATCH_PACKAGE_BROADCAST_TRANSACTION, data, null, 10764416c3d6e4becd9ed39b89a03db0239c8225a135Dianne Hackborn IBinder.FLAG_ONEWAY); 10774416c3d6e4becd9ed39b89a03db0239c8225a135Dianne Hackborn data.recycle(); 10784416c3d6e4becd9ed39b89a03db0239c8225a135Dianne Hackborn 10794416c3d6e4becd9ed39b89a03db0239c8225a135Dianne Hackborn } 10809d39d0cb361c5d3bba04a6bacf299be2162a6e92Dianne Hackborn 10819d39d0cb361c5d3bba04a6bacf299be2162a6e92Dianne Hackborn public void scheduleCrash(String msg) throws RemoteException { 10829d39d0cb361c5d3bba04a6bacf299be2162a6e92Dianne Hackborn Parcel data = Parcel.obtain(); 10839d39d0cb361c5d3bba04a6bacf299be2162a6e92Dianne Hackborn data.writeInterfaceToken(IApplicationThread.descriptor); 10849d39d0cb361c5d3bba04a6bacf299be2162a6e92Dianne Hackborn data.writeString(msg); 10859d39d0cb361c5d3bba04a6bacf299be2162a6e92Dianne Hackborn mRemote.transact(SCHEDULE_CRASH_TRANSACTION, data, null, 10869d39d0cb361c5d3bba04a6bacf299be2162a6e92Dianne Hackborn IBinder.FLAG_ONEWAY); 10879d39d0cb361c5d3bba04a6bacf299be2162a6e92Dianne Hackborn data.recycle(); 10889d39d0cb361c5d3bba04a6bacf299be2162a6e92Dianne Hackborn 10899d39d0cb361c5d3bba04a6bacf299be2162a6e92Dianne Hackborn } 1090824c510752fd6a30cdba5ed7324cb80a5043ce26Andy McFadden 1091824c510752fd6a30cdba5ed7324cb80a5043ce26Andy McFadden public void dumpHeap(boolean managed, String path, 1092824c510752fd6a30cdba5ed7324cb80a5043ce26Andy McFadden ParcelFileDescriptor fd) throws RemoteException { 1093824c510752fd6a30cdba5ed7324cb80a5043ce26Andy McFadden Parcel data = Parcel.obtain(); 1094824c510752fd6a30cdba5ed7324cb80a5043ce26Andy McFadden data.writeInterfaceToken(IApplicationThread.descriptor); 1095824c510752fd6a30cdba5ed7324cb80a5043ce26Andy McFadden data.writeInt(managed ? 1 : 0); 1096824c510752fd6a30cdba5ed7324cb80a5043ce26Andy McFadden data.writeString(path); 1097824c510752fd6a30cdba5ed7324cb80a5043ce26Andy McFadden if (fd != null) { 1098824c510752fd6a30cdba5ed7324cb80a5043ce26Andy McFadden data.writeInt(1); 1099824c510752fd6a30cdba5ed7324cb80a5043ce26Andy McFadden fd.writeToParcel(data, Parcelable.PARCELABLE_WRITE_RETURN_VALUE); 1100824c510752fd6a30cdba5ed7324cb80a5043ce26Andy McFadden } else { 1101824c510752fd6a30cdba5ed7324cb80a5043ce26Andy McFadden data.writeInt(0); 1102824c510752fd6a30cdba5ed7324cb80a5043ce26Andy McFadden } 1103824c510752fd6a30cdba5ed7324cb80a5043ce26Andy McFadden mRemote.transact(DUMP_HEAP_TRANSACTION, data, null, 1104824c510752fd6a30cdba5ed7324cb80a5043ce26Andy McFadden IBinder.FLAG_ONEWAY); 1105824c510752fd6a30cdba5ed7324cb80a5043ce26Andy McFadden data.recycle(); 1106824c510752fd6a30cdba5ed7324cb80a5043ce26Andy McFadden } 1107625ac271f80777668f832a344486a6fcdc06d0aeDianne Hackborn 110830d7189067524000c738c188c4ff91f84f474d25Dianne Hackborn public void dumpActivity(FileDescriptor fd, IBinder token, String prefix, String[] args) 1109625ac271f80777668f832a344486a6fcdc06d0aeDianne Hackborn throws RemoteException { 1110625ac271f80777668f832a344486a6fcdc06d0aeDianne Hackborn Parcel data = Parcel.obtain(); 1111625ac271f80777668f832a344486a6fcdc06d0aeDianne Hackborn data.writeInterfaceToken(IApplicationThread.descriptor); 1112625ac271f80777668f832a344486a6fcdc06d0aeDianne Hackborn data.writeFileDescriptor(fd); 1113625ac271f80777668f832a344486a6fcdc06d0aeDianne Hackborn data.writeStrongBinder(token); 111430d7189067524000c738c188c4ff91f84f474d25Dianne Hackborn data.writeString(prefix); 1115625ac271f80777668f832a344486a6fcdc06d0aeDianne Hackborn data.writeStringArray(args); 1116e17aeb31030cfeed339a39a107912ad5e9178390Dianne Hackborn mRemote.transact(DUMP_ACTIVITY_TRANSACTION, data, null, IBinder.FLAG_ONEWAY); 1117625ac271f80777668f832a344486a6fcdc06d0aeDianne Hackborn data.recycle(); 1118625ac271f80777668f832a344486a6fcdc06d0aeDianne Hackborn } 111954d068ec6af0ee6d261a135400efe6816c6f5ffeSvetoslav Ganov 112054d068ec6af0ee6d261a135400efe6816c6f5ffeSvetoslav Ganov public void setCoreSettings(Bundle coreSettings) throws RemoteException { 112154d068ec6af0ee6d261a135400efe6816c6f5ffeSvetoslav Ganov Parcel data = Parcel.obtain(); 112254d068ec6af0ee6d261a135400efe6816c6f5ffeSvetoslav Ganov data.writeInterfaceToken(IApplicationThread.descriptor); 112354d068ec6af0ee6d261a135400efe6816c6f5ffeSvetoslav Ganov data.writeBundle(coreSettings); 1124e2515eebf42c763c0a2d9f873a153711778cfc17Dianne Hackborn mRemote.transact(SET_CORE_SETTINGS_TRANSACTION, data, null, IBinder.FLAG_ONEWAY); 1125e2515eebf42c763c0a2d9f873a153711778cfc17Dianne Hackborn } 1126e2515eebf42c763c0a2d9f873a153711778cfc17Dianne Hackborn 1127e2515eebf42c763c0a2d9f873a153711778cfc17Dianne Hackborn public void updatePackageCompatibilityInfo(String pkg, CompatibilityInfo info) 1128e2515eebf42c763c0a2d9f873a153711778cfc17Dianne Hackborn throws RemoteException { 1129e2515eebf42c763c0a2d9f873a153711778cfc17Dianne Hackborn Parcel data = Parcel.obtain(); 1130e2515eebf42c763c0a2d9f873a153711778cfc17Dianne Hackborn data.writeInterfaceToken(IApplicationThread.descriptor); 1131e2515eebf42c763c0a2d9f873a153711778cfc17Dianne Hackborn data.writeString(pkg); 1132e2515eebf42c763c0a2d9f873a153711778cfc17Dianne Hackborn info.writeToParcel(data, 0); 1133e2515eebf42c763c0a2d9f873a153711778cfc17Dianne Hackborn mRemote.transact(UPDATE_PACKAGE_COMPATIBILITY_INFO_TRANSACTION, data, null, 1134e2515eebf42c763c0a2d9f873a153711778cfc17Dianne Hackborn IBinder.FLAG_ONEWAY); 113554d068ec6af0ee6d261a135400efe6816c6f5ffeSvetoslav Ganov } 1136ce86ba86df61de8b34b226a4eb6c23ec33e866e0Dianne Hackborn 1137ce86ba86df61de8b34b226a4eb6c23ec33e866e0Dianne Hackborn public void scheduleTrimMemory(int level) throws RemoteException { 1138ce86ba86df61de8b34b226a4eb6c23ec33e866e0Dianne Hackborn Parcel data = Parcel.obtain(); 1139ce86ba86df61de8b34b226a4eb6c23ec33e866e0Dianne Hackborn data.writeInterfaceToken(IApplicationThread.descriptor); 1140ce86ba86df61de8b34b226a4eb6c23ec33e866e0Dianne Hackborn data.writeInt(level); 1141ce86ba86df61de8b34b226a4eb6c23ec33e866e0Dianne Hackborn mRemote.transact(SCHEDULE_TRIM_MEMORY_TRANSACTION, data, null, 1142ce86ba86df61de8b34b226a4eb6c23ec33e866e0Dianne Hackborn IBinder.FLAG_ONEWAY); 1143ce86ba86df61de8b34b226a4eb6c23ec33e866e0Dianne Hackborn } 11440e3328fbdd3845b0e2bec364e951498eaee6b079Dianne Hackborn 1145b437e090ec03a2bab10bdfcb9484577a7f34e157Dianne Hackborn public Debug.MemoryInfo dumpMemInfo(FileDescriptor fd, boolean checkin, boolean all, 1146b437e090ec03a2bab10bdfcb9484577a7f34e157Dianne Hackborn String[] args) throws RemoteException { 11470e3328fbdd3845b0e2bec364e951498eaee6b079Dianne Hackborn Parcel data = Parcel.obtain(); 11480e3328fbdd3845b0e2bec364e951498eaee6b079Dianne Hackborn Parcel reply = Parcel.obtain(); 11490e3328fbdd3845b0e2bec364e951498eaee6b079Dianne Hackborn data.writeInterfaceToken(IApplicationThread.descriptor); 11500e3328fbdd3845b0e2bec364e951498eaee6b079Dianne Hackborn data.writeFileDescriptor(fd); 1151b437e090ec03a2bab10bdfcb9484577a7f34e157Dianne Hackborn data.writeInt(checkin ? 1 : 0); 1152b437e090ec03a2bab10bdfcb9484577a7f34e157Dianne Hackborn data.writeInt(all ? 1 : 0); 11530e3328fbdd3845b0e2bec364e951498eaee6b079Dianne Hackborn data.writeStringArray(args); 11540e3328fbdd3845b0e2bec364e951498eaee6b079Dianne Hackborn mRemote.transact(DUMP_MEM_INFO_TRANSACTION, data, reply, 0); 11550e3328fbdd3845b0e2bec364e951498eaee6b079Dianne Hackborn reply.readException(); 11560e3328fbdd3845b0e2bec364e951498eaee6b079Dianne Hackborn Debug.MemoryInfo info = new Debug.MemoryInfo(); 11570e3328fbdd3845b0e2bec364e951498eaee6b079Dianne Hackborn info.readFromParcel(reply); 11580e3328fbdd3845b0e2bec364e951498eaee6b079Dianne Hackborn data.recycle(); 11590e3328fbdd3845b0e2bec364e951498eaee6b079Dianne Hackborn reply.recycle(); 11600e3328fbdd3845b0e2bec364e951498eaee6b079Dianne Hackborn return info; 11610e3328fbdd3845b0e2bec364e951498eaee6b079Dianne Hackborn } 11620e3328fbdd3845b0e2bec364e951498eaee6b079Dianne Hackborn 11630e3328fbdd3845b0e2bec364e951498eaee6b079Dianne Hackborn public void dumpGfxInfo(FileDescriptor fd, String[] args) throws RemoteException { 11640e3328fbdd3845b0e2bec364e951498eaee6b079Dianne Hackborn Parcel data = Parcel.obtain(); 11650e3328fbdd3845b0e2bec364e951498eaee6b079Dianne Hackborn data.writeInterfaceToken(IApplicationThread.descriptor); 11660e3328fbdd3845b0e2bec364e951498eaee6b079Dianne Hackborn data.writeFileDescriptor(fd); 11670e3328fbdd3845b0e2bec364e951498eaee6b079Dianne Hackborn data.writeStringArray(args); 11680e3328fbdd3845b0e2bec364e951498eaee6b079Dianne Hackborn mRemote.transact(DUMP_GFX_INFO_TRANSACTION, data, null, IBinder.FLAG_ONEWAY); 11690e3328fbdd3845b0e2bec364e951498eaee6b079Dianne Hackborn data.recycle(); 11700e3328fbdd3845b0e2bec364e951498eaee6b079Dianne Hackborn } 11716754ba24f12a54b97b3ca1c5d29fc23c15980abeJeff Brown 11726754ba24f12a54b97b3ca1c5d29fc23c15980abeJeff Brown public void dumpDbInfo(FileDescriptor fd, String[] args) throws RemoteException { 11736754ba24f12a54b97b3ca1c5d29fc23c15980abeJeff Brown Parcel data = Parcel.obtain(); 11746754ba24f12a54b97b3ca1c5d29fc23c15980abeJeff Brown data.writeInterfaceToken(IApplicationThread.descriptor); 11756754ba24f12a54b97b3ca1c5d29fc23c15980abeJeff Brown data.writeFileDescriptor(fd); 11766754ba24f12a54b97b3ca1c5d29fc23c15980abeJeff Brown data.writeStringArray(args); 11776754ba24f12a54b97b3ca1c5d29fc23c15980abeJeff Brown mRemote.transact(DUMP_DB_INFO_TRANSACTION, data, null, IBinder.FLAG_ONEWAY); 11786754ba24f12a54b97b3ca1c5d29fc23c15980abeJeff Brown data.recycle(); 11796754ba24f12a54b97b3ca1c5d29fc23c15980abeJeff Brown } 11806ae8d1821822296df0606c9cd1c46708cc21cb58Dianne Hackborn 11816ae8d1821822296df0606c9cd1c46708cc21cb58Dianne Hackborn public void unstableProviderDied(IBinder provider) throws RemoteException { 11826ae8d1821822296df0606c9cd1c46708cc21cb58Dianne Hackborn Parcel data = Parcel.obtain(); 11836ae8d1821822296df0606c9cd1c46708cc21cb58Dianne Hackborn data.writeInterfaceToken(IApplicationThread.descriptor); 11846ae8d1821822296df0606c9cd1c46708cc21cb58Dianne Hackborn data.writeStrongBinder(provider); 11856ae8d1821822296df0606c9cd1c46708cc21cb58Dianne Hackborn mRemote.transact(UNSTABLE_PROVIDER_DIED_TRANSACTION, data, null, IBinder.FLAG_ONEWAY); 11866ae8d1821822296df0606c9cd1c46708cc21cb58Dianne Hackborn data.recycle(); 11876ae8d1821822296df0606c9cd1c46708cc21cb58Dianne Hackborn } 11889066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project} 1189