1 .class public final Lcom/android/server/am/ActivityManagerService;
2 .super Landroid/app/ActivityManagerNative;
3 .source "ActivityManagerService.java"
6 .implements Lcom/android/server/Watchdog$Monitor;
7 .implements Lcom/android/internal/os/BatteryStatsImpl$BatteryCallback;
11 .annotation system Ldalvik/annotation/MemberClasses;
13 Lcom/android/server/am/ActivityManagerService$MemItem;,
14 Lcom/android/server/am/ActivityManagerService$ItemMatcher;,
15 Lcom/android/server/am/ActivityManagerService$NeededUriGrants;,
16 Lcom/android/server/am/ActivityManagerService$PermissionController;,
17 Lcom/android/server/am/ActivityManagerService$CpuBinder;,
18 Lcom/android/server/am/ActivityManagerService$DbBinder;,
19 Lcom/android/server/am/ActivityManagerService$GraphicsBinder;,
20 Lcom/android/server/am/ActivityManagerService$MemBinder;,
21 Lcom/android/server/am/ActivityManagerService$AThread;,
22 Lcom/android/server/am/ActivityManagerService$AppDeathRecipient;,
23 Lcom/android/server/am/ActivityManagerService$ProcessChangeItem;,
24 Lcom/android/server/am/ActivityManagerService$Identity;,
25 Lcom/android/server/am/ActivityManagerService$ForegroundToken;,
26 Lcom/android/server/am/ActivityManagerService$PendingActivityLaunch;
32 .field static final APP_SWITCH_DELAY_TIME:J = 0x1388L
34 .field static final BATTERY_STATS_TIME:J = 0x1b7740L
36 .field static final BROADCAST_BG_TIMEOUT:I = 0xea60
38 .field static final BROADCAST_FG_TIMEOUT:I = 0x2710
40 .field static final CANCEL_HEAVY_NOTIFICATION_MSG:I = 0x19
42 .field static final CHECK_EXCESSIVE_WAKE_LOCKS_MSG:I = 0x1b
44 .field static final CLEAR_DNS_CACHE:I = 0x1c
46 .field static final CONTINUE_USER_SWITCH_MSG:I = 0x23
48 .field static final CPU_MIN_CHECK_DURATION:I = 0x493e0
50 .field static final DEBUG:Z = false
52 .field static final DEBUG_BACKGROUND_BROADCAST:Z = false
54 .field static final DEBUG_BACKUP:Z = false
56 .field static final DEBUG_BROADCAST:Z = false
58 .field static final DEBUG_BROADCAST_LIGHT:Z = false
60 .field static final DEBUG_CLEANUP:Z = false
62 .field static final DEBUG_CONFIGURATION:Z = false
64 .field static final DEBUG_MU:Z = false
66 .field static final DEBUG_OOM_ADJ:Z = false
68 .field static final DEBUG_PAUSE:Z = false
70 .field static final DEBUG_POWER:Z = false
72 .field static final DEBUG_POWER_QUICK:Z = false
74 .field static final DEBUG_PROCESSES:Z = false
76 .field static final DEBUG_PROCESS_OBSERVERS:Z = false
78 .field static final DEBUG_PROVIDER:Z = false
80 .field static final DEBUG_RESULTS:Z = false
82 .field static final DEBUG_SERVICE:Z = false
84 .field static final DEBUG_SERVICE_EXECUTING:Z = false
86 .field static final DEBUG_SWITCH:Z = false
88 .field static final DEBUG_TASKS:Z = false
90 .field static final DEBUG_THUMBNAILS:Z = false
92 .field static final DEBUG_TRANSITION:Z = false
94 .field static final DEBUG_URI_PERMISSION:Z = false
96 .field static final DEBUG_USER_LEAVING:Z = false
98 .field static final DEBUG_VISBILITY:Z = false
100 .field static final DISPATCH_PROCESSES_CHANGED:I = 0x1f
102 .field static final DISPATCH_PROCESS_DIED:I = 0x20
104 .field static final DO_PENDING_ACTIVITY_LAUNCHES_MSG:I = 0x15
106 .field static final DUMP_MEM_BUCKETS:[J = null
108 .field static final DUMP_MEM_OOM_ADJ:[I = null
110 .field static final DUMP_MEM_OOM_LABEL:[Ljava/lang/String; = null
112 .field static final EMPTY_STRING_ARRAY:[Ljava/lang/String; = null
114 .field static final FINALIZE_PENDING_INTENT_MSG:I = 0x17
116 .field static final FIRST_ACTIVITY_STACK_MSG:I = 0x64
118 .field static final FIRST_BROADCAST_QUEUE_MSG:I = 0xc8
120 .field static final FIRST_COMPAT_MODE_MSG:I = 0x12c
122 .field static final GC_BACKGROUND_PROCESSES_MSG:I = 0x5
124 .field static final GC_MIN_INTERVAL:I = 0xea60
126 .field static final GC_TIMEOUT:I = 0x1388
128 .field static final IM_FEELING_LUCKY_MSG:I = 0xf
130 .field static final INSTRUMENTATION_KEY_DISPATCHING_TIMEOUT:I = 0xea60
132 #the value of this static final field might be set in the static constructor
133 .field static final IS_USER_BUILD:Z = false
135 .field static final KEY_DISPATCHING_TIMEOUT:I = 0x1388
137 .field static final KILL_APPLICATION_MSG:I = 0x16
139 .field static final LAST_DONE_VERSION:I = 0x2710
141 .field private static final MAX_DUP_SUPPRESSED_STACKS:I = 0x1388
143 .field static final MAX_RECENT_TASKS:I = 0x14
145 .field static final MAX_RUNNING_USERS:I = 0x3
147 .field static final MONITOR_CPU_MAX_TIME:J = 0xfffffffL
149 .field static final MONITOR_CPU_MIN_TIME:J = 0x1388L
151 .field static final MONITOR_CPU_USAGE:Z = true
153 .field static final MONITOR_THREAD_CPU_USAGE:Z = false
155 #the value of this static final field might be set in the static constructor
156 .field static final MY_PID:I = 0x0
158 .field static final POST_HEAVY_NOTIFICATION_MSG:I = 0x18
160 .field static final POWER_CHECK_DELAY:I = 0xdbba0
162 .field static final PROC_START_TIMEOUT:I = 0x2710
164 .field static final PROC_START_TIMEOUT_MSG:I = 0x14
166 .field static final PROC_START_TIMEOUT_WITH_WRAPPER:I = 0x493e0
168 .field static final REPORT_MEM_USAGE:I = 0x21
170 .field static final REPORT_USER_SWITCH_MSG:I = 0x22
172 .field static final SERVICE_TIMEOUT_MSG:I = 0xc
174 .field static final SHOW_ACTIVITY_START_TIME:Z = true
176 .field static final SHOW_COMPAT_MODE_DIALOG_MSG:I = 0x1e
178 .field static final SHOW_ERROR_MSG:I = 0x1
180 .field static final SHOW_FACTORY_ERROR_MSG:I = 0x3
182 .field static final SHOW_NOT_RESPONDING_MSG:I = 0x2
184 .field static final SHOW_STRICT_MODE_VIOLATION_MSG:I = 0x1a
186 .field static final SHOW_UID_ERROR_MSG:I = 0xe
188 .field static final STOCK_PM_FLAGS:I = 0x400
190 .field private static final SYSTEM_DEBUGGABLE:Ljava/lang/String; = "ro.debuggable"
192 .field static final TAG:Ljava/lang/String; = "ActivityManager"
194 .field static final TAG_MU:Ljava/lang/String; = "ActivityManagerServiceMU"
196 .field static final UPDATE_CONFIGURATION_MSG:I = 0x4
198 .field static final UPDATE_HTTP_PROXY:I = 0x1d
200 .field static final UPDATE_TIME_ZONE:I = 0xd
202 .field private static final USER_DATA_DIR:Ljava/lang/String; = "/data/user/"
204 .field static final USER_SWITCH_TIMEOUT:I = 0x7d0
206 .field static final USER_SWITCH_TIMEOUT_MSG:I = 0x24
208 .field static final VALIDATE_TOKENS:Z = false
210 .field static final WAIT_FOR_DEBUGGER_MSG:I = 0x6
212 .field static final WAKE_LOCK_MIN_CHECK_DURATION:I = 0x493e0
214 .field static final localLOGV:Z
216 .field static mSelf:Lcom/android/server/am/ActivityManagerService;
218 .field static mSystemThread:Landroid/app/ActivityThread;
220 .field private static sCallerIdentity:Ljava/lang/ThreadLocal;
221 .annotation system Ldalvik/annotation/Signature;
223 "Ljava/lang/ThreadLocal",
225 "Lcom/android/server/am/ActivityManagerService$Identity;",
233 .field final GL_ES_VERSION:I
235 .field mActiveProcessChanges:[Lcom/android/server/am/ActivityManagerService$ProcessChangeItem;
239 .field private final mAlreadyLoggedViolatedStacks:Ljava/util/HashSet;
240 .annotation system Ldalvik/annotation/Signature;
242 "Ljava/util/HashSet",
244 "Ljava/lang/Integer;",
250 .field mAlwaysFinishActivities:Z
252 .field mAppBindArgs:Ljava/util/HashMap;
253 .annotation system Ldalvik/annotation/Signature;
255 "Ljava/util/HashMap",
257 "Ljava/lang/String;",
258 "Landroid/os/IBinder;",
264 .field mAppSwitchesAllowedTime:J
266 .field mAutoStopProfiler:Z
268 .field final mAvailProcessChanges:Ljava/util/ArrayList;
269 .annotation system Ldalvik/annotation/Signature;
271 "Ljava/util/ArrayList",
273 "Lcom/android/server/am/ActivityManagerService$ProcessChangeItem;",
279 .field mBackupAppName:Ljava/lang/String;
281 .field mBackupTarget:Lcom/android/server/am/BackupRecord;
283 .field final mBadProcesses:Lcom/android/server/ProcessMap;
284 .annotation system Ldalvik/annotation/Signature;
286 "Lcom/android/server/ProcessMap",
294 .field final mBatteryStatsService:Lcom/android/server/am/BatteryStatsService;
296 .field mBgBroadcastQueue:Lcom/android/server/am/BroadcastQueue;
302 .field final mBroadcastQueues:[Lcom/android/server/am/BroadcastQueue;
304 .field final mCancelledThumbnails:Ljava/util/ArrayList;
306 .field mCheckedForSetup:Z
308 .field mCompatModeDialog:Lcom/android/server/am/CompatModeDialog;
310 .field final mCompatModePackages:Lcom/android/server/am/CompatModePackages;
312 .field mConfiguration:Landroid/content/res/Configuration;
314 .field mConfigurationSeq:I
316 .field mContext:Landroid/content/Context;
318 .field mController:Landroid/app/IActivityController;
320 .field mCoreSettingsObserver:Lcom/android/server/am/CoreSettingsObserver;
324 .field mCurUserSwitchCallback:Ljava/lang/Object;
326 .field private mCurrentUserArray:[I
328 .field private mCurrentUserId:I
330 .field mDebugApp:Ljava/lang/String;
332 .field mDebugTransient:Z
334 .field mDidAppSwitch:Z
340 .field mFactoryTest:I
342 .field mFgBroadcastQueue:Lcom/android/server/am/BroadcastQueue;
344 .field mFocusedActivity:Lcom/android/server/am/ActivityRecord;
346 .field final mForegroundProcesses:Landroid/util/SparseArray;
347 .annotation system Ldalvik/annotation/Signature;
349 "Landroid/util/SparseArray",
351 "Lcom/android/server/am/ActivityManagerService$ForegroundToken;",
357 .field private final mGrantedUriPermissions:Landroid/util/SparseArray;
358 .annotation system Ldalvik/annotation/Signature;
360 "Landroid/util/SparseArray",
362 "Ljava/util/HashMap",
365 "Lcom/android/server/am/UriPermission;",
371 .field final mHandler:Landroid/os/Handler;
373 .field private final mHeadless:Z
375 .field mHeavyWeightProcess:Lcom/android/server/am/ProcessRecord;
377 .field mHomeProcess:Lcom/android/server/am/ProcessRecord;
379 .field final mIntentSenderRecords:Ljava/util/HashMap;
380 .annotation system Ldalvik/annotation/Signature;
382 "Ljava/util/HashMap",
384 "Lcom/android/server/am/PendingIntentRecord$Key;",
385 "Ljava/lang/ref/WeakReference",
387 "Lcom/android/server/am/PendingIntentRecord;",
393 .field final mIsolatedProcesses:Landroid/util/SparseArray;
394 .annotation system Ldalvik/annotation/Signature;
396 "Landroid/util/SparseArray",
398 "Lcom/android/server/am/ProcessRecord;",
404 .field final mLastCpuTime:Ljava/util/concurrent/atomic/AtomicLong;
406 .field mLastMemUsageReportTime:J
408 .field mLastPowerCheckRealtime:J
410 .field mLastPowerCheckUptime:J
412 .field mLastWriteTime:J
414 .field mLaunchWarningShown:Z
416 .field final mLaunchingProviders:Ljava/util/ArrayList;
417 .annotation system Ldalvik/annotation/Signature;
419 "Ljava/util/ArrayList",
421 "Lcom/android/server/am/ContentProviderRecord;",
427 .field mLockScreenShown:Z
429 .field final mLruProcesses:Ljava/util/ArrayList;
430 .annotation system Ldalvik/annotation/Signature;
432 "Ljava/util/ArrayList",
434 "Lcom/android/server/am/ProcessRecord;",
442 .field public mMainStack:Lcom/android/server/am/ActivityStack;
444 .field mNewNumServiceProcs:I
446 .field mNextIsolatedProcessUid:I
448 .field mNumHiddenProcs:I
450 .field mNumNonHiddenProcs:I
452 .field mNumServiceProcs:I
456 .field mOpenGlTraceApp:Ljava/lang/String;
458 .field mOrigDebugApp:Ljava/lang/String;
460 .field mOrigWaitForDebugger:Z
462 .field final mPendingActivityLaunches:Ljava/util/ArrayList;
463 .annotation system Ldalvik/annotation/Signature;
465 "Ljava/util/ArrayList",
467 "Lcom/android/server/am/ActivityManagerService$PendingActivityLaunch;",
473 .field final mPendingProcessChanges:Ljava/util/ArrayList;
474 .annotation system Ldalvik/annotation/Signature;
476 "Ljava/util/ArrayList",
478 "Lcom/android/server/am/ActivityManagerService$ProcessChangeItem;",
484 .field final mPendingResultRecords:Ljava/util/HashSet;
486 .field final mPendingThumbnails:Ljava/util/ArrayList;
488 .field final mPersistentStartingProcesses:Ljava/util/ArrayList;
489 .annotation system Ldalvik/annotation/Signature;
491 "Ljava/util/ArrayList",
493 "Lcom/android/server/am/ProcessRecord;",
499 .field final mPidsSelfLocked:Landroid/util/SparseArray;
500 .annotation system Ldalvik/annotation/Signature;
502 "Landroid/util/SparseArray",
504 "Lcom/android/server/am/ProcessRecord;",
510 .field mPreviousProcess:Lcom/android/server/am/ProcessRecord;
512 .field mPreviousProcessVisibleTime:J
514 .field mProcDeaths:[I
516 .field final mProcessCrashTimes:Lcom/android/server/ProcessMap;
517 .annotation system Ldalvik/annotation/Signature;
519 "Lcom/android/server/ProcessMap",
527 .field mProcessLimit:I
529 .field mProcessLimitOverride:I
531 .field final mProcessList:Lcom/android/server/am/ProcessList;
533 .field final mProcessNames:Lcom/android/server/ProcessMap;
534 .annotation system Ldalvik/annotation/Signature;
536 "Lcom/android/server/ProcessMap",
538 "Lcom/android/server/am/ProcessRecord;",
544 .field final mProcessObservers:Landroid/os/RemoteCallbackList;
545 .annotation system Ldalvik/annotation/Signature;
547 "Landroid/os/RemoteCallbackList",
549 "Landroid/app/IProcessObserver;",
555 .field final mProcessStats:Lcom/android/internal/os/ProcessStats;
557 .field final mProcessStatsMutexFree:Ljava/util/concurrent/atomic/AtomicBoolean;
559 .field final mProcessStatsThread:Ljava/lang/Thread;
561 .field final mProcessesOnHold:Ljava/util/ArrayList;
562 .annotation system Ldalvik/annotation/Signature;
564 "Ljava/util/ArrayList",
566 "Lcom/android/server/am/ProcessRecord;",
572 .field mProcessesReady:Z
574 .field final mProcessesToGc:Ljava/util/ArrayList;
575 .annotation system Ldalvik/annotation/Signature;
577 "Ljava/util/ArrayList",
579 "Lcom/android/server/am/ProcessRecord;",
585 .field mProfileApp:Ljava/lang/String;
587 .field mProfileFd:Landroid/os/ParcelFileDescriptor;
589 .field mProfileFile:Ljava/lang/String;
591 .field mProfileProc:Lcom/android/server/am/ProcessRecord;
593 .field mProfileType:I
595 .field final mProviderMap:Lcom/android/server/am/ProviderMap;
597 .field final mReceiverResolver:Lcom/android/server/IntentResolver;
598 .annotation system Ldalvik/annotation/Signature;
600 "Lcom/android/server/IntentResolver",
602 "Lcom/android/server/am/BroadcastFilter;",
603 "Lcom/android/server/am/BroadcastFilter;",
609 .field final mRecentTasks:Ljava/util/ArrayList;
610 .annotation system Ldalvik/annotation/Signature;
612 "Ljava/util/ArrayList",
614 "Lcom/android/server/am/TaskRecord;",
620 .field final mRegisteredReceivers:Ljava/util/HashMap;
622 .field final mRemovedProcesses:Ljava/util/ArrayList;
623 .annotation system Ldalvik/annotation/Signature;
625 "Ljava/util/ArrayList",
627 "Lcom/android/server/am/ProcessRecord;",
633 .field mRequestPssCallback:Ljava/lang/Runnable;
635 .field final mRequestPssList:Ljava/util/ArrayList;
636 .annotation system Ldalvik/annotation/Signature;
638 "Ljava/util/ArrayList",
640 "Lcom/android/server/am/ProcessRecord;",
646 .field final mServices:Lcom/android/server/am/ActiveServices;
648 .field private mShowDialogs:Z
650 .field mShuttingDown:Z
654 .field mStartRunning:Z
656 .field mStartedUserArray:[I
658 .field final mStartedUsers:Landroid/util/SparseArray;
659 .annotation system Ldalvik/annotation/Signature;
661 "Landroid/util/SparseArray",
663 "Lcom/android/server/am/UserStartedState;",
669 .field final mStickyBroadcasts:Landroid/util/SparseArray;
670 .annotation system Ldalvik/annotation/Signature;
672 "Landroid/util/SparseArray",
674 "Ljava/util/HashMap",
676 "Ljava/lang/String;",
677 "Ljava/util/ArrayList",
679 "Landroid/content/Intent;",
685 .field private final mStrictModeBuffer:Ljava/lang/StringBuilder;
687 .field final mStringBuilder:Ljava/lang/StringBuilder;
689 .field mSystemReady:Z
691 .field mTopAction:Ljava/lang/String;
693 .field mTopComponent:Landroid/content/ComponentName;
695 .field mTopData:Ljava/lang/String;
697 .field mUiContext:Landroid/content/Context;
699 .field mUidAlert:Landroid/app/AlertDialog;
701 .field final mUsageStatsService:Lcom/android/server/am/UsageStatsService;
703 .field final mUserLru:Ljava/util/ArrayList;
704 .annotation system Ldalvik/annotation/Signature;
706 "Ljava/util/ArrayList",
708 "Ljava/lang/Integer;",
714 .field private mUserManager:Lcom/android/server/pm/UserManagerService;
716 .field final mUserSwitchObservers:Landroid/os/RemoteCallbackList;
717 .annotation system Ldalvik/annotation/Signature;
719 "Landroid/os/RemoteCallbackList",
721 "Landroid/app/IUserSwitchObserver;",
727 .field mWaitForDebugger:Z
729 .field mWaitingUpdate:Z
731 .field mWentToSleep:Z
733 .field mWindowManager:Lcom/android/server/wm/WindowManagerService;
737 .method static constructor <clinit>()V
744 const-string v0, "user"
746 sget-object v1, Landroid/os/Build;->TYPE:Ljava/lang/String;
748 invoke-virtual {v0, v1}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
752 sput-boolean v0, Lcom/android/server/am/ActivityManagerService;->IS_USER_BUILD:Z
754 invoke-static {}, Landroid/os/Process;->myPid()I
758 sput v0, Lcom/android/server/am/ActivityManagerService;->MY_PID:I
760 new-array v0, v2, [Ljava/lang/String;
762 sput-object v0, Lcom/android/server/am/ActivityManagerService;->EMPTY_STRING_ARRAY:[Ljava/lang/String;
764 new-instance v0, Ljava/lang/ThreadLocal;
766 invoke-direct {v0}, Ljava/lang/ThreadLocal;-><init>()V
768 sput-object v0, Lcom/android/server/am/ActivityManagerService;->sCallerIdentity:Ljava/lang/ThreadLocal;
774 fill-array-data v0, :array_72
776 sput-object v0, Lcom/android/server/am/ActivityManagerService;->DUMP_MEM_BUCKETS:[J
780 fill-array-data v0, :array_d2
782 sput-object v0, Lcom/android/server/am/ActivityManagerService;->DUMP_MEM_OOM_ADJ:[I
784 new-array v0, v3, [Ljava/lang/String;
786 const-string v1, "System"
788 aput-object v1, v0, v2
792 const-string v2, "Persistent"
794 aput-object v2, v0, v1
798 const-string v2, "Foreground"
800 aput-object v2, v0, v1
804 const-string v2, "Visible"
806 aput-object v2, v0, v1
810 const-string v2, "Perceptible"
812 aput-object v2, v0, v1
816 const-string v2, "Heavy Weight"
818 aput-object v2, v0, v1
822 const-string v2, "Backup"
824 aput-object v2, v0, v1
828 const-string v2, "A Services"
830 aput-object v2, v0, v1
834 const-string v2, "Home"
836 aput-object v2, v0, v1
840 const-string v2, "Previous"
842 aput-object v2, v0, v1
846 const-string v2, "B Services"
848 aput-object v2, v0, v1
852 const-string v2, "Background"
854 aput-object v2, v0, v1
856 sput-object v0, Lcom/android/server/am/ActivityManagerService;->DUMP_MEM_OOM_LABEL:[Ljava/lang/String;
862 0x0t 0x14t 0x0t 0x0t 0x0t 0x0t 0x0t 0x0t
863 0x0t 0x1ct 0x0t 0x0t 0x0t 0x0t 0x0t 0x0t
864 0x0t 0x28t 0x0t 0x0t 0x0t 0x0t 0x0t 0x0t
865 0x0t 0x3ct 0x0t 0x0t 0x0t 0x0t 0x0t 0x0t
866 0x0t 0x50t 0x0t 0x0t 0x0t 0x0t 0x0t 0x0t
867 0x0t 0x78t 0x0t 0x0t 0x0t 0x0t 0x0t 0x0t
868 0x0t 0xa0t 0x0t 0x0t 0x0t 0x0t 0x0t 0x0t
869 0x0t 0x40t 0x1t 0x0t 0x0t 0x0t 0x0t 0x0t
870 0x0t 0xe0t 0x1t 0x0t 0x0t 0x0t 0x0t 0x0t
871 0x0t 0x80t 0x2t 0x0t 0x0t 0x0t 0x0t 0x0t
872 0x0t 0x20t 0x3t 0x0t 0x0t 0x0t 0x0t 0x0t
873 0x0t 0xe8t 0x3t 0x0t 0x0t 0x0t 0x0t 0x0t
874 0x0t 0xb0t 0x4t 0x0t 0x0t 0x0t 0x0t 0x0t
875 0x0t 0x78t 0x5t 0x0t 0x0t 0x0t 0x0t 0x0t
876 0x0t 0x40t 0x6t 0x0t 0x0t 0x0t 0x0t 0x0t
877 0x0t 0xd0t 0x7t 0x0t 0x0t 0x0t 0x0t 0x0t
878 0x0t 0x60t 0x9t 0x0t 0x0t 0x0t 0x0t 0x0t
879 0x0t 0x80t 0xct 0x0t 0x0t 0x0t 0x0t 0x0t
880 0x0t 0x0t 0x10t 0x0t 0x0t 0x0t 0x0t 0x0t
881 0x0t 0x0t 0x20t 0x0t 0x0t 0x0t 0x0t 0x0t
882 0x0t 0x0t 0x50t 0x0t 0x0t 0x0t 0x0t 0x0t
883 0x0t 0x0t 0xa0t 0x0t 0x0t 0x0t 0x0t 0x0t
884 0x0t 0x0t 0x40t 0x1t 0x0t 0x0t 0x0t 0x0t
889 0xf0t 0xfft 0xfft 0xfft
890 0xf4t 0xfft 0xfft 0xfft
904 .method private constructor <init>()V
907 const-wide/16 v8, 0x0
915 invoke-direct {p0}, Landroid/app/ActivityManagerNative;-><init>()V
917 iput-boolean v7, p0, Lcom/android/server/am/ActivityManagerService;->mShowDialogs:Z
919 new-instance v2, Ljava/util/ArrayList;
921 invoke-direct {v2}, Ljava/util/ArrayList;-><init>()V
923 iput-object v2, p0, Lcom/android/server/am/ActivityManagerService;->mPendingActivityLaunches:Ljava/util/ArrayList;
927 new-array v2, v2, [Lcom/android/server/am/BroadcastQueue;
929 iput-object v2, p0, Lcom/android/server/am/ActivityManagerService;->mBroadcastQueues:[Lcom/android/server/am/BroadcastQueue;
931 iput-object v4, p0, Lcom/android/server/am/ActivityManagerService;->mFocusedActivity:Lcom/android/server/am/ActivityRecord;
933 new-instance v2, Ljava/util/ArrayList;
935 invoke-direct {v2}, Ljava/util/ArrayList;-><init>()V
937 iput-object v2, p0, Lcom/android/server/am/ActivityManagerService;->mRecentTasks:Ljava/util/ArrayList;
939 new-instance v2, Lcom/android/server/am/ProcessList;
941 invoke-direct {v2}, Lcom/android/server/am/ProcessList;-><init>()V
943 iput-object v2, p0, Lcom/android/server/am/ActivityManagerService;->mProcessList:Lcom/android/server/am/ProcessList;
945 new-instance v2, Lcom/android/server/ProcessMap;
947 invoke-direct {v2}, Lcom/android/server/ProcessMap;-><init>()V
949 iput-object v2, p0, Lcom/android/server/am/ActivityManagerService;->mProcessNames:Lcom/android/server/ProcessMap;
951 new-instance v2, Landroid/util/SparseArray;
953 invoke-direct {v2}, Landroid/util/SparseArray;-><init>()V
955 iput-object v2, p0, Lcom/android/server/am/ActivityManagerService;->mIsolatedProcesses:Landroid/util/SparseArray;
957 iput v6, p0, Lcom/android/server/am/ActivityManagerService;->mNextIsolatedProcessUid:I
959 iput-object v4, p0, Lcom/android/server/am/ActivityManagerService;->mHeavyWeightProcess:Lcom/android/server/am/ProcessRecord;
961 new-instance v2, Lcom/android/server/ProcessMap;
963 invoke-direct {v2}, Lcom/android/server/ProcessMap;-><init>()V
965 iput-object v2, p0, Lcom/android/server/am/ActivityManagerService;->mProcessCrashTimes:Lcom/android/server/ProcessMap;
967 new-instance v2, Lcom/android/server/ProcessMap;
969 invoke-direct {v2}, Lcom/android/server/ProcessMap;-><init>()V
971 iput-object v2, p0, Lcom/android/server/am/ActivityManagerService;->mBadProcesses:Lcom/android/server/ProcessMap;
973 new-instance v2, Landroid/util/SparseArray;
975 invoke-direct {v2}, Landroid/util/SparseArray;-><init>()V
977 iput-object v2, p0, Lcom/android/server/am/ActivityManagerService;->mPidsSelfLocked:Landroid/util/SparseArray;
979 new-instance v2, Landroid/util/SparseArray;
981 invoke-direct {v2}, Landroid/util/SparseArray;-><init>()V
983 iput-object v2, p0, Lcom/android/server/am/ActivityManagerService;->mForegroundProcesses:Landroid/util/SparseArray;
985 new-instance v2, Ljava/util/ArrayList;
987 invoke-direct {v2}, Ljava/util/ArrayList;-><init>()V
989 iput-object v2, p0, Lcom/android/server/am/ActivityManagerService;->mProcessesOnHold:Ljava/util/ArrayList;
991 new-instance v2, Ljava/util/ArrayList;
993 invoke-direct {v2}, Ljava/util/ArrayList;-><init>()V
995 iput-object v2, p0, Lcom/android/server/am/ActivityManagerService;->mPersistentStartingProcesses:Ljava/util/ArrayList;
997 new-instance v2, Ljava/util/ArrayList;
999 invoke-direct {v2}, Ljava/util/ArrayList;-><init>()V
1001 iput-object v2, p0, Lcom/android/server/am/ActivityManagerService;->mRemovedProcesses:Ljava/util/ArrayList;
1003 new-instance v2, Ljava/util/ArrayList;
1005 invoke-direct {v2}, Ljava/util/ArrayList;-><init>()V
1007 iput-object v2, p0, Lcom/android/server/am/ActivityManagerService;->mLruProcesses:Ljava/util/ArrayList;
1009 new-instance v2, Ljava/util/ArrayList;
1011 invoke-direct {v2}, Ljava/util/ArrayList;-><init>()V
1013 iput-object v2, p0, Lcom/android/server/am/ActivityManagerService;->mProcessesToGc:Ljava/util/ArrayList;
1015 new-instance v2, Landroid/util/SparseArray;
1017 invoke-direct {v2}, Landroid/util/SparseArray;-><init>()V
1019 iput-object v2, p0, Lcom/android/server/am/ActivityManagerService;->mStartedUsers:Landroid/util/SparseArray;
1021 new-instance v2, Ljava/util/ArrayList;
1023 invoke-direct {v2}, Ljava/util/ArrayList;-><init>()V
1025 iput-object v2, p0, Lcom/android/server/am/ActivityManagerService;->mUserLru:Ljava/util/ArrayList;
1027 new-array v2, v7, [I
1031 iput-object v2, p0, Lcom/android/server/am/ActivityManagerService;->mStartedUserArray:[I
1033 new-instance v2, Landroid/os/RemoteCallbackList;
1035 invoke-direct {v2}, Landroid/os/RemoteCallbackList;-><init>()V
1037 iput-object v2, p0, Lcom/android/server/am/ActivityManagerService;->mUserSwitchObservers:Landroid/os/RemoteCallbackList;
1039 new-instance v2, Ljava/util/HashSet;
1041 invoke-direct {v2}, Ljava/util/HashSet;-><init>()V
1043 iput-object v2, p0, Lcom/android/server/am/ActivityManagerService;->mPendingResultRecords:Ljava/util/HashSet;
1045 new-instance v2, Ljava/util/HashMap;
1047 invoke-direct {v2}, Ljava/util/HashMap;-><init>()V
1049 iput-object v2, p0, Lcom/android/server/am/ActivityManagerService;->mIntentSenderRecords:Ljava/util/HashMap;
1051 new-instance v2, Ljava/util/HashSet;
1053 invoke-direct {v2}, Ljava/util/HashSet;-><init>()V
1055 iput-object v2, p0, Lcom/android/server/am/ActivityManagerService;->mAlreadyLoggedViolatedStacks:Ljava/util/HashSet;
1057 new-instance v2, Ljava/lang/StringBuilder;
1059 invoke-direct {v2}, Ljava/lang/StringBuilder;-><init>()V
1061 iput-object v2, p0, Lcom/android/server/am/ActivityManagerService;->mStrictModeBuffer:Ljava/lang/StringBuilder;
1063 new-instance v2, Ljava/util/HashMap;
1065 invoke-direct {v2}, Ljava/util/HashMap;-><init>()V
1067 iput-object v2, p0, Lcom/android/server/am/ActivityManagerService;->mRegisteredReceivers:Ljava/util/HashMap;
1069 new-instance v2, Lcom/android/server/am/ActivityManagerService$1;
1071 invoke-direct {v2, p0}, Lcom/android/server/am/ActivityManagerService$1;-><init>(Lcom/android/server/am/ActivityManagerService;)V
1073 iput-object v2, p0, Lcom/android/server/am/ActivityManagerService;->mReceiverResolver:Lcom/android/server/IntentResolver;
1075 new-instance v2, Landroid/util/SparseArray;
1077 invoke-direct {v2}, Landroid/util/SparseArray;-><init>()V
1079 iput-object v2, p0, Lcom/android/server/am/ActivityManagerService;->mStickyBroadcasts:Landroid/util/SparseArray;
1081 iput-object v4, p0, Lcom/android/server/am/ActivityManagerService;->mBackupAppName:Ljava/lang/String;
1083 iput-object v4, p0, Lcom/android/server/am/ActivityManagerService;->mBackupTarget:Lcom/android/server/am/BackupRecord;
1085 new-instance v2, Ljava/util/ArrayList;
1087 invoke-direct {v2}, Ljava/util/ArrayList;-><init>()V
1089 iput-object v2, p0, Lcom/android/server/am/ActivityManagerService;->mPendingThumbnails:Ljava/util/ArrayList;
1091 new-instance v2, Ljava/util/ArrayList;
1093 invoke-direct {v2}, Ljava/util/ArrayList;-><init>()V
1095 iput-object v2, p0, Lcom/android/server/am/ActivityManagerService;->mCancelledThumbnails:Ljava/util/ArrayList;
1097 new-instance v2, Ljava/util/ArrayList;
1099 invoke-direct {v2}, Ljava/util/ArrayList;-><init>()V
1101 iput-object v2, p0, Lcom/android/server/am/ActivityManagerService;->mLaunchingProviders:Ljava/util/ArrayList;
1103 new-instance v2, Landroid/util/SparseArray;
1105 invoke-direct {v2}, Landroid/util/SparseArray;-><init>()V
1107 iput-object v2, p0, Lcom/android/server/am/ActivityManagerService;->mGrantedUriPermissions:Landroid/util/SparseArray;
1109 new-instance v2, Landroid/content/res/Configuration;
1111 invoke-direct {v2}, Landroid/content/res/Configuration;-><init>()V
1113 iput-object v2, p0, Lcom/android/server/am/ActivityManagerService;->mConfiguration:Landroid/content/res/Configuration;
1115 iput v6, p0, Lcom/android/server/am/ActivityManagerService;->mConfigurationSeq:I
1117 new-instance v2, Ljava/lang/StringBuilder;
1121 invoke-direct {v2, v3}, Ljava/lang/StringBuilder;-><init>(I)V
1123 iput-object v2, p0, Lcom/android/server/am/ActivityManagerService;->mStringBuilder:Ljava/lang/StringBuilder;
1125 iput-boolean v6, p0, Lcom/android/server/am/ActivityManagerService;->mStartRunning:Z
1127 iput-boolean v6, p0, Lcom/android/server/am/ActivityManagerService;->mProcessesReady:Z
1129 iput-boolean v6, p0, Lcom/android/server/am/ActivityManagerService;->mSystemReady:Z
1131 iput-boolean v6, p0, Lcom/android/server/am/ActivityManagerService;->mBooting:Z
1133 iput-boolean v6, p0, Lcom/android/server/am/ActivityManagerService;->mWaitingUpdate:Z
1135 iput-boolean v6, p0, Lcom/android/server/am/ActivityManagerService;->mDidUpdate:Z
1137 iput-boolean v6, p0, Lcom/android/server/am/ActivityManagerService;->mOnBattery:Z
1139 iput-boolean v6, p0, Lcom/android/server/am/ActivityManagerService;->mLaunchWarningShown:Z
1141 iput-boolean v6, p0, Lcom/android/server/am/ActivityManagerService;->mSleeping:Z
1143 iput-boolean v6, p0, Lcom/android/server/am/ActivityManagerService;->mWentToSleep:Z
1145 iput-boolean v6, p0, Lcom/android/server/am/ActivityManagerService;->mLockScreenShown:Z
1147 iput-boolean v6, p0, Lcom/android/server/am/ActivityManagerService;->mShuttingDown:Z
1149 iput v7, p0, Lcom/android/server/am/ActivityManagerService;->mCurTask:I
1151 iput v6, p0, Lcom/android/server/am/ActivityManagerService;->mAdjSeq:I
1153 iput v6, p0, Lcom/android/server/am/ActivityManagerService;->mLruSeq:I
1155 iput v6, p0, Lcom/android/server/am/ActivityManagerService;->mNumNonHiddenProcs:I
1157 iput v6, p0, Lcom/android/server/am/ActivityManagerService;->mNumHiddenProcs:I
1159 iput v6, p0, Lcom/android/server/am/ActivityManagerService;->mNumServiceProcs:I
1161 iput v6, p0, Lcom/android/server/am/ActivityManagerService;->mNewNumServiceProcs:I
1165 new-array v2, v2, [I
1167 iput-object v2, p0, Lcom/android/server/am/ActivityManagerService;->mProcDeaths:[I
1169 iput-object v4, p0, Lcom/android/server/am/ActivityManagerService;->mDebugApp:Ljava/lang/String;
1171 iput-boolean v6, p0, Lcom/android/server/am/ActivityManagerService;->mWaitForDebugger:Z
1173 iput-boolean v6, p0, Lcom/android/server/am/ActivityManagerService;->mDebugTransient:Z
1175 iput-object v4, p0, Lcom/android/server/am/ActivityManagerService;->mOrigDebugApp:Ljava/lang/String;
1177 iput-boolean v6, p0, Lcom/android/server/am/ActivityManagerService;->mOrigWaitForDebugger:Z
1179 iput-boolean v6, p0, Lcom/android/server/am/ActivityManagerService;->mAlwaysFinishActivities:Z
1181 iput-object v4, p0, Lcom/android/server/am/ActivityManagerService;->mController:Landroid/app/IActivityController;
1183 iput-object v4, p0, Lcom/android/server/am/ActivityManagerService;->mProfileApp:Ljava/lang/String;
1185 iput-object v4, p0, Lcom/android/server/am/ActivityManagerService;->mProfileProc:Lcom/android/server/am/ProcessRecord;
1187 iput v6, p0, Lcom/android/server/am/ActivityManagerService;->mProfileType:I
1189 iput-boolean v6, p0, Lcom/android/server/am/ActivityManagerService;->mAutoStopProfiler:Z
1191 iput-object v4, p0, Lcom/android/server/am/ActivityManagerService;->mOpenGlTraceApp:Ljava/lang/String;
1193 new-instance v2, Landroid/os/RemoteCallbackList;
1195 invoke-direct {v2}, Landroid/os/RemoteCallbackList;-><init>()V
1197 iput-object v2, p0, Lcom/android/server/am/ActivityManagerService;->mProcessObservers:Landroid/os/RemoteCallbackList;
1201 new-array v2, v2, [Lcom/android/server/am/ActivityManagerService$ProcessChangeItem;
1203 iput-object v2, p0, Lcom/android/server/am/ActivityManagerService;->mActiveProcessChanges:[Lcom/android/server/am/ActivityManagerService$ProcessChangeItem;
1205 new-instance v2, Ljava/util/ArrayList;
1207 invoke-direct {v2}, Ljava/util/ArrayList;-><init>()V
1209 iput-object v2, p0, Lcom/android/server/am/ActivityManagerService;->mPendingProcessChanges:Ljava/util/ArrayList;
1211 new-instance v2, Ljava/util/ArrayList;
1213 invoke-direct {v2}, Ljava/util/ArrayList;-><init>()V
1215 iput-object v2, p0, Lcom/android/server/am/ActivityManagerService;->mAvailProcessChanges:Ljava/util/ArrayList;
1217 new-instance v2, Ljava/util/ArrayList;
1219 invoke-direct {v2}, Ljava/util/ArrayList;-><init>()V
1221 iput-object v2, p0, Lcom/android/server/am/ActivityManagerService;->mRequestPssList:Ljava/util/ArrayList;
1223 new-instance v2, Lcom/android/internal/os/ProcessStats;
1225 invoke-direct {v2, v6}, Lcom/android/internal/os/ProcessStats;-><init>(Z)V
1227 iput-object v2, p0, Lcom/android/server/am/ActivityManagerService;->mProcessStats:Lcom/android/internal/os/ProcessStats;
1229 new-instance v2, Ljava/util/concurrent/atomic/AtomicLong;
1231 invoke-direct {v2, v8, v9}, Ljava/util/concurrent/atomic/AtomicLong;-><init>(J)V
1233 iput-object v2, p0, Lcom/android/server/am/ActivityManagerService;->mLastCpuTime:Ljava/util/concurrent/atomic/AtomicLong;
1235 new-instance v2, Ljava/util/concurrent/atomic/AtomicBoolean;
1237 invoke-direct {v2, v7}, Ljava/util/concurrent/atomic/AtomicBoolean;-><init>(Z)V
1239 iput-object v2, p0, Lcom/android/server/am/ActivityManagerService;->mProcessStatsMutexFree:Ljava/util/concurrent/atomic/AtomicBoolean;
1241 iput-wide v8, p0, Lcom/android/server/am/ActivityManagerService;->mLastWriteTime:J
1243 iput-boolean v6, p0, Lcom/android/server/am/ActivityManagerService;->mBooted:Z
1247 iput v2, p0, Lcom/android/server/am/ActivityManagerService;->mProcessLimit:I
1251 iput v2, p0, Lcom/android/server/am/ActivityManagerService;->mProcessLimitOverride:I
1253 iput v6, p0, Lcom/android/server/am/ActivityManagerService;->mCurrentUserId:I
1255 new-array v2, v7, [I
1259 iput-object v2, p0, Lcom/android/server/am/ActivityManagerService;->mCurrentUserArray:[I
1261 iput-wide v8, p0, Lcom/android/server/am/ActivityManagerService;->mLastMemUsageReportTime:J
1263 new-instance v2, Lcom/android/server/am/ActivityManagerService$2;
1265 invoke-direct {v2, p0}, Lcom/android/server/am/ActivityManagerService$2;-><init>(Lcom/android/server/am/ActivityManagerService;)V
1267 iput-object v2, p0, Lcom/android/server/am/ActivityManagerService;->mHandler:Landroid/os/Handler;
1269 const-string v2, "ActivityManager"
1271 new-instance v3, Ljava/lang/StringBuilder;
1273 invoke-direct {v3}, Ljava/lang/StringBuilder;-><init>()V
1275 const-string v4, "Memory class: "
1277 invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
1279 move-result-object v3
1281 invoke-static {}, Landroid/app/ActivityManager;->staticGetMemoryClass()I
1285 invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
1287 move-result-object v3
1289 invoke-virtual {v3}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
1291 move-result-object v3
1293 invoke-static {v2, v3}, Landroid/util/Slog;->i(Ljava/lang/String;Ljava/lang/String;)I
1295 new-instance v2, Lcom/android/server/am/BroadcastQueue;
1297 const-string v3, "foreground"
1299 const-wide/16 v4, 0x2710
1301 invoke-direct {v2, p0, v3, v4, v5}, Lcom/android/server/am/BroadcastQueue;-><init>(Lcom/android/server/am/ActivityManagerService;Ljava/lang/String;J)V
1303 iput-object v2, p0, Lcom/android/server/am/ActivityManagerService;->mFgBroadcastQueue:Lcom/android/server/am/BroadcastQueue;
1305 new-instance v2, Lcom/android/server/am/BroadcastQueue;
1307 const-string v3, "background"
1309 const-wide/32 v4, 0xea60
1311 invoke-direct {v2, p0, v3, v4, v5}, Lcom/android/server/am/BroadcastQueue;-><init>(Lcom/android/server/am/ActivityManagerService;Ljava/lang/String;J)V
1313 iput-object v2, p0, Lcom/android/server/am/ActivityManagerService;->mBgBroadcastQueue:Lcom/android/server/am/BroadcastQueue;
1315 iget-object v2, p0, Lcom/android/server/am/ActivityManagerService;->mBroadcastQueues:[Lcom/android/server/am/BroadcastQueue;
1317 iget-object v3, p0, Lcom/android/server/am/ActivityManagerService;->mFgBroadcastQueue:Lcom/android/server/am/BroadcastQueue;
1319 aput-object v3, v2, v6
1321 iget-object v2, p0, Lcom/android/server/am/ActivityManagerService;->mBroadcastQueues:[Lcom/android/server/am/BroadcastQueue;
1323 iget-object v3, p0, Lcom/android/server/am/ActivityManagerService;->mBgBroadcastQueue:Lcom/android/server/am/BroadcastQueue;
1325 aput-object v3, v2, v7
1327 new-instance v2, Lcom/android/server/am/ActiveServices;
1329 invoke-direct {v2, p0}, Lcom/android/server/am/ActiveServices;-><init>(Lcom/android/server/am/ActivityManagerService;)V
1331 iput-object v2, p0, Lcom/android/server/am/ActivityManagerService;->mServices:Lcom/android/server/am/ActiveServices;
1333 new-instance v2, Lcom/android/server/am/ProviderMap;
1335 invoke-direct {v2, p0}, Lcom/android/server/am/ProviderMap;-><init>(Lcom/android/server/am/ActivityManagerService;)V
1337 iput-object v2, p0, Lcom/android/server/am/ActivityManagerService;->mProviderMap:Lcom/android/server/am/ProviderMap;
1339 invoke-static {}, Landroid/os/Environment;->getDataDirectory()Ljava/io/File;
1341 move-result-object v0
1343 new-instance v1, Ljava/io/File;
1345 const-string v2, "system"
1347 invoke-direct {v1, v0, v2}, Ljava/io/File;-><init>(Ljava/io/File;Ljava/lang/String;)V
1349 invoke-virtual {v1}, Ljava/io/File;->mkdirs()Z
1351 new-instance v2, Lcom/android/server/am/BatteryStatsService;
1353 new-instance v3, Ljava/io/File;
1355 const-string v4, "batterystats.bin"
1357 invoke-direct {v3, v1, v4}, Ljava/io/File;-><init>(Ljava/io/File;Ljava/lang/String;)V
1359 invoke-virtual {v3}, Ljava/io/File;->toString()Ljava/lang/String;
1361 move-result-object v3
1363 invoke-direct {v2, v3}, Lcom/android/server/am/BatteryStatsService;-><init>(Ljava/lang/String;)V
1365 iput-object v2, p0, Lcom/android/server/am/ActivityManagerService;->mBatteryStatsService:Lcom/android/server/am/BatteryStatsService;
1367 iget-object v2, p0, Lcom/android/server/am/ActivityManagerService;->mBatteryStatsService:Lcom/android/server/am/BatteryStatsService;
1369 invoke-virtual {v2}, Lcom/android/server/am/BatteryStatsService;->getActiveStatistics()Lcom/android/internal/os/BatteryStatsImpl;
1371 move-result-object v2
1373 invoke-virtual {v2}, Lcom/android/internal/os/BatteryStatsImpl;->readLocked()V
1375 iget-object v2, p0, Lcom/android/server/am/ActivityManagerService;->mBatteryStatsService:Lcom/android/server/am/BatteryStatsService;
1377 invoke-virtual {v2}, Lcom/android/server/am/BatteryStatsService;->getActiveStatistics()Lcom/android/internal/os/BatteryStatsImpl;
1379 move-result-object v2
1381 invoke-virtual {v2}, Lcom/android/internal/os/BatteryStatsImpl;->writeAsyncLocked()V
1383 iget-object v2, p0, Lcom/android/server/am/ActivityManagerService;->mBatteryStatsService:Lcom/android/server/am/BatteryStatsService;
1385 invoke-virtual {v2}, Lcom/android/server/am/BatteryStatsService;->getActiveStatistics()Lcom/android/internal/os/BatteryStatsImpl;
1387 move-result-object v2
1389 invoke-virtual {v2}, Lcom/android/internal/os/BatteryStatsImpl;->getIsOnBattery()Z
1393 iput-boolean v2, p0, Lcom/android/server/am/ActivityManagerService;->mOnBattery:Z
1395 iget-object v2, p0, Lcom/android/server/am/ActivityManagerService;->mBatteryStatsService:Lcom/android/server/am/BatteryStatsService;
1397 invoke-virtual {v2}, Lcom/android/server/am/BatteryStatsService;->getActiveStatistics()Lcom/android/internal/os/BatteryStatsImpl;
1399 move-result-object v2
1401 invoke-virtual {v2, p0}, Lcom/android/internal/os/BatteryStatsImpl;->setCallback(Lcom/android/internal/os/BatteryStatsImpl$BatteryCallback;)V
1403 new-instance v2, Lcom/android/server/am/UsageStatsService;
1405 new-instance v3, Ljava/io/File;
1407 const-string v4, "usagestats"
1409 invoke-direct {v3, v1, v4}, Ljava/io/File;-><init>(Ljava/io/File;Ljava/lang/String;)V
1411 invoke-virtual {v3}, Ljava/io/File;->toString()Ljava/lang/String;
1413 move-result-object v3
1415 invoke-direct {v2, v3}, Lcom/android/server/am/UsageStatsService;-><init>(Ljava/lang/String;)V
1417 iput-object v2, p0, Lcom/android/server/am/ActivityManagerService;->mUsageStatsService:Lcom/android/server/am/UsageStatsService;
1419 const-string v2, "1"
1421 const-string v3, "ro.config.headless"
1423 const-string v4, "0"
1425 invoke-static {v3, v4}, Landroid/os/SystemProperties;->get(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
1427 move-result-object v3
1429 invoke-virtual {v2, v3}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
1433 iput-boolean v2, p0, Lcom/android/server/am/ActivityManagerService;->mHeadless:Z
1435 iget-object v2, p0, Lcom/android/server/am/ActivityManagerService;->mStartedUsers:Landroid/util/SparseArray;
1437 new-instance v3, Lcom/android/server/am/UserStartedState;
1439 new-instance v4, Landroid/os/UserHandle;
1441 invoke-direct {v4, v6}, Landroid/os/UserHandle;-><init>(I)V
1443 invoke-direct {v3, v4, v7}, Lcom/android/server/am/UserStartedState;-><init>(Landroid/os/UserHandle;Z)V
1445 invoke-virtual {v2, v6, v3}, Landroid/util/SparseArray;->put(ILjava/lang/Object;)V
1447 iget-object v2, p0, Lcom/android/server/am/ActivityManagerService;->mUserLru:Ljava/util/ArrayList;
1449 invoke-static {v6}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
1451 move-result-object v3
1453 invoke-virtual {v2, v3}, Ljava/util/ArrayList;->add(Ljava/lang/Object;)Z
1455 invoke-direct {p0}, Lcom/android/server/am/ActivityManagerService;->updateStartedUserArrayLocked()V
1457 const-string v2, "ro.opengles.version"
1459 invoke-static {v2, v6}, Landroid/os/SystemProperties;->getInt(Ljava/lang/String;I)I
1463 iput v2, p0, Lcom/android/server/am/ActivityManagerService;->GL_ES_VERSION:I
1465 iget-object v2, p0, Lcom/android/server/am/ActivityManagerService;->mConfiguration:Landroid/content/res/Configuration;
1467 invoke-virtual {v2}, Landroid/content/res/Configuration;->setToDefaults()V
1469 iget-object v2, p0, Lcom/android/server/am/ActivityManagerService;->mConfiguration:Landroid/content/res/Configuration;
1471 invoke-static {}, Ljava/util/Locale;->getDefault()Ljava/util/Locale;
1473 move-result-object v3
1475 invoke-virtual {v2, v3}, Landroid/content/res/Configuration;->setLocale(Ljava/util/Locale;)V
1477 iget-object v2, p0, Lcom/android/server/am/ActivityManagerService;->mConfiguration:Landroid/content/res/Configuration;
1479 iput v7, v2, Landroid/content/res/Configuration;->seq:I
1481 iput v7, p0, Lcom/android/server/am/ActivityManagerService;->mConfigurationSeq:I
1483 iget-object v2, p0, Lcom/android/server/am/ActivityManagerService;->mProcessStats:Lcom/android/internal/os/ProcessStats;
1485 invoke-virtual {v2}, Lcom/android/internal/os/ProcessStats;->init()V
1487 new-instance v2, Lcom/android/server/am/CompatModePackages;
1489 invoke-direct {v2, p0, v1}, Lcom/android/server/am/CompatModePackages;-><init>(Lcom/android/server/am/ActivityManagerService;Ljava/io/File;)V
1491 iput-object v2, p0, Lcom/android/server/am/ActivityManagerService;->mCompatModePackages:Lcom/android/server/am/CompatModePackages;
1493 invoke-static {}, Lcom/android/server/Watchdog;->getInstance()Lcom/android/server/Watchdog;
1495 move-result-object v2
1497 invoke-virtual {v2, p0}, Lcom/android/server/Watchdog;->addMonitor(Lcom/android/server/Watchdog$Monitor;)V
1499 new-instance v2, Lcom/android/server/am/ActivityManagerService$3;
1501 const-string v3, "ProcessStats"
1503 invoke-direct {v2, p0, v3}, Lcom/android/server/am/ActivityManagerService$3;-><init>(Lcom/android/server/am/ActivityManagerService;Ljava/lang/String;)V
1505 iput-object v2, p0, Lcom/android/server/am/ActivityManagerService;->mProcessStatsThread:Ljava/lang/Thread;
1507 iget-object v2, p0, Lcom/android/server/am/ActivityManagerService;->mProcessStatsThread:Ljava/lang/Thread;
1509 invoke-virtual {v2}, Ljava/lang/Thread;->start()V
1514 .method synthetic constructor <init>(Lcom/android/server/am/ActivityManagerService$1;)V
1517 invoke-direct {p0}, Lcom/android/server/am/ActivityManagerService;-><init>()V
1522 .method static synthetic access$000(Lcom/android/server/am/ActivityManagerService;)I
1525 iget v0, p0, Lcom/android/server/am/ActivityManagerService;->mCurrentUserId:I
1530 .method static synthetic access$100(Lcom/android/server/am/ActivityManagerService;)Z
1533 iget-boolean v0, p0, Lcom/android/server/am/ActivityManagerService;->mShowDialogs:Z
1538 .method static synthetic access$1000(Lcom/android/server/am/ActivityManagerService;)Ljava/lang/StringBuilder;
1541 iget-object v0, p0, Lcom/android/server/am/ActivityManagerService;->mStrictModeBuffer:Ljava/lang/StringBuilder;
1546 .method static synthetic access$200(Lcom/android/server/am/ActivityManagerService;)Landroid/content/Context;
1549 invoke-direct {p0}, Lcom/android/server/am/ActivityManagerService;->getUiContext()Landroid/content/Context;
1551 move-result-object v0
1556 .method static synthetic access$300(Lcom/android/server/am/ActivityManagerService;Lcom/android/server/am/ProcessRecord;Ljava/lang/String;Landroid/content/Intent;Ljava/lang/String;Landroid/content/IIntentReceiver;ILjava/lang/String;Landroid/os/Bundle;Ljava/lang/String;ZZIII)I
1559 invoke-direct/range {p0 .. p14}, Lcom/android/server/am/ActivityManagerService;->broadcastIntentLocked(Lcom/android/server/am/ProcessRecord;Ljava/lang/String;Landroid/content/Intent;Ljava/lang/String;Landroid/content/IIntentReceiver;ILjava/lang/String;Landroid/os/Bundle;Ljava/lang/String;ZZIII)I
1566 .method static synthetic access$400(Lcom/android/server/am/ActivityManagerService;Lcom/android/server/am/ProcessRecord;)V
1569 invoke-direct {p0, p1}, Lcom/android/server/am/ActivityManagerService;->processStartTimedOutLocked(Lcom/android/server/am/ProcessRecord;)V
1574 .method static synthetic access$500(Lcom/android/server/am/ActivityManagerService;Ljava/lang/String;IZZZZI)Z
1577 invoke-direct/range {p0 .. p7}, Lcom/android/server/am/ActivityManagerService;->forceStopPackageLocked(Ljava/lang/String;IZZZZI)Z
1584 .method static synthetic access$600(Lcom/android/server/am/ActivityManagerService;)V
1587 invoke-direct {p0}, Lcom/android/server/am/ActivityManagerService;->dispatchProcessesChanged()V
1592 .method static synthetic access$700(Lcom/android/server/am/ActivityManagerService;II)V
1595 invoke-direct {p0, p1, p2}, Lcom/android/server/am/ActivityManagerService;->dispatchProcessDied(II)V
1600 .method static synthetic access$900(Ljava/util/ArrayList;)V
1603 invoke-static {p0}, Lcom/android/server/am/ActivityManagerService;->writeLastDonePreBootReceivers(Ljava/util/ArrayList;)V
1608 .method private appendDropBoxProcessHeaders(Lcom/android/server/am/ProcessRecord;Ljava/lang/String;Ljava/lang/StringBuilder;)V
1613 const-string v6, "Process: "
1615 invoke-virtual {p3, v6}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
1617 move-result-object v6
1619 invoke-virtual {v6, p2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
1621 move-result-object v6
1623 const-string v7, "\n"
1625 invoke-virtual {v6, v7}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
1634 const-string v6, "Process: "
1636 invoke-virtual {p3, v6}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
1638 move-result-object v6
1640 invoke-virtual {v6, p2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
1642 move-result-object v6
1644 const-string v7, "\n"
1646 invoke-virtual {v6, v7}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
1648 iget-object v6, p1, Lcom/android/server/am/ProcessRecord;->info:Landroid/content/pm/ApplicationInfo;
1650 iget v1, v6, Landroid/content/pm/ApplicationInfo;->flags:I
1652 invoke-static {}, Landroid/app/AppGlobals;->getPackageManager()Landroid/content/pm/IPackageManager;
1654 move-result-object v5
1656 const-string v6, "Flags: 0x"
1658 invoke-virtual {p3, v6}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
1660 move-result-object v6
1664 invoke-static {v1, v7}, Ljava/lang/Integer;->toString(II)Ljava/lang/String;
1666 move-result-object v7
1668 invoke-virtual {v6, v7}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
1670 move-result-object v6
1672 const-string v7, "\n"
1674 invoke-virtual {v6, v7}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
1676 iget-object v6, p1, Lcom/android/server/am/ProcessRecord;->pkgList:Ljava/util/HashSet;
1678 invoke-virtual {v6}, Ljava/util/HashSet;->iterator()Ljava/util/Iterator;
1680 move-result-object v2
1683 invoke-interface {v2}, Ljava/util/Iterator;->hasNext()Z
1689 invoke-interface {v2}, Ljava/util/Iterator;->next()Ljava/lang/Object;
1691 move-result-object v4
1693 check-cast v4, Ljava/lang/String;
1695 const-string v6, "Package: "
1697 invoke-virtual {p3, v6}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
1699 move-result-object v6
1701 invoke-virtual {v6, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
1703 .catchall {:try_start_13 .. :try_end_5a} :catchall_8b
1708 invoke-static {}, Landroid/os/UserHandle;->getCallingUserId()I
1712 invoke-interface {v5, v4, v6, v7}, Landroid/content/pm/IPackageManager;->getPackageInfo(Ljava/lang/String;II)Landroid/content/pm/PackageInfo;
1714 move-result-object v3
1718 const-string v6, " v"
1720 invoke-virtual {p3, v6}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
1722 move-result-object v6
1724 iget v7, v3, Landroid/content/pm/PackageInfo;->versionCode:I
1726 invoke-virtual {v6, v7}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
1728 iget-object v6, v3, Landroid/content/pm/PackageInfo;->versionName:Ljava/lang/String;
1732 const-string v6, " ("
1734 invoke-virtual {p3, v6}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
1736 move-result-object v6
1738 iget-object v7, v3, Landroid/content/pm/PackageInfo;->versionName:Ljava/lang/String;
1740 invoke-virtual {v6, v7}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
1742 move-result-object v6
1744 const-string v7, ")"
1746 invoke-virtual {v6, v7}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
1748 .catchall {:try_start_5b .. :try_end_85} :catchall_8b
1749 .catch Landroid/os/RemoteException; {:try_start_5b .. :try_end_85} :catch_8e
1754 const-string v6, "\n"
1756 invoke-virtual {p3, v6}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
1765 .catchall {:try_start_85 .. :try_end_8d} :catchall_8b
1773 const-string v6, "ActivityManager"
1775 new-instance v7, Ljava/lang/StringBuilder;
1777 invoke-direct {v7}, Ljava/lang/StringBuilder;-><init>()V
1779 const-string v8, "Error getting package info: "
1781 invoke-virtual {v7, v8}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
1783 move-result-object v7
1785 invoke-virtual {v7, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
1787 move-result-object v7
1789 invoke-virtual {v7}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
1791 move-result-object v7
1793 invoke-static {v6, v7, v0}, Landroid/util/Slog;->e(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I
1800 .catchall {:try_start_8f .. :try_end_a9} :catchall_8b
1805 .method static final appendMemBucket(Ljava/lang/StringBuilder;JLjava/lang/String;Z)V
1808 const-wide/16 v7, 0x400
1812 invoke-virtual {p3, v5}, Ljava/lang/String;->lastIndexOf(I)I
1818 add-int/lit8 v4, v4, 0x1
1821 invoke-virtual {p3}, Ljava/lang/String;->length()I
1828 sget-object v5, Lcom/android/server/am/ActivityManagerService;->DUMP_MEM_BUCKETS:[J
1832 if-ge v3, v5, :cond_3a
1834 sget-object v5, Lcom/android/server/am/ActivityManagerService;->DUMP_MEM_BUCKETS:[J
1836 aget-wide v5, v5, v3
1842 sget-object v5, Lcom/android/server/am/ActivityManagerService;->DUMP_MEM_BUCKETS:[J
1844 aget-wide v5, v5, v3
1848 invoke-virtual {p0, v0, v1}, Ljava/lang/StringBuilder;->append(J)Ljava/lang/StringBuilder;
1852 const-string v5, "MB."
1855 invoke-virtual {p0, v5}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
1857 invoke-virtual {p0, p3, v4, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/CharSequence;II)Ljava/lang/StringBuilder;
1868 const-string v5, "MB "
1873 add-int/lit8 v3, v3, 0x1
1880 invoke-virtual {p0, v5, v6}, Ljava/lang/StringBuilder;->append(J)Ljava/lang/StringBuilder;
1884 const-string v5, "MB."
1887 invoke-virtual {p0, v5}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
1889 invoke-virtual {p0, p3, v4, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/CharSequence;II)Ljava/lang/StringBuilder;
1894 const-string v5, "MB "
1899 .method private applyUserId(II)I
1902 invoke-static {p2, p1}, Landroid/os/UserHandle;->getUid(II)I
1909 .method private final attachApplicationLocked(Landroid/app/IApplicationThread;I)Z
1912 sget v5, Lcom/android/server/am/ActivityManagerService;->MY_PID:I
1916 if-eq v0, v5, :cond_5f
1920 move-object/from16 v0, p0
1922 iget-object v9, v0, Lcom/android/server/am/ActivityManagerService;->mPidsSelfLocked:Landroid/util/SparseArray;
1927 move-object/from16 v0, p0
1929 iget-object v5, v0, Lcom/android/server/am/ActivityManagerService;->mPidsSelfLocked:Landroid/util/SparseArray;
1933 invoke-virtual {v5, v0}, Landroid/util/SparseArray;->get(I)Ljava/lang/Object;
1935 move-result-object v24
1937 check-cast v24, Lcom/android/server/am/ProcessRecord;
1941 .catchall {:try_start_d .. :try_end_1a} :catchall_5c
1944 if-nez v24, :cond_68
1946 const-string v5, "ActivityManager"
1948 new-instance v9, Ljava/lang/StringBuilder;
1950 invoke-direct {v9}, Ljava/lang/StringBuilder;-><init>()V
1952 const-string v13, "No pending application record for pid "
1954 invoke-virtual {v9, v13}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
1956 move-result-object v9
1960 invoke-virtual {v9, v0}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
1962 move-result-object v9
1964 const-string v13, " (IApplicationThread "
1966 invoke-virtual {v9, v13}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
1968 move-result-object v9
1970 move-object/from16 v0, p1
1972 invoke-virtual {v9, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
1974 move-result-object v9
1976 const-string v13, "); dropping process"
1978 invoke-virtual {v9, v13}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
1980 move-result-object v9
1982 invoke-virtual {v9}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
1984 move-result-object v9
1986 invoke-static {v5, v9}, Landroid/util/Slog;->w(Ljava/lang/String;Ljava/lang/String;)I
1992 invoke-static {v5, v0}, Landroid/util/EventLog;->writeEvent(II)I
1996 sget v5, Lcom/android/server/am/ActivityManagerService;->MY_PID:I
2000 if-eq v0, v5, :cond_62
2002 invoke-static/range {p2 .. p2}, Landroid/os/Process;->killProcessQuiet(I)V
2016 .catchall {:try_start_5d .. :try_end_5e} :catchall_5c
2027 invoke-interface/range {p1 .. p1}, Landroid/app/IApplicationThread;->scheduleExit()V
2029 .catch Ljava/lang/Exception; {:try_start_62 .. :try_end_65} :catch_66
2039 move-object/from16 v0, v24
2041 iget-object v5, v0, Lcom/android/server/am/ProcessRecord;->thread:Landroid/app/IApplicationThread;
2049 move-object/from16 v0, p0
2051 move-object/from16 v1, v24
2053 invoke-direct {v0, v1, v5, v9}, Lcom/android/server/am/ActivityManagerService;->handleAppDiedLocked(Lcom/android/server/am/ProcessRecord;ZZ)V
2056 move-object/from16 v0, v24
2058 iget-object v6, v0, Lcom/android/server/am/ProcessRecord;->processName:Ljava/lang/String;
2061 new-instance v23, Lcom/android/server/am/ActivityManagerService$AppDeathRecipient;
2063 move-object/from16 v0, v23
2065 move-object/from16 v1, p0
2067 move-object/from16 v2, v24
2071 move-object/from16 v4, p1
2073 invoke-direct {v0, v1, v2, v3, v4}, Lcom/android/server/am/ActivityManagerService$AppDeathRecipient;-><init>(Lcom/android/server/am/ActivityManagerService;Lcom/android/server/am/ProcessRecord;ILandroid/app/IApplicationThread;)V
2075 invoke-interface/range {p1 .. p1}, Landroid/app/IApplicationThread;->asBinder()Landroid/os/IBinder;
2077 move-result-object v5
2081 move-object/from16 v0, v23
2083 invoke-interface {v5, v0, v9}, Landroid/os/IBinder;->linkToDeath(Landroid/os/IBinder$DeathRecipient;I)V
2085 move-object/from16 v0, v23
2087 move-object/from16 v1, v24
2089 iput-object v0, v1, Lcom/android/server/am/ProcessRecord;->deathRecipient:Landroid/os/IBinder$DeathRecipient;
2091 .catch Landroid/os/RemoteException; {:try_start_7b .. :try_end_9a} :catch_332
2097 new-array v9, v9, [Ljava/lang/Object;
2101 move-object/from16 v0, v24
2103 iget v14, v0, Lcom/android/server/am/ProcessRecord;->userId:I
2105 invoke-static {v14}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
2107 move-result-object v14
2109 aput-object v14, v9, v13
2113 move-object/from16 v0, v24
2115 iget v14, v0, Lcom/android/server/am/ProcessRecord;->pid:I
2117 invoke-static {v14}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
2119 move-result-object v14
2121 aput-object v14, v9, v13
2125 move-object/from16 v0, v24
2127 iget-object v14, v0, Lcom/android/server/am/ProcessRecord;->processName:Ljava/lang/String;
2129 aput-object v14, v9, v13
2131 invoke-static {v5, v9}, Landroid/util/EventLog;->writeEvent(I[Ljava/lang/Object;)I
2133 move-object/from16 v0, p1
2135 move-object/from16 v1, v24
2137 iput-object v0, v1, Lcom/android/server/am/ProcessRecord;->thread:Landroid/app/IApplicationThread;
2141 move-object/from16 v0, v24
2143 iput v5, v0, Lcom/android/server/am/ProcessRecord;->setAdj:I
2145 move-object/from16 v0, v24
2147 iput v5, v0, Lcom/android/server/am/ProcessRecord;->curAdj:I
2151 move-object/from16 v0, v24
2153 iput v5, v0, Lcom/android/server/am/ProcessRecord;->curSchedGroup:I
2157 move-object/from16 v0, v24
2159 iput v5, v0, Lcom/android/server/am/ProcessRecord;->setSchedGroup:I
2163 move-object/from16 v0, v24
2165 iput-object v5, v0, Lcom/android/server/am/ProcessRecord;->forcingToForeground:Landroid/os/IBinder;
2169 move-object/from16 v0, v24
2171 iput-boolean v5, v0, Lcom/android/server/am/ProcessRecord;->foregroundServices:Z
2175 move-object/from16 v0, v24
2177 iput-boolean v5, v0, Lcom/android/server/am/ProcessRecord;->hasShownUi:Z
2181 move-object/from16 v0, v24
2183 iput-boolean v5, v0, Lcom/android/server/am/ProcessRecord;->debugging:Z
2185 move-object/from16 v0, p0
2187 iget-object v5, v0, Lcom/android/server/am/ActivityManagerService;->mHandler:Landroid/os/Handler;
2191 move-object/from16 v0, v24
2193 invoke-virtual {v5, v9, v0}, Landroid/os/Handler;->removeMessages(ILjava/lang/Object;)V
2195 move-object/from16 v0, p0
2197 iget-boolean v5, v0, Lcom/android/server/am/ActivityManagerService;->mProcessesReady:Z
2199 if-nez v5, :cond_10a
2201 move-object/from16 v0, v24
2203 iget-object v5, v0, Lcom/android/server/am/ProcessRecord;->info:Landroid/content/pm/ApplicationInfo;
2205 move-object/from16 v0, p0
2207 invoke-virtual {v0, v5}, Lcom/android/server/am/ActivityManagerService;->isAllowedWhileBooting(Landroid/content/pm/ApplicationInfo;)Z
2211 if-eqz v5, :cond_342
2217 if-eqz v30, :cond_346
2219 move-object/from16 v0, p0
2221 move-object/from16 v1, v24
2223 invoke-direct {v0, v1}, Lcom/android/server/am/ActivityManagerService;->generateApplicationProvidersLocked(Lcom/android/server/am/ProcessRecord;)Ljava/util/List;
2225 move-result-object v8
2228 if-nez v30, :cond_132
2230 const-string v5, "ActivityManager"
2232 new-instance v9, Ljava/lang/StringBuilder;
2234 invoke-direct {v9}, Ljava/lang/StringBuilder;-><init>()V
2236 const-string v13, "Launching preboot mode app: "
2238 invoke-virtual {v9, v13}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
2240 move-result-object v9
2242 move-object/from16 v0, v24
2244 invoke-virtual {v9, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
2246 move-result-object v9
2248 invoke-virtual {v9}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
2250 move-result-object v9
2252 invoke-static {v5, v9}, Landroid/util/Slog;->i(Ljava/lang/String;Ljava/lang/String;)I
2258 move-object/from16 v0, p0
2260 iget-object v5, v0, Lcom/android/server/am/ActivityManagerService;->mDebugApp:Ljava/lang/String;
2262 if-eqz v5, :cond_165
2264 move-object/from16 v0, p0
2266 iget-object v5, v0, Lcom/android/server/am/ActivityManagerService;->mDebugApp:Ljava/lang/String;
2268 invoke-virtual {v5, v6}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
2272 if-eqz v5, :cond_165
2274 move-object/from16 v0, p0
2276 iget-boolean v5, v0, Lcom/android/server/am/ActivityManagerService;->mWaitForDebugger:Z
2278 if-eqz v5, :cond_349
2285 move-object/from16 v0, v24
2287 iput-boolean v5, v0, Lcom/android/server/am/ProcessRecord;->debugging:Z
2289 move-object/from16 v0, p0
2291 iget-boolean v5, v0, Lcom/android/server/am/ActivityManagerService;->mDebugTransient:Z
2293 if-eqz v5, :cond_165
2295 move-object/from16 v0, p0
2297 iget-object v5, v0, Lcom/android/server/am/ActivityManagerService;->mOrigDebugApp:Ljava/lang/String;
2299 move-object/from16 v0, p0
2301 iput-object v5, v0, Lcom/android/server/am/ActivityManagerService;->mDebugApp:Ljava/lang/String;
2303 move-object/from16 v0, p0
2305 iget-boolean v5, v0, Lcom/android/server/am/ActivityManagerService;->mOrigWaitForDebugger:Z
2307 move-object/from16 v0, p0
2309 iput-boolean v5, v0, Lcom/android/server/am/ActivityManagerService;->mWaitForDebugger:Z
2312 move-object/from16 v0, v24
2314 iget-object v10, v0, Lcom/android/server/am/ProcessRecord;->instrumentationProfileFile:Ljava/lang/String;
2320 move-object/from16 v0, p0
2322 iget-object v5, v0, Lcom/android/server/am/ActivityManagerService;->mProfileApp:Ljava/lang/String;
2324 if-eqz v5, :cond_18d
2326 move-object/from16 v0, p0
2328 iget-object v5, v0, Lcom/android/server/am/ActivityManagerService;->mProfileApp:Ljava/lang/String;
2330 invoke-virtual {v5, v6}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
2334 if-eqz v5, :cond_18d
2336 move-object/from16 v0, v24
2338 move-object/from16 v1, p0
2340 iput-object v0, v1, Lcom/android/server/am/ActivityManagerService;->mProfileProc:Lcom/android/server/am/ProcessRecord;
2342 move-object/from16 v0, p0
2344 iget-object v10, v0, Lcom/android/server/am/ActivityManagerService;->mProfileFile:Ljava/lang/String;
2346 move-object/from16 v0, p0
2348 iget-object v11, v0, Lcom/android/server/am/ActivityManagerService;->mProfileFd:Landroid/os/ParcelFileDescriptor;
2350 move-object/from16 v0, p0
2352 iget-boolean v12, v0, Lcom/android/server/am/ActivityManagerService;->mAutoStopProfiler:Z
2357 move-object/from16 v0, p0
2359 iget-object v5, v0, Lcom/android/server/am/ActivityManagerService;->mOpenGlTraceApp:Ljava/lang/String;
2361 if-eqz v5, :cond_1a6
2363 move-object/from16 v0, p0
2365 iget-object v5, v0, Lcom/android/server/am/ActivityManagerService;->mOpenGlTraceApp:Ljava/lang/String;
2367 invoke-virtual {v5, v6}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
2371 if-eqz v5, :cond_1a6
2377 move-object/from16 v0, p0
2379 iput-object v5, v0, Lcom/android/server/am/ActivityManagerService;->mOpenGlTraceApp:Ljava/lang/String;
2384 move-object/from16 v0, p0
2386 iget-object v5, v0, Lcom/android/server/am/ActivityManagerService;->mBackupTarget:Lcom/android/server/am/BackupRecord;
2388 if-eqz v5, :cond_1d5
2390 move-object/from16 v0, p0
2392 iget-object v5, v0, Lcom/android/server/am/ActivityManagerService;->mBackupAppName:Ljava/lang/String;
2394 invoke-virtual {v5, v6}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
2398 if-eqz v5, :cond_1d5
2400 move-object/from16 v0, p0
2402 iget-object v5, v0, Lcom/android/server/am/ActivityManagerService;->mBackupTarget:Lcom/android/server/am/BackupRecord;
2404 iget v5, v5, Lcom/android/server/am/BackupRecord;->backupMode:I
2408 if-eq v5, v9, :cond_1d3
2410 move-object/from16 v0, p0
2412 iget-object v5, v0, Lcom/android/server/am/ActivityManagerService;->mBackupTarget:Lcom/android/server/am/BackupRecord;
2414 iget v5, v5, Lcom/android/server/am/BackupRecord;->backupMode:I
2418 if-eq v5, v9, :cond_1d3
2420 move-object/from16 v0, p0
2422 iget-object v5, v0, Lcom/android/server/am/ActivityManagerService;->mBackupTarget:Lcom/android/server/am/BackupRecord;
2424 iget v5, v5, Lcom/android/server/am/BackupRecord;->backupMode:I
2428 if-ne v5, v9, :cond_34c
2435 move-object/from16 v0, v24
2437 iget-object v5, v0, Lcom/android/server/am/ProcessRecord;->instrumentationInfo:Landroid/content/pm/ApplicationInfo;
2439 if-eqz v5, :cond_350
2441 move-object/from16 v0, v24
2443 iget-object v5, v0, Lcom/android/server/am/ProcessRecord;->instrumentationInfo:Landroid/content/pm/ApplicationInfo;
2445 iget-object v5, v5, Landroid/content/pm/ApplicationInfo;->packageName:Ljava/lang/String;
2448 move-object/from16 v0, p0
2450 invoke-virtual {v0, v5}, Lcom/android/server/am/ActivityManagerService;->ensurePackageDexOpt(Ljava/lang/String;)V
2452 move-object/from16 v0, v24
2454 iget-object v5, v0, Lcom/android/server/am/ProcessRecord;->instrumentationClass:Landroid/content/ComponentName;
2456 if-eqz v5, :cond_1f9
2458 move-object/from16 v0, v24
2460 iget-object v5, v0, Lcom/android/server/am/ProcessRecord;->instrumentationClass:Landroid/content/ComponentName;
2462 invoke-virtual {v5}, Landroid/content/ComponentName;->getPackageName()Ljava/lang/String;
2464 move-result-object v5
2466 move-object/from16 v0, p0
2468 invoke-virtual {v0, v5}, Lcom/android/server/am/ActivityManagerService;->ensurePackageDexOpt(Ljava/lang/String;)V
2471 move-object/from16 v0, v24
2473 iget-object v5, v0, Lcom/android/server/am/ProcessRecord;->instrumentationInfo:Landroid/content/pm/ApplicationInfo;
2475 if-eqz v5, :cond_358
2477 move-object/from16 v0, v24
2479 iget-object v7, v0, Lcom/android/server/am/ProcessRecord;->instrumentationInfo:Landroid/content/pm/ApplicationInfo;
2482 move-object/from16 v0, p0
2484 invoke-virtual {v0, v7}, Lcom/android/server/am/ActivityManagerService;->compatibilityInfoForPackageLocked(Landroid/content/pm/ApplicationInfo;)Landroid/content/res/CompatibilityInfo;
2486 move-result-object v5
2488 move-object/from16 v0, v24
2490 iput-object v5, v0, Lcom/android/server/am/ProcessRecord;->compat:Landroid/content/res/CompatibilityInfo;
2492 if-eqz v11, :cond_213
2494 invoke-virtual {v11}, Landroid/os/ParcelFileDescriptor;->dup()Landroid/os/ParcelFileDescriptor;
2496 move-result-object v11
2499 move-object/from16 v0, v24
2501 iget-object v9, v0, Lcom/android/server/am/ProcessRecord;->instrumentationClass:Landroid/content/ComponentName;
2503 move-object/from16 v0, v24
2505 iget-object v13, v0, Lcom/android/server/am/ProcessRecord;->instrumentationArguments:Landroid/os/Bundle;
2507 move-object/from16 v0, v24
2509 iget-object v14, v0, Lcom/android/server/am/ProcessRecord;->instrumentationWatcher:Landroid/app/IInstrumentationWatcher;
2511 if-nez v29, :cond_223
2513 if-nez v30, :cond_35e
2519 move-object/from16 v0, v24
2521 iget-boolean v0, v0, Lcom/android/server/am/ProcessRecord;->persistent:Z
2525 new-instance v19, Landroid/content/res/Configuration;
2527 move-object/from16 v0, p0
2529 iget-object v5, v0, Lcom/android/server/am/ActivityManagerService;->mConfiguration:Landroid/content/res/Configuration;
2531 move-object/from16 v0, v19
2533 invoke-direct {v0, v5}, Landroid/content/res/Configuration;-><init>(Landroid/content/res/Configuration;)V
2535 move-object/from16 v0, v24
2537 iget-object v0, v0, Lcom/android/server/am/ProcessRecord;->compat:Landroid/content/res/CompatibilityInfo;
2539 move-object/from16 v20, v0
2541 invoke-direct/range {p0 .. p0}, Lcom/android/server/am/ActivityManagerService;->getCommonServicesLocked()Ljava/util/HashMap;
2543 move-result-object v21
2545 move-object/from16 v0, p0
2547 iget-object v5, v0, Lcom/android/server/am/ActivityManagerService;->mCoreSettingsObserver:Lcom/android/server/am/CoreSettingsObserver;
2549 invoke-virtual {v5}, Lcom/android/server/am/CoreSettingsObserver;->getCoreSettingsLocked()Landroid/os/Bundle;
2551 move-result-object v22
2553 move-object/from16 v5, p1
2555 invoke-interface/range {v5 .. v22}, Landroid/app/IApplicationThread;->bindApplication(Ljava/lang/String;Landroid/content/pm/ApplicationInfo;Ljava/util/List;Landroid/content/ComponentName;Ljava/lang/String;Landroid/os/ParcelFileDescriptor;ZLandroid/os/Bundle;Landroid/app/IInstrumentationWatcher;IZZZLandroid/content/res/Configuration;Landroid/content/res/CompatibilityInfo;Ljava/util/Map;Landroid/os/Bundle;)V
2559 move-object/from16 v0, p0
2561 move-object/from16 v1, v24
2563 invoke-virtual {v0, v1, v5}, Lcom/android/server/am/ActivityManagerService;->updateLruProcessLocked(Lcom/android/server/am/ProcessRecord;Z)V
2565 invoke-static {}, Landroid/os/SystemClock;->uptimeMillis()J
2567 move-result-wide v13
2569 move-object/from16 v0, v24
2571 iput-wide v13, v0, Lcom/android/server/am/ProcessRecord;->lastLowMemory:J
2573 move-object/from16 v0, v24
2575 iput-wide v13, v0, Lcom/android/server/am/ProcessRecord;->lastRequestedGc:J
2577 .catch Ljava/lang/Exception; {:try_start_133 .. :try_end_261} :catch_362
2579 move-object/from16 v0, p0
2581 iget-object v5, v0, Lcom/android/server/am/ActivityManagerService;->mPersistentStartingProcesses:Ljava/util/ArrayList;
2583 move-object/from16 v0, v24
2585 invoke-virtual {v5, v0}, Ljava/util/ArrayList;->remove(Ljava/lang/Object;)Z
2587 move-object/from16 v0, p0
2589 iget-object v5, v0, Lcom/android/server/am/ActivityManagerService;->mProcessesOnHold:Ljava/util/ArrayList;
2591 move-object/from16 v0, v24
2593 invoke-virtual {v5, v0}, Ljava/util/ArrayList;->remove(Ljava/lang/Object;)Z
2599 move-object/from16 v0, p0
2601 iget-object v5, v0, Lcom/android/server/am/ActivityManagerService;->mMainStack:Lcom/android/server/am/ActivityStack;
2605 invoke-virtual {v5, v9}, Lcom/android/server/am/ActivityStack;->topRunningActivityLocked(Lcom/android/server/am/ActivityRecord;)Lcom/android/server/am/ActivityRecord;
2607 move-result-object v28
2609 if-eqz v28, :cond_2c2
2611 if-eqz v30, :cond_2c2
2613 move-object/from16 v0, v28
2615 iget-object v5, v0, Lcom/android/server/am/ActivityRecord;->app:Lcom/android/server/am/ProcessRecord;
2617 if-nez v5, :cond_3bd
2619 move-object/from16 v0, v24
2621 iget v5, v0, Lcom/android/server/am/ProcessRecord;->uid:I
2623 move-object/from16 v0, v28
2625 iget-object v9, v0, Lcom/android/server/am/ActivityRecord;->info:Landroid/content/pm/ActivityInfo;
2627 iget-object v9, v9, Landroid/content/pm/ActivityInfo;->applicationInfo:Landroid/content/pm/ApplicationInfo;
2629 iget v9, v9, Landroid/content/pm/ApplicationInfo;->uid:I
2631 if-ne v5, v9, :cond_3bd
2633 move-object/from16 v0, v28
2635 iget-object v5, v0, Lcom/android/server/am/ActivityRecord;->processName:Ljava/lang/String;
2637 invoke-virtual {v6, v5}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
2641 if-eqz v5, :cond_3bd
2644 move-object/from16 v0, p0
2646 iget-boolean v5, v0, Lcom/android/server/am/ActivityManagerService;->mHeadless:Z
2648 if-eqz v5, :cond_37e
2650 const-string v5, "ActivityManager"
2652 new-instance v9, Ljava/lang/StringBuilder;
2654 invoke-direct {v9}, Ljava/lang/StringBuilder;-><init>()V
2656 const-string v13, "Starting activities not supported on headless device: "
2658 invoke-virtual {v9, v13}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
2660 move-result-object v9
2662 move-object/from16 v0, v28
2664 invoke-virtual {v9, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
2666 move-result-object v9
2668 invoke-virtual {v9}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
2670 move-result-object v9
2672 invoke-static {v5, v9}, Landroid/util/Slog;->e(Ljava/lang/String;Ljava/lang/String;)I
2674 .catch Ljava/lang/Exception; {:try_start_2a2 .. :try_end_2c2} :catch_392
2678 if-nez v25, :cond_2d0
2681 move-object/from16 v0, p0
2683 iget-object v5, v0, Lcom/android/server/am/ActivityManagerService;->mServices:Lcom/android/server/am/ActiveServices;
2685 move-object/from16 v0, v24
2687 invoke-virtual {v5, v0, v6}, Lcom/android/server/am/ActiveServices;->attachApplicationLocked(Lcom/android/server/am/ProcessRecord;Ljava/lang/String;)Z
2689 .catch Ljava/lang/Exception; {:try_start_2c4 .. :try_end_2cd} :catch_3ca
2697 if-nez v25, :cond_2e4
2699 move-object/from16 v0, p0
2703 invoke-virtual {v0, v1}, Lcom/android/server/am/ActivityManagerService;->isPendingBroadcastProcessLocked(I)Z
2707 if-eqz v5, :cond_2e4
2710 move-object/from16 v0, p0
2712 move-object/from16 v1, v24
2714 invoke-virtual {v0, v1}, Lcom/android/server/am/ActivityManagerService;->sendPendingBroadcastsLocked(Lcom/android/server/am/ProcessRecord;)Z
2716 .catch Ljava/lang/Exception; {:try_start_2dc .. :try_end_2e3} :catch_3cf
2722 if-nez v25, :cond_324
2724 move-object/from16 v0, p0
2726 iget-object v5, v0, Lcom/android/server/am/ActivityManagerService;->mBackupTarget:Lcom/android/server/am/BackupRecord;
2728 if-eqz v5, :cond_324
2730 move-object/from16 v0, p0
2732 iget-object v5, v0, Lcom/android/server/am/ActivityManagerService;->mBackupTarget:Lcom/android/server/am/BackupRecord;
2734 iget-object v5, v5, Lcom/android/server/am/BackupRecord;->appInfo:Landroid/content/pm/ApplicationInfo;
2736 iget v5, v5, Landroid/content/pm/ApplicationInfo;->uid:I
2738 move-object/from16 v0, v24
2740 iget v9, v0, Lcom/android/server/am/ProcessRecord;->uid:I
2742 if-ne v5, v9, :cond_324
2744 move-object/from16 v0, p0
2746 iget-object v5, v0, Lcom/android/server/am/ActivityManagerService;->mBackupTarget:Lcom/android/server/am/BackupRecord;
2748 iget-object v5, v5, Lcom/android/server/am/BackupRecord;->appInfo:Landroid/content/pm/ApplicationInfo;
2750 iget-object v5, v5, Landroid/content/pm/ApplicationInfo;->packageName:Ljava/lang/String;
2752 move-object/from16 v0, p0
2754 invoke-virtual {v0, v5}, Lcom/android/server/am/ActivityManagerService;->ensurePackageDexOpt(Ljava/lang/String;)V
2757 move-object/from16 v0, p0
2759 iget-object v5, v0, Lcom/android/server/am/ActivityManagerService;->mBackupTarget:Lcom/android/server/am/BackupRecord;
2761 iget-object v5, v5, Lcom/android/server/am/BackupRecord;->appInfo:Landroid/content/pm/ApplicationInfo;
2763 move-object/from16 v0, p0
2765 iget-object v9, v0, Lcom/android/server/am/ActivityManagerService;->mBackupTarget:Lcom/android/server/am/BackupRecord;
2767 iget-object v9, v9, Lcom/android/server/am/BackupRecord;->appInfo:Landroid/content/pm/ApplicationInfo;
2769 move-object/from16 v0, p0
2771 invoke-virtual {v0, v9}, Lcom/android/server/am/ActivityManagerService;->compatibilityInfoForPackageLocked(Landroid/content/pm/ApplicationInfo;)Landroid/content/res/CompatibilityInfo;
2773 move-result-object v9
2775 move-object/from16 v0, p0
2777 iget-object v13, v0, Lcom/android/server/am/ActivityManagerService;->mBackupTarget:Lcom/android/server/am/BackupRecord;
2779 iget v13, v13, Lcom/android/server/am/BackupRecord;->backupMode:I
2781 move-object/from16 v0, p1
2783 invoke-interface {v0, v5, v9, v13}, Landroid/app/IApplicationThread;->scheduleCreateBackupAgent(Landroid/content/pm/ApplicationInfo;Landroid/content/res/CompatibilityInfo;I)V
2785 .catch Ljava/lang/Exception; {:try_start_307 .. :try_end_324} :catch_3d4
2789 if-eqz v25, :cond_3e1
2795 move-object/from16 v0, p0
2797 move-object/from16 v1, v24
2799 invoke-direct {v0, v1, v5, v9}, Lcom/android/server/am/ActivityManagerService;->handleAppDiedLocked(Lcom/android/server/am/ProcessRecord;ZZ)V
2808 invoke-virtual/range {v24 .. v24}, Lcom/android/server/am/ProcessRecord;->resetPackageList()V
2810 const-string v5, "link fail"
2812 move-object/from16 v0, p0
2814 move-object/from16 v1, v24
2816 invoke-direct {v0, v1, v5, v6}, Lcom/android/server/am/ActivityManagerService;->startProcessLocked(Lcom/android/server/am/ProcessRecord;Ljava/lang/String;Ljava/lang/String;)V
2844 move-object/from16 v0, v24
2846 iget-object v5, v0, Lcom/android/server/am/ProcessRecord;->info:Landroid/content/pm/ApplicationInfo;
2848 iget-object v5, v5, Landroid/content/pm/ApplicationInfo;->packageName:Ljava/lang/String;
2853 move-object/from16 v0, v24
2855 iget-object v7, v0, Lcom/android/server/am/ProcessRecord;->info:Landroid/content/pm/ApplicationInfo;
2857 .catch Ljava/lang/Exception; {:try_start_350 .. :try_end_35c} :catch_362
2869 const-string v5, "ActivityManager"
2871 const-string v9, "Exception thrown during bind!"
2873 move-object/from16 v0, v27
2875 invoke-static {v5, v9, v0}, Landroid/util/Slog;->w(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I
2877 invoke-virtual/range {v24 .. v24}, Lcom/android/server/am/ProcessRecord;->resetPackageList()V
2879 invoke-virtual/range {v24 .. v24}, Lcom/android/server/am/ProcessRecord;->unlinkDeathRecipient()V
2881 const-string v5, "bind fail"
2883 move-object/from16 v0, p0
2885 move-object/from16 v1, v24
2887 invoke-direct {v0, v1, v5, v6}, Lcom/android/server/am/ActivityManagerService;->startProcessLocked(Lcom/android/server/am/ProcessRecord;Ljava/lang/String;Ljava/lang/String;)V
2895 move-object/from16 v0, p0
2897 iget-object v5, v0, Lcom/android/server/am/ActivityManagerService;->mMainStack:Lcom/android/server/am/ActivityStack;
2903 move-object/from16 v0, v28
2905 move-object/from16 v1, v24
2907 invoke-virtual {v5, v0, v1, v9, v13}, Lcom/android/server/am/ActivityStack;->realStartActivityLocked(Lcom/android/server/am/ActivityRecord;Lcom/android/server/am/ProcessRecord;ZZ)Z
2909 .catch Ljava/lang/Exception; {:try_start_37e .. :try_end_38b} :catch_392
2913 if-eqz v5, :cond_2c2
2922 const-string v5, "ActivityManager"
2924 new-instance v9, Ljava/lang/StringBuilder;
2926 invoke-direct {v9}, Ljava/lang/StringBuilder;-><init>()V
2928 const-string v13, "Exception in new application when starting activity "
2930 invoke-virtual {v9, v13}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
2932 move-result-object v9
2934 move-object/from16 v0, v28
2936 iget-object v13, v0, Lcom/android/server/am/ActivityRecord;->intent:Landroid/content/Intent;
2938 invoke-virtual {v13}, Landroid/content/Intent;->getComponent()Landroid/content/ComponentName;
2940 move-result-object v13
2942 invoke-virtual {v13}, Landroid/content/ComponentName;->flattenToShortString()Ljava/lang/String;
2944 move-result-object v13
2946 invoke-virtual {v9, v13}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
2948 move-result-object v9
2950 invoke-virtual {v9}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
2952 move-result-object v9
2954 move-object/from16 v0, v27
2956 invoke-static {v5, v9, v0}, Landroid/util/Slog;->w(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I
2963 move-object/from16 v0, p0
2965 iget-object v5, v0, Lcom/android/server/am/ActivityManagerService;->mMainStack:Lcom/android/server/am/ActivityStack;
2971 move-object/from16 v0, v28
2973 invoke-virtual {v5, v0, v9, v6, v13}, Lcom/android/server/am/ActivityStack;->ensureActivitiesVisibleLocked(Lcom/android/server/am/ActivityRecord;Lcom/android/server/am/ActivityRecord;Ljava/lang/String;I)V
2994 const-string v5, "ActivityManager"
2996 const-string v9, "Exception scheduling backup agent creation: "
2998 invoke-static {v5, v9}, Landroid/util/Slog;->w(Ljava/lang/String;Ljava/lang/String;)I
3000 invoke-virtual/range {v27 .. v27}, Ljava/lang/Exception;->printStackTrace()V
3005 if-nez v26, :cond_3e6
3007 invoke-virtual/range {p0 .. p0}, Lcom/android/server/am/ActivityManagerService;->updateOomAdjLocked()V
3015 .method private final broadcastIntentLocked(Lcom/android/server/am/ProcessRecord;Ljava/lang/String;Landroid/content/Intent;Ljava/lang/String;Landroid/content/IIntentReceiver;ILjava/lang/String;Landroid/os/Bundle;Ljava/lang/String;ZZIII)I
3018 new-instance v46, Landroid/content/Intent;
3020 move-object/from16 v0, v46
3022 move-object/from16 v1, p3
3024 invoke-direct {v0, v1}, Landroid/content/Intent;-><init>(Landroid/content/Intent;)V
3028 move-object/from16 v0, v46
3030 invoke-virtual {v0, v4}, Landroid/content/Intent;->addFlags(I)Landroid/content/Intent;
3034 if-nez p10, :cond_34
3036 const-string v4, "ActivityManager"
3038 new-instance v6, Ljava/lang/StringBuilder;
3040 invoke-direct {v6}, Ljava/lang/StringBuilder;-><init>()V
3042 const-string v10, "Broadcast "
3044 invoke-virtual {v6, v10}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
3046 move-result-object v6
3048 move-object/from16 v0, v46
3050 invoke-virtual {v6, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
3052 move-result-object v6
3054 const-string v10, " not ordered but result callback requested!"
3056 invoke-virtual {v6, v10}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
3058 move-result-object v6
3060 invoke-virtual {v6}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
3062 move-result-object v6
3064 invoke-static {v4, v6}, Landroid/util/Slog;->w(Ljava/lang/String;Ljava/lang/String;)I
3071 const-string v10, "broadcast"
3073 move-object/from16 v4, p0
3081 move-object/from16 v11, p2
3083 invoke-virtual/range {v4 .. v11}, Lcom/android/server/am/ActivityManagerService;->handleIncomingUser(IIIZZLjava/lang/String;Ljava/lang/String;)I
3091 if-eq v0, v4, :cond_94
3093 move-object/from16 v0, p0
3095 iget-object v4, v0, Lcom/android/server/am/ActivityManagerService;->mStartedUsers:Landroid/util/SparseArray;
3099 invoke-virtual {v4, v0}, Landroid/util/SparseArray;->get(I)Ljava/lang/Object;
3101 move-result-object v4
3109 if-ne v0, v4, :cond_66
3111 invoke-virtual/range {v46 .. v46}, Landroid/content/Intent;->getFlags()I
3115 const/high16 v6, 0x400
3117 and-int/2addr v4, v6
3122 const-string v4, "ActivityManager"
3124 new-instance v6, Ljava/lang/StringBuilder;
3126 invoke-direct {v6}, Ljava/lang/StringBuilder;-><init>()V
3128 const-string v10, "Skipping broadcast of "
3130 invoke-virtual {v6, v10}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
3132 move-result-object v6
3134 move-object/from16 v0, v46
3136 invoke-virtual {v6, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
3138 move-result-object v6
3140 const-string v10, ": user "
3142 invoke-virtual {v6, v10}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
3144 move-result-object v6
3148 invoke-virtual {v6, v0}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
3150 move-result-object v6
3152 const-string v10, " is stopped"
3154 invoke-virtual {v6, v10}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
3156 move-result-object v6
3158 invoke-virtual {v6}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
3160 move-result-object v6
3162 invoke-static {v4, v6}, Landroid/util/Slog;->w(Ljava/lang/String;Ljava/lang/String;)I
3170 invoke-static/range {p13 .. p13}, Landroid/os/UserHandle;->getAppId(I)I
3178 if-eq v0, v4, :cond_b2
3184 if-eq v0, v4, :cond_b2
3190 if-eq v0, v4, :cond_b2
3196 if-eq v0, v4, :cond_b2
3198 if-nez p13, :cond_1b4
3201 const-string v4, "android.intent.action.UID_REMOVED"
3203 invoke-virtual/range {v46 .. v46}, Landroid/content/Intent;->getAction()Ljava/lang/String;
3205 move-result-object v6
3207 invoke-virtual {v4, v6}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
3211 const-string v4, "android.intent.action.PACKAGE_REMOVED"
3213 invoke-virtual/range {v46 .. v46}, Landroid/content/Intent;->getAction()Ljava/lang/String;
3215 move-result-object v6
3217 invoke-virtual {v4, v6}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
3223 const-string v4, "android.intent.action.PACKAGE_CHANGED"
3225 invoke-virtual/range {v46 .. v46}, Landroid/content/Intent;->getAction()Ljava/lang/String;
3227 move-result-object v6
3229 invoke-virtual {v4, v6}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
3235 const-string v4, "android.intent.action.EXTERNAL_APPLICATIONS_UNAVAILABLE"
3237 invoke-virtual/range {v46 .. v46}, Landroid/content/Intent;->getAction()Ljava/lang/String;
3239 move-result-object v6
3241 invoke-virtual {v4, v6}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
3247 if-eqz v62, :cond_306
3250 const-string v5, "android.permission.BROADCAST_PACKAGE_REMOVED"
3256 move-object/from16 v4, p0
3262 invoke-virtual/range {v4 .. v9}, Lcom/android/server/am/ActivityManagerService;->checkComponentPermission(Ljava/lang/String;IIIZ)I
3266 if-nez v4, :cond_2aa
3268 if-eqz v62, :cond_21c
3270 invoke-virtual/range {v46 .. v46}, Landroid/content/Intent;->getExtras()Landroid/os/Bundle;
3272 move-result-object v47
3274 if-eqz v47, :cond_215
3276 const-string v4, "android.intent.extra.UID"
3278 move-object/from16 v0, v47
3280 invoke-virtual {v0, v4}, Landroid/os/Bundle;->getInt(Ljava/lang/String;)I
3285 if-ltz v61, :cond_115
3287 move-object/from16 v0, p0
3289 iget-object v4, v0, Lcom/android/server/am/ActivityManagerService;->mBatteryStatsService:Lcom/android/server/am/BatteryStatsService;
3291 invoke-virtual {v4}, Lcom/android/server/am/BatteryStatsService;->getActiveStatistics()Lcom/android/internal/os/BatteryStatsImpl;
3293 move-result-object v38
3298 move-object/from16 v0, v38
3302 invoke-virtual {v0, v1}, Lcom/android/internal/os/BatteryStatsImpl;->removeUidStatsLocked(I)V
3306 .catchall {:try_start_10d .. :try_end_115} :catchall_219
3310 const-string v4, "android.intent.action.TIMEZONE_CHANGED"
3312 invoke-virtual/range {v46 .. v46}, Landroid/content/Intent;->getAction()Ljava/lang/String;
3314 move-result-object v6
3316 invoke-virtual {v4, v6}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
3320 if-eqz v4, :cond_12a
3322 move-object/from16 v0, p0
3324 iget-object v4, v0, Lcom/android/server/am/ActivityManagerService;->mHandler:Landroid/os/Handler;
3328 invoke-virtual {v4, v6}, Landroid/os/Handler;->sendEmptyMessage(I)Z
3331 const-string v4, "android.intent.action.CLEAR_DNS_CACHE"
3333 invoke-virtual/range {v46 .. v46}, Landroid/content/Intent;->getAction()Ljava/lang/String;
3335 move-result-object v6
3337 invoke-virtual {v4, v6}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
3341 if-eqz v4, :cond_13f
3343 move-object/from16 v0, p0
3345 iget-object v4, v0, Lcom/android/server/am/ActivityManagerService;->mHandler:Landroid/os/Handler;
3349 invoke-virtual {v4, v6}, Landroid/os/Handler;->sendEmptyMessage(I)Z
3352 const-string v4, "android.intent.action.PROXY_CHANGE"
3354 invoke-virtual/range {v46 .. v46}, Landroid/content/Intent;->getAction()Ljava/lang/String;
3356 move-result-object v6
3358 invoke-virtual {v4, v6}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
3362 if-eqz v4, :cond_168
3364 const-string v4, "proxy"
3366 move-object/from16 v0, v46
3368 invoke-virtual {v0, v4}, Landroid/content/Intent;->getParcelableExtra(Ljava/lang/String;)Landroid/os/Parcelable;
3370 move-result-object v55
3372 check-cast v55, Landroid/net/ProxyProperties;
3374 move-object/from16 v0, p0
3376 iget-object v4, v0, Lcom/android/server/am/ActivityManagerService;->mHandler:Landroid/os/Handler;
3378 move-object/from16 v0, p0
3380 iget-object v6, v0, Lcom/android/server/am/ActivityManagerService;->mHandler:Landroid/os/Handler;
3384 move-object/from16 v0, v55
3386 invoke-virtual {v6, v10, v0}, Landroid/os/Handler;->obtainMessage(ILjava/lang/Object;)Landroid/os/Message;
3388 move-result-object v6
3390 invoke-virtual {v4, v6}, Landroid/os/Handler;->sendMessage(Landroid/os/Message;)Z
3393 if-eqz p11, :cond_451
3395 const-string v4, "android.permission.BROADCAST_STICKY"
3397 move-object/from16 v0, p0
3403 invoke-virtual {v0, v4, v1, v2}, Lcom/android/server/am/ActivityManagerService;->checkPermission(Ljava/lang/String;II)I
3407 if-eqz v4, :cond_330
3409 new-instance v4, Ljava/lang/StringBuilder;
3411 invoke-direct {v4}, Ljava/lang/StringBuilder;-><init>()V
3413 const-string v6, "Permission Denial: broadcastIntent() requesting a sticky broadcast from pid="
3415 invoke-virtual {v4, v6}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
3417 move-result-object v4
3421 invoke-virtual {v4, v0}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
3423 move-result-object v4
3425 const-string v6, ", uid="
3427 invoke-virtual {v4, v6}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
3429 move-result-object v4
3433 invoke-virtual {v4, v0}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
3435 move-result-object v4
3437 const-string v6, " requires "
3439 invoke-virtual {v4, v6}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
3441 move-result-object v4
3443 const-string v6, "android.permission.BROADCAST_STICKY"
3445 invoke-virtual {v4, v6}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
3447 move-result-object v4
3449 invoke-virtual {v4}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
3451 move-result-object v53
3453 const-string v4, "ActivityManager"
3455 move-object/from16 v0, v53
3457 invoke-static {v4, v0}, Landroid/util/Slog;->w(Ljava/lang/String;Ljava/lang/String;)I
3459 new-instance v4, Ljava/lang/SecurityException;
3461 move-object/from16 v0, v53
3463 invoke-direct {v4, v0}, Ljava/lang/SecurityException;-><init>(Ljava/lang/String;)V
3468 if-eqz p1, :cond_1bc
3470 move-object/from16 v0, p1
3472 iget-boolean v4, v0, Lcom/android/server/am/ProcessRecord;->persistent:Z
3478 invoke-static {}, Landroid/app/AppGlobals;->getPackageManager()Landroid/content/pm/IPackageManager;
3480 move-result-object v4
3482 invoke-virtual/range {v46 .. v46}, Landroid/content/Intent;->getAction()Ljava/lang/String;
3484 move-result-object v6
3486 invoke-interface {v4, v6}, Landroid/content/pm/IPackageManager;->isProtectedBroadcast(Ljava/lang/String;)Z
3492 new-instance v4, Ljava/lang/StringBuilder;
3494 invoke-direct {v4}, Ljava/lang/StringBuilder;-><init>()V
3496 const-string v6, "Permission Denial: not allowed to send broadcast "
3498 invoke-virtual {v4, v6}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
3500 move-result-object v4
3502 invoke-virtual/range {v46 .. v46}, Landroid/content/Intent;->getAction()Ljava/lang/String;
3504 move-result-object v6
3506 invoke-virtual {v4, v6}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
3508 move-result-object v4
3510 const-string v6, " from pid="
3512 invoke-virtual {v4, v6}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
3514 move-result-object v4
3518 invoke-virtual {v4, v0}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
3520 move-result-object v4
3522 const-string v6, ", uid="
3524 invoke-virtual {v4, v6}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
3526 move-result-object v4
3530 invoke-virtual {v4, v0}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
3532 move-result-object v4
3534 invoke-virtual {v4}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
3536 move-result-object v53
3538 const-string v4, "ActivityManager"
3540 move-object/from16 v0, v53
3542 invoke-static {v4, v0}, Landroid/util/Slog;->w(Ljava/lang/String;Ljava/lang/String;)I
3544 new-instance v4, Ljava/lang/SecurityException;
3546 move-object/from16 v0, v53
3548 invoke-direct {v4, v0}, Ljava/lang/SecurityException;-><init>(Ljava/lang/String;)V
3552 .catch Landroid/os/RemoteException; {:try_start_1bc .. :try_end_208} :catch_208
3557 const-string v4, "ActivityManager"
3559 const-string v6, "Remote exception"
3561 move-object/from16 v0, v43
3563 invoke-static {v4, v6, v0}, Landroid/util/Slog;->w(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I
3580 .catchall {:try_start_21a .. :try_end_21b} :catchall_219
3585 const-string v4, "android.intent.action.EXTERNAL_APPLICATIONS_UNAVAILABLE"
3587 invoke-virtual/range {v46 .. v46}, Landroid/content/Intent;->getAction()Ljava/lang/String;
3589 move-result-object v6
3591 invoke-virtual {v4, v6}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
3595 if-eqz v4, :cond_263
3597 const-string v4, "android.intent.extra.changed_package_list"
3599 move-object/from16 v0, v46
3601 invoke-virtual {v0, v4}, Landroid/content/Intent;->getStringArrayExtra(Ljava/lang/String;)[Ljava/lang/String;
3603 move-result-object v51
3605 if-eqz v51, :cond_115
3607 move-object/from16 v0, v51
3611 if-lez v4, :cond_115
3613 move-object/from16 v37, v51
3615 move-object/from16 v0, v37
3628 if-ge v0, v1, :cond_257
3630 aget-object v5, v37, v45
3642 move-object/from16 v4, p0
3644 move/from16 v11, p14
3646 invoke-direct/range {v4 .. v11}, Lcom/android/server/am/ActivityManagerService;->forceStopPackageLocked(Ljava/lang/String;IZZZZI)Z
3648 add-int/lit8 v45, v45, 0x1
3655 move-object/from16 v0, p0
3657 move-object/from16 v1, v51
3661 invoke-direct {v0, v4, v1, v2}, Lcom/android/server/am/ActivityManagerService;->sendPackageBroadcastLocked(I[Ljava/lang/String;I)V
3666 invoke-virtual/range {v46 .. v46}, Landroid/content/Intent;->getData()Landroid/net/Uri;
3668 move-result-object v42
3670 if-eqz v42, :cond_115
3672 invoke-virtual/range {v42 .. v42}, Landroid/net/Uri;->getSchemeSpecificPart()Ljava/lang/String;
3674 move-result-object v7
3676 if-eqz v7, :cond_115
3678 const-string v4, "android.intent.extra.DONT_KILL_APP"
3682 move-object/from16 v0, v46
3684 invoke-virtual {v0, v4, v6}, Landroid/content/Intent;->getBooleanExtra(Ljava/lang/String;Z)Z
3688 if-nez v4, :cond_28e
3690 const-string v4, "android.intent.extra.UID"
3694 move-object/from16 v0, v46
3696 invoke-virtual {v0, v4, v6}, Landroid/content/Intent;->getIntExtra(Ljava/lang/String;I)I
3708 move-object/from16 v6, p0
3710 move/from16 v13, p14
3712 invoke-direct/range {v6 .. v13}, Lcom/android/server/am/ActivityManagerService;->forceStopPackageLocked(Ljava/lang/String;IZZZZI)Z
3715 const-string v4, "android.intent.action.PACKAGE_REMOVED"
3717 invoke-virtual/range {v46 .. v46}, Landroid/content/Intent;->getAction()Ljava/lang/String;
3719 move-result-object v6
3721 invoke-virtual {v4, v6}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
3725 if-eqz v4, :cond_115
3731 new-array v6, v6, [Ljava/lang/String;
3735 aput-object v7, v6, v10
3737 move-object/from16 v0, p0
3741 invoke-direct {v0, v4, v6, v1}, Lcom/android/server/am/ActivityManagerService;->sendPackageBroadcastLocked(I[Ljava/lang/String;I)V
3746 new-instance v4, Ljava/lang/StringBuilder;
3748 invoke-direct {v4}, Ljava/lang/StringBuilder;-><init>()V
3750 const-string v6, "Permission Denial: "
3752 invoke-virtual {v4, v6}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
3754 move-result-object v4
3756 invoke-virtual/range {v46 .. v46}, Landroid/content/Intent;->getAction()Ljava/lang/String;
3758 move-result-object v6
3760 invoke-virtual {v4, v6}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
3762 move-result-object v4
3764 const-string v6, " broadcast from "
3766 invoke-virtual {v4, v6}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
3768 move-result-object v4
3770 move-object/from16 v0, p2
3772 invoke-virtual {v4, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
3774 move-result-object v4
3776 const-string v6, " (pid="
3778 invoke-virtual {v4, v6}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
3780 move-result-object v4
3784 invoke-virtual {v4, v0}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
3786 move-result-object v4
3788 const-string v6, ", uid="
3790 invoke-virtual {v4, v6}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
3792 move-result-object v4
3796 invoke-virtual {v4, v0}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
3798 move-result-object v4
3800 const-string v6, ")"
3802 invoke-virtual {v4, v6}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
3804 move-result-object v4
3806 const-string v6, " requires "
3808 invoke-virtual {v4, v6}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
3810 move-result-object v4
3812 const-string v6, "android.permission.BROADCAST_PACKAGE_REMOVED"
3814 invoke-virtual {v4, v6}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
3816 move-result-object v4
3818 invoke-virtual {v4}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
3820 move-result-object v53
3822 const-string v4, "ActivityManager"
3824 move-object/from16 v0, v53
3826 invoke-static {v4, v0}, Landroid/util/Slog;->w(Ljava/lang/String;Ljava/lang/String;)I
3828 new-instance v4, Ljava/lang/SecurityException;
3830 move-object/from16 v0, v53
3832 invoke-direct {v4, v0}, Ljava/lang/SecurityException;-><init>(Ljava/lang/String;)V
3837 const-string v4, "android.intent.action.PACKAGE_ADDED"
3839 invoke-virtual/range {v46 .. v46}, Landroid/content/Intent;->getAction()Ljava/lang/String;
3841 move-result-object v6
3843 invoke-virtual {v4, v6}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
3847 if-eqz v4, :cond_115
3849 invoke-virtual/range {v46 .. v46}, Landroid/content/Intent;->getData()Landroid/net/Uri;
3851 move-result-object v42
3853 if-eqz v42, :cond_115
3855 invoke-virtual/range {v42 .. v42}, Landroid/net/Uri;->getSchemeSpecificPart()Ljava/lang/String;
3857 move-result-object v7
3859 if-eqz v7, :cond_115
3861 move-object/from16 v0, p0
3863 iget-object v4, v0, Lcom/android/server/am/ActivityManagerService;->mCompatModePackages:Lcom/android/server/am/CompatModePackages;
3865 const-string v6, "android.intent.extra.REPLACING"
3869 move-object/from16 v0, v46
3871 invoke-virtual {v0, v6, v10}, Landroid/content/Intent;->getBooleanExtra(Ljava/lang/String;Z)Z
3875 invoke-virtual {v4, v7, v6}, Lcom/android/server/am/CompatModePackages;->handlePackageAddedLocked(Ljava/lang/String;Z)V
3880 if-eqz p9, :cond_35b
3882 const-string v4, "ActivityManager"
3884 new-instance v6, Ljava/lang/StringBuilder;
3886 invoke-direct {v6}, Ljava/lang/StringBuilder;-><init>()V
3888 const-string v10, "Can\'t broadcast sticky intent "
3890 invoke-virtual {v6, v10}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
3892 move-result-object v6
3894 move-object/from16 v0, v46
3896 invoke-virtual {v6, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
3898 move-result-object v6
3900 const-string v10, " and enforce permission "
3902 invoke-virtual {v6, v10}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
3904 move-result-object v6
3906 move-object/from16 v0, p9
3908 invoke-virtual {v6, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
3910 move-result-object v6
3912 invoke-virtual {v6}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
3914 move-result-object v6
3916 invoke-static {v4, v6}, Landroid/util/Slog;->w(Ljava/lang/String;Ljava/lang/String;)I
3923 invoke-virtual/range {v46 .. v46}, Landroid/content/Intent;->getComponent()Landroid/content/ComponentName;
3925 move-result-object v4
3927 if-eqz v4, :cond_369
3929 new-instance v4, Ljava/lang/SecurityException;
3931 const-string v6, "Sticky broadcasts can\'t target a specific component"
3933 invoke-direct {v4, v6}, Ljava/lang/SecurityException;-><init>(Ljava/lang/String;)V
3942 if-eq v0, v4, :cond_3d7
3944 move-object/from16 v0, p0
3946 iget-object v4, v0, Lcom/android/server/am/ActivityManagerService;->mStickyBroadcasts:Landroid/util/SparseArray;
3950 invoke-virtual {v4, v6}, Landroid/util/SparseArray;->get(I)Ljava/lang/Object;
3952 move-result-object v60
3954 check-cast v60, Ljava/util/HashMap;
3956 if-eqz v60, :cond_3d7
3958 invoke-virtual/range {v46 .. v46}, Landroid/content/Intent;->getAction()Ljava/lang/String;
3960 move-result-object v4
3962 move-object/from16 v0, v60
3964 invoke-virtual {v0, v4}, Ljava/util/HashMap;->get(Ljava/lang/Object;)Ljava/lang/Object;
3966 move-result-object v52
3968 check-cast v52, Ljava/util/ArrayList;
3970 if-eqz v52, :cond_3d7
3972 invoke-virtual/range {v52 .. v52}, Ljava/util/ArrayList;->size()I
3983 if-ge v0, v1, :cond_3d7
3985 move-object/from16 v0, v52
3989 invoke-virtual {v0, v1}, Ljava/util/ArrayList;->get(I)Ljava/lang/Object;
3991 move-result-object v4
3993 check-cast v4, Landroid/content/Intent;
3995 move-object/from16 v0, v46
3997 invoke-virtual {v0, v4}, Landroid/content/Intent;->filterEquals(Landroid/content/Intent;)Z
4001 if-eqz v4, :cond_3d4
4003 new-instance v4, Ljava/lang/IllegalArgumentException;
4005 new-instance v6, Ljava/lang/StringBuilder;
4007 invoke-direct {v6}, Ljava/lang/StringBuilder;-><init>()V
4009 const-string v10, "Sticky broadcast "
4011 invoke-virtual {v6, v10}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
4013 move-result-object v6
4015 move-object/from16 v0, v46
4017 invoke-virtual {v6, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
4019 move-result-object v6
4021 const-string v10, " for user "
4023 invoke-virtual {v6, v10}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
4025 move-result-object v6
4029 invoke-virtual {v6, v0}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
4031 move-result-object v6
4033 const-string v10, " conflicts with existing global broadcast"
4035 invoke-virtual {v6, v10}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
4037 move-result-object v6
4039 invoke-virtual {v6}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
4041 move-result-object v6
4043 invoke-direct {v4, v6}, Ljava/lang/IllegalArgumentException;-><init>(Ljava/lang/String;)V
4048 add-int/lit8 v44, v44, 0x1
4053 move-object/from16 v0, p0
4055 iget-object v4, v0, Lcom/android/server/am/ActivityManagerService;->mStickyBroadcasts:Landroid/util/SparseArray;
4059 invoke-virtual {v4, v0}, Landroid/util/SparseArray;->get(I)Ljava/lang/Object;
4061 move-result-object v60
4063 check-cast v60, Ljava/util/HashMap;
4065 if-nez v60, :cond_3f5
4067 new-instance v60, Ljava/util/HashMap;
4069 invoke-direct/range {v60 .. v60}, Ljava/util/HashMap;-><init>()V
4071 move-object/from16 v0, p0
4073 iget-object v4, v0, Lcom/android/server/am/ActivityManagerService;->mStickyBroadcasts:Landroid/util/SparseArray;
4077 move-object/from16 v1, v60
4079 invoke-virtual {v4, v0, v1}, Landroid/util/SparseArray;->put(ILjava/lang/Object;)V
4082 invoke-virtual/range {v46 .. v46}, Landroid/content/Intent;->getAction()Ljava/lang/String;
4084 move-result-object v4
4086 move-object/from16 v0, v60
4088 invoke-virtual {v0, v4}, Ljava/util/HashMap;->get(Ljava/lang/Object;)Ljava/lang/Object;
4090 move-result-object v52
4092 check-cast v52, Ljava/util/ArrayList;
4094 if-nez v52, :cond_413
4096 new-instance v52, Ljava/util/ArrayList;
4098 invoke-direct/range {v52 .. v52}, Ljava/util/ArrayList;-><init>()V
4100 invoke-virtual/range {v46 .. v46}, Landroid/content/Intent;->getAction()Ljava/lang/String;
4102 move-result-object v4
4104 move-object/from16 v0, v60
4106 move-object/from16 v1, v52
4108 invoke-virtual {v0, v4, v1}, Ljava/util/HashMap;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
4111 invoke-virtual/range {v52 .. v52}, Ljava/util/ArrayList;->size()I
4122 if-ge v0, v1, :cond_43f
4124 move-object/from16 v0, v52
4128 invoke-virtual {v0, v1}, Ljava/util/ArrayList;->get(I)Ljava/lang/Object;
4130 move-result-object v4
4132 check-cast v4, Landroid/content/Intent;
4134 move-object/from16 v0, v46
4136 invoke-virtual {v0, v4}, Landroid/content/Intent;->filterEquals(Landroid/content/Intent;)Z
4140 if-eqz v4, :cond_568
4142 new-instance v4, Landroid/content/Intent;
4144 move-object/from16 v0, v46
4146 invoke-direct {v4, v0}, Landroid/content/Intent;-><init>(Landroid/content/Intent;)V
4148 move-object/from16 v0, v52
4152 invoke-virtual {v0, v1, v4}, Ljava/util/ArrayList;->set(ILjava/lang/Object;)Ljava/lang/Object;
4159 if-lt v0, v1, :cond_451
4161 new-instance v4, Landroid/content/Intent;
4163 move-object/from16 v0, v46
4165 invoke-direct {v4, v0}, Landroid/content/Intent;-><init>(Landroid/content/Intent;)V
4167 move-object/from16 v0, v52
4169 invoke-virtual {v0, v4}, Ljava/util/ArrayList;->add(Ljava/lang/Object;)Z
4176 if-ne v0, v4, :cond_56c
4178 move-object/from16 v0, p0
4180 iget-object v0, v0, Lcom/android/server/am/ActivityManagerService;->mStartedUserArray:[I
4182 move-object/from16 v63, v0
4189 invoke-virtual/range {v46 .. v46}, Landroid/content/Intent;->getFlags()I
4193 const/high16 v6, 0x4000
4195 and-int/2addr v4, v6
4197 if-nez v4, :cond_475
4199 move-object/from16 v0, p0
4201 move-object/from16 v1, v46
4203 move-object/from16 v2, p4
4205 move-object/from16 v3, v63
4207 invoke-direct {v0, v1, v2, v3}, Lcom/android/server/am/ActivityManagerService;->collectReceiverComponents(Landroid/content/Intent;Ljava/lang/String;[I)Ljava/util/List;
4209 move-result-object v25
4212 invoke-virtual/range {v46 .. v46}, Landroid/content/Intent;->getComponent()Landroid/content/ComponentName;
4214 move-result-object v4
4216 if-nez v4, :cond_48a
4218 move-object/from16 v0, p0
4220 iget-object v4, v0, Lcom/android/server/am/ActivityManagerService;->mReceiverResolver:Lcom/android/server/IntentResolver;
4224 move-object/from16 v0, v46
4226 move-object/from16 v1, p4
4230 invoke-virtual {v4, v0, v1, v6, v2}, Lcom/android/server/IntentResolver;->queryIntent(Landroid/content/Intent;Ljava/lang/String;ZI)Ljava/util/List;
4232 move-result-object v16
4235 invoke-virtual/range {v46 .. v46}, Landroid/content/Intent;->getFlags()I
4239 const/high16 v6, 0x2000
4241 and-int/2addr v4, v6
4243 if-eqz v4, :cond_576
4248 if-eqz v16, :cond_57a
4250 invoke-interface/range {v16 .. v16}, Ljava/util/List;->size()I
4255 if-nez p10, :cond_4de
4257 if-lez v35, :cond_4de
4259 move-object/from16 v0, p0
4261 move-object/from16 v1, v46
4263 invoke-virtual {v0, v1}, Lcom/android/server/am/ActivityManagerService;->broadcastQueueForIntent(Landroid/content/Intent;)Lcom/android/server/am/BroadcastQueue;
4265 move-result-object v9
4267 new-instance v8, Lcom/android/server/am/BroadcastRecord;
4271 move-object/from16 v10, v46
4273 move-object/from16 v11, p1
4275 move-object/from16 v12, p2
4277 move/from16 v13, p12
4279 move/from16 v14, p13
4281 move-object/from16 v15, p9
4283 move-object/from16 v17, p5
4287 move-object/from16 v19, p7
4289 move-object/from16 v20, p8
4291 move/from16 v21, p10
4293 move/from16 v22, p11
4295 move/from16 v24, p14
4297 invoke-direct/range {v8 .. v24}, Lcom/android/server/am/BroadcastRecord;-><init>(Lcom/android/server/am/BroadcastQueue;Landroid/content/Intent;Lcom/android/server/am/ProcessRecord;Ljava/lang/String;IILjava/lang/String;Ljava/util/List;Landroid/content/IIntentReceiver;ILjava/lang/String;Landroid/os/Bundle;ZZZI)V
4299 if-eqz v56, :cond_57e
4301 invoke-virtual {v9, v8}, Lcom/android/server/am/BroadcastQueue;->replaceParallelBroadcastLocked(Lcom/android/server/am/BroadcastRecord;)Z
4305 if-eqz v4, :cond_57e
4310 if-nez v57, :cond_4da
4312 invoke-virtual {v9, v8}, Lcom/android/server/am/BroadcastQueue;->enqueueParallelBroadcastLocked(Lcom/android/server/am/BroadcastRecord;)V
4314 invoke-virtual {v9}, Lcom/android/server/am/BroadcastQueue;->scheduleBroadcastsLocked()V
4324 if-eqz v25, :cond_5ee
4328 const-string v4, "android.intent.action.PACKAGE_ADDED"
4330 invoke-virtual/range {v46 .. v46}, Landroid/content/Intent;->getAction()Ljava/lang/String;
4332 move-result-object v6
4334 invoke-virtual {v4, v6}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
4338 if-nez v4, :cond_508
4340 const-string v4, "android.intent.action.PACKAGE_RESTARTED"
4342 invoke-virtual/range {v46 .. v46}, Landroid/content/Intent;->getAction()Ljava/lang/String;
4344 move-result-object v6
4346 invoke-virtual {v4, v6}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
4350 if-nez v4, :cond_508
4352 const-string v4, "android.intent.action.PACKAGE_DATA_CLEARED"
4354 invoke-virtual/range {v46 .. v46}, Landroid/content/Intent;->getAction()Ljava/lang/String;
4356 move-result-object v6
4358 invoke-virtual {v4, v6}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
4362 if-eqz v4, :cond_582
4365 invoke-virtual/range {v46 .. v46}, Landroid/content/Intent;->getData()Landroid/net/Uri;
4367 move-result-object v42
4369 if-eqz v42, :cond_51c
4371 invoke-virtual/range {v42 .. v42}, Landroid/net/Uri;->getSchemeSpecificPart()Ljava/lang/String;
4373 move-result-object v54
4375 if-eqz v54, :cond_51c
4379 new-array v0, v4, [Ljava/lang/String;
4381 move-object/from16 v59, v0
4385 aput-object v54, v59, v4
4389 if-eqz v59, :cond_59a
4391 move-object/from16 v0, v59
4395 if-lez v4, :cond_59a
4397 move-object/from16 v37, v59
4399 move-object/from16 v0, v37
4412 if-ge v0, v1, :cond_59a
4414 aget-object v58, v37, v45
4416 if-eqz v58, :cond_597
4418 invoke-interface/range {v25 .. v25}, Ljava/util/List;->size()I
4429 if-ge v0, v1, :cond_597
4431 move-object/from16 v0, v25
4435 invoke-interface {v0, v1}, Ljava/util/List;->get(I)Ljava/lang/Object;
4437 move-result-object v41
4439 check-cast v41, Landroid/content/pm/ResolveInfo;
4441 move-object/from16 v0, v41
4443 iget-object v4, v0, Landroid/content/pm/ResolveInfo;->activityInfo:Landroid/content/pm/ActivityInfo;
4445 iget-object v4, v4, Landroid/content/pm/ActivityInfo;->packageName:Ljava/lang/String;
4447 move-object/from16 v0, v58
4449 invoke-virtual {v4, v0}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
4453 if-eqz v4, :cond_565
4455 move-object/from16 v0, v25
4459 invoke-interface {v0, v1}, Ljava/util/List;->remove(I)Ljava/lang/Object;
4461 add-int/lit8 v49, v49, -0x1
4463 add-int/lit8 v36, v36, -0x1
4466 add-int/lit8 v49, v49, 0x1
4471 add-int/lit8 v44, v44, 0x1
4478 new-array v0, v4, [I
4480 move-object/from16 v63, v0
4504 const-string v4, "android.intent.action.EXTERNAL_APPLICATIONS_AVAILABLE"
4506 invoke-virtual/range {v46 .. v46}, Landroid/content/Intent;->getAction()Ljava/lang/String;
4508 move-result-object v6
4510 invoke-virtual {v4, v6}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
4514 if-eqz v4, :cond_51c
4516 const-string v4, "android.intent.extra.changed_package_list"
4518 move-object/from16 v0, v46
4520 invoke-virtual {v0, v4}, Landroid/content/Intent;->getStringArrayExtra(Ljava/lang/String;)[Ljava/lang/String;
4522 move-result-object v59
4527 add-int/lit8 v45, v45, 0x1
4532 if-eqz v25, :cond_5e6
4534 invoke-interface/range {v25 .. v25}, Ljava/util/List;->size()I
4550 if-ge v0, v1, :cond_5ee
4556 if-ge v0, v1, :cond_5ee
4558 if-nez v41, :cond_5be
4560 move-object/from16 v0, v25
4564 invoke-interface {v0, v1}, Ljava/util/List;->get(I)Ljava/lang/Object;
4566 move-result-object v41
4568 check-cast v41, Landroid/content/pm/ResolveInfo;
4571 if-nez v40, :cond_5ca
4573 move-object/from16 v0, v16
4577 invoke-interface {v0, v1}, Ljava/util/List;->get(I)Ljava/lang/Object;
4579 move-result-object v40
4581 check-cast v40, Lcom/android/server/am/BroadcastFilter;
4584 invoke-virtual/range {v40 .. v40}, Lcom/android/server/am/BroadcastFilter;->getPriority()I
4588 move-object/from16 v0, v41
4590 iget v6, v0, Landroid/content/pm/ResolveInfo;->priority:I
4592 if-lt v4, v6, :cond_5e9
4594 move-object/from16 v0, v25
4598 move-object/from16 v2, v40
4600 invoke-interface {v0, v1, v2}, Ljava/util/List;->add(ILjava/lang/Object;)V
4602 add-int/lit8 v48, v48, 0x1
4606 add-int/lit8 v49, v49, 0x1
4608 add-int/lit8 v36, v36, 0x1
4618 add-int/lit8 v49, v49, 0x1
4630 if-ge v0, v1, :cond_60b
4632 if-nez v25, :cond_5fb
4634 new-instance v25, Ljava/util/ArrayList;
4636 invoke-direct/range {v25 .. v25}, Ljava/util/ArrayList;-><init>()V
4639 move-object/from16 v0, v16
4643 invoke-interface {v0, v1}, Ljava/util/List;->get(I)Ljava/lang/Object;
4645 move-result-object v4
4647 move-object/from16 v0, v25
4649 invoke-interface {v0, v4}, Ljava/util/List;->add(Ljava/lang/Object;)Z
4651 add-int/lit8 v48, v48, 0x1
4656 if-eqz v25, :cond_613
4658 invoke-interface/range {v25 .. v25}, Ljava/util/List;->size()I
4662 if-gtz v4, :cond_615
4665 if-eqz p5, :cond_654
4668 move-object/from16 v0, p0
4670 move-object/from16 v1, v46
4672 invoke-virtual {v0, v1}, Lcom/android/server/am/ActivityManagerService;->broadcastQueueForIntent(Landroid/content/Intent;)Lcom/android/server/am/BroadcastQueue;
4674 move-result-object v9
4676 new-instance v8, Lcom/android/server/am/BroadcastRecord;
4680 move-object/from16 v17, v8
4682 move-object/from16 v18, v9
4684 move-object/from16 v19, v46
4686 move-object/from16 v20, p1
4688 move-object/from16 v21, p2
4690 move/from16 v22, p12
4692 move/from16 v23, p13
4694 move-object/from16 v24, p9
4696 move-object/from16 v26, p5
4700 move-object/from16 v28, p7
4702 move-object/from16 v29, p8
4704 move/from16 v30, p10
4706 move/from16 v31, p11
4708 move/from16 v33, p14
4710 invoke-direct/range {v17 .. v33}, Lcom/android/server/am/BroadcastRecord;-><init>(Lcom/android/server/am/BroadcastQueue;Landroid/content/Intent;Lcom/android/server/am/ProcessRecord;Ljava/lang/String;IILjava/lang/String;Ljava/util/List;Landroid/content/IIntentReceiver;ILjava/lang/String;Landroid/os/Bundle;ZZZI)V
4712 if-eqz v56, :cond_657
4714 invoke-virtual {v9, v8}, Lcom/android/server/am/BroadcastQueue;->replaceOrderedBroadcastLocked(Lcom/android/server/am/BroadcastRecord;)Z
4718 if-eqz v4, :cond_657
4723 if-nez v57, :cond_654
4725 invoke-virtual {v9, v8}, Lcom/android/server/am/BroadcastQueue;->enqueueOrderedBroadcastLocked(Lcom/android/server/am/BroadcastRecord;)V
4727 invoke-virtual {v9}, Lcom/android/server/am/BroadcastQueue;->scheduleBroadcastsLocked()V
4740 .method private static buildOomTag(Ljava/lang/String;Ljava/lang/String;II)Ljava/lang/String;
4743 if-ne p2, p3, :cond_19
4751 new-instance v0, Ljava/lang/StringBuilder;
4753 invoke-direct {v0}, Ljava/lang/StringBuilder;-><init>()V
4755 invoke-virtual {v0, p0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
4757 move-result-object v0
4759 const-string v1, " "
4761 invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
4763 move-result-object v0
4765 invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
4767 move-result-object p0
4772 new-instance v0, Ljava/lang/StringBuilder;
4774 invoke-direct {v0}, Ljava/lang/StringBuilder;-><init>()V
4776 invoke-virtual {v0, p0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
4778 move-result-object v0
4780 const-string v1, "+"
4782 invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
4784 move-result-object v0
4788 invoke-static {v1}, Ljava/lang/Integer;->toString(I)Ljava/lang/String;
4790 move-result-object v1
4792 invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
4794 move-result-object v0
4796 invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
4798 move-result-object p0
4803 .method private final canGcNowLocked()Z
4808 iget-object v0, p0, Lcom/android/server/am/ActivityManagerService;->mBroadcastQueues:[Lcom/android/server/am/BroadcastQueue;
4815 if-ge v1, v2, :cond_1d
4817 aget-object v4, v0, v1
4819 iget-object v5, v4, Lcom/android/server/am/BroadcastQueue;->mParallelBroadcasts:Ljava/util/ArrayList;
4821 invoke-virtual {v5}, Ljava/util/ArrayList;->size()I
4827 iget-object v5, v4, Lcom/android/server/am/BroadcastQueue;->mOrderedBroadcasts:Ljava/util/ArrayList;
4829 invoke-virtual {v5}, Ljava/util/ArrayList;->size()I
4839 add-int/lit8 v1, v1, 0x1
4846 iget-boolean v5, p0, Lcom/android/server/am/ActivityManagerService;->mSleeping:Z
4850 iget-object v5, p0, Lcom/android/server/am/ActivityManagerService;->mMainStack:Lcom/android/server/am/ActivityStack;
4852 iget-object v5, v5, Lcom/android/server/am/ActivityStack;->mResumedActivity:Lcom/android/server/am/ActivityRecord;
4856 iget-object v5, p0, Lcom/android/server/am/ActivityManagerService;->mMainStack:Lcom/android/server/am/ActivityStack;
4858 iget-object v5, v5, Lcom/android/server/am/ActivityStack;->mResumedActivity:Lcom/android/server/am/ActivityRecord;
4860 iget-boolean v5, v5, Lcom/android/server/am/ActivityRecord;->idle:Z
4876 .method private final checkContentProviderPermissionLocked(Landroid/content/pm/ProviderInfo;Lcom/android/server/am/ProcessRecord;)Ljava/lang/String;
4883 iget v2, p2, Lcom/android/server/am/ProcessRecord;->pid:I
4888 iget v3, p2, Lcom/android/server/am/ProcessRecord;->uid:I
4891 iget-object v1, p1, Landroid/content/pm/ProviderInfo;->readPermission:Ljava/lang/String;
4893 iget-object v0, p1, Landroid/content/pm/ProviderInfo;->applicationInfo:Landroid/content/pm/ApplicationInfo;
4895 iget v4, v0, Landroid/content/pm/ApplicationInfo;->uid:I
4897 iget-boolean v5, p1, Landroid/content/pm/ProviderInfo;->exported:Z
4901 invoke-virtual/range {v0 .. v5}, Lcom/android/server/am/ActivityManagerService;->checkComponentPermission(Ljava/lang/String;IIIZ)I
4912 invoke-static {}, Landroid/os/Binder;->getCallingPid()I
4919 invoke-static {}, Landroid/os/Binder;->getCallingUid()I
4926 iget-object v1, p1, Landroid/content/pm/ProviderInfo;->writePermission:Ljava/lang/String;
4928 iget-object v0, p1, Landroid/content/pm/ProviderInfo;->applicationInfo:Landroid/content/pm/ApplicationInfo;
4930 iget v4, v0, Landroid/content/pm/ApplicationInfo;->uid:I
4932 iget-boolean v5, p1, Landroid/content/pm/ProviderInfo;->exported:Z
4936 invoke-virtual/range {v0 .. v5}, Lcom/android/server/am/ActivityManagerService;->checkComponentPermission(Ljava/lang/String;IIIZ)I
4942 iget-object v11, p1, Landroid/content/pm/ProviderInfo;->pathPermissions:[Landroid/content/pm/PathPermission;
4944 if-eqz v11, :cond_60
4946 array-length v6, v11
4951 add-int/lit8 v6, v6, -0x1
4953 aget-object v10, v11, v6
4955 invoke-virtual {v10}, Landroid/content/pm/PathPermission;->getReadPermission()Ljava/lang/String;
4957 move-result-object v1
4959 iget-object v0, p1, Landroid/content/pm/ProviderInfo;->applicationInfo:Landroid/content/pm/ApplicationInfo;
4961 iget v4, v0, Landroid/content/pm/ApplicationInfo;->uid:I
4963 iget-boolean v5, p1, Landroid/content/pm/ProviderInfo;->exported:Z
4967 invoke-virtual/range {v0 .. v5}, Lcom/android/server/am/ActivityManagerService;->checkComponentPermission(Ljava/lang/String;IIIZ)I
4973 invoke-virtual {v10}, Landroid/content/pm/PathPermission;->getWritePermission()Ljava/lang/String;
4975 move-result-object v1
4977 iget-object v0, p1, Landroid/content/pm/ProviderInfo;->applicationInfo:Landroid/content/pm/ApplicationInfo;
4979 iget v4, v0, Landroid/content/pm/ApplicationInfo;->uid:I
4981 iget-boolean v5, p1, Landroid/content/pm/ProviderInfo;->exported:Z
4985 invoke-virtual/range {v0 .. v5}, Lcom/android/server/am/ActivityManagerService;->checkComponentPermission(Ljava/lang/String;IIIZ)I
4994 iget-object v0, p0, Lcom/android/server/am/ActivityManagerService;->mGrantedUriPermissions:Landroid/util/SparseArray;
4996 invoke-virtual {v0, v3}, Landroid/util/SparseArray;->get(I)Ljava/lang/Object;
4998 move-result-object v9
5000 check-cast v9, Ljava/util/HashMap;
5004 invoke-virtual {v9}, Ljava/util/HashMap;->entrySet()Ljava/util/Set;
5006 move-result-object v0
5008 invoke-interface {v0}, Ljava/util/Set;->iterator()Ljava/util/Iterator;
5010 move-result-object v7
5013 invoke-interface {v7}, Ljava/util/Iterator;->hasNext()Z
5019 invoke-interface {v7}, Ljava/util/Iterator;->next()Ljava/lang/Object;
5021 move-result-object v12
5023 check-cast v12, Ljava/util/Map$Entry;
5025 invoke-interface {v12}, Ljava/util/Map$Entry;->getKey()Ljava/lang/Object;
5027 move-result-object v0
5029 check-cast v0, Landroid/net/Uri;
5031 invoke-virtual {v0}, Landroid/net/Uri;->getAuthority()Ljava/lang/String;
5033 move-result-object v0
5035 iget-object v1, p1, Landroid/content/pm/ProviderInfo;->authority:Ljava/lang/String;
5037 invoke-virtual {v0, v1}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
5046 iget-boolean v0, p1, Landroid/content/pm/ProviderInfo;->exported:Z
5050 new-instance v0, Ljava/lang/StringBuilder;
5052 invoke-direct {v0}, Ljava/lang/StringBuilder;-><init>()V
5054 const-string v1, "Permission Denial: opening provider "
5056 invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
5058 move-result-object v0
5060 iget-object v1, p1, Landroid/content/pm/ProviderInfo;->name:Ljava/lang/String;
5062 invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
5064 move-result-object v0
5066 const-string v1, " from "
5068 invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
5070 move-result-object v0
5075 invoke-virtual {v0, p2}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
5077 move-result-object v0
5079 const-string v1, " (pid="
5081 invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
5083 move-result-object v0
5085 invoke-virtual {v0, v2}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
5087 move-result-object v0
5089 const-string v1, ", uid="
5091 invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
5093 move-result-object v0
5095 invoke-virtual {v0, v3}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
5097 move-result-object v0
5099 const-string v1, ") that is not exported from uid "
5101 invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
5103 move-result-object v0
5105 iget-object v1, p1, Landroid/content/pm/ProviderInfo;->applicationInfo:Landroid/content/pm/ApplicationInfo;
5107 iget v1, v1, Landroid/content/pm/ApplicationInfo;->uid:I
5109 invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
5111 move-result-object v0
5113 invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
5115 move-result-object v8
5118 const-string v0, "ActivityManager"
5120 invoke-static {v0, v8}, Landroid/util/Slog;->w(Ljava/lang/String;Ljava/lang/String;)I
5125 const-string p2, "(null)"
5130 new-instance v0, Ljava/lang/StringBuilder;
5132 invoke-direct {v0}, Ljava/lang/StringBuilder;-><init>()V
5134 const-string v1, "Permission Denial: opening provider "
5136 invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
5138 move-result-object v0
5140 iget-object v1, p1, Landroid/content/pm/ProviderInfo;->name:Ljava/lang/String;
5142 invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
5144 move-result-object v0
5146 const-string v1, " from "
5148 invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
5150 move-result-object v0
5152 if-eqz p2, :cond_130
5155 invoke-virtual {v0, p2}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
5157 move-result-object v0
5159 const-string v1, " (pid="
5161 invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
5163 move-result-object v0
5165 invoke-virtual {v0, v2}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
5167 move-result-object v0
5169 const-string v1, ", uid="
5171 invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
5173 move-result-object v0
5175 invoke-virtual {v0, v3}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
5177 move-result-object v0
5179 const-string v1, ") requires "
5181 invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
5183 move-result-object v0
5185 iget-object v1, p1, Landroid/content/pm/ProviderInfo;->readPermission:Ljava/lang/String;
5187 invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
5189 move-result-object v0
5191 const-string v1, " or "
5193 invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
5195 move-result-object v0
5197 iget-object v1, p1, Landroid/content/pm/ProviderInfo;->writePermission:Ljava/lang/String;
5199 invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
5201 move-result-object v0
5203 invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
5205 move-result-object v8
5210 const-string p2, "(null)"
5215 .method private final checkHoldingPermissionsLocked(Landroid/content/pm/IPackageManager;Landroid/content/pm/ProviderInfo;Landroid/net/Uri;II)Z
5218 iget-object v12, p2, Landroid/content/pm/ProviderInfo;->applicationInfo:Landroid/content/pm/ApplicationInfo;
5220 iget v12, v12, Landroid/content/pm/ApplicationInfo;->uid:I
5224 if-ne v12, v0, :cond_a
5232 iget-boolean v12, p2, Landroid/content/pm/ProviderInfo;->exported:Z
5234 if-nez v12, :cond_10
5241 and-int/lit8 v12, p5, 0x1
5243 if-nez v12, :cond_82
5248 and-int/lit8 v12, p5, 0x2
5250 if-nez v12, :cond_84
5255 if-nez v10, :cond_2b
5258 iget-object v12, p2, Landroid/content/pm/ProviderInfo;->readPermission:Ljava/lang/String;
5260 if-eqz v12, :cond_2b
5262 iget-object v12, p2, Landroid/content/pm/ProviderInfo;->readPermission:Ljava/lang/String;
5266 invoke-interface {p1, v12, v0}, Landroid/content/pm/IPackageManager;->checkUidPermission(Ljava/lang/String;I)I
5270 if-nez v12, :cond_2b
5275 if-nez v11, :cond_3c
5277 iget-object v12, p2, Landroid/content/pm/ProviderInfo;->writePermission:Ljava/lang/String;
5279 if-eqz v12, :cond_3c
5281 iget-object v12, p2, Landroid/content/pm/ProviderInfo;->writePermission:Ljava/lang/String;
5285 invoke-interface {p1, v12, v0}, Landroid/content/pm/IPackageManager;->checkUidPermission(Ljava/lang/String;I)I
5289 if-nez v12, :cond_3c
5294 iget-object v12, p2, Landroid/content/pm/ProviderInfo;->readPermission:Ljava/lang/String;
5296 if-nez v12, :cond_86
5301 iget-object v12, p2, Landroid/content/pm/ProviderInfo;->writePermission:Ljava/lang/String;
5303 if-nez v12, :cond_88
5308 iget-object v8, p2, Landroid/content/pm/ProviderInfo;->pathPermissions:[Landroid/content/pm/PathPermission;
5312 invoke-virtual/range {p3 .. p3}, Landroid/net/Uri;->getPath()Ljava/lang/String;
5314 move-result-object v5
5322 if-eqz v10, :cond_55
5324 if-nez v11, :cond_8e
5327 add-int/lit8 v4, v4, -0x1
5329 aget-object v6, v8, v4
5331 invoke-virtual {v6, v5}, Landroid/content/pm/PathPermission;->match(Ljava/lang/String;)Z
5335 if-eqz v12, :cond_4f
5337 if-nez v10, :cond_70
5339 invoke-virtual {v6}, Landroid/content/pm/PathPermission;->getReadPermission()Ljava/lang/String;
5341 move-result-object v7
5347 invoke-interface {p1, v7, v0}, Landroid/content/pm/IPackageManager;->checkUidPermission(Ljava/lang/String;I)I
5351 if-nez v12, :cond_8a
5357 if-nez v11, :cond_4f
5359 invoke-virtual {v6}, Landroid/content/pm/PathPermission;->getWritePermission()Ljava/lang/String;
5361 move-result-object v9
5367 invoke-interface {p1, v9, v0}, Landroid/content/pm/IPackageManager;->checkUidPermission(Ljava/lang/String;I)I
5369 .catch Landroid/os/RemoteException; {:try_start_1c .. :try_end_7d} :catch_9b
5373 if-nez v12, :cond_8c
5420 if-eqz v10, :cond_9f
5422 if-eqz v11, :cond_9f
5441 .method private final checkUriPermissionLocked(Landroid/net/Uri;II)Z
5455 iget-object v4, p0, Lcom/android/server/am/ActivityManagerService;->mGrantedUriPermissions:Landroid/util/SparseArray;
5457 invoke-virtual {v4, p2}, Landroid/util/SparseArray;->get(I)Ljava/lang/Object;
5459 move-result-object v1
5461 check-cast v1, Ljava/util/HashMap;
5470 invoke-virtual {v1, p1}, Ljava/util/HashMap;->get(Ljava/lang/Object;)Ljava/lang/Object;
5472 move-result-object v0
5474 check-cast v0, Lcom/android/server/am/UriPermission;
5483 iget v4, v0, Lcom/android/server/am/UriPermission;->modeFlags:I
5485 and-int/2addr v4, p3
5487 if-eq v4, p3, :cond_4
5494 .method private checkValidCaller(II)V
5497 invoke-static {p1}, Landroid/os/UserHandle;->getUserId(I)I
5501 if-eq v0, p2, :cond_c
5505 if-eq p1, v0, :cond_c
5513 new-instance v0, Ljava/lang/SecurityException;
5515 new-instance v1, Ljava/lang/StringBuilder;
5517 invoke-direct {v1}, Ljava/lang/StringBuilder;-><init>()V
5519 const-string v2, "Caller uid="
5521 invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
5523 move-result-object v1
5525 invoke-virtual {v1, p1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
5527 move-result-object v1
5529 const-string v2, " is not privileged to communicate with user="
5531 invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
5533 move-result-object v1
5535 invoke-virtual {v1, p2}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
5537 move-result-object v1
5539 invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
5541 move-result-object v1
5543 invoke-direct {v0, v1}, Ljava/lang/SecurityException;-><init>(Ljava/lang/String;)V
5548 .method private final cleanUpApplicationRecordLocked(Lcom/android/server/am/ProcessRecord;ZZI)V
5553 move-object/from16 v0, p0
5555 iget-object v11, v0, Lcom/android/server/am/ActivityManagerService;->mLruProcesses:Ljava/util/ArrayList;
5559 invoke-virtual {v11, v0}, Ljava/util/ArrayList;->remove(I)Ljava/lang/Object;
5562 move-object/from16 v0, p0
5564 iget-object v11, v0, Lcom/android/server/am/ActivityManagerService;->mProcessesToGc:Ljava/util/ArrayList;
5566 move-object/from16 v0, p1
5568 invoke-virtual {v11, v0}, Ljava/util/ArrayList;->remove(Ljava/lang/Object;)Z
5570 move-object/from16 v0, p1
5572 iget-object v11, v0, Lcom/android/server/am/ProcessRecord;->crashDialog:Landroid/app/Dialog;
5574 if-eqz v11, :cond_26
5576 move-object/from16 v0, p1
5578 iget-object v11, v0, Lcom/android/server/am/ProcessRecord;->crashDialog:Landroid/app/Dialog;
5580 invoke-virtual {v11}, Landroid/app/Dialog;->dismiss()V
5584 move-object/from16 v0, p1
5586 iput-object v11, v0, Lcom/android/server/am/ProcessRecord;->crashDialog:Landroid/app/Dialog;
5589 move-object/from16 v0, p1
5591 iget-object v11, v0, Lcom/android/server/am/ProcessRecord;->anrDialog:Landroid/app/Dialog;
5593 if-eqz v11, :cond_38
5595 move-object/from16 v0, p1
5597 iget-object v11, v0, Lcom/android/server/am/ProcessRecord;->anrDialog:Landroid/app/Dialog;
5599 invoke-virtual {v11}, Landroid/app/Dialog;->dismiss()V
5603 move-object/from16 v0, p1
5605 iput-object v11, v0, Lcom/android/server/am/ProcessRecord;->anrDialog:Landroid/app/Dialog;
5608 move-object/from16 v0, p1
5610 iget-object v11, v0, Lcom/android/server/am/ProcessRecord;->waitDialog:Landroid/app/Dialog;
5612 if-eqz v11, :cond_4a
5614 move-object/from16 v0, p1
5616 iget-object v11, v0, Lcom/android/server/am/ProcessRecord;->waitDialog:Landroid/app/Dialog;
5618 invoke-virtual {v11}, Landroid/app/Dialog;->dismiss()V
5622 move-object/from16 v0, p1
5624 iput-object v11, v0, Lcom/android/server/am/ProcessRecord;->waitDialog:Landroid/app/Dialog;
5629 move-object/from16 v0, p1
5631 iput-boolean v11, v0, Lcom/android/server/am/ProcessRecord;->crashing:Z
5635 move-object/from16 v0, p1
5637 iput-boolean v11, v0, Lcom/android/server/am/ProcessRecord;->notResponding:Z
5639 invoke-virtual/range {p1 .. p1}, Lcom/android/server/am/ProcessRecord;->resetPackageList()V
5641 invoke-virtual/range {p1 .. p1}, Lcom/android/server/am/ProcessRecord;->unlinkDeathRecipient()V
5645 move-object/from16 v0, p1
5647 iput-object v11, v0, Lcom/android/server/am/ProcessRecord;->thread:Landroid/app/IApplicationThread;
5651 move-object/from16 v0, p1
5653 iput-object v11, v0, Lcom/android/server/am/ProcessRecord;->forcingToForeground:Landroid/os/IBinder;
5657 move-object/from16 v0, p1
5659 iput-boolean v11, v0, Lcom/android/server/am/ProcessRecord;->foregroundServices:Z
5663 move-object/from16 v0, p1
5665 iput-boolean v11, v0, Lcom/android/server/am/ProcessRecord;->foregroundActivities:Z
5669 move-object/from16 v0, p1
5671 iput-boolean v11, v0, Lcom/android/server/am/ProcessRecord;->hasShownUi:Z
5675 move-object/from16 v0, p1
5677 iput-boolean v11, v0, Lcom/android/server/am/ProcessRecord;->hasAboveClient:Z
5679 move-object/from16 v0, p0
5681 iget-object v11, v0, Lcom/android/server/am/ActivityManagerService;->mServices:Lcom/android/server/am/ActiveServices;
5683 move-object/from16 v0, p1
5687 invoke-virtual {v11, v0, v1}, Lcom/android/server/am/ActiveServices;->killServicesLocked(Lcom/android/server/am/ProcessRecord;Z)V
5691 move-object/from16 v0, p1
5693 iget-object v11, v0, Lcom/android/server/am/ProcessRecord;->pubProviders:Ljava/util/HashMap;
5695 invoke-virtual {v11}, Ljava/util/HashMap;->isEmpty()Z
5699 if-nez v11, :cond_cc
5701 move-object/from16 v0, p1
5703 iget-object v11, v0, Lcom/android/server/am/ProcessRecord;->pubProviders:Ljava/util/HashMap;
5705 invoke-virtual {v11}, Ljava/util/HashMap;->values()Ljava/util/Collection;
5707 move-result-object v11
5709 invoke-interface {v11}, Ljava/util/Collection;->iterator()Ljava/util/Iterator;
5711 move-result-object v7
5714 invoke-interface {v7}, Ljava/util/Iterator;->hasNext()Z
5718 if-eqz v11, :cond_c5
5720 invoke-interface {v7}, Ljava/util/Iterator;->next()Ljava/lang/Object;
5722 move-result-object v5
5724 check-cast v5, Lcom/android/server/am/ContentProviderRecord;
5726 move-object/from16 v0, p1
5728 iget-boolean v11, v0, Lcom/android/server/am/ProcessRecord;->bad:Z
5730 if-nez v11, :cond_ae
5738 move-object/from16 v0, p0
5740 move-object/from16 v1, p1
5742 invoke-direct {v0, v1, v5, v2}, Lcom/android/server/am/ActivityManagerService;->removeDyingProviderLocked(Lcom/android/server/am/ProcessRecord;Lcom/android/server/am/ContentProviderRecord;Z)Z
5746 if-nez v11, :cond_bb
5756 iput-object v11, v5, Lcom/android/server/am/ContentProviderRecord;->provider:Landroid/content/IContentProvider;
5760 iput-object v11, v5, Lcom/android/server/am/ContentProviderRecord;->proc:Lcom/android/server/am/ProcessRecord;
5770 move-object/from16 v0, p1
5772 iget-object v11, v0, Lcom/android/server/am/ProcessRecord;->pubProviders:Ljava/util/HashMap;
5774 invoke-virtual {v11}, Ljava/util/HashMap;->clear()V
5779 move-object/from16 v0, p0
5781 move-object/from16 v1, p1
5783 invoke-virtual {v0, v1, v11}, Lcom/android/server/am/ActivityManagerService;->checkAppInLaunchingProvidersLocked(Lcom/android/server/am/ProcessRecord;Z)Z
5787 if-eqz v11, :cond_d8
5792 move-object/from16 v0, p1
5794 iget-object v11, v0, Lcom/android/server/am/ProcessRecord;->conProviders:Ljava/util/ArrayList;
5796 invoke-virtual {v11}, Ljava/util/ArrayList;->isEmpty()Z
5800 if-nez v11, :cond_108
5805 move-object/from16 v0, p1
5807 iget-object v11, v0, Lcom/android/server/am/ProcessRecord;->conProviders:Ljava/util/ArrayList;
5809 invoke-virtual {v11}, Ljava/util/ArrayList;->size()I
5813 if-ge v6, v11, :cond_101
5815 move-object/from16 v0, p1
5817 iget-object v11, v0, Lcom/android/server/am/ProcessRecord;->conProviders:Ljava/util/ArrayList;
5819 invoke-virtual {v11, v6}, Ljava/util/ArrayList;->get(I)Ljava/lang/Object;
5821 move-result-object v4
5823 check-cast v4, Lcom/android/server/am/ContentProviderConnection;
5825 iget-object v11, v4, Lcom/android/server/am/ContentProviderConnection;->provider:Lcom/android/server/am/ContentProviderRecord;
5827 iget-object v11, v11, Lcom/android/server/am/ContentProviderRecord;->connections:Ljava/util/ArrayList;
5829 invoke-virtual {v11, v4}, Ljava/util/ArrayList;->remove(Ljava/lang/Object;)Z
5831 add-int/lit8 v6, v6, 0x1
5836 move-object/from16 v0, p1
5838 iget-object v11, v0, Lcom/android/server/am/ProcessRecord;->conProviders:Ljava/util/ArrayList;
5840 invoke-virtual {v11}, Ljava/util/ArrayList;->clear()V
5843 invoke-virtual/range {p0 .. p1}, Lcom/android/server/am/ActivityManagerService;->skipCurrentReceiverLocked(Lcom/android/server/am/ProcessRecord;)V
5845 move-object/from16 v0, p1
5847 iget-object v11, v0, Lcom/android/server/am/ProcessRecord;->receivers:Ljava/util/HashSet;
5849 invoke-virtual {v11}, Ljava/util/HashSet;->size()I
5853 if-lez v11, :cond_136
5855 move-object/from16 v0, p1
5857 iget-object v11, v0, Lcom/android/server/am/ProcessRecord;->receivers:Ljava/util/HashSet;
5859 invoke-virtual {v11}, Ljava/util/HashSet;->iterator()Ljava/util/Iterator;
5861 move-result-object v8
5864 invoke-interface {v8}, Ljava/util/Iterator;->hasNext()Z
5868 if-eqz v11, :cond_12f
5870 invoke-interface {v8}, Ljava/util/Iterator;->next()Ljava/lang/Object;
5872 move-result-object v11
5874 check-cast v11, Lcom/android/server/am/ReceiverList;
5876 move-object/from16 v0, p0
5878 invoke-virtual {v0, v11}, Lcom/android/server/am/ActivityManagerService;->removeReceiverLocked(Lcom/android/server/am/ReceiverList;)V
5883 move-object/from16 v0, p1
5885 iget-object v11, v0, Lcom/android/server/am/ProcessRecord;->receivers:Ljava/util/HashSet;
5887 invoke-virtual {v11}, Ljava/util/HashSet;->clear()V
5890 move-object/from16 v0, p0
5892 iget-object v11, v0, Lcom/android/server/am/ActivityManagerService;->mBackupTarget:Lcom/android/server/am/BackupRecord;
5894 if-eqz v11, :cond_15d
5896 move-object/from16 v0, p1
5898 iget v11, v0, Lcom/android/server/am/ProcessRecord;->pid:I
5900 move-object/from16 v0, p0
5902 iget-object v12, v0, Lcom/android/server/am/ActivityManagerService;->mBackupTarget:Lcom/android/server/am/BackupRecord;
5904 iget-object v12, v12, Lcom/android/server/am/BackupRecord;->app:Lcom/android/server/am/ProcessRecord;
5906 iget v12, v12, Lcom/android/server/am/ProcessRecord;->pid:I
5908 if-ne v11, v12, :cond_15d
5911 const-string v11, "backup"
5913 invoke-static {v11}, Landroid/os/ServiceManager;->getService(Ljava/lang/String;)Landroid/os/IBinder;
5915 move-result-object v11
5917 invoke-static {v11}, Landroid/app/backup/IBackupManager$Stub;->asInterface(Landroid/os/IBinder;)Landroid/app/backup/IBackupManager;
5919 move-result-object v3
5921 move-object/from16 v0, p1
5923 iget-object v11, v0, Lcom/android/server/am/ProcessRecord;->info:Landroid/content/pm/ApplicationInfo;
5925 iget-object v11, v11, Landroid/content/pm/ApplicationInfo;->packageName:Ljava/lang/String;
5927 invoke-interface {v3, v11}, Landroid/app/backup/IBackupManager;->agentDisconnected(Ljava/lang/String;)V
5929 .catch Landroid/os/RemoteException; {:try_start_14a .. :try_end_15d} :catch_28f
5933 move-object/from16 v0, p0
5935 iget-object v11, v0, Lcom/android/server/am/ActivityManagerService;->mPendingProcessChanges:Ljava/util/ArrayList;
5937 invoke-virtual {v11}, Ljava/util/ArrayList;->size()I
5941 add-int/lit8 v6, v11, -0x1
5944 if-ltz v6, :cond_18c
5946 move-object/from16 v0, p0
5948 iget-object v11, v0, Lcom/android/server/am/ActivityManagerService;->mPendingProcessChanges:Ljava/util/ArrayList;
5950 invoke-virtual {v11, v6}, Ljava/util/ArrayList;->get(I)Ljava/lang/Object;
5952 move-result-object v9
5954 check-cast v9, Lcom/android/server/am/ActivityManagerService$ProcessChangeItem;
5956 iget v11, v9, Lcom/android/server/am/ActivityManagerService$ProcessChangeItem;->pid:I
5958 move-object/from16 v0, p1
5960 iget v12, v0, Lcom/android/server/am/ProcessRecord;->pid:I
5962 if-ne v11, v12, :cond_189
5964 move-object/from16 v0, p0
5966 iget-object v11, v0, Lcom/android/server/am/ActivityManagerService;->mPendingProcessChanges:Ljava/util/ArrayList;
5968 invoke-virtual {v11, v6}, Ljava/util/ArrayList;->remove(I)Ljava/lang/Object;
5970 move-object/from16 v0, p0
5972 iget-object v11, v0, Lcom/android/server/am/ActivityManagerService;->mAvailProcessChanges:Ljava/util/ArrayList;
5974 invoke-virtual {v11, v9}, Ljava/util/ArrayList;->add(Ljava/lang/Object;)Z
5977 add-int/lit8 v6, v6, -0x1
5982 move-object/from16 v0, p0
5984 iget-object v11, v0, Lcom/android/server/am/ActivityManagerService;->mHandler:Landroid/os/Handler;
5988 move-object/from16 v0, p1
5990 iget v13, v0, Lcom/android/server/am/ProcessRecord;->pid:I
5992 move-object/from16 v0, p1
5994 iget-object v14, v0, Lcom/android/server/am/ProcessRecord;->info:Landroid/content/pm/ApplicationInfo;
5996 iget v14, v14, Landroid/content/pm/ApplicationInfo;->uid:I
6000 invoke-virtual {v11, v12, v13, v14, v15}, Landroid/os/Handler;->obtainMessage(IIILjava/lang/Object;)Landroid/os/Message;
6002 move-result-object v11
6004 invoke-virtual {v11}, Landroid/os/Message;->sendToTarget()V
6006 if-eqz p2, :cond_1a7
6013 move-object/from16 v0, p1
6015 iget-boolean v11, v0, Lcom/android/server/am/ProcessRecord;->persistent:Z
6017 if-eqz v11, :cond_1b3
6019 move-object/from16 v0, p1
6021 iget-boolean v11, v0, Lcom/android/server/am/ProcessRecord;->isolated:Z
6023 if-eqz v11, :cond_23d
6026 move-object/from16 v0, p0
6028 iget-object v11, v0, Lcom/android/server/am/ActivityManagerService;->mProcessNames:Lcom/android/server/ProcessMap;
6030 move-object/from16 v0, p1
6032 iget-object v12, v0, Lcom/android/server/am/ProcessRecord;->processName:Ljava/lang/String;
6034 move-object/from16 v0, p1
6036 iget v13, v0, Lcom/android/server/am/ProcessRecord;->uid:I
6038 invoke-virtual {v11, v12, v13}, Lcom/android/server/ProcessMap;->remove(Ljava/lang/String;I)V
6040 move-object/from16 v0, p0
6042 iget-object v11, v0, Lcom/android/server/am/ActivityManagerService;->mIsolatedProcesses:Landroid/util/SparseArray;
6044 move-object/from16 v0, p1
6046 iget v12, v0, Lcom/android/server/am/ProcessRecord;->uid:I
6048 invoke-virtual {v11, v12}, Landroid/util/SparseArray;->remove(I)V
6050 move-object/from16 v0, p0
6052 iget-object v11, v0, Lcom/android/server/am/ActivityManagerService;->mHeavyWeightProcess:Lcom/android/server/am/ProcessRecord;
6054 move-object/from16 v0, p1
6056 if-ne v11, v0, :cond_1f2
6058 move-object/from16 v0, p0
6060 iget-object v11, v0, Lcom/android/server/am/ActivityManagerService;->mHandler:Landroid/os/Handler;
6062 move-object/from16 v0, p0
6064 iget-object v12, v0, Lcom/android/server/am/ActivityManagerService;->mHandler:Landroid/os/Handler;
6068 move-object/from16 v0, p0
6070 iget-object v14, v0, Lcom/android/server/am/ActivityManagerService;->mHeavyWeightProcess:Lcom/android/server/am/ProcessRecord;
6072 iget v14, v14, Lcom/android/server/am/ProcessRecord;->userId:I
6076 invoke-virtual {v12, v13, v14, v15}, Landroid/os/Handler;->obtainMessage(III)Landroid/os/Message;
6078 move-result-object v12
6080 invoke-virtual {v11, v12}, Landroid/os/Handler;->sendMessage(Landroid/os/Message;)Z
6084 move-object/from16 v0, p0
6086 iput-object v11, v0, Lcom/android/server/am/ActivityManagerService;->mHeavyWeightProcess:Lcom/android/server/am/ProcessRecord;
6090 move-object/from16 v0, p0
6092 iget-object v11, v0, Lcom/android/server/am/ActivityManagerService;->mProcessesOnHold:Ljava/util/ArrayList;
6094 move-object/from16 v0, p1
6096 invoke-virtual {v11, v0}, Ljava/util/ArrayList;->remove(Ljava/lang/Object;)Z
6098 move-object/from16 v0, p0
6100 iget-object v11, v0, Lcom/android/server/am/ActivityManagerService;->mHomeProcess:Lcom/android/server/am/ProcessRecord;
6102 move-object/from16 v0, p1
6104 if-ne v0, v11, :cond_208
6108 move-object/from16 v0, p0
6110 iput-object v11, v0, Lcom/android/server/am/ActivityManagerService;->mHomeProcess:Lcom/android/server/am/ProcessRecord;
6113 move-object/from16 v0, p0
6115 iget-object v11, v0, Lcom/android/server/am/ActivityManagerService;->mPreviousProcess:Lcom/android/server/am/ProcessRecord;
6117 move-object/from16 v0, p1
6119 if-ne v0, v11, :cond_215
6123 move-object/from16 v0, p0
6125 iput-object v11, v0, Lcom/android/server/am/ActivityManagerService;->mPreviousProcess:Lcom/android/server/am/ProcessRecord;
6128 if-eqz v10, :cond_25a
6130 move-object/from16 v0, p1
6132 iget-boolean v11, v0, Lcom/android/server/am/ProcessRecord;->isolated:Z
6134 if-nez v11, :cond_25a
6136 move-object/from16 v0, p0
6138 iget-object v11, v0, Lcom/android/server/am/ActivityManagerService;->mProcessNames:Lcom/android/server/ProcessMap;
6140 move-object/from16 v0, p1
6142 iget-object v12, v0, Lcom/android/server/am/ProcessRecord;->processName:Ljava/lang/String;
6144 move-object/from16 v0, p1
6146 iget v13, v0, Lcom/android/server/am/ProcessRecord;->uid:I
6148 move-object/from16 v0, p1
6150 invoke-virtual {v11, v12, v13, v0}, Lcom/android/server/ProcessMap;->put(Ljava/lang/String;ILjava/lang/Object;)Ljava/lang/Object;
6152 const-string v11, "restart"
6154 move-object/from16 v0, p1
6156 iget-object v12, v0, Lcom/android/server/am/ProcessRecord;->processName:Ljava/lang/String;
6158 move-object/from16 v0, p0
6160 move-object/from16 v1, p1
6162 invoke-direct {v0, v1, v11, v12}, Lcom/android/server/am/ActivityManagerService;->startProcessLocked(Lcom/android/server/am/ProcessRecord;Ljava/lang/String;Ljava/lang/String;)V
6167 move-object/from16 v0, p1
6169 iget-boolean v11, v0, Lcom/android/server/am/ProcessRecord;->removed:Z
6171 if-nez v11, :cond_1f2
6173 move-object/from16 v0, p0
6175 iget-object v11, v0, Lcom/android/server/am/ActivityManagerService;->mPersistentStartingProcesses:Ljava/util/ArrayList;
6177 move-object/from16 v0, p1
6179 invoke-virtual {v11, v0}, Ljava/util/ArrayList;->indexOf(Ljava/lang/Object;)I
6183 if-gez v11, :cond_1f2
6185 move-object/from16 v0, p0
6187 iget-object v11, v0, Lcom/android/server/am/ActivityManagerService;->mPersistentStartingProcesses:Ljava/util/ArrayList;
6189 move-object/from16 v0, p1
6191 invoke-virtual {v11, v0}, Ljava/util/ArrayList;->add(Ljava/lang/Object;)Z
6198 move-object/from16 v0, p1
6200 iget v11, v0, Lcom/android/server/am/ProcessRecord;->pid:I
6202 if-lez v11, :cond_1a6
6204 move-object/from16 v0, p1
6206 iget v11, v0, Lcom/android/server/am/ProcessRecord;->pid:I
6208 sget v12, Lcom/android/server/am/ActivityManagerService;->MY_PID:I
6210 if-eq v11, v12, :cond_1a6
6212 move-object/from16 v0, p0
6214 iget-object v12, v0, Lcom/android/server/am/ActivityManagerService;->mPidsSelfLocked:Landroid/util/SparseArray;
6219 move-object/from16 v0, p0
6221 iget-object v11, v0, Lcom/android/server/am/ActivityManagerService;->mPidsSelfLocked:Landroid/util/SparseArray;
6223 move-object/from16 v0, p1
6225 iget v13, v0, Lcom/android/server/am/ProcessRecord;->pid:I
6227 invoke-virtual {v11, v13}, Landroid/util/SparseArray;->remove(I)V
6229 move-object/from16 v0, p0
6231 iget-object v11, v0, Lcom/android/server/am/ActivityManagerService;->mHandler:Landroid/os/Handler;
6235 move-object/from16 v0, p1
6237 invoke-virtual {v11, v13, v0}, Landroid/os/Handler;->removeMessages(ILjava/lang/Object;)V
6241 .catchall {:try_start_26d .. :try_end_284} :catchall_28c
6245 move-object/from16 v0, p1
6247 invoke-virtual {v0, v11}, Lcom/android/server/am/ProcessRecord;->setPid(I)V
6257 .catchall {:try_start_28d .. :try_end_28e} :catchall_28c
6267 .method private cleanUpRemovedTaskLocked(Lcom/android/server/am/TaskRecord;I)V
6270 and-int/lit8 v12, p2, 0x1
6272 if-eqz v12, :cond_35
6277 new-instance v1, Landroid/content/Intent;
6279 move-object/from16 v0, p1
6281 iget-object v12, v0, Lcom/android/server/am/TaskRecord;->intent:Landroid/content/Intent;
6283 if-eqz v12, :cond_37
6285 move-object/from16 v0, p1
6287 iget-object v12, v0, Lcom/android/server/am/TaskRecord;->intent:Landroid/content/Intent;
6290 invoke-direct {v1, v12}, Landroid/content/Intent;-><init>(Landroid/content/Intent;)V
6292 invoke-virtual {v1}, Landroid/content/Intent;->getComponent()Landroid/content/ComponentName;
6294 move-result-object v2
6298 const-string v12, "ActivityManager"
6300 new-instance v13, Ljava/lang/StringBuilder;
6302 invoke-direct {v13}, Ljava/lang/StringBuilder;-><init>()V
6304 const-string v14, "Now component for base intent of task: "
6306 invoke-virtual {v13, v14}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
6308 move-result-object v13
6310 move-object/from16 v0, p1
6312 invoke-virtual {v13, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
6314 move-result-object v13
6316 invoke-virtual {v13}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
6318 move-result-object v13
6320 invoke-static {v12, v13}, Landroid/util/Slog;->w(Ljava/lang/String;Ljava/lang/String;)I
6331 move-object/from16 v0, p1
6333 iget-object v12, v0, Lcom/android/server/am/TaskRecord;->affinityIntent:Landroid/content/Intent;
6338 move-object/from16 v0, p0
6340 iget-object v12, v0, Lcom/android/server/am/ActivityManagerService;->mServices:Lcom/android/server/am/ActiveServices;
6342 move-object/from16 v0, p1
6344 invoke-virtual {v12, v0, v2, v1}, Lcom/android/server/am/ActiveServices;->cleanUpRemovedTaskLocked(Lcom/android/server/am/TaskRecord;Landroid/content/ComponentName;Landroid/content/Intent;)V
6348 invoke-virtual {v2}, Landroid/content/ComponentName;->getPackageName()Ljava/lang/String;
6350 move-result-object v6
6352 new-instance v10, Ljava/util/ArrayList;
6354 invoke-direct {v10}, Ljava/util/ArrayList;-><init>()V
6356 move-object/from16 v0, p0
6358 iget-object v12, v0, Lcom/android/server/am/ActivityManagerService;->mProcessNames:Lcom/android/server/ProcessMap;
6360 invoke-virtual {v12}, Lcom/android/server/ProcessMap;->getMap()Ljava/util/HashMap;
6362 move-result-object v7
6364 invoke-virtual {v7}, Ljava/util/HashMap;->values()Ljava/util/Collection;
6366 move-result-object v12
6368 invoke-interface {v12}, Ljava/util/Collection;->iterator()Ljava/util/Iterator;
6370 move-result-object v4
6373 invoke-interface {v4}, Ljava/util/Iterator;->hasNext()Z
6377 if-eqz v12, :cond_90
6379 invoke-interface {v4}, Ljava/util/Iterator;->next()Ljava/lang/Object;
6381 move-result-object v11
6383 check-cast v11, Landroid/util/SparseArray;
6388 invoke-virtual {v11}, Landroid/util/SparseArray;->size()I
6392 if-ge v3, v12, :cond_60
6394 invoke-virtual {v11, v3}, Landroid/util/SparseArray;->valueAt(I)Ljava/lang/Object;
6396 move-result-object v9
6398 check-cast v9, Lcom/android/server/am/ProcessRecord;
6400 iget v12, v9, Lcom/android/server/am/ProcessRecord;->userId:I
6402 move-object/from16 v0, p1
6404 iget v13, v0, Lcom/android/server/am/TaskRecord;->userId:I
6406 if-eq v12, v13, :cond_84
6410 add-int/lit8 v3, v3, 0x1
6415 iget-object v12, v9, Lcom/android/server/am/ProcessRecord;->pkgList:Ljava/util/HashSet;
6417 invoke-virtual {v12, v6}, Ljava/util/HashSet;->contains(Ljava/lang/Object;)Z
6421 if-eqz v12, :cond_81
6423 invoke-virtual {v10, v9}, Ljava/util/ArrayList;->add(Ljava/lang/Object;)Z
6431 invoke-virtual {v10}, Ljava/util/ArrayList;->size()I
6435 if-ge v3, v12, :cond_34
6437 invoke-virtual {v10, v3}, Ljava/util/ArrayList;->get(I)Ljava/lang/Object;
6439 move-result-object v8
6441 check-cast v8, Lcom/android/server/am/ProcessRecord;
6443 iget v12, v8, Lcom/android/server/am/ProcessRecord;->setSchedGroup:I
6445 if-nez v12, :cond_fb
6447 const-string v12, "ActivityManager"
6449 new-instance v13, Ljava/lang/StringBuilder;
6451 invoke-direct {v13}, Ljava/lang/StringBuilder;-><init>()V
6453 const-string v14, "Killing "
6455 invoke-virtual {v13, v14}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
6457 move-result-object v13
6459 invoke-virtual {v8}, Lcom/android/server/am/ProcessRecord;->toShortString()Ljava/lang/String;
6461 move-result-object v14
6463 invoke-virtual {v13, v14}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
6465 move-result-object v13
6467 const-string v14, ": remove task"
6469 invoke-virtual {v13, v14}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
6471 move-result-object v13
6473 invoke-virtual {v13}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
6475 move-result-object v13
6477 invoke-static {v12, v13}, Landroid/util/Slog;->i(Ljava/lang/String;Ljava/lang/String;)I
6479 const/16 v12, 0x7547
6483 new-array v13, v13, [Ljava/lang/Object;
6487 iget v15, v8, Lcom/android/server/am/ProcessRecord;->userId:I
6489 invoke-static {v15}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
6491 move-result-object v15
6493 aput-object v15, v13, v14
6497 iget v15, v8, Lcom/android/server/am/ProcessRecord;->pid:I
6499 invoke-static {v15}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
6501 move-result-object v15
6503 aput-object v15, v13, v14
6507 iget-object v15, v8, Lcom/android/server/am/ProcessRecord;->processName:Ljava/lang/String;
6509 aput-object v15, v13, v14
6513 iget v15, v8, Lcom/android/server/am/ProcessRecord;->setAdj:I
6515 invoke-static {v15}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
6517 move-result-object v15
6519 aput-object v15, v13, v14
6523 const-string v15, "remove task"
6525 aput-object v15, v13, v14
6527 invoke-static {v12, v13}, Landroid/util/EventLog;->writeEvent(I[Ljava/lang/Object;)I
6531 iput-boolean v12, v8, Lcom/android/server/am/ProcessRecord;->killedBackground:Z
6533 iget v12, v8, Lcom/android/server/am/ProcessRecord;->pid:I
6535 invoke-static {v12}, Landroid/os/Process;->killProcessQuiet(I)V
6538 add-int/lit8 v3, v3, 0x1
6543 const-string v12, "remove task"
6545 iput-object v12, v8, Lcom/android/server/am/ProcessRecord;->waitingToKill:Ljava/lang/String;
6550 .method private clearProfilerLocked()V
6557 iget-object v0, p0, Lcom/android/server/am/ActivityManagerService;->mProfileFd:Landroid/os/ParcelFileDescriptor;
6562 iget-object v0, p0, Lcom/android/server/am/ActivityManagerService;->mProfileFd:Landroid/os/ParcelFileDescriptor;
6564 invoke-virtual {v0}, Landroid/os/ParcelFileDescriptor;->close()V
6566 .catch Ljava/io/IOException; {:try_start_6 .. :try_end_b} :catch_16
6570 iput-object v1, p0, Lcom/android/server/am/ActivityManagerService;->mProfileApp:Ljava/lang/String;
6572 iput-object v1, p0, Lcom/android/server/am/ActivityManagerService;->mProfileProc:Lcom/android/server/am/ProcessRecord;
6574 iput-object v1, p0, Lcom/android/server/am/ActivityManagerService;->mProfileFile:Ljava/lang/String;
6576 iput v2, p0, Lcom/android/server/am/ActivityManagerService;->mProfileType:I
6578 iput-boolean v2, p0, Lcom/android/server/am/ActivityManagerService;->mAutoStopProfiler:Z
6588 .method private collectReceiverComponents(Landroid/content/Intent;Ljava/lang/String;[I)Ljava/util/List;
6590 .annotation system Ldalvik/annotation/Signature;
6593 "Landroid/content/Intent;",
6594 "Ljava/lang/String;",
6598 "Landroid/content/pm/ResolveInfo;",
6609 move-object/from16 v2, p3
6617 if-ge v5, v6, :cond_c3
6621 invoke-static {}, Landroid/app/AppGlobals;->getPackageManager()Landroid/content/pm/IPackageManager;
6623 move-result-object v14
6627 move-object/from16 v0, p1
6629 move-object/from16 v1, p2
6631 invoke-interface {v14, v0, v1, v15, v13}, Landroid/content/pm/IPackageManager;->queryIntentReceivers(Landroid/content/Intent;Ljava/lang/String;II)Ljava/util/List;
6633 move-result-object v7
6635 if-eqz v13, :cond_3b
6642 invoke-interface {v7}, Ljava/util/List;->size()I
6646 if-ge v4, v14, :cond_3b
6648 invoke-interface {v7, v4}, Ljava/util/List;->get(I)Ljava/lang/Object;
6650 move-result-object v9
6652 check-cast v9, Landroid/content/pm/ResolveInfo;
6654 iget-object v14, v9, Landroid/content/pm/ResolveInfo;->activityInfo:Landroid/content/pm/ActivityInfo;
6656 iget v14, v14, Landroid/content/pm/ActivityInfo;->flags:I
6658 const/high16 v15, 0x2000
6660 and-int/2addr v14, v15
6662 if-eqz v14, :cond_38
6664 invoke-interface {v7, v4}, Ljava/util/List;->remove(I)Ljava/lang/Object;
6666 add-int/lit8 v4, v4, -0x1
6669 add-int/lit8 v4, v4, 0x1
6676 invoke-interface {v7}, Ljava/util/List;->size()I
6678 .catch Landroid/os/RemoteException; {:try_start_5 .. :try_end_40} :catch_c2
6682 if-nez v14, :cond_44
6693 add-int/lit8 v5, v5, 0x1
6700 if-nez v10, :cond_82
6706 move-object v12, v11
6710 invoke-interface {v8}, Ljava/util/List;->size()I
6714 if-ge v4, v14, :cond_81
6716 invoke-interface {v8, v4}, Ljava/util/List;->get(I)Ljava/lang/Object;
6718 move-result-object v9
6720 check-cast v9, Landroid/content/pm/ResolveInfo;
6722 iget-object v14, v9, Landroid/content/pm/ResolveInfo;->activityInfo:Landroid/content/pm/ActivityInfo;
6724 iget v14, v14, Landroid/content/pm/ActivityInfo;->flags:I
6726 const/high16 v15, 0x4000
6728 and-int/2addr v14, v15
6730 if-eqz v14, :cond_ce
6732 new-instance v3, Landroid/content/ComponentName;
6734 iget-object v14, v9, Landroid/content/pm/ResolveInfo;->activityInfo:Landroid/content/pm/ActivityInfo;
6736 iget-object v14, v14, Landroid/content/pm/ActivityInfo;->packageName:Ljava/lang/String;
6738 iget-object v15, v9, Landroid/content/pm/ResolveInfo;->activityInfo:Landroid/content/pm/ActivityInfo;
6740 iget-object v15, v15, Landroid/content/pm/ActivityInfo;->name:Ljava/lang/String;
6742 invoke-direct {v3, v14, v15}, Landroid/content/ComponentName;-><init>(Ljava/lang/String;Ljava/lang/String;)V
6744 if-nez v12, :cond_cc
6746 new-instance v11, Ljava/util/HashSet;
6748 invoke-direct {v11}, Ljava/util/HashSet;-><init>()V
6750 .catch Landroid/os/RemoteException; {:try_start_51 .. :try_end_7a} :catch_c4
6754 invoke-virtual {v11, v3}, Ljava/util/HashSet;->add(Ljava/lang/Object;)Z
6756 .catch Landroid/os/RemoteException; {:try_start_7a .. :try_end_7d} :catch_c2
6759 add-int/lit8 v4, v4, 0x1
6761 move-object v12, v11
6766 move-object v11, v12
6771 move-object v12, v11
6775 invoke-interface {v7}, Ljava/util/List;->size()I
6779 if-ge v4, v14, :cond_c9
6781 invoke-interface {v7, v4}, Ljava/util/List;->get(I)Ljava/lang/Object;
6783 move-result-object v9
6785 check-cast v9, Landroid/content/pm/ResolveInfo;
6787 iget-object v14, v9, Landroid/content/pm/ResolveInfo;->activityInfo:Landroid/content/pm/ActivityInfo;
6789 iget v14, v14, Landroid/content/pm/ActivityInfo;->flags:I
6791 const/high16 v15, 0x4000
6793 and-int/2addr v14, v15
6795 if-eqz v14, :cond_bd
6797 new-instance v3, Landroid/content/ComponentName;
6799 iget-object v14, v9, Landroid/content/pm/ResolveInfo;->activityInfo:Landroid/content/pm/ActivityInfo;
6801 iget-object v14, v14, Landroid/content/pm/ActivityInfo;->packageName:Ljava/lang/String;
6803 iget-object v15, v9, Landroid/content/pm/ResolveInfo;->activityInfo:Landroid/content/pm/ActivityInfo;
6805 iget-object v15, v15, Landroid/content/pm/ActivityInfo;->name:Ljava/lang/String;
6807 invoke-direct {v3, v14, v15}, Landroid/content/ComponentName;-><init>(Ljava/lang/String;Ljava/lang/String;)V
6809 if-nez v12, :cond_c7
6811 new-instance v11, Ljava/util/HashSet;
6813 invoke-direct {v11}, Ljava/util/HashSet;-><init>()V
6815 .catch Landroid/os/RemoteException; {:try_start_84 .. :try_end_ad} :catch_c4
6819 invoke-virtual {v11, v3}, Ljava/util/HashSet;->contains(Ljava/lang/Object;)Z
6823 if-nez v14, :cond_b9
6825 invoke-virtual {v11, v3}, Ljava/util/HashSet;->add(Ljava/lang/Object;)Z
6827 invoke-interface {v8, v9}, Ljava/util/List;->add(Ljava/lang/Object;)Z
6829 .catch Landroid/os/RemoteException; {:try_start_ad .. :try_end_b9} :catch_c2
6833 add-int/lit8 v4, v4, 0x1
6835 move-object v12, v11
6841 invoke-interface {v8, v9}, Ljava/util/List;->add(Ljava/lang/Object;)Z
6843 .catch Landroid/os/RemoteException; {:try_start_bd .. :try_end_c0} :catch_c4
6845 move-object v11, v12
6859 move-object v11, v12
6864 move-object v11, v12
6869 move-object v11, v12
6874 move-object v11, v12
6879 move-object v11, v12
6884 .method private comeOutOfSleepIfNeededLocked()V
6887 iget-boolean v0, p0, Lcom/android/server/am/ActivityManagerService;->mWentToSleep:Z
6891 iget-boolean v0, p0, Lcom/android/server/am/ActivityManagerService;->mLockScreenShown:Z
6895 iget-boolean v0, p0, Lcom/android/server/am/ActivityManagerService;->mSleeping:Z
6901 iput-boolean v0, p0, Lcom/android/server/am/ActivityManagerService;->mSleeping:Z
6903 iget-object v0, p0, Lcom/android/server/am/ActivityManagerService;->mMainStack:Lcom/android/server/am/ActivityStack;
6905 invoke-virtual {v0}, Lcom/android/server/am/ActivityStack;->awakeFromSleepingLocked()V
6907 iget-object v0, p0, Lcom/android/server/am/ActivityManagerService;->mMainStack:Lcom/android/server/am/ActivityStack;
6911 invoke-virtual {v0, v1}, Lcom/android/server/am/ActivityStack;->resumeTopActivityLocked(Lcom/android/server/am/ActivityRecord;)Z
6917 .method private final computeOomAdjLocked(Lcom/android/server/am/ProcessRecord;IIILcom/android/server/am/ProcessRecord;ZZ)I
6920 move-object/from16 v0, p0
6922 iget v2, v0, Lcom/android/server/am/ActivityManagerService;->mAdjSeq:I
6924 move-object/from16 v0, p1
6926 iget v7, v0, Lcom/android/server/am/ProcessRecord;->adjSeq:I
6928 if-ne v2, v7, :cond_5b
6932 move-object/from16 v0, p1
6934 iget-boolean v2, v0, Lcom/android/server/am/ProcessRecord;->hidden:Z
6938 move-object/from16 v0, p1
6940 iget-boolean v2, v0, Lcom/android/server/am/ProcessRecord;->hasActivities:Z
6946 move-object/from16 v1, p1
6948 iput v0, v1, Lcom/android/server/am/ProcessRecord;->nonStoppingAdj:I
6952 move-object/from16 v1, p1
6954 iput v0, v1, Lcom/android/server/am/ProcessRecord;->curRawAdj:I
6958 move-object/from16 v1, p1
6960 iput v0, v1, Lcom/android/server/am/ProcessRecord;->curAdj:I
6964 move-object/from16 v0, p1
6966 iget v2, v0, Lcom/android/server/am/ProcessRecord;->curRawAdj:I
6972 move-object/from16 v0, p1
6974 iget-boolean v2, v0, Lcom/android/server/am/ProcessRecord;->hasClientActivities:Z
6980 move-object/from16 v1, p1
6982 iput v0, v1, Lcom/android/server/am/ProcessRecord;->nonStoppingAdj:I
6986 move-object/from16 v1, p1
6988 iput v0, v1, Lcom/android/server/am/ProcessRecord;->curRawAdj:I
6992 move-object/from16 v1, p1
6994 iput v0, v1, Lcom/android/server/am/ProcessRecord;->curAdj:I
7001 move-object/from16 v1, p1
7003 iput v0, v1, Lcom/android/server/am/ProcessRecord;->nonStoppingAdj:I
7007 move-object/from16 v1, p1
7009 iput v0, v1, Lcom/android/server/am/ProcessRecord;->curRawAdj:I
7013 move-object/from16 v1, p1
7015 iput v0, v1, Lcom/android/server/am/ProcessRecord;->curAdj:I
7020 move-object/from16 v0, p1
7022 iget-object v2, v0, Lcom/android/server/am/ProcessRecord;->thread:Landroid/app/IApplicationThread;
7026 move-object/from16 v0, p0
7028 iget v2, v0, Lcom/android/server/am/ActivityManagerService;->mAdjSeq:I
7030 move-object/from16 v0, p1
7032 iput v2, v0, Lcom/android/server/am/ProcessRecord;->adjSeq:I
7036 move-object/from16 v0, p1
7038 iput v2, v0, Lcom/android/server/am/ProcessRecord;->curSchedGroup:I
7042 move-object/from16 v0, p1
7044 iput v2, v0, Lcom/android/server/am/ProcessRecord;->curRawAdj:I
7046 move-object/from16 v0, p1
7048 iput v2, v0, Lcom/android/server/am/ProcessRecord;->curAdj:I
7055 move-object/from16 v0, p1
7057 iput v2, v0, Lcom/android/server/am/ProcessRecord;->adjTypeCode:I
7061 move-object/from16 v0, p1
7063 iput-object v2, v0, Lcom/android/server/am/ProcessRecord;->adjSource:Ljava/lang/Object;
7067 move-object/from16 v0, p1
7069 iput-object v2, v0, Lcom/android/server/am/ProcessRecord;->adjTarget:Ljava/lang/Object;
7073 move-object/from16 v0, p1
7075 iput-boolean v2, v0, Lcom/android/server/am/ProcessRecord;->empty:Z
7079 move-object/from16 v0, p1
7081 iput-boolean v2, v0, Lcom/android/server/am/ProcessRecord;->hidden:Z
7085 move-object/from16 v0, p1
7087 iput-boolean v2, v0, Lcom/android/server/am/ProcessRecord;->hasClientActivities:Z
7089 move-object/from16 v0, p1
7091 iget-object v2, v0, Lcom/android/server/am/ProcessRecord;->activities:Ljava/util/ArrayList;
7093 invoke-virtual {v2}, Ljava/util/ArrayList;->size()I
7097 move-object/from16 v0, p1
7099 iget v2, v0, Lcom/android/server/am/ProcessRecord;->maxAdj:I
7101 if-gtz v2, :cond_121
7103 const-string v2, "fixed"
7105 move-object/from16 v0, p1
7107 iput-object v2, v0, Lcom/android/server/am/ProcessRecord;->adjType:Ljava/lang/String;
7109 move-object/from16 v0, p0
7111 iget v2, v0, Lcom/android/server/am/ActivityManagerService;->mAdjSeq:I
7113 move-object/from16 v0, p1
7115 iput v2, v0, Lcom/android/server/am/ProcessRecord;->adjSeq:I
7117 move-object/from16 v0, p1
7119 iget v2, v0, Lcom/android/server/am/ProcessRecord;->maxAdj:I
7121 move-object/from16 v0, p1
7123 iput v2, v0, Lcom/android/server/am/ProcessRecord;->nonStoppingAdj:I
7125 move-object/from16 v0, p1
7127 iput v2, v0, Lcom/android/server/am/ProcessRecord;->curRawAdj:I
7131 move-object/from16 v0, p1
7133 iput-boolean v2, v0, Lcom/android/server/am/ProcessRecord;->hasActivities:Z
7137 move-object/from16 v0, p1
7139 iput-boolean v2, v0, Lcom/android/server/am/ProcessRecord;->foregroundActivities:Z
7143 move-object/from16 v0, p1
7145 iput-boolean v2, v0, Lcom/android/server/am/ProcessRecord;->keeping:Z
7149 move-object/from16 v0, p1
7151 iput v2, v0, Lcom/android/server/am/ProcessRecord;->curSchedGroup:I
7155 move-object/from16 v0, p1
7157 iput-boolean v2, v0, Lcom/android/server/am/ProcessRecord;->systemNoUi:Z
7159 move-object/from16 v0, p1
7161 move-object/from16 v1, p5
7163 if-ne v0, v1, :cond_f2
7167 move-object/from16 v0, p1
7169 iput-boolean v2, v0, Lcom/android/server/am/ProcessRecord;->systemNoUi:Z
7173 move-object/from16 v0, p1
7175 iput-boolean v2, v0, Lcom/android/server/am/ProcessRecord;->hasActivities:Z
7178 move-object/from16 v0, p1
7180 iget v2, v0, Lcom/android/server/am/ProcessRecord;->maxAdj:I
7182 move-object/from16 v0, p1
7184 iput v2, v0, Lcom/android/server/am/ProcessRecord;->curAdj:I
7189 if-lez v12, :cond_e8
7196 if-ge v0, v12, :cond_e8
7198 move-object/from16 v0, p1
7200 iget-object v2, v0, Lcom/android/server/am/ProcessRecord;->activities:Ljava/util/ArrayList;
7204 invoke-virtual {v2, v0}, Ljava/util/ArrayList;->get(I)Ljava/lang/Object;
7206 move-result-object v34
7208 check-cast v34, Lcom/android/server/am/ActivityRecord;
7210 move-object/from16 v0, v34
7212 iget-boolean v2, v0, Lcom/android/server/am/ActivityRecord;->visible:Z
7214 if-eqz v2, :cond_111
7218 move-object/from16 v0, p1
7220 iput-boolean v2, v0, Lcom/android/server/am/ProcessRecord;->systemNoUi:Z
7223 move-object/from16 v0, v34
7225 iget-object v2, v0, Lcom/android/server/am/ActivityRecord;->app:Lcom/android/server/am/ProcessRecord;
7227 move-object/from16 v0, p1
7229 if-ne v2, v0, :cond_11e
7233 move-object/from16 v0, p1
7235 iput-boolean v2, v0, Lcom/android/server/am/ProcessRecord;->hasActivities:Z
7238 add-int/lit8 v27, v27, 0x1
7245 move-object/from16 v0, p1
7247 iput-boolean v2, v0, Lcom/android/server/am/ProcessRecord;->keeping:Z
7251 move-object/from16 v0, p1
7253 iput-boolean v2, v0, Lcom/android/server/am/ProcessRecord;->systemNoUi:Z
7257 move-object/from16 v0, p1
7259 iput-boolean v2, v0, Lcom/android/server/am/ProcessRecord;->hasActivities:Z
7265 move-object/from16 v0, p1
7267 move-object/from16 v1, p5
7269 if-ne v0, v1, :cond_2d2
7275 const-string v2, "top-activity"
7277 move-object/from16 v0, p1
7279 iput-object v2, v0, Lcom/android/server/am/ProcessRecord;->adjType:Ljava/lang/String;
7287 move-object/from16 v0, p1
7289 iput-boolean v2, v0, Lcom/android/server/am/ProcessRecord;->hasActivities:Z
7294 if-nez v21, :cond_182
7296 if-lez v12, :cond_182
7303 if-ge v0, v12, :cond_182
7305 move-object/from16 v0, p1
7307 iget-object v2, v0, Lcom/android/server/am/ProcessRecord;->activities:Ljava/util/ArrayList;
7311 invoke-virtual {v2, v0}, Ljava/util/ArrayList;->get(I)Ljava/lang/Object;
7313 move-result-object v34
7315 check-cast v34, Lcom/android/server/am/ActivityRecord;
7317 move-object/from16 v0, v34
7319 iget-boolean v2, v0, Lcom/android/server/am/ActivityRecord;->visible:Z
7321 if-eqz v2, :cond_327
7325 if-le v13, v2, :cond_174
7329 const-string v2, "visible"
7331 move-object/from16 v0, p1
7333 iput-object v2, v0, Lcom/android/server/am/ProcessRecord;->adjType:Ljava/lang/String;
7340 move-object/from16 v0, p1
7342 iput-boolean v2, v0, Lcom/android/server/am/ProcessRecord;->hidden:Z
7346 move-object/from16 v0, p1
7348 iput-boolean v2, v0, Lcom/android/server/am/ProcessRecord;->hasActivities:Z
7355 if-ne v13, v0, :cond_19a
7357 move-object/from16 v0, p1
7359 iget-boolean v2, v0, Lcom/android/server/am/ProcessRecord;->hasActivities:Z
7361 if-nez v2, :cond_19a
7363 move-object/from16 v0, p1
7365 iget-boolean v2, v0, Lcom/android/server/am/ProcessRecord;->hasClientActivities:Z
7367 if-eqz v2, :cond_36b
7371 const-string v2, "bg-client-act"
7373 move-object/from16 v0, p1
7375 iput-object v2, v0, Lcom/android/server/am/ProcessRecord;->adjType:Ljava/lang/String;
7381 if-le v13, v2, :cond_1b1
7383 move-object/from16 v0, p1
7385 iget-boolean v2, v0, Lcom/android/server/am/ProcessRecord;->foregroundServices:Z
7387 if-eqz v2, :cond_37a
7393 move-object/from16 v0, p1
7395 iput-boolean v2, v0, Lcom/android/server/am/ProcessRecord;->hidden:Z
7397 const-string v2, "fg-service"
7399 move-object/from16 v0, p1
7401 iput-object v2, v0, Lcom/android/server/am/ProcessRecord;->adjType:Ljava/lang/String;
7407 move-object/from16 v0, p1
7409 iget-boolean v2, v0, Lcom/android/server/am/ProcessRecord;->foregroundServices:Z
7411 if-eqz v2, :cond_1b9
7418 if-le v13, v2, :cond_1d2
7420 move-object/from16 v0, p0
7422 iget-object v2, v0, Lcom/android/server/am/ActivityManagerService;->mHeavyWeightProcess:Lcom/android/server/am/ProcessRecord;
7424 move-object/from16 v0, p1
7426 if-ne v0, v2, :cond_1d2
7434 move-object/from16 v0, p1
7436 iput-boolean v2, v0, Lcom/android/server/am/ProcessRecord;->hidden:Z
7438 const-string v2, "heavy"
7440 move-object/from16 v0, p1
7442 iput-object v2, v0, Lcom/android/server/am/ProcessRecord;->adjType:Ljava/lang/String;
7447 if-le v13, v2, :cond_1eb
7449 move-object/from16 v0, p0
7451 iget-object v2, v0, Lcom/android/server/am/ActivityManagerService;->mHomeProcess:Lcom/android/server/am/ProcessRecord;
7453 move-object/from16 v0, p1
7455 if-ne v0, v2, :cond_1eb
7463 move-object/from16 v0, p1
7465 iput-boolean v2, v0, Lcom/android/server/am/ProcessRecord;->hidden:Z
7467 const-string v2, "home"
7469 move-object/from16 v0, p1
7471 iput-object v2, v0, Lcom/android/server/am/ProcessRecord;->adjType:Ljava/lang/String;
7476 if-le v13, v2, :cond_20e
7478 move-object/from16 v0, p0
7480 iget-object v2, v0, Lcom/android/server/am/ActivityManagerService;->mPreviousProcess:Lcom/android/server/am/ProcessRecord;
7482 move-object/from16 v0, p1
7484 if-ne v0, v2, :cond_20e
7486 move-object/from16 v0, p1
7488 iget-object v2, v0, Lcom/android/server/am/ProcessRecord;->activities:Ljava/util/ArrayList;
7490 invoke-virtual {v2}, Ljava/util/ArrayList;->size()I
7494 if-lez v2, :cond_20e
7502 move-object/from16 v0, p1
7504 iput-boolean v2, v0, Lcom/android/server/am/ProcessRecord;->hidden:Z
7506 const-string v2, "previous"
7508 move-object/from16 v0, p1
7510 iput-object v2, v0, Lcom/android/server/am/ProcessRecord;->adjType:Ljava/lang/String;
7513 move-object/from16 v0, p0
7515 iget v2, v0, Lcom/android/server/am/ActivityManagerService;->mAdjSeq:I
7517 move-object/from16 v0, p1
7519 iput v2, v0, Lcom/android/server/am/ProcessRecord;->adjSeq:I
7521 move-object/from16 v0, p1
7523 iput v13, v0, Lcom/android/server/am/ProcessRecord;->nonStoppingAdj:I
7525 move-object/from16 v0, p1
7527 iput v13, v0, Lcom/android/server/am/ProcessRecord;->curRawAdj:I
7529 move-object/from16 v0, p0
7531 iget-object v2, v0, Lcom/android/server/am/ActivityManagerService;->mBackupTarget:Lcom/android/server/am/BackupRecord;
7533 if-eqz v2, :cond_23d
7535 move-object/from16 v0, p0
7537 iget-object v2, v0, Lcom/android/server/am/ActivityManagerService;->mBackupTarget:Lcom/android/server/am/BackupRecord;
7539 iget-object v2, v2, Lcom/android/server/am/BackupRecord;->app:Lcom/android/server/am/ProcessRecord;
7541 move-object/from16 v0, p1
7543 if-ne v0, v2, :cond_23d
7547 if-le v13, v2, :cond_23d
7551 const-string v2, "backup"
7553 move-object/from16 v0, p1
7555 iput-object v2, v0, Lcom/android/server/am/ProcessRecord;->adjType:Ljava/lang/String;
7559 move-object/from16 v0, p1
7561 iput-boolean v2, v0, Lcom/android/server/am/ProcessRecord;->hidden:Z
7564 move-object/from16 v0, p1
7566 iget-object v2, v0, Lcom/android/server/am/ProcessRecord;->services:Ljava/util/HashSet;
7568 invoke-virtual {v2}, Ljava/util/HashSet;->size()I
7572 if-eqz v2, :cond_551
7574 if-gtz v13, :cond_24b
7576 if-nez v36, :cond_551
7579 invoke-static {}, Landroid/os/SystemClock;->uptimeMillis()J
7581 move-result-wide v31
7583 move-object/from16 v0, p1
7585 iget-object v2, v0, Lcom/android/server/am/ProcessRecord;->services:Ljava/util/HashSet;
7587 invoke-virtual {v2}, Ljava/util/HashSet;->iterator()Ljava/util/Iterator;
7589 move-result-object v29
7592 invoke-interface/range {v29 .. v29}, Ljava/util/Iterator;->hasNext()Z
7596 if-eqz v2, :cond_540
7598 if-lez v13, :cond_540
7600 invoke-interface/range {v29 .. v29}, Ljava/util/Iterator;->next()Ljava/lang/Object;
7602 move-result-object v35
7604 check-cast v35, Lcom/android/server/am/ServiceRecord;
7606 move-object/from16 v0, v35
7608 iget-boolean v2, v0, Lcom/android/server/am/ServiceRecord;->startRequested:Z
7610 if-eqz v2, :cond_287
7612 move-object/from16 v0, p1
7614 iget-boolean v2, v0, Lcom/android/server/am/ProcessRecord;->hasShownUi:Z
7616 if-eqz v2, :cond_398
7618 move-object/from16 v0, p0
7620 iget-object v2, v0, Lcom/android/server/am/ActivityManagerService;->mHomeProcess:Lcom/android/server/am/ProcessRecord;
7622 move-object/from16 v0, p1
7624 if-eq v0, v2, :cond_398
7628 if-le v13, v2, :cond_282
7630 const-string v2, "started-bg-ui-services"
7632 move-object/from16 v0, p1
7634 iput-object v2, v0, Lcom/android/server/am/ProcessRecord;->adjType:Ljava/lang/String;
7640 move-object/from16 v0, p1
7642 iput-boolean v2, v0, Lcom/android/server/am/ProcessRecord;->keeping:Z
7645 move-object/from16 v0, v35
7647 iget-object v2, v0, Lcom/android/server/am/ServiceRecord;->connections:Ljava/util/HashMap;
7649 invoke-virtual {v2}, Ljava/util/HashMap;->size()I
7653 if-lez v2, :cond_257
7655 if-gtz v13, :cond_295
7657 if-nez v36, :cond_257
7660 move-object/from16 v0, v35
7662 iget-object v2, v0, Lcom/android/server/am/ServiceRecord;->connections:Ljava/util/HashMap;
7664 invoke-virtual {v2}, Ljava/util/HashMap;->values()Ljava/util/Collection;
7666 move-result-object v2
7668 invoke-interface {v2}, Ljava/util/Collection;->iterator()Ljava/util/Iterator;
7670 move-result-object v30
7673 invoke-interface/range {v30 .. v30}, Ljava/util/Iterator;->hasNext()Z
7677 if-eqz v2, :cond_257
7679 if-lez v13, :cond_257
7681 invoke-interface/range {v30 .. v30}, Ljava/util/Iterator;->next()Ljava/lang/Object;
7683 move-result-object v17
7685 check-cast v17, Ljava/util/ArrayList;
7690 invoke-virtual/range {v17 .. v17}, Ljava/util/ArrayList;->size()I
7696 if-ge v0, v2, :cond_2a1
7698 if-lez v13, :cond_2a1
7700 move-object/from16 v0, v17
7704 invoke-virtual {v0, v1}, Ljava/util/ArrayList;->get(I)Ljava/lang/Object;
7706 move-result-object v20
7708 check-cast v20, Lcom/android/server/am/ConnectionRecord;
7710 move-object/from16 v0, v20
7712 iget-object v2, v0, Lcom/android/server/am/ConnectionRecord;->binding:Lcom/android/server/am/AppBindRecord;
7714 iget-object v2, v2, Lcom/android/server/am/AppBindRecord;->client:Lcom/android/server/am/ProcessRecord;
7716 move-object/from16 v0, p1
7718 if-ne v2, v0, :cond_3bf
7722 add-int/lit8 v23, v23, 0x1
7727 move-object/from16 v0, p1
7729 iget-object v2, v0, Lcom/android/server/am/ProcessRecord;->instrumentationClass:Landroid/content/ComponentName;
7731 if-eqz v2, :cond_2e5
7737 const-string v2, "instrumentation"
7739 move-object/from16 v0, p1
7741 iput-object v2, v0, Lcom/android/server/am/ProcessRecord;->adjType:Ljava/lang/String;
7748 invoke-direct/range {p0 .. p1}, Lcom/android/server/am/ActivityManagerService;->isReceivingBroadcast(Lcom/android/server/am/ProcessRecord;)Lcom/android/server/am/BroadcastQueue;
7750 move-result-object v33
7752 if-eqz v33, :cond_301
7756 move-object/from16 v0, p0
7758 iget-object v2, v0, Lcom/android/server/am/ActivityManagerService;->mFgBroadcastQueue:Lcom/android/server/am/BroadcastQueue;
7760 move-object/from16 v0, v33
7762 if-ne v0, v2, :cond_2fe
7767 const-string v2, "broadcast"
7769 move-object/from16 v0, p1
7771 iput-object v2, v0, Lcom/android/server/am/ProcessRecord;->adjType:Ljava/lang/String;
7781 move-object/from16 v0, p1
7783 iget-object v2, v0, Lcom/android/server/am/ProcessRecord;->executingServices:Ljava/util/HashSet;
7785 invoke-virtual {v2}, Ljava/util/HashSet;->size()I
7789 if-lez v2, :cond_316
7795 const-string v2, "exec-service"
7797 move-object/from16 v0, p1
7799 iput-object v2, v0, Lcom/android/server/am/ProcessRecord;->adjType:Ljava/lang/String;
7810 move-object/from16 v0, p1
7812 iput-boolean v2, v0, Lcom/android/server/am/ProcessRecord;->hidden:Z
7814 const-string v2, "bg-act"
7816 move-object/from16 v0, p1
7818 iput-object v2, v0, Lcom/android/server/am/ProcessRecord;->adjType:Ljava/lang/String;
7823 move-object/from16 v0, v34
7825 iget-object v2, v0, Lcom/android/server/am/ActivityRecord;->state:Lcom/android/server/am/ActivityStack$ActivityState;
7827 sget-object v7, Lcom/android/server/am/ActivityStack$ActivityState;->PAUSING:Lcom/android/server/am/ActivityStack$ActivityState;
7829 if-eq v2, v7, :cond_337
7831 move-object/from16 v0, v34
7833 iget-object v2, v0, Lcom/android/server/am/ActivityRecord;->state:Lcom/android/server/am/ActivityStack$ActivityState;
7835 sget-object v7, Lcom/android/server/am/ActivityStack$ActivityState;->PAUSED:Lcom/android/server/am/ActivityStack$ActivityState;
7837 if-ne v2, v7, :cond_359
7842 if-le v13, v2, :cond_341
7846 const-string v2, "pausing"
7848 move-object/from16 v0, p1
7850 iput-object v2, v0, Lcom/android/server/am/ProcessRecord;->adjType:Ljava/lang/String;
7855 move-object/from16 v0, p1
7857 iput-boolean v2, v0, Lcom/android/server/am/ProcessRecord;->hidden:Z
7863 move-object/from16 v0, v34
7865 iget-object v2, v0, Lcom/android/server/am/ActivityRecord;->app:Lcom/android/server/am/ProcessRecord;
7867 move-object/from16 v0, p1
7869 if-ne v2, v0, :cond_355
7873 move-object/from16 v0, p1
7875 iput-boolean v2, v0, Lcom/android/server/am/ProcessRecord;->hasActivities:Z
7878 add-int/lit8 v27, v27, 0x1
7883 move-object/from16 v0, v34
7885 iget-object v2, v0, Lcom/android/server/am/ActivityRecord;->state:Lcom/android/server/am/ActivityStack$ActivityState;
7887 sget-object v7, Lcom/android/server/am/ActivityStack$ActivityState;->STOPPING:Lcom/android/server/am/ActivityStack$ActivityState;
7889 if-ne v2, v7, :cond_348
7893 move-object/from16 v0, p1
7895 iput-boolean v2, v0, Lcom/android/server/am/ProcessRecord;->hidden:Z
7908 move-object/from16 v0, p1
7910 iput-boolean v2, v0, Lcom/android/server/am/ProcessRecord;->empty:Z
7912 const-string v2, "bg-empty"
7914 move-object/from16 v0, p1
7916 iput-object v2, v0, Lcom/android/server/am/ProcessRecord;->adjType:Ljava/lang/String;
7921 move-object/from16 v0, p1
7923 iget-object v2, v0, Lcom/android/server/am/ProcessRecord;->forcingToForeground:Landroid/os/IBinder;
7925 if-eqz v2, :cond_1b1
7931 move-object/from16 v0, p1
7933 iput-boolean v2, v0, Lcom/android/server/am/ProcessRecord;->hidden:Z
7935 const-string v2, "force-fg"
7937 move-object/from16 v0, p1
7939 iput-object v2, v0, Lcom/android/server/am/ProcessRecord;->adjType:Ljava/lang/String;
7941 move-object/from16 v0, p1
7943 iget-object v2, v0, Lcom/android/server/am/ProcessRecord;->forcingToForeground:Landroid/os/IBinder;
7945 move-object/from16 v0, p1
7947 iput-object v2, v0, Lcom/android/server/am/ProcessRecord;->adjSource:Ljava/lang/Object;
7954 move-object/from16 v0, v35
7956 iget-wide v7, v0, Lcom/android/server/am/ServiceRecord;->lastActivity:J
7958 const-wide/32 v37, 0x1b7740
7960 add-long v7, v7, v37
7962 cmp-long v2, v31, v7
7964 if-gez v2, :cond_3b4
7968 if-le v13, v2, :cond_3b4
7972 const-string v2, "started-services"
7974 move-object/from16 v0, p1
7976 iput-object v2, v0, Lcom/android/server/am/ProcessRecord;->adjType:Ljava/lang/String;
7980 move-object/from16 v0, p1
7982 iput-boolean v2, v0, Lcom/android/server/am/ProcessRecord;->hidden:Z
7987 if-le v13, v2, :cond_282
7989 const-string v2, "started-bg-services"
7991 move-object/from16 v0, p1
7993 iput-object v2, v0, Lcom/android/server/am/ProcessRecord;->adjType:Ljava/lang/String;
7998 move-object/from16 v0, v20
8000 iget v2, v0, Lcom/android/server/am/ConnectionRecord;->flags:I
8002 and-int/lit8 v2, v2, 0x20
8004 if-nez v2, :cond_470
8006 move-object/from16 v0, v20
8008 iget-object v2, v0, Lcom/android/server/am/ConnectionRecord;->binding:Lcom/android/server/am/AppBindRecord;
8010 iget-object v3, v2, Lcom/android/server/am/AppBindRecord;->client:Lcom/android/server/am/ProcessRecord;
8012 move/from16 v16, v13
8016 iget v2, v3, Lcom/android/server/am/ProcessRecord;->hiddenAdj:I
8018 if-le v4, v2, :cond_3dc
8020 iget v2, v3, Lcom/android/server/am/ProcessRecord;->hiddenAdj:I
8024 if-lt v2, v7, :cond_4bd
8026 iget v4, v3, Lcom/android/server/am/ProcessRecord;->hiddenAdj:I
8032 iget v2, v3, Lcom/android/server/am/ProcessRecord;->clientHiddenAdj:I
8034 if-le v5, v2, :cond_3e9
8036 iget v2, v3, Lcom/android/server/am/ProcessRecord;->clientHiddenAdj:I
8040 if-lt v2, v7, :cond_4c0
8042 iget v5, v3, Lcom/android/server/am/ProcessRecord;->clientHiddenAdj:I
8048 iget v2, v3, Lcom/android/server/am/ProcessRecord;->emptyAdj:I
8050 if-le v6, v2, :cond_3f6
8052 iget v2, v3, Lcom/android/server/am/ProcessRecord;->emptyAdj:I
8056 if-lt v2, v7, :cond_4c3
8058 iget v6, v3, Lcom/android/server/am/ProcessRecord;->emptyAdj:I
8064 move-object/from16 v2, p0
8066 move-object/from16 v7, p5
8070 invoke-direct/range {v2 .. v9}, Lcom/android/server/am/ActivityManagerService;->computeOomAdjLocked(Lcom/android/server/am/ProcessRecord;IIILcom/android/server/am/ProcessRecord;ZZ)I
8076 move-object/from16 v0, v20
8078 iget v2, v0, Lcom/android/server/am/ConnectionRecord;->flags:I
8080 and-int/lit8 v2, v2, 0x10
8082 if-eqz v2, :cond_4dd
8084 move-object/from16 v0, p1
8086 iget-boolean v2, v0, Lcom/android/server/am/ProcessRecord;->hasShownUi:Z
8088 if-eqz v2, :cond_4c6
8090 move-object/from16 v0, p0
8092 iget-object v2, v0, Lcom/android/server/am/ActivityManagerService;->mHomeProcess:Lcom/android/server/am/ProcessRecord;
8094 move-object/from16 v0, p1
8096 if-eq v0, v2, :cond_4c6
8100 if-le v13, v0, :cond_41e
8102 const-string v14, "bound-bg-ui-services"
8107 move-object/from16 v0, p1
8109 iput-boolean v2, v0, Lcom/android/server/am/ProcessRecord;->hidden:Z
8111 move/from16 v16, v13
8117 if-le v13, v0, :cond_43e
8119 move-object/from16 v0, p1
8121 iget-boolean v2, v0, Lcom/android/server/am/ProcessRecord;->hasShownUi:Z
8123 if-eqz v2, :cond_4fb
8125 move-object/from16 v0, p0
8127 iget-object v2, v0, Lcom/android/server/am/ActivityManagerService;->mHomeProcess:Lcom/android/server/am/ProcessRecord;
8129 move-object/from16 v0, p1
8131 if-eq v0, v2, :cond_4fb
8137 if-le v0, v2, :cond_4fb
8139 const-string v14, "bound-bg-ui-services"
8143 if-eqz v14, :cond_461
8145 move-object/from16 v0, p1
8147 iput-object v14, v0, Lcom/android/server/am/ProcessRecord;->adjType:Ljava/lang/String;
8151 move-object/from16 v0, p1
8153 iput v2, v0, Lcom/android/server/am/ProcessRecord;->adjTypeCode:I
8155 move-object/from16 v0, v20
8157 iget-object v2, v0, Lcom/android/server/am/ConnectionRecord;->binding:Lcom/android/server/am/AppBindRecord;
8159 iget-object v2, v2, Lcom/android/server/am/AppBindRecord;->client:Lcom/android/server/am/ProcessRecord;
8161 move-object/from16 v0, p1
8163 iput-object v2, v0, Lcom/android/server/am/ProcessRecord;->adjSource:Ljava/lang/Object;
8167 move-object/from16 v1, p1
8169 iput v0, v1, Lcom/android/server/am/ProcessRecord;->adjSourceOom:I
8171 move-object/from16 v0, v35
8173 iget-object v2, v0, Lcom/android/server/am/ServiceRecord;->name:Landroid/content/ComponentName;
8175 move-object/from16 v0, p1
8177 iput-object v2, v0, Lcom/android/server/am/ProcessRecord;->adjTarget:Ljava/lang/Object;
8180 move-object/from16 v0, v20
8182 iget v2, v0, Lcom/android/server/am/ConnectionRecord;->flags:I
8184 and-int/lit8 v2, v2, 0x4
8186 if-nez v2, :cond_470
8188 iget v2, v3, Lcom/android/server/am/ProcessRecord;->curSchedGroup:I
8192 if-ne v2, v7, :cond_470
8197 move-object/from16 v0, v20
8199 iget-object v11, v0, Lcom/android/server/am/ConnectionRecord;->activity:Lcom/android/server/am/ActivityRecord;
8201 move-object/from16 v0, v20
8203 iget v2, v0, Lcom/android/server/am/ConnectionRecord;->flags:I
8205 and-int/lit16 v2, v2, 0x80
8207 if-eqz v2, :cond_2cf
8209 if-eqz v11, :cond_2cf
8211 if-lez v13, :cond_2cf
8213 iget-boolean v2, v11, Lcom/android/server/am/ActivityRecord;->visible:Z
8215 if-nez v2, :cond_490
8217 iget-object v2, v11, Lcom/android/server/am/ActivityRecord;->state:Lcom/android/server/am/ActivityStack$ActivityState;
8219 sget-object v7, Lcom/android/server/am/ActivityStack$ActivityState;->RESUMED:Lcom/android/server/am/ActivityStack$ActivityState;
8221 if-eq v2, v7, :cond_490
8223 iget-object v2, v11, Lcom/android/server/am/ActivityRecord;->state:Lcom/android/server/am/ActivityStack$ActivityState;
8225 sget-object v7, Lcom/android/server/am/ActivityStack$ActivityState;->PAUSING:Lcom/android/server/am/ActivityStack$ActivityState;
8227 if-ne v2, v7, :cond_2cf
8232 move-object/from16 v0, v20
8234 iget v2, v0, Lcom/android/server/am/ConnectionRecord;->flags:I
8236 and-int/lit8 v2, v2, 0x4
8238 if-nez v2, :cond_49b
8245 move-object/from16 v0, p1
8247 iput-boolean v2, v0, Lcom/android/server/am/ProcessRecord;->hidden:Z
8249 const-string v2, "service"
8251 move-object/from16 v0, p1
8253 iput-object v2, v0, Lcom/android/server/am/ProcessRecord;->adjType:Ljava/lang/String;
8257 move-object/from16 v0, p1
8259 iput v2, v0, Lcom/android/server/am/ProcessRecord;->adjTypeCode:I
8261 move-object/from16 v0, p1
8263 iput-object v11, v0, Lcom/android/server/am/ProcessRecord;->adjSource:Ljava/lang/Object;
8265 move-object/from16 v0, p1
8267 iput v13, v0, Lcom/android/server/am/ProcessRecord;->adjSourceOom:I
8269 move-object/from16 v0, v35
8271 iget-object v2, v0, Lcom/android/server/am/ServiceRecord;->name:Landroid/content/ComponentName;
8273 move-object/from16 v0, p1
8275 iput-object v2, v0, Lcom/android/server/am/ProcessRecord;->adjTarget:Ljava/lang/Object;
8295 move-object/from16 v0, v35
8297 iget-wide v7, v0, Lcom/android/server/am/ServiceRecord;->lastActivity:J
8299 const-wide/32 v37, 0x1b7740
8301 add-long v7, v7, v37
8303 cmp-long v2, v31, v7
8305 if-ltz v2, :cond_425
8309 if-le v13, v0, :cond_4d9
8311 const-string v14, "bound-bg-services"
8314 move/from16 v16, v13
8319 move-object/from16 v0, v20
8321 iget v2, v0, Lcom/android/server/am/ConnectionRecord;->flags:I
8323 and-int/lit8 v2, v2, 0x1
8325 if-eqz v2, :cond_425
8327 move-object/from16 v0, v20
8329 iget v2, v0, Lcom/android/server/am/ConnectionRecord;->flags:I
8331 const/high16 v7, 0x4000
8333 and-int/2addr v2, v7
8335 if-nez v2, :cond_425
8337 move-object/from16 v0, p1
8339 iget-boolean v2, v0, Lcom/android/server/am/ProcessRecord;->hasClientActivities:Z
8341 iget-boolean v7, v3, Lcom/android/server/am/ProcessRecord;->hasActivities:Z
8345 move-object/from16 v0, p1
8347 iput-boolean v2, v0, Lcom/android/server/am/ProcessRecord;->hasClientActivities:Z
8352 move-object/from16 v0, v20
8354 iget v2, v0, Lcom/android/server/am/ConnectionRecord;->flags:I
8356 and-int/lit8 v2, v2, 0x48
8358 if-eqz v2, :cond_51b
8360 move/from16 v13, v16
8364 iget-boolean v2, v3, Lcom/android/server/am/ProcessRecord;->hidden:Z
8366 if-nez v2, :cond_50e
8370 move-object/from16 v0, p1
8372 iput-boolean v2, v0, Lcom/android/server/am/ProcessRecord;->hidden:Z
8375 iget-boolean v2, v3, Lcom/android/server/am/ProcessRecord;->keeping:Z
8377 if-eqz v2, :cond_517
8381 move-object/from16 v0, p1
8383 iput-boolean v2, v0, Lcom/android/server/am/ProcessRecord;->keeping:Z
8386 const-string v14, "service"
8391 move-object/from16 v0, v20
8393 iget v2, v0, Lcom/android/server/am/ConnectionRecord;->flags:I
8395 const/high16 v7, 0x4000
8397 and-int/2addr v2, v7
8399 if-eqz v2, :cond_52e
8405 if-ge v0, v2, :cond_52e
8409 if-le v13, v2, :cond_52e
8420 if-le v0, v2, :cond_536
8422 move/from16 v13, v16
8429 move-object/from16 v0, p1
8431 iput-boolean v2, v0, Lcom/android/server/am/ProcessRecord;->pendingUiClean:Z
8435 if-le v13, v2, :cond_505
8444 if-le v13, v0, :cond_551
8450 move-object/from16 v0, p1
8452 iput-boolean v2, v0, Lcom/android/server/am/ProcessRecord;->hidden:Z
8454 const-string v2, "bg-services"
8456 move-object/from16 v0, p1
8458 iput-object v2, v0, Lcom/android/server/am/ProcessRecord;->adjType:Ljava/lang/String;
8461 move-object/from16 v0, p1
8463 iget-object v2, v0, Lcom/android/server/am/ProcessRecord;->pubProviders:Ljava/util/HashMap;
8465 invoke-virtual {v2}, Ljava/util/HashMap;->size()I
8469 if-eqz v2, :cond_657
8471 if-gtz v13, :cond_55f
8473 if-nez v36, :cond_657
8476 move-object/from16 v0, p1
8478 iget-object v2, v0, Lcom/android/server/am/ProcessRecord;->pubProviders:Ljava/util/HashMap;
8480 invoke-virtual {v2}, Ljava/util/HashMap;->values()Ljava/util/Collection;
8482 move-result-object v2
8484 invoke-interface {v2}, Ljava/util/Collection;->iterator()Ljava/util/Iterator;
8486 move-result-object v28
8490 invoke-interface/range {v28 .. v28}, Ljava/util/Iterator;->hasNext()Z
8494 if-eqz v2, :cond_657
8496 if-gtz v13, :cond_575
8498 if-nez v36, :cond_657
8501 invoke-interface/range {v28 .. v28}, Ljava/util/Iterator;->next()Ljava/lang/Object;
8503 move-result-object v19
8505 check-cast v19, Lcom/android/server/am/ContentProviderRecord;
8507 move-object/from16 v0, v19
8509 iget-object v2, v0, Lcom/android/server/am/ContentProviderRecord;->connections:Ljava/util/ArrayList;
8511 invoke-virtual {v2}, Ljava/util/ArrayList;->size()I
8515 add-int/lit8 v23, v2, -0x1
8518 if-ltz v23, :cond_632
8520 if-gtz v13, :cond_58b
8522 if-nez v36, :cond_632
8525 move-object/from16 v0, v19
8527 iget-object v2, v0, Lcom/android/server/am/ContentProviderRecord;->connections:Ljava/util/ArrayList;
8531 invoke-virtual {v2, v0}, Ljava/util/ArrayList;->get(I)Ljava/lang/Object;
8533 move-result-object v18
8535 check-cast v18, Lcom/android/server/am/ContentProviderConnection;
8537 move-object/from16 v0, v18
8539 iget-object v3, v0, Lcom/android/server/am/ContentProviderConnection;->client:Lcom/android/server/am/ProcessRecord;
8541 move-object/from16 v0, p1
8543 if-ne v3, v0, :cond_5a2
8547 add-int/lit8 v23, v23, -0x1
8554 iget v2, v3, Lcom/android/server/am/ProcessRecord;->hiddenAdj:I
8556 if-le v4, v2, :cond_5ae
8558 iget v2, v3, Lcom/android/server/am/ProcessRecord;->hiddenAdj:I
8560 if-lez v2, :cond_61f
8562 iget v4, v3, Lcom/android/server/am/ProcessRecord;->hiddenAdj:I
8568 iget v2, v3, Lcom/android/server/am/ProcessRecord;->clientHiddenAdj:I
8570 if-le v5, v2, :cond_5ba
8572 iget v2, v3, Lcom/android/server/am/ProcessRecord;->clientHiddenAdj:I
8574 if-ltz v2, :cond_621
8576 iget v5, v3, Lcom/android/server/am/ProcessRecord;->clientHiddenAdj:I
8582 iget v2, v3, Lcom/android/server/am/ProcessRecord;->emptyAdj:I
8584 if-le v6, v2, :cond_5c6
8586 iget v2, v3, Lcom/android/server/am/ProcessRecord;->emptyAdj:I
8588 if-lez v2, :cond_623
8590 iget v6, v3, Lcom/android/server/am/ProcessRecord;->emptyAdj:I
8596 move-object/from16 v2, p0
8598 move-object/from16 v7, p5
8602 invoke-direct/range {v2 .. v9}, Lcom/android/server/am/ActivityManagerService;->computeOomAdjLocked(Lcom/android/server/am/ProcessRecord;IIILcom/android/server/am/ProcessRecord;ZZ)I
8608 if-le v13, v0, :cond_617
8610 move-object/from16 v0, p1
8612 iget-boolean v2, v0, Lcom/android/server/am/ProcessRecord;->hasShownUi:Z
8614 if-eqz v2, :cond_625
8616 move-object/from16 v0, p0
8618 iget-object v2, v0, Lcom/android/server/am/ActivityManagerService;->mHomeProcess:Lcom/android/server/am/ProcessRecord;
8620 move-object/from16 v0, p1
8622 if-eq v0, v2, :cond_625
8628 if-le v0, v2, :cond_625
8630 const-string v2, "bg-ui-provider"
8632 move-object/from16 v0, p1
8634 iput-object v2, v0, Lcom/android/server/am/ProcessRecord;->adjType:Ljava/lang/String;
8637 iget-boolean v2, v3, Lcom/android/server/am/ProcessRecord;->hidden:Z
8639 if-nez v2, :cond_5f7
8643 move-object/from16 v0, p1
8645 iput-boolean v2, v0, Lcom/android/server/am/ProcessRecord;->hidden:Z
8648 iget-boolean v2, v3, Lcom/android/server/am/ProcessRecord;->keeping:Z
8650 if-eqz v2, :cond_600
8654 move-object/from16 v0, p1
8656 iput-boolean v2, v0, Lcom/android/server/am/ProcessRecord;->keeping:Z
8661 move-object/from16 v0, p1
8663 iput v2, v0, Lcom/android/server/am/ProcessRecord;->adjTypeCode:I
8665 move-object/from16 v0, p1
8667 iput-object v3, v0, Lcom/android/server/am/ProcessRecord;->adjSource:Ljava/lang/Object;
8671 move-object/from16 v1, p1
8673 iput v0, v1, Lcom/android/server/am/ProcessRecord;->adjSourceOom:I
8675 move-object/from16 v0, v19
8677 iget-object v2, v0, Lcom/android/server/am/ContentProviderRecord;->name:Landroid/content/ComponentName;
8679 move-object/from16 v0, p1
8681 iput-object v2, v0, Lcom/android/server/am/ProcessRecord;->adjTarget:Ljava/lang/Object;
8684 iget v2, v3, Lcom/android/server/am/ProcessRecord;->curSchedGroup:I
8688 if-ne v2, v7, :cond_59f
8710 if-lez v16, :cond_630
8712 move/from16 v13, v16
8715 const-string v2, "provider"
8717 move-object/from16 v0, p1
8719 iput-object v2, v0, Lcom/android/server/am/ProcessRecord;->adjType:Ljava/lang/String;
8729 invoke-virtual/range {v19 .. v19}, Lcom/android/server/am/ContentProviderRecord;->hasExternalProcessHandles()Z
8733 if-eqz v2, :cond_56b
8735 if-lez v13, :cond_56b
8743 move-object/from16 v0, p1
8745 iput-boolean v2, v0, Lcom/android/server/am/ProcessRecord;->hidden:Z
8749 move-object/from16 v0, p1
8751 iput-boolean v2, v0, Lcom/android/server/am/ProcessRecord;->keeping:Z
8753 const-string v2, "provider"
8755 move-object/from16 v0, p1
8757 iput-object v2, v0, Lcom/android/server/am/ProcessRecord;->adjType:Ljava/lang/String;
8759 move-object/from16 v0, v19
8761 iget-object v2, v0, Lcom/android/server/am/ContentProviderRecord;->name:Landroid/content/ComponentName;
8763 move-object/from16 v0, p1
8765 iput-object v2, v0, Lcom/android/server/am/ProcessRecord;->adjTarget:Ljava/lang/Object;
8772 if-ne v13, v2, :cond_78d
8774 if-eqz p7, :cond_677
8776 move-object/from16 v0, p0
8778 iget v2, v0, Lcom/android/server/am/ActivityManagerService;->mNewNumServiceProcs:I
8780 move-object/from16 v0, p0
8782 iget v7, v0, Lcom/android/server/am/ActivityManagerService;->mNumServiceProcs:I
8784 div-int/lit8 v7, v7, 0x3
8786 if-le v2, v7, :cond_78a
8791 move-object/from16 v0, p1
8793 iput-boolean v2, v0, Lcom/android/server/am/ProcessRecord;->serviceb:Z
8795 move-object/from16 v0, p0
8797 iget v2, v0, Lcom/android/server/am/ActivityManagerService;->mNewNumServiceProcs:I
8799 add-int/lit8 v2, v2, 0x1
8801 move-object/from16 v0, p0
8803 iput v2, v0, Lcom/android/server/am/ActivityManagerService;->mNewNumServiceProcs:I
8806 move-object/from16 v0, p1
8808 iget-boolean v2, v0, Lcom/android/server/am/ProcessRecord;->serviceb:Z
8810 if-eqz v2, :cond_67f
8816 move-object/from16 v0, p1
8818 iput v13, v0, Lcom/android/server/am/ProcessRecord;->nonStoppingAdj:I
8820 if-eqz v22, :cond_68f
8824 if-le v13, v2, :cond_68f
8828 const-string v2, "stopping"
8830 move-object/from16 v0, p1
8832 iput-object v2, v0, Lcom/android/server/am/ProcessRecord;->adjType:Ljava/lang/String;
8835 move-object/from16 v0, p1
8837 iput v13, v0, Lcom/android/server/am/ProcessRecord;->curRawAdj:I
8839 move-object/from16 v0, p1
8841 iget v2, v0, Lcom/android/server/am/ProcessRecord;->maxAdj:I
8843 if-le v13, v2, :cond_6a6
8845 move-object/from16 v0, p1
8847 iget v13, v0, Lcom/android/server/am/ProcessRecord;->maxAdj:I
8849 move-object/from16 v0, p1
8851 iget v2, v0, Lcom/android/server/am/ProcessRecord;->maxAdj:I
8855 if-gt v2, v7, :cond_6a6
8860 sget v2, Lcom/android/server/am/ProcessList;->HIDDEN_APP_MIN_ADJ:I
8862 if-ge v13, v2, :cond_6af
8866 move-object/from16 v0, p1
8868 iput-boolean v2, v0, Lcom/android/server/am/ProcessRecord;->keeping:Z
8871 move-object/from16 v0, p1
8873 iget-boolean v2, v0, Lcom/android/server/am/ProcessRecord;->hasAboveClient:Z
8875 if-eqz v2, :cond_6b7
8877 if-gez v13, :cond_794
8881 move-object/from16 v0, p1
8883 iget v0, v0, Lcom/android/server/am/ProcessRecord;->memImportance:I
8887 if-eqz v24, :cond_6cd
8889 move-object/from16 v0, p1
8891 iget v2, v0, Lcom/android/server/am/ProcessRecord;->curAdj:I
8893 if-ne v13, v2, :cond_6cd
8895 move-object/from16 v0, p1
8897 iget v2, v0, Lcom/android/server/am/ProcessRecord;->curSchedGroup:I
8901 if-eq v0, v2, :cond_6db
8904 move-object/from16 v0, p1
8906 iput v13, v0, Lcom/android/server/am/ProcessRecord;->curAdj:I
8910 move-object/from16 v1, p1
8912 iput v0, v1, Lcom/android/server/am/ProcessRecord;->curSchedGroup:I
8914 if-nez v25, :cond_7b0
8920 move-object/from16 v0, p1
8922 iget v2, v0, Lcom/android/server/am/ProcessRecord;->memImportance:I
8926 if-eq v0, v2, :cond_7ed
8931 move-object/from16 v0, p1
8933 iget-boolean v2, v0, Lcom/android/server/am/ProcessRecord;->foregroundActivities:Z
8937 if-eq v0, v2, :cond_6ee
8939 or-int/lit8 v15, v15, 0x1
8942 if-eqz v15, :cond_784
8946 move-object/from16 v1, p1
8948 iput v0, v1, Lcom/android/server/am/ProcessRecord;->memImportance:I
8952 move-object/from16 v1, p1
8954 iput-boolean v0, v1, Lcom/android/server/am/ProcessRecord;->foregroundActivities:Z
8956 move-object/from16 v0, p0
8958 iget-object v2, v0, Lcom/android/server/am/ActivityManagerService;->mPendingProcessChanges:Ljava/util/ArrayList;
8960 invoke-virtual {v2}, Ljava/util/ArrayList;->size()I
8964 add-int/lit8 v23, v2, -0x1
8969 if-ltz v23, :cond_720
8971 move-object/from16 v0, p0
8973 iget-object v2, v0, Lcom/android/server/am/ActivityManagerService;->mPendingProcessChanges:Ljava/util/ArrayList;
8977 invoke-virtual {v2, v0}, Ljava/util/ArrayList;->get(I)Ljava/lang/Object;
8979 move-result-object v26
8981 check-cast v26, Lcom/android/server/am/ActivityManagerService$ProcessChangeItem;
8983 move-object/from16 v0, v26
8985 iget v2, v0, Lcom/android/server/am/ActivityManagerService$ProcessChangeItem;->pid:I
8987 move-object/from16 v0, p1
8989 iget v7, v0, Lcom/android/server/am/ProcessRecord;->pid:I
8991 if-ne v2, v7, :cond_7f0
8994 if-gez v23, :cond_76f
8996 move-object/from16 v0, p0
8998 iget-object v2, v0, Lcom/android/server/am/ActivityManagerService;->mAvailProcessChanges:Ljava/util/ArrayList;
9000 invoke-virtual {v2}, Ljava/util/ArrayList;->size()I
9004 if-lez v10, :cond_7f4
9006 move-object/from16 v0, p0
9008 iget-object v2, v0, Lcom/android/server/am/ActivityManagerService;->mAvailProcessChanges:Ljava/util/ArrayList;
9010 add-int/lit8 v7, v10, -0x1
9012 invoke-virtual {v2, v7}, Ljava/util/ArrayList;->remove(I)Ljava/lang/Object;
9014 move-result-object v26
9016 check-cast v26, Lcom/android/server/am/ActivityManagerService$ProcessChangeItem;
9021 move-object/from16 v0, v26
9023 iput v2, v0, Lcom/android/server/am/ActivityManagerService$ProcessChangeItem;->changes:I
9025 move-object/from16 v0, p1
9027 iget v2, v0, Lcom/android/server/am/ProcessRecord;->pid:I
9029 move-object/from16 v0, v26
9031 iput v2, v0, Lcom/android/server/am/ActivityManagerService$ProcessChangeItem;->pid:I
9033 move-object/from16 v0, p1
9035 iget-object v2, v0, Lcom/android/server/am/ProcessRecord;->info:Landroid/content/pm/ApplicationInfo;
9037 iget v2, v2, Landroid/content/pm/ApplicationInfo;->uid:I
9039 move-object/from16 v0, v26
9041 iput v2, v0, Lcom/android/server/am/ActivityManagerService$ProcessChangeItem;->uid:I
9043 move-object/from16 v0, p0
9045 iget-object v2, v0, Lcom/android/server/am/ActivityManagerService;->mPendingProcessChanges:Ljava/util/ArrayList;
9047 invoke-virtual {v2}, Ljava/util/ArrayList;->size()I
9051 if-nez v2, :cond_766
9053 move-object/from16 v0, p0
9055 iget-object v2, v0, Lcom/android/server/am/ActivityManagerService;->mHandler:Landroid/os/Handler;
9059 invoke-virtual {v2, v7}, Landroid/os/Handler;->obtainMessage(I)Landroid/os/Message;
9061 move-result-object v2
9063 invoke-virtual {v2}, Landroid/os/Message;->sendToTarget()V
9066 move-object/from16 v0, p0
9068 iget-object v2, v0, Lcom/android/server/am/ActivityManagerService;->mPendingProcessChanges:Ljava/util/ArrayList;
9070 move-object/from16 v0, v26
9072 invoke-virtual {v2, v0}, Ljava/util/ArrayList;->add(Ljava/lang/Object;)Z
9075 move-object/from16 v0, v26
9077 iget v2, v0, Lcom/android/server/am/ActivityManagerService$ProcessChangeItem;->changes:I
9079 or-int/2addr v2, v15
9081 move-object/from16 v0, v26
9083 iput v2, v0, Lcom/android/server/am/ActivityManagerService$ProcessChangeItem;->changes:I
9087 move-object/from16 v1, v26
9089 iput v0, v1, Lcom/android/server/am/ActivityManagerService$ProcessChangeItem;->importance:I
9093 move-object/from16 v1, v26
9095 iput-boolean v0, v1, Lcom/android/server/am/ActivityManagerService$ProcessChangeItem;->foregroundActivities:Z
9098 move-object/from16 v0, p1
9100 iget v2, v0, Lcom/android/server/am/ProcessRecord;->curRawAdj:I
9112 move-object/from16 v0, p1
9114 iput-boolean v2, v0, Lcom/android/server/am/ProcessRecord;->serviceb:Z
9121 if-ge v13, v2, :cond_79a
9130 if-ge v13, v2, :cond_7a0
9137 sget v2, Lcom/android/server/am/ProcessList;->HIDDEN_APP_MIN_ADJ:I
9139 if-ge v13, v2, :cond_7a8
9141 sget v13, Lcom/android/server/am/ProcessList;->HIDDEN_APP_MIN_ADJ:I
9148 if-ge v13, v2, :cond_6b7
9150 add-int/lit8 v13, v13, 0x1
9155 sget v2, Lcom/android/server/am/ProcessList;->HIDDEN_APP_MIN_ADJ:I
9157 if-lt v13, v2, :cond_7b8
9166 if-lt v13, v2, :cond_7c0
9175 if-lt v13, v2, :cond_7c7
9184 if-lt v13, v2, :cond_7ce
9193 if-lt v13, v2, :cond_7d5
9202 if-lt v13, v2, :cond_7dc
9211 if-lt v13, v2, :cond_7e3
9218 if-ltz v13, :cond_7e9
9235 add-int/lit8 v23, v23, -0x1
9240 new-instance v26, Lcom/android/server/am/ActivityManagerService$ProcessChangeItem;
9242 invoke-direct/range {v26 .. v26}, Lcom/android/server/am/ActivityManagerService$ProcessChangeItem;-><init>()V
9247 .method private crashApplication(Lcom/android/server/am/ProcessRecord;Landroid/app/ApplicationErrorReport$CrashInfo;)V
9250 invoke-static {}, Ljava/lang/System;->currentTimeMillis()J
9254 move-object/from16 v0, p2
9256 iget-object v6, v0, Landroid/app/ApplicationErrorReport$CrashInfo;->exceptionClassName:Ljava/lang/String;
9258 move-object/from16 v0, p2
9260 iget-object v7, v0, Landroid/app/ApplicationErrorReport$CrashInfo;->exceptionMessage:Ljava/lang/String;
9262 move-object/from16 v0, p2
9264 iget-object v0, v0, Landroid/app/ApplicationErrorReport$CrashInfo;->stackTrace:Ljava/lang/String;
9266 move-object/from16 v20, v0
9272 new-instance v3, Ljava/lang/StringBuilder;
9274 invoke-direct {v3}, Ljava/lang/StringBuilder;-><init>()V
9276 invoke-virtual {v3, v6}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
9278 move-result-object v3
9280 const-string v10, ": "
9282 invoke-virtual {v3, v10}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
9284 move-result-object v3
9286 invoke-virtual {v3, v7}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
9288 move-result-object v3
9290 invoke-virtual {v3}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
9292 move-result-object v7
9296 new-instance v19, Lcom/android/server/am/AppErrorResult;
9298 invoke-direct/range {v19 .. v19}, Lcom/android/server/am/AppErrorResult;-><init>()V
9303 move-object/from16 v0, p0
9305 iget-object v3, v0, Lcom/android/server/am/ActivityManagerService;->mController:Landroid/app/IActivityController;
9307 .catchall {:try_start_33 .. :try_end_37} :catchall_12a
9314 move-object/from16 v0, p1
9316 iget-object v4, v0, Lcom/android/server/am/ProcessRecord;->processName:Ljava/lang/String;
9321 move-object/from16 v0, p1
9323 iget v5, v0, Lcom/android/server/am/ProcessRecord;->pid:I
9326 move-object/from16 v0, p0
9328 iget-object v3, v0, Lcom/android/server/am/ActivityManagerService;->mController:Landroid/app/IActivityController;
9330 move-object/from16 v0, p2
9332 iget-object v10, v0, Landroid/app/ApplicationErrorReport$CrashInfo;->stackTrace:Ljava/lang/String;
9334 invoke-interface/range {v3 .. v10}, Landroid/app/IActivityController;->appCrashed(Ljava/lang/String;ILjava/lang/String;Ljava/lang/String;JLjava/lang/String;)Z
9340 const-string v3, "ActivityManager"
9342 new-instance v10, Ljava/lang/StringBuilder;
9344 invoke-direct {v10}, Ljava/lang/StringBuilder;-><init>()V
9346 const-string v21, "Force-killing crashed app "
9348 move-object/from16 v0, v21
9350 invoke-virtual {v10, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
9352 move-result-object v10
9354 invoke-virtual {v10, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
9356 move-result-object v10
9358 const-string v21, " at watcher\'s request"
9360 move-object/from16 v0, v21
9362 invoke-virtual {v10, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
9364 move-result-object v10
9366 invoke-virtual {v10}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
9368 move-result-object v10
9370 invoke-static {v3, v10}, Landroid/util/Slog;->w(Ljava/lang/String;Ljava/lang/String;)I
9372 invoke-static {v5}, Landroid/os/Process;->killProcess(I)V
9374 .catchall {:try_start_3b .. :try_end_78} :catchall_12a
9375 .catch Landroid/os/RemoteException; {:try_start_3b .. :try_end_78} :catch_85
9380 .catchall {:try_start_78 .. :try_end_79} :catchall_12a
9400 invoke-static {}, Landroid/os/Binder;->getCallingPid()I
9402 .catchall {:try_start_80 .. :try_end_83} :catchall_12a
9403 .catch Landroid/os/RemoteException; {:try_start_80 .. :try_end_83} :catch_85
9415 move-object/from16 v0, p0
9417 iput-object v3, v0, Lcom/android/server/am/ActivityManagerService;->mController:Landroid/app/IActivityController;
9420 invoke-static {}, Landroid/os/Binder;->clearCallingIdentity()J
9422 move-result-wide v16
9424 if-eqz p1, :cond_12d
9426 move-object/from16 v0, p1
9428 iget-object v3, v0, Lcom/android/server/am/ProcessRecord;->instrumentationClass:Landroid/content/ComponentName;
9430 if-eqz v3, :cond_12d
9432 const-string v3, "ActivityManager"
9434 new-instance v10, Ljava/lang/StringBuilder;
9436 invoke-direct {v10}, Ljava/lang/StringBuilder;-><init>()V
9438 const-string v21, "Error in app "
9440 move-object/from16 v0, v21
9442 invoke-virtual {v10, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
9444 move-result-object v10
9446 move-object/from16 v0, p1
9448 iget-object v0, v0, Lcom/android/server/am/ProcessRecord;->processName:Ljava/lang/String;
9450 move-object/from16 v21, v0
9452 move-object/from16 v0, v21
9454 invoke-virtual {v10, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
9456 move-result-object v10
9458 const-string v21, " running instrumentation "
9460 move-object/from16 v0, v21
9462 invoke-virtual {v10, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
9464 move-result-object v10
9466 move-object/from16 v0, p1
9468 iget-object v0, v0, Lcom/android/server/am/ProcessRecord;->instrumentationClass:Landroid/content/ComponentName;
9470 move-object/from16 v21, v0
9472 move-object/from16 v0, v21
9474 invoke-virtual {v10, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
9476 move-result-object v10
9478 const-string v21, ":"
9480 move-object/from16 v0, v21
9482 invoke-virtual {v10, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
9484 move-result-object v10
9486 invoke-virtual {v10}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
9488 move-result-object v10
9490 invoke-static {v3, v10}, Landroid/util/Slog;->w(Ljava/lang/String;Ljava/lang/String;)I
9494 const-string v3, "ActivityManager"
9496 new-instance v10, Ljava/lang/StringBuilder;
9498 invoke-direct {v10}, Ljava/lang/StringBuilder;-><init>()V
9500 const-string v21, " "
9502 move-object/from16 v0, v21
9504 invoke-virtual {v10, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
9506 move-result-object v10
9508 invoke-virtual {v10, v6}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
9510 move-result-object v10
9512 invoke-virtual {v10}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
9514 move-result-object v10
9516 invoke-static {v3, v10}, Landroid/util/Slog;->w(Ljava/lang/String;Ljava/lang/String;)I
9519 if-eqz v7, :cond_10d
9521 const-string v3, "ActivityManager"
9523 new-instance v10, Ljava/lang/StringBuilder;
9525 invoke-direct {v10}, Ljava/lang/StringBuilder;-><init>()V
9527 const-string v21, " "
9529 move-object/from16 v0, v21
9531 invoke-virtual {v10, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
9533 move-result-object v10
9535 invoke-virtual {v10, v7}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
9537 move-result-object v10
9539 invoke-virtual {v10}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
9541 move-result-object v10
9543 invoke-static {v3, v10}, Landroid/util/Slog;->w(Ljava/lang/String;Ljava/lang/String;)I
9546 new-instance v14, Landroid/os/Bundle;
9548 invoke-direct {v14}, Landroid/os/Bundle;-><init>()V
9550 const-string v3, "shortMsg"
9552 invoke-virtual {v14, v3, v6}, Landroid/os/Bundle;->putString(Ljava/lang/String;Ljava/lang/String;)V
9554 const-string v3, "longMsg"
9556 invoke-virtual {v14, v3, v7}, Landroid/os/Bundle;->putString(Ljava/lang/String;Ljava/lang/String;)V
9560 move-object/from16 v0, p0
9562 move-object/from16 v1, p1
9564 invoke-virtual {v0, v1, v3, v14}, Lcom/android/server/am/ActivityManagerService;->finishInstrumentationLocked(Lcom/android/server/am/ProcessRecord;ILandroid/os/Bundle;)V
9566 invoke-static/range {v16 .. v17}, Landroid/os/Binder;->restoreCallingIdentity(J)V
9577 .catchall {:try_start_87 .. :try_end_12c} :catchall_12a
9582 if-eqz p1, :cond_13b
9585 move-object/from16 v0, p0
9587 move-object/from16 v1, p1
9589 move-object/from16 v2, v20
9591 invoke-direct {v0, v1, v6, v7, v2}, Lcom/android/server/am/ActivityManagerService;->makeAppCrashingLocked(Lcom/android/server/am/ProcessRecord;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Z
9595 if-nez v3, :cond_141
9598 invoke-static/range {v16 .. v17}, Landroid/os/Binder;->restoreCallingIdentity(J)V
9605 invoke-static {}, Landroid/os/Message;->obtain()Landroid/os/Message;
9607 move-result-object v15
9611 iput v3, v15, Landroid/os/Message;->what:I
9613 new-instance v12, Ljava/util/HashMap;
9615 invoke-direct {v12}, Ljava/util/HashMap;-><init>()V
9617 const-string v3, "result"
9619 move-object/from16 v0, v19
9621 invoke-virtual {v12, v3, v0}, Ljava/util/HashMap;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
9623 const-string v3, "app"
9625 move-object/from16 v0, p1
9627 invoke-virtual {v12, v3, v0}, Ljava/util/HashMap;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
9629 iput-object v12, v15, Landroid/os/Message;->obj:Ljava/lang/Object;
9631 move-object/from16 v0, p0
9633 iget-object v3, v0, Lcom/android/server/am/ActivityManagerService;->mHandler:Landroid/os/Handler;
9635 invoke-virtual {v3, v15}, Landroid/os/Handler;->sendMessage(Landroid/os/Message;)Z
9637 invoke-static/range {v16 .. v17}, Landroid/os/Binder;->restoreCallingIdentity(J)V
9641 .catchall {:try_start_12f .. :try_end_168} :catchall_12a
9643 invoke-virtual/range {v19 .. v19}, Lcom/android/server/am/AppErrorResult;->get()I
9651 if-eqz p1, :cond_195
9654 move-object/from16 v0, p1
9656 iget-boolean v3, v0, Lcom/android/server/am/ProcessRecord;->isolated:Z
9658 if-nez v3, :cond_195
9660 move-object/from16 v0, p0
9662 iget-object v3, v0, Lcom/android/server/am/ActivityManagerService;->mProcessCrashTimes:Lcom/android/server/ProcessMap;
9664 move-object/from16 v0, p1
9666 iget-object v10, v0, Lcom/android/server/am/ProcessRecord;->info:Landroid/content/pm/ApplicationInfo;
9668 iget-object v10, v10, Landroid/content/pm/ApplicationInfo;->processName:Ljava/lang/String;
9670 move-object/from16 v0, p1
9672 iget v0, v0, Lcom/android/server/am/ProcessRecord;->uid:I
9676 invoke-static {}, Landroid/os/SystemClock;->uptimeMillis()J
9678 move-result-wide v22
9680 invoke-static/range {v22 .. v23}, Ljava/lang/Long;->valueOf(J)Ljava/lang/Long;
9682 move-result-object v22
9686 move-object/from16 v1, v22
9688 invoke-virtual {v3, v10, v0, v1}, Lcom/android/server/ProcessMap;->put(Ljava/lang/String;ILjava/lang/Object;)Ljava/lang/Object;
9695 if-ne v0, v3, :cond_1a4
9697 move-object/from16 v0, p0
9699 move-object/from16 v1, p1
9701 move-object/from16 v2, p2
9703 invoke-virtual {v0, v1, v8, v9, v2}, Lcom/android/server/am/ActivityManagerService;->createAppErrorIntentLocked(Lcom/android/server/am/ProcessRecord;JLandroid/app/ApplicationErrorReport$CrashInfo;)Landroid/content/Intent;
9705 move-result-object v11
9710 .catchall {:try_start_170 .. :try_end_1a5} :catchall_1c7
9712 if-eqz v11, :cond_79
9715 move-object/from16 v0, p0
9717 iget-object v3, v0, Lcom/android/server/am/ActivityManagerService;->mContext:Landroid/content/Context;
9719 new-instance v10, Landroid/os/UserHandle;
9721 move-object/from16 v0, p1
9723 iget v0, v0, Lcom/android/server/am/ProcessRecord;->userId:I
9729 invoke-direct {v10, v0}, Landroid/os/UserHandle;-><init>(I)V
9731 invoke-virtual {v3, v11, v10}, Landroid/content/Context;->startActivityAsUser(Landroid/content/Intent;Landroid/os/UserHandle;)V
9733 .catch Landroid/content/ActivityNotFoundException; {:try_start_1a7 .. :try_end_1bb} :catch_1bd
9740 const-string v3, "ActivityManager"
9742 const-string v10, "bug report receiver dissappeared"
9744 invoke-static {v3, v10, v13}, Landroid/util/Slog;->w(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I
9754 .catchall {:try_start_1c8 .. :try_end_1c9} :catchall_1c7
9759 .method private createAppErrorReportLocked(Lcom/android/server/am/ProcessRecord;JLandroid/app/ApplicationErrorReport$CrashInfo;)Landroid/app/ApplicationErrorReport;
9766 iget-object v1, p1, Lcom/android/server/am/ProcessRecord;->errorReportReceiver:Landroid/content/ComponentName;
9775 iget-boolean v1, p1, Lcom/android/server/am/ProcessRecord;->crashing:Z
9779 iget-boolean v1, p1, Lcom/android/server/am/ProcessRecord;->notResponding:Z
9784 new-instance v0, Landroid/app/ApplicationErrorReport;
9786 invoke-direct {v0}, Landroid/app/ApplicationErrorReport;-><init>()V
9788 iget-object v1, p1, Lcom/android/server/am/ProcessRecord;->info:Landroid/content/pm/ApplicationInfo;
9790 iget-object v1, v1, Landroid/content/pm/ApplicationInfo;->packageName:Ljava/lang/String;
9792 iput-object v1, v0, Landroid/app/ApplicationErrorReport;->packageName:Ljava/lang/String;
9794 iget-object v1, p1, Lcom/android/server/am/ProcessRecord;->errorReportReceiver:Landroid/content/ComponentName;
9796 invoke-virtual {v1}, Landroid/content/ComponentName;->getPackageName()Ljava/lang/String;
9798 move-result-object v1
9800 iput-object v1, v0, Landroid/app/ApplicationErrorReport;->installerPackageName:Ljava/lang/String;
9802 iget-object v1, p1, Lcom/android/server/am/ProcessRecord;->processName:Ljava/lang/String;
9804 iput-object v1, v0, Landroid/app/ApplicationErrorReport;->processName:Ljava/lang/String;
9806 iput-wide p2, v0, Landroid/app/ApplicationErrorReport;->time:J
9808 iget-object v1, p1, Lcom/android/server/am/ProcessRecord;->info:Landroid/content/pm/ApplicationInfo;
9810 iget v1, v1, Landroid/content/pm/ApplicationInfo;->flags:I
9812 and-int/lit8 v1, v1, 0x1
9819 iput-boolean v1, v0, Landroid/app/ApplicationErrorReport;->systemApp:Z
9821 iget-boolean v1, p1, Lcom/android/server/am/ProcessRecord;->crashing:Z
9825 iput v2, v0, Landroid/app/ApplicationErrorReport;->type:I
9827 iput-object p4, v0, Landroid/app/ApplicationErrorReport;->crashInfo:Landroid/app/ApplicationErrorReport$CrashInfo;
9837 iget-boolean v1, p1, Lcom/android/server/am/ProcessRecord;->notResponding:Z
9843 iput v1, v0, Landroid/app/ApplicationErrorReport;->type:I
9845 new-instance v1, Landroid/app/ApplicationErrorReport$AnrInfo;
9847 invoke-direct {v1}, Landroid/app/ApplicationErrorReport$AnrInfo;-><init>()V
9849 iput-object v1, v0, Landroid/app/ApplicationErrorReport;->anrInfo:Landroid/app/ApplicationErrorReport$AnrInfo;
9851 iget-object v1, v0, Landroid/app/ApplicationErrorReport;->anrInfo:Landroid/app/ApplicationErrorReport$AnrInfo;
9853 iget-object v2, p1, Lcom/android/server/am/ProcessRecord;->notRespondingReport:Landroid/app/ActivityManager$ProcessErrorStateInfo;
9855 iget-object v2, v2, Landroid/app/ActivityManager$ProcessErrorStateInfo;->tag:Ljava/lang/String;
9857 iput-object v2, v1, Landroid/app/ApplicationErrorReport$AnrInfo;->activity:Ljava/lang/String;
9859 iget-object v1, v0, Landroid/app/ApplicationErrorReport;->anrInfo:Landroid/app/ApplicationErrorReport$AnrInfo;
9861 iget-object v2, p1, Lcom/android/server/am/ProcessRecord;->notRespondingReport:Landroid/app/ActivityManager$ProcessErrorStateInfo;
9863 iget-object v2, v2, Landroid/app/ActivityManager$ProcessErrorStateInfo;->shortMsg:Ljava/lang/String;
9865 iput-object v2, v1, Landroid/app/ApplicationErrorReport$AnrInfo;->cause:Ljava/lang/String;
9867 iget-object v1, v0, Landroid/app/ApplicationErrorReport;->anrInfo:Landroid/app/ApplicationErrorReport$AnrInfo;
9869 iget-object v2, p1, Lcom/android/server/am/ProcessRecord;->notRespondingReport:Landroid/app/ActivityManager$ProcessErrorStateInfo;
9871 iget-object v2, v2, Landroid/app/ActivityManager$ProcessErrorStateInfo;->longMsg:Ljava/lang/String;
9873 iput-object v2, v1, Landroid/app/ApplicationErrorReport$AnrInfo;->info:Ljava/lang/String;
9878 .method private dispatchProcessDied(II)V
9881 iget-object v2, p0, Lcom/android/server/am/ActivityManagerService;->mProcessObservers:Landroid/os/RemoteCallbackList;
9883 invoke-virtual {v2}, Landroid/os/RemoteCallbackList;->beginBroadcast()I
9891 add-int/lit8 v0, v0, -0x1
9893 iget-object v2, p0, Lcom/android/server/am/ActivityManagerService;->mProcessObservers:Landroid/os/RemoteCallbackList;
9895 invoke-virtual {v2, v0}, Landroid/os/RemoteCallbackList;->getBroadcastItem(I)Landroid/os/IInterface;
9897 move-result-object v1
9899 check-cast v1, Landroid/app/IProcessObserver;
9904 invoke-interface {v1, p1, p2}, Landroid/app/IProcessObserver;->onProcessDied(II)V
9906 .catch Landroid/os/RemoteException; {:try_start_14 .. :try_end_17} :catch_18
9916 iget-object v2, p0, Lcom/android/server/am/ActivityManagerService;->mProcessObservers:Landroid/os/RemoteCallbackList;
9918 invoke-virtual {v2}, Landroid/os/RemoteCallbackList;->finishBroadcast()V
9923 .method private dispatchProcessesChanged()V
9929 iget-object v5, p0, Lcom/android/server/am/ActivityManagerService;->mPendingProcessChanges:Ljava/util/ArrayList;
9931 invoke-virtual {v5}, Ljava/util/ArrayList;->size()I
9935 iget-object v5, p0, Lcom/android/server/am/ActivityManagerService;->mActiveProcessChanges:[Lcom/android/server/am/ActivityManagerService$ProcessChangeItem;
9939 if-ge v5, v0, :cond_10
9941 new-array v5, v0, [Lcom/android/server/am/ActivityManagerService$ProcessChangeItem;
9943 iput-object v5, p0, Lcom/android/server/am/ActivityManagerService;->mActiveProcessChanges:[Lcom/android/server/am/ActivityManagerService$ProcessChangeItem;
9946 iget-object v5, p0, Lcom/android/server/am/ActivityManagerService;->mPendingProcessChanges:Ljava/util/ArrayList;
9948 iget-object v6, p0, Lcom/android/server/am/ActivityManagerService;->mActiveProcessChanges:[Lcom/android/server/am/ActivityManagerService$ProcessChangeItem;
9950 invoke-virtual {v5, v6}, Ljava/util/ArrayList;->toArray([Ljava/lang/Object;)[Ljava/lang/Object;
9952 iget-object v5, p0, Lcom/android/server/am/ActivityManagerService;->mAvailProcessChanges:Ljava/util/ArrayList;
9954 iget-object v6, p0, Lcom/android/server/am/ActivityManagerService;->mPendingProcessChanges:Ljava/util/ArrayList;
9956 invoke-virtual {v5, v6}, Ljava/util/ArrayList;->addAll(Ljava/util/Collection;)Z
9958 iget-object v5, p0, Lcom/android/server/am/ActivityManagerService;->mPendingProcessChanges:Ljava/util/ArrayList;
9960 invoke-virtual {v5}, Ljava/util/ArrayList;->clear()V
9964 .catchall {:try_start_1 .. :try_end_24} :catchall_60
9966 iget-object v5, p0, Lcom/android/server/am/ActivityManagerService;->mProcessObservers:Landroid/os/RemoteCallbackList;
9968 invoke-virtual {v5}, Landroid/os/RemoteCallbackList;->beginBroadcast()I
9976 add-int/lit8 v1, v1, -0x1
9978 iget-object v5, p0, Lcom/android/server/am/ActivityManagerService;->mProcessObservers:Landroid/os/RemoteCallbackList;
9980 invoke-virtual {v5, v1}, Landroid/os/RemoteCallbackList;->getBroadcastItem(I)Landroid/os/IInterface;
9982 move-result-object v4
9984 check-cast v4, Landroid/app/IProcessObserver;
9991 if-ge v3, v0, :cond_2a
9994 iget-object v5, p0, Lcom/android/server/am/ActivityManagerService;->mActiveProcessChanges:[Lcom/android/server/am/ActivityManagerService$ProcessChangeItem;
9996 aget-object v2, v5, v3
9998 iget v5, v2, Lcom/android/server/am/ActivityManagerService$ProcessChangeItem;->changes:I
10000 and-int/lit8 v5, v5, 0x1
10002 if-eqz v5, :cond_4e
10004 iget v5, v2, Lcom/android/server/am/ActivityManagerService$ProcessChangeItem;->pid:I
10006 iget v6, v2, Lcom/android/server/am/ActivityManagerService$ProcessChangeItem;->uid:I
10008 iget-boolean v7, v2, Lcom/android/server/am/ActivityManagerService$ProcessChangeItem;->foregroundActivities:Z
10010 invoke-interface {v4, v5, v6, v7}, Landroid/app/IProcessObserver;->onForegroundActivitiesChanged(IIZ)V
10013 iget v5, v2, Lcom/android/server/am/ActivityManagerService$ProcessChangeItem;->changes:I
10015 and-int/lit8 v5, v5, 0x2
10017 if-eqz v5, :cond_5d
10019 iget v5, v2, Lcom/android/server/am/ActivityManagerService$ProcessChangeItem;->pid:I
10021 iget v6, v2, Lcom/android/server/am/ActivityManagerService$ProcessChangeItem;->uid:I
10023 iget v7, v2, Lcom/android/server/am/ActivityManagerService$ProcessChangeItem;->importance:I
10025 invoke-interface {v4, v5, v6, v7}, Landroid/app/IProcessObserver;->onImportanceChanged(III)V
10027 .catch Landroid/os/RemoteException; {:try_start_3b .. :try_end_5d} :catch_69
10030 add-int/lit8 v3, v3, 0x1
10040 .catchall {:try_start_61 .. :try_end_62} :catchall_60
10045 iget-object v5, p0, Lcom/android/server/am/ActivityManagerService;->mProcessObservers:Landroid/os/RemoteCallbackList;
10047 invoke-virtual {v5}, Landroid/os/RemoteCallbackList;->finishBroadcast()V
10057 .method private dumpActivity(Ljava/lang/String;Ljava/io/FileDescriptor;Ljava/io/PrintWriter;Lcom/android/server/am/ActivityRecord;[Ljava/lang/String;Z)V
10060 new-instance v3, Ljava/lang/StringBuilder;
10062 invoke-direct {v3}, Ljava/lang/StringBuilder;-><init>()V
10064 invoke-virtual {v3, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
10066 move-result-object v3
10068 const-string v4, " "
10070 invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
10072 move-result-object v3
10074 invoke-virtual {v3}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
10076 move-result-object v1
10081 invoke-virtual {p3, p1}, Ljava/io/PrintWriter;->print(Ljava/lang/String;)V
10083 const-string v3, "ACTIVITY "
10085 invoke-virtual {p3, v3}, Ljava/io/PrintWriter;->print(Ljava/lang/String;)V
10087 iget-object v3, p4, Lcom/android/server/am/ActivityRecord;->shortComponentName:Ljava/lang/String;
10089 invoke-virtual {p3, v3}, Ljava/io/PrintWriter;->print(Ljava/lang/String;)V
10091 const-string v3, " "
10093 invoke-virtual {p3, v3}, Ljava/io/PrintWriter;->print(Ljava/lang/String;)V
10095 invoke-static {p4}, Ljava/lang/System;->identityHashCode(Ljava/lang/Object;)I
10099 invoke-static {v3}, Ljava/lang/Integer;->toHexString(I)Ljava/lang/String;
10101 move-result-object v3
10103 invoke-virtual {p3, v3}, Ljava/io/PrintWriter;->print(Ljava/lang/String;)V
10105 const-string v3, " pid="
10107 invoke-virtual {p3, v3}, Ljava/io/PrintWriter;->print(Ljava/lang/String;)V
10109 iget-object v3, p4, Lcom/android/server/am/ActivityRecord;->app:Lcom/android/server/am/ProcessRecord;
10111 if-eqz v3, :cond_71
10113 iget-object v3, p4, Lcom/android/server/am/ActivityRecord;->app:Lcom/android/server/am/ProcessRecord;
10115 iget v3, v3, Lcom/android/server/am/ProcessRecord;->pid:I
10117 invoke-virtual {p3, v3}, Ljava/io/PrintWriter;->println(I)V
10120 if-eqz p6, :cond_46
10122 invoke-virtual {p4, p3, v1}, Lcom/android/server/am/ActivityRecord;->dump(Ljava/io/PrintWriter;Ljava/lang/String;)V
10127 .catchall {:try_start_14 .. :try_end_47} :catchall_77
10129 iget-object v3, p4, Lcom/android/server/am/ActivityRecord;->app:Lcom/android/server/am/ProcessRecord;
10131 if-eqz v3, :cond_70
10133 iget-object v3, p4, Lcom/android/server/am/ActivityRecord;->app:Lcom/android/server/am/ProcessRecord;
10135 iget-object v3, v3, Lcom/android/server/am/ProcessRecord;->thread:Landroid/app/IApplicationThread;
10137 if-eqz v3, :cond_70
10139 invoke-virtual {p3}, Ljava/io/PrintWriter;->flush()V
10142 new-instance v2, Lcom/android/server/am/TransferPipe;
10144 invoke-direct {v2}, Lcom/android/server/am/TransferPipe;-><init>()V
10146 .catch Ljava/io/IOException; {:try_start_54 .. :try_end_59} :catch_7f
10147 .catch Landroid/os/RemoteException; {:try_start_54 .. :try_end_59} :catch_9b
10150 iget-object v3, p4, Lcom/android/server/am/ActivityRecord;->app:Lcom/android/server/am/ProcessRecord;
10152 iget-object v3, v3, Lcom/android/server/am/ProcessRecord;->thread:Landroid/app/IApplicationThread;
10154 invoke-virtual {v2}, Lcom/android/server/am/TransferPipe;->getWriteFd()Landroid/os/ParcelFileDescriptor;
10156 move-result-object v4
10158 invoke-virtual {v4}, Landroid/os/ParcelFileDescriptor;->getFileDescriptor()Ljava/io/FileDescriptor;
10160 move-result-object v4
10162 iget-object v5, p4, Lcom/android/server/am/ActivityRecord;->appToken:Landroid/view/IApplicationToken$Stub;
10164 invoke-interface {v3, v4, v5, v1, p5}, Landroid/app/IApplicationThread;->dumpActivity(Ljava/io/FileDescriptor;Landroid/os/IBinder;Ljava/lang/String;[Ljava/lang/String;)V
10166 invoke-virtual {v2, p2}, Lcom/android/server/am/TransferPipe;->go(Ljava/io/FileDescriptor;)V
10168 .catchall {:try_start_59 .. :try_end_6d} :catchall_7a
10171 invoke-virtual {v2}, Lcom/android/server/am/TransferPipe;->kill()V
10173 .catch Ljava/io/IOException; {:try_start_6d .. :try_end_70} :catch_7f
10174 .catch Landroid/os/RemoteException; {:try_start_6d .. :try_end_70} :catch_9b
10182 const-string v3, "(not running)"
10184 invoke-virtual {p3, v3}, Ljava/io/PrintWriter;->println(Ljava/lang/String;)V
10193 .catchall {:try_start_71 .. :try_end_79} :catchall_77
10201 invoke-virtual {v2}, Lcom/android/server/am/TransferPipe;->kill()V
10205 .catch Ljava/io/IOException; {:try_start_7b .. :try_end_7f} :catch_7f
10206 .catch Landroid/os/RemoteException; {:try_start_7b .. :try_end_7f} :catch_9b
10211 new-instance v3, Ljava/lang/StringBuilder;
10213 invoke-direct {v3}, Ljava/lang/StringBuilder;-><init>()V
10215 invoke-virtual {v3, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
10217 move-result-object v3
10219 const-string v4, "Failure while dumping the activity: "
10221 invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
10223 move-result-object v3
10225 invoke-virtual {v3, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
10227 move-result-object v3
10229 invoke-virtual {v3}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
10231 move-result-object v3
10233 invoke-virtual {p3, v3}, Ljava/io/PrintWriter;->println(Ljava/lang/String;)V
10240 new-instance v3, Ljava/lang/StringBuilder;
10242 invoke-direct {v3}, Ljava/lang/StringBuilder;-><init>()V
10244 invoke-virtual {v3, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
10246 move-result-object v3
10248 const-string v4, "Got a RemoteException while dumping the activity"
10250 invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
10252 move-result-object v3
10254 invoke-virtual {v3}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
10256 move-result-object v3
10258 invoke-virtual {p3, v3}, Ljava/io/PrintWriter;->println(Ljava/lang/String;)V
10263 .method private static final dumpHistoryList(Ljava/io/FileDescriptor;Ljava/io/PrintWriter;Ljava/util/List;Ljava/lang/String;Ljava/lang/String;ZZZLjava/lang/String;)V
10270 new-instance v10, Ljava/lang/StringBuilder;
10272 invoke-direct {v10}, Ljava/lang/StringBuilder;-><init>()V
10274 move-object/from16 v0, p3
10276 invoke-virtual {v10, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
10278 move-result-object v10
10280 const-string v11, " "
10282 invoke-virtual {v10, v11}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
10284 move-result-object v10
10286 invoke-virtual {v10}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
10288 move-result-object v5
10292 new-array v1, v10, [Ljava/lang/String;
10294 invoke-interface {p2}, Ljava/util/List;->size()I
10298 add-int/lit8 v4, v10, -0x1
10301 if-ltz v4, :cond_146
10303 invoke-interface {p2, v4}, Ljava/util/List;->get(I)Ljava/lang/Object;
10305 move-result-object v8
10307 check-cast v8, Lcom/android/server/am/ActivityRecord;
10309 if-eqz p8, :cond_37
10311 iget-object v10, v8, Lcom/android/server/am/ActivityRecord;->packageName:Ljava/lang/String;
10313 move-object/from16 v0, p8
10315 invoke-virtual {v0, v10}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
10319 if-nez v10, :cond_37
10323 add-int/lit8 v4, v4, -0x1
10328 if-nez p6, :cond_cf
10330 if-nez p5, :cond_41
10332 invoke-virtual {v8}, Lcom/android/server/am/ActivityRecord;->isInHistory()Z
10336 if-nez v10, :cond_cf
10342 if-eqz v7, :cond_4a
10344 const-string v10, " "
10346 invoke-virtual {p1, v10}, Ljava/io/PrintWriter;->println(Ljava/lang/String;)V
10351 iget-object v10, v8, Lcom/android/server/am/ActivityRecord;->task:Lcom/android/server/am/TaskRecord;
10353 if-eq v6, v10, :cond_79
10355 iget-object v6, v8, Lcom/android/server/am/ActivityRecord;->task:Lcom/android/server/am/TaskRecord;
10357 move-object/from16 v0, p3
10359 invoke-virtual {p1, v0}, Ljava/io/PrintWriter;->print(Ljava/lang/String;)V
10361 if-eqz v3, :cond_d2
10363 const-string v10, "* "
10366 invoke-virtual {p1, v10}, Ljava/io/PrintWriter;->print(Ljava/lang/String;)V
10368 invoke-virtual {p1, v6}, Ljava/io/PrintWriter;->println(Ljava/lang/Object;)V
10370 if-eqz v3, :cond_d5
10372 new-instance v10, Ljava/lang/StringBuilder;
10374 invoke-direct {v10}, Ljava/lang/StringBuilder;-><init>()V
10376 move-object/from16 v0, p3
10378 invoke-virtual {v10, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
10380 move-result-object v10
10382 const-string v11, " "
10384 invoke-virtual {v10, v11}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
10386 move-result-object v10
10388 invoke-virtual {v10}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
10390 move-result-object v10
10392 invoke-virtual {v6, p1, v10}, Lcom/android/server/am/TaskRecord;->dump(Ljava/io/PrintWriter;Ljava/lang/String;)V
10396 move-object/from16 v0, p3
10398 invoke-virtual {p1, v0}, Ljava/io/PrintWriter;->print(Ljava/lang/String;)V
10400 if-eqz v3, :cond_ef
10402 const-string v10, " * "
10405 invoke-virtual {p1, v10}, Ljava/io/PrintWriter;->print(Ljava/lang/String;)V
10407 move-object/from16 v0, p4
10409 invoke-virtual {p1, v0}, Ljava/io/PrintWriter;->print(Ljava/lang/String;)V
10411 const-string v10, " #"
10413 invoke-virtual {p1, v10}, Ljava/io/PrintWriter;->print(Ljava/lang/String;)V
10415 invoke-virtual {p1, v4}, Ljava/io/PrintWriter;->print(I)V
10417 const-string v10, ": "
10419 invoke-virtual {p1, v10}, Ljava/io/PrintWriter;->print(Ljava/lang/String;)V
10421 invoke-virtual {p1, v8}, Ljava/io/PrintWriter;->println(Ljava/lang/Object;)V
10423 if-eqz v3, :cond_f2
10425 invoke-virtual {v8, p1, v5}, Lcom/android/server/am/ActivityRecord;->dump(Ljava/io/PrintWriter;Ljava/lang/String;)V
10429 if-eqz p7, :cond_34
10431 iget-object v10, v8, Lcom/android/server/am/ActivityRecord;->app:Lcom/android/server/am/ProcessRecord;
10433 if-eqz v10, :cond_34
10435 iget-object v10, v8, Lcom/android/server/am/ActivityRecord;->app:Lcom/android/server/am/ProcessRecord;
10437 iget-object v10, v10, Lcom/android/server/am/ProcessRecord;->thread:Landroid/app/IApplicationThread;
10439 if-eqz v10, :cond_34
10441 invoke-virtual {p1}, Ljava/io/PrintWriter;->flush()V
10444 new-instance v9, Lcom/android/server/am/TransferPipe;
10446 invoke-direct {v9}, Lcom/android/server/am/TransferPipe;-><init>()V
10448 .catch Ljava/io/IOException; {:try_start_ae .. :try_end_b3} :catch_112
10449 .catch Landroid/os/RemoteException; {:try_start_ae .. :try_end_b3} :catch_12e
10452 iget-object v10, v8, Lcom/android/server/am/ActivityRecord;->app:Lcom/android/server/am/ProcessRecord;
10454 iget-object v10, v10, Lcom/android/server/am/ProcessRecord;->thread:Landroid/app/IApplicationThread;
10456 invoke-virtual {v9}, Lcom/android/server/am/TransferPipe;->getWriteFd()Landroid/os/ParcelFileDescriptor;
10458 move-result-object v11
10460 invoke-virtual {v11}, Landroid/os/ParcelFileDescriptor;->getFileDescriptor()Ljava/io/FileDescriptor;
10462 move-result-object v11
10464 iget-object v12, v8, Lcom/android/server/am/ActivityRecord;->appToken:Landroid/view/IApplicationToken$Stub;
10466 invoke-interface {v10, v11, v12, v5, v1}, Landroid/app/IApplicationThread;->dumpActivity(Ljava/io/FileDescriptor;Landroid/os/IBinder;Ljava/lang/String;[Ljava/lang/String;)V
10468 const-wide/16 v10, 0x7d0
10470 invoke-virtual {v9, p0, v10, v11}, Lcom/android/server/am/TransferPipe;->go(Ljava/io/FileDescriptor;J)V
10472 .catchall {:try_start_b3 .. :try_end_c9} :catchall_10d
10475 invoke-virtual {v9}, Lcom/android/server/am/TransferPipe;->kill()V
10477 .catch Ljava/io/IOException; {:try_start_c9 .. :try_end_cc} :catch_112
10478 .catch Landroid/os/RemoteException; {:try_start_c9 .. :try_end_cc} :catch_12e
10491 const-string v10, " "
10496 if-eqz p5, :cond_79
10498 iget-object v10, v6, Lcom/android/server/am/TaskRecord;->intent:Landroid/content/Intent;
10500 if-eqz v10, :cond_79
10502 move-object/from16 v0, p3
10504 invoke-virtual {p1, v0}, Ljava/io/PrintWriter;->print(Ljava/lang/String;)V
10506 const-string v10, " "
10508 invoke-virtual {p1, v10}, Ljava/io/PrintWriter;->print(Ljava/lang/String;)V
10510 iget-object v10, v6, Lcom/android/server/am/TaskRecord;->intent:Landroid/content/Intent;
10512 invoke-virtual {v10}, Landroid/content/Intent;->toInsecureStringWithClip()Ljava/lang/String;
10514 move-result-object v10
10516 invoke-virtual {p1, v10}, Ljava/io/PrintWriter;->println(Ljava/lang/String;)V
10521 const-string v10, " "
10526 if-eqz p5, :cond_9f
10528 invoke-virtual {p1, v5}, Ljava/io/PrintWriter;->print(Ljava/lang/String;)V
10530 iget-object v10, v8, Lcom/android/server/am/ActivityRecord;->intent:Landroid/content/Intent;
10532 invoke-virtual {v10}, Landroid/content/Intent;->toInsecureString()Ljava/lang/String;
10534 move-result-object v10
10536 invoke-virtual {p1, v10}, Ljava/io/PrintWriter;->println(Ljava/lang/String;)V
10538 iget-object v10, v8, Lcom/android/server/am/ActivityRecord;->app:Lcom/android/server/am/ProcessRecord;
10540 if-eqz v10, :cond_9f
10542 invoke-virtual {p1, v5}, Ljava/io/PrintWriter;->print(Ljava/lang/String;)V
10544 iget-object v10, v8, Lcom/android/server/am/ActivityRecord;->app:Lcom/android/server/am/ProcessRecord;
10546 invoke-virtual {p1, v10}, Ljava/io/PrintWriter;->println(Ljava/lang/Object;)V
10554 invoke-virtual {v9}, Lcom/android/server/am/TransferPipe;->kill()V
10558 .catch Ljava/io/IOException; {:try_start_10e .. :try_end_112} :catch_112
10559 .catch Landroid/os/RemoteException; {:try_start_10e .. :try_end_112} :catch_12e
10564 new-instance v10, Ljava/lang/StringBuilder;
10566 invoke-direct {v10}, Ljava/lang/StringBuilder;-><init>()V
10568 invoke-virtual {v10, v5}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
10570 move-result-object v10
10572 const-string v11, "Failure while dumping the activity: "
10574 invoke-virtual {v10, v11}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
10576 move-result-object v10
10578 invoke-virtual {v10, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
10580 move-result-object v10
10582 invoke-virtual {v10}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
10584 move-result-object v10
10586 invoke-virtual {p1, v10}, Ljava/io/PrintWriter;->println(Ljava/lang/String;)V
10593 new-instance v10, Ljava/lang/StringBuilder;
10595 invoke-direct {v10}, Ljava/lang/StringBuilder;-><init>()V
10597 invoke-virtual {v10, v5}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
10599 move-result-object v10
10601 const-string v11, "Got a RemoteException while dumping the activity"
10603 invoke-virtual {v10, v11}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
10605 move-result-object v10
10607 invoke-virtual {v10}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
10609 move-result-object v10
10611 invoke-virtual {p1, v10}, Ljava/io/PrintWriter;->println(Ljava/lang/String;)V
10619 .method static final dumpMemItems(Ljava/io/PrintWriter;Ljava/lang/String;Ljava/util/ArrayList;Z)V
10621 .annotation system Ldalvik/annotation/Signature;
10624 "Ljava/io/PrintWriter;",
10625 "Ljava/lang/String;",
10626 "Ljava/util/ArrayList",
10628 "Lcom/android/server/am/ActivityManagerService$MemItem;",
10637 new-instance v2, Lcom/android/server/am/ActivityManagerService$15;
10639 invoke-direct {v2}, Lcom/android/server/am/ActivityManagerService$15;-><init>()V
10641 invoke-static {p2, v2}, Ljava/util/Collections;->sort(Ljava/util/List;Ljava/util/Comparator;)V
10647 invoke-virtual {p2}, Ljava/util/ArrayList;->size()I
10651 if-ge v0, v2, :cond_4f
10653 invoke-virtual {p2, v0}, Ljava/util/ArrayList;->get(I)Ljava/lang/Object;
10655 move-result-object v1
10657 check-cast v1, Lcom/android/server/am/ActivityManagerService$MemItem;
10659 invoke-virtual {p0, p1}, Ljava/io/PrintWriter;->print(Ljava/lang/String;)V
10661 const-string v2, "%7d kB: "
10663 new-array v3, v7, [Ljava/lang/Object;
10667 iget-wide v5, v1, Lcom/android/server/am/ActivityManagerService$MemItem;->pss:J
10669 invoke-static {v5, v6}, Ljava/lang/Long;->valueOf(J)Ljava/lang/Long;
10671 move-result-object v5
10673 aput-object v5, v3, v4
10675 invoke-virtual {p0, v2, v3}, Ljava/io/PrintWriter;->printf(Ljava/lang/String;[Ljava/lang/Object;)Ljava/io/PrintWriter;
10677 iget-object v2, v1, Lcom/android/server/am/ActivityManagerService$MemItem;->label:Ljava/lang/String;
10679 invoke-virtual {p0, v2}, Ljava/io/PrintWriter;->println(Ljava/lang/String;)V
10681 iget-object v2, v1, Lcom/android/server/am/ActivityManagerService$MemItem;->subitems:Ljava/util/ArrayList;
10683 if-eqz v2, :cond_4c
10685 new-instance v2, Ljava/lang/StringBuilder;
10687 invoke-direct {v2}, Ljava/lang/StringBuilder;-><init>()V
10689 invoke-virtual {v2, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
10691 move-result-object v2
10693 const-string v3, " "
10695 invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
10697 move-result-object v2
10699 invoke-virtual {v2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
10701 move-result-object v2
10703 iget-object v3, v1, Lcom/android/server/am/ActivityManagerService$MemItem;->subitems:Ljava/util/ArrayList;
10705 invoke-static {p0, v2, v3, v7}, Lcom/android/server/am/ActivityManagerService;->dumpMemItems(Ljava/io/PrintWriter;Ljava/lang/String;Ljava/util/ArrayList;Z)V
10708 add-int/lit8 v0, v0, 0x1
10716 .method private static final dumpProcessList(Ljava/io/PrintWriter;Lcom/android/server/am/ActivityManagerService;Ljava/util/List;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)I
10721 invoke-interface {p2}, Ljava/util/List;->size()I
10725 add-int/lit8 v0, v4, -0x1
10730 if-ltz v1, :cond_4d
10732 invoke-interface {p2, v1}, Ljava/util/List;->get(I)Ljava/lang/Object;
10734 move-result-object v3
10736 check-cast v3, Lcom/android/server/am/ProcessRecord;
10738 if-eqz p6, :cond_1f
10740 iget-object v4, v3, Lcom/android/server/am/ProcessRecord;->info:Landroid/content/pm/ApplicationInfo;
10742 iget-object v4, v4, Landroid/content/pm/ApplicationInfo;->packageName:Ljava/lang/String;
10744 invoke-virtual {p6, v4}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
10748 if-nez v4, :cond_1f
10752 add-int/lit8 v1, v1, -0x1
10757 const-string v5, "%s%s #%2d: %s"
10761 new-array v6, v4, [Ljava/lang/Object;
10765 aput-object p3, v6, v4
10769 iget-boolean v4, v3, Lcom/android/server/am/ProcessRecord;->persistent:Z
10771 if-eqz v4, :cond_4b
10776 aput-object v4, v6, v7
10780 invoke-static {v1}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
10782 move-result-object v7
10784 aput-object v7, v6, v4
10788 invoke-virtual {v3}, Lcom/android/server/am/ProcessRecord;->toString()Ljava/lang/String;
10790 move-result-object v7
10792 aput-object v7, v6, v4
10794 invoke-static {v5, v6}, Ljava/lang/String;->format(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
10796 move-result-object v4
10798 invoke-virtual {p0, v4}, Ljava/io/PrintWriter;->println(Ljava/lang/String;)V
10800 iget-boolean v4, v3, Lcom/android/server/am/ProcessRecord;->persistent:Z
10802 if-eqz v4, :cond_1c
10804 add-int/lit8 v2, v2, 0x1
10817 .method private static final dumpProcessOomList(Ljava/io/PrintWriter;Lcom/android/server/am/ActivityManagerService;Ljava/util/List;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;ZLjava/lang/String;)Z
10819 .annotation system Ldalvik/annotation/Signature;
10822 "Ljava/io/PrintWriter;",
10823 "Lcom/android/server/am/ActivityManagerService;",
10826 "Lcom/android/server/am/ProcessRecord;",
10828 "Ljava/lang/String;",
10829 "Ljava/lang/String;",
10830 "Ljava/lang/String;",
10832 "Ljava/lang/String;",
10837 new-instance v10, Ljava/util/ArrayList;
10839 invoke-interface/range {p2 .. p2}, Ljava/util/List;->size()I
10843 move/from16 v0, v23
10845 invoke-direct {v10, v0}, Ljava/util/ArrayList;-><init>(I)V
10850 invoke-interface/range {p2 .. p2}, Ljava/util/List;->size()I
10854 move/from16 v0, v23
10856 if-ge v9, v0, :cond_4a
10858 move-object/from16 v0, p2
10860 invoke-interface {v0, v9}, Ljava/util/List;->get(I)Ljava/lang/Object;
10862 move-result-object v12
10864 check-cast v12, Lcom/android/server/am/ProcessRecord;
10866 if-eqz p7, :cond_35
10868 iget-object v0, v12, Lcom/android/server/am/ProcessRecord;->info:Landroid/content/pm/ApplicationInfo;
10870 move-object/from16 v23, v0
10872 move-object/from16 v0, v23
10874 iget-object v0, v0, Landroid/content/pm/ApplicationInfo;->packageName:Ljava/lang/String;
10876 move-object/from16 v23, v0
10878 move-object/from16 v0, p7
10880 move-object/from16 v1, v23
10882 invoke-virtual {v0, v1}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
10886 if-nez v23, :cond_35
10889 add-int/lit8 v9, v9, 0x1
10894 new-instance v23, Landroid/util/Pair;
10896 move-object/from16 v0, p2
10898 invoke-interface {v0, v9}, Ljava/util/List;->get(I)Ljava/lang/Object;
10900 move-result-object v24
10902 invoke-static {v9}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
10904 move-result-object v25
10906 invoke-direct/range {v23 .. v25}, Landroid/util/Pair;-><init>(Ljava/lang/Object;Ljava/lang/Object;)V
10908 move-object/from16 v0, v23
10910 invoke-virtual {v10, v0}, Ljava/util/ArrayList;->add(Ljava/lang/Object;)Z
10915 invoke-virtual {v10}, Ljava/util/ArrayList;->size()I
10919 if-gtz v23, :cond_53
10927 new-instance v3, Lcom/android/server/am/ActivityManagerService$14;
10929 invoke-direct {v3}, Lcom/android/server/am/ActivityManagerService$14;-><init>()V
10931 invoke-static {v10, v3}, Ljava/util/Collections;->sort(Ljava/util/List;Ljava/util/Comparator;)V
10933 invoke-static {}, Landroid/os/SystemClock;->elapsedRealtime()J
10935 move-result-wide v4
10937 move-object/from16 v0, p1
10939 iget-wide v0, v0, Lcom/android/server/am/ActivityManagerService;->mLastPowerCheckRealtime:J
10941 move-wide/from16 v23, v0
10943 sub-long v13, v4, v23
10945 invoke-static {}, Landroid/os/SystemClock;->uptimeMillis()J
10947 move-result-wide v6
10949 move-object/from16 v0, p1
10951 iget-wide v0, v0, Lcom/android/server/am/ActivityManagerService;->mLastPowerCheckUptime:J
10953 move-wide/from16 v23, v0
10955 sub-long v19, v6, v23
10957 invoke-virtual {v10}, Ljava/util/ArrayList;->size()I
10961 add-int/lit8 v9, v23, -0x1
10964 if-ltz v9, :cond_531
10966 invoke-virtual {v10, v9}, Ljava/util/ArrayList;->get(I)Ljava/lang/Object;
10968 move-result-object v23
10970 check-cast v23, Landroid/util/Pair;
10972 move-object/from16 v0, v23
10974 iget-object v12, v0, Landroid/util/Pair;->first:Ljava/lang/Object;
10976 check-cast v12, Lcom/android/server/am/ProcessRecord;
10978 iget v0, v12, Lcom/android/server/am/ProcessRecord;->setAdj:I
10980 move/from16 v23, v0
10982 sget v24, Lcom/android/server/am/ProcessList;->HIDDEN_APP_MIN_ADJ:I
10984 move/from16 v0, v23
10986 move/from16 v1, v24
10988 if-lt v0, v1, :cond_398
10990 const-string v23, "bak"
10992 const-string v24, " "
10994 iget v0, v12, Lcom/android/server/am/ProcessRecord;->setAdj:I
10996 move/from16 v25, v0
10998 sget v26, Lcom/android/server/am/ProcessList;->HIDDEN_APP_MIN_ADJ:I
11000 invoke-static/range {v23 .. v26}, Lcom/android/server/am/ActivityManagerService;->buildOomTag(Ljava/lang/String;Ljava/lang/String;II)Ljava/lang/String;
11002 move-result-object v11
11005 iget v0, v12, Lcom/android/server/am/ProcessRecord;->setSchedGroup:I
11007 move/from16 v23, v0
11009 packed-switch v23, :pswitch_data_536
11011 iget v0, v12, Lcom/android/server/am/ProcessRecord;->setSchedGroup:I
11013 move/from16 v23, v0
11015 invoke-static/range {v23 .. v23}, Ljava/lang/Integer;->toString(I)Ljava/lang/String;
11017 move-result-object v15
11020 iget-boolean v0, v12, Lcom/android/server/am/ProcessRecord;->foregroundActivities:Z
11022 move/from16 v23, v0
11024 if-eqz v23, :cond_4d8
11026 const-string v8, "A"
11029 const-string v24, "%s%s #%2d: adj=%s/%s%s trm=%2d %s (%s)"
11033 move/from16 v0, v23
11035 new-array v0, v0, [Ljava/lang/Object;
11037 move-object/from16 v25, v0
11041 aput-object p3, v25, v23
11045 iget-boolean v0, v12, Lcom/android/server/am/ProcessRecord;->persistent:Z
11047 move/from16 v23, v0
11049 if-eqz v23, :cond_4e6
11051 move-object/from16 v23, p5
11054 aput-object v23, v25, v26
11058 invoke-interface/range {p2 .. p2}, Ljava/util/List;->size()I
11062 add-int/lit8 v27, v23, -0x1
11064 invoke-virtual {v10, v9}, Ljava/util/ArrayList;->get(I)Ljava/lang/Object;
11066 move-result-object v23
11068 check-cast v23, Landroid/util/Pair;
11070 move-object/from16 v0, v23
11072 iget-object v0, v0, Landroid/util/Pair;->second:Ljava/lang/Object;
11074 move-object/from16 v23, v0
11076 check-cast v23, Ljava/lang/Integer;
11078 invoke-virtual/range {v23 .. v23}, Ljava/lang/Integer;->intValue()I
11082 sub-int v23, v27, v23
11084 invoke-static/range {v23 .. v23}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
11086 move-result-object v23
11088 aput-object v23, v25, v26
11092 aput-object v11, v25, v23
11096 aput-object v15, v25, v23
11100 aput-object v8, v25, v23
11104 iget v0, v12, Lcom/android/server/am/ProcessRecord;->trimMemoryLevel:I
11106 move/from16 v26, v0
11108 invoke-static/range {v26 .. v26}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
11110 move-result-object v26
11112 aput-object v26, v25, v23
11116 invoke-virtual {v12}, Lcom/android/server/am/ProcessRecord;->toShortString()Ljava/lang/String;
11118 move-result-object v26
11120 aput-object v26, v25, v23
11124 iget-object v0, v12, Lcom/android/server/am/ProcessRecord;->adjType:Ljava/lang/String;
11126 move-object/from16 v26, v0
11128 aput-object v26, v25, v23
11130 invoke-static/range {v24 .. v25}, Ljava/lang/String;->format(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
11132 move-result-object v23
11134 move-object/from16 v0, p0
11136 move-object/from16 v1, v23
11138 invoke-virtual {v0, v1}, Ljava/io/PrintWriter;->println(Ljava/lang/String;)V
11140 iget-object v0, v12, Lcom/android/server/am/ProcessRecord;->adjSource:Ljava/lang/Object;
11142 move-object/from16 v23, v0
11144 if-nez v23, :cond_133
11146 iget-object v0, v12, Lcom/android/server/am/ProcessRecord;->adjTarget:Ljava/lang/Object;
11148 move-object/from16 v23, v0
11150 if-eqz v23, :cond_198
11153 move-object/from16 v0, p0
11155 move-object/from16 v1, p3
11157 invoke-virtual {v0, v1}, Ljava/io/PrintWriter;->print(Ljava/lang/String;)V
11159 const-string v23, " "
11161 move-object/from16 v0, p0
11163 move-object/from16 v1, v23
11165 invoke-virtual {v0, v1}, Ljava/io/PrintWriter;->print(Ljava/lang/String;)V
11167 iget-object v0, v12, Lcom/android/server/am/ProcessRecord;->adjTarget:Ljava/lang/Object;
11169 move-object/from16 v23, v0
11171 move-object/from16 v0, v23
11173 instance-of v0, v0, Landroid/content/ComponentName;
11175 move/from16 v23, v0
11177 if-eqz v23, :cond_4ea
11179 iget-object v0, v12, Lcom/android/server/am/ProcessRecord;->adjTarget:Ljava/lang/Object;
11181 move-object/from16 v23, v0
11183 check-cast v23, Landroid/content/ComponentName;
11185 invoke-virtual/range {v23 .. v23}, Landroid/content/ComponentName;->flattenToShortString()Ljava/lang/String;
11187 move-result-object v23
11189 move-object/from16 v0, p0
11191 move-object/from16 v1, v23
11193 invoke-virtual {v0, v1}, Ljava/io/PrintWriter;->print(Ljava/lang/String;)V
11196 const-string v23, "<="
11198 move-object/from16 v0, p0
11200 move-object/from16 v1, v23
11202 invoke-virtual {v0, v1}, Ljava/io/PrintWriter;->print(Ljava/lang/String;)V
11204 iget-object v0, v12, Lcom/android/server/am/ProcessRecord;->adjSource:Ljava/lang/Object;
11206 move-object/from16 v23, v0
11208 move-object/from16 v0, v23
11210 instance-of v0, v0, Lcom/android/server/am/ProcessRecord;
11212 move/from16 v23, v0
11214 if-eqz v23, :cond_50c
11216 const-string v23, "Proc{"
11218 move-object/from16 v0, p0
11220 move-object/from16 v1, v23
11222 invoke-virtual {v0, v1}, Ljava/io/PrintWriter;->print(Ljava/lang/String;)V
11224 iget-object v0, v12, Lcom/android/server/am/ProcessRecord;->adjSource:Ljava/lang/Object;
11226 move-object/from16 v23, v0
11228 check-cast v23, Lcom/android/server/am/ProcessRecord;
11230 invoke-virtual/range {v23 .. v23}, Lcom/android/server/am/ProcessRecord;->toShortString()Ljava/lang/String;
11232 move-result-object v23
11234 move-object/from16 v0, p0
11236 move-object/from16 v1, v23
11238 invoke-virtual {v0, v1}, Ljava/io/PrintWriter;->print(Ljava/lang/String;)V
11240 const-string v23, "}"
11242 move-object/from16 v0, p0
11244 move-object/from16 v1, v23
11246 invoke-virtual {v0, v1}, Ljava/io/PrintWriter;->println(Ljava/lang/String;)V
11250 if-eqz p6, :cond_394
11252 move-object/from16 v0, p0
11254 move-object/from16 v1, p3
11256 invoke-virtual {v0, v1}, Ljava/io/PrintWriter;->print(Ljava/lang/String;)V
11258 const-string v23, " "
11260 move-object/from16 v0, p0
11262 move-object/from16 v1, v23
11264 invoke-virtual {v0, v1}, Ljava/io/PrintWriter;->print(Ljava/lang/String;)V
11266 const-string v23, "oom: max="
11268 move-object/from16 v0, p0
11270 move-object/from16 v1, v23
11272 invoke-virtual {v0, v1}, Ljava/io/PrintWriter;->print(Ljava/lang/String;)V
11274 iget v0, v12, Lcom/android/server/am/ProcessRecord;->maxAdj:I
11276 move/from16 v23, v0
11278 move-object/from16 v0, p0
11280 move/from16 v1, v23
11282 invoke-virtual {v0, v1}, Ljava/io/PrintWriter;->print(I)V
11284 const-string v23, " hidden="
11286 move-object/from16 v0, p0
11288 move-object/from16 v1, v23
11290 invoke-virtual {v0, v1}, Ljava/io/PrintWriter;->print(Ljava/lang/String;)V
11292 iget v0, v12, Lcom/android/server/am/ProcessRecord;->hiddenAdj:I
11294 move/from16 v23, v0
11296 move-object/from16 v0, p0
11298 move/from16 v1, v23
11300 invoke-virtual {v0, v1}, Ljava/io/PrintWriter;->print(I)V
11302 const-string v23, " client="
11304 move-object/from16 v0, p0
11306 move-object/from16 v1, v23
11308 invoke-virtual {v0, v1}, Ljava/io/PrintWriter;->print(Ljava/lang/String;)V
11310 iget v0, v12, Lcom/android/server/am/ProcessRecord;->clientHiddenAdj:I
11312 move/from16 v23, v0
11314 move-object/from16 v0, p0
11316 move/from16 v1, v23
11318 invoke-virtual {v0, v1}, Ljava/io/PrintWriter;->print(I)V
11320 const-string v23, " empty="
11322 move-object/from16 v0, p0
11324 move-object/from16 v1, v23
11326 invoke-virtual {v0, v1}, Ljava/io/PrintWriter;->print(Ljava/lang/String;)V
11328 iget v0, v12, Lcom/android/server/am/ProcessRecord;->emptyAdj:I
11330 move/from16 v23, v0
11332 move-object/from16 v0, p0
11334 move/from16 v1, v23
11336 invoke-virtual {v0, v1}, Ljava/io/PrintWriter;->print(I)V
11338 const-string v23, " curRaw="
11340 move-object/from16 v0, p0
11342 move-object/from16 v1, v23
11344 invoke-virtual {v0, v1}, Ljava/io/PrintWriter;->print(Ljava/lang/String;)V
11346 iget v0, v12, Lcom/android/server/am/ProcessRecord;->curRawAdj:I
11348 move/from16 v23, v0
11350 move-object/from16 v0, p0
11352 move/from16 v1, v23
11354 invoke-virtual {v0, v1}, Ljava/io/PrintWriter;->print(I)V
11356 const-string v23, " setRaw="
11358 move-object/from16 v0, p0
11360 move-object/from16 v1, v23
11362 invoke-virtual {v0, v1}, Ljava/io/PrintWriter;->print(Ljava/lang/String;)V
11364 iget v0, v12, Lcom/android/server/am/ProcessRecord;->setRawAdj:I
11366 move/from16 v23, v0
11368 move-object/from16 v0, p0
11370 move/from16 v1, v23
11372 invoke-virtual {v0, v1}, Ljava/io/PrintWriter;->print(I)V
11374 const-string v23, " cur="
11376 move-object/from16 v0, p0
11378 move-object/from16 v1, v23
11380 invoke-virtual {v0, v1}, Ljava/io/PrintWriter;->print(Ljava/lang/String;)V
11382 iget v0, v12, Lcom/android/server/am/ProcessRecord;->curAdj:I
11384 move/from16 v23, v0
11386 move-object/from16 v0, p0
11388 move/from16 v1, v23
11390 invoke-virtual {v0, v1}, Ljava/io/PrintWriter;->print(I)V
11392 const-string v23, " set="
11394 move-object/from16 v0, p0
11396 move-object/from16 v1, v23
11398 invoke-virtual {v0, v1}, Ljava/io/PrintWriter;->print(Ljava/lang/String;)V
11400 iget v0, v12, Lcom/android/server/am/ProcessRecord;->setAdj:I
11402 move/from16 v23, v0
11404 move-object/from16 v0, p0
11406 move/from16 v1, v23
11408 invoke-virtual {v0, v1}, Ljava/io/PrintWriter;->println(I)V
11410 move-object/from16 v0, p0
11412 move-object/from16 v1, p3
11414 invoke-virtual {v0, v1}, Ljava/io/PrintWriter;->print(Ljava/lang/String;)V
11416 const-string v23, " "
11418 move-object/from16 v0, p0
11420 move-object/from16 v1, v23
11422 invoke-virtual {v0, v1}, Ljava/io/PrintWriter;->print(Ljava/lang/String;)V
11424 const-string v23, "keeping="
11426 move-object/from16 v0, p0
11428 move-object/from16 v1, v23
11430 invoke-virtual {v0, v1}, Ljava/io/PrintWriter;->print(Ljava/lang/String;)V
11432 iget-boolean v0, v12, Lcom/android/server/am/ProcessRecord;->keeping:Z
11434 move/from16 v23, v0
11436 move-object/from16 v0, p0
11438 move/from16 v1, v23
11440 invoke-virtual {v0, v1}, Ljava/io/PrintWriter;->print(Z)V
11442 const-string v23, " hidden="
11444 move-object/from16 v0, p0
11446 move-object/from16 v1, v23
11448 invoke-virtual {v0, v1}, Ljava/io/PrintWriter;->print(Ljava/lang/String;)V
11450 iget-boolean v0, v12, Lcom/android/server/am/ProcessRecord;->hidden:Z
11452 move/from16 v23, v0
11454 move-object/from16 v0, p0
11456 move/from16 v1, v23
11458 invoke-virtual {v0, v1}, Ljava/io/PrintWriter;->print(Z)V
11460 const-string v23, " empty="
11462 move-object/from16 v0, p0
11464 move-object/from16 v1, v23
11466 invoke-virtual {v0, v1}, Ljava/io/PrintWriter;->print(Ljava/lang/String;)V
11468 iget-boolean v0, v12, Lcom/android/server/am/ProcessRecord;->empty:Z
11470 move/from16 v23, v0
11472 move-object/from16 v0, p0
11474 move/from16 v1, v23
11476 invoke-virtual {v0, v1}, Ljava/io/PrintWriter;->print(Z)V
11478 const-string v23, " hasAboveClient="
11480 move-object/from16 v0, p0
11482 move-object/from16 v1, v23
11484 invoke-virtual {v0, v1}, Ljava/io/PrintWriter;->print(Ljava/lang/String;)V
11486 iget-boolean v0, v12, Lcom/android/server/am/ProcessRecord;->hasAboveClient:Z
11488 move/from16 v23, v0
11490 move-object/from16 v0, p0
11492 move/from16 v1, v23
11494 invoke-virtual {v0, v1}, Ljava/io/PrintWriter;->println(Z)V
11496 iget-boolean v0, v12, Lcom/android/server/am/ProcessRecord;->keeping:Z
11498 move/from16 v23, v0
11500 if-nez v23, :cond_394
11502 iget-wide v0, v12, Lcom/android/server/am/ProcessRecord;->lastWakeTime:J
11504 move-wide/from16 v23, v0
11506 const-wide/16 v25, 0x0
11508 cmp-long v23, v23, v25
11510 if-eqz v23, :cond_331
11512 move-object/from16 v0, p1
11514 iget-object v0, v0, Lcom/android/server/am/ActivityManagerService;->mBatteryStatsService:Lcom/android/server/am/BatteryStatsService;
11516 move-object/from16 v23, v0
11518 invoke-virtual/range {v23 .. v23}, Lcom/android/server/am/BatteryStatsService;->getActiveStatistics()Lcom/android/internal/os/BatteryStatsImpl;
11520 move-result-object v16
11525 iget-object v0, v12, Lcom/android/server/am/ProcessRecord;->info:Landroid/content/pm/ApplicationInfo;
11527 move-object/from16 v23, v0
11529 move-object/from16 v0, v23
11531 iget v0, v0, Landroid/content/pm/ApplicationInfo;->uid:I
11533 move/from16 v23, v0
11535 iget v0, v12, Lcom/android/server/am/ProcessRecord;->pid:I
11537 move/from16 v24, v0
11539 move-object/from16 v0, v16
11541 move/from16 v1, v23
11543 move/from16 v2, v24
11545 invoke-virtual {v0, v1, v2, v4, v5}, Lcom/android/internal/os/BatteryStatsImpl;->getProcessWakeTime(IIJ)J
11547 move-result-wide v21
11551 .catchall {:try_start_2c5 .. :try_end_2de} :catchall_52e
11553 iget-wide v0, v12, Lcom/android/server/am/ProcessRecord;->lastWakeTime:J
11555 move-wide/from16 v23, v0
11557 sub-long v17, v21, v23
11559 move-object/from16 v0, p0
11561 move-object/from16 v1, p3
11563 invoke-virtual {v0, v1}, Ljava/io/PrintWriter;->print(Ljava/lang/String;)V
11565 const-string v23, " "
11567 move-object/from16 v0, p0
11569 move-object/from16 v1, v23
11571 invoke-virtual {v0, v1}, Ljava/io/PrintWriter;->print(Ljava/lang/String;)V
11573 const-string v23, "keep awake over "
11575 move-object/from16 v0, p0
11577 move-object/from16 v1, v23
11579 invoke-virtual {v0, v1}, Ljava/io/PrintWriter;->print(Ljava/lang/String;)V
11581 move-object/from16 v0, p0
11583 invoke-static {v13, v14, v0}, Landroid/util/TimeUtils;->formatDuration(JLjava/io/PrintWriter;)V
11585 const-string v23, " used "
11587 move-object/from16 v0, p0
11589 move-object/from16 v1, v23
11591 invoke-virtual {v0, v1}, Ljava/io/PrintWriter;->print(Ljava/lang/String;)V
11593 move-wide/from16 v0, v17
11595 move-object/from16 v2, p0
11597 invoke-static {v0, v1, v2}, Landroid/util/TimeUtils;->formatDuration(JLjava/io/PrintWriter;)V
11599 const-string v23, " ("
11601 move-object/from16 v0, p0
11603 move-object/from16 v1, v23
11605 invoke-virtual {v0, v1}, Ljava/io/PrintWriter;->print(Ljava/lang/String;)V
11607 const-wide/16 v23, 0x64
11609 mul-long v23, v23, v17
11611 div-long v23, v23, v13
11613 move-object/from16 v0, p0
11615 move-wide/from16 v1, v23
11617 invoke-virtual {v0, v1, v2}, Ljava/io/PrintWriter;->print(J)V
11619 const-string v23, "%)"
11621 move-object/from16 v0, p0
11623 move-object/from16 v1, v23
11625 invoke-virtual {v0, v1}, Ljava/io/PrintWriter;->println(Ljava/lang/String;)V
11628 iget-wide v0, v12, Lcom/android/server/am/ProcessRecord;->lastCpuTime:J
11630 move-wide/from16 v23, v0
11632 const-wide/16 v25, 0x0
11634 cmp-long v23, v23, v25
11636 if-eqz v23, :cond_394
11638 iget-wide v0, v12, Lcom/android/server/am/ProcessRecord;->curCpuTime:J
11640 move-wide/from16 v23, v0
11642 iget-wide v0, v12, Lcom/android/server/am/ProcessRecord;->lastCpuTime:J
11644 move-wide/from16 v25, v0
11646 sub-long v17, v23, v25
11648 move-object/from16 v0, p0
11650 move-object/from16 v1, p3
11652 invoke-virtual {v0, v1}, Ljava/io/PrintWriter;->print(Ljava/lang/String;)V
11654 const-string v23, " "
11656 move-object/from16 v0, p0
11658 move-object/from16 v1, v23
11660 invoke-virtual {v0, v1}, Ljava/io/PrintWriter;->print(Ljava/lang/String;)V
11662 const-string v23, "run cpu over "
11664 move-object/from16 v0, p0
11666 move-object/from16 v1, v23
11668 invoke-virtual {v0, v1}, Ljava/io/PrintWriter;->print(Ljava/lang/String;)V
11670 move-wide/from16 v0, v19
11672 move-object/from16 v2, p0
11674 invoke-static {v0, v1, v2}, Landroid/util/TimeUtils;->formatDuration(JLjava/io/PrintWriter;)V
11676 const-string v23, " used "
11678 move-object/from16 v0, p0
11680 move-object/from16 v1, v23
11682 invoke-virtual {v0, v1}, Ljava/io/PrintWriter;->print(Ljava/lang/String;)V
11684 move-wide/from16 v0, v17
11686 move-object/from16 v2, p0
11688 invoke-static {v0, v1, v2}, Landroid/util/TimeUtils;->formatDuration(JLjava/io/PrintWriter;)V
11690 const-string v23, " ("
11692 move-object/from16 v0, p0
11694 move-object/from16 v1, v23
11696 invoke-virtual {v0, v1}, Ljava/io/PrintWriter;->print(Ljava/lang/String;)V
11698 const-wide/16 v23, 0x64
11700 mul-long v23, v23, v17
11702 div-long v23, v23, v19
11704 move-object/from16 v0, p0
11706 move-wide/from16 v1, v23
11708 invoke-virtual {v0, v1, v2}, Ljava/io/PrintWriter;->print(J)V
11710 const-string v23, "%)"
11712 move-object/from16 v0, p0
11714 move-object/from16 v1, v23
11716 invoke-virtual {v0, v1}, Ljava/io/PrintWriter;->println(Ljava/lang/String;)V
11719 add-int/lit8 v9, v9, -0x1
11724 iget v0, v12, Lcom/android/server/am/ProcessRecord;->setAdj:I
11726 move/from16 v23, v0
11730 move/from16 v0, v23
11732 move/from16 v1, v24
11734 if-lt v0, v1, :cond_3b4
11736 const-string v23, "svcb "
11740 iget v0, v12, Lcom/android/server/am/ProcessRecord;->setAdj:I
11742 move/from16 v25, v0
11746 invoke-static/range {v23 .. v26}, Lcom/android/server/am/ActivityManagerService;->buildOomTag(Ljava/lang/String;Ljava/lang/String;II)Ljava/lang/String;
11748 move-result-object v11
11753 iget v0, v12, Lcom/android/server/am/ProcessRecord;->setAdj:I
11755 move/from16 v23, v0
11759 move/from16 v0, v23
11761 move/from16 v1, v24
11763 if-lt v0, v1, :cond_3d0
11765 const-string v23, "prev "
11769 iget v0, v12, Lcom/android/server/am/ProcessRecord;->setAdj:I
11771 move/from16 v25, v0
11775 invoke-static/range {v23 .. v26}, Lcom/android/server/am/ActivityManagerService;->buildOomTag(Ljava/lang/String;Ljava/lang/String;II)Ljava/lang/String;
11777 move-result-object v11
11782 iget v0, v12, Lcom/android/server/am/ProcessRecord;->setAdj:I
11784 move/from16 v23, v0
11788 move/from16 v0, v23
11790 move/from16 v1, v24
11792 if-lt v0, v1, :cond_3ec
11794 const-string v23, "home "
11798 iget v0, v12, Lcom/android/server/am/ProcessRecord;->setAdj:I
11800 move/from16 v25, v0
11804 invoke-static/range {v23 .. v26}, Lcom/android/server/am/ActivityManagerService;->buildOomTag(Ljava/lang/String;Ljava/lang/String;II)Ljava/lang/String;
11806 move-result-object v11
11811 iget v0, v12, Lcom/android/server/am/ProcessRecord;->setAdj:I
11813 move/from16 v23, v0
11817 move/from16 v0, v23
11819 move/from16 v1, v24
11821 if-lt v0, v1, :cond_408
11823 const-string v23, "svc "
11827 iget v0, v12, Lcom/android/server/am/ProcessRecord;->setAdj:I
11829 move/from16 v25, v0
11833 invoke-static/range {v23 .. v26}, Lcom/android/server/am/ActivityManagerService;->buildOomTag(Ljava/lang/String;Ljava/lang/String;II)Ljava/lang/String;
11835 move-result-object v11
11840 iget v0, v12, Lcom/android/server/am/ProcessRecord;->setAdj:I
11842 move/from16 v23, v0
11846 move/from16 v0, v23
11848 move/from16 v1, v24
11850 if-lt v0, v1, :cond_424
11852 const-string v23, "bkup "
11856 iget v0, v12, Lcom/android/server/am/ProcessRecord;->setAdj:I
11858 move/from16 v25, v0
11862 invoke-static/range {v23 .. v26}, Lcom/android/server/am/ActivityManagerService;->buildOomTag(Ljava/lang/String;Ljava/lang/String;II)Ljava/lang/String;
11864 move-result-object v11
11869 iget v0, v12, Lcom/android/server/am/ProcessRecord;->setAdj:I
11871 move/from16 v23, v0
11875 move/from16 v0, v23
11877 move/from16 v1, v24
11879 if-lt v0, v1, :cond_440
11881 const-string v23, "hvy "
11885 iget v0, v12, Lcom/android/server/am/ProcessRecord;->setAdj:I
11887 move/from16 v25, v0
11891 invoke-static/range {v23 .. v26}, Lcom/android/server/am/ActivityManagerService;->buildOomTag(Ljava/lang/String;Ljava/lang/String;II)Ljava/lang/String;
11893 move-result-object v11
11898 iget v0, v12, Lcom/android/server/am/ProcessRecord;->setAdj:I
11900 move/from16 v23, v0
11904 move/from16 v0, v23
11906 move/from16 v1, v24
11908 if-lt v0, v1, :cond_45c
11910 const-string v23, "prcp "
11914 iget v0, v12, Lcom/android/server/am/ProcessRecord;->setAdj:I
11916 move/from16 v25, v0
11920 invoke-static/range {v23 .. v26}, Lcom/android/server/am/ActivityManagerService;->buildOomTag(Ljava/lang/String;Ljava/lang/String;II)Ljava/lang/String;
11922 move-result-object v11
11927 iget v0, v12, Lcom/android/server/am/ProcessRecord;->setAdj:I
11929 move/from16 v23, v0
11933 move/from16 v0, v23
11935 move/from16 v1, v24
11937 if-lt v0, v1, :cond_478
11939 const-string v23, "vis "
11943 iget v0, v12, Lcom/android/server/am/ProcessRecord;->setAdj:I
11945 move/from16 v25, v0
11949 invoke-static/range {v23 .. v26}, Lcom/android/server/am/ActivityManagerService;->buildOomTag(Ljava/lang/String;Ljava/lang/String;II)Ljava/lang/String;
11951 move-result-object v11
11956 iget v0, v12, Lcom/android/server/am/ProcessRecord;->setAdj:I
11958 move/from16 v23, v0
11960 if-ltz v23, :cond_48e
11962 const-string v23, "fore "
11966 iget v0, v12, Lcom/android/server/am/ProcessRecord;->setAdj:I
11968 move/from16 v25, v0
11972 invoke-static/range {v23 .. v26}, Lcom/android/server/am/ActivityManagerService;->buildOomTag(Ljava/lang/String;Ljava/lang/String;II)Ljava/lang/String;
11974 move-result-object v11
11979 iget v0, v12, Lcom/android/server/am/ProcessRecord;->setAdj:I
11981 move/from16 v23, v0
11985 move/from16 v0, v23
11987 move/from16 v1, v24
11989 if-lt v0, v1, :cond_4aa
11991 const-string v23, "pers "
11995 iget v0, v12, Lcom/android/server/am/ProcessRecord;->setAdj:I
11997 move/from16 v25, v0
12001 invoke-static/range {v23 .. v26}, Lcom/android/server/am/ActivityManagerService;->buildOomTag(Ljava/lang/String;Ljava/lang/String;II)Ljava/lang/String;
12003 move-result-object v11
12008 iget v0, v12, Lcom/android/server/am/ProcessRecord;->setAdj:I
12010 move/from16 v23, v0
12012 const/16 v24, -0x10
12014 move/from16 v0, v23
12016 move/from16 v1, v24
12018 if-lt v0, v1, :cond_4c6
12020 const-string v23, "sys "
12024 iget v0, v12, Lcom/android/server/am/ProcessRecord;->setAdj:I
12026 move/from16 v25, v0
12028 const/16 v26, -0x10
12030 invoke-static/range {v23 .. v26}, Lcom/android/server/am/ActivityManagerService;->buildOomTag(Ljava/lang/String;Ljava/lang/String;II)Ljava/lang/String;
12032 move-result-object v11
12037 iget v0, v12, Lcom/android/server/am/ProcessRecord;->setAdj:I
12039 move/from16 v23, v0
12041 invoke-static/range {v23 .. v23}, Ljava/lang/Integer;->toString(I)Ljava/lang/String;
12043 move-result-object v11
12048 const-string v15, "B"
12053 const-string v15, "F"
12058 iget-boolean v0, v12, Lcom/android/server/am/ProcessRecord;->foregroundServices:Z
12060 move/from16 v23, v0
12062 if-eqz v23, :cond_4e2
12064 const-string v8, "S"
12069 const-string v8, " "
12074 move-object/from16 v23, p4
12079 iget-object v0, v12, Lcom/android/server/am/ProcessRecord;->adjTarget:Ljava/lang/Object;
12081 move-object/from16 v23, v0
12083 if-eqz v23, :cond_501
12085 iget-object v0, v12, Lcom/android/server/am/ProcessRecord;->adjTarget:Ljava/lang/Object;
12087 move-object/from16 v23, v0
12089 invoke-virtual/range {v23 .. v23}, Ljava/lang/Object;->toString()Ljava/lang/String;
12091 move-result-object v23
12093 move-object/from16 v0, p0
12095 move-object/from16 v1, v23
12097 invoke-virtual {v0, v1}, Ljava/io/PrintWriter;->print(Ljava/lang/String;)V
12102 const-string v23, "{null}"
12104 move-object/from16 v0, p0
12106 move-object/from16 v1, v23
12108 invoke-virtual {v0, v1}, Ljava/io/PrintWriter;->print(Ljava/lang/String;)V
12113 iget-object v0, v12, Lcom/android/server/am/ProcessRecord;->adjSource:Ljava/lang/Object;
12115 move-object/from16 v23, v0
12117 if-eqz v23, :cond_523
12119 iget-object v0, v12, Lcom/android/server/am/ProcessRecord;->adjSource:Ljava/lang/Object;
12121 move-object/from16 v23, v0
12123 invoke-virtual/range {v23 .. v23}, Ljava/lang/Object;->toString()Ljava/lang/String;
12125 move-result-object v23
12127 move-object/from16 v0, p0
12129 move-object/from16 v1, v23
12131 invoke-virtual {v0, v1}, Ljava/io/PrintWriter;->println(Ljava/lang/String;)V
12136 const-string v23, "{null}"
12138 move-object/from16 v0, p0
12140 move-object/from16 v1, v23
12142 invoke-virtual {v0, v1}, Ljava/io/PrintWriter;->println(Ljava/lang/String;)V
12152 .catchall {:try_start_52f .. :try_end_530} :catchall_52e
12164 .packed-switch -0x1
12170 .method public static dumpStackTraces(ZLjava/util/ArrayList;Lcom/android/internal/os/ProcessStats;Landroid/util/SparseArray;[Ljava/lang/String;)Ljava/io/File;
12172 .annotation system Ldalvik/annotation/Signature;
12175 "Ljava/util/ArrayList",
12177 "Ljava/lang/Integer;",
12179 "Lcom/android/internal/os/ProcessStats;",
12180 "Landroid/util/SparseArray",
12182 "Ljava/lang/Boolean;",
12184 "Ljava/lang/String;",
12192 const-string v5, "dalvik.vm.stack-trace-file"
12194 invoke-static {v5, v4}, Landroid/os/SystemProperties;->get(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
12196 move-result-object v3
12200 invoke-virtual {v3}, Ljava/lang/String;->length()I
12204 if-nez v5, :cond_11
12213 new-instance v2, Ljava/io/File;
12215 invoke-direct {v2, v3}, Ljava/io/File;-><init>(Ljava/lang/String;)V
12218 invoke-virtual {v2}, Ljava/io/File;->getParentFile()Ljava/io/File;
12220 move-result-object v1
12222 invoke-virtual {v1}, Ljava/io/File;->exists()Z
12226 if-nez v5, :cond_2b
12228 invoke-virtual {v2}, Ljava/io/File;->mkdirs()Z
12230 invoke-static {v1}, Landroid/os/SELinux;->restorecon(Ljava/io/File;)Z
12234 if-nez v5, :cond_2b
12241 invoke-virtual {v1}, Ljava/io/File;->getPath()Ljava/lang/String;
12243 move-result-object v5
12251 invoke-static {v5, v6, v7, v8}, Landroid/os/FileUtils;->setPermissions(Ljava/lang/String;III)I
12253 if-eqz p0, :cond_41
12255 invoke-virtual {v2}, Ljava/io/File;->exists()Z
12259 if-eqz v5, :cond_41
12261 invoke-virtual {v2}, Ljava/io/File;->delete()Z
12264 invoke-virtual {v2}, Ljava/io/File;->createNewFile()Z
12266 invoke-virtual {v2}, Ljava/io/File;->getPath()Ljava/lang/String;
12268 move-result-object v5
12276 invoke-static {v5, v6, v7, v8}, Landroid/os/FileUtils;->setPermissions(Ljava/lang/String;III)I
12278 .catch Ljava/io/IOException; {:try_start_16 .. :try_end_4f} :catch_53
12280 invoke-static {v3, p1, p2, p3, p4}, Lcom/android/server/am/ActivityManagerService;->dumpStackTraces(Ljava/lang/String;Ljava/util/ArrayList;Lcom/android/internal/os/ProcessStats;Landroid/util/SparseArray;[Ljava/lang/String;)V
12287 const-string v5, "ActivityManager"
12289 new-instance v6, Ljava/lang/StringBuilder;
12291 invoke-direct {v6}, Ljava/lang/StringBuilder;-><init>()V
12293 const-string v7, "Unable to prepare ANR traces file: "
12295 invoke-virtual {v6, v7}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
12297 move-result-object v6
12299 invoke-virtual {v6, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
12301 move-result-object v6
12303 invoke-virtual {v6}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
12305 move-result-object v6
12307 invoke-static {v5, v6, v0}, Landroid/util/Slog;->w(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I
12314 .method private static dumpStackTraces(Ljava/lang/String;Ljava/util/ArrayList;Lcom/android/internal/os/ProcessStats;Landroid/util/SparseArray;[Ljava/lang/String;)V
12316 .annotation system Ldalvik/annotation/Signature;
12319 "Ljava/lang/String;",
12320 "Ljava/util/ArrayList",
12322 "Ljava/lang/Integer;",
12324 "Lcom/android/internal/os/ProcessStats;",
12325 "Landroid/util/SparseArray",
12327 "Ljava/lang/Boolean;",
12329 "Ljava/lang/String;",
12334 new-instance v9, Lcom/android/server/am/ActivityManagerService$4;
12338 invoke-direct {v9, p0, v13}, Lcom/android/server/am/ActivityManagerService$4;-><init>(Ljava/lang/String;I)V
12341 invoke-virtual {v9}, Landroid/os/FileObserver;->startWatching()V
12343 .catchall {:try_start_7 .. :try_end_a} :catchall_89
12345 if-eqz p1, :cond_36
12348 invoke-virtual/range {p1 .. p1}, Ljava/util/ArrayList;->size()I
12355 if-ge v4, v7, :cond_36
12359 .catchall {:try_start_c .. :try_end_14} :catchall_89
12360 .catch Ljava/lang/InterruptedException; {:try_start_c .. :try_end_14} :catch_30
12363 move-object/from16 v0, p1
12365 invoke-virtual {v0, v4}, Ljava/util/ArrayList;->get(I)Ljava/lang/Object;
12367 move-result-object v13
12369 check-cast v13, Ljava/lang/Integer;
12371 invoke-virtual {v13}, Ljava/lang/Integer;->intValue()I
12377 invoke-static {v13, v14}, Landroid/os/Process;->sendSignal(II)V
12379 const-wide/16 v13, 0xc8
12381 invoke-virtual {v9, v13, v14}, Ljava/lang/Object;->wait(J)V
12385 add-int/lit8 v4, v4, 0x1
12394 .catchall {:try_start_14 .. :try_end_2f} :catchall_2d
12399 .catchall {:try_start_2f .. :try_end_30} :catchall_89
12400 .catch Ljava/lang/InterruptedException; {:try_start_2f .. :try_end_30} :catch_30
12406 const-string v13, "ActivityManager"
12408 invoke-static {v13, v3}, Landroid/util/Log;->wtf(Ljava/lang/String;Ljava/lang/Throwable;)I
12411 if-eqz p2, :cond_8e
12413 invoke-virtual/range {p2 .. p2}, Lcom/android/internal/os/ProcessStats;->init()V
12415 invoke-static {}, Ljava/lang/System;->gc()V
12417 invoke-virtual/range {p2 .. p2}, Lcom/android/internal/os/ProcessStats;->update()V
12419 .catchall {:try_start_31 .. :try_end_41} :catchall_89
12424 .catchall {:try_start_41 .. :try_end_42} :catchall_89
12425 .catch Ljava/lang/InterruptedException; {:try_start_41 .. :try_end_42} :catch_7d
12427 const-wide/16 v13, 0x1f4
12430 move-object/from16 v0, p2
12432 invoke-virtual {v0, v13, v14}, Ljava/lang/Object;->wait(J)V
12436 .catchall {:try_start_44 .. :try_end_4a} :catchall_7a
12440 invoke-virtual/range {p2 .. p2}, Lcom/android/internal/os/ProcessStats;->update()V
12442 invoke-virtual/range {p2 .. p2}, Lcom/android/internal/os/ProcessStats;->countWorkingStats()I
12451 if-ge v4, v1, :cond_8e
12455 if-ge v8, v13, :cond_8e
12457 move-object/from16 v0, p2
12459 invoke-virtual {v0, v4}, Lcom/android/internal/os/ProcessStats;->getWorkingStats(I)Lcom/android/internal/os/ProcessStats$Stats;
12461 move-result-object v12
12463 iget v13, v12, Lcom/android/internal/os/ProcessStats$Stats;->pid:I
12465 move-object/from16 v0, p3
12467 invoke-virtual {v0, v13}, Landroid/util/SparseArray;->indexOfKey(I)I
12469 .catchall {:try_start_4a .. :try_end_65} :catchall_89
12473 if-ltz v13, :cond_77
12475 add-int/lit8 v8, v8, 0x1
12480 .catchall {:try_start_6a .. :try_end_6b} :catchall_89
12481 .catch Ljava/lang/InterruptedException; {:try_start_6a .. :try_end_6b} :catch_82
12484 iget v13, v12, Lcom/android/internal/os/ProcessStats$Stats;->pid:I
12488 invoke-static {v13, v14}, Landroid/os/Process;->sendSignal(II)V
12490 const-wide/16 v13, 0xc8
12492 invoke-virtual {v9, v13, v14}, Ljava/lang/Object;->wait(J)V
12496 .catchall {:try_start_6b .. :try_end_77} :catchall_7f
12500 add-int/lit8 v4, v4, 0x1
12510 .catchall {:try_start_7b .. :try_end_7c} :catchall_7a
12515 .catchall {:try_start_7c .. :try_end_7d} :catchall_89
12516 .catch Ljava/lang/InterruptedException; {:try_start_7c .. :try_end_7d} :catch_7d
12529 .catchall {:try_start_80 .. :try_end_81} :catchall_7f
12534 .catchall {:try_start_81 .. :try_end_82} :catchall_89
12535 .catch Ljava/lang/InterruptedException; {:try_start_81 .. :try_end_82} :catch_82
12541 const-string v13, "ActivityManager"
12543 invoke-static {v13, v3}, Landroid/util/Log;->wtf(Ljava/lang/String;Ljava/lang/Throwable;)I
12545 .catchall {:try_start_83 .. :try_end_88} :catchall_89
12552 invoke-virtual {v9}, Landroid/os/FileObserver;->stopWatching()V
12557 invoke-virtual {v9}, Landroid/os/FileObserver;->stopWatching()V
12559 if-eqz p4, :cond_a6
12561 invoke-static/range {p4 .. p4}, Landroid/os/Process;->getPidsForCommands([Ljava/lang/String;)[I
12563 move-result-object v11
12565 if-eqz v11, :cond_a6
12567 move-object v2, v11
12569 array-length v6, v2
12574 if-ge v5, v6, :cond_a6
12578 invoke-static {v10, p0}, Landroid/os/Debug;->dumpNativeBacktraceToFile(ILjava/lang/String;)V
12580 add-int/lit8 v5, v5, 0x1
12588 .method private fillInProcMemInfo(Lcom/android/server/am/ProcessRecord;Landroid/app/ActivityManager$RunningAppProcessInfo;)V
12591 iget v1, p1, Lcom/android/server/am/ProcessRecord;->pid:I
12593 iput v1, p2, Landroid/app/ActivityManager$RunningAppProcessInfo;->pid:I
12595 iget-object v1, p1, Lcom/android/server/am/ProcessRecord;->info:Landroid/content/pm/ApplicationInfo;
12597 iget v1, v1, Landroid/content/pm/ApplicationInfo;->uid:I
12599 iput v1, p2, Landroid/app/ActivityManager$RunningAppProcessInfo;->uid:I
12601 iget-object v1, p0, Lcom/android/server/am/ActivityManagerService;->mHeavyWeightProcess:Lcom/android/server/am/ProcessRecord;
12603 if-ne v1, p1, :cond_14
12605 iget v1, p2, Landroid/app/ActivityManager$RunningAppProcessInfo;->flags:I
12607 or-int/lit8 v1, v1, 0x1
12609 iput v1, p2, Landroid/app/ActivityManager$RunningAppProcessInfo;->flags:I
12612 iget-boolean v1, p1, Lcom/android/server/am/ProcessRecord;->persistent:Z
12614 if-eqz v1, :cond_1e
12616 iget v1, p2, Landroid/app/ActivityManager$RunningAppProcessInfo;->flags:I
12618 or-int/lit8 v1, v1, 0x2
12620 iput v1, p2, Landroid/app/ActivityManager$RunningAppProcessInfo;->flags:I
12623 iget-boolean v1, p1, Lcom/android/server/am/ProcessRecord;->hasActivities:Z
12625 if-eqz v1, :cond_28
12627 iget v1, p2, Landroid/app/ActivityManager$RunningAppProcessInfo;->flags:I
12629 or-int/lit8 v1, v1, 0x4
12631 iput v1, p2, Landroid/app/ActivityManager$RunningAppProcessInfo;->flags:I
12634 iget v1, p1, Lcom/android/server/am/ProcessRecord;->trimMemoryLevel:I
12636 iput v1, p2, Landroid/app/ActivityManager$RunningAppProcessInfo;->lastTrimLevel:I
12638 iget v0, p1, Lcom/android/server/am/ProcessRecord;->curAdj:I
12640 invoke-static {v0, p2}, Lcom/android/server/am/ActivityManagerService;->oomAdjToImportance(ILandroid/app/ActivityManager$RunningAppProcessInfo;)I
12644 iput v1, p2, Landroid/app/ActivityManager$RunningAppProcessInfo;->importance:I
12646 iget v1, p1, Lcom/android/server/am/ProcessRecord;->adjTypeCode:I
12648 iput v1, p2, Landroid/app/ActivityManager$RunningAppProcessInfo;->importanceReasonCode:I
12653 .method private final findAffinityTaskTopLocked(ILjava/lang/String;)I
12656 iget-object v5, p0, Lcom/android/server/am/ActivityManagerService;->mMainStack:Lcom/android/server/am/ActivityStack;
12658 iget-object v5, v5, Lcom/android/server/am/ActivityStack;->mHistory:Ljava/util/ArrayList;
12660 invoke-virtual {v5, p1}, Ljava/util/ArrayList;->get(I)Ljava/lang/Object;
12662 move-result-object v5
12664 check-cast v5, Lcom/android/server/am/ActivityRecord;
12666 iget-object v4, v5, Lcom/android/server/am/ActivityRecord;->task:Lcom/android/server/am/TaskRecord;
12670 add-int/lit8 v1, p1, -0x1
12673 if-ltz v1, :cond_2e
12675 iget-object v5, p0, Lcom/android/server/am/ActivityManagerService;->mMainStack:Lcom/android/server/am/ActivityStack;
12677 iget-object v5, v5, Lcom/android/server/am/ActivityStack;->mHistory:Ljava/util/ArrayList;
12679 invoke-virtual {v5, v1}, Ljava/util/ArrayList;->get(I)Ljava/lang/Object;
12681 move-result-object v3
12683 check-cast v3, Lcom/android/server/am/ActivityRecord;
12685 iget-object v5, v3, Lcom/android/server/am/ActivityRecord;->task:Lcom/android/server/am/TaskRecord;
12687 if-eq v5, v2, :cond_2b
12689 iget-object v2, v3, Lcom/android/server/am/ActivityRecord;->task:Lcom/android/server/am/TaskRecord;
12691 iget-object v5, v2, Lcom/android/server/am/TaskRecord;->affinity:Ljava/lang/String;
12693 invoke-virtual {p2, v5}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
12697 if-eqz v5, :cond_2b
12705 add-int/lit8 v1, v1, -0x1
12710 iget-object v5, p0, Lcom/android/server/am/ActivityManagerService;->mMainStack:Lcom/android/server/am/ActivityStack;
12712 iget-object v5, v5, Lcom/android/server/am/ActivityStack;->mHistory:Ljava/util/ArrayList;
12714 invoke-virtual {v5}, Ljava/util/ArrayList;->size()I
12720 add-int/lit8 v1, p1, 0x1
12723 if-ge v1, v0, :cond_58
12725 iget-object v5, p0, Lcom/android/server/am/ActivityManagerService;->mMainStack:Lcom/android/server/am/ActivityStack;
12727 iget-object v5, v5, Lcom/android/server/am/ActivityStack;->mHistory:Ljava/util/ArrayList;
12729 invoke-virtual {v5, v1}, Ljava/util/ArrayList;->get(I)Ljava/lang/Object;
12731 move-result-object v3
12733 check-cast v3, Lcom/android/server/am/ActivityRecord;
12735 iget-object v5, v3, Lcom/android/server/am/ActivityRecord;->task:Lcom/android/server/am/TaskRecord;
12737 if-eq v5, v2, :cond_55
12739 iget-object v5, v2, Lcom/android/server/am/TaskRecord;->affinity:Ljava/lang/String;
12741 invoke-virtual {p2, v5}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
12745 if-eqz v5, :cond_53
12752 iget-object v2, v3, Lcom/android/server/am/ActivityRecord;->task:Lcom/android/server/am/TaskRecord;
12755 add-int/lit8 v1, v1, 0x1
12760 iget-object v5, p0, Lcom/android/server/am/ActivityManagerService;->mMainStack:Lcom/android/server/am/ActivityStack;
12762 iget-object v5, v5, Lcom/android/server/am/ActivityStack;->mHistory:Ljava/util/ArrayList;
12764 add-int/lit8 v6, v0, -0x1
12766 invoke-virtual {v5, v6}, Ljava/util/ArrayList;->get(I)Ljava/lang/Object;
12768 move-result-object v5
12770 check-cast v5, Lcom/android/server/am/ActivityRecord;
12772 iget-object v5, v5, Lcom/android/server/am/ActivityRecord;->task:Lcom/android/server/am/TaskRecord;
12774 iget-object v5, v5, Lcom/android/server/am/TaskRecord;->affinity:Ljava/lang/String;
12776 invoke-virtual {p2, v5}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
12780 if-eqz v5, :cond_71
12782 add-int/lit8 v5, v0, -0x1
12792 .method private findAppProcess(Landroid/os/IBinder;Ljava/lang/String;)Lcom/android/server/am/ProcessRecord;
12808 iget-object v6, p0, Lcom/android/server/am/ActivityManagerService;->mProcessNames:Lcom/android/server/ProcessMap;
12810 invoke-virtual {v6}, Lcom/android/server/ProcessMap;->getMap()Ljava/util/HashMap;
12812 move-result-object v6
12814 invoke-virtual {v6}, Ljava/util/HashMap;->values()Ljava/util/Collection;
12816 move-result-object v6
12818 invoke-interface {v6}, Ljava/util/Collection;->iterator()Ljava/util/Iterator;
12820 move-result-object v2
12823 invoke-interface {v2}, Ljava/util/Iterator;->hasNext()Z
12827 if-eqz v6, :cond_41
12829 invoke-interface {v2}, Ljava/util/Iterator;->next()Ljava/lang/Object;
12831 move-result-object v1
12833 check-cast v1, Landroid/util/SparseArray;
12835 invoke-virtual {v1}, Landroid/util/SparseArray;->size()I
12842 if-ge v3, v0, :cond_14
12844 invoke-virtual {v1, v3}, Landroid/util/SparseArray;->valueAt(I)Ljava/lang/Object;
12846 move-result-object v4
12848 check-cast v4, Lcom/android/server/am/ProcessRecord;
12850 iget-object v6, v4, Lcom/android/server/am/ProcessRecord;->thread:Landroid/app/IApplicationThread;
12852 if-eqz v6, :cond_3e
12854 iget-object v6, v4, Lcom/android/server/am/ProcessRecord;->thread:Landroid/app/IApplicationThread;
12856 invoke-interface {v6}, Landroid/app/IApplicationThread;->asBinder()Landroid/os/IBinder;
12858 move-result-object v6
12860 if-ne v6, p1, :cond_3e
12871 .catchall {:try_start_6 .. :try_end_3d} :catchall_3b
12876 add-int/lit8 v3, v3, 0x1
12882 const-string v6, "ActivityManager"
12884 new-instance v7, Ljava/lang/StringBuilder;
12886 invoke-direct {v7}, Ljava/lang/StringBuilder;-><init>()V
12888 const-string v8, "Can\'t find mystery application for "
12890 invoke-virtual {v7, v8}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
12892 move-result-object v7
12894 invoke-virtual {v7, p2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
12896 move-result-object v7
12898 const-string v8, " from pid="
12900 invoke-virtual {v7, v8}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
12902 move-result-object v7
12904 invoke-static {}, Landroid/os/Binder;->getCallingPid()I
12908 invoke-virtual {v7, v8}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
12910 move-result-object v7
12912 const-string v8, " uid="
12914 invoke-virtual {v7, v8}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
12916 move-result-object v7
12918 invoke-static {}, Landroid/os/Binder;->getCallingUid()I
12922 invoke-virtual {v7, v8}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
12924 move-result-object v7
12926 const-string v8, ": "
12928 invoke-virtual {v7, v8}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
12930 move-result-object v7
12932 invoke-virtual {v7, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
12934 move-result-object v7
12936 invoke-virtual {v7}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
12938 move-result-object v7
12940 invoke-static {v6, v7}, Landroid/util/Slog;->w(Ljava/lang/String;Ljava/lang/String;)I
12944 .catchall {:try_start_41 .. :try_end_80} :catchall_3b
12951 .method private findProcessLocked(Ljava/lang/String;ILjava/lang/String;)Lcom/android/server/am/ProcessRecord;
12954 invoke-static {}, Landroid/os/Binder;->getCallingPid()I
12958 invoke-static {}, Landroid/os/Binder;->getCallingUid()I
12972 move-object/from16 v7, p3
12974 invoke-virtual/range {v1 .. v8}, Lcom/android/server/am/ActivityManagerService;->handleIncomingUser(IIIZZLjava/lang/String;Ljava/lang/String;)I
12981 invoke-static/range {p1 .. p1}, Ljava/lang/Integer;->parseInt(Ljava/lang/String;)I
12985 iget-object v2, p0, Lcom/android/server/am/ActivityManagerService;->mPidsSelfLocked:Landroid/util/SparseArray;
12989 .catch Ljava/lang/NumberFormatException; {:try_start_15 .. :try_end_1c} :catch_69
12992 iget-object v1, p0, Lcom/android/server/am/ActivityManagerService;->mPidsSelfLocked:Landroid/util/SparseArray;
12994 invoke-virtual {v1, v11}, Landroid/util/SparseArray;->get(I)Ljava/lang/Object;
12996 move-result-object v1
13000 check-cast v0, Lcom/android/server/am/ProcessRecord;
13002 move-object v12, v0
13006 .catchall {:try_start_1c .. :try_end_27} :catchall_66
13009 if-nez v12, :cond_65
13011 iget-object v1, p0, Lcom/android/server/am/ActivityManagerService;->mProcessNames:Lcom/android/server/ProcessMap;
13013 invoke-virtual {v1}, Lcom/android/server/ProcessMap;->getMap()Ljava/util/HashMap;
13015 move-result-object v9
13017 move-object/from16 v0, p1
13019 invoke-virtual {v9, v0}, Ljava/util/HashMap;->get(Ljava/lang/Object;)Ljava/lang/Object;
13021 move-result-object v13
13023 check-cast v13, Landroid/util/SparseArray;
13025 if-eqz v13, :cond_65
13027 invoke-virtual {v13}, Landroid/util/SparseArray;->size()I
13031 if-lez v1, :cond_65
13035 invoke-virtual {v13, v1}, Landroid/util/SparseArray;->valueAt(I)Ljava/lang/Object;
13037 move-result-object v12
13039 check-cast v12, Lcom/android/server/am/ProcessRecord;
13045 if-eq v0, v1, :cond_65
13047 iget v1, v12, Lcom/android/server/am/ProcessRecord;->userId:I
13051 if-eq v1, v0, :cond_65
13056 invoke-virtual {v13}, Landroid/util/SparseArray;->size()I
13060 if-ge v10, v1, :cond_65
13062 invoke-virtual {v13, v10}, Landroid/util/SparseArray;->valueAt(I)Ljava/lang/Object;
13064 move-result-object v14
13066 check-cast v14, Lcom/android/server/am/ProcessRecord;
13068 iget v1, v14, Lcom/android/server/am/ProcessRecord;->userId:I
13072 if-ne v1, v0, :cond_6b
13074 move-object v12, v14
13085 .catchall {:try_start_67 .. :try_end_68} :catchall_66
13090 .catch Ljava/lang/NumberFormatException; {:try_start_68 .. :try_end_69} :catch_69
13098 add-int/lit8 v10, v10, 0x1
13103 .method private final finishReceiverLocked(Landroid/os/IBinder;ILjava/lang/String;Landroid/os/Bundle;ZZ)Z
13106 invoke-virtual {p0, p1}, Lcom/android/server/am/ActivityManagerService;->broadcastRecordForReceiverLocked(Landroid/os/IBinder;)Lcom/android/server/am/BroadcastRecord;
13108 move-result-object v1
13112 const-string v0, "ActivityManager"
13114 const-string v2, "finishReceiver called but not found on queue"
13116 invoke-static {v0, v2}, Landroid/util/Slog;->w(Ljava/lang/String;Ljava/lang/String;)I
13124 iget-object v0, v1, Lcom/android/server/am/BroadcastRecord;->queue:Lcom/android/server/am/BroadcastQueue;
13136 invoke-virtual/range {v0 .. v6}, Lcom/android/server/am/BroadcastQueue;->finishReceiverLocked(Lcom/android/server/am/BroadcastRecord;ILjava/lang/String;Landroid/os/Bundle;ZZ)Z
13143 .method private forceStopPackageLocked(Ljava/lang/String;I)V
13146 invoke-static/range {p2 .. p2}, Landroid/os/UserHandle;->getAppId(I)I
13158 invoke-static/range {p2 .. p2}, Landroid/os/UserHandle;->getUserId(I)I
13162 move-object/from16 v1, p0
13164 move-object/from16 v2, p1
13166 invoke-direct/range {v1 .. v8}, Lcom/android/server/am/ActivityManagerService;->forceStopPackageLocked(Ljava/lang/String;IZZZZI)Z
13168 new-instance v4, Landroid/content/Intent;
13170 const-string v1, "android.intent.action.PACKAGE_RESTARTED"
13172 const-string v2, "package"
13176 move-object/from16 v0, p1
13178 invoke-static {v2, v0, v3}, Landroid/net/Uri;->fromParts(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Landroid/net/Uri;
13180 move-result-object v2
13182 invoke-direct {v4, v1, v2}, Landroid/content/Intent;-><init>(Ljava/lang/String;Landroid/net/Uri;)V
13184 move-object/from16 v0, p0
13186 iget-boolean v1, v0, Lcom/android/server/am/ActivityManagerService;->mProcessesReady:Z
13188 if-nez v1, :cond_2e
13190 const/high16 v1, 0x5000
13192 invoke-virtual {v4, v1}, Landroid/content/Intent;->addFlags(I)Landroid/content/Intent;
13195 const-string v1, "android.intent.extra.UID"
13199 invoke-virtual {v4, v1, v0}, Landroid/content/Intent;->putExtra(Ljava/lang/String;I)Landroid/content/Intent;
13201 const-string v1, "android.intent.extra.user_handle"
13203 invoke-static/range {p2 .. p2}, Landroid/os/UserHandle;->getUserId(I)I
13207 invoke-virtual {v4, v1, v2}, Landroid/content/Intent;->putExtra(Ljava/lang/String;I)Landroid/content/Intent;
13229 sget v13, Lcom/android/server/am/ActivityManagerService;->MY_PID:I
13231 const/16 v14, 0x3e8
13233 invoke-static/range {p2 .. p2}, Landroid/os/UserHandle;->getUserId(I)I
13237 move-object/from16 v1, p0
13239 invoke-direct/range {v1 .. v15}, Lcom/android/server/am/ActivityManagerService;->broadcastIntentLocked(Lcom/android/server/am/ProcessRecord;Ljava/lang/String;Landroid/content/Intent;Ljava/lang/String;Landroid/content/IIntentReceiver;ILjava/lang/String;Landroid/os/Bundle;Ljava/lang/String;ZZIII)I
13244 .method private final forceStopPackageLocked(Ljava/lang/String;IZZZZI)Z
13251 if-ne v0, v4, :cond_e
13255 const-string v4, "ActivityManager"
13257 const-string v7, "Can\'t force stop all processes of all users, that is insane!"
13259 invoke-static {v4, v7}, Landroid/util/Slog;->w(Ljava/lang/String;Ljava/lang/String;)I
13262 if-gez p2, :cond_21
13264 if-eqz p1, :cond_21
13267 invoke-static {}, Landroid/app/AppGlobals;->getPackageManager()Landroid/content/pm/IPackageManager;
13269 move-result-object v4
13273 move-object/from16 v0, p1
13275 invoke-interface {v4, v0, v7}, Landroid/content/pm/IPackageManager;->getPackageUid(Ljava/lang/String;I)I
13279 invoke-static {v4}, Landroid/os/UserHandle;->getAppId(I)I
13281 .catch Landroid/os/RemoteException; {:try_start_12 .. :try_end_20} :catch_2cd
13287 if-eqz p5, :cond_dd
13289 if-eqz p1, :cond_9e
13291 const-string v4, "ActivityManager"
13293 new-instance v7, Ljava/lang/StringBuilder;
13295 invoke-direct {v7}, Ljava/lang/StringBuilder;-><init>()V
13297 const-string v8, "Force stopping package "
13299 invoke-virtual {v7, v8}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
13301 move-result-object v7
13303 move-object/from16 v0, p1
13305 invoke-virtual {v7, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
13307 move-result-object v7
13309 const-string v8, " appid="
13311 invoke-virtual {v7, v8}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
13313 move-result-object v7
13317 invoke-virtual {v7, v0}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
13319 move-result-object v7
13321 const-string v8, " user="
13323 invoke-virtual {v7, v8}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
13325 move-result-object v7
13329 invoke-virtual {v7, v0}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
13331 move-result-object v7
13333 invoke-virtual {v7}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
13335 move-result-object v7
13337 invoke-static {v4, v7}, Landroid/util/Slog;->i(Ljava/lang/String;Ljava/lang/String;)I
13340 move-object/from16 v0, p0
13342 iget-object v4, v0, Lcom/android/server/am/ActivityManagerService;->mProcessCrashTimes:Lcom/android/server/ProcessMap;
13344 invoke-virtual {v4}, Lcom/android/server/ProcessMap;->getMap()Ljava/util/HashMap;
13346 move-result-object v4
13348 invoke-virtual {v4}, Ljava/util/HashMap;->values()Ljava/util/Collection;
13350 move-result-object v4
13352 invoke-interface {v4}, Ljava/util/Collection;->iterator()Ljava/util/Iterator;
13354 move-result-object v17
13358 invoke-interface/range {v17 .. v17}, Ljava/util/Iterator;->hasNext()Z
13362 if-eqz v4, :cond_dd
13364 invoke-interface/range {v17 .. v17}, Ljava/util/Iterator;->next()Ljava/lang/Object;
13366 move-result-object v16
13368 check-cast v16, Landroid/util/SparseArray;
13370 invoke-virtual/range {v16 .. v16}, Landroid/util/SparseArray;->size()I
13374 add-int/lit8 v6, v4, -0x1
13377 if-ltz v6, :cond_d3
13381 move-object/from16 v0, v16
13383 invoke-virtual {v0, v6}, Landroid/util/SparseArray;->keyAt(I)I
13387 if-eqz p1, :cond_c8
13393 if-ne v0, v4, :cond_b9
13395 invoke-static/range {v19 .. v19}, Landroid/os/UserHandle;->getAppId(I)I
13401 if-ne v4, v0, :cond_94
13407 if-eqz v23, :cond_9b
13409 move-object/from16 v0, v16
13411 invoke-virtual {v0, v6}, Landroid/util/SparseArray;->removeAt(I)V
13414 add-int/lit8 v6, v6, -0x1
13419 const-string v4, "ActivityManager"
13421 new-instance v7, Ljava/lang/StringBuilder;
13423 invoke-direct {v7}, Ljava/lang/StringBuilder;-><init>()V
13425 const-string v8, "Force stopping user "
13427 invoke-virtual {v7, v8}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
13429 move-result-object v7
13433 invoke-virtual {v7, v0}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
13435 move-result-object v7
13437 invoke-virtual {v7}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
13439 move-result-object v7
13441 invoke-static {v4, v7}, Landroid/util/Slog;->i(Ljava/lang/String;Ljava/lang/String;)I
13450 invoke-static {v0, v1}, Landroid/os/UserHandle;->getUid(II)I
13454 move/from16 v0, v19
13456 if-ne v0, v4, :cond_94
13463 invoke-static/range {v19 .. v19}, Landroid/os/UserHandle;->getUserId(I)I
13469 if-ne v4, v0, :cond_94
13476 invoke-virtual/range {v16 .. v16}, Landroid/util/SparseArray;->size()I
13480 if-nez v4, :cond_67
13482 invoke-interface/range {v17 .. v17}, Ljava/util/Iterator;->remove()V
13491 if-nez p1, :cond_160
13493 new-instance v4, Ljava/lang/StringBuilder;
13495 invoke-direct {v4}, Ljava/lang/StringBuilder;-><init>()V
13497 const-string v7, "force stop user "
13499 invoke-virtual {v4, v7}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
13501 move-result-object v4
13505 invoke-virtual {v4, v0}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
13507 move-result-object v4
13509 invoke-virtual {v4}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
13511 move-result-object v13
13514 move-object/from16 v4, p0
13516 move-object/from16 v5, p1
13524 move/from16 v11, p5
13526 move/from16 v12, p6
13528 invoke-direct/range {v4 .. v13}, Lcom/android/server/am/ActivityManagerService;->killPackageProcessesLocked(Ljava/lang/String;IIIZZZZLjava/lang/String;)Z
13537 move-object/from16 v0, p0
13539 iget-object v4, v0, Lcom/android/server/am/ActivityManagerService;->mMainStack:Lcom/android/server/am/ActivityStack;
13541 iget-object v4, v4, Lcom/android/server/am/ActivityStack;->mHistory:Ljava/util/ArrayList;
13543 invoke-virtual {v4}, Ljava/util/ArrayList;->size()I
13547 if-ge v6, v4, :cond_1b7
13549 move-object/from16 v0, p0
13551 iget-object v4, v0, Lcom/android/server/am/ActivityManagerService;->mMainStack:Lcom/android/server/am/ActivityStack;
13553 iget-object v4, v4, Lcom/android/server/am/ActivityStack;->mHistory:Ljava/util/ArrayList;
13555 invoke-virtual {v4, v6}, Ljava/util/ArrayList;->get(I)Ljava/lang/Object;
13557 move-result-object v5
13559 check-cast v5, Lcom/android/server/am/ActivityRecord;
13561 iget-object v4, v5, Lcom/android/server/am/ActivityRecord;->packageName:Ljava/lang/String;
13563 move-object/from16 v0, p1
13565 invoke-virtual {v4, v0}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
13569 if-nez v4, :cond_136
13571 if-nez p1, :cond_176
13573 iget v4, v5, Lcom/android/server/am/ActivityRecord;->userId:I
13577 if-ne v4, v0, :cond_176
13587 if-eq v0, v4, :cond_143
13589 iget v4, v5, Lcom/android/server/am/ActivityRecord;->userId:I
13593 if-ne v4, v0, :cond_15d
13596 if-nez v24, :cond_14b
13598 iget-object v4, v5, Lcom/android/server/am/ActivityRecord;->task:Lcom/android/server/am/TaskRecord;
13600 move-object/from16 v0, v21
13602 if-ne v4, v0, :cond_15d
13605 iget-object v4, v5, Lcom/android/server/am/ActivityRecord;->app:Lcom/android/server/am/ProcessRecord;
13607 if-eqz v4, :cond_157
13609 if-nez p6, :cond_157
13611 iget-object v4, v5, Lcom/android/server/am/ActivityRecord;->app:Lcom/android/server/am/ProcessRecord;
13613 iget-boolean v4, v4, Lcom/android/server/am/ProcessRecord;->persistent:Z
13615 if-nez v4, :cond_15d
13618 if-nez p5, :cond_17b
13620 iget-boolean v4, v5, Lcom/android/server/am/ActivityRecord;->finishing:Z
13622 if-eqz v4, :cond_179
13626 add-int/lit8 v6, v6, 0x1
13631 new-instance v4, Ljava/lang/StringBuilder;
13633 invoke-direct {v4}, Ljava/lang/StringBuilder;-><init>()V
13635 const-string v7, "force stop "
13637 invoke-virtual {v4, v7}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
13639 move-result-object v4
13641 move-object/from16 v0, p1
13643 invoke-virtual {v4, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
13645 move-result-object v4
13647 invoke-virtual {v4}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
13649 move-result-object v13
13667 const-string v4, "ActivityManager"
13669 new-instance v7, Ljava/lang/StringBuilder;
13671 invoke-direct {v7}, Ljava/lang/StringBuilder;-><init>()V
13673 const-string v8, " Force finishing activity "
13675 invoke-virtual {v7, v8}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
13677 move-result-object v7
13679 invoke-virtual {v7, v5}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
13681 move-result-object v7
13683 invoke-virtual {v7}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
13685 move-result-object v7
13687 invoke-static {v4, v7}, Landroid/util/Slog;->i(Ljava/lang/String;Ljava/lang/String;)I
13689 if-eqz v24, :cond_1a3
13691 iget-object v4, v5, Lcom/android/server/am/ActivityRecord;->app:Lcom/android/server/am/ProcessRecord;
13693 if-eqz v4, :cond_1a0
13695 iget-object v4, v5, Lcom/android/server/am/ActivityRecord;->app:Lcom/android/server/am/ProcessRecord;
13699 iput-boolean v7, v4, Lcom/android/server/am/ProcessRecord;->removed:Z
13704 iput-object v4, v5, Lcom/android/server/am/ActivityRecord;->app:Lcom/android/server/am/ProcessRecord;
13707 iget-object v0, v5, Lcom/android/server/am/ActivityRecord;->task:Lcom/android/server/am/TaskRecord;
13709 move-object/from16 v21, v0
13711 iget-object v4, v5, Lcom/android/server/am/ActivityRecord;->stack:Lcom/android/server/am/ActivityStack;
13717 const-string v9, "force-stop"
13721 invoke-virtual/range {v4 .. v10}, Lcom/android/server/am/ActivityStack;->finishActivityLocked(Lcom/android/server/am/ActivityRecord;IILandroid/content/Intent;Ljava/lang/String;Z)Z
13725 if-eqz v4, :cond_15d
13727 add-int/lit8 v6, v6, -0x1
13732 move-object/from16 v0, p0
13734 iget-object v4, v0, Lcom/android/server/am/ActivityManagerService;->mServices:Lcom/android/server/am/ActiveServices;
13736 move-object/from16 v0, p1
13744 invoke-virtual {v4, v0, v1, v2, v3}, Lcom/android/server/am/ActiveServices;->forceStopLocked(Ljava/lang/String;IZZ)Z
13748 if-eqz v4, :cond_1cf
13750 if-nez p5, :cond_1cd
13760 if-nez p1, :cond_1da
13762 move-object/from16 v0, p0
13764 iget-object v4, v0, Lcom/android/server/am/ActivityManagerService;->mStickyBroadcasts:Landroid/util/SparseArray;
13768 invoke-virtual {v4, v0}, Landroid/util/SparseArray;->remove(I)V
13771 new-instance v13, Ljava/util/ArrayList;
13773 invoke-direct {v13}, Ljava/util/ArrayList;-><init>()V
13775 move-object/from16 v0, p0
13777 iget-object v7, v0, Lcom/android/server/am/ActivityManagerService;->mProviderMap:Lcom/android/server/am/ProviderMap;
13779 move-object/from16 v8, p1
13783 move/from16 v10, p5
13785 move/from16 v11, p6
13787 move/from16 v12, p7
13789 invoke-virtual/range {v7 .. v13}, Lcom/android/server/am/ProviderMap;->collectForceStopProviders(Ljava/lang/String;IZZILjava/util/ArrayList;)Z
13793 if-eqz v4, :cond_1f9
13795 if-nez p5, :cond_1f7
13805 invoke-virtual {v13}, Ljava/util/ArrayList;->size()I
13812 if-ge v6, v14, :cond_210
13816 invoke-virtual {v13, v6}, Ljava/util/ArrayList;->get(I)Ljava/lang/Object;
13818 move-result-object v4
13820 check-cast v4, Lcom/android/server/am/ContentProviderRecord;
13824 move-object/from16 v0, p0
13826 invoke-direct {v0, v7, v4, v8}, Lcom/android/server/am/ActivityManagerService;->removeDyingProviderLocked(Lcom/android/server/am/ProcessRecord;Lcom/android/server/am/ContentProviderRecord;Z)Z
13828 add-int/lit8 v6, v6, 0x1
13833 if-nez p1, :cond_2a3
13835 move-object/from16 v0, p0
13837 iget-object v4, v0, Lcom/android/server/am/ActivityManagerService;->mIntentSenderRecords:Ljava/util/HashMap;
13839 invoke-virtual {v4}, Ljava/util/HashMap;->size()I
13843 if-lez v4, :cond_2a3
13845 move-object/from16 v0, p0
13847 iget-object v4, v0, Lcom/android/server/am/ActivityManagerService;->mIntentSenderRecords:Ljava/util/HashMap;
13849 invoke-virtual {v4}, Ljava/util/HashMap;->values()Ljava/util/Collection;
13851 move-result-object v4
13853 invoke-interface {v4}, Ljava/util/Collection;->iterator()Ljava/util/Iterator;
13855 move-result-object v20
13859 invoke-interface/range {v20 .. v20}, Ljava/util/Iterator;->hasNext()Z
13863 if-eqz v4, :cond_2a3
13865 invoke-interface/range {v20 .. v20}, Ljava/util/Iterator;->next()Ljava/lang/Object;
13867 move-result-object v25
13869 check-cast v25, Ljava/lang/ref/WeakReference;
13871 if-nez v25, :cond_23a
13873 invoke-interface/range {v20 .. v20}, Ljava/util/Iterator;->remove()V
13878 invoke-virtual/range {v25 .. v25}, Ljava/lang/ref/WeakReference;->get()Ljava/lang/Object;
13880 move-result-object v22
13882 check-cast v22, Lcom/android/server/am/PendingIntentRecord;
13884 if-nez v22, :cond_246
13886 invoke-interface/range {v20 .. v20}, Ljava/util/Iterator;->remove()V
13891 if-nez p1, :cond_257
13893 move-object/from16 v0, v22
13895 iget-object v4, v0, Lcom/android/server/am/PendingIntentRecord;->key:Lcom/android/server/am/PendingIntentRecord$Key;
13897 iget v4, v4, Lcom/android/server/am/PendingIntentRecord$Key;->userId:I
13901 if-ne v4, v0, :cond_228
13904 if-nez p5, :cond_281
13911 move-object/from16 v0, v22
13913 iget v4, v0, Lcom/android/server/am/PendingIntentRecord;->uid:I
13915 invoke-static {v4}, Landroid/os/UserHandle;->getAppId(I)I
13921 if-ne v4, v0, :cond_228
13927 if-eq v0, v4, :cond_272
13929 move-object/from16 v0, v22
13931 iget-object v4, v0, Lcom/android/server/am/PendingIntentRecord;->key:Lcom/android/server/am/PendingIntentRecord$Key;
13933 iget v4, v4, Lcom/android/server/am/PendingIntentRecord$Key;->userId:I
13937 if-ne v4, v0, :cond_228
13940 move-object/from16 v0, v22
13942 iget-object v4, v0, Lcom/android/server/am/PendingIntentRecord;->key:Lcom/android/server/am/PendingIntentRecord$Key;
13944 iget-object v4, v4, Lcom/android/server/am/PendingIntentRecord$Key;->packageName:Ljava/lang/String;
13946 move-object/from16 v0, p1
13948 invoke-virtual {v4, v0}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
13952 if-nez v4, :cond_252
13959 invoke-interface/range {v20 .. v20}, Ljava/util/Iterator;->remove()V
13963 move-object/from16 v0, v22
13965 iput-boolean v4, v0, Lcom/android/server/am/PendingIntentRecord;->canceled:Z
13967 move-object/from16 v0, v22
13969 iget-object v4, v0, Lcom/android/server/am/PendingIntentRecord;->key:Lcom/android/server/am/PendingIntentRecord$Key;
13971 iget-object v4, v4, Lcom/android/server/am/PendingIntentRecord$Key;->activity:Lcom/android/server/am/ActivityRecord;
13973 if-eqz v4, :cond_228
13975 move-object/from16 v0, v22
13977 iget-object v4, v0, Lcom/android/server/am/PendingIntentRecord;->key:Lcom/android/server/am/PendingIntentRecord$Key;
13979 iget-object v4, v4, Lcom/android/server/am/PendingIntentRecord$Key;->activity:Lcom/android/server/am/ActivityRecord;
13981 iget-object v4, v4, Lcom/android/server/am/ActivityRecord;->pendingResults:Ljava/util/HashSet;
13983 move-object/from16 v0, v22
13985 iget-object v7, v0, Lcom/android/server/am/PendingIntentRecord;->ref:Ljava/lang/ref/WeakReference;
13987 invoke-virtual {v4, v7}, Ljava/util/HashSet;->remove(Ljava/lang/Object;)Z
13992 if-eqz p5, :cond_2c9
13994 if-eqz p4, :cond_2b4
13996 if-eqz p1, :cond_2b4
13998 invoke-static {}, Lcom/android/server/AttributeCache;->instance()Lcom/android/server/AttributeCache;
14000 move-result-object v15
14002 if-eqz v15, :cond_2b4
14004 move-object/from16 v0, p1
14006 invoke-virtual {v15, v0}, Lcom/android/server/AttributeCache;->removePackage(Ljava/lang/String;)V
14009 move-object/from16 v0, p0
14011 iget-boolean v4, v0, Lcom/android/server/am/ActivityManagerService;->mBooted:Z
14013 if-eqz v4, :cond_2c9
14015 move-object/from16 v0, p0
14017 iget-object v4, v0, Lcom/android/server/am/ActivityManagerService;->mMainStack:Lcom/android/server/am/ActivityStack;
14021 invoke-virtual {v4, v7}, Lcom/android/server/am/ActivityStack;->resumeTopActivityLocked(Lcom/android/server/am/ActivityRecord;)Z
14023 move-object/from16 v0, p0
14025 iget-object v4, v0, Lcom/android/server/am/ActivityManagerService;->mMainStack:Lcom/android/server/am/ActivityStack;
14027 invoke-virtual {v4}, Lcom/android/server/am/ActivityStack;->scheduleIdleLocked()V
14030 move/from16 v4, v18
14040 .method private forceStopUserLocked(I)V
14055 move-object/from16 v1, p0
14059 invoke-direct/range {v1 .. v8}, Lcom/android/server/am/ActivityManagerService;->forceStopPackageLocked(Ljava/lang/String;IZZZZI)Z
14061 new-instance v4, Landroid/content/Intent;
14063 const-string v1, "android.intent.action.USER_STOPPED"
14065 invoke-direct {v4, v1}, Landroid/content/Intent;-><init>(Ljava/lang/String;)V
14067 const/high16 v1, 0x5000
14069 invoke-virtual {v4, v1}, Landroid/content/Intent;->addFlags(I)Landroid/content/Intent;
14071 const-string v1, "android.intent.extra.user_handle"
14075 invoke-virtual {v4, v1, v0}, Landroid/content/Intent;->putExtra(Ljava/lang/String;I)Landroid/content/Intent;
14097 sget v13, Lcom/android/server/am/ActivityManagerService;->MY_PID:I
14099 const/16 v14, 0x3e8
14103 move-object/from16 v1, p0
14105 invoke-direct/range {v1 .. v15}, Lcom/android/server/am/ActivityManagerService;->broadcastIntentLocked(Lcom/android/server/am/ProcessRecord;Ljava/lang/String;Landroid/content/Intent;Ljava/lang/String;Landroid/content/IIntentReceiver;ILjava/lang/String;Landroid/os/Bundle;Ljava/lang/String;ZZIII)I
14110 .method private final generateApplicationProvidersLocked(Lcom/android/server/am/ProcessRecord;)Ljava/util/List;
14112 .annotation system Ldalvik/annotation/Signature;
14115 "Lcom/android/server/am/ProcessRecord;",
14119 "Landroid/content/pm/ProviderInfo;",
14127 invoke-static {}, Landroid/app/AppGlobals;->getPackageManager()Landroid/content/pm/IPackageManager;
14129 move-result-object v1
14131 iget-object v3, p1, Lcom/android/server/am/ProcessRecord;->processName:Ljava/lang/String;
14133 iget v10, p1, Lcom/android/server/am/ProcessRecord;->uid:I
14135 const/16 v11, 0xc00
14137 invoke-interface {v1, v3, v10, v11}, Landroid/content/pm/IPackageManager;->queryContentProviders(Ljava/lang/String;II)Ljava/util/List;
14139 .catch Landroid/os/RemoteException; {:try_start_1 .. :try_end_e} :catch_73
14141 move-result-object v8
14144 iget v9, p1, Lcom/android/server/am/ProcessRecord;->userId:I
14146 if-eqz v8, :cond_72
14148 invoke-interface {v8}, Ljava/util/List;->size()I
14155 if-ge v7, v6, :cond_72
14157 invoke-interface {v8, v7}, Ljava/util/List;->get(I)Ljava/lang/Object;
14159 move-result-object v2
14161 check-cast v2, Landroid/content/pm/ProviderInfo;
14163 iget-object v1, v2, Landroid/content/pm/ProviderInfo;->processName:Ljava/lang/String;
14165 iget-object v3, v2, Landroid/content/pm/ProviderInfo;->applicationInfo:Landroid/content/pm/ApplicationInfo;
14167 iget-object v10, v2, Landroid/content/pm/ProviderInfo;->name:Ljava/lang/String;
14169 iget v11, v2, Landroid/content/pm/ProviderInfo;->flags:I
14171 invoke-virtual {p0, v1, v3, v10, v11}, Lcom/android/server/am/ActivityManagerService;->isSingleton(Ljava/lang/String;Landroid/content/pm/ApplicationInfo;Ljava/lang/String;I)Z
14175 if-eqz v5, :cond_3e
14177 iget v1, p1, Lcom/android/server/am/ProcessRecord;->uid:I
14179 invoke-static {v1}, Landroid/os/UserHandle;->getUserId(I)I
14183 if-eqz v1, :cond_3e
14185 invoke-interface {v8, v7}, Ljava/util/List;->remove(I)Ljava/lang/Object;
14187 add-int/lit8 v6, v6, -0x1
14190 add-int/lit8 v7, v7, 0x1
14195 new-instance v4, Landroid/content/ComponentName;
14197 iget-object v1, v2, Landroid/content/pm/ProviderInfo;->packageName:Ljava/lang/String;
14199 iget-object v3, v2, Landroid/content/pm/ProviderInfo;->name:Ljava/lang/String;
14201 invoke-direct {v4, v1, v3}, Landroid/content/ComponentName;-><init>(Ljava/lang/String;Ljava/lang/String;)V
14203 iget-object v1, p0, Lcom/android/server/am/ActivityManagerService;->mProviderMap:Lcom/android/server/am/ProviderMap;
14205 invoke-virtual {v1, v4, v9}, Lcom/android/server/am/ProviderMap;->getProviderByClass(Landroid/content/ComponentName;I)Lcom/android/server/am/ContentProviderRecord;
14207 move-result-object v0
14209 if-nez v0, :cond_5c
14211 new-instance v0, Lcom/android/server/am/ContentProviderRecord;
14213 iget-object v3, p1, Lcom/android/server/am/ProcessRecord;->info:Landroid/content/pm/ApplicationInfo;
14217 invoke-direct/range {v0 .. v5}, Lcom/android/server/am/ContentProviderRecord;-><init>(Lcom/android/server/am/ActivityManagerService;Landroid/content/pm/ProviderInfo;Landroid/content/pm/ApplicationInfo;Landroid/content/ComponentName;Z)V
14219 iget-object v1, p0, Lcom/android/server/am/ActivityManagerService;->mProviderMap:Lcom/android/server/am/ProviderMap;
14221 invoke-virtual {v1, v4, v0}, Lcom/android/server/am/ProviderMap;->putProviderByClass(Landroid/content/ComponentName;Lcom/android/server/am/ContentProviderRecord;)V
14224 iget-object v1, p1, Lcom/android/server/am/ProcessRecord;->pubProviders:Ljava/util/HashMap;
14226 iget-object v3, v2, Landroid/content/pm/ProviderInfo;->name:Ljava/lang/String;
14228 invoke-virtual {v1, v3, v0}, Ljava/util/HashMap;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
14230 iget-object v1, v2, Landroid/content/pm/ProviderInfo;->applicationInfo:Landroid/content/pm/ApplicationInfo;
14232 iget-object v1, v1, Landroid/content/pm/ApplicationInfo;->packageName:Ljava/lang/String;
14234 invoke-virtual {p1, v1}, Lcom/android/server/am/ProcessRecord;->addPackage(Ljava/lang/String;)Z
14236 iget-object v1, v2, Landroid/content/pm/ProviderInfo;->applicationInfo:Landroid/content/pm/ApplicationInfo;
14238 iget-object v1, v1, Landroid/content/pm/ApplicationInfo;->packageName:Ljava/lang/String;
14240 invoke-virtual {p0, v1}, Lcom/android/server/am/ActivityManagerService;->ensurePackageDexOpt(Ljava/lang/String;)V
14253 .method private generateProcessError(Lcom/android/server/am/ProcessRecord;ILjava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Landroid/app/ActivityManager$ProcessErrorStateInfo;
14256 new-instance v0, Landroid/app/ActivityManager$ProcessErrorStateInfo;
14258 invoke-direct {v0}, Landroid/app/ActivityManager$ProcessErrorStateInfo;-><init>()V
14260 iput p2, v0, Landroid/app/ActivityManager$ProcessErrorStateInfo;->condition:I
14262 iget-object v1, p1, Lcom/android/server/am/ProcessRecord;->processName:Ljava/lang/String;
14264 iput-object v1, v0, Landroid/app/ActivityManager$ProcessErrorStateInfo;->processName:Ljava/lang/String;
14266 iget v1, p1, Lcom/android/server/am/ProcessRecord;->pid:I
14268 iput v1, v0, Landroid/app/ActivityManager$ProcessErrorStateInfo;->pid:I
14270 iget-object v1, p1, Lcom/android/server/am/ProcessRecord;->info:Landroid/content/pm/ApplicationInfo;
14272 iget v1, v1, Landroid/content/pm/ApplicationInfo;->uid:I
14274 iput v1, v0, Landroid/app/ActivityManager$ProcessErrorStateInfo;->uid:I
14276 iput-object p3, v0, Landroid/app/ActivityManager$ProcessErrorStateInfo;->tag:Ljava/lang/String;
14278 iput-object p4, v0, Landroid/app/ActivityManager$ProcessErrorStateInfo;->shortMsg:Ljava/lang/String;
14280 iput-object p5, v0, Landroid/app/ActivityManager$ProcessErrorStateInfo;->longMsg:Ljava/lang/String;
14282 iput-object p6, v0, Landroid/app/ActivityManager$ProcessErrorStateInfo;->stackTrace:Ljava/lang/String;
14287 .method private static getCalledPreBootReceiversFile()Ljava/io/File;
14290 invoke-static {}, Landroid/os/Environment;->getDataDirectory()Ljava/io/File;
14292 move-result-object v0
14294 new-instance v2, Ljava/io/File;
14296 const-string v3, "system"
14298 invoke-direct {v2, v0, v3}, Ljava/io/File;-><init>(Ljava/io/File;Ljava/lang/String;)V
14300 new-instance v1, Ljava/io/File;
14302 const-string v3, "called_pre_boots.dat"
14304 invoke-direct {v1, v2, v3}, Ljava/io/File;-><init>(Ljava/io/File;Ljava/lang/String;)V
14309 .method private getCallingRecordLocked(Landroid/os/IBinder;)Lcom/android/server/am/ActivityRecord;
14312 iget-object v1, p0, Lcom/android/server/am/ActivityManagerService;->mMainStack:Lcom/android/server/am/ActivityStack;
14314 invoke-virtual {v1, p1}, Lcom/android/server/am/ActivityStack;->isInStackLocked(Landroid/os/IBinder;)Lcom/android/server/am/ActivityRecord;
14316 move-result-object v0
14326 iget-object v1, v0, Lcom/android/server/am/ActivityRecord;->resultTo:Lcom/android/server/am/ActivityRecord;
14331 .method private getCommonServicesLocked()Ljava/util/HashMap;
14333 .annotation system Ldalvik/annotation/Signature;
14336 "Ljava/util/HashMap",
14338 "Ljava/lang/String;",
14339 "Landroid/os/IBinder;",
14344 iget-object v0, p0, Lcom/android/server/am/ActivityManagerService;->mAppBindArgs:Ljava/util/HashMap;
14346 if-nez v0, :cond_32
14348 new-instance v0, Ljava/util/HashMap;
14350 invoke-direct {v0}, Ljava/util/HashMap;-><init>()V
14352 iput-object v0, p0, Lcom/android/server/am/ActivityManagerService;->mAppBindArgs:Ljava/util/HashMap;
14354 iget-object v0, p0, Lcom/android/server/am/ActivityManagerService;->mAppBindArgs:Ljava/util/HashMap;
14356 const-string v1, "package"
14358 const-string v2, "package"
14360 invoke-static {v2}, Landroid/os/ServiceManager;->getService(Ljava/lang/String;)Landroid/os/IBinder;
14362 move-result-object v2
14364 invoke-virtual {v0, v1, v2}, Ljava/util/HashMap;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
14366 iget-object v0, p0, Lcom/android/server/am/ActivityManagerService;->mAppBindArgs:Ljava/util/HashMap;
14368 const-string v1, "window"
14370 const-string v2, "window"
14372 invoke-static {v2}, Landroid/os/ServiceManager;->getService(Ljava/lang/String;)Landroid/os/IBinder;
14374 move-result-object v2
14376 invoke-virtual {v0, v1, v2}, Ljava/util/HashMap;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
14378 iget-object v0, p0, Lcom/android/server/am/ActivityManagerService;->mAppBindArgs:Ljava/util/HashMap;
14380 const-string v1, "alarm"
14382 const-string v2, "alarm"
14384 invoke-static {v2}, Landroid/os/ServiceManager;->getService(Ljava/lang/String;)Landroid/os/IBinder;
14386 move-result-object v2
14388 invoke-virtual {v0, v1, v2}, Ljava/util/HashMap;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
14391 iget-object v0, p0, Lcom/android/server/am/ActivityManagerService;->mAppBindArgs:Ljava/util/HashMap;
14396 .method private getContentProviderExternalUnchecked(Ljava/lang/String;Landroid/os/IBinder;I)Landroid/app/IActivityManager$ContentProviderHolder;
14411 invoke-direct/range {v0 .. v5}, Lcom/android/server/am/ActivityManagerService;->getContentProviderImpl(Landroid/app/IApplicationThread;Ljava/lang/String;Landroid/os/IBinder;ZI)Landroid/app/IActivityManager$ContentProviderHolder;
14413 move-result-object v0
14418 .method private final getContentProviderImpl(Landroid/app/IApplicationThread;Ljava/lang/String;Landroid/os/IBinder;ZI)Landroid/app/IActivityManager$ContentProviderHolder;
14429 if-eqz p1, :cond_46
14432 invoke-virtual/range {p0 .. p1}, Lcom/android/server/am/ActivityManagerService;->getRecordForAppLocked(Landroid/app/IApplicationThread;)Lcom/android/server/am/ProcessRecord;
14434 move-result-object v32
14436 if-nez v32, :cond_46
14438 new-instance v5, Ljava/lang/SecurityException;
14440 new-instance v10, Ljava/lang/StringBuilder;
14442 invoke-direct {v10}, Ljava/lang/StringBuilder;-><init>()V
14444 const-string v11, "Unable to find app for caller "
14446 invoke-virtual {v10, v11}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
14448 move-result-object v10
14450 move-object/from16 v0, p1
14452 invoke-virtual {v10, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
14454 move-result-object v10
14456 const-string v11, " (pid="
14458 invoke-virtual {v10, v11}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
14460 move-result-object v10
14462 invoke-static {}, Landroid/os/Binder;->getCallingPid()I
14466 invoke-virtual {v10, v11}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
14468 move-result-object v10
14470 const-string v11, ") when getting content provider "
14472 invoke-virtual {v10, v11}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
14474 move-result-object v10
14476 move-object/from16 v0, p2
14478 invoke-virtual {v10, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
14480 move-result-object v10
14482 invoke-virtual {v10}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
14484 move-result-object v10
14486 invoke-direct {v5, v10}, Ljava/lang/SecurityException;-><init>(Ljava/lang/String;)V
14495 .catchall {:try_start_8 .. :try_end_45} :catchall_43
14501 move-object/from16 v0, p0
14503 iget-object v5, v0, Lcom/android/server/am/ActivityManagerService;->mProviderMap:Lcom/android/server/am/ProviderMap;
14505 move-object/from16 v0, p2
14509 invoke-virtual {v5, v0, v1}, Lcom/android/server/am/ProviderMap;->getProviderByName(Ljava/lang/String;I)Lcom/android/server/am/ContentProviderRecord;
14511 move-result-object v4
14513 if-eqz v4, :cond_6c
14518 if-eqz v31, :cond_117
14520 iget-object v6, v4, Lcom/android/server/am/ContentProviderRecord;->info:Landroid/content/pm/ProviderInfo;
14522 move-object/from16 v0, p0
14524 move-object/from16 v1, v32
14526 invoke-direct {v0, v6, v1}, Lcom/android/server/am/ActivityManagerService;->checkContentProviderPermissionLocked(Landroid/content/pm/ProviderInfo;Lcom/android/server/am/ProcessRecord;)Ljava/lang/String;
14528 move-result-object v27
14530 if-eqz v27, :cond_6f
14532 new-instance v5, Ljava/lang/SecurityException;
14534 move-object/from16 v0, v27
14536 invoke-direct {v5, v0}, Ljava/lang/SecurityException;-><init>(Ljava/lang/String;)V
14546 if-eqz v32, :cond_85
14548 move-object/from16 v0, v32
14550 invoke-virtual {v4, v0}, Lcom/android/server/am/ContentProviderRecord;->canRunHere(Lcom/android/server/am/ProcessRecord;)Z
14554 if-eqz v5, :cond_85
14558 invoke-virtual {v4, v5}, Lcom/android/server/am/ContentProviderRecord;->newHolder(Lcom/android/server/am/ContentProviderConnection;)Landroid/app/IActivityManager$ContentProviderHolder;
14560 move-result-object v24
14564 move-object/from16 v0, v24
14566 iput-object v5, v0, Landroid/app/IActivityManager$ContentProviderHolder;->provider:Landroid/content/IContentProvider;
14574 invoke-static {}, Landroid/os/Binder;->clearCallingIdentity()J
14576 move-result-wide v28
14578 move-object/from16 v0, p0
14580 move-object/from16 v1, v32
14582 move-object/from16 v2, p3
14586 invoke-virtual {v0, v1, v4, v2, v3}, Lcom/android/server/am/ActivityManagerService;->incProviderCountLocked(Lcom/android/server/am/ProcessRecord;Lcom/android/server/am/ContentProviderRecord;Landroid/os/IBinder;Z)Lcom/android/server/am/ContentProviderConnection;
14588 move-result-object v20
14590 if-eqz v20, :cond_b6
14592 move-object/from16 v0, v20
14594 iget v5, v0, Lcom/android/server/am/ContentProviderConnection;->stableCount:I
14596 move-object/from16 v0, v20
14598 iget v10, v0, Lcom/android/server/am/ContentProviderConnection;->unstableCount:I
14600 add-int/2addr v5, v10
14604 if-ne v5, v10, :cond_b6
14606 iget-object v5, v4, Lcom/android/server/am/ContentProviderRecord;->proc:Lcom/android/server/am/ProcessRecord;
14608 if-eqz v5, :cond_b6
14610 move-object/from16 v0, v32
14612 iget v5, v0, Lcom/android/server/am/ProcessRecord;->setAdj:I
14616 if-gt v5, v10, :cond_b6
14618 iget-object v5, v4, Lcom/android/server/am/ContentProviderRecord;->proc:Lcom/android/server/am/ProcessRecord;
14622 move-object/from16 v0, p0
14624 invoke-virtual {v0, v5, v10}, Lcom/android/server/am/ActivityManagerService;->updateLruProcessLocked(Lcom/android/server/am/ProcessRecord;Z)V
14627 iget-object v5, v4, Lcom/android/server/am/ContentProviderRecord;->proc:Lcom/android/server/am/ProcessRecord;
14629 if-eqz v5, :cond_114
14631 iget-object v5, v4, Lcom/android/server/am/ContentProviderRecord;->proc:Lcom/android/server/am/ProcessRecord;
14633 move-object/from16 v0, p0
14635 invoke-virtual {v0, v5}, Lcom/android/server/am/ActivityManagerService;->updateOomAdjLocked(Lcom/android/server/am/ProcessRecord;)Z
14639 if-nez v33, :cond_114
14641 const-string v5, "ActivityManager"
14643 new-instance v10, Ljava/lang/StringBuilder;
14645 invoke-direct {v10}, Ljava/lang/StringBuilder;-><init>()V
14647 const-string v11, "Existing provider "
14649 invoke-virtual {v10, v11}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
14651 move-result-object v10
14653 iget-object v11, v4, Lcom/android/server/am/ContentProviderRecord;->name:Landroid/content/ComponentName;
14655 invoke-virtual {v11}, Landroid/content/ComponentName;->flattenToShortString()Ljava/lang/String;
14657 move-result-object v11
14659 invoke-virtual {v10, v11}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
14661 move-result-object v10
14663 const-string v11, " is crashing; detaching "
14665 invoke-virtual {v10, v11}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
14667 move-result-object v10
14669 move-object/from16 v0, v32
14671 invoke-virtual {v10, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
14673 move-result-object v10
14675 invoke-virtual {v10}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
14677 move-result-object v10
14679 invoke-static {v5, v10}, Landroid/util/Slog;->i(Ljava/lang/String;Ljava/lang/String;)I
14681 move-object/from16 v0, p0
14683 move-object/from16 v1, v20
14685 move-object/from16 v2, p3
14689 invoke-virtual {v0, v1, v4, v2, v3}, Lcom/android/server/am/ActivityManagerService;->decProviderCountLocked(Lcom/android/server/am/ContentProviderConnection;Lcom/android/server/am/ContentProviderRecord;Landroid/os/IBinder;Z)Z
14693 iget-object v5, v4, Lcom/android/server/am/ContentProviderRecord;->proc:Lcom/android/server/am/ProcessRecord;
14695 iget-object v10, v4, Lcom/android/server/am/ContentProviderRecord;->proc:Lcom/android/server/am/ProcessRecord;
14697 iget v10, v10, Lcom/android/server/am/ProcessRecord;->pid:I
14699 iget-object v11, v4, Lcom/android/server/am/ContentProviderRecord;->proc:Lcom/android/server/am/ProcessRecord;
14701 iget-object v11, v11, Lcom/android/server/am/ProcessRecord;->thread:Landroid/app/IApplicationThread;
14703 move-object/from16 v0, p0
14705 invoke-virtual {v0, v5, v10, v11}, Lcom/android/server/am/ActivityManagerService;->appDiedLocked(Lcom/android/server/am/ProcessRecord;ILandroid/app/IApplicationThread;)V
14707 if-nez v26, :cond_110
14721 invoke-static/range {v28 .. v29}, Landroid/os/Binder;->restoreCallingIdentity(J)V
14723 .catchall {:try_start_46 .. :try_end_117} :catchall_43
14726 if-nez v31, :cond_34f
14729 invoke-static {}, Landroid/app/AppGlobals;->getPackageManager()Landroid/content/pm/IPackageManager;
14731 move-result-object v5
14733 const/16 v10, 0xc00
14735 move-object/from16 v0, p2
14739 invoke-interface {v5, v0, v10, v1}, Landroid/content/pm/IPackageManager;->resolveContentProvider(Ljava/lang/String;II)Landroid/content/pm/ProviderInfo;
14741 .catchall {:try_start_119 .. :try_end_126} :catchall_43
14742 .catch Landroid/os/RemoteException; {:try_start_119 .. :try_end_126} :catch_401
14744 move-result-object v6
14747 if-nez v6, :cond_12e
14757 iget-object v5, v6, Landroid/content/pm/ProviderInfo;->processName:Ljava/lang/String;
14759 iget-object v10, v6, Landroid/content/pm/ProviderInfo;->applicationInfo:Landroid/content/pm/ApplicationInfo;
14761 iget-object v11, v6, Landroid/content/pm/ProviderInfo;->name:Ljava/lang/String;
14763 iget v12, v6, Landroid/content/pm/ProviderInfo;->flags:I
14765 move-object/from16 v0, p0
14767 invoke-virtual {v0, v5, v10, v11, v12}, Lcom/android/server/am/ActivityManagerService;->isSingleton(Ljava/lang/String;Landroid/content/pm/ApplicationInfo;Ljava/lang/String;I)Z
14771 if-eqz v9, :cond_140
14776 iget-object v5, v6, Landroid/content/pm/ProviderInfo;->applicationInfo:Landroid/content/pm/ApplicationInfo;
14778 move-object/from16 v0, p0
14782 invoke-virtual {v0, v5, v1}, Lcom/android/server/am/ActivityManagerService;->getAppInfoForUser(Landroid/content/pm/ApplicationInfo;I)Landroid/content/pm/ApplicationInfo;
14784 move-result-object v5
14786 iput-object v5, v6, Landroid/content/pm/ProviderInfo;->applicationInfo:Landroid/content/pm/ApplicationInfo;
14788 move-object/from16 v0, p0
14790 move-object/from16 v1, v32
14792 invoke-direct {v0, v6, v1}, Lcom/android/server/am/ActivityManagerService;->checkContentProviderPermissionLocked(Landroid/content/pm/ProviderInfo;Lcom/android/server/am/ProcessRecord;)Ljava/lang/String;
14794 move-result-object v27
14796 if-eqz v27, :cond_15e
14798 new-instance v5, Ljava/lang/SecurityException;
14800 move-object/from16 v0, v27
14802 invoke-direct {v5, v0}, Ljava/lang/SecurityException;-><init>(Ljava/lang/String;)V
14807 move-object/from16 v0, p0
14809 iget-boolean v5, v0, Lcom/android/server/am/ActivityManagerService;->mProcessesReady:Z
14811 if-nez v5, :cond_182
14813 move-object/from16 v0, p0
14815 iget-boolean v5, v0, Lcom/android/server/am/ActivityManagerService;->mDidUpdate:Z
14817 if-nez v5, :cond_182
14819 move-object/from16 v0, p0
14821 iget-boolean v5, v0, Lcom/android/server/am/ActivityManagerService;->mWaitingUpdate:Z
14823 if-nez v5, :cond_182
14825 iget-object v5, v6, Landroid/content/pm/ProviderInfo;->processName:Ljava/lang/String;
14827 const-string v10, "system"
14829 invoke-virtual {v5, v10}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
14833 if-nez v5, :cond_182
14835 new-instance v5, Ljava/lang/IllegalArgumentException;
14837 const-string v10, "Attempt to launch content provider before system ready"
14839 invoke-direct {v5, v10}, Ljava/lang/IllegalArgumentException;-><init>(Ljava/lang/String;)V
14844 move-object/from16 v0, p0
14846 iget-object v5, v0, Lcom/android/server/am/ActivityManagerService;->mStartedUsers:Landroid/util/SparseArray;
14850 invoke-virtual {v5, v0}, Landroid/util/SparseArray;->get(I)Ljava/lang/Object;
14852 move-result-object v5
14854 if-nez v5, :cond_1db
14856 const-string v5, "ActivityManager"
14858 new-instance v10, Ljava/lang/StringBuilder;
14860 invoke-direct {v10}, Ljava/lang/StringBuilder;-><init>()V
14862 const-string v11, "Unable to launch app "
14864 invoke-virtual {v10, v11}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
14866 move-result-object v10
14868 iget-object v11, v6, Landroid/content/pm/ProviderInfo;->applicationInfo:Landroid/content/pm/ApplicationInfo;
14870 iget-object v11, v11, Landroid/content/pm/ApplicationInfo;->packageName:Ljava/lang/String;
14872 invoke-virtual {v10, v11}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
14874 move-result-object v10
14876 const-string v11, "/"
14878 invoke-virtual {v10, v11}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
14880 move-result-object v10
14882 iget-object v11, v6, Landroid/content/pm/ProviderInfo;->applicationInfo:Landroid/content/pm/ApplicationInfo;
14884 iget v11, v11, Landroid/content/pm/ApplicationInfo;->uid:I
14886 invoke-virtual {v10, v11}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
14888 move-result-object v10
14890 const-string v11, " for provider "
14892 invoke-virtual {v10, v11}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
14894 move-result-object v10
14896 move-object/from16 v0, p2
14898 invoke-virtual {v10, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
14900 move-result-object v10
14902 const-string v11, ": user "
14904 invoke-virtual {v10, v11}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
14906 move-result-object v10
14910 invoke-virtual {v10, v0}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
14912 move-result-object v10
14914 const-string v11, " is stopped"
14916 invoke-virtual {v10, v11}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
14918 move-result-object v10
14920 invoke-virtual {v10}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
14922 move-result-object v10
14924 invoke-static {v5, v10}, Landroid/util/Slog;->w(Ljava/lang/String;Ljava/lang/String;)I
14933 new-instance v8, Landroid/content/ComponentName;
14935 iget-object v5, v6, Landroid/content/pm/ProviderInfo;->packageName:Ljava/lang/String;
14937 iget-object v10, v6, Landroid/content/pm/ProviderInfo;->name:Ljava/lang/String;
14939 invoke-direct {v8, v5, v10}, Landroid/content/ComponentName;-><init>(Ljava/lang/String;Ljava/lang/String;)V
14941 move-object/from16 v0, p0
14943 iget-object v5, v0, Lcom/android/server/am/ActivityManagerService;->mProviderMap:Lcom/android/server/am/ProviderMap;
14947 invoke-virtual {v5, v8, v0}, Lcom/android/server/am/ProviderMap;->getProviderByClass(Landroid/content/ComponentName;I)Lcom/android/server/am/ContentProviderRecord;
14949 .catchall {:try_start_12b .. :try_end_1ed} :catchall_43
14951 move-result-object v21
14953 if-nez v21, :cond_227
14958 if-eqz v23, :cond_404
14961 invoke-static {}, Landroid/app/AppGlobals;->getPackageManager()Landroid/content/pm/IPackageManager;
14963 move-result-object v5
14965 iget-object v10, v6, Landroid/content/pm/ProviderInfo;->applicationInfo:Landroid/content/pm/ApplicationInfo;
14967 iget-object v10, v10, Landroid/content/pm/ApplicationInfo;->packageName:Ljava/lang/String;
14969 const/16 v11, 0x400
14973 invoke-interface {v5, v10, v11, v0}, Landroid/content/pm/IPackageManager;->getApplicationInfo(Ljava/lang/String;II)Landroid/content/pm/ApplicationInfo;
14975 move-result-object v7
14977 if-nez v7, :cond_22a
14979 const-string v5, "ActivityManager"
14981 new-instance v10, Ljava/lang/StringBuilder;
14983 invoke-direct {v10}, Ljava/lang/StringBuilder;-><init>()V
14985 const-string v11, "No package info for content provider "
14987 invoke-virtual {v10, v11}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
14989 move-result-object v10
14991 iget-object v11, v6, Landroid/content/pm/ProviderInfo;->name:Ljava/lang/String;
14993 invoke-virtual {v10, v11}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
14995 move-result-object v10
14997 invoke-virtual {v10}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
14999 move-result-object v10
15001 invoke-static {v5, v10}, Landroid/util/Slog;->w(Ljava/lang/String;Ljava/lang/String;)I
15003 .catchall {:try_start_1f4 .. :try_end_220} :catchall_43
15004 .catch Landroid/os/RemoteException; {:try_start_1f4 .. :try_end_220} :catch_24b
15011 .catchall {:try_start_222 .. :try_end_223} :catchall_43
15013 move-object/from16 v4, v21
15024 move-object/from16 v0, p0
15028 invoke-virtual {v0, v7, v1}, Lcom/android/server/am/ActivityManagerService;->getAppInfoForUser(Landroid/content/pm/ApplicationInfo;I)Landroid/content/pm/ApplicationInfo;
15030 move-result-object v7
15032 new-instance v4, Lcom/android/server/am/ContentProviderRecord;
15034 move-object/from16 v5, p0
15036 invoke-direct/range {v4 .. v9}, Lcom/android/server/am/ContentProviderRecord;-><init>(Lcom/android/server/am/ActivityManagerService;Landroid/content/pm/ProviderInfo;Landroid/content/pm/ApplicationInfo;Landroid/content/ComponentName;Z)V
15038 .catchall {:try_start_22a .. :try_end_239} :catchall_43
15039 .catch Landroid/os/RemoteException; {:try_start_22a .. :try_end_239} :catch_24b
15042 if-eqz v32, :cond_24f
15045 move-object/from16 v0, v32
15047 invoke-virtual {v4, v0}, Lcom/android/server/am/ContentProviderRecord;->canRunHere(Lcom/android/server/am/ProcessRecord;)Z
15051 if-eqz v5, :cond_24f
15055 invoke-virtual {v4, v5}, Lcom/android/server/am/ContentProviderRecord;->newHolder(Lcom/android/server/am/ContentProviderConnection;)Landroid/app/IActivityManager$ContentProviderHolder;
15057 move-result-object v24
15066 move-object/from16 v4, v21
15071 move-object/from16 v0, p0
15073 iget-object v5, v0, Lcom/android/server/am/ActivityManagerService;->mLaunchingProviders:Ljava/util/ArrayList;
15075 invoke-virtual {v5}, Ljava/util/ArrayList;->size()I
15082 move/from16 v0, v25
15084 move/from16 v1, v19
15086 if-ge v0, v1, :cond_26b
15088 move-object/from16 v0, p0
15090 iget-object v5, v0, Lcom/android/server/am/ActivityManagerService;->mLaunchingProviders:Ljava/util/ArrayList;
15092 move/from16 v0, v25
15094 invoke-virtual {v5, v0}, Ljava/util/ArrayList;->get(I)Ljava/lang/Object;
15096 move-result-object v5
15098 if-ne v5, v4, :cond_2e8
15101 move/from16 v0, v25
15103 move/from16 v1, v19
15105 if-lt v0, v1, :cond_32a
15107 invoke-static {}, Landroid/os/Binder;->clearCallingIdentity()J
15109 .catchall {:try_start_23b .. :try_end_274} :catchall_43
15111 move-result-wide v28
15114 invoke-static {}, Landroid/app/AppGlobals;->getPackageManager()Landroid/content/pm/IPackageManager;
15116 move-result-object v5
15118 iget-object v10, v4, Lcom/android/server/am/ContentProviderRecord;->appInfo:Landroid/content/pm/ApplicationInfo;
15120 iget-object v10, v10, Landroid/content/pm/ApplicationInfo;->packageName:Ljava/lang/String;
15126 invoke-interface {v5, v10, v11, v0}, Landroid/content/pm/IPackageManager;->setPackageStoppedState(Ljava/lang/String;ZI)V
15128 .catchall {:try_start_275 .. :try_end_283} :catchall_317
15129 .catch Landroid/os/RemoteException; {:try_start_275 .. :try_end_283} :catch_3fe
15130 .catch Ljava/lang/IllegalArgumentException; {:try_start_275 .. :try_end_283} :catch_2ec
15134 iget-object v11, v6, Landroid/content/pm/ProviderInfo;->processName:Ljava/lang/String;
15136 iget-object v12, v4, Lcom/android/server/am/ContentProviderRecord;->appInfo:Landroid/content/pm/ApplicationInfo;
15142 const-string v15, "content provider"
15144 new-instance v16, Landroid/content/ComponentName;
15146 iget-object v5, v6, Landroid/content/pm/ProviderInfo;->applicationInfo:Landroid/content/pm/ApplicationInfo;
15148 iget-object v5, v5, Landroid/content/pm/ApplicationInfo;->packageName:Ljava/lang/String;
15150 iget-object v10, v6, Landroid/content/pm/ProviderInfo;->name:Ljava/lang/String;
15152 move-object/from16 v0, v16
15154 invoke-direct {v0, v5, v10}, Landroid/content/ComponentName;-><init>(Ljava/lang/String;Ljava/lang/String;)V
15160 move-object/from16 v10, p0
15162 invoke-virtual/range {v10 .. v18}, Lcom/android/server/am/ActivityManagerService;->startProcessLocked(Ljava/lang/String;Landroid/content/pm/ApplicationInfo;ZILjava/lang/String;Landroid/content/ComponentName;ZZ)Lcom/android/server/am/ProcessRecord;
15164 move-result-object v30
15166 if-nez v30, :cond_31c
15168 const-string v5, "ActivityManager"
15170 new-instance v10, Ljava/lang/StringBuilder;
15172 invoke-direct {v10}, Ljava/lang/StringBuilder;-><init>()V
15174 const-string v11, "Unable to launch app "
15176 invoke-virtual {v10, v11}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
15178 move-result-object v10
15180 iget-object v11, v6, Landroid/content/pm/ProviderInfo;->applicationInfo:Landroid/content/pm/ApplicationInfo;
15182 iget-object v11, v11, Landroid/content/pm/ApplicationInfo;->packageName:Ljava/lang/String;
15184 invoke-virtual {v10, v11}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
15186 move-result-object v10
15188 const-string v11, "/"
15190 invoke-virtual {v10, v11}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
15192 move-result-object v10
15194 iget-object v11, v6, Landroid/content/pm/ProviderInfo;->applicationInfo:Landroid/content/pm/ApplicationInfo;
15196 iget v11, v11, Landroid/content/pm/ApplicationInfo;->uid:I
15198 invoke-virtual {v10, v11}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
15200 move-result-object v10
15202 const-string v11, " for provider "
15204 invoke-virtual {v10, v11}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
15206 move-result-object v10
15208 move-object/from16 v0, p2
15210 invoke-virtual {v10, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
15212 move-result-object v10
15214 const-string v11, ": process is bad"
15216 invoke-virtual {v10, v11}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
15218 move-result-object v10
15220 invoke-virtual {v10}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
15222 move-result-object v10
15224 invoke-static {v5, v10}, Landroid/util/Slog;->w(Ljava/lang/String;Ljava/lang/String;)I
15226 .catchall {:try_start_283 .. :try_end_2e0} :catchall_317
15231 invoke-static/range {v28 .. v29}, Landroid/os/Binder;->restoreCallingIdentity(J)V
15235 .catchall {:try_start_2e2 .. :try_end_2e6} :catchall_43
15240 add-int/lit8 v25, v25, 0x1
15248 const-string v5, "ActivityManager"
15250 new-instance v10, Ljava/lang/StringBuilder;
15252 invoke-direct {v10}, Ljava/lang/StringBuilder;-><init>()V
15254 const-string v11, "Failed trying to unstop package "
15256 invoke-virtual {v10, v11}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
15258 move-result-object v10
15260 iget-object v11, v4, Lcom/android/server/am/ContentProviderRecord;->appInfo:Landroid/content/pm/ApplicationInfo;
15262 iget-object v11, v11, Landroid/content/pm/ApplicationInfo;->packageName:Ljava/lang/String;
15264 invoke-virtual {v10, v11}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
15266 move-result-object v10
15268 const-string v11, ": "
15270 invoke-virtual {v10, v11}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
15272 move-result-object v10
15274 move-object/from16 v0, v22
15276 invoke-virtual {v10, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
15278 move-result-object v10
15280 invoke-virtual {v10}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
15282 move-result-object v10
15284 invoke-static {v5, v10}, Landroid/util/Slog;->w(Ljava/lang/String;Ljava/lang/String;)I
15286 .catchall {:try_start_2ed .. :try_end_315} :catchall_317
15294 invoke-static/range {v28 .. v29}, Landroid/os/Binder;->restoreCallingIdentity(J)V
15298 .catchall {:try_start_318 .. :try_end_31c} :catchall_43
15302 move-object/from16 v0, v30
15304 iput-object v0, v4, Lcom/android/server/am/ContentProviderRecord;->launchingApp:Lcom/android/server/am/ProcessRecord;
15306 move-object/from16 v0, p0
15308 iget-object v5, v0, Lcom/android/server/am/ActivityManagerService;->mLaunchingProviders:Ljava/util/ArrayList;
15310 invoke-virtual {v5, v4}, Ljava/util/ArrayList;->add(Ljava/lang/Object;)Z
15312 .catchall {:try_start_31c .. :try_end_327} :catchall_317
15315 invoke-static/range {v28 .. v29}, Landroid/os/Binder;->restoreCallingIdentity(J)V
15318 if-eqz v23, :cond_333
15320 move-object/from16 v0, p0
15322 iget-object v5, v0, Lcom/android/server/am/ActivityManagerService;->mProviderMap:Lcom/android/server/am/ProviderMap;
15324 invoke-virtual {v5, v8, v4}, Lcom/android/server/am/ProviderMap;->putProviderByClass(Landroid/content/ComponentName;Lcom/android/server/am/ContentProviderRecord;)V
15327 move-object/from16 v0, p0
15329 iget-object v5, v0, Lcom/android/server/am/ActivityManagerService;->mProviderMap:Lcom/android/server/am/ProviderMap;
15331 move-object/from16 v0, p2
15333 invoke-virtual {v5, v0, v4}, Lcom/android/server/am/ProviderMap;->putProviderByName(Ljava/lang/String;Lcom/android/server/am/ContentProviderRecord;)V
15335 move-object/from16 v0, p0
15337 move-object/from16 v1, v32
15339 move-object/from16 v2, p3
15343 invoke-virtual {v0, v1, v4, v2, v3}, Lcom/android/server/am/ActivityManagerService;->incProviderCountLocked(Lcom/android/server/am/ProcessRecord;Lcom/android/server/am/ContentProviderRecord;Landroid/os/IBinder;Z)Lcom/android/server/am/ContentProviderConnection;
15345 move-result-object v20
15347 if-eqz v20, :cond_34f
15351 move-object/from16 v0, v20
15353 iput-boolean v5, v0, Lcom/android/server/am/ContentProviderConnection;->waiting:Z
15358 .catchall {:try_start_327 .. :try_end_350} :catchall_43
15365 iget-object v5, v4, Lcom/android/server/am/ContentProviderRecord;->provider:Landroid/content/IContentProvider;
15367 if-nez v5, :cond_3e5
15369 iget-object v5, v4, Lcom/android/server/am/ContentProviderRecord;->launchingApp:Lcom/android/server/am/ProcessRecord;
15371 if-nez v5, :cond_3c9
15373 const-string v5, "ActivityManager"
15375 new-instance v10, Ljava/lang/StringBuilder;
15377 invoke-direct {v10}, Ljava/lang/StringBuilder;-><init>()V
15379 const-string v11, "Unable to launch app "
15381 invoke-virtual {v10, v11}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
15383 move-result-object v10
15385 iget-object v11, v6, Landroid/content/pm/ProviderInfo;->applicationInfo:Landroid/content/pm/ApplicationInfo;
15387 iget-object v11, v11, Landroid/content/pm/ApplicationInfo;->packageName:Ljava/lang/String;
15389 invoke-virtual {v10, v11}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
15391 move-result-object v10
15393 const-string v11, "/"
15395 invoke-virtual {v10, v11}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
15397 move-result-object v10
15399 iget-object v11, v6, Landroid/content/pm/ProviderInfo;->applicationInfo:Landroid/content/pm/ApplicationInfo;
15401 iget v11, v11, Landroid/content/pm/ApplicationInfo;->uid:I
15403 invoke-virtual {v10, v11}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
15405 move-result-object v10
15407 const-string v11, " for provider "
15409 invoke-virtual {v10, v11}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
15411 move-result-object v10
15413 move-object/from16 v0, p2
15415 invoke-virtual {v10, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
15417 move-result-object v10
15419 const-string v11, ": launching app became null"
15421 invoke-virtual {v10, v11}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
15423 move-result-object v10
15425 invoke-virtual {v10}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
15427 move-result-object v10
15429 invoke-static {v5, v10}, Landroid/util/Slog;->w(Ljava/lang/String;Ljava/lang/String;)I
15431 const/16 v5, 0x7554
15435 new-array v10, v10, [Ljava/lang/Object;
15439 iget-object v12, v6, Landroid/content/pm/ProviderInfo;->applicationInfo:Landroid/content/pm/ApplicationInfo;
15441 iget v12, v12, Landroid/content/pm/ApplicationInfo;->uid:I
15443 invoke-static {v12}, Landroid/os/UserHandle;->getUserId(I)I
15447 invoke-static {v12}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
15449 move-result-object v12
15451 aput-object v12, v10, v11
15455 iget-object v12, v6, Landroid/content/pm/ProviderInfo;->applicationInfo:Landroid/content/pm/ApplicationInfo;
15457 iget-object v12, v12, Landroid/content/pm/ApplicationInfo;->packageName:Ljava/lang/String;
15459 aput-object v12, v10, v11
15463 iget-object v12, v6, Landroid/content/pm/ProviderInfo;->applicationInfo:Landroid/content/pm/ApplicationInfo;
15465 iget v12, v12, Landroid/content/pm/ApplicationInfo;->uid:I
15467 invoke-static {v12}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
15469 move-result-object v12
15471 aput-object v12, v10, v11
15475 aput-object p2, v10, v11
15477 invoke-static {v5, v10}, Landroid/util/EventLog;->writeEvent(I[Ljava/lang/Object;)I
15490 .catchall {:try_start_351 .. :try_end_3c8} :catchall_3c6
15495 if-eqz v20, :cond_3d0
15500 move-object/from16 v0, v20
15502 iput-boolean v5, v0, Lcom/android/server/am/ContentProviderConnection;->waiting:Z
15505 invoke-virtual {v4}, Ljava/lang/Object;->wait()V
15507 .catchall {:try_start_3cc .. :try_end_3d3} :catchall_3dc
15508 .catch Ljava/lang/InterruptedException; {:try_start_3cc .. :try_end_3d3} :catch_3f4
15510 if-eqz v20, :cond_351
15515 move-object/from16 v0, v20
15517 iput-boolean v5, v0, Lcom/android/server/am/ContentProviderConnection;->waiting:Z
15524 if-eqz v20, :cond_3e4
15528 move-object/from16 v0, v20
15530 iput-boolean v10, v0, Lcom/android/server/am/ContentProviderConnection;->waiting:Z
15538 .catchall {:try_start_3d6 .. :try_end_3e6} :catchall_3c6
15540 if-eqz v4, :cond_3f2
15542 move-object/from16 v0, v20
15544 invoke-virtual {v4, v0}, Lcom/android/server/am/ContentProviderRecord;->newHolder(Lcom/android/server/am/ContentProviderConnection;)Landroid/app/IActivityManager$ContentProviderHolder;
15546 move-result-object v5
15549 move-object/from16 v24, v5
15561 if-eqz v20, :cond_351
15566 move-object/from16 v0, v20
15568 iput-boolean v5, v0, Lcom/android/server/am/ContentProviderConnection;->waiting:Z
15570 .catchall {:try_start_3f8 .. :try_end_3fc} :catchall_3c6
15585 move-object/from16 v4, v21
15590 .method private final getLRURecordIndexForAppLocked(Landroid/app/IApplicationThread;)I
15593 invoke-interface {p1}, Landroid/app/IApplicationThread;->asBinder()Landroid/os/IBinder;
15595 move-result-object v2
15597 iget-object v3, p0, Lcom/android/server/am/ActivityManagerService;->mLruProcesses:Ljava/util/ArrayList;
15599 invoke-virtual {v3}, Ljava/util/ArrayList;->size()I
15603 add-int/lit8 v0, v3, -0x1
15606 if-ltz v0, :cond_26
15608 iget-object v3, p0, Lcom/android/server/am/ActivityManagerService;->mLruProcesses:Ljava/util/ArrayList;
15610 invoke-virtual {v3, v0}, Ljava/util/ArrayList;->get(I)Ljava/lang/Object;
15612 move-result-object v1
15614 check-cast v1, Lcom/android/server/am/ProcessRecord;
15616 iget-object v3, v1, Lcom/android/server/am/ProcessRecord;->thread:Landroid/app/IApplicationThread;
15618 if-eqz v3, :cond_23
15620 iget-object v3, v1, Lcom/android/server/am/ProcessRecord;->thread:Landroid/app/IApplicationThread;
15622 invoke-interface {v3}, Landroid/app/IApplicationThread;->asBinder()Landroid/os/IBinder;
15624 move-result-object v3
15626 if-ne v3, v2, :cond_23
15632 add-int/lit8 v0, v0, -0x1
15642 .method private final getStickiesLocked(Ljava/lang/String;Landroid/content/IntentFilter;Ljava/util/List;I)Ljava/util/List;
15645 iget-object v7, p0, Lcom/android/server/am/ActivityManagerService;->mContext:Landroid/content/Context;
15647 invoke-virtual {v7}, Landroid/content/Context;->getContentResolver()Landroid/content/ContentResolver;
15649 move-result-object v5
15651 iget-object v7, p0, Lcom/android/server/am/ActivityManagerService;->mStickyBroadcasts:Landroid/util/SparseArray;
15653 invoke-virtual {v7, p4}, Landroid/util/SparseArray;->get(I)Ljava/lang/Object;
15655 move-result-object v6
15657 check-cast v6, Ljava/util/HashMap;
15659 if-nez v6, :cond_12
15667 invoke-virtual {v6, p1}, Ljava/util/HashMap;->get(Ljava/lang/Object;)Ljava/lang/Object;
15669 move-result-object v4
15671 check-cast v4, Ljava/util/ArrayList;
15673 if-nez v4, :cond_1c
15680 invoke-virtual {v4}, Ljava/util/ArrayList;->size()I
15687 if-ge v2, v0, :cond_3f
15689 invoke-virtual {v4, v2}, Ljava/util/ArrayList;->get(I)Ljava/lang/Object;
15691 move-result-object v3
15693 check-cast v3, Landroid/content/Intent;
15697 const-string v8, "ActivityManager"
15699 invoke-virtual {p2, v5, v3, v7, v8}, Landroid/content/IntentFilter;->match(Landroid/content/ContentResolver;Landroid/content/Intent;ZLjava/lang/String;)I
15703 if-ltz v7, :cond_3c
15705 if-nez p3, :cond_39
15707 new-instance p3, Ljava/util/ArrayList;
15709 invoke-direct {p3}, Ljava/util/ArrayList;-><init>()V
15712 invoke-interface {p3, v3}, Ljava/util/List;->add(Ljava/lang/Object;)Z
15715 add-int/lit8 v2, v2, 0x1
15725 .method private getUiContext()Landroid/content/Context;
15731 iget-object v0, p0, Lcom/android/server/am/ActivityManagerService;->mUiContext:Landroid/content/Context;
15733 if-nez v0, :cond_11
15735 iget-boolean v0, p0, Lcom/android/server/am/ActivityManagerService;->mBooted:Z
15737 if-eqz v0, :cond_11
15739 iget-object v0, p0, Lcom/android/server/am/ActivityManagerService;->mContext:Landroid/content/Context;
15741 invoke-static {v0}, Lcom/android/internal/app/ThemeUtils;->createUiContext(Landroid/content/Context;)Landroid/content/Context;
15743 move-result-object v0
15745 iput-object v0, p0, Lcom/android/server/am/ActivityManagerService;->mUiContext:Landroid/content/Context;
15748 iget-object v0, p0, Lcom/android/server/am/ActivityManagerService;->mUiContext:Landroid/content/Context;
15750 if-eqz v0, :cond_19
15752 iget-object v0, p0, Lcom/android/server/am/ActivityManagerService;->mUiContext:Landroid/content/Context;
15760 iget-object v0, p0, Lcom/android/server/am/ActivityManagerService;->mContext:Landroid/content/Context;
15769 .catchall {:try_start_1 .. :try_end_1e} :catchall_1c
15774 .method private handleAppCrashLocked(Lcom/android/server/am/ProcessRecord;)Z
15777 move-object/from16 v0, p0
15779 iget-boolean v2, v0, Lcom/android/server/am/ActivityManagerService;->mHeadless:Z
15781 if-eqz v2, :cond_24
15783 const-string v2, "ActivityManager"
15785 new-instance v5, Ljava/lang/StringBuilder;
15787 invoke-direct {v5}, Ljava/lang/StringBuilder;-><init>()V
15789 const-string v6, "handleAppCrashLocked: "
15791 invoke-virtual {v5, v6}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
15793 move-result-object v5
15795 move-object/from16 v0, p1
15797 iget-object v6, v0, Lcom/android/server/am/ProcessRecord;->processName:Ljava/lang/String;
15799 invoke-virtual {v5, v6}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
15801 move-result-object v5
15803 invoke-virtual {v5}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
15805 move-result-object v5
15807 invoke-static {v2, v5}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I
15815 invoke-static {}, Landroid/os/SystemClock;->uptimeMillis()J
15817 move-result-wide v15
15819 move-object/from16 v0, p1
15821 iget-boolean v2, v0, Lcom/android/server/am/ProcessRecord;->isolated:Z
15823 if-nez v2, :cond_ea
15825 move-object/from16 v0, p0
15827 iget-object v2, v0, Lcom/android/server/am/ActivityManagerService;->mProcessCrashTimes:Lcom/android/server/ProcessMap;
15829 move-object/from16 v0, p1
15831 iget-object v5, v0, Lcom/android/server/am/ProcessRecord;->info:Landroid/content/pm/ApplicationInfo;
15833 iget-object v5, v5, Landroid/content/pm/ApplicationInfo;->processName:Ljava/lang/String;
15835 move-object/from16 v0, p1
15837 iget v6, v0, Lcom/android/server/am/ProcessRecord;->uid:I
15839 invoke-virtual {v2, v5, v6}, Lcom/android/server/ProcessMap;->get(Ljava/lang/String;I)Ljava/lang/Object;
15841 move-result-object v12
15843 check-cast v12, Ljava/lang/Long;
15846 if-eqz v12, :cond_197
15848 invoke-virtual {v12}, Ljava/lang/Long;->longValue()J
15850 move-result-wide v5
15852 const-wide/32 v8, 0xea60
15854 add-long/2addr v5, v8
15856 cmp-long v2, v15, v5
15858 if-gez v2, :cond_197
15860 const-string v2, "ActivityManager"
15862 new-instance v5, Ljava/lang/StringBuilder;
15864 invoke-direct {v5}, Ljava/lang/StringBuilder;-><init>()V
15866 const-string v6, "Process "
15868 invoke-virtual {v5, v6}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
15870 move-result-object v5
15872 move-object/from16 v0, p1
15874 iget-object v6, v0, Lcom/android/server/am/ProcessRecord;->info:Landroid/content/pm/ApplicationInfo;
15876 iget-object v6, v6, Landroid/content/pm/ApplicationInfo;->processName:Ljava/lang/String;
15878 invoke-virtual {v5, v6}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
15880 move-result-object v5
15882 const-string v6, " has crashed too many times: killing!"
15884 invoke-virtual {v5, v6}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
15886 move-result-object v5
15888 invoke-virtual {v5}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
15890 move-result-object v5
15892 invoke-static {v2, v5}, Landroid/util/Slog;->w(Ljava/lang/String;Ljava/lang/String;)I
15894 const/16 v2, 0x7550
15898 new-array v5, v5, [Ljava/lang/Object;
15902 move-object/from16 v0, p1
15904 iget v8, v0, Lcom/android/server/am/ProcessRecord;->userId:I
15906 invoke-static {v8}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
15908 move-result-object v8
15910 aput-object v8, v5, v6
15914 move-object/from16 v0, p1
15916 iget-object v8, v0, Lcom/android/server/am/ProcessRecord;->info:Landroid/content/pm/ApplicationInfo;
15918 iget-object v8, v8, Landroid/content/pm/ApplicationInfo;->processName:Ljava/lang/String;
15920 aput-object v8, v5, v6
15924 move-object/from16 v0, p1
15926 iget v8, v0, Lcom/android/server/am/ProcessRecord;->uid:I
15928 invoke-static {v8}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
15930 move-result-object v8
15932 aput-object v8, v5, v6
15934 invoke-static {v2, v5}, Landroid/util/EventLog;->writeEvent(I[Ljava/lang/Object;)I
15936 move-object/from16 v0, p0
15938 iget-object v2, v0, Lcom/android/server/am/ActivityManagerService;->mMainStack:Lcom/android/server/am/ActivityStack;
15940 iget-object v2, v2, Lcom/android/server/am/ActivityStack;->mHistory:Ljava/util/ArrayList;
15942 invoke-virtual {v2}, Ljava/util/ArrayList;->size()I
15946 add-int/lit8 v4, v2, -0x1
15949 if-ltz v4, :cond_ed
15951 move-object/from16 v0, p0
15953 iget-object v2, v0, Lcom/android/server/am/ActivityManagerService;->mMainStack:Lcom/android/server/am/ActivityStack;
15955 iget-object v2, v2, Lcom/android/server/am/ActivityStack;->mHistory:Ljava/util/ArrayList;
15957 invoke-virtual {v2, v4}, Ljava/util/ArrayList;->get(I)Ljava/lang/Object;
15959 move-result-object v3
15961 check-cast v3, Lcom/android/server/am/ActivityRecord;
15963 iget-object v2, v3, Lcom/android/server/am/ActivityRecord;->app:Lcom/android/server/am/ProcessRecord;
15965 move-object/from16 v0, p1
15967 if-ne v2, v0, :cond_e7
15969 const-string v2, "ActivityManager"
15971 new-instance v5, Ljava/lang/StringBuilder;
15973 invoke-direct {v5}, Ljava/lang/StringBuilder;-><init>()V
15975 const-string v6, " Force finishing activity "
15977 invoke-virtual {v5, v6}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
15979 move-result-object v5
15981 iget-object v6, v3, Lcom/android/server/am/ActivityRecord;->intent:Landroid/content/Intent;
15983 invoke-virtual {v6}, Landroid/content/Intent;->getComponent()Landroid/content/ComponentName;
15985 move-result-object v6
15987 invoke-virtual {v6}, Landroid/content/ComponentName;->flattenToShortString()Ljava/lang/String;
15989 move-result-object v6
15991 invoke-virtual {v5, v6}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
15993 move-result-object v5
15995 invoke-virtual {v5}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
15997 move-result-object v5
15999 invoke-static {v2, v5}, Landroid/util/Slog;->w(Ljava/lang/String;Ljava/lang/String;)I
16001 iget-object v2, v3, Lcom/android/server/am/ActivityRecord;->stack:Lcom/android/server/am/ActivityStack;
16007 const-string v7, "crashed"
16011 invoke-virtual/range {v2 .. v8}, Lcom/android/server/am/ActivityStack;->finishActivityLocked(Lcom/android/server/am/ActivityRecord;IILandroid/content/Intent;Ljava/lang/String;Z)Z
16014 add-int/lit8 v4, v4, -0x1
16024 move-object/from16 v0, p1
16026 iget-boolean v2, v0, Lcom/android/server/am/ProcessRecord;->persistent:Z
16028 if-nez v2, :cond_166
16030 const/16 v2, 0x753f
16034 new-array v5, v5, [Ljava/lang/Object;
16038 move-object/from16 v0, p1
16040 iget v8, v0, Lcom/android/server/am/ProcessRecord;->userId:I
16042 invoke-static {v8}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
16044 move-result-object v8
16046 aput-object v8, v5, v6
16050 move-object/from16 v0, p1
16052 iget v8, v0, Lcom/android/server/am/ProcessRecord;->uid:I
16054 invoke-static {v8}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
16056 move-result-object v8
16058 aput-object v8, v5, v6
16062 move-object/from16 v0, p1
16064 iget-object v8, v0, Lcom/android/server/am/ProcessRecord;->info:Landroid/content/pm/ApplicationInfo;
16066 iget-object v8, v8, Landroid/content/pm/ApplicationInfo;->processName:Ljava/lang/String;
16068 aput-object v8, v5, v6
16070 invoke-static {v2, v5}, Landroid/util/EventLog;->writeEvent(I[Ljava/lang/Object;)I
16072 move-object/from16 v0, p1
16074 iget-boolean v2, v0, Lcom/android/server/am/ProcessRecord;->isolated:Z
16076 if-nez v2, :cond_146
16078 move-object/from16 v0, p0
16080 iget-object v2, v0, Lcom/android/server/am/ActivityManagerService;->mBadProcesses:Lcom/android/server/ProcessMap;
16082 move-object/from16 v0, p1
16084 iget-object v5, v0, Lcom/android/server/am/ProcessRecord;->info:Landroid/content/pm/ApplicationInfo;
16086 iget-object v5, v5, Landroid/content/pm/ApplicationInfo;->processName:Ljava/lang/String;
16088 move-object/from16 v0, p1
16090 iget v6, v0, Lcom/android/server/am/ProcessRecord;->uid:I
16092 invoke-static/range {v15 .. v16}, Ljava/lang/Long;->valueOf(J)Ljava/lang/Long;
16094 move-result-object v8
16096 invoke-virtual {v2, v5, v6, v8}, Lcom/android/server/ProcessMap;->put(Ljava/lang/String;ILjava/lang/Object;)Ljava/lang/Object;
16098 move-object/from16 v0, p0
16100 iget-object v2, v0, Lcom/android/server/am/ActivityManagerService;->mProcessCrashTimes:Lcom/android/server/ProcessMap;
16102 move-object/from16 v0, p1
16104 iget-object v5, v0, Lcom/android/server/am/ProcessRecord;->info:Landroid/content/pm/ApplicationInfo;
16106 iget-object v5, v5, Landroid/content/pm/ApplicationInfo;->processName:Ljava/lang/String;
16108 move-object/from16 v0, p1
16110 iget v6, v0, Lcom/android/server/am/ProcessRecord;->uid:I
16112 invoke-virtual {v2, v5, v6}, Lcom/android/server/ProcessMap;->remove(Ljava/lang/String;I)V
16117 move-object/from16 v0, p1
16119 iput-boolean v2, v0, Lcom/android/server/am/ProcessRecord;->bad:Z
16123 move-object/from16 v0, p1
16125 iput-boolean v2, v0, Lcom/android/server/am/ProcessRecord;->removed:Z
16131 const-string v6, "crash"
16133 move-object/from16 v0, p0
16135 move-object/from16 v1, p1
16137 invoke-direct {v0, v1, v2, v5, v6}, Lcom/android/server/am/ActivityManagerService;->removeProcessLocked(Lcom/android/server/am/ProcessRecord;ZZLjava/lang/String;)Z
16139 move-object/from16 v0, p0
16141 iget-object v2, v0, Lcom/android/server/am/ActivityManagerService;->mMainStack:Lcom/android/server/am/ActivityStack;
16145 invoke-virtual {v2, v5}, Lcom/android/server/am/ActivityStack;->resumeTopActivityLocked(Lcom/android/server/am/ActivityRecord;)Z
16152 move-object/from16 v0, p0
16154 iget-object v2, v0, Lcom/android/server/am/ActivityManagerService;->mMainStack:Lcom/android/server/am/ActivityStack;
16158 invoke-virtual {v2, v5}, Lcom/android/server/am/ActivityStack;->resumeTopActivityLocked(Lcom/android/server/am/ActivityRecord;)Z
16162 move-object/from16 v0, p1
16164 iget-object v2, v0, Lcom/android/server/am/ProcessRecord;->services:Ljava/util/HashSet;
16166 invoke-virtual {v2}, Ljava/util/HashSet;->size()I
16170 if-eqz v2, :cond_23a
16172 move-object/from16 v0, p1
16174 iget-object v2, v0, Lcom/android/server/am/ProcessRecord;->services:Ljava/util/HashSet;
16176 invoke-virtual {v2}, Ljava/util/HashSet;->iterator()Ljava/util/Iterator;
16178 move-result-object v14
16181 invoke-interface {v14}, Ljava/util/Iterator;->hasNext()Z
16185 if-eqz v2, :cond_23a
16187 invoke-interface {v14}, Ljava/util/Iterator;->next()Ljava/lang/Object;
16189 move-result-object v17
16191 check-cast v17, Lcom/android/server/am/ServiceRecord;
16193 move-object/from16 v0, v17
16195 iget v2, v0, Lcom/android/server/am/ServiceRecord;->crashCount:I
16197 add-int/lit8 v2, v2, 0x1
16199 move-object/from16 v0, v17
16201 iput v2, v0, Lcom/android/server/am/ServiceRecord;->crashCount:I
16206 move-object/from16 v0, p0
16208 iget-object v2, v0, Lcom/android/server/am/ActivityManagerService;->mMainStack:Lcom/android/server/am/ActivityStack;
16212 invoke-virtual {v2, v5}, Lcom/android/server/am/ActivityStack;->topRunningActivityLocked(Lcom/android/server/am/ActivityRecord;)Lcom/android/server/am/ActivityRecord;
16214 move-result-object v3
16216 if-eqz v3, :cond_16e
16218 iget-object v2, v3, Lcom/android/server/am/ActivityRecord;->app:Lcom/android/server/am/ProcessRecord;
16220 move-object/from16 v0, p1
16222 if-ne v2, v0, :cond_16e
16224 const-string v2, "ActivityManager"
16226 new-instance v5, Ljava/lang/StringBuilder;
16228 invoke-direct {v5}, Ljava/lang/StringBuilder;-><init>()V
16230 const-string v6, " Force finishing activity "
16232 invoke-virtual {v5, v6}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
16234 move-result-object v5
16236 iget-object v6, v3, Lcom/android/server/am/ActivityRecord;->intent:Landroid/content/Intent;
16238 invoke-virtual {v6}, Landroid/content/Intent;->getComponent()Landroid/content/ComponentName;
16240 move-result-object v6
16242 invoke-virtual {v6}, Landroid/content/ComponentName;->flattenToShortString()Ljava/lang/String;
16244 move-result-object v6
16246 invoke-virtual {v5, v6}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
16248 move-result-object v5
16250 invoke-virtual {v5}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
16252 move-result-object v5
16254 invoke-static {v2, v5}, Landroid/util/Slog;->w(Ljava/lang/String;Ljava/lang/String;)I
16256 move-object/from16 v0, p0
16258 iget-object v2, v0, Lcom/android/server/am/ActivityManagerService;->mMainStack:Lcom/android/server/am/ActivityStack;
16260 invoke-virtual {v2, v3}, Lcom/android/server/am/ActivityStack;->indexOfActivityLocked(Lcom/android/server/am/ActivityRecord;)I
16264 iget-object v5, v3, Lcom/android/server/am/ActivityRecord;->stack:Lcom/android/server/am/ActivityStack;
16270 const-string v10, "crashed"
16276 invoke-virtual/range {v5 .. v11}, Lcom/android/server/am/ActivityStack;->finishActivityLocked(Lcom/android/server/am/ActivityRecord;IILandroid/content/Intent;Ljava/lang/String;Z)Z
16278 add-int/lit8 v7, v7, -0x1
16280 if-ltz v7, :cond_16e
16282 move-object/from16 v0, p0
16284 iget-object v2, v0, Lcom/android/server/am/ActivityManagerService;->mMainStack:Lcom/android/server/am/ActivityStack;
16286 iget-object v2, v2, Lcom/android/server/am/ActivityStack;->mHistory:Ljava/util/ArrayList;
16288 invoke-virtual {v2, v7}, Ljava/util/ArrayList;->get(I)Ljava/lang/Object;
16290 move-result-object v3
16292 check-cast v3, Lcom/android/server/am/ActivityRecord;
16294 iget-object v2, v3, Lcom/android/server/am/ActivityRecord;->state:Lcom/android/server/am/ActivityStack$ActivityState;
16296 sget-object v5, Lcom/android/server/am/ActivityStack$ActivityState;->RESUMED:Lcom/android/server/am/ActivityStack$ActivityState;
16298 if-eq v2, v5, :cond_1ff
16300 iget-object v2, v3, Lcom/android/server/am/ActivityRecord;->state:Lcom/android/server/am/ActivityStack$ActivityState;
16302 sget-object v5, Lcom/android/server/am/ActivityStack$ActivityState;->PAUSING:Lcom/android/server/am/ActivityStack$ActivityState;
16304 if-eq v2, v5, :cond_1ff
16306 iget-object v2, v3, Lcom/android/server/am/ActivityRecord;->state:Lcom/android/server/am/ActivityStack$ActivityState;
16308 sget-object v5, Lcom/android/server/am/ActivityStack$ActivityState;->PAUSED:Lcom/android/server/am/ActivityStack$ActivityState;
16310 if-ne v2, v5, :cond_16e
16313 iget-boolean v2, v3, Lcom/android/server/am/ActivityRecord;->isHomeActivity:Z
16315 if-eqz v2, :cond_20b
16317 move-object/from16 v0, p0
16319 iget-object v2, v0, Lcom/android/server/am/ActivityManagerService;->mHomeProcess:Lcom/android/server/am/ProcessRecord;
16321 iget-object v5, v3, Lcom/android/server/am/ActivityRecord;->app:Lcom/android/server/am/ProcessRecord;
16323 if-eq v2, v5, :cond_16e
16326 const-string v2, "ActivityManager"
16328 new-instance v5, Ljava/lang/StringBuilder;
16330 invoke-direct {v5}, Ljava/lang/StringBuilder;-><init>()V
16332 const-string v6, " Force finishing activity "
16334 invoke-virtual {v5, v6}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
16336 move-result-object v5
16338 iget-object v6, v3, Lcom/android/server/am/ActivityRecord;->intent:Landroid/content/Intent;
16340 invoke-virtual {v6}, Landroid/content/Intent;->getComponent()Landroid/content/ComponentName;
16342 move-result-object v6
16344 invoke-virtual {v6}, Landroid/content/ComponentName;->flattenToShortString()Ljava/lang/String;
16346 move-result-object v6
16348 invoke-virtual {v5, v6}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
16350 move-result-object v5
16352 invoke-virtual {v5}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
16354 move-result-object v5
16356 invoke-static {v2, v5}, Landroid/util/Slog;->w(Ljava/lang/String;Ljava/lang/String;)I
16358 iget-object v5, v3, Lcom/android/server/am/ActivityRecord;->stack:Lcom/android/server/am/ActivityStack;
16364 const-string v10, "crashed"
16370 invoke-virtual/range {v5 .. v11}, Lcom/android/server/am/ActivityStack;->finishActivityLocked(Lcom/android/server/am/ActivityRecord;IILandroid/content/Intent;Ljava/lang/String;Z)Z
16375 move-object/from16 v0, p0
16377 iget-object v2, v0, Lcom/android/server/am/ActivityManagerService;->mHomeProcess:Lcom/android/server/am/ProcessRecord;
16379 move-object/from16 v0, p1
16381 if-ne v0, v2, :cond_29a
16383 move-object/from16 v0, p0
16385 iget-object v2, v0, Lcom/android/server/am/ActivityManagerService;->mHomeProcess:Lcom/android/server/am/ProcessRecord;
16387 iget-object v2, v2, Lcom/android/server/am/ProcessRecord;->activities:Ljava/util/ArrayList;
16389 invoke-virtual {v2}, Ljava/util/ArrayList;->size()I
16393 if-lez v2, :cond_29a
16395 move-object/from16 v0, p0
16397 iget-object v2, v0, Lcom/android/server/am/ActivityManagerService;->mHomeProcess:Lcom/android/server/am/ProcessRecord;
16399 iget-object v2, v2, Lcom/android/server/am/ProcessRecord;->info:Landroid/content/pm/ApplicationInfo;
16401 iget v2, v2, Landroid/content/pm/ApplicationInfo;->flags:I
16403 and-int/lit8 v2, v2, 0x1
16405 if-nez v2, :cond_29a
16407 move-object/from16 v0, p0
16409 iget-object v2, v0, Lcom/android/server/am/ActivityManagerService;->mHomeProcess:Lcom/android/server/am/ProcessRecord;
16411 iget-object v2, v2, Lcom/android/server/am/ProcessRecord;->activities:Ljava/util/ArrayList;
16413 invoke-virtual {v2}, Ljava/util/ArrayList;->iterator()Ljava/util/Iterator;
16415 move-result-object v13
16419 invoke-interface {v13}, Ljava/util/Iterator;->hasNext()Z
16423 if-eqz v2, :cond_29a
16425 invoke-interface {v13}, Ljava/util/Iterator;->next()Ljava/lang/Object;
16427 move-result-object v3
16429 check-cast v3, Lcom/android/server/am/ActivityRecord;
16431 iget-boolean v2, v3, Lcom/android/server/am/ActivityRecord;->isHomeActivity:Z
16433 if-eqz v2, :cond_264
16435 const-string v2, "ActivityManager"
16437 new-instance v5, Ljava/lang/StringBuilder;
16439 invoke-direct {v5}, Ljava/lang/StringBuilder;-><init>()V
16441 const-string v6, "Clearing package preferred activities from "
16443 invoke-virtual {v5, v6}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
16445 move-result-object v5
16447 iget-object v6, v3, Lcom/android/server/am/ActivityRecord;->packageName:Ljava/lang/String;
16449 invoke-virtual {v5, v6}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
16451 move-result-object v5
16453 invoke-virtual {v5}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
16455 move-result-object v5
16457 invoke-static {v2, v5}, Landroid/util/Log;->i(Ljava/lang/String;Ljava/lang/String;)I
16460 invoke-static {}, Landroid/app/ActivityThread;->getPackageManager()Landroid/content/pm/IPackageManager;
16462 move-result-object v2
16464 iget-object v5, v3, Lcom/android/server/am/ActivityRecord;->packageName:Ljava/lang/String;
16466 invoke-interface {v2, v5}, Landroid/content/pm/IPackageManager;->clearPackagePreferredActivities(Ljava/lang/String;)V
16468 .catch Landroid/os/RemoteException; {:try_start_28e .. :try_end_297} :catch_298
16478 move-object/from16 v0, p1
16480 iget-boolean v2, v0, Lcom/android/server/am/ProcessRecord;->isolated:Z
16482 if-nez v2, :cond_2b5
16484 move-object/from16 v0, p0
16486 iget-object v2, v0, Lcom/android/server/am/ActivityManagerService;->mProcessCrashTimes:Lcom/android/server/ProcessMap;
16488 move-object/from16 v0, p1
16490 iget-object v5, v0, Lcom/android/server/am/ProcessRecord;->info:Landroid/content/pm/ApplicationInfo;
16492 iget-object v5, v5, Landroid/content/pm/ApplicationInfo;->processName:Ljava/lang/String;
16494 move-object/from16 v0, p1
16496 iget v6, v0, Lcom/android/server/am/ProcessRecord;->uid:I
16498 invoke-static/range {v15 .. v16}, Ljava/lang/Long;->valueOf(J)Ljava/lang/Long;
16500 move-result-object v8
16502 invoke-virtual {v2, v5, v6, v8}, Lcom/android/server/ProcessMap;->put(Ljava/lang/String;ILjava/lang/Object;)Ljava/lang/Object;
16510 .method private final handleAppDiedLocked(Lcom/android/server/am/ProcessRecord;ZZ)V
16519 invoke-direct {p0, p1, p2, p3, v2}, Lcom/android/server/am/ActivityManagerService;->cleanUpApplicationRecordLocked(Lcom/android/server/am/ProcessRecord;ZZI)V
16523 iget-object v2, p0, Lcom/android/server/am/ActivityManagerService;->mLruProcesses:Ljava/util/ArrayList;
16525 invoke-virtual {v2, p1}, Ljava/util/ArrayList;->remove(Ljava/lang/Object;)Z
16528 iget-object v2, p0, Lcom/android/server/am/ActivityManagerService;->mProfileProc:Lcom/android/server/am/ProcessRecord;
16530 if-ne v2, p1, :cond_14
16532 invoke-direct {p0}, Lcom/android/server/am/ActivityManagerService;->clearProfilerLocked()V
16535 iget-object v2, p0, Lcom/android/server/am/ActivityManagerService;->mMainStack:Lcom/android/server/am/ActivityStack;
16537 iget-object v2, v2, Lcom/android/server/am/ActivityStack;->mPausingActivity:Lcom/android/server/am/ActivityRecord;
16539 if-eqz v2, :cond_26
16541 iget-object v2, p0, Lcom/android/server/am/ActivityManagerService;->mMainStack:Lcom/android/server/am/ActivityStack;
16543 iget-object v2, v2, Lcom/android/server/am/ActivityStack;->mPausingActivity:Lcom/android/server/am/ActivityRecord;
16545 iget-object v2, v2, Lcom/android/server/am/ActivityRecord;->app:Lcom/android/server/am/ProcessRecord;
16547 if-ne v2, p1, :cond_26
16549 iget-object v2, p0, Lcom/android/server/am/ActivityManagerService;->mMainStack:Lcom/android/server/am/ActivityStack;
16551 iput-object v5, v2, Lcom/android/server/am/ActivityStack;->mPausingActivity:Lcom/android/server/am/ActivityRecord;
16554 iget-object v2, p0, Lcom/android/server/am/ActivityManagerService;->mMainStack:Lcom/android/server/am/ActivityStack;
16556 iget-object v2, v2, Lcom/android/server/am/ActivityStack;->mLastPausedActivity:Lcom/android/server/am/ActivityRecord;
16558 if-eqz v2, :cond_38
16560 iget-object v2, p0, Lcom/android/server/am/ActivityManagerService;->mMainStack:Lcom/android/server/am/ActivityStack;
16562 iget-object v2, v2, Lcom/android/server/am/ActivityStack;->mLastPausedActivity:Lcom/android/server/am/ActivityRecord;
16564 iget-object v2, v2, Lcom/android/server/am/ActivityRecord;->app:Lcom/android/server/am/ProcessRecord;
16566 if-ne v2, p1, :cond_38
16568 iget-object v2, p0, Lcom/android/server/am/ActivityManagerService;->mMainStack:Lcom/android/server/am/ActivityStack;
16570 iput-object v5, v2, Lcom/android/server/am/ActivityStack;->mLastPausedActivity:Lcom/android/server/am/ActivityRecord;
16573 iget-object v2, p0, Lcom/android/server/am/ActivityManagerService;->mMainStack:Lcom/android/server/am/ActivityStack;
16575 invoke-virtual {v2, p1}, Lcom/android/server/am/ActivityStack;->removeHistoryRecordsForAppLocked(Lcom/android/server/am/ProcessRecord;)Z
16579 iget-object v2, p1, Lcom/android/server/am/ProcessRecord;->activities:Ljava/util/ArrayList;
16581 invoke-virtual {v2}, Ljava/util/ArrayList;->clear()V
16583 iget-object v2, p1, Lcom/android/server/am/ProcessRecord;->instrumentationClass:Landroid/content/ComponentName;
16585 if-eqz v2, :cond_7c
16587 const-string v2, "ActivityManager"
16589 new-instance v3, Ljava/lang/StringBuilder;
16591 invoke-direct {v3}, Ljava/lang/StringBuilder;-><init>()V
16593 const-string v4, "Crash of app "
16595 invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
16597 move-result-object v3
16599 iget-object v4, p1, Lcom/android/server/am/ProcessRecord;->processName:Ljava/lang/String;
16601 invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
16603 move-result-object v3
16605 const-string v4, " running instrumentation "
16607 invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
16609 move-result-object v3
16611 iget-object v4, p1, Lcom/android/server/am/ProcessRecord;->instrumentationClass:Landroid/content/ComponentName;
16613 invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
16615 move-result-object v3
16617 invoke-virtual {v3}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
16619 move-result-object v3
16621 invoke-static {v2, v3}, Landroid/util/Slog;->w(Ljava/lang/String;Ljava/lang/String;)I
16623 new-instance v1, Landroid/os/Bundle;
16625 invoke-direct {v1}, Landroid/os/Bundle;-><init>()V
16627 const-string v2, "shortMsg"
16629 const-string v3, "Process crashed."
16631 invoke-virtual {v1, v2, v3}, Landroid/os/Bundle;->putString(Ljava/lang/String;Ljava/lang/String;)V
16633 invoke-virtual {p0, p1, v6, v1}, Lcom/android/server/am/ActivityManagerService;->finishInstrumentationLocked(Lcom/android/server/am/ProcessRecord;ILandroid/os/Bundle;)V
16636 if-nez p2, :cond_8d
16638 iget-object v2, p0, Lcom/android/server/am/ActivityManagerService;->mMainStack:Lcom/android/server/am/ActivityStack;
16640 invoke-virtual {v2, v5}, Lcom/android/server/am/ActivityStack;->resumeTopActivityLocked(Lcom/android/server/am/ActivityRecord;)Z
16644 if-nez v2, :cond_8d
16646 if-eqz v0, :cond_8d
16648 iget-object v2, p0, Lcom/android/server/am/ActivityManagerService;->mMainStack:Lcom/android/server/am/ActivityStack;
16650 invoke-virtual {v2, v5, v6}, Lcom/android/server/am/ActivityStack;->ensureActivitiesVisibleLocked(Lcom/android/server/am/ActivityRecord;I)V
16656 .method public static final installSystemProviders()V
16659 sget-object v5, Lcom/android/server/am/ActivityManagerService;->mSelf:Lcom/android/server/am/ActivityManagerService;
16664 sget-object v4, Lcom/android/server/am/ActivityManagerService;->mSelf:Lcom/android/server/am/ActivityManagerService;
16666 iget-object v4, v4, Lcom/android/server/am/ActivityManagerService;->mProcessNames:Lcom/android/server/ProcessMap;
16668 const-string v6, "system"
16672 invoke-virtual {v4, v6, v7}, Lcom/android/server/ProcessMap;->get(Ljava/lang/String;I)Ljava/lang/Object;
16674 move-result-object v0
16676 check-cast v0, Lcom/android/server/am/ProcessRecord;
16678 sget-object v4, Lcom/android/server/am/ActivityManagerService;->mSelf:Lcom/android/server/am/ActivityManagerService;
16680 invoke-direct {v4, v0}, Lcom/android/server/am/ActivityManagerService;->generateApplicationProvidersLocked(Lcom/android/server/am/ProcessRecord;)Ljava/util/List;
16682 move-result-object v3
16684 if-eqz v3, :cond_55
16686 invoke-interface {v3}, Ljava/util/List;->size()I
16690 add-int/lit8 v1, v4, -0x1
16693 if-ltz v1, :cond_55
16695 invoke-interface {v3, v1}, Ljava/util/List;->get(I)Ljava/lang/Object;
16697 move-result-object v2
16699 check-cast v2, Landroid/content/pm/ProviderInfo;
16701 iget-object v4, v2, Landroid/content/pm/ProviderInfo;->applicationInfo:Landroid/content/pm/ApplicationInfo;
16703 iget v4, v4, Landroid/content/pm/ApplicationInfo;->flags:I
16705 and-int/lit8 v4, v4, 0x1
16707 if-nez v4, :cond_52
16709 const-string v4, "ActivityManager"
16711 new-instance v6, Ljava/lang/StringBuilder;
16713 invoke-direct {v6}, Ljava/lang/StringBuilder;-><init>()V
16715 const-string v7, "Not installing system proc provider "
16717 invoke-virtual {v6, v7}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
16719 move-result-object v6
16721 iget-object v7, v2, Landroid/content/pm/ProviderInfo;->name:Ljava/lang/String;
16723 invoke-virtual {v6, v7}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
16725 move-result-object v6
16727 const-string v7, ": not system .apk"
16729 invoke-virtual {v6, v7}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
16731 move-result-object v6
16733 invoke-virtual {v6}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
16735 move-result-object v6
16737 invoke-static {v4, v6}, Landroid/util/Slog;->w(Ljava/lang/String;Ljava/lang/String;)I
16739 invoke-interface {v3, v1}, Ljava/util/List;->remove(I)Ljava/lang/Object;
16742 add-int/lit8 v1, v1, -0x1
16749 .catchall {:try_start_3 .. :try_end_56} :catchall_70
16751 if-eqz v3, :cond_5d
16753 sget-object v4, Lcom/android/server/am/ActivityManagerService;->mSystemThread:Landroid/app/ActivityThread;
16755 invoke-virtual {v4, v3}, Landroid/app/ActivityThread;->installSystemProviders(Ljava/util/List;)V
16758 sget-object v4, Lcom/android/server/am/ActivityManagerService;->mSelf:Lcom/android/server/am/ActivityManagerService;
16760 new-instance v5, Lcom/android/server/am/CoreSettingsObserver;
16762 sget-object v6, Lcom/android/server/am/ActivityManagerService;->mSelf:Lcom/android/server/am/ActivityManagerService;
16764 invoke-direct {v5, v6}, Lcom/android/server/am/CoreSettingsObserver;-><init>(Lcom/android/server/am/ActivityManagerService;)V
16766 iput-object v5, v4, Lcom/android/server/am/ActivityManagerService;->mCoreSettingsObserver:Lcom/android/server/am/CoreSettingsObserver;
16768 sget-object v4, Lcom/android/server/am/ActivityManagerService;->mSelf:Lcom/android/server/am/ActivityManagerService;
16770 iget-object v4, v4, Lcom/android/server/am/ActivityManagerService;->mUsageStatsService:Lcom/android/server/am/UsageStatsService;
16772 invoke-virtual {v4}, Lcom/android/server/am/UsageStatsService;->monitorPackages()V
16782 .catchall {:try_start_71 .. :try_end_72} :catchall_70
16787 .method private isReceivingBroadcast(Lcom/android/server/am/ProcessRecord;)Lcom/android/server/am/BroadcastQueue;
16790 iget-object v4, p1, Lcom/android/server/am/ProcessRecord;->curReceiver:Lcom/android/server/am/BroadcastRecord;
16794 iget-object v3, v4, Lcom/android/server/am/BroadcastRecord;->queue:Lcom/android/server/am/BroadcastQueue;
16803 iget-object v0, p0, Lcom/android/server/am/ActivityManagerService;->mBroadcastQueues:[Lcom/android/server/am/BroadcastQueue;
16805 array-length v2, v0
16810 if-ge v1, v2, :cond_20
16812 aget-object v3, v0, v1
16814 iget-object v4, v3, Lcom/android/server/am/BroadcastQueue;->mPendingBroadcast:Lcom/android/server/am/BroadcastRecord;
16816 if-eqz v4, :cond_1d
16818 iget-object v5, v4, Lcom/android/server/am/BroadcastRecord;->curApp:Lcom/android/server/am/ProcessRecord;
16820 if-ne v5, p1, :cond_1d
16831 .catchall {:try_start_8 .. :try_end_1c} :catchall_1a
16836 add-int/lit8 v1, v1, 0x1
16844 .catchall {:try_start_20 .. :try_end_21} :catchall_1a
16851 .method private final killPackageProcessesLocked(Ljava/lang/String;IIIZZZZLjava/lang/String;)Z
16854 new-instance v11, Ljava/util/ArrayList;
16856 invoke-direct {v11}, Ljava/util/ArrayList;-><init>()V
16858 if-eqz p1, :cond_4a
16860 new-instance v12, Ljava/lang/StringBuilder;
16862 invoke-direct {v12}, Ljava/lang/StringBuilder;-><init>()V
16864 invoke-virtual {v12, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
16866 move-result-object v12
16868 const-string v13, ":"
16870 invoke-virtual {v12, v13}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
16872 move-result-object v12
16874 invoke-virtual {v12}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
16876 move-result-object v10
16879 iget-object v12, p0, Lcom/android/server/am/ActivityManagerService;->mProcessNames:Lcom/android/server/ProcessMap;
16881 invoke-virtual {v12}, Lcom/android/server/ProcessMap;->getMap()Ljava/util/HashMap;
16883 move-result-object v12
16885 invoke-virtual {v12}, Ljava/util/HashMap;->values()Ljava/util/Collection;
16887 move-result-object v12
16889 invoke-interface {v12}, Ljava/util/Collection;->iterator()Ljava/util/Iterator;
16891 move-result-object v8
16894 invoke-interface {v8}, Ljava/util/Iterator;->hasNext()Z
16898 if-eqz v12, :cond_8d
16900 invoke-interface {v8}, Ljava/util/Iterator;->next()Ljava/lang/Object;
16902 move-result-object v6
16904 check-cast v6, Landroid/util/SparseArray;
16906 invoke-virtual {v6}, Landroid/util/SparseArray;->size()I
16913 if-ge v9, v4, :cond_28
16915 invoke-virtual {v6, v9}, Landroid/util/SparseArray;->valueAt(I)Ljava/lang/Object;
16917 move-result-object v5
16919 check-cast v5, Lcom/android/server/am/ProcessRecord;
16921 iget-boolean v12, v5, Lcom/android/server/am/ProcessRecord;->persistent:Z
16923 if-eqz v12, :cond_4c
16925 if-nez p8, :cond_4c
16929 add-int/lit8 v9, v9, 0x1
16939 iget-boolean v12, v5, Lcom/android/server/am/ProcessRecord;->removed:Z
16941 if-eqz v12, :cond_56
16943 if-eqz p7, :cond_47
16945 invoke-virtual {v11, v5}, Ljava/util/ArrayList;->add(Ljava/lang/Object;)Z
16950 iget v12, v5, Lcom/android/server/am/ProcessRecord;->setAdj:I
16954 if-lt v12, v0, :cond_47
16956 if-nez p1, :cond_68
16958 iget v12, v5, Lcom/android/server/am/ProcessRecord;->userId:I
16962 if-ne v12, v0, :cond_47
16965 if-nez p7, :cond_86
16973 iget v12, v5, Lcom/android/server/am/ProcessRecord;->uid:I
16975 invoke-static {v12}, Landroid/os/UserHandle;->getAppId(I)I
16981 if-ne v12, v0, :cond_47
16987 if-eq v0, v12, :cond_7d
16989 iget v12, v5, Lcom/android/server/am/ProcessRecord;->userId:I
16993 if-ne v12, v0, :cond_47
16996 iget-object v12, v5, Lcom/android/server/am/ProcessRecord;->pkgList:Ljava/util/HashSet;
16998 invoke-virtual {v12, p1}, Ljava/util/HashSet;->contains(Ljava/lang/Object;)Z
17002 if-nez v12, :cond_64
17009 iput-boolean v12, v5, Lcom/android/server/am/ProcessRecord;->removed:Z
17011 invoke-virtual {v11, v5}, Ljava/util/ArrayList;->add(Ljava/lang/Object;)Z
17016 invoke-virtual {v11}, Ljava/util/ArrayList;->size()I
17023 if-ge v7, v3, :cond_a6
17025 invoke-virtual {v11, v7}, Ljava/util/ArrayList;->get(I)Ljava/lang/Object;
17027 move-result-object v12
17029 check-cast v12, Lcom/android/server/am/ProcessRecord;
17035 move-object/from16 v2, p9
17037 invoke-direct {p0, v12, v0, v1, v2}, Lcom/android/server/am/ActivityManagerService;->removeProcessLocked(Lcom/android/server/am/ProcessRecord;ZZLjava/lang/String;)Z
17039 add-int/lit8 v7, v7, 0x1
17044 if-lez v3, :cond_aa
17056 .method private killProcessesBelowAdj(ILjava/lang/String;)Z
17059 invoke-static {}, Landroid/os/Binder;->getCallingUid()I
17065 if-eq v6, v7, :cond_10
17067 new-instance v6, Ljava/lang/SecurityException;
17069 const-string v7, "killProcessesBelowAdj() only available to system"
17071 invoke-direct {v6, v7}, Ljava/lang/SecurityException;-><init>(Ljava/lang/String;)V
17078 iget-object v7, p0, Lcom/android/server/am/ActivityManagerService;->mPidsSelfLocked:Landroid/util/SparseArray;
17083 iget-object v6, p0, Lcom/android/server/am/ActivityManagerService;->mPidsSelfLocked:Landroid/util/SparseArray;
17085 invoke-virtual {v6}, Landroid/util/SparseArray;->size()I
17092 if-ge v1, v5, :cond_98
17094 iget-object v6, p0, Lcom/android/server/am/ActivityManagerService;->mPidsSelfLocked:Landroid/util/SparseArray;
17096 invoke-virtual {v6, v1}, Landroid/util/SparseArray;->keyAt(I)I
17100 iget-object v6, p0, Lcom/android/server/am/ActivityManagerService;->mPidsSelfLocked:Landroid/util/SparseArray;
17102 invoke-virtual {v6, v1}, Landroid/util/SparseArray;->valueAt(I)Ljava/lang/Object;
17104 move-result-object v4
17106 check-cast v4, Lcom/android/server/am/ProcessRecord;
17108 if-nez v4, :cond_30
17112 add-int/lit8 v1, v1, 0x1
17117 iget v0, v4, Lcom/android/server/am/ProcessRecord;->setAdj:I
17119 if-le v0, p1, :cond_2d
17121 iget-boolean v6, v4, Lcom/android/server/am/ProcessRecord;->killedBackground:Z
17123 if-nez v6, :cond_2d
17125 const-string v6, "ActivityManager"
17127 new-instance v8, Ljava/lang/StringBuilder;
17129 invoke-direct {v8}, Ljava/lang/StringBuilder;-><init>()V
17131 const-string v9, "Killing "
17133 invoke-virtual {v8, v9}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
17135 move-result-object v8
17137 invoke-virtual {v8, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
17139 move-result-object v8
17141 const-string v9, " (adj "
17143 invoke-virtual {v8, v9}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
17145 move-result-object v8
17147 invoke-virtual {v8, v0}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
17149 move-result-object v8
17151 const-string v9, "): "
17153 invoke-virtual {v8, v9}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
17155 move-result-object v8
17157 invoke-virtual {v8, p2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
17159 move-result-object v8
17161 invoke-virtual {v8}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
17163 move-result-object v8
17165 invoke-static {v6, v8}, Landroid/util/Slog;->w(Ljava/lang/String;Ljava/lang/String;)I
17167 const/16 v6, 0x7547
17171 new-array v8, v8, [Ljava/lang/Object;
17175 iget v10, v4, Lcom/android/server/am/ProcessRecord;->userId:I
17177 invoke-static {v10}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
17179 move-result-object v10
17181 aput-object v10, v8, v9
17185 iget v10, v4, Lcom/android/server/am/ProcessRecord;->pid:I
17187 invoke-static {v10}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
17189 move-result-object v10
17191 aput-object v10, v8, v9
17195 iget-object v10, v4, Lcom/android/server/am/ProcessRecord;->processName:Ljava/lang/String;
17197 aput-object v10, v8, v9
17201 invoke-static {v0}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
17203 move-result-object v10
17205 aput-object v10, v8, v9
17209 aput-object p2, v8, v9
17211 invoke-static {v6, v8}, Landroid/util/EventLog;->writeEvent(I[Ljava/lang/Object;)I
17217 iput-boolean v6, v4, Lcom/android/server/am/ProcessRecord;->killedBackground:Z
17219 invoke-static {v3}, Landroid/os/Process;->killProcessQuiet(I)V
17228 .catchall {:try_start_14 .. :try_end_97} :catchall_95
17236 .catchall {:try_start_98 .. :try_end_99} :catchall_95
17241 .method private logStrictModeViolationToDropBox(Lcom/android/server/am/ProcessRecord;Landroid/os/StrictMode$ViolationInfo;)V
17253 move-object/from16 v0, p1
17255 iget-object v2, v0, Lcom/android/server/am/ProcessRecord;->info:Landroid/content/pm/ApplicationInfo;
17257 iget v2, v2, Landroid/content/pm/ApplicationInfo;->flags:I
17259 and-int/lit16 v2, v2, 0x81
17261 if-eqz v2, :cond_118
17267 if-nez p1, :cond_11b
17269 const-string v14, "unknown"
17272 if-eqz v11, :cond_121
17274 const-string v7, "system_app_strictmode"
17277 move-object/from16 v0, p0
17279 iget-object v2, v0, Lcom/android/server/am/ActivityManagerService;->mContext:Landroid/content/Context;
17281 const-string v3, "dropbox"
17283 invoke-virtual {v2, v3}, Landroid/content/Context;->getSystemService(Ljava/lang/String;)Ljava/lang/Object;
17285 move-result-object v6
17287 check-cast v6, Landroid/os/DropBoxManager;
17291 invoke-virtual {v6, v7}, Landroid/os/DropBoxManager;->isTagEnabled(Ljava/lang/String;)Z
17297 if-eqz v11, :cond_125
17299 move-object/from16 v0, p0
17301 iget-object v5, v0, Lcom/android/server/am/ActivityManagerService;->mStrictModeBuffer:Ljava/lang/StringBuilder;
17307 invoke-virtual {v5}, Ljava/lang/StringBuilder;->length()I
17311 if-nez v2, :cond_12e
17316 move-object/from16 v0, p0
17318 move-object/from16 v1, p1
17320 invoke-direct {v0, v1, v14, v5}, Lcom/android/server/am/ActivityManagerService;->appendDropBoxProcessHeaders(Lcom/android/server/am/ProcessRecord;Ljava/lang/String;Ljava/lang/StringBuilder;)V
17322 const-string v2, "Build: "
17324 invoke-virtual {v5, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
17326 move-result-object v2
17328 sget-object v3, Landroid/os/Build;->FINGERPRINT:Ljava/lang/String;
17330 invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
17332 move-result-object v2
17334 const-string v3, "\n"
17336 invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
17338 const-string v2, "System-App: "
17340 invoke-virtual {v5, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
17342 move-result-object v2
17344 invoke-virtual {v2, v11}, Ljava/lang/StringBuilder;->append(Z)Ljava/lang/StringBuilder;
17346 move-result-object v2
17348 const-string v3, "\n"
17350 invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
17352 const-string v2, "Uptime-Millis: "
17354 invoke-virtual {v5, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
17356 move-result-object v2
17358 move-object/from16 v0, p2
17360 iget-wide v3, v0, Landroid/os/StrictMode$ViolationInfo;->violationUptimeMillis:J
17362 invoke-virtual {v2, v3, v4}, Ljava/lang/StringBuilder;->append(J)Ljava/lang/StringBuilder;
17364 move-result-object v2
17366 const-string v3, "\n"
17368 invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
17370 move-object/from16 v0, p2
17372 iget v2, v0, Landroid/os/StrictMode$ViolationInfo;->violationNumThisLoop:I
17374 if-eqz v2, :cond_8d
17376 const-string v2, "Loop-Violation-Number: "
17378 invoke-virtual {v5, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
17380 move-result-object v2
17382 move-object/from16 v0, p2
17384 iget v3, v0, Landroid/os/StrictMode$ViolationInfo;->violationNumThisLoop:I
17386 invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
17388 move-result-object v2
17390 const-string v3, "\n"
17392 invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
17395 move-object/from16 v0, p2
17397 iget v2, v0, Landroid/os/StrictMode$ViolationInfo;->numAnimationsRunning:I
17399 if-eqz v2, :cond_a6
17401 const-string v2, "Animations-Running: "
17403 invoke-virtual {v5, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
17405 move-result-object v2
17407 move-object/from16 v0, p2
17409 iget v3, v0, Landroid/os/StrictMode$ViolationInfo;->numAnimationsRunning:I
17411 invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
17413 move-result-object v2
17415 const-string v3, "\n"
17417 invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
17420 move-object/from16 v0, p2
17422 iget-object v2, v0, Landroid/os/StrictMode$ViolationInfo;->broadcastIntentAction:Ljava/lang/String;
17424 if-eqz v2, :cond_bf
17426 const-string v2, "Broadcast-Intent-Action: "
17428 invoke-virtual {v5, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
17430 move-result-object v2
17432 move-object/from16 v0, p2
17434 iget-object v3, v0, Landroid/os/StrictMode$ViolationInfo;->broadcastIntentAction:Ljava/lang/String;
17436 invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
17438 move-result-object v2
17440 const-string v3, "\n"
17442 invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
17445 move-object/from16 v0, p2
17447 iget v2, v0, Landroid/os/StrictMode$ViolationInfo;->durationMillis:I
17451 if-eq v2, v3, :cond_d9
17453 const-string v2, "Duration-Millis: "
17455 invoke-virtual {v5, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
17457 move-result-object v2
17459 move-object/from16 v0, p2
17461 iget v3, v0, Landroid/os/StrictMode$ViolationInfo;->durationMillis:I
17463 invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
17465 move-result-object v2
17467 const-string v3, "\n"
17469 invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
17472 move-object/from16 v0, p2
17474 iget-wide v2, v0, Landroid/os/StrictMode$ViolationInfo;->numInstances:J
17476 const-wide/16 v16, -0x1
17478 cmp-long v2, v2, v16
17480 if-eqz v2, :cond_f6
17482 const-string v2, "Instance-Count: "
17484 invoke-virtual {v5, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
17486 move-result-object v2
17488 move-object/from16 v0, p2
17490 iget-wide v3, v0, Landroid/os/StrictMode$ViolationInfo;->numInstances:J
17492 invoke-virtual {v2, v3, v4}, Ljava/lang/StringBuilder;->append(J)Ljava/lang/StringBuilder;
17494 move-result-object v2
17496 const-string v3, "\n"
17498 invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
17501 move-object/from16 v0, p2
17503 iget-object v2, v0, Landroid/os/StrictMode$ViolationInfo;->tags:[Ljava/lang/String;
17505 if-eqz v2, :cond_131
17507 move-object/from16 v0, p2
17509 iget-object v8, v0, Landroid/os/StrictMode$ViolationInfo;->tags:[Ljava/lang/String;
17511 array-length v12, v8
17516 if-ge v10, v12, :cond_131
17518 aget-object v15, v8, v10
17520 const-string v2, "Span-Tag: "
17522 invoke-virtual {v5, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
17524 move-result-object v2
17526 invoke-virtual {v2, v15}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
17528 move-result-object v2
17530 const-string v3, "\n"
17532 invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
17534 .catchall {:try_start_33 .. :try_end_115} :catchall_181
17536 add-int/lit8 v10, v10, 0x1
17546 move-object/from16 v0, p1
17548 iget-object v14, v0, Lcom/android/server/am/ProcessRecord;->processName:Ljava/lang/String;
17553 const-string v7, "data_app_strictmode"
17558 new-instance v5, Ljava/lang/StringBuilder;
17562 invoke-direct {v5, v2}, Ljava/lang/StringBuilder;-><init>(I)V
17573 const-string v2, "\n"
17575 invoke-virtual {v5, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
17577 move-object/from16 v0, p2
17579 iget-object v2, v0, Landroid/os/StrictMode$ViolationInfo;->crashInfo:Landroid/app/ApplicationErrorReport$CrashInfo;
17581 if-eqz v2, :cond_14d
17583 move-object/from16 v0, p2
17585 iget-object v2, v0, Landroid/os/StrictMode$ViolationInfo;->crashInfo:Landroid/app/ApplicationErrorReport$CrashInfo;
17587 iget-object v2, v2, Landroid/app/ApplicationErrorReport$CrashInfo;->stackTrace:Ljava/lang/String;
17589 if-eqz v2, :cond_14d
17591 move-object/from16 v0, p2
17593 iget-object v2, v0, Landroid/os/StrictMode$ViolationInfo;->crashInfo:Landroid/app/ApplicationErrorReport$CrashInfo;
17595 iget-object v2, v2, Landroid/app/ApplicationErrorReport$CrashInfo;->stackTrace:Ljava/lang/String;
17597 invoke-virtual {v5, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
17600 const-string v2, "\n"
17602 invoke-virtual {v5, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
17604 invoke-virtual {v5}, Ljava/lang/StringBuilder;->length()I
17608 const/high16 v3, 0x1
17610 if-le v2, v3, :cond_17f
17617 .catchall {:try_start_131 .. :try_end_15c} :catchall_181
17619 if-eqz v11, :cond_160
17621 if-eqz v13, :cond_184
17624 new-instance v2, Lcom/android/server/am/ActivityManagerService$11;
17626 new-instance v3, Ljava/lang/StringBuilder;
17628 invoke-direct {v3}, Ljava/lang/StringBuilder;-><init>()V
17630 const-string v4, "Error dump: "
17632 invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
17634 move-result-object v3
17636 invoke-virtual {v3, v7}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
17638 move-result-object v3
17640 invoke-virtual {v3}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
17642 move-result-object v4
17644 move-object/from16 v3, p0
17646 invoke-direct/range {v2 .. v7}, Lcom/android/server/am/ActivityManagerService$11;-><init>(Lcom/android/server/am/ActivityManagerService;Ljava/lang/String;Ljava/lang/StringBuilder;Landroid/os/DropBoxManager;Ljava/lang/String;)V
17648 invoke-virtual {v2}, Lcom/android/server/am/ActivityManagerService$11;->start()V
17663 .catchall {:try_start_182 .. :try_end_183} :catchall_181
17670 new-instance v2, Lcom/android/server/am/ActivityManagerService$12;
17672 new-instance v3, Ljava/lang/StringBuilder;
17674 invoke-direct {v3}, Ljava/lang/StringBuilder;-><init>()V
17676 const-string v4, "Error dump: "
17678 invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
17680 move-result-object v3
17682 invoke-virtual {v3, v7}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
17684 move-result-object v3
17686 invoke-virtual {v3}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
17688 move-result-object v3
17690 move-object/from16 v0, p0
17692 invoke-direct {v2, v0, v3, v6, v7}, Lcom/android/server/am/ActivityManagerService$12;-><init>(Lcom/android/server/am/ActivityManagerService;Ljava/lang/String;Landroid/os/DropBoxManager;Ljava/lang/String;)V
17694 invoke-virtual {v2}, Lcom/android/server/am/ActivityManagerService$12;->start()V
17699 .method public static final main(I)Landroid/content/Context;
17706 new-instance v3, Lcom/android/server/am/ActivityManagerService$AThread;
17708 invoke-direct {v3}, Lcom/android/server/am/ActivityManagerService$AThread;-><init>()V
17710 invoke-virtual {v3}, Lcom/android/server/am/ActivityManagerService$AThread;->start()V
17716 iget-object v4, v3, Lcom/android/server/am/ActivityManagerService$AThread;->mService:Lcom/android/server/am/ActivityManagerService;
17718 .catchall {:try_start_b .. :try_end_d} :catchall_4b
17720 if-nez v4, :cond_15
17723 invoke-virtual {v3}, Ljava/lang/Object;->wait()V
17725 .catchall {:try_start_f .. :try_end_12} :catchall_4b
17726 .catch Ljava/lang/InterruptedException; {:try_start_f .. :try_end_12} :catch_13
17739 .catchall {:try_start_15 .. :try_end_16} :catchall_4b
17741 iget-object v2, v3, Lcom/android/server/am/ActivityManagerService$AThread;->mService:Lcom/android/server/am/ActivityManagerService;
17743 sput-object v2, Lcom/android/server/am/ActivityManagerService;->mSelf:Lcom/android/server/am/ActivityManagerService;
17745 invoke-static {}, Landroid/app/ActivityThread;->systemMain()Landroid/app/ActivityThread;
17747 move-result-object v0
17749 sput-object v0, Lcom/android/server/am/ActivityManagerService;->mSystemThread:Landroid/app/ActivityThread;
17751 invoke-virtual {v0}, Landroid/app/ActivityThread;->getSystemContext()Landroid/app/ContextImpl;
17753 move-result-object v1
17755 const v4, 0x103006b
17757 invoke-virtual {v1, v4}, Landroid/content/Context;->setTheme(I)V
17759 iput-object v1, v2, Lcom/android/server/am/ActivityManagerService;->mContext:Landroid/content/Context;
17761 iput p0, v2, Lcom/android/server/am/ActivityManagerService;->mFactoryTest:I
17763 new-instance v4, Lcom/android/server/am/ActivityStack;
17765 invoke-direct {v4, v2, v1, v6}, Lcom/android/server/am/ActivityStack;-><init>(Lcom/android/server/am/ActivityManagerService;Landroid/content/Context;Z)V
17767 iput-object v4, v2, Lcom/android/server/am/ActivityManagerService;->mMainStack:Lcom/android/server/am/ActivityStack;
17769 iget-object v4, v2, Lcom/android/server/am/ActivityManagerService;->mBatteryStatsService:Lcom/android/server/am/BatteryStatsService;
17771 invoke-virtual {v4, v1}, Lcom/android/server/am/BatteryStatsService;->publish(Landroid/content/Context;)V
17773 iget-object v4, v2, Lcom/android/server/am/ActivityManagerService;->mUsageStatsService:Lcom/android/server/am/UsageStatsService;
17775 invoke-virtual {v4, v1}, Lcom/android/server/am/UsageStatsService;->publish(Landroid/content/Context;)V
17782 iput-boolean v4, v3, Lcom/android/server/am/ActivityManagerService$AThread;->mReady:Z
17784 invoke-virtual {v3}, Ljava/lang/Object;->notifyAll()V
17788 .catchall {:try_start_41 .. :try_end_47} :catchall_4e
17790 invoke-virtual {v2, v5, v5, v5, v5}, Lcom/android/server/am/ActivityManagerService;->startRunning(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
17800 .catchall {:try_start_4c .. :try_end_4d} :catchall_4b
17810 .catchall {:try_start_4f .. :try_end_50} :catchall_4e
17815 .method private makeAppCrashingLocked(Lcom/android/server/am/ProcessRecord;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Z
17820 iput-boolean v2, p1, Lcom/android/server/am/ProcessRecord;->crashing:Z
17834 invoke-direct/range {v0 .. v6}, Lcom/android/server/am/ActivityManagerService;->generateProcessError(Lcom/android/server/am/ProcessRecord;ILjava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Landroid/app/ActivityManager$ProcessErrorStateInfo;
17836 move-result-object v0
17838 iput-object v0, p1, Lcom/android/server/am/ProcessRecord;->crashingReport:Landroid/app/ActivityManager$ProcessErrorStateInfo;
17840 invoke-virtual {p0, p1}, Lcom/android/server/am/ActivityManagerService;->startAppProblemLocked(Lcom/android/server/am/ProcessRecord;)V
17842 invoke-virtual {p1}, Lcom/android/server/am/ProcessRecord;->stopFreezingAllLocked()V
17844 invoke-direct {p0, p1}, Lcom/android/server/am/ActivityManagerService;->handleAppCrashLocked(Lcom/android/server/am/ProcessRecord;)Z
17851 .method private makeAppNotRespondingLocked(Lcom/android/server/am/ProcessRecord;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
17856 iput-boolean v0, p1, Lcom/android/server/am/ProcessRecord;->notResponding:Z
17872 invoke-direct/range {v0 .. v6}, Lcom/android/server/am/ActivityManagerService;->generateProcessError(Lcom/android/server/am/ProcessRecord;ILjava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Landroid/app/ActivityManager$ProcessErrorStateInfo;
17874 move-result-object v0
17876 iput-object v0, p1, Lcom/android/server/am/ProcessRecord;->notRespondingReport:Landroid/app/ActivityManager$ProcessErrorStateInfo;
17878 invoke-virtual {p0, p1}, Lcom/android/server/am/ActivityManagerService;->startAppProblemLocked(Lcom/android/server/am/ProcessRecord;)V
17880 invoke-virtual {p1}, Lcom/android/server/am/ProcessRecord;->stopFreezingAllLocked()V
17885 .method private final moveTaskBackwardsLocked(I)V
17888 const-string v0, "ActivityManager"
17890 const-string v1, "moveTaskBackwards not yet implemented!"
17892 invoke-static {v0, v1}, Landroid/util/Slog;->e(Ljava/lang/String;Ljava/lang/String;)I
17897 .method static oomAdjToImportance(ILandroid/app/ActivityManager$RunningAppProcessInfo;)I
17904 sget v2, Lcom/android/server/am/ProcessList;->HIDDEN_APP_MIN_ADJ:I
17906 if-lt p0, v2, :cond_13
17908 if-eqz p1, :cond_12
17910 sget v1, Lcom/android/server/am/ProcessList;->HIDDEN_APP_MIN_ADJ:I
17914 add-int/lit8 v1, v1, 0x1
17916 iput v1, p1, Landroid/app/ActivityManager$RunningAppProcessInfo;->lru:I
17925 if-lt p0, v2, :cond_19
17934 if-lt p0, v2, :cond_22
17936 if-eqz p1, :cond_12
17940 iput v1, p1, Landroid/app/ActivityManager$RunningAppProcessInfo;->lru:I
17947 if-lt p0, v0, :cond_27
17956 if-lt p0, v0, :cond_2d
17965 if-lt p0, v0, :cond_33
17974 if-lt p0, v0, :cond_39
17986 .method private static processClass(Lcom/android/server/am/ProcessRecord;)Ljava/lang/String;
17991 iget v0, p0, Lcom/android/server/am/ProcessRecord;->pid:I
17993 sget v1, Lcom/android/server/am/ActivityManagerService;->MY_PID:I
17995 if-ne v0, v1, :cond_b
17998 const-string v0, "system_server"
18004 iget-object v0, p0, Lcom/android/server/am/ProcessRecord;->info:Landroid/content/pm/ApplicationInfo;
18006 iget v0, v0, Landroid/content/pm/ApplicationInfo;->flags:I
18008 and-int/lit8 v0, v0, 0x1
18010 if-eqz v0, :cond_16
18012 const-string v0, "system_app"
18017 const-string v0, "data_app"
18022 .method private final processStartTimedOutLocked(Lcom/android/server/am/ProcessRecord;)V
18035 iget v3, p1, Lcom/android/server/am/ProcessRecord;->pid:I
18039 iget-object v5, p0, Lcom/android/server/am/ActivityManagerService;->mPidsSelfLocked:Landroid/util/SparseArray;
18044 iget-object v4, p0, Lcom/android/server/am/ActivityManagerService;->mPidsSelfLocked:Landroid/util/SparseArray;
18046 invoke-virtual {v4, v3}, Landroid/util/SparseArray;->get(I)Ljava/lang/Object;
18048 move-result-object v2
18050 check-cast v2, Lcom/android/server/am/ProcessRecord;
18052 if-eqz v2, :cond_1f
18054 iget-object v4, v2, Lcom/android/server/am/ProcessRecord;->thread:Landroid/app/IApplicationThread;
18056 if-nez v4, :cond_1f
18058 iget-object v4, p0, Lcom/android/server/am/ActivityManagerService;->mPidsSelfLocked:Landroid/util/SparseArray;
18060 invoke-virtual {v4, v3}, Landroid/util/SparseArray;->remove(I)V
18067 .catchall {:try_start_b .. :try_end_20} :catchall_ef
18069 if-eqz v1, :cond_f2
18071 const-string v4, "ActivityManager"
18073 new-instance v5, Ljava/lang/StringBuilder;
18075 invoke-direct {v5}, Ljava/lang/StringBuilder;-><init>()V
18077 const-string v6, "Process "
18079 invoke-virtual {v5, v6}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
18081 move-result-object v5
18083 invoke-virtual {v5, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
18085 move-result-object v5
18087 const-string v6, " failed to attach"
18089 invoke-virtual {v5, v6}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
18091 move-result-object v5
18093 invoke-virtual {v5}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
18095 move-result-object v5
18097 invoke-static {v4, v5}, Landroid/util/Slog;->w(Ljava/lang/String;Ljava/lang/String;)I
18099 const/16 v4, 0x7555
18101 new-array v5, v12, [Ljava/lang/Object;
18103 iget v6, p1, Lcom/android/server/am/ProcessRecord;->userId:I
18105 invoke-static {v6}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
18107 move-result-object v6
18109 aput-object v6, v5, v8
18111 invoke-static {v3}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
18113 move-result-object v6
18115 aput-object v6, v5, v9
18117 iget v6, p1, Lcom/android/server/am/ProcessRecord;->uid:I
18119 invoke-static {v6}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
18121 move-result-object v6
18123 aput-object v6, v5, v10
18125 iget-object v6, p1, Lcom/android/server/am/ProcessRecord;->processName:Ljava/lang/String;
18127 aput-object v6, v5, v11
18129 invoke-static {v4, v5}, Landroid/util/EventLog;->writeEvent(I[Ljava/lang/Object;)I
18131 iget-object v4, p0, Lcom/android/server/am/ActivityManagerService;->mProcessNames:Lcom/android/server/ProcessMap;
18133 iget-object v5, p1, Lcom/android/server/am/ProcessRecord;->processName:Ljava/lang/String;
18135 iget v6, p1, Lcom/android/server/am/ProcessRecord;->uid:I
18137 invoke-virtual {v4, v5, v6}, Lcom/android/server/ProcessMap;->remove(Ljava/lang/String;I)V
18139 iget-object v4, p0, Lcom/android/server/am/ActivityManagerService;->mIsolatedProcesses:Landroid/util/SparseArray;
18141 iget v5, p1, Lcom/android/server/am/ProcessRecord;->uid:I
18143 invoke-virtual {v4, v5}, Landroid/util/SparseArray;->remove(I)V
18145 iget-object v4, p0, Lcom/android/server/am/ActivityManagerService;->mHeavyWeightProcess:Lcom/android/server/am/ProcessRecord;
18147 if-ne v4, p1, :cond_89
18149 iget-object v4, p0, Lcom/android/server/am/ActivityManagerService;->mHandler:Landroid/os/Handler;
18151 iget-object v5, p0, Lcom/android/server/am/ActivityManagerService;->mHandler:Landroid/os/Handler;
18155 iget-object v7, p0, Lcom/android/server/am/ActivityManagerService;->mHeavyWeightProcess:Lcom/android/server/am/ProcessRecord;
18157 iget v7, v7, Lcom/android/server/am/ProcessRecord;->userId:I
18159 invoke-virtual {v5, v6, v7, v8}, Landroid/os/Handler;->obtainMessage(III)Landroid/os/Message;
18161 move-result-object v5
18163 invoke-virtual {v4, v5}, Landroid/os/Handler;->sendMessage(Landroid/os/Message;)Z
18167 iput-object v4, p0, Lcom/android/server/am/ActivityManagerService;->mHeavyWeightProcess:Lcom/android/server/am/ProcessRecord;
18170 invoke-virtual {p0, p1, v9}, Lcom/android/server/am/ActivityManagerService;->checkAppInLaunchingProvidersLocked(Lcom/android/server/am/ProcessRecord;Z)Z
18172 iget-object v4, p0, Lcom/android/server/am/ActivityManagerService;->mServices:Lcom/android/server/am/ActiveServices;
18174 invoke-virtual {v4, p1}, Lcom/android/server/am/ActiveServices;->processStartTimedOutLocked(Lcom/android/server/am/ProcessRecord;)V
18176 const/16 v4, 0x7547
18180 new-array v5, v5, [Ljava/lang/Object;
18182 iget v6, p1, Lcom/android/server/am/ProcessRecord;->userId:I
18184 invoke-static {v6}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
18186 move-result-object v6
18188 aput-object v6, v5, v8
18190 invoke-static {v3}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
18192 move-result-object v6
18194 aput-object v6, v5, v9
18196 iget-object v6, p1, Lcom/android/server/am/ProcessRecord;->processName:Ljava/lang/String;
18198 aput-object v6, v5, v10
18200 iget v6, p1, Lcom/android/server/am/ProcessRecord;->setAdj:I
18202 invoke-static {v6}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
18204 move-result-object v6
18206 aput-object v6, v5, v11
18208 const-string v6, "start timeout"
18210 aput-object v6, v5, v12
18212 invoke-static {v4, v5}, Landroid/util/EventLog;->writeEvent(I[Ljava/lang/Object;)I
18214 invoke-static {v3}, Landroid/os/Process;->killProcessQuiet(I)V
18216 iget-object v4, p0, Lcom/android/server/am/ActivityManagerService;->mBackupTarget:Lcom/android/server/am/BackupRecord;
18218 if-eqz v4, :cond_de
18220 iget-object v4, p0, Lcom/android/server/am/ActivityManagerService;->mBackupTarget:Lcom/android/server/am/BackupRecord;
18222 iget-object v4, v4, Lcom/android/server/am/BackupRecord;->app:Lcom/android/server/am/ProcessRecord;
18224 iget v4, v4, Lcom/android/server/am/ProcessRecord;->pid:I
18226 if-ne v4, v3, :cond_de
18228 const-string v4, "ActivityManager"
18230 const-string v5, "Unattached app died before backup, skipping"
18232 invoke-static {v4, v5}, Landroid/util/Slog;->w(Ljava/lang/String;Ljava/lang/String;)I
18235 const-string v4, "backup"
18237 invoke-static {v4}, Landroid/os/ServiceManager;->getService(Ljava/lang/String;)Landroid/os/IBinder;
18239 move-result-object v4
18241 invoke-static {v4}, Landroid/app/backup/IBackupManager$Stub;->asInterface(Landroid/os/IBinder;)Landroid/app/backup/IBackupManager;
18243 move-result-object v0
18245 iget-object v4, p1, Lcom/android/server/am/ProcessRecord;->info:Landroid/content/pm/ApplicationInfo;
18247 iget-object v4, v4, Landroid/content/pm/ApplicationInfo;->packageName:Ljava/lang/String;
18249 invoke-interface {v0, v4}, Landroid/app/backup/IBackupManager;->agentDisconnected(Ljava/lang/String;)V
18251 .catch Landroid/os/RemoteException; {:try_start_cd .. :try_end_de} :catch_10b
18255 invoke-virtual {p0, v3}, Lcom/android/server/am/ActivityManagerService;->isPendingBroadcastProcessLocked(I)Z
18259 if-eqz v4, :cond_ee
18261 const-string v4, "ActivityManager"
18263 const-string v5, "Unattached app died before broadcast acknowledged, skipping"
18265 invoke-static {v4, v5}, Landroid/util/Slog;->w(Ljava/lang/String;Ljava/lang/String;)I
18267 invoke-virtual {p0, v3}, Lcom/android/server/am/ActivityManagerService;->skipPendingBroadcastLocked(I)V
18279 .catchall {:try_start_f0 .. :try_end_f1} :catchall_ef
18284 const-string v4, "ActivityManager"
18286 new-instance v5, Ljava/lang/StringBuilder;
18288 invoke-direct {v5}, Ljava/lang/StringBuilder;-><init>()V
18290 const-string v6, "Spurious process start timeout - pid not known for "
18292 invoke-virtual {v5, v6}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
18294 move-result-object v5
18296 invoke-virtual {v5, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
18298 move-result-object v5
18300 invoke-virtual {v5}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
18302 move-result-object v5
18304 invoke-static {v4, v5}, Landroid/util/Slog;->w(Ljava/lang/String;Ljava/lang/String;)I
18314 .method private static readLastDonePreBootReceivers()Ljava/util/ArrayList;
18316 .annotation system Ldalvik/annotation/Signature;
18319 "Ljava/util/ArrayList",
18321 "Landroid/content/ComponentName;",
18326 new-instance v9, Ljava/util/ArrayList;
18328 invoke-direct {v9}, Ljava/util/ArrayList;-><init>()V
18330 invoke-static {}, Lcom/android/server/am/ActivityManagerService;->getCalledPreBootReceiversFile()Ljava/io/File;
18332 move-result-object v5
18337 new-instance v7, Ljava/io/FileInputStream;
18339 invoke-direct {v7, v5}, Ljava/io/FileInputStream;-><init>(Ljava/io/File;)V
18341 .catchall {:try_start_a .. :try_end_f} :catchall_7f
18342 .catch Ljava/io/FileNotFoundException; {:try_start_a .. :try_end_f} :catch_90
18343 .catch Ljava/io/IOException; {:try_start_a .. :try_end_f} :catch_6f
18346 new-instance v3, Ljava/io/DataInputStream;
18348 new-instance v13, Ljava/io/BufferedInputStream;
18350 const/16 v14, 0x800
18352 invoke-direct {v13, v7, v14}, Ljava/io/BufferedInputStream;-><init>(Ljava/io/InputStream;I)V
18354 invoke-direct {v3, v13}, Ljava/io/DataInputStream;-><init>(Ljava/io/InputStream;)V
18356 invoke-virtual {v3}, Ljava/io/DataInputStream;->readInt()I
18360 const/16 v13, 0x2710
18362 if-ne v8, v13, :cond_68
18364 invoke-virtual {v3}, Ljava/io/DataInputStream;->readUTF()Ljava/lang/String;
18366 move-result-object v12
18368 invoke-virtual {v3}, Ljava/io/DataInputStream;->readUTF()Ljava/lang/String;
18370 move-result-object v2
18372 invoke-virtual {v3}, Ljava/io/DataInputStream;->readUTF()Ljava/lang/String;
18374 move-result-object v0
18376 sget-object v13, Landroid/os/Build$VERSION;->RELEASE:Ljava/lang/String;
18378 invoke-virtual {v13, v12}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
18382 if-eqz v13, :cond_68
18384 sget-object v13, Landroid/os/Build$VERSION;->CODENAME:Ljava/lang/String;
18386 invoke-virtual {v13, v2}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
18390 if-eqz v13, :cond_68
18392 sget-object v13, Landroid/os/Build$VERSION;->INCREMENTAL:Ljava/lang/String;
18394 invoke-virtual {v13, v0}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
18398 if-eqz v13, :cond_68
18400 invoke-virtual {v3}, Ljava/io/DataInputStream;->readInt()I
18405 if-lez v10, :cond_68
18407 add-int/lit8 v10, v10, -0x1
18409 invoke-virtual {v3}, Ljava/io/DataInputStream;->readUTF()Ljava/lang/String;
18411 move-result-object v11
18413 invoke-virtual {v3}, Ljava/io/DataInputStream;->readUTF()Ljava/lang/String;
18415 move-result-object v1
18417 new-instance v13, Landroid/content/ComponentName;
18419 invoke-direct {v13, v11, v1}, Landroid/content/ComponentName;-><init>(Ljava/lang/String;Ljava/lang/String;)V
18421 invoke-virtual {v9, v13}, Ljava/util/ArrayList;->add(Ljava/lang/Object;)Z
18423 .catchall {:try_start_f .. :try_end_5f} :catchall_8a
18424 .catch Ljava/io/FileNotFoundException; {:try_start_f .. :try_end_5f} :catch_60
18425 .catch Ljava/io/IOException; {:try_start_f .. :try_end_5f} :catch_8d
18435 if-eqz v6, :cond_67
18438 invoke-virtual {v6}, Ljava/io/FileInputStream;->close()V
18440 .catch Ljava/io/IOException; {:try_start_64 .. :try_end_67} :catch_7d
18447 if-eqz v7, :cond_6d
18450 invoke-virtual {v7}, Ljava/io/FileInputStream;->close()V
18452 .catch Ljava/io/IOException; {:try_start_6a .. :try_end_6d} :catch_88
18465 const-string v13, "ActivityManager"
18467 const-string v14, "Failure reading last done pre-boot receivers"
18469 invoke-static {v13, v14, v4}, Landroid/util/Slog;->w(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I
18471 .catchall {:try_start_70 .. :try_end_77} :catchall_7f
18473 if-eqz v6, :cond_67
18476 invoke-virtual {v6}, Ljava/io/FileInputStream;->close()V
18478 .catch Ljava/io/IOException; {:try_start_79 .. :try_end_7c} :catch_7d
18491 if-eqz v6, :cond_85
18494 invoke-virtual {v6}, Ljava/io/FileInputStream;->close()V
18496 .catch Ljava/io/IOException; {:try_start_82 .. :try_end_85} :catch_86
18532 .method private removeContentProviderExternalUnchecked(Ljava/lang/String;Landroid/os/IBinder;I)V
18538 iget-object v3, p0, Lcom/android/server/am/ActivityManagerService;->mProviderMap:Lcom/android/server/am/ProviderMap;
18540 invoke-virtual {v3, p1, p3}, Lcom/android/server/am/ProviderMap;->getProviderByName(Ljava/lang/String;I)Lcom/android/server/am/ContentProviderRecord;
18542 move-result-object v1
18552 new-instance v0, Landroid/content/ComponentName;
18554 iget-object v3, v1, Lcom/android/server/am/ContentProviderRecord;->info:Landroid/content/pm/ProviderInfo;
18556 iget-object v3, v3, Landroid/content/pm/ProviderInfo;->packageName:Ljava/lang/String;
18558 iget-object v4, v1, Lcom/android/server/am/ContentProviderRecord;->info:Landroid/content/pm/ProviderInfo;
18560 iget-object v4, v4, Landroid/content/pm/ProviderInfo;->name:Ljava/lang/String;
18562 invoke-direct {v0, v3, v4}, Landroid/content/ComponentName;-><init>(Ljava/lang/String;Ljava/lang/String;)V
18564 iget-object v3, p0, Lcom/android/server/am/ActivityManagerService;->mProviderMap:Lcom/android/server/am/ProviderMap;
18566 invoke-virtual {v3, v0, p3}, Lcom/android/server/am/ProviderMap;->getProviderByClass(Landroid/content/ComponentName;I)Lcom/android/server/am/ContentProviderRecord;
18568 move-result-object v2
18570 invoke-virtual {v2}, Lcom/android/server/am/ContentProviderRecord;->hasExternalProcessHandles()Z
18574 if-eqz v3, :cond_5b
18576 invoke-virtual {v2, p2}, Lcom/android/server/am/ContentProviderRecord;->removeExternalProcessHandleLocked(Landroid/os/IBinder;)Z
18580 if-eqz v3, :cond_32
18582 invoke-virtual {p0}, Lcom/android/server/am/ActivityManagerService;->updateOomAdjLocked()V
18594 .catchall {:try_start_1 .. :try_end_31} :catchall_2f
18600 const-string v3, "ActivityManager"
18602 new-instance v4, Ljava/lang/StringBuilder;
18604 invoke-direct {v4}, Ljava/lang/StringBuilder;-><init>()V
18606 const-string v5, "Attmpt to remove content provider "
18608 invoke-virtual {v4, v5}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
18610 move-result-object v4
18612 invoke-virtual {v4, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
18614 move-result-object v4
18616 const-string v5, " with no external reference for token: "
18618 invoke-virtual {v4, v5}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
18620 move-result-object v4
18622 invoke-virtual {v4, p2}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
18624 move-result-object v4
18626 const-string v5, "."
18628 invoke-virtual {v4, v5}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
18630 move-result-object v4
18632 invoke-virtual {v4}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
18634 move-result-object v4
18636 invoke-static {v3, v4}, Landroid/util/Slog;->e(Ljava/lang/String;Ljava/lang/String;)I
18641 const-string v3, "ActivityManager"
18643 new-instance v4, Ljava/lang/StringBuilder;
18645 invoke-direct {v4}, Ljava/lang/StringBuilder;-><init>()V
18647 const-string v5, "Attmpt to remove content provider: "
18649 invoke-virtual {v4, v5}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
18651 move-result-object v4
18653 invoke-virtual {v4, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
18655 move-result-object v4
18657 const-string v5, " with no external references."
18659 invoke-virtual {v4, v5}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
18661 move-result-object v4
18663 invoke-virtual {v4}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
18665 move-result-object v4
18667 invoke-static {v3, v4}, Landroid/util/Slog;->e(Ljava/lang/String;Ljava/lang/String;)I
18669 .catchall {:try_start_32 .. :try_end_79} :catchall_2f
18674 .method private final removeDyingProviderLocked(Lcom/android/server/am/ProcessRecord;Lcom/android/server/am/ContentProviderRecord;Z)Z
18679 iget-object v6, p0, Lcom/android/server/am/ActivityManagerService;->mLaunchingProviders:Ljava/util/ArrayList;
18681 invoke-virtual {v6, p2}, Ljava/util/ArrayList;->contains(Ljava/lang/Object;)Z
18687 if-eqz p3, :cond_41
18695 iput-object v6, p2, Lcom/android/server/am/ContentProviderRecord;->launchingApp:Lcom/android/server/am/ProcessRecord;
18697 invoke-virtual {p2}, Ljava/lang/Object;->notifyAll()V
18701 .catchall {:try_start_d .. :try_end_13} :catchall_3e
18703 iget-object v6, p0, Lcom/android/server/am/ActivityManagerService;->mProviderMap:Lcom/android/server/am/ProviderMap;
18705 iget-object v7, p2, Lcom/android/server/am/ContentProviderRecord;->name:Landroid/content/ComponentName;
18707 iget v8, p2, Lcom/android/server/am/ContentProviderRecord;->uid:I
18709 invoke-static {v8}, Landroid/os/UserHandle;->getUserId(I)I
18713 invoke-virtual {v6, v7, v8}, Lcom/android/server/am/ProviderMap;->removeProviderByClass(Landroid/content/ComponentName;I)V
18715 iget-object v6, p2, Lcom/android/server/am/ContentProviderRecord;->info:Landroid/content/pm/ProviderInfo;
18717 iget-object v6, v6, Landroid/content/pm/ProviderInfo;->authority:Ljava/lang/String;
18719 const-string v7, ";"
18721 invoke-virtual {v6, v7}, Ljava/lang/String;->split(Ljava/lang/String;)[Ljava/lang/String;
18723 move-result-object v5
18728 array-length v6, v5
18730 if-ge v4, v6, :cond_41
18732 iget-object v6, p0, Lcom/android/server/am/ActivityManagerService;->mProviderMap:Lcom/android/server/am/ProviderMap;
18734 aget-object v7, v5, v4
18736 iget v8, p2, Lcom/android/server/am/ContentProviderRecord;->uid:I
18738 invoke-static {v8}, Landroid/os/UserHandle;->getUserId(I)I
18742 invoke-virtual {v6, v7, v8}, Lcom/android/server/am/ProviderMap;->removeProviderByName(Ljava/lang/String;I)V
18744 add-int/lit8 v4, v4, 0x1
18754 .catchall {:try_start_3f .. :try_end_40} :catchall_3e
18762 iget-object v6, p2, Lcom/android/server/am/ContentProviderRecord;->connections:Ljava/util/ArrayList;
18764 invoke-virtual {v6}, Ljava/util/ArrayList;->size()I
18768 if-ge v2, v6, :cond_12b
18770 iget-object v6, p2, Lcom/android/server/am/ContentProviderRecord;->connections:Ljava/util/ArrayList;
18772 invoke-virtual {v6, v2}, Ljava/util/ArrayList;->get(I)Ljava/lang/Object;
18774 move-result-object v1
18776 check-cast v1, Lcom/android/server/am/ContentProviderConnection;
18778 iget-boolean v6, v1, Lcom/android/server/am/ContentProviderConnection;->waiting:Z
18780 if-eqz v6, :cond_5d
18782 if-eqz v3, :cond_5d
18784 if-nez p3, :cond_5d
18788 add-int/lit8 v2, v2, 0x1
18793 iget-object v0, v1, Lcom/android/server/am/ContentProviderConnection;->client:Lcom/android/server/am/ProcessRecord;
18795 iput-boolean v11, v1, Lcom/android/server/am/ContentProviderConnection;->dead:Z
18797 iget v6, v1, Lcom/android/server/am/ContentProviderConnection;->stableCount:I
18799 if-lez v6, :cond_106
18801 iget-boolean v6, v0, Lcom/android/server/am/ProcessRecord;->persistent:Z
18803 if-nez v6, :cond_5a
18805 iget-object v6, v0, Lcom/android/server/am/ProcessRecord;->thread:Landroid/app/IApplicationThread;
18807 if-eqz v6, :cond_5a
18809 iget v6, v0, Lcom/android/server/am/ProcessRecord;->pid:I
18811 if-eqz v6, :cond_5a
18813 iget v6, v0, Lcom/android/server/am/ProcessRecord;->pid:I
18815 sget v7, Lcom/android/server/am/ActivityManagerService;->MY_PID:I
18817 if-eq v6, v7, :cond_5a
18819 const-string v7, "ActivityManager"
18821 new-instance v6, Ljava/lang/StringBuilder;
18823 invoke-direct {v6}, Ljava/lang/StringBuilder;-><init>()V
18825 const-string v8, "Kill "
18827 invoke-virtual {v6, v8}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
18829 move-result-object v6
18831 iget-object v8, v0, Lcom/android/server/am/ProcessRecord;->processName:Ljava/lang/String;
18833 invoke-virtual {v6, v8}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
18835 move-result-object v6
18837 const-string v8, " (pid "
18839 invoke-virtual {v6, v8}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
18841 move-result-object v6
18843 iget v8, v0, Lcom/android/server/am/ProcessRecord;->pid:I
18845 invoke-virtual {v6, v8}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
18847 move-result-object v6
18849 const-string v8, "): provider "
18851 invoke-virtual {v6, v8}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
18853 move-result-object v6
18855 iget-object v8, p2, Lcom/android/server/am/ContentProviderRecord;->info:Landroid/content/pm/ProviderInfo;
18857 iget-object v8, v8, Landroid/content/pm/ProviderInfo;->name:Ljava/lang/String;
18859 invoke-virtual {v6, v8}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
18861 move-result-object v6
18863 const-string v8, " in dying process "
18865 invoke-virtual {v6, v8}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
18867 move-result-object v8
18869 if-eqz p1, :cond_103
18871 iget-object v6, p1, Lcom/android/server/am/ProcessRecord;->processName:Ljava/lang/String;
18874 invoke-virtual {v8, v6}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
18876 move-result-object v6
18878 invoke-virtual {v6}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
18880 move-result-object v6
18882 invoke-static {v7, v6}, Landroid/util/Slog;->i(Ljava/lang/String;Ljava/lang/String;)I
18884 const/16 v6, 0x7547
18888 new-array v7, v7, [Ljava/lang/Object;
18892 iget v9, v0, Lcom/android/server/am/ProcessRecord;->userId:I
18894 invoke-static {v9}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
18896 move-result-object v9
18898 aput-object v9, v7, v8
18900 iget v8, v0, Lcom/android/server/am/ProcessRecord;->pid:I
18902 invoke-static {v8}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
18904 move-result-object v8
18906 aput-object v8, v7, v11
18910 iget-object v9, v0, Lcom/android/server/am/ProcessRecord;->processName:Ljava/lang/String;
18912 aput-object v9, v7, v8
18916 iget v9, v0, Lcom/android/server/am/ProcessRecord;->setAdj:I
18918 invoke-static {v9}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
18920 move-result-object v9
18922 aput-object v9, v7, v8
18926 new-instance v9, Ljava/lang/StringBuilder;
18928 invoke-direct {v9}, Ljava/lang/StringBuilder;-><init>()V
18930 const-string v10, "dying provider "
18932 invoke-virtual {v9, v10}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
18934 move-result-object v9
18936 iget-object v10, p2, Lcom/android/server/am/ContentProviderRecord;->name:Landroid/content/ComponentName;
18938 invoke-virtual {v10}, Landroid/content/ComponentName;->toShortString()Ljava/lang/String;
18940 move-result-object v10
18942 invoke-virtual {v9, v10}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
18944 move-result-object v9
18946 invoke-virtual {v9}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
18948 move-result-object v9
18950 aput-object v9, v7, v8
18952 invoke-static {v6, v7}, Landroid/util/EventLog;->writeEvent(I[Ljava/lang/Object;)I
18954 iget v6, v0, Lcom/android/server/am/ProcessRecord;->pid:I
18956 invoke-static {v6}, Landroid/os/Process;->killProcessQuiet(I)V
18961 const-string v6, "??"
18966 iget-object v6, v0, Lcom/android/server/am/ProcessRecord;->thread:Landroid/app/IApplicationThread;
18968 if-eqz v6, :cond_5a
18970 iget-object v6, v1, Lcom/android/server/am/ContentProviderConnection;->provider:Lcom/android/server/am/ContentProviderRecord;
18972 iget-object v6, v6, Lcom/android/server/am/ContentProviderRecord;->provider:Landroid/content/IContentProvider;
18974 if-eqz v6, :cond_5a
18977 iget-object v6, v0, Lcom/android/server/am/ProcessRecord;->thread:Landroid/app/IApplicationThread;
18979 iget-object v7, v1, Lcom/android/server/am/ContentProviderConnection;->provider:Lcom/android/server/am/ContentProviderRecord;
18981 iget-object v7, v7, Lcom/android/server/am/ContentProviderRecord;->provider:Landroid/content/IContentProvider;
18983 invoke-interface {v7}, Landroid/content/IContentProvider;->asBinder()Landroid/os/IBinder;
18985 move-result-object v7
18987 invoke-interface {v6, v7}, Landroid/app/IApplicationThread;->unstableProviderDied(Landroid/os/IBinder;)V
18989 .catch Landroid/os/RemoteException; {:try_start_110 .. :try_end_11d} :catch_135
18992 iget-object v6, p2, Lcom/android/server/am/ContentProviderRecord;->connections:Ljava/util/ArrayList;
18994 invoke-virtual {v6, v2}, Ljava/util/ArrayList;->remove(I)Ljava/lang/Object;
18996 iget-object v6, v1, Lcom/android/server/am/ContentProviderConnection;->client:Lcom/android/server/am/ProcessRecord;
18998 iget-object v6, v6, Lcom/android/server/am/ProcessRecord;->conProviders:Ljava/util/ArrayList;
19000 invoke-virtual {v6, v1}, Ljava/util/ArrayList;->remove(Ljava/lang/Object;)Z
19005 if-eqz v3, :cond_134
19007 if-eqz p3, :cond_134
19009 iget-object v6, p0, Lcom/android/server/am/ActivityManagerService;->mLaunchingProviders:Ljava/util/ArrayList;
19011 invoke-virtual {v6, p2}, Ljava/util/ArrayList;->remove(Ljava/lang/Object;)Z
19022 .method private final removeProcessLocked(Lcom/android/server/am/ProcessRecord;ZZLjava/lang/String;)Z
19027 iget-object v0, p1, Lcom/android/server/am/ProcessRecord;->processName:Ljava/lang/String;
19029 iget v3, p1, Lcom/android/server/am/ProcessRecord;->uid:I
19031 iget-object v4, p0, Lcom/android/server/am/ActivityManagerService;->mProcessNames:Lcom/android/server/ProcessMap;
19033 invoke-virtual {v4, v0, v3}, Lcom/android/server/ProcessMap;->remove(Ljava/lang/String;I)V
19035 iget-object v4, p0, Lcom/android/server/am/ActivityManagerService;->mIsolatedProcesses:Landroid/util/SparseArray;
19037 iget v5, p1, Lcom/android/server/am/ProcessRecord;->uid:I
19039 invoke-virtual {v4, v5}, Landroid/util/SparseArray;->remove(I)V
19041 iget-object v4, p0, Lcom/android/server/am/ActivityManagerService;->mHeavyWeightProcess:Lcom/android/server/am/ProcessRecord;
19043 if-ne v4, p1, :cond_29
19045 iget-object v4, p0, Lcom/android/server/am/ActivityManagerService;->mHandler:Landroid/os/Handler;
19047 iget-object v5, p0, Lcom/android/server/am/ActivityManagerService;->mHandler:Landroid/os/Handler;
19051 iget-object v7, p0, Lcom/android/server/am/ActivityManagerService;->mHeavyWeightProcess:Lcom/android/server/am/ProcessRecord;
19053 iget v7, v7, Lcom/android/server/am/ProcessRecord;->userId:I
19055 invoke-virtual {v5, v6, v7, v8}, Landroid/os/Handler;->obtainMessage(III)Landroid/os/Message;
19057 move-result-object v5
19059 invoke-virtual {v4, v5}, Landroid/os/Handler;->sendMessage(Landroid/os/Message;)Z
19063 iput-object v4, p0, Lcom/android/server/am/ActivityManagerService;->mHeavyWeightProcess:Lcom/android/server/am/ProcessRecord;
19068 iget v4, p1, Lcom/android/server/am/ProcessRecord;->pid:I
19070 if-lez v4, :cond_8d
19072 iget v4, p1, Lcom/android/server/am/ProcessRecord;->pid:I
19074 sget v5, Lcom/android/server/am/ActivityManagerService;->MY_PID:I
19076 if-eq v4, v5, :cond_8d
19078 iget v2, p1, Lcom/android/server/am/ProcessRecord;->pid:I
19080 iget-object v5, p0, Lcom/android/server/am/ActivityManagerService;->mPidsSelfLocked:Landroid/util/SparseArray;
19085 iget-object v4, p0, Lcom/android/server/am/ActivityManagerService;->mPidsSelfLocked:Landroid/util/SparseArray;
19087 invoke-virtual {v4, v2}, Landroid/util/SparseArray;->remove(I)V
19089 iget-object v4, p0, Lcom/android/server/am/ActivityManagerService;->mHandler:Landroid/os/Handler;
19093 invoke-virtual {v4, v6, p1}, Landroid/os/Handler;->removeMessages(ILjava/lang/Object;)V
19097 .catchall {:try_start_39 .. :try_end_46} :catchall_88
19099 const-string v4, "ActivityManager"
19101 new-instance v5, Ljava/lang/StringBuilder;
19103 invoke-direct {v5}, Ljava/lang/StringBuilder;-><init>()V
19105 const-string v6, "Killing proc "
19107 invoke-virtual {v5, v6}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
19109 move-result-object v5
19111 invoke-virtual {p1}, Lcom/android/server/am/ProcessRecord;->toShortString()Ljava/lang/String;
19113 move-result-object v6
19115 invoke-virtual {v5, v6}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
19117 move-result-object v5
19119 const-string v6, ": "
19121 invoke-virtual {v5, v6}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
19123 move-result-object v5
19125 invoke-virtual {v5, p4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
19127 move-result-object v5
19129 invoke-virtual {v5}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
19131 move-result-object v5
19133 invoke-static {v4, v5}, Landroid/util/Slog;->i(Ljava/lang/String;Ljava/lang/String;)I
19137 invoke-direct {p0, p1, v4, p3}, Lcom/android/server/am/ActivityManagerService;->handleAppDiedLocked(Lcom/android/server/am/ProcessRecord;ZZ)V
19139 iget-object v4, p0, Lcom/android/server/am/ActivityManagerService;->mLruProcesses:Ljava/util/ArrayList;
19141 invoke-virtual {v4, p1}, Ljava/util/ArrayList;->remove(Ljava/lang/Object;)Z
19143 invoke-static {v2}, Landroid/os/Process;->killProcessQuiet(I)V
19145 iget-boolean v4, p1, Lcom/android/server/am/ProcessRecord;->persistent:Z
19147 if-eqz v4, :cond_87
19149 iget-boolean v4, p1, Lcom/android/server/am/ProcessRecord;->isolated:Z
19151 if-nez v4, :cond_87
19153 if-nez p2, :cond_8b
19155 iget-object v4, p1, Lcom/android/server/am/ProcessRecord;->info:Landroid/content/pm/ApplicationInfo;
19157 invoke-virtual {p0, v4, v8}, Lcom/android/server/am/ActivityManagerService;->addAppLocked(Landroid/content/pm/ApplicationInfo;Z)Lcom/android/server/am/ProcessRecord;
19169 .catchall {:try_start_89 .. :try_end_8a} :catchall_88
19179 iget-object v4, p0, Lcom/android/server/am/ActivityManagerService;->mRemovedProcesses:Ljava/util/ArrayList;
19181 invoke-virtual {v4, p1}, Ljava/util/ArrayList;->add(Ljava/lang/Object;)Z
19186 .method private reportStartInstrumentationFailure(Landroid/app/IInstrumentationWatcher;Landroid/content/ComponentName;Ljava/lang/String;)V
19189 const-string v2, "ActivityManager"
19191 invoke-static {v2, p3}, Landroid/util/Slog;->w(Ljava/lang/String;Ljava/lang/String;)I
19193 if-eqz p1, :cond_1c
19196 new-instance v1, Landroid/os/Bundle;
19198 invoke-direct {v1}, Landroid/os/Bundle;-><init>()V
19200 const-string v2, "id"
19202 const-string v3, "ActivityManagerService"
19204 invoke-virtual {v1, v2, v3}, Landroid/os/Bundle;->putString(Ljava/lang/String;Ljava/lang/String;)V
19206 const-string v2, "Error"
19208 invoke-virtual {v1, v2, p3}, Landroid/os/Bundle;->putString(Ljava/lang/String;Ljava/lang/String;)V
19212 invoke-interface {p1, p2, v2, v1}, Landroid/app/IInstrumentationWatcher;->instrumentationStatus(Landroid/content/ComponentName;ILandroid/os/Bundle;)V
19214 .catch Landroid/os/RemoteException; {:try_start_7 .. :try_end_1c} :catch_1d
19223 const-string v2, "ActivityManager"
19225 invoke-static {v2, v0}, Landroid/util/Slog;->w(Ljava/lang/String;Ljava/lang/Throwable;)I
19230 .method private resolveActivityInfo(Landroid/content/Intent;II)Landroid/content/pm/ActivityInfo;
19235 invoke-virtual {p1}, Landroid/content/Intent;->getComponent()Landroid/content/ComponentName;
19237 move-result-object v1
19239 if-eqz v1, :cond_10
19242 invoke-static {}, Landroid/app/AppGlobals;->getPackageManager()Landroid/content/pm/IPackageManager;
19244 move-result-object v3
19246 invoke-interface {v3, v1, p2, p3}, Landroid/content/pm/IPackageManager;->getActivityInfo(Landroid/content/ComponentName;II)Landroid/content/pm/ActivityInfo;
19248 move-result-object v0
19255 invoke-static {}, Landroid/app/AppGlobals;->getPackageManager()Landroid/content/pm/IPackageManager;
19257 move-result-object v3
19259 iget-object v4, p0, Lcom/android/server/am/ActivityManagerService;->mContext:Landroid/content/Context;
19261 invoke-virtual {v4}, Landroid/content/Context;->getContentResolver()Landroid/content/ContentResolver;
19263 move-result-object v4
19265 invoke-virtual {p1, v4}, Landroid/content/Intent;->resolveTypeIfNeeded(Landroid/content/ContentResolver;)Ljava/lang/String;
19267 move-result-object v4
19269 invoke-interface {v3, p1, v4, p2, p3}, Landroid/content/pm/IPackageManager;->resolveIntent(Landroid/content/Intent;Ljava/lang/String;II)Landroid/content/pm/ResolveInfo;
19271 move-result-object v2
19275 iget-object v0, v2, Landroid/content/pm/ResolveInfo;->activityInfo:Landroid/content/pm/ActivityInfo;
19277 .catch Landroid/os/RemoteException; {:try_start_7 .. :try_end_26} :catch_27
19287 .method private final resumedAppLocked()Lcom/android/server/am/ActivityRecord;
19290 iget-object v1, p0, Lcom/android/server/am/ActivityManagerService;->mMainStack:Lcom/android/server/am/ActivityStack;
19292 iget-object v0, v1, Lcom/android/server/am/ActivityStack;->mResumedActivity:Lcom/android/server/am/ActivityRecord;
19296 iget-object v1, v0, Lcom/android/server/am/ActivityRecord;->app:Lcom/android/server/am/ProcessRecord;
19298 if-nez v1, :cond_1b
19301 iget-object v1, p0, Lcom/android/server/am/ActivityManagerService;->mMainStack:Lcom/android/server/am/ActivityStack;
19303 iget-object v0, v1, Lcom/android/server/am/ActivityStack;->mPausingActivity:Lcom/android/server/am/ActivityRecord;
19305 if-eqz v0, :cond_14
19307 iget-object v1, v0, Lcom/android/server/am/ActivityRecord;->app:Lcom/android/server/am/ProcessRecord;
19309 if-nez v1, :cond_1b
19312 iget-object v1, p0, Lcom/android/server/am/ActivityManagerService;->mMainStack:Lcom/android/server/am/ActivityStack;
19316 invoke-virtual {v1, v2}, Lcom/android/server/am/ActivityStack;->topRunningActivityLocked(Lcom/android/server/am/ActivityRecord;)Lcom/android/server/am/ActivityRecord;
19318 move-result-object v0
19324 .method private retrieveSettings()V
19331 iget-object v7, p0, Lcom/android/server/am/ActivityManagerService;->mContext:Landroid/content/Context;
19333 invoke-virtual {v7}, Landroid/content/Context;->getContentResolver()Landroid/content/ContentResolver;
19335 move-result-object v3
19337 const-string v7, "debug_app"
19339 invoke-static {v3, v7}, Landroid/provider/Settings$Global;->getString(Landroid/content/ContentResolver;Ljava/lang/String;)Ljava/lang/String;
19341 move-result-object v2
19343 const-string v7, "wait_for_debugger"
19345 invoke-static {v3, v7, v6}, Landroid/provider/Settings$Global;->getInt(Landroid/content/ContentResolver;Ljava/lang/String;I)I
19349 if-eqz v7, :cond_3b
19354 const-string v7, "always_finish_activities"
19356 invoke-static {v3, v7, v6}, Landroid/provider/Settings$Global;->getInt(Landroid/content/ContentResolver;Ljava/lang/String;I)I
19360 if-eqz v7, :cond_3d
19365 new-instance v1, Landroid/content/res/Configuration;
19367 invoke-direct {v1}, Landroid/content/res/Configuration;-><init>()V
19369 invoke-static {v3, v1}, Landroid/provider/Settings$System;->getConfiguration(Landroid/content/ContentResolver;Landroid/content/res/Configuration;)V
19374 iput-object v2, p0, Lcom/android/server/am/ActivityManagerService;->mOrigDebugApp:Ljava/lang/String;
19376 iput-object v2, p0, Lcom/android/server/am/ActivityManagerService;->mDebugApp:Ljava/lang/String;
19378 iput-boolean v4, p0, Lcom/android/server/am/ActivityManagerService;->mOrigWaitForDebugger:Z
19380 iput-boolean v4, p0, Lcom/android/server/am/ActivityManagerService;->mWaitForDebugger:Z
19382 iput-boolean v0, p0, Lcom/android/server/am/ActivityManagerService;->mAlwaysFinishActivities:Z
19390 invoke-virtual {p0, v1, v5, v6, v7}, Lcom/android/server/am/ActivityManagerService;->updateConfigurationLocked(Landroid/content/res/Configuration;Lcom/android/server/am/ActivityRecord;ZZ)Z
19411 .catchall {:try_start_29 .. :try_end_41} :catchall_3f
19416 .method private revokeUriPermissionLocked(ILandroid/net/Uri;I)V
19419 and-int/lit8 p3, p3, 0x3
19428 invoke-static {}, Landroid/app/AppGlobals;->getPackageManager()Landroid/content/pm/IPackageManager;
19430 move-result-object v2
19432 invoke-virtual/range {p2 .. p2}, Landroid/net/Uri;->getAuthority()Ljava/lang/String;
19434 move-result-object v10
19438 invoke-static/range {p1 .. p1}, Landroid/os/UserHandle;->getUserId(I)I
19442 move-object/from16 v0, p0
19444 iget-object v1, v0, Lcom/android/server/am/ActivityManagerService;->mProviderMap:Lcom/android/server/am/ProviderMap;
19446 move/from16 v0, v19
19448 invoke-virtual {v1, v10, v0}, Lcom/android/server/am/ProviderMap;->getProviderByName(Ljava/lang/String;I)Lcom/android/server/am/ContentProviderRecord;
19450 move-result-object v11
19452 if-eqz v11, :cond_3f
19454 iget-object v3, v11, Lcom/android/server/am/ContentProviderRecord;->info:Landroid/content/pm/ProviderInfo;
19457 if-nez v3, :cond_48
19459 const-string v1, "ActivityManager"
19461 new-instance v4, Ljava/lang/StringBuilder;
19463 invoke-direct {v4}, Ljava/lang/StringBuilder;-><init>()V
19465 const-string v5, "No content provider found for permission revoke: "
19467 invoke-virtual {v4, v5}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
19469 move-result-object v4
19471 invoke-virtual/range {p2 .. p2}, Landroid/net/Uri;->toSafeString()Ljava/lang/String;
19473 move-result-object v5
19475 invoke-virtual {v4, v5}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
19477 move-result-object v4
19479 invoke-virtual {v4}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
19481 move-result-object v4
19483 invoke-static {v1, v4}, Landroid/util/Slog;->w(Ljava/lang/String;Ljava/lang/String;)I
19491 move/from16 v0, v19
19493 invoke-interface {v2, v10, v1, v0}, Landroid/content/pm/IPackageManager;->resolveContentProvider(Ljava/lang/String;II)Landroid/content/pm/ProviderInfo;
19495 .catch Landroid/os/RemoteException; {:try_start_41 .. :try_end_46} :catch_10b
19497 move-result-object v3
19502 move-object/from16 v1, p0
19504 move-object/from16 v4, p2
19510 invoke-direct/range {v1 .. v6}, Lcom/android/server/am/ActivityManagerService;->checkHoldingPermissionsLocked(Landroid/content/pm/IPackageManager;Landroid/content/pm/ProviderInfo;Landroid/net/Uri;II)Z
19514 if-nez v1, :cond_7d
19516 new-instance v1, Ljava/lang/SecurityException;
19518 new-instance v4, Ljava/lang/StringBuilder;
19520 invoke-direct {v4}, Ljava/lang/StringBuilder;-><init>()V
19522 const-string v5, "Uid "
19524 invoke-virtual {v4, v5}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
19526 move-result-object v4
19530 invoke-virtual {v4, v0}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
19532 move-result-object v4
19534 const-string v5, " does not have permission to uri "
19536 invoke-virtual {v4, v5}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
19538 move-result-object v4
19540 move-object/from16 v0, p2
19542 invoke-virtual {v4, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
19544 move-result-object v4
19546 invoke-virtual {v4}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
19548 move-result-object v4
19550 invoke-direct {v1, v4}, Ljava/lang/SecurityException;-><init>(Ljava/lang/String;)V
19555 invoke-virtual/range {p2 .. p2}, Landroid/net/Uri;->getPathSegments()Ljava/util/List;
19557 move-result-object v9
19561 invoke-interface {v9}, Ljava/util/List;->size()I
19565 move-object/from16 v0, p0
19567 iget-object v1, v0, Lcom/android/server/am/ActivityManagerService;->mGrantedUriPermissions:Landroid/util/SparseArray;
19569 invoke-virtual {v1}, Landroid/util/SparseArray;->size()I
19576 if-ge v12, v7, :cond_4
19578 move-object/from16 v0, p0
19580 iget-object v1, v0, Lcom/android/server/am/ActivityManagerService;->mGrantedUriPermissions:Landroid/util/SparseArray;
19582 invoke-virtual {v1, v12}, Landroid/util/SparseArray;->valueAt(I)Ljava/lang/Object;
19584 move-result-object v16
19586 check-cast v16, Ljava/util/HashMap;
19588 invoke-virtual/range {v16 .. v16}, Ljava/util/HashMap;->values()Ljava/util/Collection;
19590 move-result-object v1
19592 invoke-interface {v1}, Ljava/util/Collection;->iterator()Ljava/util/Iterator;
19594 move-result-object v13
19598 invoke-interface {v13}, Ljava/util/Iterator;->hasNext()Z
19602 if-eqz v1, :cond_ef
19604 invoke-interface {v13}, Ljava/util/Iterator;->next()Ljava/lang/Object;
19606 move-result-object v15
19608 check-cast v15, Lcom/android/server/am/UriPermission;
19610 iget-object v0, v15, Lcom/android/server/am/UriPermission;->uri:Landroid/net/Uri;
19612 move-object/from16 v18, v0
19614 invoke-virtual/range {v18 .. v18}, Landroid/net/Uri;->getAuthority()Ljava/lang/String;
19616 move-result-object v1
19618 invoke-virtual {v10, v1}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
19622 if-eqz v1, :cond_a4
19624 invoke-virtual/range {v18 .. v18}, Landroid/net/Uri;->getPathSegments()Ljava/util/List;
19626 move-result-object v17
19628 if-eqz v17, :cond_a4
19630 invoke-interface/range {v17 .. v17}, Ljava/util/List;->size()I
19634 if-lt v1, v8, :cond_a4
19639 if-ge v14, v8, :cond_e2
19641 invoke-interface {v9, v14}, Ljava/util/List;->get(I)Ljava/lang/Object;
19643 move-result-object v1
19645 check-cast v1, Ljava/lang/String;
19647 move-object/from16 v0, v17
19649 invoke-interface {v0, v14}, Ljava/util/List;->get(I)Ljava/lang/Object;
19651 move-result-object v4
19653 invoke-virtual {v1, v4}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
19657 if-eqz v1, :cond_a4
19659 add-int/lit8 v14, v14, 0x1
19666 invoke-virtual {v15, v0}, Lcom/android/server/am/UriPermission;->clearModes(I)V
19668 iget v1, v15, Lcom/android/server/am/UriPermission;->modeFlags:I
19670 if-nez v1, :cond_a4
19672 invoke-interface {v13}, Ljava/util/Iterator;->remove()V
19677 invoke-virtual/range {v16 .. v16}, Ljava/util/HashMap;->size()I
19681 if-nez v1, :cond_108
19683 move-object/from16 v0, p0
19685 iget-object v1, v0, Lcom/android/server/am/ActivityManagerService;->mGrantedUriPermissions:Landroid/util/SparseArray;
19687 move-object/from16 v0, p0
19689 iget-object v4, v0, Lcom/android/server/am/ActivityManagerService;->mGrantedUriPermissions:Landroid/util/SparseArray;
19691 invoke-virtual {v4, v12}, Landroid/util/SparseArray;->keyAt(I)I
19695 invoke-virtual {v1, v4}, Landroid/util/SparseArray;->remove(I)V
19697 add-int/lit8 v7, v7, -0x1
19699 add-int/lit8 v12, v12, -0x1
19702 add-int/lit8 v12, v12, 0x1
19712 .method private saveLocaleLocked(Ljava/util/Locale;ZZ)V
19715 if-eqz p2, :cond_14
19717 const-string v0, "user.language"
19719 invoke-virtual {p1}, Ljava/util/Locale;->getLanguage()Ljava/lang/String;
19721 move-result-object v1
19723 invoke-static {v0, v1}, Landroid/os/SystemProperties;->set(Ljava/lang/String;Ljava/lang/String;)V
19725 const-string v0, "user.region"
19727 invoke-virtual {p1}, Ljava/util/Locale;->getCountry()Ljava/lang/String;
19729 move-result-object v1
19731 invoke-static {v0, v1}, Landroid/os/SystemProperties;->set(Ljava/lang/String;Ljava/lang/String;)V
19734 if-eqz p3, :cond_31
19736 const-string v0, "persist.sys.language"
19738 invoke-virtual {p1}, Ljava/util/Locale;->getLanguage()Ljava/lang/String;
19740 move-result-object v1
19742 invoke-static {v0, v1}, Landroid/os/SystemProperties;->set(Ljava/lang/String;Ljava/lang/String;)V
19744 const-string v0, "persist.sys.country"
19746 invoke-virtual {p1}, Ljava/util/Locale;->getCountry()Ljava/lang/String;
19748 move-result-object v1
19750 invoke-static {v0, v1}, Landroid/os/SystemProperties;->set(Ljava/lang/String;Ljava/lang/String;)V
19752 const-string v0, "persist.sys.localevar"
19754 invoke-virtual {p1}, Ljava/util/Locale;->getVariant()Ljava/lang/String;
19756 move-result-object v1
19758 invoke-static {v0, v1}, Landroid/os/SystemProperties;->set(Ljava/lang/String;Ljava/lang/String;)V
19764 .method private saveThemeResourceLocked(Landroid/content/res/CustomTheme;Z)V
19767 if-eqz p2, :cond_14
19769 const-string v0, "persist.sys.themeId"
19771 invoke-virtual {p1}, Landroid/content/res/CustomTheme;->getThemeId()Ljava/lang/String;
19773 move-result-object v1
19775 invoke-static {v0, v1}, Landroid/os/SystemProperties;->set(Ljava/lang/String;Ljava/lang/String;)V
19777 const-string v0, "persist.sys.themePackageName"
19779 invoke-virtual {p1}, Landroid/content/res/CustomTheme;->getThemePackageName()Ljava/lang/String;
19781 move-result-object v1
19783 invoke-static {v0, v1}, Landroid/os/SystemProperties;->set(Ljava/lang/String;Ljava/lang/String;)V
19789 .method private static scanArgs([Ljava/lang/String;Ljava/lang/String;)Z
19792 if-eqz p0, :cond_14
19796 array-length v3, v1
19801 if-ge v2, v3, :cond_14
19803 aget-object v0, v1, v2
19805 invoke-virtual {p1, v0}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
19809 if-eqz v4, :cond_11
19817 add-int/lit8 v2, v2, 0x1
19827 .method public static self()Lcom/android/server/am/ActivityManagerService;
19830 sget-object v0, Lcom/android/server/am/ActivityManagerService;->mSelf:Lcom/android/server/am/ActivityManagerService;
19835 .method private final sendPackageBroadcastLocked(I[Ljava/lang/String;I)V
19838 iget-object v2, p0, Lcom/android/server/am/ActivityManagerService;->mLruProcesses:Ljava/util/ArrayList;
19840 invoke-virtual {v2}, Ljava/util/ArrayList;->size()I
19844 add-int/lit8 v0, v2, -0x1
19847 if-ltz v0, :cond_25
19849 iget-object v2, p0, Lcom/android/server/am/ActivityManagerService;->mLruProcesses:Ljava/util/ArrayList;
19851 invoke-virtual {v2, v0}, Ljava/util/ArrayList;->get(I)Ljava/lang/Object;
19853 move-result-object v1
19855 check-cast v1, Lcom/android/server/am/ProcessRecord;
19857 iget-object v2, v1, Lcom/android/server/am/ProcessRecord;->thread:Landroid/app/IApplicationThread;
19859 if-eqz v2, :cond_22
19863 if-eq p3, v2, :cond_1d
19865 iget v2, v1, Lcom/android/server/am/ProcessRecord;->userId:I
19867 if-ne v2, p3, :cond_22
19871 iget-object v2, v1, Lcom/android/server/am/ProcessRecord;->thread:Landroid/app/IApplicationThread;
19873 invoke-interface {v2, p1, p2}, Landroid/app/IApplicationThread;->dispatchPackageBroadcast(I[Ljava/lang/String;)V
19875 .catch Landroid/os/RemoteException; {:try_start_1d .. :try_end_22} :catch_26
19879 add-int/lit8 v0, v0, -0x1
19892 .method public static setSystemProcess()V
19896 sget-object v3, Lcom/android/server/am/ActivityManagerService;->mSelf:Lcom/android/server/am/ActivityManagerService;
19898 const-string v4, "activity"
19902 invoke-static {v4, v3, v5}, Landroid/os/ServiceManager;->addService(Ljava/lang/String;Landroid/os/IBinder;Z)V
19904 const-string v4, "meminfo"
19906 new-instance v5, Lcom/android/server/am/ActivityManagerService$MemBinder;
19908 invoke-direct {v5, v3}, Lcom/android/server/am/ActivityManagerService$MemBinder;-><init>(Lcom/android/server/am/ActivityManagerService;)V
19910 invoke-static {v4, v5}, Landroid/os/ServiceManager;->addService(Ljava/lang/String;Landroid/os/IBinder;)V
19912 const-string v4, "gfxinfo"
19914 new-instance v5, Lcom/android/server/am/ActivityManagerService$GraphicsBinder;
19916 invoke-direct {v5, v3}, Lcom/android/server/am/ActivityManagerService$GraphicsBinder;-><init>(Lcom/android/server/am/ActivityManagerService;)V
19918 invoke-static {v4, v5}, Landroid/os/ServiceManager;->addService(Ljava/lang/String;Landroid/os/IBinder;)V
19920 const-string v4, "dbinfo"
19922 new-instance v5, Lcom/android/server/am/ActivityManagerService$DbBinder;
19924 invoke-direct {v5, v3}, Lcom/android/server/am/ActivityManagerService$DbBinder;-><init>(Lcom/android/server/am/ActivityManagerService;)V
19926 invoke-static {v4, v5}, Landroid/os/ServiceManager;->addService(Ljava/lang/String;Landroid/os/IBinder;)V
19928 const-string v4, "cpuinfo"
19930 new-instance v5, Lcom/android/server/am/ActivityManagerService$CpuBinder;
19932 invoke-direct {v5, v3}, Lcom/android/server/am/ActivityManagerService$CpuBinder;-><init>(Lcom/android/server/am/ActivityManagerService;)V
19934 invoke-static {v4, v5}, Landroid/os/ServiceManager;->addService(Ljava/lang/String;Landroid/os/IBinder;)V
19936 const-string v4, "permission"
19938 new-instance v5, Lcom/android/server/am/ActivityManagerService$PermissionController;
19940 invoke-direct {v5, v3}, Lcom/android/server/am/ActivityManagerService$PermissionController;-><init>(Lcom/android/server/am/ActivityManagerService;)V
19942 invoke-static {v4, v5}, Landroid/os/ServiceManager;->addService(Ljava/lang/String;Landroid/os/IBinder;)V
19944 sget-object v4, Lcom/android/server/am/ActivityManagerService;->mSelf:Lcom/android/server/am/ActivityManagerService;
19946 iget-object v4, v4, Lcom/android/server/am/ActivityManagerService;->mContext:Landroid/content/Context;
19948 invoke-virtual {v4}, Landroid/content/Context;->getPackageManager()Landroid/content/pm/PackageManager;
19950 move-result-object v4
19952 const-string v5, "android"
19956 invoke-virtual {v4, v5, v6}, Landroid/content/pm/PackageManager;->getApplicationInfo(Ljava/lang/String;I)Landroid/content/pm/ApplicationInfo;
19958 move-result-object v2
19960 sget-object v4, Lcom/android/server/am/ActivityManagerService;->mSystemThread:Landroid/app/ActivityThread;
19962 invoke-virtual {v4, v2}, Landroid/app/ActivityThread;->installSystemApplicationInfo(Landroid/content/pm/ApplicationInfo;)V
19964 sget-object v5, Lcom/android/server/am/ActivityManagerService;->mSelf:Lcom/android/server/am/ActivityManagerService;
19968 .catch Landroid/content/pm/PackageManager$NameNotFoundException; {:try_start_0 .. :try_end_52} :catch_94
19971 sget-object v4, Lcom/android/server/am/ActivityManagerService;->mSelf:Lcom/android/server/am/ActivityManagerService;
19973 sget-object v6, Lcom/android/server/am/ActivityManagerService;->mSystemThread:Landroid/app/ActivityThread;
19975 invoke-virtual {v6}, Landroid/app/ActivityThread;->getApplicationThread()Landroid/app/ActivityThread$ApplicationThread;
19977 move-result-object v6
19979 iget-object v7, v2, Landroid/content/pm/ApplicationInfo;->processName:Ljava/lang/String;
19983 invoke-virtual {v4, v6, v2, v7, v8}, Lcom/android/server/am/ActivityManagerService;->newProcessRecordLocked(Landroid/app/IApplicationThread;Landroid/content/pm/ApplicationInfo;Ljava/lang/String;Z)Lcom/android/server/am/ProcessRecord;
19985 move-result-object v0
19989 iput-boolean v4, v0, Lcom/android/server/am/ProcessRecord;->persistent:Z
19991 sget v4, Lcom/android/server/am/ActivityManagerService;->MY_PID:I
19993 iput v4, v0, Lcom/android/server/am/ProcessRecord;->pid:I
19997 iput v4, v0, Lcom/android/server/am/ProcessRecord;->maxAdj:I
19999 sget-object v4, Lcom/android/server/am/ActivityManagerService;->mSelf:Lcom/android/server/am/ActivityManagerService;
20001 iget-object v4, v4, Lcom/android/server/am/ActivityManagerService;->mProcessNames:Lcom/android/server/ProcessMap;
20003 iget-object v6, v0, Lcom/android/server/am/ProcessRecord;->processName:Ljava/lang/String;
20005 iget v7, v0, Lcom/android/server/am/ProcessRecord;->uid:I
20007 invoke-virtual {v4, v6, v7, v0}, Lcom/android/server/ProcessMap;->put(Ljava/lang/String;ILjava/lang/Object;)Ljava/lang/Object;
20009 sget-object v4, Lcom/android/server/am/ActivityManagerService;->mSelf:Lcom/android/server/am/ActivityManagerService;
20011 iget-object v6, v4, Lcom/android/server/am/ActivityManagerService;->mPidsSelfLocked:Landroid/util/SparseArray;
20015 .catchall {:try_start_52 .. :try_end_7c} :catchall_91
20018 sget-object v4, Lcom/android/server/am/ActivityManagerService;->mSelf:Lcom/android/server/am/ActivityManagerService;
20020 iget-object v4, v4, Lcom/android/server/am/ActivityManagerService;->mPidsSelfLocked:Landroid/util/SparseArray;
20022 iget v7, v0, Lcom/android/server/am/ProcessRecord;->pid:I
20024 invoke-virtual {v4, v7, v0}, Landroid/util/SparseArray;->put(ILjava/lang/Object;)V
20028 .catchall {:try_start_7c .. :try_end_86} :catchall_8e
20031 sget-object v4, Lcom/android/server/am/ActivityManagerService;->mSelf:Lcom/android/server/am/ActivityManagerService;
20035 invoke-virtual {v4, v0, v6}, Lcom/android/server/am/ActivityManagerService;->updateLruProcessLocked(Lcom/android/server/am/ProcessRecord;Z)V
20039 .catchall {:try_start_86 .. :try_end_8d} :catchall_91
20049 .catchall {:try_start_8f .. :try_end_90} :catchall_8e
20059 .catchall {:try_start_90 .. :try_end_93} :catchall_91
20064 .catch Landroid/content/pm/PackageManager$NameNotFoundException; {:try_start_93 .. :try_end_94} :catch_94
20069 new-instance v4, Ljava/lang/RuntimeException;
20071 const-string v5, "Unable to find android system package"
20073 invoke-direct {v4, v5, v1}, Ljava/lang/RuntimeException;-><init>(Ljava/lang/String;Ljava/lang/Throwable;)V
20078 .method private static final shouldShowDialogs(Landroid/content/res/Configuration;)Z
20083 iget v1, p0, Landroid/content/res/Configuration;->keyboard:I
20085 if-ne v1, v0, :cond_9
20087 iget v1, p0, Landroid/content/res/Configuration;->touchscreen:I
20089 if-eq v1, v0, :cond_a
20101 .method private final startProcessLocked(Lcom/android/server/am/ProcessRecord;Ljava/lang/String;Ljava/lang/String;)V
20104 move-object/from16 v0, p1
20106 iget v1, v0, Lcom/android/server/am/ProcessRecord;->pid:I
20108 if-lez v1, :cond_30
20110 move-object/from16 v0, p1
20112 iget v1, v0, Lcom/android/server/am/ProcessRecord;->pid:I
20114 sget v2, Lcom/android/server/am/ActivityManagerService;->MY_PID:I
20116 if-eq v1, v2, :cond_30
20118 move-object/from16 v0, p0
20120 iget-object v2, v0, Lcom/android/server/am/ActivityManagerService;->mPidsSelfLocked:Landroid/util/SparseArray;
20125 move-object/from16 v0, p0
20127 iget-object v1, v0, Lcom/android/server/am/ActivityManagerService;->mPidsSelfLocked:Landroid/util/SparseArray;
20129 move-object/from16 v0, p1
20131 iget v4, v0, Lcom/android/server/am/ProcessRecord;->pid:I
20133 invoke-virtual {v1, v4}, Landroid/util/SparseArray;->remove(I)V
20135 move-object/from16 v0, p0
20137 iget-object v1, v0, Lcom/android/server/am/ActivityManagerService;->mHandler:Landroid/os/Handler;
20141 move-object/from16 v0, p1
20143 invoke-virtual {v1, v4, v0}, Landroid/os/Handler;->removeMessages(ILjava/lang/Object;)V
20147 .catchall {:try_start_13 .. :try_end_2a} :catchall_1f6
20151 move-object/from16 v0, p1
20153 invoke-virtual {v0, v1}, Lcom/android/server/am/ProcessRecord;->setPid(I)V
20156 move-object/from16 v0, p0
20158 iget-object v1, v0, Lcom/android/server/am/ActivityManagerService;->mProcessesOnHold:Ljava/util/ArrayList;
20160 move-object/from16 v0, p1
20162 invoke-virtual {v1, v0}, Ljava/util/ArrayList;->remove(Ljava/lang/Object;)Z
20164 invoke-virtual/range {p0 .. p0}, Lcom/android/server/am/ActivityManagerService;->updateCpuStats()V
20166 move-object/from16 v0, p0
20168 iget-object v1, v0, Lcom/android/server/am/ActivityManagerService;->mProcDeaths:[I
20172 move-object/from16 v0, p0
20174 iget-object v4, v0, Lcom/android/server/am/ActivityManagerService;->mProcDeaths:[I
20178 move-object/from16 v0, p0
20180 iget-object v9, v0, Lcom/android/server/am/ActivityManagerService;->mProcDeaths:[I
20182 array-length v9, v9
20184 add-int/lit8 v9, v9, -0x1
20186 invoke-static {v1, v2, v4, v8, v9}, Ljava/lang/System;->arraycopy(Ljava/lang/Object;ILjava/lang/Object;II)V
20188 move-object/from16 v0, p0
20190 iget-object v1, v0, Lcom/android/server/am/ActivityManagerService;->mProcDeaths:[I
20199 move-object/from16 v0, p1
20201 iget v3, v0, Lcom/android/server/am/ProcessRecord;->uid:I
20207 move-object/from16 v0, p1
20209 iget-boolean v1, v0, Lcom/android/server/am/ProcessRecord;->isolated:Z
20211 .catch Ljava/lang/RuntimeException; {:try_start_58 .. :try_end_62} :catch_206
20213 if-nez v1, :cond_a1
20218 move-object/from16 v0, p0
20220 iget-object v1, v0, Lcom/android/server/am/ActivityManagerService;->mContext:Landroid/content/Context;
20222 invoke-virtual {v1}, Landroid/content/Context;->getPackageManager()Landroid/content/pm/PackageManager;
20224 move-result-object v17
20226 move-object/from16 v0, p1
20228 iget-object v1, v0, Lcom/android/server/am/ProcessRecord;->info:Landroid/content/pm/ApplicationInfo;
20230 iget-object v1, v1, Landroid/content/pm/ApplicationInfo;->packageName:Ljava/lang/String;
20232 move-object/from16 v0, v17
20234 invoke-virtual {v0, v1}, Landroid/content/pm/PackageManager;->getPackageGids(Ljava/lang/String;)[I
20236 move-result-object v16
20238 invoke-static {}, Landroid/os/Environment;->isExternalStorageEmulated()Z
20242 if-eqz v1, :cond_91
20244 const-string v1, "android.permission.ACCESS_ALL_EXTERNAL_STORAGE"
20246 move-object/from16 v0, p1
20248 iget-object v2, v0, Lcom/android/server/am/ProcessRecord;->info:Landroid/content/pm/ApplicationInfo;
20250 iget-object v2, v2, Landroid/content/pm/ApplicationInfo;->packageName:Ljava/lang/String;
20252 move-object/from16 v0, v17
20254 invoke-virtual {v0, v1, v2}, Landroid/content/pm/PackageManager;->checkPermission(Ljava/lang/String;Ljava/lang/String;)I
20256 .catch Landroid/content/pm/PackageManager$NameNotFoundException; {:try_start_66 .. :try_end_8d} :catch_1fc
20257 .catch Ljava/lang/RuntimeException; {:try_start_66 .. :try_end_8d} :catch_206
20261 if-nez v1, :cond_1f9
20267 if-nez v16, :cond_22a
20272 new-array v5, v1, [I
20277 invoke-static {v3}, Landroid/os/UserHandle;->getAppId(I)I
20281 invoke-static {v2}, Landroid/os/UserHandle;->getSharedAppGid(I)I
20288 move-object/from16 v0, p0
20290 iget v1, v0, Lcom/android/server/am/ActivityManagerService;->mFactoryTest:I
20292 if-eqz v1, :cond_d9
20294 move-object/from16 v0, p0
20296 iget v1, v0, Lcom/android/server/am/ActivityManagerService;->mFactoryTest:I
20300 if-ne v1, v2, :cond_c7
20302 move-object/from16 v0, p0
20304 iget-object v1, v0, Lcom/android/server/am/ActivityManagerService;->mTopComponent:Landroid/content/ComponentName;
20306 if-eqz v1, :cond_c7
20308 move-object/from16 v0, p1
20310 iget-object v1, v0, Lcom/android/server/am/ProcessRecord;->processName:Ljava/lang/String;
20312 move-object/from16 v0, p0
20314 iget-object v2, v0, Lcom/android/server/am/ActivityManagerService;->mTopComponent:Landroid/content/ComponentName;
20316 invoke-virtual {v2}, Landroid/content/ComponentName;->getPackageName()Ljava/lang/String;
20318 move-result-object v2
20320 invoke-virtual {v1, v2}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
20324 if-eqz v1, :cond_c7
20329 move-object/from16 v0, p0
20331 iget v1, v0, Lcom/android/server/am/ActivityManagerService;->mFactoryTest:I
20335 if-ne v1, v2, :cond_d9
20337 move-object/from16 v0, p1
20339 iget-object v1, v0, Lcom/android/server/am/ProcessRecord;->info:Landroid/content/pm/ApplicationInfo;
20341 iget v1, v1, Landroid/content/pm/ApplicationInfo;->flags:I
20343 and-int/lit8 v1, v1, 0x10
20345 if-eqz v1, :cond_d9
20352 move-object/from16 v0, p1
20354 iget-object v1, v0, Lcom/android/server/am/ProcessRecord;->info:Landroid/content/pm/ApplicationInfo;
20356 iget v1, v1, Landroid/content/pm/ApplicationInfo;->flags:I
20358 and-int/lit8 v1, v1, 0x2
20360 if-eqz v1, :cond_e8
20362 or-int/lit8 v6, v6, 0x1
20364 or-int/lit8 v6, v6, 0x2
20367 move-object/from16 v0, p1
20369 iget-object v1, v0, Lcom/android/server/am/ProcessRecord;->info:Landroid/content/pm/ApplicationInfo;
20371 iget v1, v1, Landroid/content/pm/ApplicationInfo;->flags:I
20373 and-int/lit16 v1, v1, 0x4000
20375 if-nez v1, :cond_f7
20377 sget-boolean v1, Ldalvik/system/Zygote;->systemInSafeMode:Z
20381 if-ne v1, v2, :cond_f9
20384 or-int/lit8 v6, v6, 0x8
20387 const-string v1, "1"
20389 const-string v2, "debug.checkjni"
20391 invoke-static {v2}, Landroid/os/SystemProperties;->get(Ljava/lang/String;)Ljava/lang/String;
20393 move-result-object v2
20395 invoke-virtual {v1, v2}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
20399 if-eqz v1, :cond_109
20401 or-int/lit8 v6, v6, 0x2
20404 const-string v1, "1"
20406 const-string v2, "debug.jni.logging"
20408 invoke-static {v2}, Landroid/os/SystemProperties;->get(Ljava/lang/String;)Ljava/lang/String;
20410 move-result-object v2
20412 invoke-virtual {v1, v2}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
20416 if-eqz v1, :cond_119
20418 or-int/lit8 v6, v6, 0x10
20421 const-string v1, "1"
20423 const-string v2, "debug.assert"
20425 invoke-static {v2}, Landroid/os/SystemProperties;->get(Ljava/lang/String;)Ljava/lang/String;
20427 move-result-object v2
20429 invoke-virtual {v1, v2}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
20433 if-eqz v1, :cond_129
20435 or-int/lit8 v6, v6, 0x4
20438 const-string v1, "android.app.ActivityThread"
20440 move-object/from16 v0, p1
20442 iget-object v2, v0, Lcom/android/server/am/ProcessRecord;->processName:Ljava/lang/String;
20444 move-object/from16 v0, p1
20446 iget-object v4, v0, Lcom/android/server/am/ProcessRecord;->info:Landroid/content/pm/ApplicationInfo;
20448 iget v8, v4, Landroid/content/pm/ApplicationInfo;->targetSdkVersion:I
20456 invoke-static/range {v1 .. v10}, Landroid/os/Process;->start(Ljava/lang/String;Ljava/lang/String;II[IIIILjava/lang/String;[Ljava/lang/String;)Landroid/os/Process$ProcessStartResult;
20458 move-result-object v18
20460 move-object/from16 v0, p1
20462 iget-object v1, v0, Lcom/android/server/am/ProcessRecord;->batteryStats:Lcom/android/internal/os/BatteryStatsImpl$Uid$Proc;
20464 invoke-virtual {v1}, Lcom/android/internal/os/BatteryStatsImpl$Uid$Proc;->getBatteryStats()Lcom/android/internal/os/BatteryStatsImpl;
20466 move-result-object v11
20470 .catch Ljava/lang/RuntimeException; {:try_start_94 .. :try_end_145} :catch_206
20473 invoke-virtual {v11}, Lcom/android/internal/os/BatteryStatsImpl;->isOnBattery()Z
20477 if-eqz v1, :cond_152
20479 move-object/from16 v0, p1
20481 iget-object v1, v0, Lcom/android/server/am/ProcessRecord;->batteryStats:Lcom/android/internal/os/BatteryStatsImpl$Uid$Proc;
20483 invoke-virtual {v1}, Lcom/android/internal/os/BatteryStatsImpl$Uid$Proc;->incStartsLocked()V
20488 .catchall {:try_start_145 .. :try_end_153} :catchall_23d
20490 const/16 v2, 0x753e
20495 new-array v4, v1, [Ljava/lang/Object;
20499 invoke-static {v3}, Landroid/os/UserHandle;->getUserId(I)I
20503 invoke-static {v8}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
20505 move-result-object v8
20507 aput-object v8, v4, v1
20511 move-object/from16 v0, v18
20513 iget v8, v0, Landroid/os/Process$ProcessStartResult;->pid:I
20515 invoke-static {v8}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
20517 move-result-object v8
20519 aput-object v8, v4, v1
20523 invoke-static {v3}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
20525 move-result-object v8
20527 aput-object v8, v4, v1
20531 move-object/from16 v0, p1
20533 iget-object v8, v0, Lcom/android/server/am/ProcessRecord;->processName:Ljava/lang/String;
20535 aput-object v8, v4, v1
20539 aput-object p2, v4, v1
20543 if-eqz p3, :cond_240
20545 move-object/from16 v1, p3
20548 aput-object v1, v4, v8
20550 invoke-static {v2, v4}, Landroid/util/EventLog;->writeEvent(I[Ljava/lang/Object;)I
20552 move-object/from16 v0, p1
20554 iget-boolean v1, v0, Lcom/android/server/am/ProcessRecord;->persistent:Z
20556 if-eqz v1, :cond_19e
20558 invoke-static {}, Lcom/android/server/Watchdog;->getInstance()Lcom/android/server/Watchdog;
20560 move-result-object v1
20562 move-object/from16 v0, p1
20564 iget-object v2, v0, Lcom/android/server/am/ProcessRecord;->processName:Ljava/lang/String;
20566 move-object/from16 v0, v18
20568 iget v4, v0, Landroid/os/Process$ProcessStartResult;->pid:I
20570 invoke-virtual {v1, v2, v4}, Lcom/android/server/Watchdog;->processStarted(Ljava/lang/String;I)V
20573 move-object/from16 v0, p0
20575 iget-object v12, v0, Lcom/android/server/am/ActivityManagerService;->mStringBuilder:Ljava/lang/StringBuilder;
20579 invoke-virtual {v12, v1}, Ljava/lang/StringBuilder;->setLength(I)V
20581 const-string v1, "Start proc "
20583 invoke-virtual {v12, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
20585 move-object/from16 v0, p1
20587 iget-object v1, v0, Lcom/android/server/am/ProcessRecord;->processName:Ljava/lang/String;
20589 invoke-virtual {v12, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
20591 const-string v1, " for "
20593 invoke-virtual {v12, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
20595 move-object/from16 v0, p2
20597 invoke-virtual {v12, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
20599 if-eqz p3, :cond_1c8
20601 const-string v1, " "
20603 invoke-virtual {v12, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
20605 move-object/from16 v0, p3
20607 invoke-virtual {v12, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
20610 const-string v1, ": pid="
20612 invoke-virtual {v12, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
20614 move-object/from16 v0, v18
20616 iget v1, v0, Landroid/os/Process$ProcessStartResult;->pid:I
20618 invoke-virtual {v12, v1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
20620 const-string v1, " uid="
20622 invoke-virtual {v12, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
20624 invoke-virtual {v12, v3}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
20626 const-string v1, " gids={"
20628 invoke-virtual {v12, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
20630 if-eqz v5, :cond_244
20635 array-length v1, v5
20637 if-ge v14, v1, :cond_244
20639 if-eqz v14, :cond_1ee
20641 const-string v1, ", "
20643 invoke-virtual {v12, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
20648 invoke-virtual {v12, v1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
20650 .catch Ljava/lang/RuntimeException; {:try_start_156 .. :try_end_1f3} :catch_206
20652 add-int/lit8 v14, v14, 0x1
20662 .catchall {:try_start_1f7 .. :try_end_1f8} :catchall_1f6
20675 const-string v1, "ActivityManager"
20677 const-string v2, "Unable to retrieve gids"
20679 invoke-static {v1, v2, v13}, Landroid/util/Slog;->w(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I
20681 .catch Ljava/lang/RuntimeException; {:try_start_1fd .. :try_end_204} :catch_206
20690 move-object/from16 v0, p1
20692 invoke-virtual {v0, v1}, Lcom/android/server/am/ProcessRecord;->setPid(I)V
20694 const-string v1, "ActivityManager"
20696 new-instance v2, Ljava/lang/StringBuilder;
20698 invoke-direct {v2}, Ljava/lang/StringBuilder;-><init>()V
20700 const-string v4, "Failure starting process "
20702 invoke-virtual {v2, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
20704 move-result-object v2
20706 move-object/from16 v0, p1
20708 iget-object v4, v0, Lcom/android/server/am/ProcessRecord;->processName:Ljava/lang/String;
20710 invoke-virtual {v2, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
20712 move-result-object v2
20714 invoke-virtual {v2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
20716 move-result-object v2
20718 invoke-static {v1, v2, v13}, Landroid/util/Slog;->e(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I
20725 move-object/from16 v0, v16
20727 array-length v1, v0
20729 add-int/lit8 v1, v1, 0x1
20731 new-array v5, v1, [I
20737 move-object/from16 v0, v16
20739 array-length v4, v0
20741 move-object/from16 v0, v16
20743 invoke-static {v0, v1, v5, v2, v4}, Ljava/lang/System;->arraycopy(Ljava/lang/Object;ILjava/lang/Object;II)V
20745 .catch Ljava/lang/RuntimeException; {:try_start_22a .. :try_end_23b} :catch_206
20755 .catchall {:try_start_23e .. :try_end_23f} :catchall_23d
20761 const-string v1, ""
20766 const-string v1, "}"
20768 invoke-virtual {v12, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
20770 const-string v1, "ActivityManager"
20772 invoke-virtual {v12}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
20774 move-result-object v2
20776 invoke-static {v1, v2}, Landroid/util/Slog;->i(Ljava/lang/String;Ljava/lang/String;)I
20778 move-object/from16 v0, v18
20780 iget v1, v0, Landroid/os/Process$ProcessStartResult;->pid:I
20782 move-object/from16 v0, p1
20784 invoke-virtual {v0, v1}, Lcom/android/server/am/ProcessRecord;->setPid(I)V
20786 move-object/from16 v0, v18
20788 iget-boolean v1, v0, Landroid/os/Process$ProcessStartResult;->usingWrapper:Z
20790 move-object/from16 v0, p1
20792 iput-boolean v1, v0, Lcom/android/server/am/ProcessRecord;->usingWrapper:Z
20796 move-object/from16 v0, p1
20798 iput-boolean v1, v0, Lcom/android/server/am/ProcessRecord;->removed:Z
20800 move-object/from16 v0, p0
20802 iget-object v4, v0, Lcom/android/server/am/ActivityManagerService;->mPidsSelfLocked:Landroid/util/SparseArray;
20806 .catch Ljava/lang/RuntimeException; {:try_start_23f .. :try_end_26d} :catch_206
20809 move-object/from16 v0, p0
20811 iget-object v1, v0, Lcom/android/server/am/ActivityManagerService;->mPidsSelfLocked:Landroid/util/SparseArray;
20813 move-object/from16 v0, v18
20815 iget v2, v0, Landroid/os/Process$ProcessStartResult;->pid:I
20817 move-object/from16 v0, p1
20819 invoke-virtual {v1, v2, v0}, Landroid/util/SparseArray;->put(ILjava/lang/Object;)V
20821 move-object/from16 v0, p0
20823 iget-object v1, v0, Lcom/android/server/am/ActivityManagerService;->mHandler:Landroid/os/Handler;
20827 invoke-virtual {v1, v2}, Landroid/os/Handler;->obtainMessage(I)Landroid/os/Message;
20829 move-result-object v15
20831 move-object/from16 v0, p1
20833 iput-object v0, v15, Landroid/os/Message;->obj:Ljava/lang/Object;
20835 move-object/from16 v0, p0
20837 iget-object v8, v0, Lcom/android/server/am/ActivityManagerService;->mHandler:Landroid/os/Handler;
20839 move-object/from16 v0, v18
20841 iget-boolean v1, v0, Landroid/os/Process$ProcessStartResult;->usingWrapper:Z
20843 if-eqz v1, :cond_29d
20845 const-wide/32 v1, 0x493e0
20848 invoke-virtual {v8, v15, v1, v2}, Landroid/os/Handler;->sendMessageDelayed(Landroid/os/Message;J)Z
20859 .catchall {:try_start_26d .. :try_end_29c} :catchall_29a
20864 .catch Ljava/lang/RuntimeException; {:try_start_29c .. :try_end_29d} :catch_206
20867 const-wide/16 v1, 0x2710
20872 .method private stopProfilerLocked(Lcom/android/server/am/ProcessRecord;Ljava/lang/String;I)V
20877 iget-object v1, p0, Lcom/android/server/am/ActivityManagerService;->mProfileProc:Lcom/android/server/am/ProcessRecord;
20879 if-ne p1, v1, :cond_f
20882 iget-object p1, p0, Lcom/android/server/am/ActivityManagerService;->mProfileProc:Lcom/android/server/am/ProcessRecord;
20884 iget-object p2, p0, Lcom/android/server/am/ActivityManagerService;->mProfileFile:Ljava/lang/String;
20886 iget p3, p0, Lcom/android/server/am/ActivityManagerService;->mProfileType:I
20888 invoke-direct {p0}, Lcom/android/server/am/ActivityManagerService;->clearProfilerLocked()V
20891 if-nez p1, :cond_12
20898 iget-object v1, p1, Lcom/android/server/am/ProcessRecord;->thread:Landroid/app/IApplicationThread;
20904 invoke-interface {v1, v2, p2, v3, p3}, Landroid/app/IApplicationThread;->profilerControl(ZLjava/lang/String;Landroid/os/ParcelFileDescriptor;I)V
20906 .catch Landroid/os/RemoteException; {:try_start_12 .. :try_end_19} :catch_1a
20913 new-instance v1, Ljava/lang/IllegalStateException;
20915 const-string v2, "Process disappeared"
20917 invoke-direct {v1, v2}, Ljava/lang/IllegalStateException;-><init>(Ljava/lang/String;)V
20922 .method private stopUserLocked(ILandroid/app/IStopUserCallback;)I
20925 move-object/from16 v0, p0
20927 iget v4, v0, Lcom/android/server/am/ActivityManagerService;->mCurrentUserId:I
20931 if-ne v4, v0, :cond_a
20939 move-object/from16 v0, p0
20941 iget-object v4, v0, Lcom/android/server/am/ActivityManagerService;->mStartedUsers:Landroid/util/SparseArray;
20945 invoke-virtual {v4, v0}, Landroid/util/SparseArray;->get(I)Ljava/lang/Object;
20947 move-result-object v5
20949 check-cast v5, Lcom/android/server/am/UserStartedState;
20951 if-nez v5, :cond_2e
20953 if-eqz p2, :cond_2c
20955 move-object/from16 v0, p0
20957 iget-object v4, v0, Lcom/android/server/am/ActivityManagerService;->mHandler:Landroid/os/Handler;
20959 new-instance v8, Lcom/android/server/am/ActivityManagerService$19;
20961 move-object/from16 v0, p0
20963 move-object/from16 v1, p2
20967 invoke-direct {v8, v0, v1, v2}, Lcom/android/server/am/ActivityManagerService$19;-><init>(Lcom/android/server/am/ActivityManagerService;Landroid/app/IStopUserCallback;I)V
20969 invoke-virtual {v4, v8}, Landroid/os/Handler;->post(Ljava/lang/Runnable;)Z
20977 if-eqz p2, :cond_37
20979 iget-object v4, v5, Lcom/android/server/am/UserStartedState;->mStopCallbacks:Ljava/util/ArrayList;
20981 move-object/from16 v0, p2
20983 invoke-virtual {v4, v0}, Ljava/util/ArrayList;->add(Ljava/lang/Object;)Z
20986 iget v4, v5, Lcom/android/server/am/UserStartedState;->mState:I
20990 if-eq v4, v8, :cond_91
20992 iget v4, v5, Lcom/android/server/am/UserStartedState;->mState:I
20996 if-eq v4, v8, :cond_91
21000 iput v4, v5, Lcom/android/server/am/UserStartedState;->mState:I
21002 invoke-direct/range {p0 .. p0}, Lcom/android/server/am/ActivityManagerService;->updateStartedUserArrayLocked()V
21004 invoke-static {}, Landroid/os/Binder;->clearCallingIdentity()J
21006 move-result-wide v23
21009 new-instance v11, Landroid/content/Intent;
21011 const-string v4, "android.intent.action.USER_STOPPING"
21013 invoke-direct {v11, v4}, Landroid/content/Intent;-><init>(Ljava/lang/String;)V
21015 const/high16 v4, 0x4000
21017 invoke-virtual {v11, v4}, Landroid/content/Intent;->addFlags(I)Landroid/content/Intent;
21019 const-string v4, "android.intent.extra.user_handle"
21023 invoke-virtual {v11, v4, v0}, Landroid/content/Intent;->putExtra(Ljava/lang/String;I)Landroid/content/Intent;
21025 new-instance v6, Landroid/content/Intent;
21027 const-string v4, "android.intent.action.ACTION_SHUTDOWN"
21029 invoke-direct {v6, v4}, Landroid/content/Intent;-><init>(Ljava/lang/String;)V
21031 new-instance v7, Lcom/android/server/am/ActivityManagerService$20;
21033 move-object/from16 v0, p0
21035 invoke-direct {v7, v0, v5}, Lcom/android/server/am/ActivityManagerService$20;-><init>(Lcom/android/server/am/ActivityManagerService;Lcom/android/server/am/UserStartedState;)V
21037 new-instance v3, Lcom/android/server/am/ActivityManagerService$21;
21039 move-object/from16 v4, p0
21043 invoke-direct/range {v3 .. v8}, Lcom/android/server/am/ActivityManagerService$21;-><init>(Lcom/android/server/am/ActivityManagerService;Lcom/android/server/am/UserStartedState;Landroid/content/Intent;Landroid/content/IIntentReceiver;I)V
21057 const-string v17, "android.permission.INTERACT_ACROSS_USERS"
21063 sget v20, Lcom/android/server/am/ActivityManagerService;->MY_PID:I
21065 const/16 v21, 0x3e8
21069 move-object/from16 v8, p0
21071 move-object v13, v3
21073 invoke-direct/range {v8 .. v22}, Lcom/android/server/am/ActivityManagerService;->broadcastIntentLocked(Lcom/android/server/am/ProcessRecord;Ljava/lang/String;Landroid/content/Intent;Ljava/lang/String;Landroid/content/IIntentReceiver;ILjava/lang/String;Landroid/os/Bundle;Ljava/lang/String;ZZIII)I
21075 .catchall {:try_start_4b .. :try_end_8e} :catchall_94
21077 invoke-static/range {v23 .. v24}, Landroid/os/Binder;->restoreCallingIdentity(J)V
21087 invoke-static/range {v23 .. v24}, Landroid/os/Binder;->restoreCallingIdentity(J)V
21092 .method private taskForIdLocked(I)Lcom/android/server/am/TaskRecord;
21095 iget-object v3, p0, Lcom/android/server/am/ActivityManagerService;->mRecentTasks:Ljava/util/ArrayList;
21097 invoke-virtual {v3}, Ljava/util/ArrayList;->size()I
21104 if-ge v1, v0, :cond_19
21106 iget-object v3, p0, Lcom/android/server/am/ActivityManagerService;->mRecentTasks:Ljava/util/ArrayList;
21108 invoke-virtual {v3, v1}, Ljava/util/ArrayList;->get(I)Ljava/lang/Object;
21110 move-result-object v2
21112 check-cast v2, Lcom/android/server/am/TaskRecord;
21114 iget v3, v2, Lcom/android/server/am/TaskRecord;->taskId:I
21116 if-ne v3, p1, :cond_16
21122 add-int/lit8 v1, v1, 0x1
21132 .method private updateEventDispatchingLocked()V
21135 iget-object v1, p0, Lcom/android/server/am/ActivityManagerService;->mWindowManager:Lcom/android/server/wm/WindowManagerService;
21137 iget-boolean v0, p0, Lcom/android/server/am/ActivityManagerService;->mBooted:Z
21139 if-eqz v0, :cond_13
21141 iget-boolean v0, p0, Lcom/android/server/am/ActivityManagerService;->mWentToSleep:Z
21143 if-nez v0, :cond_13
21145 iget-boolean v0, p0, Lcom/android/server/am/ActivityManagerService;->mShuttingDown:Z
21147 if-nez v0, :cond_13
21152 invoke-virtual {v1, v0}, Lcom/android/server/wm/WindowManagerService;->setEventDispatching(Z)V
21162 .method private final updateLruProcessInternalLocked(Lcom/android/server/am/ProcessRecord;I)V
21165 iget-object v8, p0, Lcom/android/server/am/ActivityManagerService;->mLruProcesses:Ljava/util/ArrayList;
21167 invoke-virtual {v8, p1}, Ljava/util/ArrayList;->indexOf(Ljava/lang/Object;)I
21173 iget-object v8, p0, Lcom/android/server/am/ActivityManagerService;->mLruProcesses:Ljava/util/ArrayList;
21175 invoke-virtual {v8, v5}, Ljava/util/ArrayList;->remove(I)Ljava/lang/Object;
21178 iget-object v8, p0, Lcom/android/server/am/ActivityManagerService;->mLruProcesses:Ljava/util/ArrayList;
21180 invoke-virtual {v8}, Ljava/util/ArrayList;->size()I
21184 add-int/lit8 v2, v8, -0x1
21188 iget v8, p0, Lcom/android/server/am/ActivityManagerService;->mLruSeq:I
21190 iput v8, p1, Lcom/android/server/am/ProcessRecord;->lruSeq:I
21192 invoke-static {}, Landroid/os/SystemClock;->uptimeMillis()J
21194 move-result-wide v8
21196 iput-wide v8, p1, Lcom/android/server/am/ProcessRecord;->lastActivityTime:J
21198 iget-object v8, p1, Lcom/android/server/am/ProcessRecord;->activities:Ljava/util/ArrayList;
21200 invoke-virtual {v8}, Ljava/util/ArrayList;->size()I
21204 if-lez v8, :cond_9d
21206 iget-wide v8, p1, Lcom/android/server/am/ProcessRecord;->lastActivityTime:J
21208 iput-wide v8, p1, Lcom/android/server/am/ProcessRecord;->lruWeight:J
21211 if-ltz v2, :cond_51
21213 iget-object v8, p0, Lcom/android/server/am/ActivityManagerService;->mLruProcesses:Ljava/util/ArrayList;
21215 invoke-virtual {v8, v2}, Ljava/util/ArrayList;->get(I)Ljava/lang/Object;
21217 move-result-object v6
21219 check-cast v6, Lcom/android/server/am/ProcessRecord;
21221 if-lez v7, :cond_40
21223 iget v8, v6, Lcom/android/server/am/ProcessRecord;->setAdj:I
21225 sget v9, Lcom/android/server/am/ProcessList;->HIDDEN_APP_MIN_ADJ:I
21227 if-lt v8, v9, :cond_40
21229 add-int/lit8 v7, v7, -0x1
21232 iget-wide v8, v6, Lcom/android/server/am/ProcessRecord;->lruWeight:J
21234 iget-wide v10, p1, Lcom/android/server/am/ProcessRecord;->lruWeight:J
21236 cmp-long v8, v8, v10
21238 if-lez v8, :cond_4a
21240 if-ge v2, p2, :cond_ba
21243 iget-object v8, p0, Lcom/android/server/am/ActivityManagerService;->mLruProcesses:Ljava/util/ArrayList;
21245 add-int/lit8 v9, v2, 0x1
21247 invoke-virtual {v8, v9, p1}, Ljava/util/ArrayList;->add(ILjava/lang/Object;)V
21250 if-gez v2, :cond_59
21252 iget-object v8, p0, Lcom/android/server/am/ActivityManagerService;->mLruProcesses:Ljava/util/ArrayList;
21256 invoke-virtual {v8, v9, p1}, Ljava/util/ArrayList;->add(ILjava/lang/Object;)V
21259 iget-object v8, p1, Lcom/android/server/am/ProcessRecord;->connections:Ljava/util/HashSet;
21261 invoke-virtual {v8}, Ljava/util/HashSet;->size()I
21265 if-lez v8, :cond_be
21267 iget-object v8, p1, Lcom/android/server/am/ProcessRecord;->connections:Ljava/util/HashSet;
21269 invoke-virtual {v8}, Ljava/util/HashSet;->iterator()Ljava/util/Iterator;
21271 move-result-object v3
21275 invoke-interface {v3}, Ljava/util/Iterator;->hasNext()Z
21279 if-eqz v8, :cond_be
21281 invoke-interface {v3}, Ljava/util/Iterator;->next()Ljava/lang/Object;
21283 move-result-object v1
21285 check-cast v1, Lcom/android/server/am/ConnectionRecord;
21287 iget-object v8, v1, Lcom/android/server/am/ConnectionRecord;->binding:Lcom/android/server/am/AppBindRecord;
21289 if-eqz v8, :cond_67
21291 iget-object v8, v1, Lcom/android/server/am/ConnectionRecord;->binding:Lcom/android/server/am/AppBindRecord;
21293 iget-object v8, v8, Lcom/android/server/am/AppBindRecord;->service:Lcom/android/server/am/ServiceRecord;
21295 if-eqz v8, :cond_67
21297 iget-object v8, v1, Lcom/android/server/am/ConnectionRecord;->binding:Lcom/android/server/am/AppBindRecord;
21299 iget-object v8, v8, Lcom/android/server/am/AppBindRecord;->service:Lcom/android/server/am/ServiceRecord;
21301 iget-object v8, v8, Lcom/android/server/am/ServiceRecord;->app:Lcom/android/server/am/ProcessRecord;
21303 if-eqz v8, :cond_67
21305 iget-object v8, v1, Lcom/android/server/am/ConnectionRecord;->binding:Lcom/android/server/am/AppBindRecord;
21307 iget-object v8, v8, Lcom/android/server/am/AppBindRecord;->service:Lcom/android/server/am/ServiceRecord;
21309 iget-object v8, v8, Lcom/android/server/am/ServiceRecord;->app:Lcom/android/server/am/ProcessRecord;
21311 iget v8, v8, Lcom/android/server/am/ProcessRecord;->lruSeq:I
21313 iget v9, p0, Lcom/android/server/am/ActivityManagerService;->mLruSeq:I
21315 if-eq v8, v9, :cond_67
21317 iget-object v8, v1, Lcom/android/server/am/ConnectionRecord;->binding:Lcom/android/server/am/AppBindRecord;
21319 iget-object v8, v8, Lcom/android/server/am/AppBindRecord;->service:Lcom/android/server/am/ServiceRecord;
21321 iget-object v8, v8, Lcom/android/server/am/ServiceRecord;->app:Lcom/android/server/am/ProcessRecord;
21323 add-int/lit8 v9, v2, 0x1
21325 invoke-direct {p0, v8, v9}, Lcom/android/server/am/ActivityManagerService;->updateLruProcessInternalLocked(Lcom/android/server/am/ProcessRecord;I)V
21330 iget-object v8, p1, Lcom/android/server/am/ProcessRecord;->pubProviders:Ljava/util/HashMap;
21332 invoke-virtual {v8}, Ljava/util/HashMap;->size()I
21336 if-lez v8, :cond_af
21338 iget-wide v8, p1, Lcom/android/server/am/ProcessRecord;->lastActivityTime:J
21340 const-wide/16 v10, 0x3a98
21342 sub-long/2addr v8, v10
21344 iput-wide v8, p1, Lcom/android/server/am/ProcessRecord;->lruWeight:J
21351 iget-wide v8, p1, Lcom/android/server/am/ProcessRecord;->lastActivityTime:J
21353 const-wide/32 v10, 0x1d4c0
21355 sub-long/2addr v8, v10
21357 iput-wide v8, p1, Lcom/android/server/am/ProcessRecord;->lruWeight:J
21364 add-int/lit8 v2, v2, -0x1
21369 iget-object v8, p1, Lcom/android/server/am/ProcessRecord;->conProviders:Ljava/util/ArrayList;
21371 invoke-virtual {v8}, Ljava/util/ArrayList;->size()I
21375 add-int/lit8 v4, v8, -0x1
21378 if-ltz v4, :cond_e8
21380 iget-object v8, p1, Lcom/android/server/am/ProcessRecord;->conProviders:Ljava/util/ArrayList;
21382 invoke-virtual {v8, v4}, Ljava/util/ArrayList;->get(I)Ljava/lang/Object;
21384 move-result-object v8
21386 check-cast v8, Lcom/android/server/am/ContentProviderConnection;
21388 iget-object v0, v8, Lcom/android/server/am/ContentProviderConnection;->provider:Lcom/android/server/am/ContentProviderRecord;
21390 iget-object v8, v0, Lcom/android/server/am/ContentProviderRecord;->proc:Lcom/android/server/am/ProcessRecord;
21392 if-eqz v8, :cond_e5
21394 iget-object v8, v0, Lcom/android/server/am/ContentProviderRecord;->proc:Lcom/android/server/am/ProcessRecord;
21396 iget v8, v8, Lcom/android/server/am/ProcessRecord;->lruSeq:I
21398 iget v9, p0, Lcom/android/server/am/ActivityManagerService;->mLruSeq:I
21400 if-eq v8, v9, :cond_e5
21402 iget-object v8, v0, Lcom/android/server/am/ContentProviderRecord;->proc:Lcom/android/server/am/ProcessRecord;
21404 add-int/lit8 v9, v2, 0x1
21406 invoke-direct {p0, v8, v9}, Lcom/android/server/am/ActivityManagerService;->updateLruProcessInternalLocked(Lcom/android/server/am/ProcessRecord;I)V
21409 add-int/lit8 v4, v4, -0x1
21417 .method private final updateOomAdjLocked(Lcom/android/server/am/ProcessRecord;IIILcom/android/server/am/ProcessRecord;Z)Z
21422 move-object/from16 v1, p1
21424 iput v0, v1, Lcom/android/server/am/ProcessRecord;->hiddenAdj:I
21428 move-object/from16 v1, p1
21430 iput v0, v1, Lcom/android/server/am/ProcessRecord;->clientHiddenAdj:I
21434 move-object/from16 v1, p1
21436 iput v0, v1, Lcom/android/server/am/ProcessRecord;->emptyAdj:I
21438 move-object/from16 v0, p1
21440 iget-object v2, v0, Lcom/android/server/am/ProcessRecord;->thread:Landroid/app/IApplicationThread;
21442 if-nez v2, :cond_1a
21451 move-object/from16 v0, p1
21453 iget-boolean v15, v0, Lcom/android/server/am/ProcessRecord;->keeping:Z
21459 move-object/from16 v2, p0
21461 move-object/from16 v3, p1
21469 move-object/from16 v7, p5
21473 invoke-direct/range {v2 .. v9}, Lcom/android/server/am/ActivityManagerService;->computeOomAdjLocked(Lcom/android/server/am/ProcessRecord;IIILcom/android/server/am/ProcessRecord;ZZ)I
21475 move-object/from16 v0, p1
21477 iget v2, v0, Lcom/android/server/am/ProcessRecord;->curRawAdj:I
21479 move-object/from16 v0, p1
21481 iget v3, v0, Lcom/android/server/am/ProcessRecord;->setRawAdj:I
21483 if-eq v2, v3, :cond_73
21485 if-eqz v15, :cond_6b
21487 move-object/from16 v0, p1
21489 iget-boolean v2, v0, Lcom/android/server/am/ProcessRecord;->keeping:Z
21491 if-nez v2, :cond_6b
21493 move-object/from16 v0, p0
21495 iget-object v2, v0, Lcom/android/server/am/ActivityManagerService;->mBatteryStatsService:Lcom/android/server/am/BatteryStatsService;
21497 invoke-virtual {v2}, Lcom/android/server/am/BatteryStatsService;->getActiveStatistics()Lcom/android/internal/os/BatteryStatsImpl;
21499 move-result-object v13
21504 move-object/from16 v0, p1
21506 iget-object v2, v0, Lcom/android/server/am/ProcessRecord;->info:Landroid/content/pm/ApplicationInfo;
21508 iget v2, v2, Landroid/content/pm/ApplicationInfo;->uid:I
21510 move-object/from16 v0, p1
21512 iget v3, v0, Lcom/android/server/am/ProcessRecord;->pid:I
21514 invoke-static {}, Landroid/os/SystemClock;->elapsedRealtime()J
21516 move-result-wide v4
21518 invoke-virtual {v13, v2, v3, v4, v5}, Lcom/android/internal/os/BatteryStatsImpl;->getProcessWakeTime(IIJ)J
21520 move-result-wide v2
21522 move-object/from16 v0, p1
21524 iput-wide v2, v0, Lcom/android/server/am/ProcessRecord;->lastWakeTime:J
21528 .catchall {:try_start_4c .. :try_end_63} :catchall_121
21530 move-object/from16 v0, p1
21532 iget-wide v2, v0, Lcom/android/server/am/ProcessRecord;->curCpuTime:J
21534 move-object/from16 v0, p1
21536 iput-wide v2, v0, Lcom/android/server/am/ProcessRecord;->lastCpuTime:J
21539 move-object/from16 v0, p1
21541 iget v2, v0, Lcom/android/server/am/ProcessRecord;->curRawAdj:I
21543 move-object/from16 v0, p1
21545 iput v2, v0, Lcom/android/server/am/ProcessRecord;->setRawAdj:I
21548 move-object/from16 v0, p1
21550 iget v2, v0, Lcom/android/server/am/ProcessRecord;->curAdj:I
21552 move-object/from16 v0, p1
21554 iget v3, v0, Lcom/android/server/am/ProcessRecord;->setAdj:I
21556 if-eq v2, v3, :cond_93
21558 move-object/from16 v0, p1
21560 iget v2, v0, Lcom/android/server/am/ProcessRecord;->pid:I
21562 move-object/from16 v0, p1
21564 iget v3, v0, Lcom/android/server/am/ProcessRecord;->curAdj:I
21566 invoke-static {v2, v3}, Landroid/os/Process;->setOomAdj(II)Z
21570 if-eqz v2, :cond_124
21572 move-object/from16 v0, p1
21574 iget v2, v0, Lcom/android/server/am/ProcessRecord;->curAdj:I
21576 move-object/from16 v0, p1
21578 iput v2, v0, Lcom/android/server/am/ProcessRecord;->setAdj:I
21582 move-object/from16 v0, p1
21584 iget v2, v0, Lcom/android/server/am/ProcessRecord;->setSchedGroup:I
21586 move-object/from16 v0, p1
21588 iget v3, v0, Lcom/android/server/am/ProcessRecord;->curSchedGroup:I
21590 if-eq v2, v3, :cond_19
21592 move-object/from16 v0, p1
21594 iget v2, v0, Lcom/android/server/am/ProcessRecord;->curSchedGroup:I
21596 move-object/from16 v0, p1
21598 iput v2, v0, Lcom/android/server/am/ProcessRecord;->setSchedGroup:I
21600 move-object/from16 v0, p1
21602 iget-object v2, v0, Lcom/android/server/am/ProcessRecord;->waitingToKill:Ljava/lang/String;
21604 if-eqz v2, :cond_14f
21606 move-object/from16 v0, p1
21608 iget v2, v0, Lcom/android/server/am/ProcessRecord;->setSchedGroup:I
21610 if-nez v2, :cond_14f
21612 const-string v2, "ActivityManager"
21614 new-instance v3, Ljava/lang/StringBuilder;
21616 invoke-direct {v3}, Ljava/lang/StringBuilder;-><init>()V
21618 const-string v4, "Killing "
21620 invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
21622 move-result-object v3
21624 invoke-virtual/range {p1 .. p1}, Lcom/android/server/am/ProcessRecord;->toShortString()Ljava/lang/String;
21626 move-result-object v4
21628 invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
21630 move-result-object v3
21632 const-string v4, ": "
21634 invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
21636 move-result-object v3
21638 move-object/from16 v0, p1
21640 iget-object v4, v0, Lcom/android/server/am/ProcessRecord;->waitingToKill:Ljava/lang/String;
21642 invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
21644 move-result-object v3
21646 invoke-virtual {v3}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
21648 move-result-object v3
21650 invoke-static {v2, v3}, Landroid/util/Slog;->i(Ljava/lang/String;Ljava/lang/String;)I
21652 const/16 v2, 0x7547
21656 new-array v3, v3, [Ljava/lang/Object;
21660 move-object/from16 v0, p1
21662 iget v5, v0, Lcom/android/server/am/ProcessRecord;->userId:I
21664 invoke-static {v5}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
21666 move-result-object v5
21668 aput-object v5, v3, v4
21672 move-object/from16 v0, p1
21674 iget v5, v0, Lcom/android/server/am/ProcessRecord;->pid:I
21676 invoke-static {v5}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
21678 move-result-object v5
21680 aput-object v5, v3, v4
21684 move-object/from16 v0, p1
21686 iget-object v5, v0, Lcom/android/server/am/ProcessRecord;->processName:Ljava/lang/String;
21688 aput-object v5, v3, v4
21692 move-object/from16 v0, p1
21694 iget v5, v0, Lcom/android/server/am/ProcessRecord;->setAdj:I
21696 invoke-static {v5}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
21698 move-result-object v5
21700 aput-object v5, v3, v4
21704 move-object/from16 v0, p1
21706 iget-object v5, v0, Lcom/android/server/am/ProcessRecord;->waitingToKill:Ljava/lang/String;
21708 aput-object v5, v3, v4
21710 invoke-static {v2, v3}, Landroid/util/EventLog;->writeEvent(I[Ljava/lang/Object;)I
21714 move-object/from16 v0, p1
21716 iput-boolean v2, v0, Lcom/android/server/am/ProcessRecord;->killedBackground:Z
21718 move-object/from16 v0, p1
21720 iget v2, v0, Lcom/android/server/am/ProcessRecord;->pid:I
21722 invoke-static {v2}, Landroid/os/Process;->killProcessQuiet(I)V
21734 .catchall {:try_start_122 .. :try_end_123} :catchall_121
21741 const-string v2, "ActivityManager"
21743 new-instance v3, Ljava/lang/StringBuilder;
21745 invoke-direct {v3}, Ljava/lang/StringBuilder;-><init>()V
21747 const-string v4, "Failed setting oom adj of "
21749 invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
21751 move-result-object v3
21753 move-object/from16 v0, p1
21755 invoke-virtual {v3, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
21757 move-result-object v3
21759 const-string v4, " to "
21761 invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
21763 move-result-object v3
21765 move-object/from16 v0, p1
21767 iget v4, v0, Lcom/android/server/am/ProcessRecord;->curAdj:I
21769 invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
21771 move-result-object v3
21773 invoke-virtual {v3}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
21775 move-result-object v3
21777 invoke-static {v2, v3}, Landroid/util/Slog;->w(Ljava/lang/String;Ljava/lang/String;)I
21782 invoke-static {}, Landroid/os/Binder;->clearCallingIdentity()J
21784 move-result-wide v11
21787 move-object/from16 v0, p1
21789 iget v2, v0, Lcom/android/server/am/ProcessRecord;->pid:I
21791 move-object/from16 v0, p1
21793 iget v3, v0, Lcom/android/server/am/ProcessRecord;->curSchedGroup:I
21795 invoke-static {v2, v3}, Landroid/os/Process;->setProcessGroup(II)V
21797 .catchall {:try_start_153 .. :try_end_15e} :catchall_192
21798 .catch Ljava/lang/Exception; {:try_start_153 .. :try_end_15e} :catch_163
21801 invoke-static {v11, v12}, Landroid/os/Binder;->restoreCallingIdentity(J)V
21809 const-string v2, "ActivityManager"
21811 new-instance v3, Ljava/lang/StringBuilder;
21813 invoke-direct {v3}, Ljava/lang/StringBuilder;-><init>()V
21815 const-string v4, "Failed setting process group of "
21817 invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
21819 move-result-object v3
21821 move-object/from16 v0, p1
21823 iget v4, v0, Lcom/android/server/am/ProcessRecord;->pid:I
21825 invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
21827 move-result-object v3
21829 const-string v4, " to "
21831 invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
21833 move-result-object v3
21835 move-object/from16 v0, p1
21837 iget v4, v0, Lcom/android/server/am/ProcessRecord;->curSchedGroup:I
21839 invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
21841 move-result-object v3
21843 invoke-virtual {v3}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
21845 move-result-object v3
21847 invoke-static {v2, v3}, Landroid/util/Slog;->w(Ljava/lang/String;Ljava/lang/String;)I
21849 invoke-virtual {v10}, Ljava/lang/Exception;->printStackTrace()V
21851 .catchall {:try_start_164 .. :try_end_191} :catchall_192
21858 invoke-static {v11, v12}, Landroid/os/Binder;->restoreCallingIdentity(J)V
21863 .method private updateStartedUserArrayLocked()V
21875 iget-object v3, p0, Lcom/android/server/am/ActivityManagerService;->mStartedUsers:Landroid/util/SparseArray;
21877 invoke-virtual {v3}, Landroid/util/SparseArray;->size()I
21881 if-ge v0, v3, :cond_21
21883 iget-object v3, p0, Lcom/android/server/am/ActivityManagerService;->mStartedUsers:Landroid/util/SparseArray;
21885 invoke-virtual {v3, v0}, Landroid/util/SparseArray;->valueAt(I)Ljava/lang/Object;
21887 move-result-object v2
21889 check-cast v2, Lcom/android/server/am/UserStartedState;
21891 iget v3, v2, Lcom/android/server/am/UserStartedState;->mState:I
21893 if-eq v3, v5, :cond_1e
21895 iget v3, v2, Lcom/android/server/am/UserStartedState;->mState:I
21897 if-eq v3, v6, :cond_1e
21899 add-int/lit8 v1, v1, 0x1
21902 add-int/lit8 v0, v0, 0x1
21907 new-array v3, v1, [I
21909 iput-object v3, p0, Lcom/android/server/am/ActivityManagerService;->mStartedUserArray:[I
21916 iget-object v3, p0, Lcom/android/server/am/ActivityManagerService;->mStartedUsers:Landroid/util/SparseArray;
21918 invoke-virtual {v3}, Landroid/util/SparseArray;->size()I
21922 if-ge v0, v3, :cond_4e
21924 iget-object v3, p0, Lcom/android/server/am/ActivityManagerService;->mStartedUsers:Landroid/util/SparseArray;
21926 invoke-virtual {v3, v0}, Landroid/util/SparseArray;->valueAt(I)Ljava/lang/Object;
21928 move-result-object v2
21930 check-cast v2, Lcom/android/server/am/UserStartedState;
21932 iget v3, v2, Lcom/android/server/am/UserStartedState;->mState:I
21934 if-eq v3, v5, :cond_4b
21936 iget v3, v2, Lcom/android/server/am/UserStartedState;->mState:I
21938 if-eq v3, v6, :cond_4b
21940 iget-object v3, p0, Lcom/android/server/am/ActivityManagerService;->mStartedUserArray:[I
21942 iget-object v4, p0, Lcom/android/server/am/ActivityManagerService;->mStartedUsers:Landroid/util/SparseArray;
21944 invoke-virtual {v4, v0}, Landroid/util/SparseArray;->keyAt(I)I
21950 add-int/lit8 v1, v1, 0x1
21953 add-int/lit8 v0, v0, 0x1
21961 .method private userExists(I)Z
21975 invoke-virtual {p0}, Lcom/android/server/am/ActivityManagerService;->getUserManagerLocked()Lcom/android/server/pm/UserManagerService;
21977 move-result-object v0
21979 if-eqz v0, :cond_13
21981 invoke-virtual {v0, p1}, Lcom/android/server/pm/UserManagerService;->getUserInfo(I)Landroid/content/pm/UserInfo;
21983 move-result-object v3
21997 .method private static writeLastDonePreBootReceivers(Ljava/util/ArrayList;)V
21999 .annotation system Ldalvik/annotation/Signature;
22002 "Ljava/util/ArrayList",
22004 "Landroid/content/ComponentName;",
22009 invoke-static {}, Lcom/android/server/am/ActivityManagerService;->getCalledPreBootReceiversFile()Ljava/io/File;
22011 move-result-object v3
22018 const-string v7, "ActivityManager"
22020 const-string v8, "Writing new set of last done pre-boot receivers..."
22022 invoke-static {v7, v8}, Landroid/util/Slog;->i(Ljava/lang/String;Ljava/lang/String;)I
22024 new-instance v5, Ljava/io/FileOutputStream;
22026 invoke-direct {v5, v3}, Ljava/io/FileOutputStream;-><init>(Ljava/io/File;)V
22028 .catchall {:try_start_6 .. :try_end_12} :catchall_81
22029 .catch Ljava/io/IOException; {:try_start_6 .. :try_end_12} :catch_68
22032 new-instance v1, Ljava/io/DataOutputStream;
22034 new-instance v7, Ljava/io/BufferedOutputStream;
22038 invoke-direct {v7, v5, v8}, Ljava/io/BufferedOutputStream;-><init>(Ljava/io/OutputStream;I)V
22040 invoke-direct {v1, v7}, Ljava/io/DataOutputStream;-><init>(Ljava/io/OutputStream;)V
22042 .catchall {:try_start_12 .. :try_end_1e} :catchall_95
22043 .catch Ljava/io/IOException; {:try_start_12 .. :try_end_1e} :catch_9c
22045 const/16 v7, 0x2710
22048 invoke-virtual {v1, v7}, Ljava/io/DataOutputStream;->writeInt(I)V
22050 sget-object v7, Landroid/os/Build$VERSION;->RELEASE:Ljava/lang/String;
22052 invoke-virtual {v1, v7}, Ljava/io/DataOutputStream;->writeUTF(Ljava/lang/String;)V
22054 sget-object v7, Landroid/os/Build$VERSION;->CODENAME:Ljava/lang/String;
22056 invoke-virtual {v1, v7}, Ljava/io/DataOutputStream;->writeUTF(Ljava/lang/String;)V
22058 sget-object v7, Landroid/os/Build$VERSION;->INCREMENTAL:Ljava/lang/String;
22060 invoke-virtual {v1, v7}, Ljava/io/DataOutputStream;->writeUTF(Ljava/lang/String;)V
22062 invoke-virtual {p0}, Ljava/util/ArrayList;->size()I
22066 invoke-virtual {v1, v7}, Ljava/io/DataOutputStream;->writeInt(I)V
22071 invoke-virtual {p0}, Ljava/util/ArrayList;->size()I
22075 if-ge v6, v7, :cond_5d
22077 invoke-virtual {p0, v6}, Ljava/util/ArrayList;->get(I)Ljava/lang/Object;
22079 move-result-object v7
22081 check-cast v7, Landroid/content/ComponentName;
22083 invoke-virtual {v7}, Landroid/content/ComponentName;->getPackageName()Ljava/lang/String;
22085 move-result-object v7
22087 invoke-virtual {v1, v7}, Ljava/io/DataOutputStream;->writeUTF(Ljava/lang/String;)V
22089 invoke-virtual {p0, v6}, Ljava/util/ArrayList;->get(I)Ljava/lang/Object;
22091 move-result-object v7
22093 check-cast v7, Landroid/content/ComponentName;
22095 invoke-virtual {v7}, Landroid/content/ComponentName;->getClassName()Ljava/lang/String;
22097 move-result-object v7
22099 invoke-virtual {v1, v7}, Ljava/io/DataOutputStream;->writeUTF(Ljava/lang/String;)V
22101 .catchall {:try_start_20 .. :try_end_5a} :catchall_98
22102 .catch Ljava/io/IOException; {:try_start_20 .. :try_end_5a} :catch_9f
22104 add-int/lit8 v6, v6, 0x1
22109 invoke-static {v5}, Landroid/os/FileUtils;->sync(Ljava/io/FileOutputStream;)Z
22111 if-eqz v1, :cond_65
22114 invoke-virtual {v1}, Ljava/io/DataOutputStream;->close()V
22116 .catch Ljava/io/IOException; {:try_start_62 .. :try_end_65} :catch_90
22133 const-string v7, "ActivityManager"
22135 const-string v8, "Failure writing last done pre-boot receivers"
22137 invoke-static {v7, v8, v2}, Landroid/util/Slog;->w(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I
22139 invoke-virtual {v3}, Ljava/io/File;->delete()Z
22141 .catchall {:try_start_69 .. :try_end_73} :catchall_81
22143 invoke-static {v4}, Landroid/os/FileUtils;->sync(Ljava/io/FileOutputStream;)Z
22145 if-eqz v0, :cond_67
22148 invoke-virtual {v0}, Ljava/io/DataOutputStream;->close()V
22150 .catch Ljava/io/IOException; {:try_start_78 .. :try_end_7b} :catch_7c
22157 invoke-virtual {v2}, Ljava/io/IOException;->printStackTrace()V
22165 invoke-static {v4}, Landroid/os/FileUtils;->sync(Ljava/io/FileOutputStream;)Z
22167 if-eqz v0, :cond_8a
22170 invoke-virtual {v0}, Ljava/io/DataOutputStream;->close()V
22172 .catch Ljava/io/IOException; {:try_start_87 .. :try_end_8a} :catch_8b
22181 invoke-virtual {v2}, Ljava/io/IOException;->printStackTrace()V
22188 invoke-virtual {v2}, Ljava/io/IOException;->printStackTrace()V
22227 .method public final activityDestroyed(Landroid/os/IBinder;)V
22230 iget-object v0, p0, Lcom/android/server/am/ActivityManagerService;->mMainStack:Lcom/android/server/am/ActivityStack;
22232 invoke-virtual {v0, p1}, Lcom/android/server/am/ActivityStack;->activityDestroyed(Landroid/os/IBinder;)V
22237 .method public final activityIdle(Landroid/os/IBinder;Landroid/content/res/Configuration;Z)V
22240 invoke-static {}, Landroid/os/Binder;->clearCallingIdentity()J
22242 move-result-wide v0
22244 iget-object v3, p0, Lcom/android/server/am/ActivityManagerService;->mMainStack:Lcom/android/server/am/ActivityStack;
22248 invoke-virtual {v3, p1, v4, p2}, Lcom/android/server/am/ActivityStack;->activityIdleInternal(Landroid/os/IBinder;ZLandroid/content/res/Configuration;)Lcom/android/server/am/ActivityRecord;
22250 move-result-object v2
22252 if-eqz p3, :cond_21
22257 iget-object v3, p0, Lcom/android/server/am/ActivityManagerService;->mProfileProc:Lcom/android/server/am/ProcessRecord;
22259 iget-object v4, v2, Lcom/android/server/am/ActivityRecord;->app:Lcom/android/server/am/ProcessRecord;
22261 if-ne v3, v4, :cond_20
22263 iget-object v3, p0, Lcom/android/server/am/ActivityManagerService;->mProfileFd:Landroid/os/ParcelFileDescriptor;
22265 .catchall {:try_start_e .. :try_end_16} :catchall_25
22267 if-eqz v3, :cond_20
22270 iget-object v3, p0, Lcom/android/server/am/ActivityManagerService;->mProfileFd:Landroid/os/ParcelFileDescriptor;
22272 invoke-virtual {v3}, Landroid/os/ParcelFileDescriptor;->close()V
22274 .catchall {:try_start_18 .. :try_end_1d} :catchall_25
22275 .catch Ljava/io/IOException; {:try_start_18 .. :try_end_1d} :catch_28
22279 invoke-direct {p0}, Lcom/android/server/am/ActivityManagerService;->clearProfilerLocked()V
22284 .catchall {:try_start_1d .. :try_end_21} :catchall_25
22287 invoke-static {v0, v1}, Landroid/os/Binder;->restoreCallingIdentity(J)V
22297 .catchall {:try_start_26 .. :try_end_27} :catchall_25
22307 .method public final activityPaused(Landroid/os/IBinder;)V
22310 invoke-static {}, Landroid/os/Binder;->clearCallingIdentity()J
22312 move-result-wide v0
22314 iget-object v2, p0, Lcom/android/server/am/ActivityManagerService;->mMainStack:Lcom/android/server/am/ActivityStack;
22318 invoke-virtual {v2, p1, v3}, Lcom/android/server/am/ActivityStack;->activityPaused(Landroid/os/IBinder;Z)V
22320 invoke-static {v0, v1}, Landroid/os/Binder;->restoreCallingIdentity(J)V
22325 .method public final activityResumed(Landroid/os/IBinder;)V
22328 invoke-static {}, Landroid/os/Binder;->clearCallingIdentity()J
22330 move-result-wide v0
22332 iget-object v2, p0, Lcom/android/server/am/ActivityManagerService;->mMainStack:Lcom/android/server/am/ActivityStack;
22334 invoke-virtual {v2, p1}, Lcom/android/server/am/ActivityStack;->activityResumed(Landroid/os/IBinder;)V
22336 invoke-static {v0, v1}, Landroid/os/Binder;->restoreCallingIdentity(J)V
22341 .method public final activitySlept(Landroid/os/IBinder;)V
22346 invoke-static {}, Landroid/os/Binder;->clearCallingIdentity()J
22348 move-result-wide v0
22353 iget-object v3, p0, Lcom/android/server/am/ActivityManagerService;->mMainStack:Lcom/android/server/am/ActivityStack;
22355 invoke-virtual {v3, p1}, Lcom/android/server/am/ActivityStack;->isInStackLocked(Landroid/os/IBinder;)Lcom/android/server/am/ActivityRecord;
22357 move-result-object v2
22359 if-eqz v2, :cond_13
22361 iget-object v3, p0, Lcom/android/server/am/ActivityManagerService;->mMainStack:Lcom/android/server/am/ActivityStack;
22363 invoke-virtual {v3, v2}, Lcom/android/server/am/ActivityStack;->activitySleptLocked(Lcom/android/server/am/ActivityRecord;)V
22368 .catchall {:try_start_6 .. :try_end_14} :catchall_18
22370 invoke-static {v0, v1}, Landroid/os/Binder;->restoreCallingIdentity(J)V
22380 .catchall {:try_start_19 .. :try_end_1a} :catchall_18
22385 .method public final activityStopped(Landroid/os/IBinder;Landroid/os/Bundle;Landroid/graphics/Bitmap;Ljava/lang/CharSequence;)V
22390 if-eqz p2, :cond_11
22392 invoke-virtual {p2}, Landroid/os/Bundle;->hasFileDescriptors()Z
22396 if-eqz v0, :cond_11
22398 new-instance v0, Ljava/lang/IllegalArgumentException;
22400 const-string v2, "File descriptors passed in Bundle"
22402 invoke-direct {v0, v2}, Ljava/lang/IllegalArgumentException;-><init>(Ljava/lang/String;)V
22409 invoke-static {}, Landroid/os/Binder;->clearCallingIdentity()J
22411 move-result-wide v6
22416 iget-object v0, p0, Lcom/android/server/am/ActivityManagerService;->mMainStack:Lcom/android/server/am/ActivityStack;
22418 invoke-virtual {v0, p1}, Lcom/android/server/am/ActivityStack;->isInStackLocked(Landroid/os/IBinder;)Lcom/android/server/am/ActivityRecord;
22420 move-result-object v1
22422 if-eqz v1, :cond_24
22424 iget-object v0, v1, Lcom/android/server/am/ActivityRecord;->stack:Lcom/android/server/am/ActivityStack;
22426 invoke-virtual {v0, v1, p2, p3, p4}, Lcom/android/server/am/ActivityStack;->activityStoppedLocked(Lcom/android/server/am/ActivityRecord;Landroid/os/Bundle;Landroid/graphics/Bitmap;Ljava/lang/CharSequence;)V
22431 .catchall {:try_start_17 .. :try_end_25} :catchall_35
22433 if-eqz v1, :cond_2e
22443 invoke-virtual/range {v0 .. v5}, Lcom/android/server/am/ActivityManagerService;->sendPendingThumbnail(Lcom/android/server/am/ActivityRecord;Landroid/os/IBinder;Landroid/graphics/Bitmap;Ljava/lang/CharSequence;Z)V
22446 invoke-virtual {p0}, Lcom/android/server/am/ActivityManagerService;->trimApplications()V
22448 invoke-static {v6, v7}, Landroid/os/Binder;->restoreCallingIdentity(J)V
22458 .catchall {:try_start_36 .. :try_end_37} :catchall_35
22463 .method final addAppLocked(Landroid/content/pm/ApplicationInfo;Z)Lcom/android/server/am/ProcessRecord;
22470 if-nez p2, :cond_5e
22472 iget-object v2, p1, Landroid/content/pm/ApplicationInfo;->processName:Ljava/lang/String;
22474 iget v3, p1, Landroid/content/pm/ApplicationInfo;->uid:I
22476 invoke-virtual {p0, v2, v3}, Lcom/android/server/am/ActivityManagerService;->getProcessRecordLocked(Ljava/lang/String;I)Lcom/android/server/am/ProcessRecord;
22478 move-result-object v0
22481 if-nez v0, :cond_27
22483 invoke-virtual {p0, v4, p1, v4, p2}, Lcom/android/server/am/ActivityManagerService;->newProcessRecordLocked(Landroid/app/IApplicationThread;Landroid/content/pm/ApplicationInfo;Ljava/lang/String;Z)Lcom/android/server/am/ProcessRecord;
22485 move-result-object v0
22487 iget-object v2, p0, Lcom/android/server/am/ActivityManagerService;->mProcessNames:Lcom/android/server/ProcessMap;
22489 iget-object v3, p1, Landroid/content/pm/ApplicationInfo;->processName:Ljava/lang/String;
22491 iget v4, v0, Lcom/android/server/am/ProcessRecord;->uid:I
22493 invoke-virtual {v2, v3, v4, v0}, Lcom/android/server/ProcessMap;->put(Ljava/lang/String;ILjava/lang/Object;)Ljava/lang/Object;
22495 if-eqz p2, :cond_24
22497 iget-object v2, p0, Lcom/android/server/am/ActivityManagerService;->mIsolatedProcesses:Landroid/util/SparseArray;
22499 iget v3, v0, Lcom/android/server/am/ProcessRecord;->uid:I
22501 invoke-virtual {v2, v3, v0}, Landroid/util/SparseArray;->put(ILjava/lang/Object;)V
22504 invoke-virtual {p0, v0, v6}, Lcom/android/server/am/ActivityManagerService;->updateLruProcessLocked(Lcom/android/server/am/ProcessRecord;Z)V
22508 invoke-static {}, Landroid/app/AppGlobals;->getPackageManager()Landroid/content/pm/IPackageManager;
22510 move-result-object v2
22512 iget-object v3, p1, Landroid/content/pm/ApplicationInfo;->packageName:Ljava/lang/String;
22516 iget v5, v0, Lcom/android/server/am/ProcessRecord;->uid:I
22518 invoke-static {v5}, Landroid/os/UserHandle;->getUserId(I)I
22522 invoke-interface {v2, v3, v4, v5}, Landroid/content/pm/IPackageManager;->setPackageStoppedState(Ljava/lang/String;ZI)V
22524 .catch Landroid/os/RemoteException; {:try_start_27 .. :try_end_37} :catch_86
22525 .catch Ljava/lang/IllegalArgumentException; {:try_start_27 .. :try_end_37} :catch_60
22528 iget v2, p1, Landroid/content/pm/ApplicationInfo;->flags:I
22530 and-int/lit8 v2, v2, 0x9
22534 if-ne v2, v3, :cond_45
22536 iput-boolean v6, v0, Lcom/android/server/am/ProcessRecord;->persistent:Z
22540 iput v2, v0, Lcom/android/server/am/ProcessRecord;->maxAdj:I
22543 iget-object v2, v0, Lcom/android/server/am/ProcessRecord;->thread:Landroid/app/IApplicationThread;
22545 if-nez v2, :cond_5d
22547 iget-object v2, p0, Lcom/android/server/am/ActivityManagerService;->mPersistentStartingProcesses:Ljava/util/ArrayList;
22549 invoke-virtual {v2, v0}, Ljava/util/ArrayList;->indexOf(Ljava/lang/Object;)I
22553 if-gez v2, :cond_5d
22555 iget-object v2, p0, Lcom/android/server/am/ActivityManagerService;->mPersistentStartingProcesses:Ljava/util/ArrayList;
22557 invoke-virtual {v2, v0}, Ljava/util/ArrayList;->add(Ljava/lang/Object;)Z
22559 const-string v2, "added application"
22561 iget-object v3, v0, Lcom/android/server/am/ProcessRecord;->processName:Ljava/lang/String;
22563 invoke-direct {p0, v0, v2, v3}, Lcom/android/server/am/ActivityManagerService;->startProcessLocked(Lcom/android/server/am/ProcessRecord;Ljava/lang/String;Ljava/lang/String;)V
22576 const-string v2, "ActivityManager"
22578 new-instance v3, Ljava/lang/StringBuilder;
22580 invoke-direct {v3}, Ljava/lang/StringBuilder;-><init>()V
22582 const-string v4, "Failed trying to unstop package "
22584 invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
22586 move-result-object v3
22588 iget-object v4, p1, Landroid/content/pm/ApplicationInfo;->packageName:Ljava/lang/String;
22590 invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
22592 move-result-object v3
22594 const-string v4, ": "
22596 invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
22598 move-result-object v3
22600 invoke-virtual {v3, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
22602 move-result-object v3
22604 invoke-virtual {v3}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
22606 move-result-object v3
22608 invoke-static {v2, v3}, Landroid/util/Slog;->w(Ljava/lang/String;Ljava/lang/String;)I
22618 .method public addErrorToDropBox(Ljava/lang/String;Lcom/android/server/am/ProcessRecord;Ljava/lang/String;Lcom/android/server/am/ActivityRecord;Lcom/android/server/am/ActivityRecord;Ljava/lang/String;Ljava/lang/String;Ljava/io/File;Landroid/app/ApplicationErrorReport$CrashInfo;)V
22621 new-instance v1, Ljava/lang/StringBuilder;
22623 invoke-direct {v1}, Ljava/lang/StringBuilder;-><init>()V
22625 invoke-static {p2}, Lcom/android/server/am/ActivityManagerService;->processClass(Lcom/android/server/am/ProcessRecord;)Ljava/lang/String;
22627 move-result-object v2
22629 invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
22631 move-result-object v1
22633 const-string v2, "_"
22635 invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
22637 move-result-object v1
22639 invoke-virtual {v1, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
22641 move-result-object v1
22643 invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
22645 move-result-object v7
22647 iget-object v1, p0, Lcom/android/server/am/ActivityManagerService;->mContext:Landroid/content/Context;
22649 const-string v2, "dropbox"
22651 invoke-virtual {v1, v2}, Landroid/content/Context;->getSystemService(Ljava/lang/String;)Ljava/lang/Object;
22653 move-result-object v8
22655 check-cast v8, Landroid/os/DropBoxManager;
22657 if-eqz v8, :cond_2d
22659 invoke-virtual {v8, v7}, Landroid/os/DropBoxManager;->isTagEnabled(Ljava/lang/String;)Z
22663 if-nez v1, :cond_2e
22670 new-instance v4, Ljava/lang/StringBuilder;
22674 invoke-direct {v4, v1}, Ljava/lang/StringBuilder;-><init>(I)V
22676 invoke-direct {p0, p2, p3, v4}, Lcom/android/server/am/ActivityManagerService;->appendDropBoxProcessHeaders(Lcom/android/server/am/ProcessRecord;Ljava/lang/String;Ljava/lang/StringBuilder;)V
22678 if-eqz p4, :cond_4b
22680 const-string v1, "Activity: "
22682 invoke-virtual {v4, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
22684 move-result-object v1
22686 iget-object v2, p4, Lcom/android/server/am/ActivityRecord;->shortComponentName:Ljava/lang/String;
22688 invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
22690 move-result-object v1
22692 const-string v2, "\n"
22694 invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
22697 if-eqz p5, :cond_6c
22699 iget-object v1, p5, Lcom/android/server/am/ActivityRecord;->app:Lcom/android/server/am/ProcessRecord;
22701 if-eqz v1, :cond_6c
22703 iget-object v1, p5, Lcom/android/server/am/ActivityRecord;->app:Lcom/android/server/am/ProcessRecord;
22705 iget v1, v1, Lcom/android/server/am/ProcessRecord;->pid:I
22707 iget v2, p2, Lcom/android/server/am/ProcessRecord;->pid:I
22709 if-eq v1, v2, :cond_6c
22711 const-string v1, "Parent-Process: "
22713 invoke-virtual {v4, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
22715 move-result-object v1
22717 iget-object v2, p5, Lcom/android/server/am/ActivityRecord;->app:Lcom/android/server/am/ProcessRecord;
22719 iget-object v2, v2, Lcom/android/server/am/ProcessRecord;->processName:Ljava/lang/String;
22721 invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
22723 move-result-object v1
22725 const-string v2, "\n"
22727 invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
22730 if-eqz p5, :cond_81
22732 if-eq p5, p4, :cond_81
22734 const-string v1, "Parent-Activity: "
22736 invoke-virtual {v4, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
22738 move-result-object v1
22740 iget-object v2, p5, Lcom/android/server/am/ActivityRecord;->shortComponentName:Ljava/lang/String;
22742 invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
22744 move-result-object v1
22746 const-string v2, "\n"
22748 invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
22751 if-eqz p6, :cond_92
22753 const-string v1, "Subject: "
22755 invoke-virtual {v4, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
22757 move-result-object v1
22759 invoke-virtual {v1, p6}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
22761 move-result-object v1
22763 const-string v2, "\n"
22765 invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
22768 const-string v1, "Build: "
22770 invoke-virtual {v4, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
22772 move-result-object v1
22774 sget-object v2, Landroid/os/Build;->FINGERPRINT:Ljava/lang/String;
22776 invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
22778 move-result-object v1
22780 const-string v2, "\n"
22782 invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
22784 invoke-static {}, Landroid/os/Debug;->isDebuggerConnected()Z
22788 if-eqz v1, :cond_ae
22790 const-string v1, "Debugger: Connected\n"
22792 invoke-virtual {v4, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
22795 const-string v1, "\n"
22797 invoke-virtual {v4, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
22799 new-instance v0, Lcom/android/server/am/ActivityManagerService$13;
22801 new-instance v1, Ljava/lang/StringBuilder;
22803 invoke-direct {v1}, Ljava/lang/StringBuilder;-><init>()V
22805 const-string v2, "Error dump: "
22807 invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
22809 move-result-object v1
22811 invoke-virtual {v1, v7}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
22813 move-result-object v1
22815 invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
22817 move-result-object v2
22821 move-object/from16 v3, p7
22823 move-object/from16 v5, p8
22825 move-object/from16 v6, p9
22827 invoke-direct/range {v0 .. v8}, Lcom/android/server/am/ActivityManagerService$13;-><init>(Lcom/android/server/am/ActivityManagerService;Ljava/lang/String;Ljava/lang/String;Ljava/lang/StringBuilder;Ljava/io/File;Landroid/app/ApplicationErrorReport$CrashInfo;Ljava/lang/String;Landroid/os/DropBoxManager;)V
22829 if-nez p2, :cond_d9
22831 invoke-virtual {v0}, Ljava/lang/Thread;->run()V
22836 invoke-virtual {v0}, Ljava/lang/Thread;->start()V
22841 .method final addProcessToGcListLocked(Lcom/android/server/am/ProcessRecord;)V
22846 iget-object v2, p0, Lcom/android/server/am/ActivityManagerService;->mProcessesToGc:Ljava/util/ArrayList;
22848 invoke-virtual {v2}, Ljava/util/ArrayList;->size()I
22852 add-int/lit8 v1, v2, -0x1
22855 if-ltz v1, :cond_23
22857 iget-object v2, p0, Lcom/android/server/am/ActivityManagerService;->mProcessesToGc:Ljava/util/ArrayList;
22859 invoke-virtual {v2, v1}, Ljava/util/ArrayList;->get(I)Ljava/lang/Object;
22861 move-result-object v2
22863 check-cast v2, Lcom/android/server/am/ProcessRecord;
22865 iget-wide v2, v2, Lcom/android/server/am/ProcessRecord;->lastRequestedGc:J
22867 iget-wide v4, p1, Lcom/android/server/am/ProcessRecord;->lastRequestedGc:J
22869 cmp-long v2, v2, v4
22871 if-gez v2, :cond_2c
22875 iget-object v2, p0, Lcom/android/server/am/ActivityManagerService;->mProcessesToGc:Ljava/util/ArrayList;
22877 add-int/lit8 v3, v1, 0x1
22879 invoke-virtual {v2, v3, p1}, Ljava/util/ArrayList;->add(ILjava/lang/Object;)V
22882 if-nez v0, :cond_2b
22884 iget-object v2, p0, Lcom/android/server/am/ActivityManagerService;->mProcessesToGc:Ljava/util/ArrayList;
22888 invoke-virtual {v2, v3, p1}, Ljava/util/ArrayList;->add(ILjava/lang/Object;)V
22894 add-int/lit8 v1, v1, -0x1
22899 .method final addRecentTaskLocked(Lcom/android/server/am/TaskRecord;)V
22904 iget-object v3, p0, Lcom/android/server/am/ActivityManagerService;->mRecentTasks:Ljava/util/ArrayList;
22906 invoke-virtual {v3}, Ljava/util/ArrayList;->size()I
22910 if-lez v0, :cond_12
22912 iget-object v3, p0, Lcom/android/server/am/ActivityManagerService;->mRecentTasks:Ljava/util/ArrayList;
22914 invoke-virtual {v3, v5}, Ljava/util/ArrayList;->get(I)Ljava/lang/Object;
22916 move-result-object v3
22918 if-ne v3, p1, :cond_12
22927 if-ge v1, v0, :cond_50
22929 iget-object v3, p0, Lcom/android/server/am/ActivityManagerService;->mRecentTasks:Ljava/util/ArrayList;
22931 invoke-virtual {v3, v1}, Ljava/util/ArrayList;->get(I)Ljava/lang/Object;
22933 move-result-object v2
22935 check-cast v2, Lcom/android/server/am/TaskRecord;
22937 iget v3, p1, Lcom/android/server/am/TaskRecord;->userId:I
22939 iget v4, v2, Lcom/android/server/am/TaskRecord;->userId:I
22941 if-ne v3, v4, :cond_4d
22943 iget-object v3, p1, Lcom/android/server/am/TaskRecord;->affinity:Ljava/lang/String;
22945 if-eqz v3, :cond_31
22947 iget-object v3, p1, Lcom/android/server/am/TaskRecord;->affinity:Ljava/lang/String;
22949 iget-object v4, v2, Lcom/android/server/am/TaskRecord;->affinity:Ljava/lang/String;
22951 invoke-virtual {v3, v4}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
22955 if-nez v3, :cond_3f
22958 iget-object v3, p1, Lcom/android/server/am/TaskRecord;->intent:Landroid/content/Intent;
22960 if-eqz v3, :cond_4d
22962 iget-object v3, p1, Lcom/android/server/am/TaskRecord;->intent:Landroid/content/Intent;
22964 iget-object v4, v2, Lcom/android/server/am/TaskRecord;->intent:Landroid/content/Intent;
22966 invoke-virtual {v3, v4}, Landroid/content/Intent;->filterEquals(Landroid/content/Intent;)Z
22970 if-eqz v3, :cond_4d
22973 iget-object v3, p0, Lcom/android/server/am/ActivityManagerService;->mRecentTasks:Ljava/util/ArrayList;
22975 invoke-virtual {v3, v1}, Ljava/util/ArrayList;->remove(I)Ljava/lang/Object;
22977 add-int/lit8 v1, v1, -0x1
22979 add-int/lit8 v0, v0, -0x1
22981 iget-object v3, p1, Lcom/android/server/am/TaskRecord;->intent:Landroid/content/Intent;
22983 if-nez v3, :cond_4d
22988 add-int/lit8 v1, v1, 0x1
22995 if-lt v0, v3, :cond_5b
22997 iget-object v3, p0, Lcom/android/server/am/ActivityManagerService;->mRecentTasks:Ljava/util/ArrayList;
22999 add-int/lit8 v4, v0, -0x1
23001 invoke-virtual {v3, v4}, Ljava/util/ArrayList;->remove(I)Ljava/lang/Object;
23004 iget-object v3, p0, Lcom/android/server/am/ActivityManagerService;->mRecentTasks:Ljava/util/ArrayList;
23006 invoke-virtual {v3, v5, p1}, Ljava/util/ArrayList;->add(ILjava/lang/Object;)V
23011 .method final appDiedLocked(Lcom/android/server/am/ProcessRecord;ILandroid/app/IApplicationThread;)V
23014 iget-object v7, p0, Lcom/android/server/am/ActivityManagerService;->mProcDeaths:[I
23020 add-int/lit8 v9, v9, 0x1
23024 iget-object v7, p0, Lcom/android/server/am/ActivityManagerService;->mBatteryStatsService:Lcom/android/server/am/BatteryStatsService;
23026 invoke-virtual {v7}, Lcom/android/server/am/BatteryStatsService;->getActiveStatistics()Lcom/android/internal/os/BatteryStatsImpl;
23028 move-result-object v6
23033 iget-object v7, p1, Lcom/android/server/am/ProcessRecord;->info:Landroid/content/pm/ApplicationInfo;
23035 iget v7, v7, Landroid/content/pm/ApplicationInfo;->uid:I
23037 invoke-virtual {v6, v7, p2}, Lcom/android/internal/os/BatteryStatsImpl;->noteProcessDiedLocked(II)V
23041 .catchall {:try_start_10 .. :try_end_18} :catchall_ef
23043 iget v7, p1, Lcom/android/server/am/ProcessRecord;->pid:I
23045 if-ne v7, p2, :cond_107
23047 iget-object v7, p1, Lcom/android/server/am/ProcessRecord;->thread:Landroid/app/IApplicationThread;
23049 if-eqz v7, :cond_107
23051 iget-object v7, p1, Lcom/android/server/am/ProcessRecord;->thread:Landroid/app/IApplicationThread;
23053 invoke-interface {v7}, Landroid/app/IApplicationThread;->asBinder()Landroid/os/IBinder;
23055 move-result-object v7
23057 invoke-interface {p3}, Landroid/app/IApplicationThread;->asBinder()Landroid/os/IBinder;
23059 move-result-object v8
23061 if-ne v7, v8, :cond_107
23063 iget-boolean v7, p1, Lcom/android/server/am/ProcessRecord;->killedBackground:Z
23065 if-nez v7, :cond_5a
23067 const-string v7, "ActivityManager"
23069 new-instance v8, Ljava/lang/StringBuilder;
23071 invoke-direct {v8}, Ljava/lang/StringBuilder;-><init>()V
23073 const-string v9, "Process "
23075 invoke-virtual {v8, v9}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
23077 move-result-object v8
23079 iget-object v9, p1, Lcom/android/server/am/ProcessRecord;->processName:Ljava/lang/String;
23081 invoke-virtual {v8, v9}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
23083 move-result-object v8
23085 const-string v9, " (pid "
23087 invoke-virtual {v8, v9}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
23089 move-result-object v8
23091 invoke-virtual {v8, p2}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
23093 move-result-object v8
23095 const-string v9, ") has died."
23097 invoke-virtual {v8, v9}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
23099 move-result-object v8
23101 invoke-virtual {v8}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
23103 move-result-object v8
23105 invoke-static {v7, v8}, Landroid/util/Slog;->i(Ljava/lang/String;Ljava/lang/String;)I
23108 const/16 v7, 0x753b
23112 new-array v8, v8, [Ljava/lang/Object;
23116 iget v10, p1, Lcom/android/server/am/ProcessRecord;->userId:I
23118 invoke-static {v10}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
23120 move-result-object v10
23122 aput-object v10, v8, v9
23126 iget v10, p1, Lcom/android/server/am/ProcessRecord;->pid:I
23128 invoke-static {v10}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
23130 move-result-object v10
23132 aput-object v10, v8, v9
23136 iget-object v10, p1, Lcom/android/server/am/ProcessRecord;->processName:Ljava/lang/String;
23138 aput-object v10, v8, v9
23140 invoke-static {v7, v8}, Landroid/util/EventLog;->writeEvent(I[Ljava/lang/Object;)I
23142 iget-object v7, p1, Lcom/android/server/am/ProcessRecord;->instrumentationClass:Landroid/content/ComponentName;
23144 if-nez v7, :cond_f2
23153 invoke-direct {p0, p1, v7, v8}, Lcom/android/server/am/ActivityManagerService;->handleAppDiedLocked(Lcom/android/server/am/ProcessRecord;ZZ)V
23155 if-eqz v0, :cond_106
23159 iget-object v7, p0, Lcom/android/server/am/ActivityManagerService;->mLruProcesses:Ljava/util/ArrayList;
23161 invoke-virtual {v7}, Ljava/util/ArrayList;->size()I
23165 add-int/lit8 v2, v7, -0x1
23168 if-ltz v2, :cond_a3
23170 iget-object v7, p0, Lcom/android/server/am/ActivityManagerService;->mLruProcesses:Ljava/util/ArrayList;
23172 invoke-virtual {v7, v2}, Ljava/util/ArrayList;->get(I)Ljava/lang/Object;
23174 move-result-object v5
23176 check-cast v5, Lcom/android/server/am/ProcessRecord;
23178 iget-object v7, v5, Lcom/android/server/am/ProcessRecord;->thread:Landroid/app/IApplicationThread;
23180 if-eqz v7, :cond_f4
23182 iget v7, v5, Lcom/android/server/am/ProcessRecord;->setAdj:I
23184 sget v8, Lcom/android/server/am/ProcessList;->HIDDEN_APP_MIN_ADJ:I
23186 if-lt v7, v8, :cond_f4
23191 if-nez v1, :cond_106
23193 const/16 v7, 0x7541
23195 iget-object v8, p0, Lcom/android/server/am/ActivityManagerService;->mLruProcesses:Ljava/util/ArrayList;
23197 invoke-virtual {v8}, Ljava/util/ArrayList;->size()I
23201 invoke-static {v7, v8}, Landroid/util/EventLog;->writeEvent(II)I
23203 invoke-static {}, Landroid/os/SystemClock;->uptimeMillis()J
23205 move-result-wide v3
23207 iget-object v7, p0, Lcom/android/server/am/ActivityManagerService;->mLruProcesses:Ljava/util/ArrayList;
23209 invoke-virtual {v7}, Ljava/util/ArrayList;->size()I
23213 add-int/lit8 v2, v7, -0x1
23216 if-ltz v2, :cond_fc
23218 iget-object v7, p0, Lcom/android/server/am/ActivityManagerService;->mLruProcesses:Ljava/util/ArrayList;
23220 invoke-virtual {v7, v2}, Ljava/util/ArrayList;->get(I)Ljava/lang/Object;
23222 move-result-object v5
23224 check-cast v5, Lcom/android/server/am/ProcessRecord;
23226 if-eq v5, p1, :cond_ec
23228 iget-object v7, v5, Lcom/android/server/am/ProcessRecord;->thread:Landroid/app/IApplicationThread;
23230 if-eqz v7, :cond_ec
23232 iget-wide v7, v5, Lcom/android/server/am/ProcessRecord;->lastLowMemory:J
23234 const-wide/32 v9, 0xea60
23236 add-long/2addr v7, v9
23238 cmp-long v7, v7, v3
23240 if-gtz v7, :cond_ec
23242 iget v7, v5, Lcom/android/server/am/ProcessRecord;->setAdj:I
23246 if-gt v7, v8, :cond_f7
23248 const-wide/16 v7, 0x0
23250 iput-wide v7, v5, Lcom/android/server/am/ProcessRecord;->lastRequestedGc:J
23255 iput-boolean v7, v5, Lcom/android/server/am/ProcessRecord;->reportLowMemory:Z
23257 iput-wide v3, v5, Lcom/android/server/am/ProcessRecord;->lastLowMemory:J
23259 iget-object v7, p0, Lcom/android/server/am/ActivityManagerService;->mProcessesToGc:Ljava/util/ArrayList;
23261 invoke-virtual {v7, v5}, Ljava/util/ArrayList;->remove(Ljava/lang/Object;)Z
23263 invoke-virtual {p0, v5}, Lcom/android/server/am/ActivityManagerService;->addProcessToGcListLocked(Lcom/android/server/am/ProcessRecord;)V
23266 add-int/lit8 v2, v2, -0x1
23276 .catchall {:try_start_f0 .. :try_end_f1} :catchall_ef
23286 add-int/lit8 v2, v2, -0x1
23291 iget-wide v7, v5, Lcom/android/server/am/ProcessRecord;->lastLowMemory:J
23293 iput-wide v7, v5, Lcom/android/server/am/ProcessRecord;->lastRequestedGc:J
23298 iget-object v7, p0, Lcom/android/server/am/ActivityManagerService;->mHandler:Landroid/os/Handler;
23302 invoke-virtual {v7, v8}, Landroid/os/Handler;->sendEmptyMessage(I)Z
23304 invoke-virtual {p0}, Lcom/android/server/am/ActivityManagerService;->scheduleAppGcsLocked()V
23311 iget v7, p1, Lcom/android/server/am/ProcessRecord;->pid:I
23313 if-eq v7, p2, :cond_106
23315 const-string v7, "ActivityManager"
23317 new-instance v8, Ljava/lang/StringBuilder;
23319 invoke-direct {v8}, Ljava/lang/StringBuilder;-><init>()V
23321 const-string v9, "Process "
23323 invoke-virtual {v8, v9}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
23325 move-result-object v8
23327 iget-object v9, p1, Lcom/android/server/am/ProcessRecord;->processName:Ljava/lang/String;
23329 invoke-virtual {v8, v9}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
23331 move-result-object v8
23333 const-string v9, " (pid "
23335 invoke-virtual {v8, v9}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
23337 move-result-object v8
23339 invoke-virtual {v8, p2}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
23341 move-result-object v8
23343 const-string v9, ") has died and restarted (pid "
23345 invoke-virtual {v8, v9}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
23347 move-result-object v8
23349 iget v9, p1, Lcom/android/server/am/ProcessRecord;->pid:I
23351 invoke-virtual {v8, v9}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
23353 move-result-object v8
23355 const-string v9, ")."
23357 invoke-virtual {v8, v9}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
23359 move-result-object v8
23361 invoke-virtual {v8}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
23363 move-result-object v8
23365 invoke-static {v7, v8}, Landroid/util/Slog;->i(Ljava/lang/String;Ljava/lang/String;)I
23367 const/16 v7, 0x753b
23371 new-array v8, v8, [Ljava/lang/Object;
23375 iget v10, p1, Lcom/android/server/am/ProcessRecord;->userId:I
23377 invoke-static {v10}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
23379 move-result-object v10
23381 aput-object v10, v8, v9
23385 iget v10, p1, Lcom/android/server/am/ProcessRecord;->pid:I
23387 invoke-static {v10}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
23389 move-result-object v10
23391 aput-object v10, v8, v9
23395 iget-object v10, p1, Lcom/android/server/am/ProcessRecord;->processName:Ljava/lang/String;
23397 aput-object v10, v8, v9
23399 invoke-static {v7, v8}, Landroid/util/EventLog;->writeEvent(I[Ljava/lang/Object;)I
23404 .method final appNotResponding(Lcom/android/server/am/ProcessRecord;Lcom/android/server/am/ActivityRecord;Lcom/android/server/am/ActivityRecord;ZLjava/lang/String;)V
23407 new-instance v15, Ljava/util/ArrayList;
23411 invoke-direct {v15, v2}, Ljava/util/ArrayList;-><init>(I)V
23413 new-instance v18, Landroid/util/SparseArray;
23417 move-object/from16 v0, v18
23419 invoke-direct {v0, v2}, Landroid/util/SparseArray;-><init>(I)V
23421 move-object/from16 v0, p0
23423 iget-object v2, v0, Lcom/android/server/am/ActivityManagerService;->mController:Landroid/app/IActivityController;
23425 if-eqz v2, :cond_38
23428 move-object/from16 v0, p0
23430 iget-object v2, v0, Lcom/android/server/am/ActivityManagerService;->mController:Landroid/app/IActivityController;
23432 move-object/from16 v0, p1
23434 iget-object v3, v0, Lcom/android/server/am/ProcessRecord;->processName:Ljava/lang/String;
23436 move-object/from16 v0, p1
23438 iget v4, v0, Lcom/android/server/am/ProcessRecord;->pid:I
23440 move-object/from16 v0, p5
23442 invoke-interface {v2, v3, v4, v0}, Landroid/app/IActivityController;->appEarlyNotResponding(Ljava/lang/String;ILjava/lang/String;)I
23446 if-gez v25, :cond_38
23448 move-object/from16 v0, p1
23450 iget v2, v0, Lcom/android/server/am/ProcessRecord;->pid:I
23452 sget v3, Lcom/android/server/am/ActivityManagerService;->MY_PID:I
23454 if-eq v2, v3, :cond_38
23456 move-object/from16 v0, p1
23458 iget v2, v0, Lcom/android/server/am/ProcessRecord;->pid:I
23460 invoke-static {v2}, Landroid/os/Process;->killProcess(I)V
23462 .catch Landroid/os/RemoteException; {:try_start_15 .. :try_end_38} :catch_6e
23466 invoke-static {}, Landroid/os/SystemClock;->uptimeMillis()J
23468 move-result-wide v12
23470 invoke-virtual/range {p0 .. p0}, Lcom/android/server/am/ActivityManagerService;->updateCpuStatsNow()V
23475 move-object/from16 v0, p0
23477 iget-boolean v2, v0, Lcom/android/server/am/ActivityManagerService;->mShuttingDown:Z
23479 if-eqz v2, :cond_75
23481 const-string v2, "ActivityManager"
23483 new-instance v3, Ljava/lang/StringBuilder;
23485 invoke-direct {v3}, Ljava/lang/StringBuilder;-><init>()V
23487 const-string v4, "During shutdown skipping ANR: "
23489 invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
23491 move-result-object v3
23493 move-object/from16 v0, p1
23495 invoke-virtual {v3, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
23497 move-result-object v3
23499 const-string v4, " "
23501 invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
23503 move-result-object v3
23505 move-object/from16 v0, p5
23507 invoke-virtual {v3, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
23509 move-result-object v3
23511 invoke-virtual {v3}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
23513 move-result-object v3
23515 invoke-static {v2, v3}, Landroid/util/Slog;->i(Ljava/lang/String;Ljava/lang/String;)I
23519 .catchall {:try_start_40 .. :try_end_6d} :catchall_a3
23530 move-object/from16 v0, p0
23532 iput-object v2, v0, Lcom/android/server/am/ActivityManagerService;->mController:Landroid/app/IActivityController;
23538 move-object/from16 v0, p1
23540 iget-boolean v2, v0, Lcom/android/server/am/ProcessRecord;->notResponding:Z
23542 if-eqz v2, :cond_a6
23544 const-string v2, "ActivityManager"
23546 new-instance v3, Ljava/lang/StringBuilder;
23548 invoke-direct {v3}, Ljava/lang/StringBuilder;-><init>()V
23550 const-string v4, "Skipping duplicate ANR: "
23552 invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
23554 move-result-object v3
23556 move-object/from16 v0, p1
23558 invoke-virtual {v3, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
23560 move-result-object v3
23562 const-string v4, " "
23564 invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
23566 move-result-object v3
23568 move-object/from16 v0, p5
23570 invoke-virtual {v3, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
23572 move-result-object v3
23574 invoke-virtual {v3}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
23576 move-result-object v3
23578 invoke-static {v2, v3}, Landroid/util/Slog;->i(Ljava/lang/String;Ljava/lang/String;)I
23589 .catchall {:try_start_75 .. :try_end_a5} :catchall_a3
23595 move-object/from16 v0, p1
23597 iget-boolean v2, v0, Lcom/android/server/am/ProcessRecord;->crashing:Z
23599 if-eqz v2, :cond_d4
23601 const-string v2, "ActivityManager"
23603 new-instance v3, Ljava/lang/StringBuilder;
23605 invoke-direct {v3}, Ljava/lang/StringBuilder;-><init>()V
23607 const-string v4, "Crashing app skipping ANR: "
23609 invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
23611 move-result-object v3
23613 move-object/from16 v0, p1
23615 invoke-virtual {v3, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
23617 move-result-object v3
23619 const-string v4, " "
23621 invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
23623 move-result-object v3
23625 move-object/from16 v0, p5
23627 invoke-virtual {v3, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
23629 move-result-object v3
23631 invoke-virtual {v3}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
23633 move-result-object v3
23635 invoke-static {v2, v3}, Landroid/util/Slog;->i(Ljava/lang/String;Ljava/lang/String;)I
23644 move-object/from16 v0, p1
23646 iput-boolean v2, v0, Lcom/android/server/am/ProcessRecord;->notResponding:Z
23648 const/16 v2, 0x7538
23652 new-array v3, v3, [Ljava/lang/Object;
23656 move-object/from16 v0, p1
23658 iget v5, v0, Lcom/android/server/am/ProcessRecord;->userId:I
23660 invoke-static {v5}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
23662 move-result-object v5
23664 aput-object v5, v3, v4
23668 move-object/from16 v0, p1
23670 iget v5, v0, Lcom/android/server/am/ProcessRecord;->pid:I
23672 invoke-static {v5}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
23674 move-result-object v5
23676 aput-object v5, v3, v4
23680 move-object/from16 v0, p1
23682 iget-object v5, v0, Lcom/android/server/am/ProcessRecord;->processName:Ljava/lang/String;
23684 aput-object v5, v3, v4
23688 move-object/from16 v0, p1
23690 iget-object v5, v0, Lcom/android/server/am/ProcessRecord;->info:Landroid/content/pm/ApplicationInfo;
23692 iget v5, v5, Landroid/content/pm/ApplicationInfo;->flags:I
23694 invoke-static {v5}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
23696 move-result-object v5
23698 aput-object v5, v3, v4
23702 aput-object p5, v3, v4
23704 invoke-static {v2, v3}, Landroid/util/EventLog;->writeEvent(I[Ljava/lang/Object;)I
23706 move-object/from16 v0, p1
23708 iget v2, v0, Lcom/android/server/am/ProcessRecord;->pid:I
23710 invoke-static {v2}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
23712 move-result-object v2
23714 invoke-virtual {v15, v2}, Ljava/util/ArrayList;->add(Ljava/lang/Object;)Z
23716 move-object/from16 v0, p1
23718 iget v0, v0, Lcom/android/server/am/ProcessRecord;->pid:I
23720 move/from16 v21, v0
23722 if-eqz p3, :cond_137
23724 move-object/from16 v0, p3
23726 iget-object v2, v0, Lcom/android/server/am/ActivityRecord;->app:Lcom/android/server/am/ProcessRecord;
23728 if-eqz v2, :cond_137
23730 move-object/from16 v0, p3
23732 iget-object v2, v0, Lcom/android/server/am/ActivityRecord;->app:Lcom/android/server/am/ProcessRecord;
23734 iget v2, v2, Lcom/android/server/am/ProcessRecord;->pid:I
23736 if-lez v2, :cond_137
23738 move-object/from16 v0, p3
23740 iget-object v2, v0, Lcom/android/server/am/ActivityRecord;->app:Lcom/android/server/am/ProcessRecord;
23742 iget v0, v2, Lcom/android/server/am/ProcessRecord;->pid:I
23744 move/from16 v21, v0
23747 move-object/from16 v0, p1
23749 iget v2, v0, Lcom/android/server/am/ProcessRecord;->pid:I
23751 move/from16 v0, v21
23753 if-eq v0, v2, :cond_146
23755 invoke-static/range {v21 .. v21}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
23757 move-result-object v2
23759 invoke-virtual {v15, v2}, Ljava/util/ArrayList;->add(Ljava/lang/Object;)Z
23762 sget v2, Lcom/android/server/am/ActivityManagerService;->MY_PID:I
23764 move-object/from16 v0, p1
23766 iget v3, v0, Lcom/android/server/am/ProcessRecord;->pid:I
23768 if-eq v2, v3, :cond_15d
23770 sget v2, Lcom/android/server/am/ActivityManagerService;->MY_PID:I
23772 move/from16 v0, v21
23774 if-eq v2, v0, :cond_15d
23776 sget v2, Lcom/android/server/am/ActivityManagerService;->MY_PID:I
23778 invoke-static {v2}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
23780 move-result-object v2
23782 invoke-virtual {v15, v2}, Ljava/util/ArrayList;->add(Ljava/lang/Object;)Z
23785 move-object/from16 v0, p0
23787 iget-object v2, v0, Lcom/android/server/am/ActivityManagerService;->mLruProcesses:Ljava/util/ArrayList;
23789 invoke-virtual {v2}, Ljava/util/ArrayList;->size()I
23793 add-int/lit8 v16, v2, -0x1
23796 if-ltz v16, :cond_1b3
23798 move-object/from16 v0, p0
23800 iget-object v2, v0, Lcom/android/server/am/ActivityManagerService;->mLruProcesses:Ljava/util/ArrayList;
23802 move/from16 v0, v16
23804 invoke-virtual {v2, v0}, Ljava/util/ArrayList;->get(I)Ljava/lang/Object;
23806 move-result-object v24
23808 check-cast v24, Lcom/android/server/am/ProcessRecord;
23810 if-eqz v24, :cond_1a6
23812 move-object/from16 v0, v24
23814 iget-object v2, v0, Lcom/android/server/am/ProcessRecord;->thread:Landroid/app/IApplicationThread;
23816 if-eqz v2, :cond_1a6
23818 move-object/from16 v0, v24
23820 iget v0, v0, Lcom/android/server/am/ProcessRecord;->pid:I
23822 move/from16 v22, v0
23824 if-lez v22, :cond_1a6
23826 move-object/from16 v0, p1
23828 iget v2, v0, Lcom/android/server/am/ProcessRecord;->pid:I
23830 move/from16 v0, v22
23832 if-eq v0, v2, :cond_1a6
23834 move/from16 v0, v22
23836 move/from16 v1, v21
23838 if-eq v0, v1, :cond_1a6
23840 sget v2, Lcom/android/server/am/ActivityManagerService;->MY_PID:I
23842 move/from16 v0, v22
23844 if-eq v0, v2, :cond_1a6
23846 move-object/from16 v0, v24
23848 iget-boolean v2, v0, Lcom/android/server/am/ProcessRecord;->persistent:Z
23850 if-eqz v2, :cond_1a9
23852 invoke-static/range {v22 .. v22}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
23854 move-result-object v2
23856 invoke-virtual {v15, v2}, Ljava/util/ArrayList;->add(Ljava/lang/Object;)Z
23860 add-int/lit8 v16, v16, -0x1
23865 sget-object v2, Ljava/lang/Boolean;->TRUE:Ljava/lang/Boolean;
23867 move-object/from16 v0, v18
23869 move/from16 v1, v22
23871 invoke-virtual {v0, v1, v2}, Landroid/util/SparseArray;->put(ILjava/lang/Object;)V
23878 .catchall {:try_start_a6 .. :try_end_1b4} :catchall_a3
23880 new-instance v17, Ljava/lang/StringBuilder;
23882 invoke-direct/range {v17 .. v17}, Ljava/lang/StringBuilder;-><init>()V
23886 move-object/from16 v0, v17
23888 invoke-virtual {v0, v2}, Ljava/lang/StringBuilder;->setLength(I)V
23890 const-string v2, "ANR in "
23892 move-object/from16 v0, v17
23894 invoke-virtual {v0, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
23896 move-result-object v2
23898 move-object/from16 v0, p1
23900 iget-object v3, v0, Lcom/android/server/am/ProcessRecord;->processName:Ljava/lang/String;
23902 invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
23904 if-eqz p2, :cond_1eb
23906 move-object/from16 v0, p2
23908 iget-object v2, v0, Lcom/android/server/am/ActivityRecord;->shortComponentName:Ljava/lang/String;
23910 if-eqz v2, :cond_1eb
23912 const-string v2, " ("
23914 move-object/from16 v0, v17
23916 invoke-virtual {v0, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
23918 move-result-object v2
23920 move-object/from16 v0, p2
23922 iget-object v3, v0, Lcom/android/server/am/ActivityRecord;->shortComponentName:Ljava/lang/String;
23924 invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
23926 move-result-object v2
23928 const-string v3, ")"
23930 invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
23933 const-string v2, "\n"
23935 move-object/from16 v0, v17
23937 invoke-virtual {v0, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
23939 if-eqz p5, :cond_207
23941 const-string v2, "Reason: "
23943 move-object/from16 v0, v17
23945 invoke-virtual {v0, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
23947 move-result-object v2
23949 move-object/from16 v0, p5
23951 invoke-virtual {v2, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
23953 move-result-object v2
23955 const-string v3, "\n"
23957 invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
23960 if-eqz p3, :cond_224
23962 move-object/from16 v0, p3
23964 move-object/from16 v1, p2
23966 if-eq v0, v1, :cond_224
23968 const-string v2, "Parent: "
23970 move-object/from16 v0, v17
23972 invoke-virtual {v0, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
23974 move-result-object v2
23976 move-object/from16 v0, p3
23978 iget-object v3, v0, Lcom/android/server/am/ActivityRecord;->shortComponentName:Ljava/lang/String;
23980 invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
23982 move-result-object v2
23984 const-string v3, "\n"
23986 invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
23989 new-instance v23, Lcom/android/internal/os/ProcessStats;
23993 move-object/from16 v0, v23
23995 invoke-direct {v0, v2}, Lcom/android/internal/os/ProcessStats;-><init>(Z)V
24001 move-object/from16 v0, v23
24003 move-object/from16 v1, v18
24005 invoke-static {v2, v15, v0, v1, v3}, Lcom/android/server/am/ActivityManagerService;->dumpStackTraces(ZLjava/util/ArrayList;Lcom/android/internal/os/ProcessStats;Landroid/util/SparseArray;[Ljava/lang/String;)Ljava/io/File;
24007 move-result-object v10
24011 invoke-virtual/range {p0 .. p0}, Lcom/android/server/am/ActivityManagerService;->updateCpuStatsNow()V
24013 move-object/from16 v0, p0
24015 iget-object v3, v0, Lcom/android/server/am/ActivityManagerService;->mProcessStatsThread:Ljava/lang/Thread;
24020 move-object/from16 v0, p0
24022 iget-object v2, v0, Lcom/android/server/am/ActivityManagerService;->mProcessStats:Lcom/android/internal/os/ProcessStats;
24024 invoke-virtual {v2, v12, v13}, Lcom/android/internal/os/ProcessStats;->printCurrentState(J)Ljava/lang/String;
24026 move-result-object v9
24030 .catchall {:try_start_23f .. :try_end_248} :catchall_343
24032 invoke-virtual/range {v23 .. v23}, Lcom/android/internal/os/ProcessStats;->printCurrentLoad()Ljava/lang/String;
24034 move-result-object v2
24036 move-object/from16 v0, v17
24038 invoke-virtual {v0, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
24040 move-object/from16 v0, v17
24042 invoke-virtual {v0, v9}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
24044 move-object/from16 v0, v23
24046 invoke-virtual {v0, v12, v13}, Lcom/android/internal/os/ProcessStats;->printCurrentState(J)Ljava/lang/String;
24048 move-result-object v2
24050 move-object/from16 v0, v17
24052 invoke-virtual {v0, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
24054 const-string v2, "ActivityManager"
24056 invoke-virtual/range {v17 .. v17}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
24058 move-result-object v3
24060 invoke-static {v2, v3}, Landroid/util/Slog;->e(Ljava/lang/String;Ljava/lang/String;)I
24062 if-nez v10, :cond_274
24064 move-object/from16 v0, p1
24066 iget v2, v0, Lcom/android/server/am/ProcessRecord;->pid:I
24070 invoke-static {v2, v3}, Landroid/os/Process;->sendSignal(II)V
24073 const-string v3, "anr"
24075 move-object/from16 v0, p1
24077 iget-object v5, v0, Lcom/android/server/am/ProcessRecord;->processName:Ljava/lang/String;
24081 move-object/from16 v2, p0
24083 move-object/from16 v4, p1
24085 move-object/from16 v6, p2
24087 move-object/from16 v7, p3
24089 move-object/from16 v8, p5
24091 invoke-virtual/range {v2 .. v11}, Lcom/android/server/am/ActivityManagerService;->addErrorToDropBox(Ljava/lang/String;Lcom/android/server/am/ProcessRecord;Ljava/lang/String;Lcom/android/server/am/ActivityRecord;Lcom/android/server/am/ActivityRecord;Ljava/lang/String;Ljava/lang/String;Ljava/io/File;Landroid/app/ApplicationErrorReport$CrashInfo;)V
24093 move-object/from16 v0, p0
24095 iget-object v2, v0, Lcom/android/server/am/ActivityManagerService;->mController:Landroid/app/IActivityController;
24097 if-eqz v2, :cond_2bd
24100 move-object/from16 v0, p0
24102 iget-object v2, v0, Lcom/android/server/am/ActivityManagerService;->mController:Landroid/app/IActivityController;
24104 move-object/from16 v0, p1
24106 iget-object v3, v0, Lcom/android/server/am/ProcessRecord;->processName:Ljava/lang/String;
24108 move-object/from16 v0, p1
24110 iget v4, v0, Lcom/android/server/am/ProcessRecord;->pid:I
24112 invoke-virtual/range {v17 .. v17}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
24114 move-result-object v5
24116 invoke-interface {v2, v3, v4, v5}, Landroid/app/IActivityController;->appNotResponding(Ljava/lang/String;ILjava/lang/String;)I
24120 if-eqz v25, :cond_2bd
24122 if-gez v25, :cond_6d
24124 move-object/from16 v0, p1
24126 iget v2, v0, Lcom/android/server/am/ProcessRecord;->pid:I
24128 sget v3, Lcom/android/server/am/ActivityManagerService;->MY_PID:I
24130 if-eq v2, v3, :cond_6d
24132 move-object/from16 v0, p1
24134 iget v2, v0, Lcom/android/server/am/ProcessRecord;->pid:I
24136 invoke-static {v2}, Landroid/os/Process;->killProcess(I)V
24138 .catch Landroid/os/RemoteException; {:try_start_28e .. :try_end_2b5} :catch_2b7
24147 move-object/from16 v0, p0
24149 iput-object v2, v0, Lcom/android/server/am/ActivityManagerService;->mController:Landroid/app/IActivityController;
24152 move-object/from16 v0, p0
24154 iget-object v2, v0, Lcom/android/server/am/ActivityManagerService;->mContext:Landroid/content/Context;
24156 invoke-virtual {v2}, Landroid/content/Context;->getContentResolver()Landroid/content/ContentResolver;
24158 move-result-object v2
24160 const-string v3, "anr_show_background"
24164 invoke-static {v2, v3, v4}, Landroid/provider/Settings$Secure;->getInt(Landroid/content/ContentResolver;Ljava/lang/String;I)I
24168 if-eqz v2, :cond_346
24175 if-nez v26, :cond_349
24178 invoke-virtual/range {p1 .. p1}, Lcom/android/server/am/ProcessRecord;->isInterestingToUserLocked()Z
24182 if-nez v2, :cond_349
24184 move-object/from16 v0, p1
24186 iget v2, v0, Lcom/android/server/am/ProcessRecord;->pid:I
24188 sget v3, Lcom/android/server/am/ActivityManagerService;->MY_PID:I
24190 if-eq v2, v3, :cond_349
24192 const-string v2, "ActivityManager"
24194 new-instance v3, Ljava/lang/StringBuilder;
24196 invoke-direct {v3}, Ljava/lang/StringBuilder;-><init>()V
24198 const-string v4, "Killing "
24200 invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
24202 move-result-object v3
24204 move-object/from16 v0, p1
24206 invoke-virtual {v3, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
24208 move-result-object v3
24210 const-string v4, ": background ANR"
24212 invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
24214 move-result-object v3
24216 invoke-virtual {v3}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
24218 move-result-object v3
24220 invoke-static {v2, v3}, Landroid/util/Slog;->w(Ljava/lang/String;Ljava/lang/String;)I
24222 const/16 v2, 0x7547
24226 new-array v3, v3, [Ljava/lang/Object;
24230 move-object/from16 v0, p1
24232 iget v5, v0, Lcom/android/server/am/ProcessRecord;->userId:I
24234 invoke-static {v5}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
24236 move-result-object v5
24238 aput-object v5, v3, v4
24242 move-object/from16 v0, p1
24244 iget v5, v0, Lcom/android/server/am/ProcessRecord;->pid:I
24246 invoke-static {v5}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
24248 move-result-object v5
24250 aput-object v5, v3, v4
24254 move-object/from16 v0, p1
24256 iget-object v5, v0, Lcom/android/server/am/ProcessRecord;->processName:Ljava/lang/String;
24258 aput-object v5, v3, v4
24262 move-object/from16 v0, p1
24264 iget v5, v0, Lcom/android/server/am/ProcessRecord;->setAdj:I
24266 invoke-static {v5}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
24268 move-result-object v5
24270 aput-object v5, v3, v4
24274 const-string v5, "background ANR"
24276 aput-object v5, v3, v4
24278 invoke-static {v2, v3}, Landroid/util/EventLog;->writeEvent(I[Ljava/lang/Object;)I
24280 move-object/from16 v0, p1
24282 iget v2, v0, Lcom/android/server/am/ProcessRecord;->pid:I
24284 invoke-static {v2}, Landroid/os/Process;->killProcessQuiet(I)V
24295 .catchall {:try_start_2d3 .. :try_end_342} :catchall_340
24305 .catchall {:try_start_344 .. :try_end_345} :catchall_343
24315 if-eqz p2, :cond_3ad
24318 move-object/from16 v0, p2
24320 iget-object v2, v0, Lcom/android/server/am/ActivityRecord;->shortComponentName:Ljava/lang/String;
24325 if-eqz p5, :cond_3b0
24327 new-instance v2, Ljava/lang/StringBuilder;
24329 invoke-direct {v2}, Ljava/lang/StringBuilder;-><init>()V
24331 const-string v4, "ANR "
24333 invoke-virtual {v2, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
24335 move-result-object v2
24337 move-object/from16 v0, p5
24339 invoke-virtual {v2, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
24341 move-result-object v2
24343 invoke-virtual {v2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
24345 move-result-object v2
24348 invoke-virtual/range {v17 .. v17}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
24350 move-result-object v4
24352 move-object/from16 v0, p0
24354 move-object/from16 v1, p1
24356 invoke-direct {v0, v1, v3, v2, v4}, Lcom/android/server/am/ActivityManagerService;->makeAppNotRespondingLocked(Lcom/android/server/am/ProcessRecord;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
24358 invoke-static {}, Landroid/os/Message;->obtain()Landroid/os/Message;
24360 move-result-object v20
24362 new-instance v19, Ljava/util/HashMap;
24364 invoke-direct/range {v19 .. v19}, Ljava/util/HashMap;-><init>()V
24368 move-object/from16 v0, v20
24370 iput v2, v0, Landroid/os/Message;->what:I
24372 move-object/from16 v0, v19
24374 move-object/from16 v1, v20
24376 iput-object v0, v1, Landroid/os/Message;->obj:Ljava/lang/Object;
24378 if-eqz p4, :cond_3b3
24383 move-object/from16 v0, v20
24385 iput v2, v0, Landroid/os/Message;->arg1:I
24387 const-string v2, "app"
24389 move-object/from16 v0, v19
24391 move-object/from16 v1, p1
24393 invoke-virtual {v0, v2, v1}, Ljava/util/HashMap;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
24395 if-eqz p2, :cond_3a1
24397 const-string v2, "activity"
24399 move-object/from16 v0, v19
24401 move-object/from16 v1, p2
24403 invoke-virtual {v0, v2, v1}, Ljava/util/HashMap;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
24406 move-object/from16 v0, p0
24408 iget-object v2, v0, Lcom/android/server/am/ActivityManagerService;->mHandler:Landroid/os/Handler;
24410 move-object/from16 v0, v20
24412 invoke-virtual {v2, v0}, Landroid/os/Handler;->sendMessage(Landroid/os/Message;)Z
24426 const-string v2, "ANR"
24428 .catchall {:try_start_34b .. :try_end_3b2} :catchall_340
24438 .method public final attachApplication(Landroid/app/IApplicationThread;)V
24444 invoke-static {}, Landroid/os/Binder;->getCallingPid()I
24448 invoke-static {}, Landroid/os/Binder;->clearCallingIdentity()J
24450 move-result-wide v1
24452 invoke-direct {p0, p1, v0}, Lcom/android/server/am/ActivityManagerService;->attachApplicationLocked(Landroid/app/IApplicationThread;I)Z
24454 invoke-static {v1, v2}, Landroid/os/Binder;->restoreCallingIdentity(J)V
24465 .catchall {:try_start_1 .. :try_end_13} :catchall_11
24470 .method public backupAgentCreated(Ljava/lang/String;Landroid/os/IBinder;)V
24476 iget-object v4, p0, Lcom/android/server/am/ActivityManagerService;->mBackupAppName:Ljava/lang/String;
24478 invoke-virtual {p1, v4}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
24482 if-nez v4, :cond_29
24484 const-string v4, "ActivityManager"
24486 new-instance v5, Ljava/lang/StringBuilder;
24488 invoke-direct {v5}, Ljava/lang/StringBuilder;-><init>()V
24490 const-string v6, "Backup agent created for "
24492 invoke-virtual {v5, v6}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
24494 move-result-object v5
24496 invoke-virtual {v5, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
24498 move-result-object v5
24500 const-string v6, " but not requested!"
24502 invoke-virtual {v5, v6}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
24504 move-result-object v5
24506 invoke-virtual {v5}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
24508 move-result-object v5
24510 invoke-static {v4, v5}, Landroid/util/Slog;->e(Ljava/lang/String;Ljava/lang/String;)I
24520 .catchall {:try_start_1 .. :try_end_2a} :catchall_3f
24522 invoke-static {}, Landroid/os/Binder;->clearCallingIdentity()J
24524 move-result-wide v2
24527 const-string v4, "backup"
24529 invoke-static {v4}, Landroid/os/ServiceManager;->getService(Ljava/lang/String;)Landroid/os/IBinder;
24531 move-result-object v4
24533 invoke-static {v4}, Landroid/app/backup/IBackupManager$Stub;->asInterface(Landroid/os/IBinder;)Landroid/app/backup/IBackupManager;
24535 move-result-object v0
24537 invoke-interface {v0, p1, p2}, Landroid/app/backup/IBackupManager;->agentConnected(Ljava/lang/String;Landroid/os/IBinder;)V
24539 .catchall {:try_start_2e .. :try_end_3b} :catchall_4e
24540 .catch Landroid/os/RemoteException; {:try_start_2e .. :try_end_3b} :catch_53
24541 .catch Ljava/lang/Exception; {:try_start_2e .. :try_end_3b} :catch_42
24544 invoke-static {v2, v3}, Landroid/os/Binder;->restoreCallingIdentity(J)V
24554 .catchall {:try_start_40 .. :try_end_41} :catchall_3f
24562 const-string v4, "ActivityManager"
24564 const-string v5, "Exception trying to deliver BackupAgent binding: "
24566 invoke-static {v4, v5}, Landroid/util/Slog;->w(Ljava/lang/String;Ljava/lang/String;)I
24568 invoke-virtual {v1}, Ljava/lang/Exception;->printStackTrace()V
24570 .catchall {:try_start_43 .. :try_end_4d} :catchall_4e
24577 invoke-static {v2, v3}, Landroid/os/Binder;->restoreCallingIdentity(J)V
24587 .method public batteryNeedsCpuUpdate()V
24590 invoke-virtual {p0}, Lcom/android/server/am/ActivityManagerService;->updateCpuStatsNow()V
24595 .method public batteryPowerChanged(Z)V
24598 invoke-virtual {p0}, Lcom/android/server/am/ActivityManagerService;->updateCpuStatsNow()V
24603 iget-object v1, p0, Lcom/android/server/am/ActivityManagerService;->mPidsSelfLocked:Landroid/util/SparseArray;
24607 .catchall {:try_start_4 .. :try_end_7} :catchall_f
24610 iput-boolean p1, p0, Lcom/android/server/am/ActivityManagerService;->mOnBattery:Z
24614 .catchall {:try_start_7 .. :try_end_a} :catchall_c
24619 .catchall {:try_start_a .. :try_end_b} :catchall_f
24629 .catchall {:try_start_d .. :try_end_e} :catchall_c
24639 .catchall {:try_start_e .. :try_end_11} :catchall_f
24644 .method public bindBackupAgent(Landroid/content/pm/ApplicationInfo;I)Z
24647 const-string v2, "android.permission.BACKUP"
24649 const-string v3, "bindBackupAgent"
24651 move-object/from16 v0, p0
24653 invoke-virtual {v0, v2, v3}, Lcom/android/server/am/ActivityManagerService;->enforceCallingPermission(Ljava/lang/String;Ljava/lang/String;)V
24660 move-object/from16 v0, p0
24662 iget-object v2, v0, Lcom/android/server/am/ActivityManagerService;->mBatteryStatsService:Lcom/android/server/am/BatteryStatsService;
24664 invoke-virtual {v2}, Lcom/android/server/am/BatteryStatsService;->getActiveStatistics()Lcom/android/internal/os/BatteryStatsImpl;
24666 move-result-object v15
24670 .catchall {:try_start_b .. :try_end_14} :catchall_83
24673 move-object/from16 v0, p1
24675 iget v2, v0, Landroid/content/pm/ApplicationInfo;->uid:I
24677 move-object/from16 v0, p1
24679 iget-object v3, v0, Landroid/content/pm/ApplicationInfo;->packageName:Ljava/lang/String;
24681 move-object/from16 v0, p1
24683 iget-object v4, v0, Landroid/content/pm/ApplicationInfo;->name:Ljava/lang/String;
24685 invoke-virtual {v15, v2, v3, v4}, Lcom/android/internal/os/BatteryStatsImpl;->getServiceStatsLocked(ILjava/lang/String;Ljava/lang/String;)Lcom/android/internal/os/BatteryStatsImpl$Uid$Pkg$Serv;
24687 move-result-object v14
24691 .catchall {:try_start_14 .. :try_end_25} :catchall_80
24694 invoke-static {}, Landroid/app/AppGlobals;->getPackageManager()Landroid/content/pm/IPackageManager;
24696 move-result-object v2
24698 move-object/from16 v0, p1
24700 iget-object v3, v0, Landroid/content/pm/ApplicationInfo;->packageName:Ljava/lang/String;
24704 move-object/from16 v0, p1
24706 iget v5, v0, Landroid/content/pm/ApplicationInfo;->uid:I
24708 invoke-static {v5}, Landroid/os/UserHandle;->getUserId(I)I
24712 invoke-interface {v2, v3, v4, v5}, Landroid/content/pm/IPackageManager;->setPackageStoppedState(Ljava/lang/String;ZI)V
24714 .catchall {:try_start_25 .. :try_end_39} :catchall_83
24715 .catch Landroid/os/RemoteException; {:try_start_25 .. :try_end_39} :catch_e1
24716 .catch Ljava/lang/IllegalArgumentException; {:try_start_25 .. :try_end_39} :catch_86
24720 new-instance v13, Lcom/android/server/am/BackupRecord;
24722 move-object/from16 v0, p1
24726 invoke-direct {v13, v14, v0, v1}, Lcom/android/server/am/BackupRecord;-><init>(Lcom/android/internal/os/BatteryStatsImpl$Uid$Pkg$Serv;Landroid/content/pm/ApplicationInfo;I)V
24728 if-nez p2, :cond_ae
24730 new-instance v8, Landroid/content/ComponentName;
24732 move-object/from16 v0, p1
24734 iget-object v2, v0, Landroid/content/pm/ApplicationInfo;->packageName:Ljava/lang/String;
24736 move-object/from16 v0, p1
24738 iget-object v3, v0, Landroid/content/pm/ApplicationInfo;->backupAgentName:Ljava/lang/String;
24740 invoke-direct {v8, v2, v3}, Landroid/content/ComponentName;-><init>(Ljava/lang/String;Ljava/lang/String;)V
24743 move-object/from16 v0, p1
24745 iget-object v3, v0, Landroid/content/pm/ApplicationInfo;->processName:Ljava/lang/String;
24751 const-string v7, "backup"
24757 move-object/from16 v2, p0
24759 move-object/from16 v4, p1
24761 invoke-virtual/range {v2 .. v10}, Lcom/android/server/am/ActivityManagerService;->startProcessLocked(Ljava/lang/String;Landroid/content/pm/ApplicationInfo;ZILjava/lang/String;Landroid/content/ComponentName;ZZ)Lcom/android/server/am/ProcessRecord;
24763 move-result-object v12
24765 if-nez v12, :cond_b8
24767 const-string v2, "ActivityManager"
24769 new-instance v3, Ljava/lang/StringBuilder;
24771 invoke-direct {v3}, Ljava/lang/StringBuilder;-><init>()V
24773 const-string v4, "Unable to start backup agent process "
24775 invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
24777 move-result-object v3
24779 invoke-virtual {v3, v13}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
24781 move-result-object v3
24783 invoke-virtual {v3}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
24785 move-result-object v3
24787 invoke-static {v2, v3}, Landroid/util/Slog;->e(Ljava/lang/String;Ljava/lang/String;)I
24793 .catchall {:try_start_39 .. :try_end_7f} :catchall_83
24804 .catchall {:try_start_81 .. :try_end_82} :catchall_80
24814 .catchall {:try_start_82 .. :try_end_85} :catchall_83
24822 const-string v2, "ActivityManager"
24824 new-instance v3, Ljava/lang/StringBuilder;
24826 invoke-direct {v3}, Ljava/lang/StringBuilder;-><init>()V
24828 const-string v4, "Failed trying to unstop package "
24830 invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
24832 move-result-object v3
24834 move-object/from16 v0, p1
24836 iget-object v4, v0, Landroid/content/pm/ApplicationInfo;->packageName:Ljava/lang/String;
24838 invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
24840 move-result-object v3
24842 const-string v4, ": "
24844 invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
24846 move-result-object v3
24848 invoke-virtual {v3, v11}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
24850 move-result-object v3
24852 invoke-virtual {v3}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
24854 move-result-object v3
24856 invoke-static {v2, v3}, Landroid/util/Slog;->w(Ljava/lang/String;Ljava/lang/String;)I
24861 new-instance v8, Landroid/content/ComponentName;
24863 const-string v2, "android"
24865 const-string v3, "FullBackupAgent"
24867 invoke-direct {v8, v2, v3}, Landroid/content/ComponentName;-><init>(Ljava/lang/String;Ljava/lang/String;)V
24872 iput-object v12, v13, Lcom/android/server/am/BackupRecord;->app:Lcom/android/server/am/ProcessRecord;
24874 move-object/from16 v0, p0
24876 iput-object v13, v0, Lcom/android/server/am/ActivityManagerService;->mBackupTarget:Lcom/android/server/am/BackupRecord;
24878 move-object/from16 v0, p1
24880 iget-object v2, v0, Landroid/content/pm/ApplicationInfo;->packageName:Ljava/lang/String;
24882 move-object/from16 v0, p0
24884 iput-object v2, v0, Lcom/android/server/am/ActivityManagerService;->mBackupAppName:Ljava/lang/String;
24886 move-object/from16 v0, p0
24888 invoke-virtual {v0, v12}, Lcom/android/server/am/ActivityManagerService;->updateOomAdjLocked(Lcom/android/server/am/ProcessRecord;)Z
24890 iget-object v2, v12, Lcom/android/server/am/ProcessRecord;->thread:Landroid/app/IApplicationThread;
24892 .catchall {:try_start_87 .. :try_end_cd} :catchall_83
24894 if-eqz v2, :cond_dc
24897 iget-object v2, v12, Lcom/android/server/am/ProcessRecord;->thread:Landroid/app/IApplicationThread;
24899 invoke-virtual/range {p0 .. p1}, Lcom/android/server/am/ActivityManagerService;->compatibilityInfoForPackageLocked(Landroid/content/pm/ApplicationInfo;)Landroid/content/res/CompatibilityInfo;
24901 move-result-object v3
24903 move-object/from16 v0, p1
24907 invoke-interface {v2, v0, v3, v1}, Landroid/app/IApplicationThread;->scheduleCreateBackupAgent(Landroid/content/pm/ApplicationInfo;Landroid/content/res/CompatibilityInfo;I)V
24909 .catchall {:try_start_cf .. :try_end_dc} :catchall_83
24910 .catch Landroid/os/RemoteException; {:try_start_cf .. :try_end_dc} :catch_df
24917 .catchall {:try_start_dc .. :try_end_dd} :catchall_83
24934 .method public bindService(Landroid/app/IApplicationThread;Landroid/os/IBinder;Landroid/content/Intent;Ljava/lang/String;Landroid/app/IServiceConnection;II)I
24937 const-string v0, "bindService"
24939 invoke-virtual {p0, v0}, Lcom/android/server/am/ActivityManagerService;->enforceNotIsolatedCaller(Ljava/lang/String;)V
24941 if-eqz p3, :cond_16
24943 invoke-virtual {p3}, Landroid/content/Intent;->hasFileDescriptors()Z
24949 if-ne v0, v1, :cond_16
24951 new-instance v0, Ljava/lang/IllegalArgumentException;
24953 const-string v1, "File descriptors passed in Intent"
24955 invoke-direct {v0, v1}, Ljava/lang/IllegalArgumentException;-><init>(Ljava/lang/String;)V
24963 iget-object v0, p0, Lcom/android/server/am/ActivityManagerService;->mServices:Lcom/android/server/am/ActiveServices;
24979 invoke-virtual/range {v0 .. v7}, Lcom/android/server/am/ActiveServices;->bindServiceLocked(Landroid/app/IApplicationThread;Landroid/os/IBinder;Landroid/content/Intent;Ljava/lang/String;Landroid/app/IServiceConnection;II)I
24992 .catchall {:try_start_17 .. :try_end_28} :catchall_26
24997 .method public final broadcastIntent(Landroid/app/IApplicationThread;Landroid/content/Intent;Ljava/lang/String;Landroid/content/IIntentReceiver;ILjava/lang/String;Landroid/os/Bundle;Ljava/lang/String;ZZI)I
25000 const-string v2, "broadcastIntent"
25002 move-object/from16 v0, p0
25004 invoke-virtual {v0, v2}, Lcom/android/server/am/ActivityManagerService;->enforceNotIsolatedCaller(Ljava/lang/String;)V
25009 move-object/from16 v0, p0
25011 move-object/from16 v1, p2
25013 invoke-virtual {v0, v1}, Lcom/android/server/am/ActivityManagerService;->verifyBroadcastLocked(Landroid/content/Intent;)Landroid/content/Intent;
25015 move-result-object p2
25017 invoke-virtual/range {p0 .. p1}, Lcom/android/server/am/ActivityManagerService;->getRecordForAppLocked(Landroid/app/IApplicationThread;)Lcom/android/server/am/ProcessRecord;
25019 move-result-object v3
25021 invoke-static {}, Landroid/os/Binder;->getCallingPid()I
25025 invoke-static {}, Landroid/os/Binder;->getCallingUid()I
25029 invoke-static {}, Landroid/os/Binder;->clearCallingIdentity()J
25031 move-result-wide v17
25033 if-eqz v3, :cond_45
25035 iget-object v2, v3, Lcom/android/server/am/ProcessRecord;->info:Landroid/content/pm/ApplicationInfo;
25037 iget-object v4, v2, Landroid/content/pm/ApplicationInfo;->packageName:Ljava/lang/String;
25040 move-object/from16 v2, p0
25042 move-object/from16 v5, p2
25044 move-object/from16 v6, p3
25046 move-object/from16 v7, p4
25050 move-object/from16 v9, p6
25052 move-object/from16 v10, p7
25054 move-object/from16 v11, p8
25056 move/from16 v12, p9
25058 move/from16 v13, p10
25060 move/from16 v16, p11
25062 invoke-direct/range {v2 .. v16}, Lcom/android/server/am/ActivityManagerService;->broadcastIntentLocked(Lcom/android/server/am/ProcessRecord;Ljava/lang/String;Landroid/content/Intent;Ljava/lang/String;Landroid/content/IIntentReceiver;ILjava/lang/String;Landroid/os/Bundle;Ljava/lang/String;ZZIII)I
25066 invoke-static/range {v17 .. v18}, Landroid/os/Binder;->restoreCallingIdentity(J)V
25082 .catchall {:try_start_8 .. :try_end_49} :catchall_47
25087 .method broadcastIntentInPackage(Ljava/lang/String;ILandroid/content/Intent;Ljava/lang/String;Landroid/content/IIntentReceiver;ILjava/lang/String;Landroid/os/Bundle;Ljava/lang/String;ZZI)I
25093 move-object/from16 v0, p0
25095 move-object/from16 v1, p3
25097 invoke-virtual {v0, v1}, Lcom/android/server/am/ActivityManagerService;->verifyBroadcastLocked(Landroid/content/Intent;)Landroid/content/Intent;
25099 move-result-object p3
25101 invoke-static {}, Landroid/os/Binder;->clearCallingIdentity()J
25103 move-result-wide v17
25109 move-object/from16 v2, p0
25111 move-object/from16 v4, p1
25113 move-object/from16 v5, p3
25115 move-object/from16 v6, p4
25117 move-object/from16 v7, p5
25121 move-object/from16 v9, p7
25123 move-object/from16 v10, p8
25125 move-object/from16 v11, p9
25127 move/from16 v12, p10
25129 move/from16 v13, p11
25131 move/from16 v15, p2
25133 move/from16 v16, p12
25135 invoke-direct/range {v2 .. v16}, Lcom/android/server/am/ActivityManagerService;->broadcastIntentLocked(Lcom/android/server/am/ProcessRecord;Ljava/lang/String;Landroid/content/Intent;Ljava/lang/String;Landroid/content/IIntentReceiver;ILjava/lang/String;Landroid/os/Bundle;Ljava/lang/String;ZZIII)I
25139 invoke-static/range {v17 .. v18}, Landroid/os/Binder;->restoreCallingIdentity(J)V
25150 .catchall {:try_start_1 .. :try_end_34} :catchall_32
25155 .method broadcastQueueForIntent(Landroid/content/Intent;)Lcom/android/server/am/BroadcastQueue;
25158 invoke-virtual {p1}, Landroid/content/Intent;->getFlags()I
25162 const/high16 v2, 0x1000
25164 and-int/2addr v1, v2
25171 if-eqz v0, :cond_11
25173 iget-object v1, p0, Lcom/android/server/am/ActivityManagerService;->mFgBroadcastQueue:Lcom/android/server/am/BroadcastQueue;
25184 iget-object v1, p0, Lcom/android/server/am/ActivityManagerService;->mBgBroadcastQueue:Lcom/android/server/am/BroadcastQueue;
25189 .method broadcastRecordForReceiverLocked(Landroid/os/IBinder;)Lcom/android/server/am/BroadcastRecord;
25192 iget-object v0, p0, Lcom/android/server/am/ActivityManagerService;->mBroadcastQueues:[Lcom/android/server/am/BroadcastQueue;
25194 array-length v2, v0
25199 if-ge v1, v2, :cond_12
25201 aget-object v3, v0, v1
25203 invoke-virtual {v3, p1}, Lcom/android/server/am/BroadcastQueue;->getMatchingOrderedReceiver(Landroid/os/IBinder;)Lcom/android/server/am/BroadcastRecord;
25205 move-result-object v4
25213 add-int/lit8 v1, v1, 0x1
25223 .method public cancelIntentSender(Landroid/content/IIntentSender;)V
25226 instance-of v5, p1, Lcom/android/server/am/PendingIntentRecord;
25239 check-cast v0, Lcom/android/server/am/PendingIntentRecord;
25243 .catchall {:try_start_6 .. :try_end_a} :catchall_69
25246 invoke-static {}, Landroid/app/AppGlobals;->getPackageManager()Landroid/content/pm/IPackageManager;
25248 move-result-object v5
25250 iget-object v6, v3, Lcom/android/server/am/PendingIntentRecord;->key:Lcom/android/server/am/PendingIntentRecord$Key;
25252 iget-object v6, v6, Lcom/android/server/am/PendingIntentRecord$Key;->packageName:Ljava/lang/String;
25254 invoke-static {}, Landroid/os/UserHandle;->getCallingUserId()I
25258 invoke-interface {v5, v6, v7}, Landroid/content/pm/IPackageManager;->getPackageUid(Ljava/lang/String;I)I
25262 invoke-static {}, Landroid/os/Binder;->getCallingUid()I
25266 invoke-static {v4, v5}, Landroid/os/UserHandle;->isSameApp(II)Z
25270 if-nez v5, :cond_6c
25272 new-instance v5, Ljava/lang/StringBuilder;
25274 invoke-direct {v5}, Ljava/lang/StringBuilder;-><init>()V
25276 const-string v6, "Permission Denial: cancelIntentSender() from pid="
25278 invoke-virtual {v5, v6}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
25280 move-result-object v5
25282 invoke-static {}, Landroid/os/Binder;->getCallingPid()I
25286 invoke-virtual {v5, v6}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
25288 move-result-object v5
25290 const-string v6, ", uid="
25292 invoke-virtual {v5, v6}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
25294 move-result-object v5
25296 invoke-static {}, Landroid/os/Binder;->getCallingUid()I
25300 invoke-virtual {v5, v6}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
25302 move-result-object v5
25304 const-string v6, " is not allowed to cancel packges "
25306 invoke-virtual {v5, v6}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
25308 move-result-object v5
25310 iget-object v6, v3, Lcom/android/server/am/PendingIntentRecord;->key:Lcom/android/server/am/PendingIntentRecord$Key;
25312 iget-object v6, v6, Lcom/android/server/am/PendingIntentRecord$Key;->packageName:Ljava/lang/String;
25314 invoke-virtual {v5, v6}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
25316 move-result-object v5
25318 invoke-virtual {v5}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
25320 move-result-object v2
25322 const-string v5, "ActivityManager"
25324 invoke-static {v5, v2}, Landroid/util/Slog;->w(Ljava/lang/String;Ljava/lang/String;)I
25326 new-instance v5, Ljava/lang/SecurityException;
25328 invoke-direct {v5, v2}, Ljava/lang/SecurityException;-><init>(Ljava/lang/String;)V
25332 .catchall {:try_start_a .. :try_end_62} :catchall_69
25333 .catch Landroid/os/RemoteException; {:try_start_a .. :try_end_62} :catch_62
25339 new-instance v5, Ljava/lang/SecurityException;
25341 invoke-direct {v5, v1}, Ljava/lang/SecurityException;-><init>(Ljava/lang/Throwable;)V
25350 .catchall {:try_start_63 .. :try_end_6b} :catchall_69
25358 invoke-virtual {p0, v3, v5}, Lcom/android/server/am/ActivityManagerService;->cancelIntentSenderLocked(Lcom/android/server/am/PendingIntentRecord;Z)V
25362 .catchall {:try_start_6d .. :try_end_71} :catchall_69
25367 .method cancelIntentSenderLocked(Lcom/android/server/am/PendingIntentRecord;Z)V
25372 iput-boolean v0, p1, Lcom/android/server/am/PendingIntentRecord;->canceled:Z
25374 iget-object v0, p0, Lcom/android/server/am/ActivityManagerService;->mIntentSenderRecords:Ljava/util/HashMap;
25376 iget-object v1, p1, Lcom/android/server/am/PendingIntentRecord;->key:Lcom/android/server/am/PendingIntentRecord$Key;
25378 invoke-virtual {v0, v1}, Ljava/util/HashMap;->remove(Ljava/lang/Object;)Ljava/lang/Object;
25380 if-eqz p2, :cond_1d
25382 iget-object v0, p1, Lcom/android/server/am/PendingIntentRecord;->key:Lcom/android/server/am/PendingIntentRecord$Key;
25384 iget-object v0, v0, Lcom/android/server/am/PendingIntentRecord$Key;->activity:Lcom/android/server/am/ActivityRecord;
25386 if-eqz v0, :cond_1d
25388 iget-object v0, p1, Lcom/android/server/am/PendingIntentRecord;->key:Lcom/android/server/am/PendingIntentRecord$Key;
25390 iget-object v0, v0, Lcom/android/server/am/PendingIntentRecord$Key;->activity:Lcom/android/server/am/ActivityRecord;
25392 iget-object v0, v0, Lcom/android/server/am/ActivityRecord;->pendingResults:Ljava/util/HashSet;
25394 iget-object v1, p1, Lcom/android/server/am/PendingIntentRecord;->ref:Ljava/lang/ref/WeakReference;
25396 invoke-virtual {v0, v1}, Ljava/util/HashSet;->remove(Ljava/lang/Object;)Z
25402 .method checkAppInLaunchingProvidersLocked(Lcom/android/server/am/ProcessRecord;Z)Z
25405 iget-object v4, p0, Lcom/android/server/am/ActivityManagerService;->mLaunchingProviders:Ljava/util/ArrayList;
25407 invoke-virtual {v4}, Ljava/util/ArrayList;->size()I
25416 if-ge v2, v0, :cond_2d
25418 iget-object v4, p0, Lcom/android/server/am/ActivityManagerService;->mLaunchingProviders:Ljava/util/ArrayList;
25420 invoke-virtual {v4, v2}, Ljava/util/ArrayList;->get(I)Ljava/lang/Object;
25422 move-result-object v1
25424 check-cast v1, Lcom/android/server/am/ContentProviderRecord;
25426 iget-object v4, v1, Lcom/android/server/am/ContentProviderRecord;->launchingApp:Lcom/android/server/am/ProcessRecord;
25428 if-ne v4, p1, :cond_1d
25430 if-nez p2, :cond_20
25432 iget-boolean v4, p1, Lcom/android/server/am/ProcessRecord;->bad:Z
25434 if-nez v4, :cond_20
25440 add-int/lit8 v2, v2, 0x1
25447 invoke-direct {p0, p1, v1, v4}, Lcom/android/server/am/ActivityManagerService;->removeDyingProviderLocked(Lcom/android/server/am/ProcessRecord;Lcom/android/server/am/ContentProviderRecord;Z)Z
25449 iget-object v4, p0, Lcom/android/server/am/ActivityManagerService;->mLaunchingProviders:Ljava/util/ArrayList;
25451 invoke-virtual {v4}, Ljava/util/ArrayList;->size()I
25455 add-int/lit8 v2, v2, -0x1
25463 .method checkAppSwitchAllowedLocked(IILjava/lang/String;)Z
25468 iget-wide v0, p0, Lcom/android/server/am/ActivityManagerService;->mAppSwitchesAllowedTime:J
25470 invoke-static {}, Landroid/os/SystemClock;->uptimeMillis()J
25472 move-result-wide v2
25474 cmp-long v0, v0, v2
25483 const-string v1, "android.permission.STOP_APP_SWITCHES"
25493 invoke-virtual/range {v0 .. v5}, Lcom/android/server/am/ActivityManagerService;->checkComponentPermission(Ljava/lang/String;IIIZ)I
25499 const-string v0, "ActivityManager"
25501 new-instance v1, Ljava/lang/StringBuilder;
25503 invoke-direct {v1}, Ljava/lang/StringBuilder;-><init>()V
25505 invoke-virtual {v1, p3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
25507 move-result-object v1
25509 const-string v2, " request from "
25511 invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
25513 move-result-object v1
25515 invoke-virtual {v1, p2}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
25517 move-result-object v1
25519 const-string v2, " stopped"
25521 invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
25523 move-result-object v1
25525 invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
25527 move-result-object v1
25529 invoke-static {v0, v1}, Landroid/util/Slog;->w(Ljava/lang/String;Ljava/lang/String;)I
25536 .method checkCallingPermission(Ljava/lang/String;)I
25539 invoke-static {}, Landroid/os/Binder;->getCallingPid()I
25543 invoke-static {}, Landroid/os/Binder;->getCallingUid()I
25547 invoke-static {v1}, Landroid/os/UserHandle;->getAppId(I)I
25551 invoke-virtual {p0, p1, v0, v1}, Lcom/android/server/am/ActivityManagerService;->checkPermission(Ljava/lang/String;II)I
25558 .method checkComponentPermission(Ljava/lang/String;IIIZ)I
25561 sget-object v1, Lcom/android/server/am/ActivityManagerService;->sCallerIdentity:Ljava/lang/ThreadLocal;
25563 invoke-virtual {v1}, Ljava/lang/ThreadLocal;->get()Ljava/lang/Object;
25565 move-result-object v0
25567 check-cast v0, Lcom/android/server/am/ActivityManagerService$Identity;
25569 if-eqz v0, :cond_3a
25571 const-string v1, "ActivityManager"
25573 new-instance v2, Ljava/lang/StringBuilder;
25575 invoke-direct {v2}, Ljava/lang/StringBuilder;-><init>()V
25577 const-string v3, "checkComponentPermission() adjusting {pid,uid} to {"
25579 invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
25581 move-result-object v2
25583 iget v3, v0, Lcom/android/server/am/ActivityManagerService$Identity;->pid:I
25585 invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
25587 move-result-object v2
25589 const-string v3, ","
25591 invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
25593 move-result-object v2
25595 iget v3, v0, Lcom/android/server/am/ActivityManagerService$Identity;->uid:I
25597 invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
25599 move-result-object v2
25601 const-string v3, "}"
25603 invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
25605 move-result-object v2
25607 invoke-virtual {v2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
25609 move-result-object v2
25611 invoke-static {v1, v2}, Landroid/util/Slog;->d(Ljava/lang/String;Ljava/lang/String;)I
25613 iget p3, v0, Lcom/android/server/am/ActivityManagerService$Identity;->uid:I
25615 iget p2, v0, Lcom/android/server/am/ActivityManagerService$Identity;->pid:I
25618 sget v1, Lcom/android/server/am/ActivityManagerService;->MY_PID:I
25620 if-ne p2, v1, :cond_40
25628 invoke-static {p1, p3, p4, p5}, Landroid/app/ActivityManager;->checkComponentPermission(Ljava/lang/String;IIZ)I
25635 .method final checkExcessivePowerUsageLocked(Z)V
25638 invoke-virtual/range {p0 .. p0}, Lcom/android/server/am/ActivityManagerService;->updateCpuStatsNow()V
25640 move-object/from16 v0, p0
25642 iget-object v4, v0, Lcom/android/server/am/ActivityManagerService;->mBatteryStatsService:Lcom/android/server/am/BatteryStatsService;
25644 invoke-virtual {v4}, Lcom/android/server/am/BatteryStatsService;->getActiveStatistics()Lcom/android/internal/os/BatteryStatsImpl;
25646 move-result-object v3
25648 move/from16 v23, p1
25650 move/from16 v22, p1
25652 move-object/from16 v0, p0
25654 iget-wide v4, v0, Lcom/android/server/am/ActivityManagerService;->mLastPowerCheckRealtime:J
25656 const-wide/16 v10, 0x0
25658 cmp-long v4, v4, v10
25660 if-nez v4, :cond_1b
25665 move-object/from16 v0, p0
25667 iget-wide v4, v0, Lcom/android/server/am/ActivityManagerService;->mLastPowerCheckUptime:J
25669 const-wide/16 v10, 0x0
25671 cmp-long v4, v4, v10
25673 if-nez v4, :cond_27
25678 invoke-virtual {v3}, Lcom/android/internal/os/BatteryStatsImpl;->isScreenOn()Z
25682 if-eqz v4, :cond_2f
25687 invoke-static {}, Landroid/os/SystemClock;->elapsedRealtime()J
25689 move-result-wide v18
25691 move-object/from16 v0, p0
25693 iget-wide v4, v0, Lcom/android/server/am/ActivityManagerService;->mLastPowerCheckRealtime:J
25695 sub-long v6, v18, v4
25697 invoke-static {}, Landroid/os/SystemClock;->uptimeMillis()J
25699 move-result-wide v20
25701 move-object/from16 v0, p0
25703 iget-wide v4, v0, Lcom/android/server/am/ActivityManagerService;->mLastPowerCheckUptime:J
25705 sub-long v13, v20, v4
25707 move-wide/from16 v0, v18
25709 move-object/from16 v2, p0
25711 iput-wide v0, v2, Lcom/android/server/am/ActivityManagerService;->mLastPowerCheckRealtime:J
25713 move-wide/from16 v0, v20
25715 move-object/from16 v2, p0
25717 iput-wide v0, v2, Lcom/android/server/am/ActivityManagerService;->mLastPowerCheckUptime:J
25719 const-wide/32 v4, 0x493e0
25721 cmp-long v4, v6, v4
25723 if-gez v4, :cond_58
25728 const-wide/32 v4, 0x493e0
25730 cmp-long v4, v13, v4
25732 if-gez v4, :cond_61
25737 move-object/from16 v0, p0
25739 iget-object v4, v0, Lcom/android/server/am/ActivityManagerService;->mLruProcesses:Ljava/util/ArrayList;
25741 invoke-virtual {v4}, Ljava/util/ArrayList;->size()I
25747 if-lez v24, :cond_1f6
25749 add-int/lit8 v24, v24, -0x1
25751 move-object/from16 v0, p0
25753 iget-object v4, v0, Lcom/android/server/am/ActivityManagerService;->mLruProcesses:Ljava/util/ArrayList;
25755 move/from16 v0, v24
25757 invoke-virtual {v4, v0}, Ljava/util/ArrayList;->get(I)Ljava/lang/Object;
25759 move-result-object v17
25761 check-cast v17, Lcom/android/server/am/ProcessRecord;
25763 move-object/from16 v0, v17
25765 iget-boolean v4, v0, Lcom/android/server/am/ProcessRecord;->keeping:Z
25767 if-nez v4, :cond_69
25772 move-object/from16 v0, v17
25774 iget-object v4, v0, Lcom/android/server/am/ProcessRecord;->info:Landroid/content/pm/ApplicationInfo;
25776 iget v4, v4, Landroid/content/pm/ApplicationInfo;->uid:I
25778 move-object/from16 v0, v17
25780 iget v5, v0, Lcom/android/server/am/ProcessRecord;->pid:I
25782 move-wide/from16 v0, v18
25784 invoke-virtual {v3, v4, v5, v0, v1}, Lcom/android/internal/os/BatteryStatsImpl;->getProcessWakeTime(IIJ)J
25786 move-result-wide v25
25790 .catchall {:try_start_80 .. :try_end_91} :catchall_13e
25792 move-object/from16 v0, v17
25794 iget-wide v4, v0, Lcom/android/server/am/ProcessRecord;->lastWakeTime:J
25796 sub-long v8, v25, v4
25798 move-object/from16 v0, v17
25800 iget-wide v4, v0, Lcom/android/server/am/ProcessRecord;->curCpuTime:J
25802 move-object/from16 v0, v17
25804 iget-wide v10, v0, Lcom/android/server/am/ProcessRecord;->lastCpuTime:J
25806 sub-long v15, v4, v10
25808 if-eqz v23, :cond_144
25810 const-wide/16 v4, 0x0
25812 cmp-long v4, v6, v4
25814 if-lez v4, :cond_144
25816 const-wide/16 v4, 0x64
25818 mul-long/2addr v4, v8
25820 div-long/2addr v4, v6
25822 const-wide/16 v10, 0x32
25824 cmp-long v4, v4, v10
25826 if-ltz v4, :cond_144
25831 move-object/from16 v0, v17
25833 iget-object v4, v0, Lcom/android/server/am/ProcessRecord;->info:Landroid/content/pm/ApplicationInfo;
25835 iget v4, v4, Landroid/content/pm/ApplicationInfo;->uid:I
25837 move-object/from16 v0, v17
25839 iget-object v5, v0, Lcom/android/server/am/ProcessRecord;->processName:Ljava/lang/String;
25841 invoke-virtual/range {v3 .. v9}, Lcom/android/internal/os/BatteryStatsImpl;->reportExcessiveWakeLocked(ILjava/lang/String;JJ)V
25845 .catchall {:try_start_b4 .. :try_end_c2} :catchall_141
25847 const-string v4, "ActivityManager"
25849 new-instance v5, Ljava/lang/StringBuilder;
25851 invoke-direct {v5}, Ljava/lang/StringBuilder;-><init>()V
25853 const-string v10, "Excessive wake lock in "
25855 invoke-virtual {v5, v10}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
25857 move-result-object v5
25859 move-object/from16 v0, v17
25861 iget-object v10, v0, Lcom/android/server/am/ProcessRecord;->processName:Ljava/lang/String;
25863 invoke-virtual {v5, v10}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
25865 move-result-object v5
25867 const-string v10, " (pid "
25869 invoke-virtual {v5, v10}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
25871 move-result-object v5
25873 move-object/from16 v0, v17
25875 iget v10, v0, Lcom/android/server/am/ProcessRecord;->pid:I
25877 invoke-virtual {v5, v10}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
25879 move-result-object v5
25881 const-string v10, "): held "
25883 invoke-virtual {v5, v10}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
25885 move-result-object v5
25887 invoke-virtual {v5, v8, v9}, Ljava/lang/StringBuilder;->append(J)Ljava/lang/StringBuilder;
25889 move-result-object v5
25891 const-string v10, " during "
25893 invoke-virtual {v5, v10}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
25895 move-result-object v5
25897 invoke-virtual {v5, v6, v7}, Ljava/lang/StringBuilder;->append(J)Ljava/lang/StringBuilder;
25899 move-result-object v5
25901 invoke-virtual {v5}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
25903 move-result-object v5
25905 invoke-static {v4, v5}, Landroid/util/Slog;->w(Ljava/lang/String;Ljava/lang/String;)I
25907 const/16 v4, 0x7547
25911 new-array v5, v5, [Ljava/lang/Object;
25915 move-object/from16 v0, v17
25917 iget v11, v0, Lcom/android/server/am/ProcessRecord;->userId:I
25919 invoke-static {v11}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
25921 move-result-object v11
25923 aput-object v11, v5, v10
25927 move-object/from16 v0, v17
25929 iget v11, v0, Lcom/android/server/am/ProcessRecord;->pid:I
25931 invoke-static {v11}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
25933 move-result-object v11
25935 aput-object v11, v5, v10
25939 move-object/from16 v0, v17
25941 iget-object v11, v0, Lcom/android/server/am/ProcessRecord;->processName:Ljava/lang/String;
25943 aput-object v11, v5, v10
25947 move-object/from16 v0, v17
25949 iget v11, v0, Lcom/android/server/am/ProcessRecord;->setAdj:I
25951 invoke-static {v11}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
25953 move-result-object v11
25955 aput-object v11, v5, v10
25959 const-string v11, "excessive wake lock"
25961 aput-object v11, v5, v10
25963 invoke-static {v4, v5}, Landroid/util/EventLog;->writeEvent(I[Ljava/lang/Object;)I
25965 move-object/from16 v0, v17
25967 iget v4, v0, Lcom/android/server/am/ProcessRecord;->pid:I
25969 invoke-static {v4}, Landroid/os/Process;->killProcessQuiet(I)V
25979 .catchall {:try_start_13f .. :try_end_140} :catchall_13e
25989 .catchall {:try_start_142 .. :try_end_143} :catchall_141
25994 if-eqz v22, :cond_1e6
25996 const-wide/16 v4, 0x0
25998 cmp-long v4, v13, v4
26000 if-lez v4, :cond_1e6
26002 const-wide/16 v4, 0x64
26004 mul-long/2addr v4, v15
26006 div-long/2addr v4, v13
26008 const-wide/16 v10, 0x32
26010 cmp-long v4, v4, v10
26012 if-ltz v4, :cond_1e6
26017 move-object/from16 v0, v17
26019 iget-object v4, v0, Lcom/android/server/am/ProcessRecord;->info:Landroid/content/pm/ApplicationInfo;
26021 iget v11, v4, Landroid/content/pm/ApplicationInfo;->uid:I
26023 move-object/from16 v0, v17
26025 iget-object v12, v0, Lcom/android/server/am/ProcessRecord;->processName:Ljava/lang/String;
26027 move-object v10, v3
26029 invoke-virtual/range {v10 .. v16}, Lcom/android/internal/os/BatteryStatsImpl;->reportExcessiveCpuLocked(ILjava/lang/String;JJ)V
26033 .catchall {:try_start_157 .. :try_end_166} :catchall_1e3
26035 const-string v4, "ActivityManager"
26037 new-instance v5, Ljava/lang/StringBuilder;
26039 invoke-direct {v5}, Ljava/lang/StringBuilder;-><init>()V
26041 const-string v10, "Excessive CPU in "
26043 invoke-virtual {v5, v10}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
26045 move-result-object v5
26047 move-object/from16 v0, v17
26049 iget-object v10, v0, Lcom/android/server/am/ProcessRecord;->processName:Ljava/lang/String;
26051 invoke-virtual {v5, v10}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
26053 move-result-object v5
26055 const-string v10, " (pid "
26057 invoke-virtual {v5, v10}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
26059 move-result-object v5
26061 move-object/from16 v0, v17
26063 iget v10, v0, Lcom/android/server/am/ProcessRecord;->pid:I
26065 invoke-virtual {v5, v10}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
26067 move-result-object v5
26069 const-string v10, "): used "
26071 invoke-virtual {v5, v10}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
26073 move-result-object v5
26077 invoke-virtual {v5, v0, v1}, Ljava/lang/StringBuilder;->append(J)Ljava/lang/StringBuilder;
26079 move-result-object v5
26081 const-string v10, " during "
26083 invoke-virtual {v5, v10}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
26085 move-result-object v5
26087 invoke-virtual {v5, v13, v14}, Ljava/lang/StringBuilder;->append(J)Ljava/lang/StringBuilder;
26089 move-result-object v5
26091 invoke-virtual {v5}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
26093 move-result-object v5
26095 invoke-static {v4, v5}, Landroid/util/Slog;->w(Ljava/lang/String;Ljava/lang/String;)I
26097 const/16 v4, 0x7547
26101 new-array v5, v5, [Ljava/lang/Object;
26105 move-object/from16 v0, v17
26107 iget v11, v0, Lcom/android/server/am/ProcessRecord;->userId:I
26109 invoke-static {v11}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
26111 move-result-object v11
26113 aput-object v11, v5, v10
26117 move-object/from16 v0, v17
26119 iget v11, v0, Lcom/android/server/am/ProcessRecord;->pid:I
26121 invoke-static {v11}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
26123 move-result-object v11
26125 aput-object v11, v5, v10
26129 move-object/from16 v0, v17
26131 iget-object v11, v0, Lcom/android/server/am/ProcessRecord;->processName:Ljava/lang/String;
26133 aput-object v11, v5, v10
26137 move-object/from16 v0, v17
26139 iget v11, v0, Lcom/android/server/am/ProcessRecord;->setAdj:I
26141 invoke-static {v11}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
26143 move-result-object v11
26145 aput-object v11, v5, v10
26149 const-string v11, "excessive cpu"
26151 aput-object v11, v5, v10
26153 invoke-static {v4, v5}, Landroid/util/EventLog;->writeEvent(I[Ljava/lang/Object;)I
26155 move-object/from16 v0, v17
26157 iget v4, v0, Lcom/android/server/am/ProcessRecord;->pid:I
26159 invoke-static {v4}, Landroid/os/Process;->killProcessQuiet(I)V
26169 .catchall {:try_start_1e4 .. :try_end_1e5} :catchall_1e3
26174 move-wide/from16 v0, v25
26176 move-object/from16 v2, v17
26178 iput-wide v0, v2, Lcom/android/server/am/ProcessRecord;->lastWakeTime:J
26180 move-object/from16 v0, v17
26182 iget-wide v4, v0, Lcom/android/server/am/ProcessRecord;->curCpuTime:J
26184 move-object/from16 v0, v17
26186 iput-wide v4, v0, Lcom/android/server/am/ProcessRecord;->lastCpuTime:J
26194 .method public checkGrantUriPermission(ILjava/lang/String;Landroid/net/Uri;I)I
26197 const-string v0, "checkGrantUriPermission"
26199 invoke-virtual {p0, v0}, Lcom/android/server/am/ActivityManagerService;->enforceNotIsolatedCaller(Ljava/lang/String;)V
26216 invoke-virtual/range {v0 .. v5}, Lcom/android/server/am/ActivityManagerService;->checkGrantUriPermissionLocked(ILjava/lang/String;Landroid/net/Uri;II)I
26229 .catchall {:try_start_c .. :try_end_14} :catchall_12
26234 .method checkGrantUriPermissionFromIntentLocked(ILjava/lang/String;Landroid/content/Intent;ILcom/android/server/am/ActivityManagerService$NeededUriGrants;)Lcom/android/server/am/ActivityManagerService$NeededUriGrants;
26239 new-instance v4, Ljava/lang/NullPointerException;
26241 const-string v5, "targetPkg"
26243 invoke-direct {v4, v5}, Ljava/lang/NullPointerException;-><init>(Ljava/lang/String;)V
26256 invoke-virtual/range {p3 .. p3}, Landroid/content/Intent;->getData()Landroid/net/Uri;
26258 move-result-object v7
26260 invoke-virtual/range {p3 .. p3}, Landroid/content/Intent;->getClipData()Landroid/content/ClipData;
26262 move-result-object v18
26264 if-nez v7, :cond_1c
26266 if-nez v18, :cond_1c
26273 if-eqz v7, :cond_46
26275 if-eqz p5, :cond_89
26277 move-object/from16 v0, p5
26279 iget v9, v0, Lcom/android/server/am/ActivityManagerService$NeededUriGrants;->targetUid:I
26282 move-object/from16 v4, p0
26286 move-object/from16 v6, p2
26290 invoke-virtual/range {v4 .. v9}, Lcom/android/server/am/ActivityManagerService;->checkGrantUriPermissionLocked(ILjava/lang/String;Landroid/net/Uri;II)I
26294 if-lez v21, :cond_46
26296 if-nez p5, :cond_41
26298 new-instance p5, Lcom/android/server/am/ActivityManagerService$NeededUriGrants;
26300 move-object/from16 v0, p5
26302 move-object/from16 v1, p2
26304 move/from16 v2, v21
26308 invoke-direct {v0, v1, v2, v3}, Lcom/android/server/am/ActivityManagerService$NeededUriGrants;-><init>(Ljava/lang/String;II)V
26311 move-object/from16 v0, p5
26313 invoke-virtual {v0, v7}, Lcom/android/server/am/ActivityManagerService$NeededUriGrants;->add(Ljava/lang/Object;)Z
26316 if-eqz v18, :cond_aa
26321 invoke-virtual/range {v18 .. v18}, Landroid/content/ClipData;->getItemCount()I
26325 move/from16 v0, v19
26327 if-ge v0, v4, :cond_aa
26329 invoke-virtual/range {v18 .. v19}, Landroid/content/ClipData;->getItemAt(I)Landroid/content/ClipData$Item;
26331 move-result-object v4
26333 invoke-virtual {v4}, Landroid/content/ClipData$Item;->getUri()Landroid/net/Uri;
26335 move-result-object v11
26337 if-eqz v11, :cond_8d
26341 if-eqz p5, :cond_8b
26343 move-object/from16 v0, p5
26345 iget v13, v0, Lcom/android/server/am/ActivityManagerService$NeededUriGrants;->targetUid:I
26348 move-object/from16 v8, p0
26352 move-object/from16 v10, p2
26354 move/from16 v12, p4
26356 invoke-virtual/range {v8 .. v13}, Lcom/android/server/am/ActivityManagerService;->checkGrantUriPermissionLocked(ILjava/lang/String;Landroid/net/Uri;II)I
26360 if-lez v21, :cond_86
26362 if-nez p5, :cond_81
26364 new-instance p5, Lcom/android/server/am/ActivityManagerService$NeededUriGrants;
26366 move-object/from16 v0, p5
26368 move-object/from16 v1, p2
26370 move/from16 v2, v21
26374 invoke-direct {v0, v1, v2, v3}, Lcom/android/server/am/ActivityManagerService$NeededUriGrants;-><init>(Ljava/lang/String;II)V
26377 move-object/from16 v0, p5
26379 invoke-virtual {v0, v11}, Lcom/android/server/am/ActivityManagerService$NeededUriGrants;->add(Ljava/lang/Object;)Z
26383 add-int/lit8 v19, v19, 0x1
26398 invoke-virtual/range {v18 .. v19}, Landroid/content/ClipData;->getItemAt(I)Landroid/content/ClipData$Item;
26400 move-result-object v4
26402 invoke-virtual {v4}, Landroid/content/ClipData$Item;->getIntent()Landroid/content/Intent;
26404 move-result-object v15
26406 if-eqz v15, :cond_86
26408 move-object/from16 v12, p0
26410 move/from16 v13, p1
26412 move-object/from16 v14, p2
26414 move/from16 v16, p4
26416 move-object/from16 v17, p5
26418 invoke-virtual/range {v12 .. v17}, Lcom/android/server/am/ActivityManagerService;->checkGrantUriPermissionFromIntentLocked(ILjava/lang/String;Landroid/content/Intent;ILcom/android/server/am/ActivityManagerService$NeededUriGrants;)Lcom/android/server/am/ActivityManagerService$NeededUriGrants;
26420 move-result-object v20
26422 if-eqz v20, :cond_86
26424 move-object/from16 p5, v20
26429 move-object/from16 v4, p5
26434 .method checkGrantUriPermissionLocked(ILjava/lang/String;Landroid/net/Uri;II)I
26437 and-int/lit8 p4, p4, 0x3
26451 invoke-static {}, Landroid/app/AppGlobals;->getPackageManager()Landroid/content/pm/IPackageManager;
26453 move-result-object v5
26455 const-string v4, "content"
26457 invoke-virtual/range {p3 .. p3}, Landroid/net/Uri;->getScheme()Ljava/lang/String;
26459 move-result-object v7
26461 invoke-virtual {v4, v7}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
26465 if-nez v4, :cond_1a
26472 invoke-virtual/range {p3 .. p3}, Landroid/net/Uri;->getAuthority()Ljava/lang/String;
26474 move-result-object v20
26478 move-object/from16 v0, p0
26480 iget-object v4, v0, Lcom/android/server/am/ActivityManagerService;->mProviderMap:Lcom/android/server/am/ProviderMap;
26482 invoke-static/range {p1 .. p1}, Landroid/os/UserHandle;->getUserId(I)I
26486 move-object/from16 v0, v20
26488 invoke-virtual {v4, v0, v7}, Lcom/android/server/am/ProviderMap;->getProviderByName(Ljava/lang/String;I)Lcom/android/server/am/ContentProviderRecord;
26490 move-result-object v17
26492 if-eqz v17, :cond_53
26494 move-object/from16 v0, v17
26496 iget-object v6, v0, Lcom/android/server/am/ContentProviderRecord;->info:Landroid/content/pm/ProviderInfo;
26499 if-nez v6, :cond_60
26501 const-string v4, "ActivityManager"
26503 new-instance v7, Ljava/lang/StringBuilder;
26505 invoke-direct {v7}, Ljava/lang/StringBuilder;-><init>()V
26507 const-string v9, "No content provider found for permission check: "
26509 invoke-virtual {v7, v9}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
26511 move-result-object v7
26513 invoke-virtual/range {p3 .. p3}, Landroid/net/Uri;->toSafeString()Ljava/lang/String;
26515 move-result-object v9
26517 invoke-virtual {v7, v9}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
26519 move-result-object v7
26521 invoke-virtual {v7}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
26523 move-result-object v7
26525 invoke-static {v4, v7}, Landroid/util/Slog;->w(Ljava/lang/String;Ljava/lang/String;)I
26535 invoke-static/range {p1 .. p1}, Landroid/os/UserHandle;->getUserId(I)I
26539 move-object/from16 v0, v20
26541 invoke-interface {v5, v0, v4, v7}, Landroid/content/pm/IPackageManager;->resolveContentProvider(Ljava/lang/String;II)Landroid/content/pm/ProviderInfo;
26543 .catch Landroid/os/RemoteException; {:try_start_55 .. :try_end_5e} :catch_18c
26545 move-result-object v6
26552 if-gez v8, :cond_77
26554 if-eqz p2, :cond_77
26557 invoke-static/range {p1 .. p1}, Landroid/os/UserHandle;->getUserId(I)I
26561 move-object/from16 v0, p2
26563 invoke-interface {v5, v0, v4}, Landroid/content/pm/IPackageManager;->getPackageUid(Ljava/lang/String;I)I
26565 .catch Landroid/os/RemoteException; {:try_start_66 .. :try_end_6f} :catch_74
26569 if-gez v8, :cond_77
26583 if-ltz v8, :cond_88
26585 move-object/from16 v4, p0
26587 move-object/from16 v7, p3
26591 invoke-direct/range {v4 .. v9}, Lcom/android/server/am/ActivityManagerService;->checkHoldingPermissionsLocked(Landroid/content/pm/IPackageManager;Landroid/content/pm/ProviderInfo;Landroid/net/Uri;II)Z
26595 if-eqz v4, :cond_a5
26602 iget-boolean v0, v6, Landroid/content/pm/ProviderInfo;->exported:Z
26604 move/from16 v16, v0
26606 and-int/lit8 v4, p4, 0x1
26608 if-eqz v4, :cond_96
26610 iget-object v4, v6, Landroid/content/pm/ProviderInfo;->readPermission:Ljava/lang/String;
26612 if-eqz v4, :cond_96
26617 and-int/lit8 v4, p4, 0x2
26619 if-eqz v4, :cond_a0
26621 iget-object v4, v6, Landroid/content/pm/ProviderInfo;->writePermission:Ljava/lang/String;
26623 if-eqz v4, :cond_a0
26628 if-eqz v16, :cond_a5
26635 iget-boolean v4, v6, Landroid/content/pm/ProviderInfo;->grantUriPermissions:Z
26637 if-nez v4, :cond_e2
26639 new-instance v4, Ljava/lang/SecurityException;
26641 new-instance v7, Ljava/lang/StringBuilder;
26643 invoke-direct {v7}, Ljava/lang/StringBuilder;-><init>()V
26645 const-string v9, "Provider "
26647 invoke-virtual {v7, v9}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
26649 move-result-object v7
26651 iget-object v9, v6, Landroid/content/pm/ProviderInfo;->packageName:Ljava/lang/String;
26653 invoke-virtual {v7, v9}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
26655 move-result-object v7
26657 const-string v9, "/"
26659 invoke-virtual {v7, v9}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
26661 move-result-object v7
26663 iget-object v9, v6, Landroid/content/pm/ProviderInfo;->name:Ljava/lang/String;
26665 invoke-virtual {v7, v9}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
26667 move-result-object v7
26669 const-string v9, " does not allow granting of Uri permissions (uri "
26671 invoke-virtual {v7, v9}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
26673 move-result-object v7
26675 move-object/from16 v0, p3
26677 invoke-virtual {v7, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
26679 move-result-object v7
26681 const-string v9, ")"
26683 invoke-virtual {v7, v9}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
26685 move-result-object v7
26687 invoke-virtual {v7}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
26689 move-result-object v7
26691 invoke-direct {v4, v7}, Ljava/lang/SecurityException;-><init>(Ljava/lang/String;)V
26696 iget-object v4, v6, Landroid/content/pm/ProviderInfo;->uriPermissionPatterns:[Landroid/os/PatternMatcher;
26698 if-eqz v4, :cond_13f
26700 iget-object v4, v6, Landroid/content/pm/ProviderInfo;->uriPermissionPatterns:[Landroid/os/PatternMatcher;
26702 array-length v15, v4
26709 move/from16 v0, v19
26711 if-ge v0, v15, :cond_107
26713 iget-object v4, v6, Landroid/content/pm/ProviderInfo;->uriPermissionPatterns:[Landroid/os/PatternMatcher;
26715 aget-object v4, v4, v19
26717 if-eqz v4, :cond_13c
26719 iget-object v4, v6, Landroid/content/pm/ProviderInfo;->uriPermissionPatterns:[Landroid/os/PatternMatcher;
26721 aget-object v4, v4, v19
26723 invoke-virtual/range {p3 .. p3}, Landroid/net/Uri;->getPath()Ljava/lang/String;
26725 move-result-object v7
26727 invoke-virtual {v4, v7}, Landroid/os/PatternMatcher;->match(Ljava/lang/String;)Z
26731 if-eqz v4, :cond_13c
26736 if-nez v16, :cond_13f
26738 new-instance v4, Ljava/lang/SecurityException;
26740 new-instance v7, Ljava/lang/StringBuilder;
26742 invoke-direct {v7}, Ljava/lang/StringBuilder;-><init>()V
26744 const-string v9, "Provider "
26746 invoke-virtual {v7, v9}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
26748 move-result-object v7
26750 iget-object v9, v6, Landroid/content/pm/ProviderInfo;->packageName:Ljava/lang/String;
26752 invoke-virtual {v7, v9}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
26754 move-result-object v7
26756 const-string v9, "/"
26758 invoke-virtual {v7, v9}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
26760 move-result-object v7
26762 iget-object v9, v6, Landroid/content/pm/ProviderInfo;->name:Ljava/lang/String;
26764 invoke-virtual {v7, v9}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
26766 move-result-object v7
26768 const-string v9, " does not allow granting of permission to path of Uri "
26770 invoke-virtual {v7, v9}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
26772 move-result-object v7
26774 move-object/from16 v0, p3
26776 invoke-virtual {v7, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
26778 move-result-object v7
26780 invoke-virtual {v7}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
26782 move-result-object v7
26784 invoke-direct {v4, v7}, Ljava/lang/SecurityException;-><init>(Ljava/lang/String;)V
26789 add-int/lit8 v19, v19, 0x1
26794 invoke-static {}, Landroid/os/Process;->myUid()I
26800 if-eq v0, v4, :cond_5
26802 move-object/from16 v9, p0
26804 move-object v10, v5
26806 move-object v11, v6
26808 move-object/from16 v12, p3
26810 move/from16 v13, p1
26812 move/from16 v14, p4
26814 invoke-direct/range {v9 .. v14}, Lcom/android/server/am/ActivityManagerService;->checkHoldingPermissionsLocked(Landroid/content/pm/IPackageManager;Landroid/content/pm/ProviderInfo;Landroid/net/Uri;II)Z
26820 move-object/from16 v0, p0
26822 move-object/from16 v1, p3
26828 invoke-direct {v0, v1, v2, v3}, Lcom/android/server/am/ActivityManagerService;->checkUriPermissionLocked(Landroid/net/Uri;II)Z
26834 new-instance v4, Ljava/lang/SecurityException;
26836 new-instance v7, Ljava/lang/StringBuilder;
26838 invoke-direct {v7}, Ljava/lang/StringBuilder;-><init>()V
26840 const-string v9, "Uid "
26842 invoke-virtual {v7, v9}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
26844 move-result-object v7
26848 invoke-virtual {v7, v0}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
26850 move-result-object v7
26852 const-string v9, " does not have permission to uri "
26854 invoke-virtual {v7, v9}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
26856 move-result-object v7
26858 move-object/from16 v0, p3
26860 invoke-virtual {v7, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
26862 move-result-object v7
26864 invoke-virtual {v7}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
26866 move-result-object v7
26868 invoke-direct {v4, v7}, Ljava/lang/SecurityException;-><init>(Ljava/lang/String;)V
26878 .method public checkPermission(Ljava/lang/String;II)I
26889 invoke-static {p3}, Landroid/os/UserHandle;->getAppId(I)I
26901 invoke-virtual/range {v0 .. v5}, Lcom/android/server/am/ActivityManagerService;->checkComponentPermission(Ljava/lang/String;IIIZ)I
26908 .method public checkUriPermission(Landroid/net/Uri;III)I
26913 const-string v2, "checkUriPermission"
26915 invoke-virtual {p0, v2}, Lcom/android/server/am/ActivityManagerService;->enforceNotIsolatedCaller(Ljava/lang/String;)V
26917 sget-object v2, Lcom/android/server/am/ActivityManagerService;->sCallerIdentity:Ljava/lang/ThreadLocal;
26919 invoke-virtual {v2}, Ljava/lang/ThreadLocal;->get()Ljava/lang/Object;
26921 move-result-object v0
26923 check-cast v0, Lcom/android/server/am/ActivityManagerService$Identity;
26925 if-eqz v0, :cond_14
26927 iget p3, v0, Lcom/android/server/am/ActivityManagerService$Identity;->uid:I
26929 iget p2, v0, Lcom/android/server/am/ActivityManagerService$Identity;->pid:I
26932 sget v2, Lcom/android/server/am/ActivityManagerService;->MY_PID:I
26934 if-ne p2, v2, :cond_19
26943 invoke-direct {p0, p1, p3, p4}, Lcom/android/server/am/ActivityManagerService;->checkUriPermissionLocked(Landroid/net/Uri;II)Z
26947 if-eqz v2, :cond_25
26959 .catchall {:try_start_1a .. :try_end_24} :catchall_22
26969 .method public clearApplicationUserData(Ljava/lang/String;Landroid/content/pm/IPackageDataObserver;I)Z
26972 const-string v4, "clearApplicationUserData"
26974 move-object/from16 v0, p0
26976 invoke-virtual {v0, v4}, Lcom/android/server/am/ActivityManagerService;->enforceNotIsolatedCaller(Ljava/lang/String;)V
26978 invoke-static {}, Landroid/os/Binder;->getCallingUid()I
26982 invoke-static {}, Landroid/os/Binder;->getCallingPid()I
26990 const-string v10, "clearApplicationUserData"
26994 move-object/from16 v4, p0
26998 invoke-virtual/range {v4 .. v11}, Lcom/android/server/am/ActivityManagerService;->handleIncomingUser(IIIZZLjava/lang/String;Ljava/lang/String;)I
27002 invoke-static {}, Landroid/os/Binder;->clearCallingIdentity()J
27004 move-result-wide v20
27007 invoke-static {}, Landroid/app/AppGlobals;->getPackageManager()Landroid/content/pm/IPackageManager;
27009 move-result-object v23
27015 .catchall {:try_start_20 .. :try_end_27} :catchall_e3
27018 move-object/from16 v0, v23
27020 move-object/from16 v1, p1
27024 invoke-interface {v0, v1, v2}, Landroid/content/pm/IPackageManager;->getPackageUid(Ljava/lang/String;I)I
27026 .catchall {:try_start_27 .. :try_end_30} :catchall_e0
27027 .catch Landroid/os/RemoteException; {:try_start_27 .. :try_end_30} :catch_e8
27034 move/from16 v0, v22
27036 if-ne v0, v4, :cond_56
27039 const-string v4, "ActivityManager"
27041 new-instance v7, Ljava/lang/StringBuilder;
27043 invoke-direct {v7}, Ljava/lang/StringBuilder;-><init>()V
27045 const-string v8, "Invalid packageName:"
27047 invoke-virtual {v7, v8}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
27049 move-result-object v7
27051 move-object/from16 v0, p1
27053 invoke-virtual {v7, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
27055 move-result-object v7
27057 invoke-virtual {v7}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
27059 move-result-object v7
27061 invoke-static {v4, v7}, Landroid/util/Slog;->w(Ljava/lang/String;Ljava/lang/String;)I
27067 .catchall {:try_start_36 .. :try_end_52} :catchall_e0
27069 invoke-static/range {v20 .. v21}, Landroid/os/Binder;->restoreCallingIdentity(J)V
27075 move/from16 v0, v22
27077 if-eq v6, v0, :cond_68
27080 const-string v8, "android.permission.CLEAR_APP_USER_DATA"
27086 move-object/from16 v7, p0
27092 invoke-virtual/range {v7 .. v12}, Lcom/android/server/am/ActivityManagerService;->checkComponentPermission(Ljava/lang/String;IIIZ)I
27096 if-nez v4, :cond_af
27099 move-object/from16 v0, p0
27101 move-object/from16 v1, p1
27103 move/from16 v2, v22
27105 invoke-direct {v0, v1, v2}, Lcom/android/server/am/ActivityManagerService;->forceStopPackageLocked(Ljava/lang/String;I)V
27109 .catchall {:try_start_5a .. :try_end_72} :catchall_e0
27112 move-object/from16 v0, v23
27114 move-object/from16 v1, p1
27116 move-object/from16 v2, p2
27120 invoke-interface {v0, v1, v2, v3}, Landroid/content/pm/IPackageManager;->clearApplicationUserData(Ljava/lang/String;Landroid/content/pm/IPackageDataObserver;I)V
27122 new-instance v10, Landroid/content/Intent;
27124 const-string v4, "android.intent.action.PACKAGE_DATA_CLEARED"
27126 const-string v7, "package"
27130 move-object/from16 v0, p1
27132 invoke-static {v7, v0, v8}, Landroid/net/Uri;->fromParts(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Landroid/net/Uri;
27134 move-result-object v7
27136 invoke-direct {v10, v4, v7}, Landroid/content/Intent;-><init>(Ljava/lang/String;Landroid/net/Uri;)V
27138 const-string v4, "android.intent.extra.UID"
27140 move/from16 v0, v22
27142 invoke-virtual {v10, v4, v0}, Landroid/content/Intent;->putExtra(Ljava/lang/String;I)Landroid/content/Intent;
27144 const-string v8, "android"
27164 move-object/from16 v7, p0
27166 move/from16 v19, p3
27168 invoke-virtual/range {v7 .. v19}, Lcom/android/server/am/ActivityManagerService;->broadcastIntentInPackage(Ljava/lang/String;ILandroid/content/Intent;Ljava/lang/String;Landroid/content/IIntentReceiver;ILjava/lang/String;Landroid/os/Bundle;Ljava/lang/String;ZZI)I
27170 .catchall {:try_start_72 .. :try_end_aa} :catchall_e3
27171 .catch Landroid/os/RemoteException; {:try_start_72 .. :try_end_aa} :catch_eb
27174 invoke-static/range {v20 .. v21}, Landroid/os/Binder;->restoreCallingIdentity(J)V
27182 new-instance v4, Ljava/lang/SecurityException;
27184 new-instance v7, Ljava/lang/StringBuilder;
27186 invoke-direct {v7}, Ljava/lang/StringBuilder;-><init>()V
27188 invoke-virtual {v7, v5}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
27190 move-result-object v7
27192 const-string v8, " does not have permission:"
27194 invoke-virtual {v7, v8}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
27196 move-result-object v7
27198 const-string v8, "android.permission.CLEAR_APP_USER_DATA"
27200 invoke-virtual {v7, v8}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
27202 move-result-object v7
27204 const-string v8, " to clear data"
27206 invoke-virtual {v7, v8}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
27208 move-result-object v7
27210 const-string v8, "for process:"
27212 invoke-virtual {v7, v8}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
27214 move-result-object v7
27216 move-object/from16 v0, p1
27218 invoke-virtual {v7, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
27220 move-result-object v7
27222 invoke-virtual {v7}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
27224 move-result-object v7
27226 invoke-direct {v4, v7}, Ljava/lang/SecurityException;-><init>(Ljava/lang/String;)V
27235 .catchall {:try_start_af .. :try_end_e2} :catchall_e0
27240 .catchall {:try_start_e2 .. :try_end_e3} :catchall_e3
27245 invoke-static/range {v20 .. v21}, Landroid/os/Binder;->restoreCallingIdentity(J)V
27260 .method public clearPendingBackup()V
27263 const-string v0, "android.permission.BACKUP"
27265 const-string v1, "clearPendingBackup"
27267 invoke-virtual {p0, v0, v1}, Lcom/android/server/am/ActivityManagerService;->enforceCallingPermission(Ljava/lang/String;Ljava/lang/String;)V
27274 iput-object v0, p0, Lcom/android/server/am/ActivityManagerService;->mBackupTarget:Lcom/android/server/am/BackupRecord;
27278 iput-object v0, p0, Lcom/android/server/am/ActivityManagerService;->mBackupAppName:Ljava/lang/String;
27289 .catchall {:try_start_9 .. :try_end_12} :catchall_10
27294 .method public closeSystemDialogs(Ljava/lang/String;)V
27297 const-string v5, "closeSystemDialogs"
27299 invoke-virtual {p0, v5}, Lcom/android/server/am/ActivityManagerService;->enforceNotIsolatedCaller(Ljava/lang/String;)V
27301 invoke-static {}, Landroid/os/Binder;->getCallingPid()I
27305 invoke-static {}, Landroid/os/Binder;->getCallingUid()I
27309 invoke-static {}, Landroid/os/Binder;->clearCallingIdentity()J
27311 move-result-wide v0
27316 .catchall {:try_start_11 .. :try_end_12} :catchall_54
27318 const/16 v5, 0x2710
27320 if-lt v4, v5, :cond_59
27323 iget-object v6, p0, Lcom/android/server/am/ActivityManagerService;->mPidsSelfLocked:Landroid/util/SparseArray;
27327 .catchall {:try_start_16 .. :try_end_19} :catchall_51
27330 iget-object v5, p0, Lcom/android/server/am/ActivityManagerService;->mPidsSelfLocked:Landroid/util/SparseArray;
27332 invoke-virtual {v5, v2}, Landroid/util/SparseArray;->get(I)Ljava/lang/Object;
27334 move-result-object v3
27336 check-cast v3, Lcom/android/server/am/ProcessRecord;
27340 .catchall {:try_start_19 .. :try_end_22} :catchall_4e
27343 iget v5, v3, Lcom/android/server/am/ProcessRecord;->curRawAdj:I
27347 if-le v5, v6, :cond_59
27349 const-string v5, "ActivityManager"
27351 new-instance v6, Ljava/lang/StringBuilder;
27353 invoke-direct {v6}, Ljava/lang/StringBuilder;-><init>()V
27355 const-string v7, "Ignoring closeSystemDialogs "
27357 invoke-virtual {v6, v7}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
27359 move-result-object v6
27361 invoke-virtual {v6, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
27363 move-result-object v6
27365 const-string v7, " from background process "
27367 invoke-virtual {v6, v7}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
27369 move-result-object v6
27371 invoke-virtual {v6, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
27373 move-result-object v6
27375 invoke-virtual {v6}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
27377 move-result-object v6
27379 invoke-static {v5, v6}, Landroid/util/Slog;->w(Ljava/lang/String;Ljava/lang/String;)I
27383 .catchall {:try_start_22 .. :try_end_4a} :catchall_51
27386 invoke-static {v0, v1}, Landroid/os/Binder;->restoreCallingIdentity(J)V
27396 .catchall {:try_start_4f .. :try_end_50} :catchall_4e
27406 .catchall {:try_start_50 .. :try_end_53} :catchall_51
27411 .catchall {:try_start_53 .. :try_end_54} :catchall_54
27416 invoke-static {v0, v1}, Landroid/os/Binder;->restoreCallingIdentity(J)V
27422 invoke-virtual {p0, p1}, Lcom/android/server/am/ActivityManagerService;->closeSystemDialogsLocked(Ljava/lang/String;)V
27426 .catchall {:try_start_59 .. :try_end_5d} :catchall_51
27431 .method closeSystemDialogsLocked(Ljava/lang/String;)V
27434 new-instance v20, Landroid/content/Intent;
27436 const-string v2, "android.intent.action.CLOSE_SYSTEM_DIALOGS"
27438 move-object/from16 v0, v20
27440 invoke-direct {v0, v2}, Landroid/content/Intent;-><init>(Ljava/lang/String;)V
27442 const/high16 v2, 0x5000
27444 move-object/from16 v0, v20
27446 invoke-virtual {v0, v2}, Landroid/content/Intent;->addFlags(I)Landroid/content/Intent;
27448 if-eqz p1, :cond_1b
27450 const-string v2, "reason"
27452 move-object/from16 v0, v20
27454 move-object/from16 v1, p1
27456 invoke-virtual {v0, v2, v1}, Landroid/content/Intent;->putExtra(Ljava/lang/String;Ljava/lang/String;)Landroid/content/Intent;
27459 move-object/from16 v0, p0
27461 iget-object v2, v0, Lcom/android/server/am/ActivityManagerService;->mWindowManager:Lcom/android/server/wm/WindowManagerService;
27463 move-object/from16 v0, p1
27465 invoke-virtual {v2, v0}, Lcom/android/server/wm/WindowManagerService;->closeSystemDialogs(Ljava/lang/String;)V
27467 move-object/from16 v0, p0
27469 iget-object v2, v0, Lcom/android/server/am/ActivityManagerService;->mMainStack:Lcom/android/server/am/ActivityStack;
27471 iget-object v2, v2, Lcom/android/server/am/ActivityStack;->mHistory:Ljava/util/ArrayList;
27473 invoke-virtual {v2}, Ljava/util/ArrayList;->size()I
27477 add-int/lit8 v4, v2, -0x1
27480 if-ltz v4, :cond_53
27482 move-object/from16 v0, p0
27484 iget-object v2, v0, Lcom/android/server/am/ActivityManagerService;->mMainStack:Lcom/android/server/am/ActivityStack;
27486 iget-object v2, v2, Lcom/android/server/am/ActivityStack;->mHistory:Ljava/util/ArrayList;
27488 invoke-virtual {v2, v4}, Ljava/util/ArrayList;->get(I)Ljava/lang/Object;
27490 move-result-object v3
27492 check-cast v3, Lcom/android/server/am/ActivityRecord;
27494 iget-object v2, v3, Lcom/android/server/am/ActivityRecord;->info:Landroid/content/pm/ActivityInfo;
27496 iget v2, v2, Landroid/content/pm/ActivityInfo;->flags:I
27498 and-int/lit16 v2, v2, 0x100
27500 if-eqz v2, :cond_50
27502 iget-object v2, v3, Lcom/android/server/am/ActivityRecord;->stack:Lcom/android/server/am/ActivityStack;
27508 const-string v7, "close-sys"
27512 invoke-virtual/range {v2 .. v8}, Lcom/android/server/am/ActivityStack;->finishActivityLocked(Lcom/android/server/am/ActivityRecord;IILandroid/content/Intent;Ljava/lang/String;Z)Z
27515 add-int/lit8 v4, v4, -0x1
27542 const/16 v18, 0x3e8
27546 move-object/from16 v5, p0
27548 move-object/from16 v8, v20
27550 invoke-direct/range {v5 .. v19}, Lcom/android/server/am/ActivityManagerService;->broadcastIntentLocked(Lcom/android/server/am/ProcessRecord;Ljava/lang/String;Landroid/content/Intent;Ljava/lang/String;Landroid/content/IIntentReceiver;ILjava/lang/String;Landroid/os/Bundle;Ljava/lang/String;ZZIII)I
27555 .method collectProcesses(Ljava/io/PrintWriter;I[Ljava/lang/String;)Ljava/util/ArrayList;
27557 .annotation system Ldalvik/annotation/Signature;
27560 "Ljava/io/PrintWriter;",
27562 "Ljava/lang/String;",
27564 "Ljava/util/ArrayList",
27566 "Lcom/android/server/am/ProcessRecord;",
27573 if-eqz p3, :cond_6b
27576 array-length v4, p3
27578 if-le v4, p2, :cond_6b
27580 aget-object v4, p3, p2
27584 invoke-virtual {v4, v5}, Ljava/lang/String;->charAt(I)C
27590 if-eq v4, v5, :cond_6b
27592 new-instance v3, Ljava/util/ArrayList;
27594 invoke-direct {v3}, Ljava/util/ArrayList;-><init>()V
27596 .catchall {:try_start_3 .. :try_end_16} :catchall_47
27601 aget-object v4, p3, p2
27603 invoke-static {v4}, Ljava/lang/Integer;->parseInt(Ljava/lang/String;)I
27605 .catchall {:try_start_17 .. :try_end_1c} :catchall_47
27606 .catch Ljava/lang/NumberFormatException; {:try_start_17 .. :try_end_1c} :catch_75
27612 iget-object v4, p0, Lcom/android/server/am/ActivityManagerService;->mLruProcesses:Ljava/util/ArrayList;
27614 invoke-virtual {v4}, Ljava/util/ArrayList;->size()I
27618 add-int/lit8 v0, v4, -0x1
27621 if-ltz v0, :cond_4a
27623 iget-object v4, p0, Lcom/android/server/am/ActivityManagerService;->mLruProcesses:Ljava/util/ArrayList;
27625 invoke-virtual {v4, v0}, Ljava/util/ArrayList;->get(I)Ljava/lang/Object;
27627 move-result-object v2
27629 check-cast v2, Lcom/android/server/am/ProcessRecord;
27631 iget v4, v2, Lcom/android/server/am/ProcessRecord;->pid:I
27633 if-ne v4, v1, :cond_39
27635 invoke-virtual {v3, v2}, Ljava/util/ArrayList;->add(Ljava/lang/Object;)Z
27639 add-int/lit8 v0, v0, -0x1
27644 iget-object v4, v2, Lcom/android/server/am/ProcessRecord;->processName:Ljava/lang/String;
27646 aget-object v5, p3, p2
27648 invoke-virtual {v4, v5}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
27652 if-eqz v4, :cond_36
27654 invoke-virtual {v3, v2}, Ljava/util/ArrayList;->add(Ljava/lang/Object;)Z
27663 .catchall {:try_start_1d .. :try_end_49} :catchall_47
27669 invoke-virtual {v3}, Ljava/util/ArrayList;->size()I
27673 if-gtz v4, :cond_72
27675 new-instance v4, Ljava/lang/StringBuilder;
27677 invoke-direct {v4}, Ljava/lang/StringBuilder;-><init>()V
27679 const-string v5, "No process found for: "
27681 invoke-virtual {v4, v5}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
27683 move-result-object v4
27685 aget-object v5, p3, p2
27687 invoke-virtual {v4, v5}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
27689 move-result-object v4
27691 invoke-virtual {v4}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
27693 move-result-object v4
27695 invoke-virtual {p1, v4}, Ljava/io/PrintWriter;->println(Ljava/lang/String;)V
27705 new-instance v3, Ljava/util/ArrayList;
27707 iget-object v4, p0, Lcom/android/server/am/ActivityManagerService;->mLruProcesses:Ljava/util/ArrayList;
27709 invoke-direct {v3, v4}, Ljava/util/ArrayList;-><init>(Ljava/util/Collection;)V
27714 .catchall {:try_start_4a .. :try_end_73} :catchall_47
27726 .method compatibilityInfoForPackageLocked(Landroid/content/pm/ApplicationInfo;)Landroid/content/res/CompatibilityInfo;
27729 iget-object v0, p0, Lcom/android/server/am/ActivityManagerService;->mCompatModePackages:Lcom/android/server/am/CompatModePackages;
27731 invoke-virtual {v0, p1}, Lcom/android/server/am/CompatModePackages;->compatibilityInfoForPackageLocked(Landroid/content/pm/ApplicationInfo;)Landroid/content/res/CompatibilityInfo;
27733 move-result-object v0
27738 .method completeSwitchAndInitalizeLocked(Lcom/android/server/am/UserStartedState;)V
27741 iget-boolean v0, p1, Lcom/android/server/am/UserStartedState;->switching:Z
27745 iget-boolean v0, p1, Lcom/android/server/am/UserStartedState;->initializing:Z
27749 iget-object v0, p0, Lcom/android/server/am/ActivityManagerService;->mWindowManager:Lcom/android/server/wm/WindowManagerService;
27751 invoke-virtual {v0}, Lcom/android/server/wm/WindowManagerService;->stopFreezingScreen()V
27757 .method continueUserSwitch(Lcom/android/server/am/UserStartedState;II)V
27760 iget-object v2, p0, Lcom/android/server/am/ActivityManagerService;->mUserSwitchObservers:Landroid/os/RemoteCallbackList;
27762 invoke-virtual {v2}, Landroid/os/RemoteCallbackList;->beginBroadcast()I
27769 if-ge v1, v0, :cond_17
27772 iget-object v2, p0, Lcom/android/server/am/ActivityManagerService;->mUserSwitchObservers:Landroid/os/RemoteCallbackList;
27774 invoke-virtual {v2, v1}, Landroid/os/RemoteCallbackList;->getBroadcastItem(I)Landroid/os/IInterface;
27776 move-result-object v2
27778 check-cast v2, Landroid/app/IUserSwitchObserver;
27780 invoke-interface {v2, p3}, Landroid/app/IUserSwitchObserver;->onUserSwitchComplete(I)V
27782 .catch Landroid/os/RemoteException; {:try_start_9 .. :try_end_14} :catch_28
27785 add-int/lit8 v1, v1, 0x1
27790 iget-object v2, p0, Lcom/android/server/am/ActivityManagerService;->mUserSwitchObservers:Landroid/os/RemoteCallbackList;
27792 invoke-virtual {v2}, Landroid/os/RemoteCallbackList;->finishBroadcast()V
27799 iput-boolean v2, p1, Lcom/android/server/am/UserStartedState;->switching:Z
27801 invoke-virtual {p0, p1}, Lcom/android/server/am/ActivityManagerService;->completeSwitchAndInitalizeLocked(Lcom/android/server/am/UserStartedState;)V
27812 .catchall {:try_start_1e .. :try_end_27} :catchall_25
27822 .method public crashApplication(IILjava/lang/String;Ljava/lang/String;)V
27825 const-string v8, "android.permission.FORCE_STOP_PACKAGES"
27827 invoke-virtual {p0, v8}, Lcom/android/server/am/ActivityManagerService;->checkCallingPermission(Ljava/lang/String;)I
27831 if-eqz v8, :cond_44
27833 new-instance v8, Ljava/lang/StringBuilder;
27835 invoke-direct {v8}, Ljava/lang/StringBuilder;-><init>()V
27837 const-string v9, "Permission Denial: crashApplication() from pid="
27839 invoke-virtual {v8, v9}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
27841 move-result-object v8
27843 invoke-static {}, Landroid/os/Binder;->getCallingPid()I
27847 invoke-virtual {v8, v9}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
27849 move-result-object v8
27851 const-string v9, ", uid="
27853 invoke-virtual {v8, v9}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
27855 move-result-object v8
27857 invoke-static {}, Landroid/os/Binder;->getCallingUid()I
27861 invoke-virtual {v8, v9}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
27863 move-result-object v8
27865 const-string v9, " requires "
27867 invoke-virtual {v8, v9}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
27869 move-result-object v8
27871 const-string v9, "android.permission.FORCE_STOP_PACKAGES"
27873 invoke-virtual {v8, v9}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
27875 move-result-object v8
27877 invoke-virtual {v8}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
27879 move-result-object v4
27881 const-string v8, "ActivityManager"
27883 invoke-static {v8, v4}, Landroid/util/Slog;->w(Ljava/lang/String;Ljava/lang/String;)I
27885 new-instance v8, Ljava/lang/SecurityException;
27887 invoke-direct {v8, v4}, Ljava/lang/SecurityException;-><init>(Ljava/lang/String;)V
27897 iget-object v9, p0, Lcom/android/server/am/ActivityManagerService;->mPidsSelfLocked:Landroid/util/SparseArray;
27901 .catchall {:try_start_46 .. :try_end_49} :catchall_b4
27907 iget-object v8, p0, Lcom/android/server/am/ActivityManagerService;->mPidsSelfLocked:Landroid/util/SparseArray;
27909 invoke-virtual {v8}, Landroid/util/SparseArray;->size()I
27913 if-ge v0, v8, :cond_66
27915 iget-object v8, p0, Lcom/android/server/am/ActivityManagerService;->mPidsSelfLocked:Landroid/util/SparseArray;
27917 invoke-virtual {v8, v0}, Landroid/util/SparseArray;->valueAt(I)Ljava/lang/Object;
27919 move-result-object v5
27921 check-cast v5, Lcom/android/server/am/ProcessRecord;
27923 iget v8, v5, Lcom/android/server/am/ProcessRecord;->uid:I
27925 if-eq v8, p1, :cond_61
27928 add-int/lit8 v0, v0, 0x1
27933 iget v8, v5, Lcom/android/server/am/ProcessRecord;->pid:I
27935 if-ne v8, p2, :cond_97
27942 .catchall {:try_start_4a .. :try_end_67} :catchall_b1
27944 if-nez v6, :cond_b7
27947 const-string v8, "ActivityManager"
27949 new-instance v9, Ljava/lang/StringBuilder;
27951 invoke-direct {v9}, Ljava/lang/StringBuilder;-><init>()V
27953 const-string v10, "crashApplication: nothing for uid="
27955 invoke-virtual {v9, v10}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
27957 move-result-object v9
27959 invoke-virtual {v9, p1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
27961 move-result-object v9
27963 const-string v10, " initialPid="
27965 invoke-virtual {v9, v10}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
27967 move-result-object v9
27969 invoke-virtual {v9, p2}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
27971 move-result-object v9
27973 const-string v10, " packageName="
27975 invoke-virtual {v9, v10}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
27977 move-result-object v9
27979 invoke-virtual {v9, p3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
27981 move-result-object v9
27983 invoke-virtual {v9}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
27985 move-result-object v9
27987 invoke-static {v8, v9}, Landroid/util/Slog;->w(Ljava/lang/String;Ljava/lang/String;)I
27991 .catchall {:try_start_69 .. :try_end_96} :catchall_b4
27998 iget-object v8, v5, Lcom/android/server/am/ProcessRecord;->pkgList:Ljava/util/HashSet;
28000 invoke-virtual {v8}, Ljava/util/HashSet;->iterator()Ljava/util/Iterator;
28002 move-result-object v1
28006 invoke-interface {v1}, Ljava/util/Iterator;->hasNext()Z
28010 if-eqz v8, :cond_5e
28012 invoke-interface {v1}, Ljava/util/Iterator;->next()Ljava/lang/Object;
28014 move-result-object v7
28016 check-cast v7, Ljava/lang/String;
28018 invoke-virtual {v7, p3}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
28022 if-eqz v8, :cond_9d
28033 .catchall {:try_start_97 .. :try_end_b3} :catchall_b1
28043 .catchall {:try_start_b3 .. :try_end_b6} :catchall_b4
28049 iget-object v8, v6, Lcom/android/server/am/ProcessRecord;->thread:Landroid/app/IApplicationThread;
28051 if-eqz v8, :cond_d8
28053 iget v8, v6, Lcom/android/server/am/ProcessRecord;->pid:I
28055 invoke-static {}, Landroid/os/Process;->myPid()I
28059 if-ne v8, v9, :cond_cc
28061 const-string v8, "ActivityManager"
28063 const-string v9, "crashApplication: trying to crash self!"
28065 invoke-static {v8, v9}, Landroid/util/Log;->w(Ljava/lang/String;Ljava/lang/String;)I
28072 invoke-static {}, Landroid/os/Binder;->clearCallingIdentity()J
28074 .catchall {:try_start_b7 .. :try_end_cf} :catchall_b4
28076 move-result-wide v2
28079 iget-object v8, v6, Lcom/android/server/am/ProcessRecord;->thread:Landroid/app/IApplicationThread;
28081 invoke-interface {v8, p4}, Landroid/app/IApplicationThread;->scheduleCrash(Ljava/lang/String;)V
28083 .catchall {:try_start_d0 .. :try_end_d5} :catchall_b4
28084 .catch Landroid/os/RemoteException; {:try_start_d0 .. :try_end_d5} :catch_da
28088 invoke-static {v2, v3}, Landroid/os/Binder;->restoreCallingIdentity(J)V
28093 .catchall {:try_start_d5 .. :try_end_d9} :catchall_b4
28103 .method createAppErrorIntentLocked(Lcom/android/server/am/ProcessRecord;JLandroid/app/ApplicationErrorReport$CrashInfo;)Landroid/content/Intent;
28106 invoke-direct {p0, p1, p2, p3, p4}, Lcom/android/server/am/ActivityManagerService;->createAppErrorReportLocked(Lcom/android/server/am/ProcessRecord;JLandroid/app/ApplicationErrorReport$CrashInfo;)Landroid/app/ApplicationErrorReport;
28108 move-result-object v0
28118 new-instance v1, Landroid/content/Intent;
28120 const-string v2, "android.intent.action.APP_ERROR"
28122 invoke-direct {v1, v2}, Landroid/content/Intent;-><init>(Ljava/lang/String;)V
28124 iget-object v2, p1, Lcom/android/server/am/ProcessRecord;->errorReportReceiver:Landroid/content/ComponentName;
28126 invoke-virtual {v1, v2}, Landroid/content/Intent;->setComponent(Landroid/content/ComponentName;)Landroid/content/Intent;
28128 const-string v2, "android.intent.extra.BUG_REPORT"
28130 invoke-virtual {v1, v2, v0}, Landroid/content/Intent;->putExtra(Ljava/lang/String;Landroid/os/Parcelable;)Landroid/content/Intent;
28132 const/high16 v2, 0x1000
28134 invoke-virtual {v1, v2}, Landroid/content/Intent;->addFlags(I)Landroid/content/Intent;
28139 .method decProviderCountLocked(Lcom/android/server/am/ContentProviderConnection;Lcom/android/server/am/ContentProviderRecord;Landroid/os/IBinder;Z)Z
28144 if-eqz p1, :cond_2a
28146 iget-object p2, p1, Lcom/android/server/am/ContentProviderConnection;->provider:Lcom/android/server/am/ContentProviderRecord;
28148 if-eqz p4, :cond_23
28150 iget v1, p1, Lcom/android/server/am/ContentProviderConnection;->stableCount:I
28152 add-int/lit8 v1, v1, -0x1
28154 iput v1, p1, Lcom/android/server/am/ContentProviderConnection;->stableCount:I
28157 iget v1, p1, Lcom/android/server/am/ContentProviderConnection;->stableCount:I
28159 if-nez v1, :cond_22
28161 iget v1, p1, Lcom/android/server/am/ContentProviderConnection;->unstableCount:I
28163 if-nez v1, :cond_22
28165 iget-object v0, p2, Lcom/android/server/am/ContentProviderRecord;->connections:Ljava/util/ArrayList;
28167 invoke-virtual {v0, p1}, Ljava/util/ArrayList;->remove(Ljava/lang/Object;)Z
28169 iget-object v0, p1, Lcom/android/server/am/ContentProviderConnection;->client:Lcom/android/server/am/ProcessRecord;
28171 iget-object v0, v0, Lcom/android/server/am/ProcessRecord;->conProviders:Ljava/util/ArrayList;
28173 invoke-virtual {v0, p1}, Ljava/util/ArrayList;->remove(Ljava/lang/Object;)Z
28182 iget v1, p1, Lcom/android/server/am/ContentProviderConnection;->unstableCount:I
28184 add-int/lit8 v1, v1, -0x1
28186 iput v1, p1, Lcom/android/server/am/ContentProviderConnection;->unstableCount:I
28191 invoke-virtual {p2, p3}, Lcom/android/server/am/ContentProviderRecord;->removeExternalProcessHandleLocked(Landroid/os/IBinder;)Z
28196 .method public dismissKeyguardOnNextActivity()V
28199 const-string v2, "dismissKeyguardOnNextActivity"
28201 invoke-virtual {p0, v2}, Lcom/android/server/am/ActivityManagerService;->enforceNotIsolatedCaller(Ljava/lang/String;)V
28203 invoke-static {}, Landroid/os/Binder;->clearCallingIdentity()J
28205 move-result-wide v0
28210 .catchall {:try_start_9 .. :try_end_a} :catchall_21
28213 iget-boolean v2, p0, Lcom/android/server/am/ActivityManagerService;->mLockScreenShown:Z
28215 if-eqz v2, :cond_14
28219 iput-boolean v2, p0, Lcom/android/server/am/ActivityManagerService;->mLockScreenShown:Z
28221 invoke-direct {p0}, Lcom/android/server/am/ActivityManagerService;->comeOutOfSleepIfNeededLocked()V
28224 iget-object v2, p0, Lcom/android/server/am/ActivityManagerService;->mMainStack:Lcom/android/server/am/ActivityStack;
28226 invoke-virtual {v2}, Lcom/android/server/am/ActivityStack;->dismissKeyguardOnNextActivityLocked()V
28230 .catchall {:try_start_a .. :try_end_1a} :catchall_1e
28232 invoke-static {v0, v1}, Landroid/os/Binder;->restoreCallingIdentity(J)V
28242 .catchall {:try_start_1f .. :try_end_20} :catchall_1e
28247 .catchall {:try_start_20 .. :try_end_21} :catchall_21
28252 invoke-static {v0, v1}, Landroid/os/Binder;->restoreCallingIdentity(J)V
28257 .method dispatchUserSwitch(Lcom/android/server/am/UserStartedState;II)V
28260 iget-object v1, p0, Lcom/android/server/am/ActivityManagerService;->mUserSwitchObservers:Landroid/os/RemoteCallbackList;
28262 invoke-virtual {v1}, Landroid/os/RemoteCallbackList;->beginBroadcast()I
28266 if-lez v2, :cond_2c
28268 new-instance v0, Lcom/android/server/am/ActivityManagerService$18;
28278 invoke-direct/range {v0 .. v5}, Lcom/android/server/am/ActivityManagerService$18;-><init>(Lcom/android/server/am/ActivityManagerService;ILcom/android/server/am/UserStartedState;II)V
28285 iput-boolean v1, p1, Lcom/android/server/am/UserStartedState;->switching:Z
28287 iput-object v0, p0, Lcom/android/server/am/ActivityManagerService;->mCurUserSwitchCallback:Ljava/lang/Object;
28291 .catchall {:try_start_13 .. :try_end_18} :catchall_29
28296 if-ge v6, v2, :cond_31
28299 iget-object v1, p0, Lcom/android/server/am/ActivityManagerService;->mUserSwitchObservers:Landroid/os/RemoteCallbackList;
28301 invoke-virtual {v1, v6}, Landroid/os/RemoteCallbackList;->getBroadcastItem(I)Landroid/os/IInterface;
28303 move-result-object v1
28305 check-cast v1, Landroid/app/IUserSwitchObserver;
28307 invoke-interface {v1, p3, v0}, Landroid/app/IUserSwitchObserver;->onUserSwitching(ILandroid/os/IRemoteCallback;)V
28309 .catch Landroid/os/RemoteException; {:try_start_1b .. :try_end_26} :catch_3a
28312 add-int/lit8 v6, v6, 0x1
28322 .catchall {:try_start_2a .. :try_end_2b} :catchall_29
28330 invoke-virtual {p0, p1, p2, p3}, Lcom/android/server/am/ActivityManagerService;->sendContinueUserSwitchLocked(Lcom/android/server/am/UserStartedState;II)V
28334 .catchall {:try_start_2d .. :try_end_31} :catchall_37
28337 iget-object v1, p0, Lcom/android/server/am/ActivityManagerService;->mUserSwitchObservers:Landroid/os/RemoteCallbackList;
28339 invoke-virtual {v1}, Landroid/os/RemoteCallbackList;->finishBroadcast()V
28349 .catchall {:try_start_38 .. :try_end_39} :catchall_37
28359 .method final doPendingActivityLaunchesLocked(Z)V
28362 iget-object v0, p0, Lcom/android/server/am/ActivityManagerService;->mPendingActivityLaunches:Ljava/util/ArrayList;
28364 invoke-virtual {v0}, Ljava/util/ArrayList;->size()I
28377 if-ge v7, v6, :cond_2c
28379 iget-object v0, p0, Lcom/android/server/am/ActivityManagerService;->mPendingActivityLaunches:Ljava/util/ArrayList;
28381 invoke-virtual {v0, v7}, Ljava/util/ArrayList;->get(I)Ljava/lang/Object;
28383 move-result-object v8
28385 check-cast v8, Lcom/android/server/am/ActivityManagerService$PendingActivityLaunch;
28387 iget-object v0, p0, Lcom/android/server/am/ActivityManagerService;->mMainStack:Lcom/android/server/am/ActivityStack;
28389 iget-object v1, v8, Lcom/android/server/am/ActivityManagerService$PendingActivityLaunch;->r:Lcom/android/server/am/ActivityRecord;
28391 iget-object v2, v8, Lcom/android/server/am/ActivityManagerService$PendingActivityLaunch;->sourceRecord:Lcom/android/server/am/ActivityRecord;
28393 iget v3, v8, Lcom/android/server/am/ActivityManagerService$PendingActivityLaunch;->startFlags:I
28395 if-eqz p1, :cond_2a
28397 add-int/lit8 v4, v6, -0x1
28399 if-ne v7, v4, :cond_2a
28406 invoke-virtual/range {v0 .. v5}, Lcom/android/server/am/ActivityStack;->startActivityUncheckedLocked(Lcom/android/server/am/ActivityRecord;Lcom/android/server/am/ActivityRecord;IZLandroid/os/Bundle;)I
28408 add-int/lit8 v7, v7, 0x1
28418 iget-object v0, p0, Lcom/android/server/am/ActivityManagerService;->mPendingActivityLaunches:Ljava/util/ArrayList;
28420 invoke-virtual {v0}, Ljava/util/ArrayList;->clear()V
28425 .method protected dump(Ljava/io/FileDescriptor;Ljava/io/PrintWriter;[Ljava/lang/String;)V
28428 const-string v1, "android.permission.DUMP"
28430 move-object/from16 v0, p0
28432 invoke-virtual {v0, v1}, Lcom/android/server/am/ActivityManagerService;->checkCallingPermission(Ljava/lang/String;)I
28436 if-eqz v1, :cond_41
28438 new-instance v1, Ljava/lang/StringBuilder;
28440 invoke-direct {v1}, Ljava/lang/StringBuilder;-><init>()V
28442 const-string v2, "Permission Denial: can\'t dump ActivityManager from from pid="
28444 invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
28446 move-result-object v1
28448 invoke-static {}, Landroid/os/Binder;->getCallingPid()I
28452 invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
28454 move-result-object v1
28456 const-string v2, ", uid="
28458 invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
28460 move-result-object v1
28462 invoke-static {}, Landroid/os/Binder;->getCallingUid()I
28466 invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
28468 move-result-object v1
28470 const-string v2, " without permission "
28472 invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
28474 move-result-object v1
28476 const-string v2, "android.permission.DUMP"
28478 invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
28480 move-result-object v1
28482 invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
28484 move-result-object v1
28486 move-object/from16 v0, p2
28488 invoke-virtual {v0, v1}, Ljava/io/PrintWriter;->println(Ljava/lang/String;)V
28503 move-object/from16 v0, p3
28505 array-length v1, v0
28507 if-ge v5, v1, :cond_61
28509 aget-object v31, p3, v5
28511 if-eqz v31, :cond_61
28513 invoke-virtual/range {v31 .. v31}, Ljava/lang/String;->length()I
28517 if-lez v1, :cond_61
28521 move-object/from16 v0, v31
28523 invoke-virtual {v0, v1}, Ljava/lang/String;->charAt(I)C
28529 if-eq v1, v2, :cond_99
28532 invoke-static {}, Landroid/os/Binder;->clearCallingIdentity()J
28534 move-result-wide v32
28538 move-object/from16 v0, p3
28540 array-length v1, v0
28542 if-ge v5, v1, :cond_405
28544 aget-object v21, p3, v5
28546 add-int/lit8 v5, v5, 0x1
28548 const-string v1, "activities"
28550 move-object/from16 v0, v21
28552 invoke-virtual {v1, v0}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
28556 if-nez v1, :cond_84
28558 const-string v1, "a"
28560 move-object/from16 v0, v21
28562 invoke-virtual {v1, v0}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
28566 if-eqz v1, :cond_178
28575 move-object/from16 v1, p0
28577 move-object/from16 v2, p1
28579 move-object/from16 v3, p2
28581 move-object/from16 v4, p3
28584 invoke-virtual/range {v1 .. v8}, Lcom/android/server/am/ActivityManagerService;->dumpActivitiesLocked(Ljava/io/FileDescriptor;Ljava/io/PrintWriter;[Ljava/lang/String;IZZLjava/lang/String;)Z
28588 .catchall {:try_start_8f .. :try_end_93} :catchall_175
28592 if-nez v29, :cond_405
28594 invoke-static/range {v32 .. v33}, Landroid/os/Binder;->restoreCallingIdentity(J)V
28599 add-int/lit8 v5, v5, 0x1
28601 const-string v1, "-a"
28603 move-object/from16 v0, v31
28605 invoke-virtual {v1, v0}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
28609 if-eqz v1, :cond_a8
28616 const-string v1, "-c"
28618 move-object/from16 v0, v31
28620 invoke-virtual {v1, v0}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
28624 if-eqz v1, :cond_b4
28631 const-string v1, "-h"
28633 move-object/from16 v0, v31
28635 invoke-virtual {v1, v0}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
28639 if-eqz v1, :cond_153
28641 const-string v1, "Activity manager dump options:"
28643 move-object/from16 v0, p2
28645 invoke-virtual {v0, v1}, Ljava/io/PrintWriter;->println(Ljava/lang/String;)V
28647 const-string v1, " [-a] [-c] [-h] [cmd] ..."
28649 move-object/from16 v0, p2
28651 invoke-virtual {v0, v1}, Ljava/io/PrintWriter;->println(Ljava/lang/String;)V
28653 const-string v1, " cmd may be one of:"
28655 move-object/from16 v0, p2
28657 invoke-virtual {v0, v1}, Ljava/io/PrintWriter;->println(Ljava/lang/String;)V
28659 const-string v1, " a[ctivities]: activity stack state"
28661 move-object/from16 v0, p2
28663 invoke-virtual {v0, v1}, Ljava/io/PrintWriter;->println(Ljava/lang/String;)V
28665 const-string v1, " b[roadcasts] [PACKAGE_NAME] [history [-s]]: broadcast state"
28667 move-object/from16 v0, p2
28669 invoke-virtual {v0, v1}, Ljava/io/PrintWriter;->println(Ljava/lang/String;)V
28671 const-string v1, " i[ntents] [PACKAGE_NAME]: pending intent state"
28673 move-object/from16 v0, p2
28675 invoke-virtual {v0, v1}, Ljava/io/PrintWriter;->println(Ljava/lang/String;)V
28677 const-string v1, " p[rocesses] [PACKAGE_NAME]: process state"
28679 move-object/from16 v0, p2
28681 invoke-virtual {v0, v1}, Ljava/io/PrintWriter;->println(Ljava/lang/String;)V
28683 const-string v1, " o[om]: out of memory management"
28685 move-object/from16 v0, p2
28687 invoke-virtual {v0, v1}, Ljava/io/PrintWriter;->println(Ljava/lang/String;)V
28689 const-string v1, " prov[iders] [COMP_SPEC ...]: content provider state"
28691 move-object/from16 v0, p2
28693 invoke-virtual {v0, v1}, Ljava/io/PrintWriter;->println(Ljava/lang/String;)V
28695 const-string v1, " provider [COMP_SPEC]: provider client-side state"
28697 move-object/from16 v0, p2
28699 invoke-virtual {v0, v1}, Ljava/io/PrintWriter;->println(Ljava/lang/String;)V
28701 const-string v1, " s[ervices] [COMP_SPEC ...]: service state"
28703 move-object/from16 v0, p2
28705 invoke-virtual {v0, v1}, Ljava/io/PrintWriter;->println(Ljava/lang/String;)V
28707 const-string v1, " service [COMP_SPEC]: service client-side state"
28709 move-object/from16 v0, p2
28711 invoke-virtual {v0, v1}, Ljava/io/PrintWriter;->println(Ljava/lang/String;)V
28713 const-string v1, " package [PACKAGE_NAME]: all state related to given package"
28715 move-object/from16 v0, p2
28717 invoke-virtual {v0, v1}, Ljava/io/PrintWriter;->println(Ljava/lang/String;)V
28719 const-string v1, " all: dump all activities"
28721 move-object/from16 v0, p2
28723 invoke-virtual {v0, v1}, Ljava/io/PrintWriter;->println(Ljava/lang/String;)V
28725 const-string v1, " top: dump the top activity"
28727 move-object/from16 v0, p2
28729 invoke-virtual {v0, v1}, Ljava/io/PrintWriter;->println(Ljava/lang/String;)V
28731 const-string v1, " cmd may also be a COMP_SPEC to dump activities."
28733 move-object/from16 v0, p2
28735 invoke-virtual {v0, v1}, Ljava/io/PrintWriter;->println(Ljava/lang/String;)V
28737 const-string v1, " COMP_SPEC may be a component name (com.foo/.myApp),"
28739 move-object/from16 v0, p2
28741 invoke-virtual {v0, v1}, Ljava/io/PrintWriter;->println(Ljava/lang/String;)V
28743 const-string v1, " a partial substring in a component name, a"
28745 move-object/from16 v0, p2
28747 invoke-virtual {v0, v1}, Ljava/io/PrintWriter;->println(Ljava/lang/String;)V
28749 const-string v1, " hex object identifier."
28751 move-object/from16 v0, p2
28753 invoke-virtual {v0, v1}, Ljava/io/PrintWriter;->println(Ljava/lang/String;)V
28755 const-string v1, " -a: include all available server state."
28757 move-object/from16 v0, p2
28759 invoke-virtual {v0, v1}, Ljava/io/PrintWriter;->println(Ljava/lang/String;)V
28761 const-string v1, " -c: include client state."
28763 move-object/from16 v0, p2
28765 invoke-virtual {v0, v1}, Ljava/io/PrintWriter;->println(Ljava/lang/String;)V
28770 new-instance v1, Ljava/lang/StringBuilder;
28772 invoke-direct {v1}, Ljava/lang/StringBuilder;-><init>()V
28774 const-string v2, "Unknown argument: "
28776 invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
28778 move-result-object v1
28780 move-object/from16 v0, v31
28782 invoke-virtual {v1, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
28784 move-result-object v1
28786 const-string v2, "; use -h for help"
28788 invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
28790 move-result-object v1
28792 invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
28794 move-result-object v1
28796 move-object/from16 v0, p2
28798 invoke-virtual {v0, v1}, Ljava/io/PrintWriter;->println(Ljava/lang/String;)V
28808 .catchall {:try_start_176 .. :try_end_177} :catchall_175
28813 const-string v1, "broadcasts"
28815 move-object/from16 v0, v21
28817 invoke-virtual {v1, v0}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
28821 if-nez v1, :cond_18c
28823 const-string v1, "b"
28825 move-object/from16 v0, v21
28827 invoke-virtual {v1, v0}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
28831 if-eqz v1, :cond_1c3
28834 move-object/from16 v0, p3
28836 array-length v1, v0
28838 if-lt v5, v1, :cond_1a8
28842 sget-object v15, Lcom/android/server/am/ActivityManagerService;->EMPTY_STRING_ARRAY:[Ljava/lang/String;
28850 move-object/from16 v8, p0
28852 move-object/from16 v9, p1
28854 move-object/from16 v10, p2
28856 move-object/from16 v11, p3
28861 invoke-virtual/range {v8 .. v14}, Lcom/android/server/am/ActivityManagerService;->dumpBroadcastsLocked(Ljava/io/FileDescriptor;Ljava/io/PrintWriter;[Ljava/lang/String;IZLjava/lang/String;)Z
28872 .catchall {:try_start_19f .. :try_end_1a7} :catchall_1a5
28877 aget-object v14, p3, v5
28879 add-int/lit8 v5, v5, 0x1
28881 move-object/from16 v0, p3
28883 array-length v1, v0
28885 sub-int/2addr v1, v5
28887 new-array v15, v1, [Ljava/lang/String;
28889 move-object/from16 v0, p3
28891 array-length v1, v0
28895 if-le v1, v2, :cond_194
28899 move-object/from16 v0, p3
28901 array-length v2, v0
28903 sub-int/2addr v2, v5
28905 move-object/from16 v0, p3
28907 invoke-static {v0, v5, v15, v1, v2}, Ljava/lang/System;->arraycopy(Ljava/lang/Object;ILjava/lang/Object;II)V
28912 const-string v1, "intents"
28914 move-object/from16 v0, v21
28916 invoke-virtual {v1, v0}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
28920 if-nez v1, :cond_1d7
28922 const-string v1, "i"
28924 move-object/from16 v0, v21
28926 invoke-virtual {v1, v0}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
28930 if-eqz v1, :cond_20e
28933 move-object/from16 v0, p3
28935 array-length v1, v0
28937 if-lt v5, v1, :cond_1f3
28941 sget-object v15, Lcom/android/server/am/ActivityManagerService;->EMPTY_STRING_ARRAY:[Ljava/lang/String;
28949 move-object/from16 v8, p0
28951 move-object/from16 v9, p1
28953 move-object/from16 v10, p2
28955 move-object/from16 v11, p3
28960 invoke-virtual/range {v8 .. v14}, Lcom/android/server/am/ActivityManagerService;->dumpPendingIntentsLocked(Ljava/io/FileDescriptor;Ljava/io/PrintWriter;[Ljava/lang/String;IZLjava/lang/String;)Z
28971 .catchall {:try_start_1ea .. :try_end_1f2} :catchall_1f0
28976 aget-object v14, p3, v5
28978 add-int/lit8 v5, v5, 0x1
28980 move-object/from16 v0, p3
28982 array-length v1, v0
28984 sub-int/2addr v1, v5
28986 new-array v15, v1, [Ljava/lang/String;
28988 move-object/from16 v0, p3
28990 array-length v1, v0
28994 if-le v1, v2, :cond_1df
28998 move-object/from16 v0, p3
29000 array-length v2, v0
29002 sub-int/2addr v2, v5
29004 move-object/from16 v0, p3
29006 invoke-static {v0, v5, v15, v1, v2}, Ljava/lang/System;->arraycopy(Ljava/lang/Object;ILjava/lang/Object;II)V
29011 const-string v1, "processes"
29013 move-object/from16 v0, v21
29015 invoke-virtual {v1, v0}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
29019 if-nez v1, :cond_222
29021 const-string v1, "p"
29023 move-object/from16 v0, v21
29025 invoke-virtual {v1, v0}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
29029 if-eqz v1, :cond_259
29032 move-object/from16 v0, p3
29034 array-length v1, v0
29036 if-lt v5, v1, :cond_23e
29040 sget-object v15, Lcom/android/server/am/ActivityManagerService;->EMPTY_STRING_ARRAY:[Ljava/lang/String;
29048 move-object/from16 v8, p0
29050 move-object/from16 v9, p1
29052 move-object/from16 v10, p2
29054 move-object/from16 v11, p3
29059 invoke-virtual/range {v8 .. v14}, Lcom/android/server/am/ActivityManagerService;->dumpProcessesLocked(Ljava/io/FileDescriptor;Ljava/io/PrintWriter;[Ljava/lang/String;IZLjava/lang/String;)Z
29070 .catchall {:try_start_235 .. :try_end_23d} :catchall_23b
29075 aget-object v14, p3, v5
29077 add-int/lit8 v5, v5, 0x1
29079 move-object/from16 v0, p3
29081 array-length v1, v0
29083 sub-int/2addr v1, v5
29085 new-array v15, v1, [Ljava/lang/String;
29087 move-object/from16 v0, p3
29089 array-length v1, v0
29093 if-le v1, v2, :cond_22a
29097 move-object/from16 v0, p3
29099 array-length v2, v0
29101 sub-int/2addr v2, v5
29103 move-object/from16 v0, p3
29105 invoke-static {v0, v5, v15, v1, v2}, Ljava/lang/System;->arraycopy(Ljava/lang/Object;ILjava/lang/Object;II)V
29110 const-string v1, "oom"
29112 move-object/from16 v0, v21
29114 invoke-virtual {v1, v0}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
29118 if-nez v1, :cond_26d
29120 const-string v1, "o"
29122 move-object/from16 v0, v21
29124 invoke-virtual {v1, v0}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
29128 if-eqz v1, :cond_280
29135 move-object/from16 v1, p0
29137 move-object/from16 v2, p1
29139 move-object/from16 v3, p2
29141 move-object/from16 v4, p3
29144 invoke-virtual/range {v1 .. v6}, Lcom/android/server/am/ActivityManagerService;->dumpOomLocked(Ljava/io/FileDescriptor;Ljava/io/PrintWriter;[Ljava/lang/String;IZ)Z
29155 .catchall {:try_start_277 .. :try_end_27f} :catchall_27d
29160 const-string v1, "provider"
29162 move-object/from16 v0, v21
29164 invoke-virtual {v1, v0}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
29168 if-eqz v1, :cond_2dc
29170 move-object/from16 v0, p3
29172 array-length v1, v0
29174 if-lt v5, v1, :cond_2c1
29178 sget-object v15, Lcom/android/server/am/ActivityManagerService;->EMPTY_STRING_ARRAY:[Ljava/lang/String;
29184 move-object/from16 v11, p0
29186 move-object/from16 v12, p1
29188 move-object/from16 v13, p2
29190 invoke-virtual/range {v11 .. v17}, Lcom/android/server/am/ActivityManagerService;->dumpProvider(Ljava/io/FileDescriptor;Ljava/io/PrintWriter;Ljava/lang/String;[Ljava/lang/String;IZ)Z
29194 if-nez v1, :cond_93
29196 new-instance v1, Ljava/lang/StringBuilder;
29198 invoke-direct {v1}, Ljava/lang/StringBuilder;-><init>()V
29200 const-string v2, "No providers match: "
29202 invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
29204 move-result-object v1
29206 invoke-virtual {v1, v14}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
29208 move-result-object v1
29210 invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
29212 move-result-object v1
29214 move-object/from16 v0, p2
29216 invoke-virtual {v0, v1}, Ljava/io/PrintWriter;->println(Ljava/lang/String;)V
29218 const-string v1, "Use -h for help."
29220 move-object/from16 v0, p2
29222 invoke-virtual {v0, v1}, Ljava/io/PrintWriter;->println(Ljava/lang/String;)V
29227 aget-object v14, p3, v5
29229 add-int/lit8 v5, v5, 0x1
29231 move-object/from16 v0, p3
29233 array-length v1, v0
29235 sub-int/2addr v1, v5
29237 new-array v15, v1, [Ljava/lang/String;
29239 move-object/from16 v0, p3
29241 array-length v1, v0
29245 if-le v1, v2, :cond_292
29249 move-object/from16 v0, p3
29251 array-length v2, v0
29253 sub-int/2addr v2, v5
29255 move-object/from16 v0, p3
29257 invoke-static {v0, v5, v15, v1, v2}, Ljava/lang/System;->arraycopy(Ljava/lang/Object;ILjava/lang/Object;II)V
29262 const-string v1, "providers"
29264 move-object/from16 v0, v21
29266 invoke-virtual {v1, v0}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
29270 if-nez v1, :cond_2f0
29272 const-string v1, "prov"
29274 move-object/from16 v0, v21
29276 invoke-virtual {v1, v0}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
29280 if-eqz v1, :cond_308
29289 move-object/from16 v18, p0
29291 move-object/from16 v19, p1
29293 move-object/from16 v20, p2
29295 move-object/from16 v21, p3
29297 move/from16 v22, v5
29300 invoke-virtual/range {v18 .. v24}, Lcom/android/server/am/ActivityManagerService;->dumpProvidersLocked(Ljava/io/FileDescriptor;Ljava/io/PrintWriter;[Ljava/lang/String;IZLjava/lang/String;)Z
29311 .catchall {:try_start_2ff .. :try_end_307} :catchall_305
29316 const-string v1, "service"
29318 move-object/from16 v0, v21
29320 invoke-virtual {v1, v0}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
29324 if-eqz v1, :cond_366
29326 move-object/from16 v0, p3
29328 array-length v1, v0
29330 if-lt v5, v1, :cond_34b
29334 sget-object v15, Lcom/android/server/am/ActivityManagerService;->EMPTY_STRING_ARRAY:[Ljava/lang/String;
29338 move-object/from16 v0, p0
29340 iget-object v11, v0, Lcom/android/server/am/ActivityManagerService;->mServices:Lcom/android/server/am/ActiveServices;
29344 move-object/from16 v12, p1
29346 move-object/from16 v13, p2
29348 invoke-virtual/range {v11 .. v17}, Lcom/android/server/am/ActiveServices;->dumpService(Ljava/io/FileDescriptor;Ljava/io/PrintWriter;Ljava/lang/String;[Ljava/lang/String;IZ)Z
29352 if-nez v1, :cond_93
29354 new-instance v1, Ljava/lang/StringBuilder;
29356 invoke-direct {v1}, Ljava/lang/StringBuilder;-><init>()V
29358 const-string v2, "No services match: "
29360 invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
29362 move-result-object v1
29364 invoke-virtual {v1, v14}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
29366 move-result-object v1
29368 invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
29370 move-result-object v1
29372 move-object/from16 v0, p2
29374 invoke-virtual {v0, v1}, Ljava/io/PrintWriter;->println(Ljava/lang/String;)V
29376 const-string v1, "Use -h for help."
29378 move-object/from16 v0, p2
29380 invoke-virtual {v0, v1}, Ljava/io/PrintWriter;->println(Ljava/lang/String;)V
29385 aget-object v14, p3, v5
29387 add-int/lit8 v5, v5, 0x1
29389 move-object/from16 v0, p3
29391 array-length v1, v0
29393 sub-int/2addr v1, v5
29395 new-array v15, v1, [Ljava/lang/String;
29397 move-object/from16 v0, p3
29399 array-length v1, v0
29403 if-le v1, v2, :cond_31a
29407 move-object/from16 v0, p3
29409 array-length v2, v0
29411 sub-int/2addr v2, v5
29413 move-object/from16 v0, p3
29415 invoke-static {v0, v5, v15, v1, v2}, Ljava/lang/System;->arraycopy(Ljava/lang/Object;ILjava/lang/Object;II)V
29420 const-string v1, "package"
29422 move-object/from16 v0, v21
29424 invoke-virtual {v1, v0}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
29428 if-eqz v1, :cond_3a6
29430 move-object/from16 v0, p3
29432 array-length v1, v0
29434 if-lt v5, v1, :cond_385
29436 const-string v1, "package: no package name specified"
29438 move-object/from16 v0, p2
29440 invoke-virtual {v0, v1}, Ljava/io/PrintWriter;->println(Ljava/lang/String;)V
29442 const-string v1, "Use -h for help."
29444 move-object/from16 v0, p2
29446 invoke-virtual {v0, v1}, Ljava/io/PrintWriter;->println(Ljava/lang/String;)V
29451 aget-object v28, p3, v5
29453 add-int/lit8 v5, v5, 0x1
29455 move-object/from16 v0, p3
29457 array-length v1, v0
29459 sub-int/2addr v1, v5
29461 new-array v15, v1, [Ljava/lang/String;
29463 move-object/from16 v0, p3
29465 array-length v1, v0
29469 if-le v1, v2, :cond_39f
29473 move-object/from16 v0, p3
29475 array-length v2, v0
29477 sub-int/2addr v2, v5
29479 move-object/from16 v0, p3
29481 invoke-static {v0, v5, v15, v1, v2}, Ljava/lang/System;->arraycopy(Ljava/lang/Object;ILjava/lang/Object;II)V
29484 move-object/from16 p3, v15
29493 const-string v1, "services"
29495 move-object/from16 v0, v21
29497 invoke-virtual {v1, v0}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
29501 if-nez v1, :cond_3ba
29503 const-string v1, "s"
29505 move-object/from16 v0, v21
29507 invoke-virtual {v1, v0}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
29511 if-eqz v1, :cond_3d0
29517 move-object/from16 v0, p0
29519 iget-object v1, v0, Lcom/android/server/am/ActivityManagerService;->mServices:Lcom/android/server/am/ActiveServices;
29525 move-object/from16 v2, p1
29527 move-object/from16 v3, p2
29529 move-object/from16 v4, p3
29531 invoke-virtual/range {v1 .. v8}, Lcom/android/server/am/ActiveServices;->dumpServicesLocked(Ljava/io/FileDescriptor;Ljava/io/PrintWriter;[Ljava/lang/String;IZZLjava/lang/String;)Z
29542 .catchall {:try_start_3bb .. :try_end_3cf} :catchall_3cd
29547 move-object/from16 v18, p0
29549 move-object/from16 v19, p1
29551 move-object/from16 v20, p2
29553 move-object/from16 v22, p3
29555 move/from16 v23, v5
29557 move/from16 v24, v17
29559 invoke-virtual/range {v18 .. v24}, Lcom/android/server/am/ActivityManagerService;->dumpActivity(Ljava/io/FileDescriptor;Ljava/io/PrintWriter;Ljava/lang/String;[Ljava/lang/String;IZ)Z
29563 if-nez v1, :cond_93
29565 new-instance v1, Ljava/lang/StringBuilder;
29567 invoke-direct {v1}, Ljava/lang/StringBuilder;-><init>()V
29569 const-string v2, "Bad activity command, or no activities match: "
29571 invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
29573 move-result-object v1
29575 move-object/from16 v0, v21
29577 invoke-virtual {v1, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
29579 move-result-object v1
29581 invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
29583 move-result-object v1
29585 move-object/from16 v0, p2
29587 invoke-virtual {v0, v1}, Ljava/io/PrintWriter;->println(Ljava/lang/String;)V
29589 const-string v1, "Use -h for help."
29591 move-object/from16 v0, p2
29593 invoke-virtual {v0, v1}, Ljava/io/PrintWriter;->println(Ljava/lang/String;)V
29600 move-object/from16 v22, p0
29602 move-object/from16 v23, p1
29604 move-object/from16 v24, p2
29606 move-object/from16 v25, p3
29608 move/from16 v26, v5
29610 move/from16 v27, v17
29613 invoke-virtual/range {v22 .. v28}, Lcom/android/server/am/ActivityManagerService;->dumpPendingIntentsLocked(Ljava/io/FileDescriptor;Ljava/io/PrintWriter;[Ljava/lang/String;IZLjava/lang/String;)Z
29617 if-eqz v30, :cond_41f
29619 const-string v1, " "
29621 move-object/from16 v0, p2
29623 invoke-virtual {v0, v1}, Ljava/io/PrintWriter;->println(Ljava/lang/String;)V
29626 if-eqz v17, :cond_428
29628 const-string v1, "-------------------------------------------------------------------------------"
29630 move-object/from16 v0, p2
29632 invoke-virtual {v0, v1}, Ljava/io/PrintWriter;->println(Ljava/lang/String;)V
29635 move-object/from16 v22, p0
29637 move-object/from16 v23, p1
29639 move-object/from16 v24, p2
29641 move-object/from16 v25, p3
29643 move/from16 v26, v5
29645 move/from16 v27, v17
29647 invoke-virtual/range {v22 .. v28}, Lcom/android/server/am/ActivityManagerService;->dumpBroadcastsLocked(Ljava/io/FileDescriptor;Ljava/io/PrintWriter;[Ljava/lang/String;IZLjava/lang/String;)Z
29651 if-eqz v30, :cond_441
29653 const-string v1, " "
29655 move-object/from16 v0, p2
29657 invoke-virtual {v0, v1}, Ljava/io/PrintWriter;->println(Ljava/lang/String;)V
29660 if-eqz v17, :cond_44a
29662 const-string v1, "-------------------------------------------------------------------------------"
29664 move-object/from16 v0, p2
29666 invoke-virtual {v0, v1}, Ljava/io/PrintWriter;->println(Ljava/lang/String;)V
29669 move-object/from16 v22, p0
29671 move-object/from16 v23, p1
29673 move-object/from16 v24, p2
29675 move-object/from16 v25, p3
29677 move/from16 v26, v5
29679 move/from16 v27, v17
29681 invoke-virtual/range {v22 .. v28}, Lcom/android/server/am/ActivityManagerService;->dumpProvidersLocked(Ljava/io/FileDescriptor;Ljava/io/PrintWriter;[Ljava/lang/String;IZLjava/lang/String;)Z
29685 if-eqz v30, :cond_463
29687 const-string v1, " "
29689 move-object/from16 v0, p2
29691 invoke-virtual {v0, v1}, Ljava/io/PrintWriter;->println(Ljava/lang/String;)V
29694 if-eqz v17, :cond_46c
29696 const-string v1, "-------------------------------------------------------------------------------"
29698 move-object/from16 v0, p2
29700 invoke-virtual {v0, v1}, Ljava/io/PrintWriter;->println(Ljava/lang/String;)V
29703 move-object/from16 v0, p0
29705 iget-object v1, v0, Lcom/android/server/am/ActivityManagerService;->mServices:Lcom/android/server/am/ActiveServices;
29707 move-object/from16 v2, p1
29709 move-object/from16 v3, p2
29711 move-object/from16 v4, p3
29713 move/from16 v6, v17
29715 move-object/from16 v8, v28
29717 invoke-virtual/range {v1 .. v8}, Lcom/android/server/am/ActiveServices;->dumpServicesLocked(Ljava/io/FileDescriptor;Ljava/io/PrintWriter;[Ljava/lang/String;IZZLjava/lang/String;)Z
29721 if-eqz v30, :cond_487
29723 const-string v1, " "
29725 move-object/from16 v0, p2
29727 invoke-virtual {v0, v1}, Ljava/io/PrintWriter;->println(Ljava/lang/String;)V
29730 if-eqz v17, :cond_490
29732 const-string v1, "-------------------------------------------------------------------------------"
29734 move-object/from16 v0, p2
29736 invoke-virtual {v0, v1}, Ljava/io/PrintWriter;->println(Ljava/lang/String;)V
29739 move-object/from16 v1, p0
29741 move-object/from16 v2, p1
29743 move-object/from16 v3, p2
29745 move-object/from16 v4, p3
29747 move/from16 v6, v17
29749 move-object/from16 v8, v28
29751 invoke-virtual/range {v1 .. v8}, Lcom/android/server/am/ActivityManagerService;->dumpActivitiesLocked(Ljava/io/FileDescriptor;Ljava/io/PrintWriter;[Ljava/lang/String;IZZLjava/lang/String;)Z
29755 if-eqz v30, :cond_4a9
29757 const-string v1, " "
29759 move-object/from16 v0, p2
29761 invoke-virtual {v0, v1}, Ljava/io/PrintWriter;->println(Ljava/lang/String;)V
29764 if-eqz v17, :cond_4b2
29766 const-string v1, "-------------------------------------------------------------------------------"
29768 move-object/from16 v0, p2
29770 invoke-virtual {v0, v1}, Ljava/io/PrintWriter;->println(Ljava/lang/String;)V
29773 move-object/from16 v22, p0
29775 move-object/from16 v23, p1
29777 move-object/from16 v24, p2
29779 move-object/from16 v25, p3
29781 move/from16 v26, v5
29783 move/from16 v27, v17
29785 invoke-virtual/range {v22 .. v28}, Lcom/android/server/am/ActivityManagerService;->dumpProcessesLocked(Ljava/io/FileDescriptor;Ljava/io/PrintWriter;[Ljava/lang/String;IZLjava/lang/String;)Z
29789 .catchall {:try_start_412 .. :try_end_4c2} :catchall_4c7
29791 invoke-static/range {v32 .. v33}, Landroid/os/Binder;->restoreCallingIdentity(J)V
29801 .catchall {:try_start_4c8 .. :try_end_4c9} :catchall_4c7
29806 .method dumpActivitiesLocked(Ljava/io/FileDescriptor;Ljava/io/PrintWriter;[Ljava/lang/String;IZZLjava/lang/String;)Z
29809 const-string v1, "ACTIVITY MANAGER ACTIVITIES (dumpsys activity activities)"
29811 invoke-virtual {p2, v1}, Ljava/io/PrintWriter;->println(Ljava/lang/String;)V
29813 const-string v1, " Main stack:"
29815 invoke-virtual {p2, v1}, Ljava/io/PrintWriter;->println(Ljava/lang/String;)V
29817 iget-object v1, p0, Lcom/android/server/am/ActivityManagerService;->mMainStack:Lcom/android/server/am/ActivityStack;
29819 iget-object v3, v1, Lcom/android/server/am/ActivityStack;->mHistory:Ljava/util/ArrayList;
29821 const-string v4, " "
29823 const-string v5, "Hist"
29827 if-nez p5, :cond_1bc
29838 move-object/from16 v9, p7
29840 invoke-static/range {v1 .. v9}, Lcom/android/server/am/ActivityManagerService;->dumpHistoryList(Ljava/io/FileDescriptor;Ljava/io/PrintWriter;Ljava/util/List;Ljava/lang/String;Ljava/lang/String;ZZZLjava/lang/String;)V
29842 const-string v1, " "
29844 invoke-virtual {p2, v1}, Ljava/io/PrintWriter;->println(Ljava/lang/String;)V
29846 const-string v1, " Running activities (most recent first):"
29848 invoke-virtual {p2, v1}, Ljava/io/PrintWriter;->println(Ljava/lang/String;)V
29850 iget-object v1, p0, Lcom/android/server/am/ActivityManagerService;->mMainStack:Lcom/android/server/am/ActivityStack;
29852 iget-object v3, v1, Lcom/android/server/am/ActivityStack;->mLRUActivities:Ljava/util/ArrayList;
29854 const-string v4, " "
29856 const-string v5, "Run"
29860 if-nez p5, :cond_1bf
29871 move-object/from16 v9, p7
29873 invoke-static/range {v1 .. v9}, Lcom/android/server/am/ActivityManagerService;->dumpHistoryList(Ljava/io/FileDescriptor;Ljava/io/PrintWriter;Ljava/util/List;Ljava/lang/String;Ljava/lang/String;ZZZLjava/lang/String;)V
29875 iget-object v1, p0, Lcom/android/server/am/ActivityManagerService;->mMainStack:Lcom/android/server/am/ActivityStack;
29877 iget-object v1, v1, Lcom/android/server/am/ActivityStack;->mWaitingVisibleActivities:Ljava/util/ArrayList;
29879 invoke-virtual {v1}, Ljava/util/ArrayList;->size()I
29883 if-lez v1, :cond_65
29885 const-string v1, " "
29887 invoke-virtual {p2, v1}, Ljava/io/PrintWriter;->println(Ljava/lang/String;)V
29889 const-string v1, " Activities waiting for another to become visible:"
29891 invoke-virtual {p2, v1}, Ljava/io/PrintWriter;->println(Ljava/lang/String;)V
29893 iget-object v1, p0, Lcom/android/server/am/ActivityManagerService;->mMainStack:Lcom/android/server/am/ActivityStack;
29895 iget-object v3, v1, Lcom/android/server/am/ActivityStack;->mWaitingVisibleActivities:Ljava/util/ArrayList;
29897 const-string v4, " "
29899 const-string v5, "Wait"
29903 if-nez p5, :cond_1c2
29914 move-object/from16 v9, p7
29916 invoke-static/range {v1 .. v9}, Lcom/android/server/am/ActivityManagerService;->dumpHistoryList(Ljava/io/FileDescriptor;Ljava/io/PrintWriter;Ljava/util/List;Ljava/lang/String;Ljava/lang/String;ZZZLjava/lang/String;)V
29919 iget-object v1, p0, Lcom/android/server/am/ActivityManagerService;->mMainStack:Lcom/android/server/am/ActivityStack;
29921 iget-object v1, v1, Lcom/android/server/am/ActivityStack;->mStoppingActivities:Ljava/util/ArrayList;
29923 invoke-virtual {v1}, Ljava/util/ArrayList;->size()I
29927 if-lez v1, :cond_8d
29929 const-string v1, " "
29931 invoke-virtual {p2, v1}, Ljava/io/PrintWriter;->println(Ljava/lang/String;)V
29933 const-string v1, " Activities waiting to stop:"
29935 invoke-virtual {p2, v1}, Ljava/io/PrintWriter;->println(Ljava/lang/String;)V
29937 iget-object v1, p0, Lcom/android/server/am/ActivityManagerService;->mMainStack:Lcom/android/server/am/ActivityStack;
29939 iget-object v3, v1, Lcom/android/server/am/ActivityStack;->mStoppingActivities:Ljava/util/ArrayList;
29941 const-string v4, " "
29943 const-string v5, "Stop"
29947 if-nez p5, :cond_1c5
29958 move-object/from16 v9, p7
29960 invoke-static/range {v1 .. v9}, Lcom/android/server/am/ActivityManagerService;->dumpHistoryList(Ljava/io/FileDescriptor;Ljava/io/PrintWriter;Ljava/util/List;Ljava/lang/String;Ljava/lang/String;ZZZLjava/lang/String;)V
29963 iget-object v1, p0, Lcom/android/server/am/ActivityManagerService;->mMainStack:Lcom/android/server/am/ActivityStack;
29965 iget-object v1, v1, Lcom/android/server/am/ActivityStack;->mGoingToSleepActivities:Ljava/util/ArrayList;
29967 invoke-virtual {v1}, Ljava/util/ArrayList;->size()I
29971 if-lez v1, :cond_b5
29973 const-string v1, " "
29975 invoke-virtual {p2, v1}, Ljava/io/PrintWriter;->println(Ljava/lang/String;)V
29977 const-string v1, " Activities waiting to sleep:"
29979 invoke-virtual {p2, v1}, Ljava/io/PrintWriter;->println(Ljava/lang/String;)V
29981 iget-object v1, p0, Lcom/android/server/am/ActivityManagerService;->mMainStack:Lcom/android/server/am/ActivityStack;
29983 iget-object v3, v1, Lcom/android/server/am/ActivityStack;->mGoingToSleepActivities:Ljava/util/ArrayList;
29985 const-string v4, " "
29987 const-string v5, "Sleep"
29991 if-nez p5, :cond_1c8
30002 move-object/from16 v9, p7
30004 invoke-static/range {v1 .. v9}, Lcom/android/server/am/ActivityManagerService;->dumpHistoryList(Ljava/io/FileDescriptor;Ljava/io/PrintWriter;Ljava/util/List;Ljava/lang/String;Ljava/lang/String;ZZZLjava/lang/String;)V
30007 iget-object v1, p0, Lcom/android/server/am/ActivityManagerService;->mMainStack:Lcom/android/server/am/ActivityStack;
30009 iget-object v1, v1, Lcom/android/server/am/ActivityStack;->mFinishingActivities:Ljava/util/ArrayList;
30011 invoke-virtual {v1}, Ljava/util/ArrayList;->size()I
30015 if-lez v1, :cond_dd
30017 const-string v1, " "
30019 invoke-virtual {p2, v1}, Ljava/io/PrintWriter;->println(Ljava/lang/String;)V
30021 const-string v1, " Activities waiting to finish:"
30023 invoke-virtual {p2, v1}, Ljava/io/PrintWriter;->println(Ljava/lang/String;)V
30025 iget-object v1, p0, Lcom/android/server/am/ActivityManagerService;->mMainStack:Lcom/android/server/am/ActivityStack;
30027 iget-object v3, v1, Lcom/android/server/am/ActivityStack;->mFinishingActivities:Ljava/util/ArrayList;
30029 const-string v4, " "
30031 const-string v5, "Fin"
30035 if-nez p5, :cond_1cb
30046 move-object/from16 v9, p7
30048 invoke-static/range {v1 .. v9}, Lcom/android/server/am/ActivityManagerService;->dumpHistoryList(Ljava/io/FileDescriptor;Ljava/io/PrintWriter;Ljava/util/List;Ljava/lang/String;Ljava/lang/String;ZZZLjava/lang/String;)V
30051 const-string v1, " "
30053 invoke-virtual {p2, v1}, Ljava/io/PrintWriter;->println(Ljava/lang/String;)V
30055 iget-object v1, p0, Lcom/android/server/am/ActivityManagerService;->mMainStack:Lcom/android/server/am/ActivityStack;
30057 iget-object v1, v1, Lcom/android/server/am/ActivityStack;->mPausingActivity:Lcom/android/server/am/ActivityRecord;
30059 if-eqz v1, :cond_102
30061 new-instance v1, Ljava/lang/StringBuilder;
30063 invoke-direct {v1}, Ljava/lang/StringBuilder;-><init>()V
30065 const-string v2, " mPausingActivity: "
30067 invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
30069 move-result-object v1
30071 iget-object v2, p0, Lcom/android/server/am/ActivityManagerService;->mMainStack:Lcom/android/server/am/ActivityStack;
30073 iget-object v2, v2, Lcom/android/server/am/ActivityStack;->mPausingActivity:Lcom/android/server/am/ActivityRecord;
30075 invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
30077 move-result-object v1
30079 invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
30081 move-result-object v1
30083 invoke-virtual {p2, v1}, Ljava/io/PrintWriter;->println(Ljava/lang/String;)V
30086 new-instance v1, Ljava/lang/StringBuilder;
30088 invoke-direct {v1}, Ljava/lang/StringBuilder;-><init>()V
30090 const-string v2, " mResumedActivity: "
30092 invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
30094 move-result-object v1
30096 iget-object v2, p0, Lcom/android/server/am/ActivityManagerService;->mMainStack:Lcom/android/server/am/ActivityStack;
30098 iget-object v2, v2, Lcom/android/server/am/ActivityStack;->mResumedActivity:Lcom/android/server/am/ActivityRecord;
30100 invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
30102 move-result-object v1
30104 invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
30106 move-result-object v1
30108 invoke-virtual {p2, v1}, Ljava/io/PrintWriter;->println(Ljava/lang/String;)V
30110 new-instance v1, Ljava/lang/StringBuilder;
30112 invoke-direct {v1}, Ljava/lang/StringBuilder;-><init>()V
30114 const-string v2, " mFocusedActivity: "
30116 invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
30118 move-result-object v1
30120 iget-object v2, p0, Lcom/android/server/am/ActivityManagerService;->mFocusedActivity:Lcom/android/server/am/ActivityRecord;
30122 invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
30124 move-result-object v1
30126 invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
30128 move-result-object v1
30130 invoke-virtual {p2, v1}, Ljava/io/PrintWriter;->println(Ljava/lang/String;)V
30132 if-eqz p5, :cond_184
30134 new-instance v1, Ljava/lang/StringBuilder;
30136 invoke-direct {v1}, Ljava/lang/StringBuilder;-><init>()V
30138 const-string v2, " mLastPausedActivity: "
30140 invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
30142 move-result-object v1
30144 iget-object v2, p0, Lcom/android/server/am/ActivityManagerService;->mMainStack:Lcom/android/server/am/ActivityStack;
30146 iget-object v2, v2, Lcom/android/server/am/ActivityStack;->mLastPausedActivity:Lcom/android/server/am/ActivityRecord;
30148 invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
30150 move-result-object v1
30152 invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
30154 move-result-object v1
30156 invoke-virtual {p2, v1}, Ljava/io/PrintWriter;->println(Ljava/lang/String;)V
30158 new-instance v1, Ljava/lang/StringBuilder;
30160 invoke-direct {v1}, Ljava/lang/StringBuilder;-><init>()V
30162 const-string v2, " mSleepTimeout: "
30164 invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
30166 move-result-object v1
30168 iget-object v2, p0, Lcom/android/server/am/ActivityManagerService;->mMainStack:Lcom/android/server/am/ActivityStack;
30170 iget-boolean v2, v2, Lcom/android/server/am/ActivityStack;->mSleepTimeout:Z
30172 invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Z)Ljava/lang/StringBuilder;
30174 move-result-object v1
30176 invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
30178 move-result-object v1
30180 invoke-virtual {p2, v1}, Ljava/io/PrintWriter;->println(Ljava/lang/String;)V
30182 new-instance v1, Ljava/lang/StringBuilder;
30184 invoke-direct {v1}, Ljava/lang/StringBuilder;-><init>()V
30186 const-string v2, " mDismissKeyguardOnNextActivity: "
30188 invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
30190 move-result-object v1
30192 iget-object v2, p0, Lcom/android/server/am/ActivityManagerService;->mMainStack:Lcom/android/server/am/ActivityStack;
30194 iget-boolean v2, v2, Lcom/android/server/am/ActivityStack;->mDismissKeyguardOnNextActivity:Z
30196 invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Z)Ljava/lang/StringBuilder;
30198 move-result-object v1
30200 invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
30202 move-result-object v1
30204 invoke-virtual {p2, v1}, Ljava/io/PrintWriter;->println(Ljava/lang/String;)V
30207 iget-object v1, p0, Lcom/android/server/am/ActivityManagerService;->mRecentTasks:Ljava/util/ArrayList;
30209 invoke-virtual {v1}, Ljava/util/ArrayList;->size()I
30213 if-lez v1, :cond_1ee
30215 invoke-virtual {p2}, Ljava/io/PrintWriter;->println()V
30217 const-string v1, " Recent tasks:"
30219 invoke-virtual {p2, v1}, Ljava/io/PrintWriter;->println(Ljava/lang/String;)V
30221 iget-object v1, p0, Lcom/android/server/am/ActivityManagerService;->mRecentTasks:Ljava/util/ArrayList;
30223 invoke-virtual {v1}, Ljava/util/ArrayList;->size()I
30230 if-ge v11, v10, :cond_1ee
30232 iget-object v1, p0, Lcom/android/server/am/ActivityManagerService;->mRecentTasks:Ljava/util/ArrayList;
30234 invoke-virtual {v1, v11}, Ljava/util/ArrayList;->get(I)Ljava/lang/Object;
30236 move-result-object v12
30238 check-cast v12, Lcom/android/server/am/TaskRecord;
30240 if-eqz p7, :cond_1ce
30242 iget-object v1, v12, Lcom/android/server/am/TaskRecord;->realActivity:Landroid/content/ComponentName;
30244 if-eqz v1, :cond_1b9
30246 iget-object v1, v12, Lcom/android/server/am/TaskRecord;->realActivity:Landroid/content/ComponentName;
30248 invoke-virtual {v1}, Landroid/content/ComponentName;->getPackageName()Ljava/lang/String;
30250 move-result-object v1
30252 move-object/from16 v0, p7
30254 invoke-virtual {v0, v1}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
30258 if-nez v1, :cond_1ce
30262 add-int/lit8 v11, v11, 0x1
30297 const-string v1, " * Recent #"
30299 invoke-virtual {p2, v1}, Ljava/io/PrintWriter;->print(Ljava/lang/String;)V
30301 invoke-virtual {p2, v11}, Ljava/io/PrintWriter;->print(I)V
30303 const-string v1, ": "
30305 invoke-virtual {p2, v1}, Ljava/io/PrintWriter;->print(Ljava/lang/String;)V
30307 invoke-virtual {p2, v12}, Ljava/io/PrintWriter;->println(Ljava/lang/Object;)V
30309 if-eqz p5, :cond_1b9
30311 iget-object v1, p0, Lcom/android/server/am/ActivityManagerService;->mRecentTasks:Ljava/util/ArrayList;
30313 invoke-virtual {v1, v11}, Ljava/util/ArrayList;->get(I)Ljava/lang/Object;
30315 move-result-object v1
30317 check-cast v1, Lcom/android/server/am/TaskRecord;
30319 const-string v2, " "
30321 invoke-virtual {v1, p2, v2}, Lcom/android/server/am/TaskRecord;->dump(Ljava/io/PrintWriter;Ljava/lang/String;)V
30326 if-eqz p5, :cond_20d
30328 const-string v1, " "
30330 invoke-virtual {p2, v1}, Ljava/io/PrintWriter;->println(Ljava/lang/String;)V
30332 new-instance v1, Ljava/lang/StringBuilder;
30334 invoke-direct {v1}, Ljava/lang/StringBuilder;-><init>()V
30336 const-string v2, " mCurTask: "
30338 invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
30340 move-result-object v1
30342 iget v2, p0, Lcom/android/server/am/ActivityManagerService;->mCurTask:I
30344 invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
30346 move-result-object v1
30348 invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
30350 move-result-object v1
30352 invoke-virtual {p2, v1}, Ljava/io/PrintWriter;->println(Ljava/lang/String;)V
30360 .method protected dumpActivity(Ljava/io/FileDescriptor;Ljava/io/PrintWriter;Ljava/lang/String;[Ljava/lang/String;IZ)Z
30363 new-instance v10, Ljava/util/ArrayList;
30365 invoke-direct {v10}, Ljava/util/ArrayList;-><init>()V
30367 const-string v2, "all"
30369 move-object/from16 v0, p3
30371 invoke-virtual {v2, v0}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
30375 if-eqz v2, :cond_38
30380 move-object/from16 v0, p0
30382 iget-object v2, v0, Lcom/android/server/am/ActivityManagerService;->mMainStack:Lcom/android/server/am/ActivityStack;
30384 iget-object v2, v2, Lcom/android/server/am/ActivityStack;->mHistory:Ljava/util/ArrayList;
30386 invoke-virtual {v2}, Ljava/util/ArrayList;->iterator()Ljava/util/Iterator;
30388 move-result-object v12
30391 invoke-interface {v12}, Ljava/util/Iterator;->hasNext()Z
30395 if-eqz v2, :cond_2f
30397 invoke-interface {v12}, Ljava/util/Iterator;->next()Ljava/lang/Object;
30399 move-result-object v17
30401 check-cast v17, Lcom/android/server/am/ActivityRecord;
30403 move-object/from16 v0, v17
30405 invoke-virtual {v10, v0}, Ljava/util/ArrayList;->add(Ljava/lang/Object;)Z
30414 .catchall {:try_start_10 .. :try_end_2e} :catchall_2c
30422 .catchall {:try_start_2f .. :try_end_30} :catchall_2c
30425 invoke-virtual {v10}, Ljava/util/ArrayList;->size()I
30429 if-gtz v2, :cond_a1
30437 const-string v2, "top"
30439 move-object/from16 v0, p3
30441 invoke-virtual {v2, v0}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
30445 if-eqz v2, :cond_65
30450 move-object/from16 v0, p0
30452 iget-object v2, v0, Lcom/android/server/am/ActivityManagerService;->mMainStack:Lcom/android/server/am/ActivityStack;
30454 iget-object v2, v2, Lcom/android/server/am/ActivityStack;->mHistory:Ljava/util/ArrayList;
30456 invoke-virtual {v2}, Ljava/util/ArrayList;->size()I
30460 if-lez v9, :cond_60
30462 move-object/from16 v0, p0
30464 iget-object v2, v0, Lcom/android/server/am/ActivityManagerService;->mMainStack:Lcom/android/server/am/ActivityStack;
30466 iget-object v2, v2, Lcom/android/server/am/ActivityStack;->mHistory:Ljava/util/ArrayList;
30468 add-int/lit8 v3, v9, -0x1
30470 invoke-virtual {v2, v3}, Ljava/util/ArrayList;->get(I)Ljava/lang/Object;
30472 move-result-object v2
30474 check-cast v2, Lcom/android/server/am/ActivityRecord;
30476 invoke-virtual {v10, v2}, Ljava/util/ArrayList;->add(Ljava/lang/Object;)Z
30488 .catchall {:try_start_43 .. :try_end_64} :catchall_62
30493 new-instance v14, Lcom/android/server/am/ActivityManagerService$ItemMatcher;
30495 invoke-direct {v14}, Lcom/android/server/am/ActivityManagerService$ItemMatcher;-><init>()V
30497 move-object/from16 v0, p3
30499 invoke-virtual {v14, v0}, Lcom/android/server/am/ActivityManagerService$ItemMatcher;->build(Ljava/lang/String;)V
30504 move-object/from16 v0, p0
30506 iget-object v2, v0, Lcom/android/server/am/ActivityManagerService;->mMainStack:Lcom/android/server/am/ActivityStack;
30508 iget-object v2, v2, Lcom/android/server/am/ActivityStack;->mHistory:Ljava/util/ArrayList;
30510 invoke-virtual {v2}, Ljava/util/ArrayList;->iterator()Ljava/util/Iterator;
30512 move-result-object v12
30516 invoke-interface {v12}, Ljava/util/Iterator;->hasNext()Z
30520 if-eqz v2, :cond_9f
30522 invoke-interface {v12}, Ljava/util/Iterator;->next()Ljava/lang/Object;
30524 move-result-object v17
30526 check-cast v17, Lcom/android/server/am/ActivityRecord;
30528 move-object/from16 v0, v17
30530 iget-object v2, v0, Lcom/android/server/am/ActivityRecord;->intent:Landroid/content/Intent;
30532 invoke-virtual {v2}, Landroid/content/Intent;->getComponent()Landroid/content/ComponentName;
30534 move-result-object v2
30536 move-object/from16 v0, v17
30538 invoke-virtual {v14, v0, v2}, Lcom/android/server/am/ActivityManagerService$ItemMatcher;->match(Ljava/lang/Object;Landroid/content/ComponentName;)Z
30542 if-eqz v2, :cond_7a
30544 move-object/from16 v0, v17
30546 invoke-virtual {v10, v0}, Ljava/util/ArrayList;->add(Ljava/lang/Object;)Z
30555 .catchall {:try_start_70 .. :try_end_9e} :catchall_9c
30563 .catchall {:try_start_9f .. :try_end_a0} :catchall_9c
30568 move-object/from16 v0, p4
30570 array-length v2, v0
30574 new-array v7, v2, [Ljava/lang/String;
30576 move-object/from16 v0, p4
30578 array-length v2, v0
30582 if-le v2, v3, :cond_bb
30586 move-object/from16 v0, p4
30588 array-length v3, v0
30592 move-object/from16 v0, p4
30596 invoke-static {v0, v1, v7, v2, v3}, Ljava/lang/System;->arraycopy(Ljava/lang/Object;ILjava/lang/Object;II)V
30603 invoke-virtual {v10}, Ljava/util/ArrayList;->size()I
30607 add-int/lit8 v11, v2, -0x1
30610 if-ltz v11, :cond_11b
30612 invoke-virtual {v10, v11}, Ljava/util/ArrayList;->get(I)Ljava/lang/Object;
30614 move-result-object v16
30616 check-cast v16, Lcom/android/server/am/ActivityRecord;
30618 if-eqz v15, :cond_d0
30620 invoke-virtual/range {p2 .. p2}, Ljava/io/PrintWriter;->println()V
30628 move-object/from16 v0, v16
30630 iget-object v2, v0, Lcom/android/server/am/ActivityRecord;->task:Lcom/android/server/am/TaskRecord;
30632 if-eq v13, v2, :cond_101
30634 move-object/from16 v0, v16
30636 iget-object v13, v0, Lcom/android/server/am/ActivityRecord;->task:Lcom/android/server/am/TaskRecord;
30638 const-string v2, "TASK "
30640 move-object/from16 v0, p2
30642 invoke-virtual {v0, v2}, Ljava/io/PrintWriter;->print(Ljava/lang/String;)V
30644 iget-object v2, v13, Lcom/android/server/am/TaskRecord;->affinity:Ljava/lang/String;
30646 move-object/from16 v0, p2
30648 invoke-virtual {v0, v2}, Ljava/io/PrintWriter;->print(Ljava/lang/String;)V
30650 const-string v2, " id="
30652 move-object/from16 v0, p2
30654 invoke-virtual {v0, v2}, Ljava/io/PrintWriter;->print(Ljava/lang/String;)V
30656 iget v2, v13, Lcom/android/server/am/TaskRecord;->taskId:I
30658 move-object/from16 v0, p2
30660 invoke-virtual {v0, v2}, Ljava/io/PrintWriter;->println(I)V
30662 if-eqz p6, :cond_101
30664 const-string v2, " "
30666 move-object/from16 v0, p2
30668 invoke-virtual {v13, v0, v2}, Lcom/android/server/am/TaskRecord;->dump(Ljava/io/PrintWriter;Ljava/lang/String;)V
30673 .catchall {:try_start_d2 .. :try_end_102} :catchall_118
30675 const-string v3, " "
30677 invoke-virtual {v10, v11}, Ljava/util/ArrayList;->get(I)Ljava/lang/Object;
30679 move-result-object v6
30681 check-cast v6, Lcom/android/server/am/ActivityRecord;
30683 move-object/from16 v2, p0
30685 move-object/from16 v4, p1
30687 move-object/from16 v5, p2
30691 invoke-direct/range {v2 .. v8}, Lcom/android/server/am/ActivityManagerService;->dumpActivity(Ljava/lang/String;Ljava/io/FileDescriptor;Ljava/io/PrintWriter;Lcom/android/server/am/ActivityRecord;[Ljava/lang/String;Z)V
30693 add-int/lit8 v11, v11, -0x1
30703 .catchall {:try_start_119 .. :try_end_11a} :catchall_118
30713 .method final dumpApplicationMemoryUsage(Ljava/io/FileDescriptor;Ljava/io/PrintWriter;Ljava/lang/String;[Ljava/lang/String;ZLjava/io/PrintWriter;Ljava/lang/StringBuilder;Ljava/lang/StringBuilder;)V
30723 move-object/from16 v0, p4
30725 array-length v5, v0
30727 move/from16 v0, v57
30729 if-ge v0, v5, :cond_22
30731 aget-object v56, p4, v57
30733 if-eqz v56, :cond_22
30735 invoke-virtual/range {v56 .. v56}, Ljava/lang/String;->length()I
30739 if-lez v5, :cond_22
30743 move-object/from16 v0, v56
30745 invoke-virtual {v0, v5}, Ljava/lang/String;->charAt(I)C
30751 if-eq v5, v6, :cond_31
30754 move-object/from16 v0, p0
30756 move-object/from16 v1, p2
30758 move/from16 v2, v57
30760 move-object/from16 v3, p4
30762 invoke-virtual {v0, v1, v2, v3}, Lcom/android/server/am/ActivityManagerService;->collectProcesses(Ljava/io/PrintWriter;I[Ljava/lang/String;)Ljava/util/ArrayList;
30764 move-result-object v60
30766 if-nez v60, :cond_9d
30773 add-int/lit8 v57, v57, 0x1
30775 const-string v5, "-a"
30777 move-object/from16 v0, v56
30779 invoke-virtual {v5, v0}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
30783 if-eqz v5, :cond_40
30790 const-string v5, "--oom"
30792 move-object/from16 v0, v56
30794 invoke-virtual {v5, v0}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
30798 if-eqz v5, :cond_4d
30805 const-string v5, "-h"
30807 move-object/from16 v0, v56
30809 invoke-virtual {v5, v0}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
30813 if-eqz v5, :cond_7b
30815 const-string v5, "meminfo dump options: [-a] [--oom] [process]"
30817 move-object/from16 v0, p2
30819 invoke-virtual {v0, v5}, Ljava/io/PrintWriter;->println(Ljava/lang/String;)V
30821 const-string v5, " -a: include all available information for each process."
30823 move-object/from16 v0, p2
30825 invoke-virtual {v0, v5}, Ljava/io/PrintWriter;->println(Ljava/lang/String;)V
30827 const-string v5, " --oom: only show processes organized by oom adj."
30829 move-object/from16 v0, p2
30831 invoke-virtual {v0, v5}, Ljava/io/PrintWriter;->println(Ljava/lang/String;)V
30833 const-string v5, "If [process] is specified it can be the name or "
30835 move-object/from16 v0, p2
30837 invoke-virtual {v0, v5}, Ljava/io/PrintWriter;->println(Ljava/lang/String;)V
30839 const-string v5, "pid of a specific process to dump."
30841 move-object/from16 v0, p2
30843 invoke-virtual {v0, v5}, Ljava/io/PrintWriter;->println(Ljava/lang/String;)V
30848 new-instance v5, Ljava/lang/StringBuilder;
30850 invoke-direct {v5}, Ljava/lang/StringBuilder;-><init>()V
30852 const-string v6, "Unknown argument: "
30854 invoke-virtual {v5, v6}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
30856 move-result-object v5
30858 move-object/from16 v0, v56
30860 invoke-virtual {v5, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
30862 move-result-object v5
30864 const-string v6, "; use -h for help"
30866 invoke-virtual {v5, v6}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
30868 move-result-object v5
30870 invoke-virtual {v5}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
30872 move-result-object v5
30874 move-object/from16 v0, p2
30876 invoke-virtual {v0, v5}, Ljava/io/PrintWriter;->println(Ljava/lang/String;)V
30881 const-string v5, "--checkin"
30883 move-object/from16 v0, p4
30885 invoke-static {v0, v5}, Lcom/android/server/am/ActivityManagerService;->scanArgs([Ljava/lang/String;Ljava/lang/String;)Z
30889 invoke-static {}, Landroid/os/SystemClock;->uptimeMillis()J
30891 move-result-wide v72
30893 invoke-static {}, Landroid/os/SystemClock;->elapsedRealtime()J
30895 move-result-wide v62
30897 invoke-virtual/range {v60 .. v60}, Ljava/util/ArrayList;->size()I
30903 if-eq v5, v6, :cond_b6
30905 if-eqz v43, :cond_b8
30911 if-eqz v43, :cond_1ec
30913 new-instance v5, Ljava/lang/StringBuilder;
30915 invoke-direct {v5}, Ljava/lang/StringBuilder;-><init>()V
30917 move-wide/from16 v0, v72
30919 invoke-virtual {v5, v0, v1}, Ljava/lang/StringBuilder;->append(J)Ljava/lang/StringBuilder;
30921 move-result-object v5
30923 const-string v6, ","
30925 invoke-virtual {v5, v6}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
30927 move-result-object v5
30929 move-wide/from16 v0, v62
30931 invoke-virtual {v5, v0, v1}, Ljava/lang/StringBuilder;->append(J)Ljava/lang/StringBuilder;
30933 move-result-object v5
30935 invoke-virtual {v5}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
30937 move-result-object v5
30939 move-object/from16 v0, p2
30941 invoke-virtual {v0, v5}, Ljava/io/PrintWriter;->println(Ljava/lang/String;)V
30943 invoke-virtual/range {p2 .. p2}, Ljava/io/PrintWriter;->flush()V
30946 move-object/from16 v0, p4
30948 array-length v5, v0
30950 sub-int v5, v5, v57
30952 new-array v0, v5, [Ljava/lang/String;
30954 move-object/from16 v42, v0
30958 move-object/from16 v0, p4
30960 array-length v6, v0
30962 sub-int v6, v6, v57
30964 move-object/from16 v0, p4
30966 move/from16 v1, v57
30968 move-object/from16 v2, v42
30970 invoke-static {v0, v1, v2, v5, v6}, Ljava/lang/System;->arraycopy(Ljava/lang/Object;ILjava/lang/Object;II)V
30972 new-instance v59, Ljava/util/ArrayList;
30974 invoke-direct/range {v59 .. v59}, Ljava/util/ArrayList;-><init>()V
30976 const-wide/16 v12, 0x0
30978 const-wide/16 v17, 0x0
30980 const-wide/16 v22, 0x0
30984 new-array v0, v5, [J
30986 move-object/from16 v50, v0
30988 sget-object v5, Lcom/android/server/am/ActivityManagerService;->DUMP_MEM_OOM_LABEL:[Ljava/lang/String;
30990 array-length v5, v5
30992 new-array v0, v5, [J
30994 move-object/from16 v55, v0
30996 sget-object v5, Lcom/android/server/am/ActivityManagerService;->DUMP_MEM_OOM_LABEL:[Ljava/lang/String;
30998 array-length v5, v5
31000 new-array v0, v5, [Ljava/util/ArrayList;
31002 move-object/from16 v54, v0
31004 check-cast v54, [Ljava/util/ArrayList;
31006 const-wide/16 v68, 0x0
31008 invoke-virtual/range {v60 .. v60}, Ljava/util/ArrayList;->size()I
31012 add-int/lit8 v41, v5, -0x1
31015 if-ltz v41, :cond_272
31017 move-object/from16 v0, v60
31019 move/from16 v1, v41
31021 invoke-virtual {v0, v1}, Ljava/util/ArrayList;->get(I)Ljava/lang/Object;
31023 move-result-object v61
31025 check-cast v61, Lcom/android/server/am/ProcessRecord;
31027 move-object/from16 v0, v61
31029 iget-object v5, v0, Lcom/android/server/am/ProcessRecord;->thread:Landroid/app/IApplicationThread;
31031 if-eqz v5, :cond_26b
31033 if-nez v43, :cond_167
31035 if-eqz v38, :cond_167
31037 new-instance v5, Ljava/lang/StringBuilder;
31039 invoke-direct {v5}, Ljava/lang/StringBuilder;-><init>()V
31041 const-string v6, "\n** MEMINFO in pid "
31043 invoke-virtual {v5, v6}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
31045 move-result-object v5
31047 move-object/from16 v0, v61
31049 iget v6, v0, Lcom/android/server/am/ProcessRecord;->pid:I
31051 invoke-virtual {v5, v6}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
31053 move-result-object v5
31055 const-string v6, " ["
31057 invoke-virtual {v5, v6}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
31059 move-result-object v5
31061 move-object/from16 v0, v61
31063 iget-object v6, v0, Lcom/android/server/am/ProcessRecord;->processName:Ljava/lang/String;
31065 invoke-virtual {v5, v6}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
31067 move-result-object v5
31069 const-string v6, "] **"
31071 invoke-virtual {v5, v6}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
31073 move-result-object v5
31075 invoke-virtual {v5}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
31077 move-result-object v5
31079 move-object/from16 v0, p2
31081 invoke-virtual {v0, v5}, Ljava/io/PrintWriter;->println(Ljava/lang/String;)V
31083 invoke-virtual/range {p2 .. p2}, Ljava/io/PrintWriter;->flush()V
31088 if-eqz v38, :cond_22a
31091 move-object/from16 v0, v61
31093 iget-object v5, v0, Lcom/android/server/am/ProcessRecord;->thread:Landroid/app/IApplicationThread;
31095 move-object/from16 v0, p1
31097 move/from16 v1, v43
31099 move/from16 v2, v38
31101 move-object/from16 v3, v42
31103 invoke-interface {v5, v0, v1, v2, v3}, Landroid/app/IApplicationThread;->dumpMemInfo(Ljava/io/FileDescriptor;ZZ[Ljava/lang/String;)Landroid/os/Debug$MemoryInfo;
31105 .catch Landroid/os/RemoteException; {:try_start_16b .. :try_end_17a} :catch_21b
31107 move-result-object v48
31111 if-nez v43, :cond_26b
31113 if-eqz v48, :cond_26b
31115 invoke-virtual/range {v48 .. v48}, Landroid/os/Debug$MemoryInfo;->getTotalPss()I
31121 add-long v68, v68, v7
31123 new-instance v4, Lcom/android/server/am/ActivityManagerService$MemItem;
31125 new-instance v5, Ljava/lang/StringBuilder;
31127 invoke-direct {v5}, Ljava/lang/StringBuilder;-><init>()V
31129 move-object/from16 v0, v61
31131 iget-object v6, v0, Lcom/android/server/am/ProcessRecord;->processName:Ljava/lang/String;
31133 invoke-virtual {v5, v6}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
31135 move-result-object v5
31137 const-string v6, " (pid "
31139 invoke-virtual {v5, v6}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
31141 move-result-object v5
31143 move-object/from16 v0, v61
31145 iget v6, v0, Lcom/android/server/am/ProcessRecord;->pid:I
31147 invoke-virtual {v5, v6}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
31149 move-result-object v5
31151 const-string v6, ")"
31153 invoke-virtual {v5, v6}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
31155 move-result-object v5
31157 invoke-virtual {v5}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
31159 move-result-object v5
31161 move-object/from16 v0, v61
31163 iget-object v6, v0, Lcom/android/server/am/ProcessRecord;->processName:Ljava/lang/String;
31167 invoke-direct/range {v4 .. v9}, Lcom/android/server/am/ActivityManagerService$MemItem;-><init>(Ljava/lang/String;Ljava/lang/String;JI)V
31169 move-object/from16 v0, v59
31171 invoke-virtual {v0, v4}, Ljava/util/ArrayList;->add(Ljava/lang/Object;)Z
31173 move-object/from16 v0, v48
31175 iget v5, v0, Landroid/os/Debug$MemoryInfo;->nativePss:I
31179 add-long/2addr v12, v5
31181 move-object/from16 v0, v48
31183 iget v5, v0, Landroid/os/Debug$MemoryInfo;->dalvikPss:I
31187 add-long v17, v17, v5
31189 move-object/from16 v0, v48
31191 iget v5, v0, Landroid/os/Debug$MemoryInfo;->otherPss:I
31195 add-long v22, v22, v5
31202 move/from16 v0, v29
31204 if-ge v0, v5, :cond_23a
31206 move-object/from16 v0, v48
31208 move/from16 v1, v29
31210 invoke-virtual {v0, v1}, Landroid/os/Debug$MemoryInfo;->getOtherPss(I)I
31216 move-wide/from16 v46, v0
31218 aget-wide v5, v50, v29
31220 add-long v5, v5, v46
31222 aput-wide v5, v50, v29
31224 sub-long v22, v22, v46
31226 add-int/lit8 v29, v29, 0x1
31231 const-string v5, "Applications Memory Usage (kB):"
31233 move-object/from16 v0, p2
31235 invoke-virtual {v0, v5}, Ljava/io/PrintWriter;->println(Ljava/lang/String;)V
31237 new-instance v5, Ljava/lang/StringBuilder;
31239 invoke-direct {v5}, Ljava/lang/StringBuilder;-><init>()V
31241 const-string v6, "Uptime: "
31243 invoke-virtual {v5, v6}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
31245 move-result-object v5
31247 move-wide/from16 v0, v72
31249 invoke-virtual {v5, v0, v1}, Ljava/lang/StringBuilder;->append(J)Ljava/lang/StringBuilder;
31251 move-result-object v5
31253 const-string v6, " Realtime: "
31255 invoke-virtual {v5, v6}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
31257 move-result-object v5
31259 move-wide/from16 v0, v62
31261 invoke-virtual {v5, v0, v1}, Ljava/lang/StringBuilder;->append(J)Ljava/lang/StringBuilder;
31263 move-result-object v5
31265 invoke-virtual {v5}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
31267 move-result-object v5
31269 move-object/from16 v0, p2
31271 invoke-virtual {v0, v5}, Ljava/io/PrintWriter;->println(Ljava/lang/String;)V
31278 if-nez v43, :cond_17b
31280 const-string v5, "Got RemoteException!"
31282 move-object/from16 v0, p2
31284 invoke-virtual {v0, v5}, Ljava/io/PrintWriter;->println(Ljava/lang/String;)V
31286 invoke-virtual/range {p2 .. p2}, Ljava/io/PrintWriter;->flush()V
31291 new-instance v48, Landroid/os/Debug$MemoryInfo;
31293 invoke-direct/range {v48 .. v48}, Landroid/os/Debug$MemoryInfo;-><init>()V
31295 move-object/from16 v0, v61
31297 iget v5, v0, Lcom/android/server/am/ProcessRecord;->pid:I
31299 move-object/from16 v0, v48
31301 invoke-static {v5, v0}, Landroid/os/Debug;->getMemoryInfo(ILandroid/os/Debug$MemoryInfo;)V
31309 move-object/from16 v0, v55
31311 array-length v5, v0
31313 move/from16 v0, v51
31315 if-ge v0, v5, :cond_26b
31317 move-object/from16 v0, v61
31319 iget v5, v0, Lcom/android/server/am/ProcessRecord;->setAdj:I
31321 sget-object v6, Lcom/android/server/am/ActivityManagerService;->DUMP_MEM_OOM_ADJ:[I
31325 if-le v5, v6, :cond_256
31327 move-object/from16 v0, v55
31329 array-length v5, v0
31331 add-int/lit8 v5, v5, -0x1
31333 move/from16 v0, v51
31335 if-ne v0, v5, :cond_26f
31338 aget-wide v5, v55, v51
31340 add-long/2addr v5, v7
31342 aput-wide v5, v55, v51
31344 aget-object v5, v54, v51
31346 if-nez v5, :cond_266
31348 new-instance v5, Ljava/util/ArrayList;
31350 invoke-direct {v5}, Ljava/util/ArrayList;-><init>()V
31352 aput-object v5, v54, v51
31355 aget-object v5, v54, v51
31357 invoke-virtual {v5, v4}, Ljava/util/ArrayList;->add(Ljava/lang/Object;)Z
31360 add-int/lit8 v41, v41, -0x1
31365 add-int/lit8 v51, v51, 0x1
31370 if-nez v43, :cond_30
31372 invoke-virtual/range {v60 .. v60}, Ljava/util/ArrayList;->size()I
31378 if-le v5, v6, :cond_30
31380 new-instance v37, Ljava/util/ArrayList;
31382 invoke-direct/range {v37 .. v37}, Ljava/util/ArrayList;-><init>()V
31384 new-instance v9, Lcom/android/server/am/ActivityManagerService$MemItem;
31386 const-string v10, "Native"
31388 const-string v11, "Native"
31392 invoke-direct/range {v9 .. v14}, Lcom/android/server/am/ActivityManagerService$MemItem;-><init>(Ljava/lang/String;Ljava/lang/String;JI)V
31394 move-object/from16 v0, v37
31396 invoke-virtual {v0, v9}, Ljava/util/ArrayList;->add(Ljava/lang/Object;)Z
31398 new-instance v14, Lcom/android/server/am/ActivityManagerService$MemItem;
31400 const-string v15, "Dalvik"
31402 const-string v16, "Dalvik"
31406 invoke-direct/range {v14 .. v19}, Lcom/android/server/am/ActivityManagerService$MemItem;-><init>(Ljava/lang/String;Ljava/lang/String;JI)V
31408 move-object/from16 v0, v37
31410 invoke-virtual {v0, v14}, Ljava/util/ArrayList;->add(Ljava/lang/Object;)Z
31412 new-instance v19, Lcom/android/server/am/ActivityManagerService$MemItem;
31414 const-string v20, "Unknown"
31416 const-string v21, "Unknown"
31420 invoke-direct/range {v19 .. v24}, Lcom/android/server/am/ActivityManagerService$MemItem;-><init>(Ljava/lang/String;Ljava/lang/String;JI)V
31422 move-object/from16 v0, v37
31424 move-object/from16 v1, v19
31426 invoke-virtual {v0, v1}, Ljava/util/ArrayList;->add(Ljava/lang/Object;)Z
31433 move/from16 v0, v29
31435 if-ge v0, v5, :cond_2d0
31437 invoke-static/range {v29 .. v29}, Landroid/os/Debug$MemoryInfo;->getOtherLabel(I)Ljava/lang/String;
31439 move-result-object v25
31441 new-instance v24, Lcom/android/server/am/ActivityManagerService$MemItem;
31443 aget-wide v27, v50, v29
31445 move-object/from16 v26, v25
31447 invoke-direct/range {v24 .. v29}, Lcom/android/server/am/ActivityManagerService$MemItem;-><init>(Ljava/lang/String;Ljava/lang/String;JI)V
31449 move-object/from16 v0, v37
31451 move-object/from16 v1, v24
31453 invoke-virtual {v0, v1}, Ljava/util/ArrayList;->add(Ljava/lang/Object;)Z
31455 add-int/lit8 v29, v29, 0x1
31460 new-instance v52, Ljava/util/ArrayList;
31462 invoke-direct/range {v52 .. v52}, Ljava/util/ArrayList;-><init>()V
31467 move-object/from16 v0, v55
31469 array-length v5, v0
31471 move/from16 v0, v29
31473 if-ge v0, v5, :cond_309
31475 aget-wide v5, v55, v29
31477 const-wide/16 v9, 0x0
31479 cmp-long v5, v5, v9
31481 if-eqz v5, :cond_306
31483 sget-object v5, Lcom/android/server/am/ActivityManagerService;->DUMP_MEM_OOM_LABEL:[Ljava/lang/String;
31485 aget-object v25, v5, v29
31487 new-instance v30, Lcom/android/server/am/ActivityManagerService$MemItem;
31489 aget-wide v33, v55, v29
31491 sget-object v5, Lcom/android/server/am/ActivityManagerService;->DUMP_MEM_OOM_ADJ:[I
31495 move-object/from16 v31, v25
31497 move-object/from16 v32, v25
31499 invoke-direct/range {v30 .. v35}, Lcom/android/server/am/ActivityManagerService$MemItem;-><init>(Ljava/lang/String;Ljava/lang/String;JI)V
31501 aget-object v5, v54, v29
31503 move-object/from16 v0, v30
31505 iput-object v5, v0, Lcom/android/server/am/ActivityManagerService$MemItem;->subitems:Ljava/util/ArrayList;
31507 move-object/from16 v0, v52
31509 move-object/from16 v1, v30
31511 invoke-virtual {v0, v1}, Ljava/util/ArrayList;->add(Ljava/lang/Object;)Z
31514 add-int/lit8 v29, v29, 0x1
31519 if-nez p7, :cond_30d
31521 if-eqz p8, :cond_433
31524 if-eqz p7, :cond_319
31526 const-string v5, "total"
31530 move-object/from16 v0, p7
31532 move-wide/from16 v1, v68
31534 invoke-static {v0, v1, v2, v5, v6}, Lcom/android/server/am/ActivityManagerService;->appendMemBucket(Ljava/lang/StringBuilder;JLjava/lang/String;Z)V
31537 if-eqz p8, :cond_325
31539 const-string v5, "total"
31543 move-object/from16 v0, p8
31545 move-wide/from16 v1, v68
31547 invoke-static {v0, v1, v2, v5, v6}, Lcom/android/server/am/ActivityManagerService;->appendMemBucket(Ljava/lang/StringBuilder;JLjava/lang/String;Z)V
31555 invoke-virtual/range {v52 .. v52}, Ljava/util/ArrayList;->size()I
31559 move/from16 v0, v41
31561 if-ge v0, v5, :cond_433
31563 move-object/from16 v0, v52
31565 move/from16 v1, v41
31567 invoke-virtual {v0, v1}, Ljava/util/ArrayList;->get(I)Ljava/lang/Object;
31569 move-result-object v49
31571 check-cast v49, Lcom/android/server/am/ActivityManagerService$MemItem;
31573 move-object/from16 v0, v49
31575 iget-object v5, v0, Lcom/android/server/am/ActivityManagerService$MemItem;->subitems:Ljava/util/ArrayList;
31577 if-eqz v5, :cond_34c
31579 move-object/from16 v0, v49
31581 iget-object v5, v0, Lcom/android/server/am/ActivityManagerService$MemItem;->subitems:Ljava/util/ArrayList;
31583 invoke-virtual {v5}, Ljava/util/ArrayList;->size()I
31589 if-ge v5, v6, :cond_34f
31593 add-int/lit8 v41, v41, 0x1
31598 move-object/from16 v0, v49
31600 iget v5, v0, Lcom/android/server/am/ActivityManagerService$MemItem;->id:I
31604 if-lt v5, v6, :cond_364
31606 move-object/from16 v0, v49
31608 iget v5, v0, Lcom/android/server/am/ActivityManagerService$MemItem;->id:I
31612 if-eq v5, v6, :cond_364
31614 move-object/from16 v0, v49
31616 iget v5, v0, Lcom/android/server/am/ActivityManagerService$MemItem;->id:I
31620 if-ne v5, v6, :cond_34c
31623 if-eqz p7, :cond_373
31625 move-object/from16 v0, v49
31627 iget v5, v0, Lcom/android/server/am/ActivityManagerService$MemItem;->id:I
31629 if-gtz v5, :cond_373
31631 const-string v5, " / "
31633 move-object/from16 v0, p7
31635 invoke-virtual {v0, v5}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
31638 if-eqz p8, :cond_38d
31640 move-object/from16 v0, v49
31642 iget v5, v0, Lcom/android/server/am/ActivityManagerService$MemItem;->id:I
31644 if-ltz v5, :cond_3e4
31646 if-eqz v40, :cond_386
31648 const-string v5, ":"
31650 move-object/from16 v0, p8
31652 invoke-virtual {v0, v5}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
31657 const-string v5, "\n\t at "
31659 move-object/from16 v0, p8
31661 invoke-virtual {v0, v5}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
31668 move-object/from16 v0, v49
31670 iget-object v5, v0, Lcom/android/server/am/ActivityManagerService$MemItem;->subitems:Ljava/util/ArrayList;
31672 invoke-virtual {v5}, Ljava/util/ArrayList;->size()I
31676 move/from16 v0, v29
31678 if-ge v0, v5, :cond_3ec
31680 move-object/from16 v0, v49
31682 iget-object v5, v0, Lcom/android/server/am/ActivityManagerService$MemItem;->subitems:Ljava/util/ArrayList;
31684 move/from16 v0, v29
31686 invoke-virtual {v5, v0}, Ljava/util/ArrayList;->get(I)Ljava/lang/Object;
31688 move-result-object v48
31690 check-cast v48, Lcom/android/server/am/ActivityManagerService$MemItem;
31692 if-lez v29, :cond_3bb
31694 if-eqz p7, :cond_3b2
31696 const-string v5, " "
31698 move-object/from16 v0, p7
31700 invoke-virtual {v0, v5}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
31703 if-eqz p8, :cond_3bb
31705 const-string v5, "$"
31707 move-object/from16 v0, p8
31709 invoke-virtual {v0, v5}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
31712 if-eqz p7, :cond_3d1
31714 move-object/from16 v0, v49
31716 iget v5, v0, Lcom/android/server/am/ActivityManagerService$MemItem;->id:I
31718 if-gtz v5, :cond_3d1
31720 move-object/from16 v0, v48
31722 iget-wide v5, v0, Lcom/android/server/am/ActivityManagerService$MemItem;->pss:J
31724 move-object/from16 v0, v48
31726 iget-object v9, v0, Lcom/android/server/am/ActivityManagerService$MemItem;->shortLabel:Ljava/lang/String;
31730 move-object/from16 v0, p7
31732 invoke-static {v0, v5, v6, v9, v10}, Lcom/android/server/am/ActivityManagerService;->appendMemBucket(Ljava/lang/StringBuilder;JLjava/lang/String;Z)V
31735 if-eqz p8, :cond_3e1
31737 move-object/from16 v0, v48
31739 iget-wide v5, v0, Lcom/android/server/am/ActivityManagerService$MemItem;->pss:J
31741 move-object/from16 v0, v48
31743 iget-object v9, v0, Lcom/android/server/am/ActivityManagerService$MemItem;->shortLabel:Ljava/lang/String;
31747 move-object/from16 v0, p8
31749 invoke-static {v0, v5, v6, v9, v10}, Lcom/android/server/am/ActivityManagerService;->appendMemBucket(Ljava/lang/StringBuilder;JLjava/lang/String;Z)V
31752 add-int/lit8 v29, v29, 0x1
31757 const-string v5, "$"
31759 move-object/from16 v0, p8
31761 invoke-virtual {v0, v5}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
31766 if-eqz p8, :cond_34c
31768 move-object/from16 v0, v49
31770 iget v5, v0, Lcom/android/server/am/ActivityManagerService$MemItem;->id:I
31772 if-ltz v5, :cond_34c
31774 const-string v5, "("
31776 move-object/from16 v0, p8
31778 invoke-virtual {v0, v5}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
31783 sget-object v5, Lcom/android/server/am/ActivityManagerService;->DUMP_MEM_OOM_ADJ:[I
31785 array-length v5, v5
31787 move/from16 v0, v44
31789 if-ge v0, v5, :cond_42a
31791 sget-object v5, Lcom/android/server/am/ActivityManagerService;->DUMP_MEM_OOM_ADJ:[I
31795 move-object/from16 v0, v49
31797 iget v6, v0, Lcom/android/server/am/ActivityManagerService$MemItem;->id:I
31799 if-ne v5, v6, :cond_427
31801 sget-object v5, Lcom/android/server/am/ActivityManagerService;->DUMP_MEM_OOM_LABEL:[Ljava/lang/String;
31803 aget-object v5, v5, v44
31805 move-object/from16 v0, p8
31807 invoke-virtual {v0, v5}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
31809 const-string v5, ":"
31811 move-object/from16 v0, p8
31813 invoke-virtual {v0, v5}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
31815 sget-object v5, Lcom/android/server/am/ActivityManagerService;->DUMP_MEM_OOM_ADJ:[I
31819 move-object/from16 v0, p8
31821 invoke-virtual {v0, v5}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
31824 add-int/lit8 v44, v44, 0x1
31829 const-string v5, ")"
31831 move-object/from16 v0, p8
31833 invoke-virtual {v0, v5}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
31838 if-nez p5, :cond_44e
31840 if-nez v53, :cond_44e
31842 invoke-virtual/range {p2 .. p2}, Ljava/io/PrintWriter;->println()V
31844 const-string v5, "Total PSS by process:"
31846 move-object/from16 v0, p2
31848 invoke-virtual {v0, v5}, Ljava/io/PrintWriter;->println(Ljava/lang/String;)V
31850 const-string v5, " "
31854 move-object/from16 v0, p2
31856 move-object/from16 v1, v59
31858 invoke-static {v0, v5, v1, v6}, Lcom/android/server/am/ActivityManagerService;->dumpMemItems(Ljava/io/PrintWriter;Ljava/lang/String;Ljava/util/ArrayList;Z)V
31860 invoke-virtual/range {p2 .. p2}, Ljava/io/PrintWriter;->println()V
31863 const-string v5, "Total PSS by OOM adjustment:"
31865 move-object/from16 v0, p2
31867 invoke-virtual {v0, v5}, Ljava/io/PrintWriter;->println(Ljava/lang/String;)V
31869 const-string v5, " "
31873 move-object/from16 v0, p2
31875 move-object/from16 v1, v52
31877 invoke-static {v0, v5, v1, v6}, Lcom/android/server/am/ActivityManagerService;->dumpMemItems(Ljava/io/PrintWriter;Ljava/lang/String;Ljava/util/ArrayList;Z)V
31879 if-nez v53, :cond_479
31881 if-eqz p6, :cond_54b
31883 move-object/from16 v58, p6
31886 invoke-virtual/range {v58 .. v58}, Ljava/io/PrintWriter;->println()V
31888 const-string v5, "Total PSS by category:"
31890 move-object/from16 v0, v58
31892 invoke-virtual {v0, v5}, Ljava/io/PrintWriter;->println(Ljava/lang/String;)V
31894 const-string v5, " "
31898 move-object/from16 v0, v58
31900 move-object/from16 v1, v37
31902 invoke-static {v0, v5, v1, v6}, Lcom/android/server/am/ActivityManagerService;->dumpMemItems(Ljava/io/PrintWriter;Ljava/lang/String;Ljava/util/ArrayList;Z)V
31905 invoke-virtual/range {p2 .. p2}, Ljava/io/PrintWriter;->println()V
31907 const-string v5, "Total PSS: "
31909 move-object/from16 v0, p2
31911 invoke-virtual {v0, v5}, Ljava/io/PrintWriter;->print(Ljava/lang/String;)V
31913 move-object/from16 v0, p2
31915 move-wide/from16 v1, v68
31917 invoke-virtual {v0, v1, v2}, Ljava/io/PrintWriter;->print(J)V
31919 const-string v5, " kB"
31921 move-object/from16 v0, p2
31923 invoke-virtual {v0, v5}, Ljava/io/PrintWriter;->println(Ljava/lang/String;)V
31927 new-array v0, v5, [I
31929 move-object/from16 v36, v0
31933 const/16 v6, 0x2020
31939 new-array v0, v5, [J
31941 move-object/from16 v45, v0
31943 const-string v5, "/sys/kernel/mm/ksm/pages_shared"
31949 move-object/from16 v0, v36
31951 move-object/from16 v1, v45
31953 invoke-static {v5, v0, v6, v1, v9}, Landroid/os/Process;->readProcFile(Ljava/lang/String;[I[Ljava/lang/String;[J[F)Z
31957 aget-wide v5, v45, v5
31959 const-wide/16 v9, 0x1000
31961 mul-long/2addr v5, v9
31963 const-wide/16 v9, 0x400
31965 div-long v64, v5, v9
31969 const-wide/16 v9, 0x0
31971 aput-wide v9, v45, v5
31973 const-string v5, "/sys/kernel/mm/ksm/pages_sharing"
31979 move-object/from16 v0, v36
31981 move-object/from16 v1, v45
31983 invoke-static {v5, v0, v6, v1, v9}, Landroid/os/Process;->readProcFile(Ljava/lang/String;[I[Ljava/lang/String;[J[F)Z
31987 aget-wide v5, v45, v5
31989 const-wide/16 v9, 0x1000
31991 mul-long/2addr v5, v9
31993 const-wide/16 v9, 0x400
31995 div-long v66, v5, v9
31999 const-wide/16 v9, 0x0
32001 aput-wide v9, v45, v5
32003 const-string v5, "/sys/kernel/mm/ksm/pages_unshared"
32009 move-object/from16 v0, v36
32011 move-object/from16 v1, v45
32013 invoke-static {v5, v0, v6, v1, v9}, Landroid/os/Process;->readProcFile(Ljava/lang/String;[I[Ljava/lang/String;[J[F)Z
32017 aget-wide v5, v45, v5
32019 const-wide/16 v9, 0x1000
32021 mul-long/2addr v5, v9
32023 const-wide/16 v9, 0x400
32025 div-long v70, v5, v9
32029 const-wide/16 v9, 0x0
32031 aput-wide v9, v45, v5
32033 const-string v5, "/sys/kernel/mm/ksm/pages_volatile"
32039 move-object/from16 v0, v36
32041 move-object/from16 v1, v45
32043 invoke-static {v5, v0, v6, v1, v9}, Landroid/os/Process;->readProcFile(Ljava/lang/String;[I[Ljava/lang/String;[J[F)Z
32047 aget-wide v5, v45, v5
32049 const-wide/16 v9, 0x1000
32051 mul-long/2addr v5, v9
32053 const-wide/16 v9, 0x400
32055 div-long v74, v5, v9
32057 const-string v5, " KSM: "
32059 move-object/from16 v0, p2
32061 invoke-virtual {v0, v5}, Ljava/io/PrintWriter;->print(Ljava/lang/String;)V
32063 move-object/from16 v0, p2
32065 move-wide/from16 v1, v66
32067 invoke-virtual {v0, v1, v2}, Ljava/io/PrintWriter;->print(J)V
32069 const-string v5, " kB saved from shared "
32071 move-object/from16 v0, p2
32073 invoke-virtual {v0, v5}, Ljava/io/PrintWriter;->print(Ljava/lang/String;)V
32075 move-object/from16 v0, p2
32077 move-wide/from16 v1, v64
32079 invoke-virtual {v0, v1, v2}, Ljava/io/PrintWriter;->print(J)V
32081 const-string v5, " kB"
32083 move-object/from16 v0, p2
32085 invoke-virtual {v0, v5}, Ljava/io/PrintWriter;->println(Ljava/lang/String;)V
32087 const-string v5, " "
32089 move-object/from16 v0, p2
32091 invoke-virtual {v0, v5}, Ljava/io/PrintWriter;->print(Ljava/lang/String;)V
32093 move-object/from16 v0, p2
32095 move-wide/from16 v1, v70
32097 invoke-virtual {v0, v1, v2}, Ljava/io/PrintWriter;->print(J)V
32099 const-string v5, " kB unshared; "
32101 move-object/from16 v0, p2
32103 invoke-virtual {v0, v5}, Ljava/io/PrintWriter;->print(Ljava/lang/String;)V
32105 move-object/from16 v0, p2
32107 move-wide/from16 v1, v74
32109 invoke-virtual {v0, v1, v2}, Ljava/io/PrintWriter;->print(J)V
32111 const-string v5, " kB volatile"
32113 move-object/from16 v0, p2
32115 invoke-virtual {v0, v5}, Ljava/io/PrintWriter;->println(Ljava/lang/String;)V
32120 move-object/from16 v58, p2
32125 .method dumpBroadcastsLocked(Ljava/io/FileDescriptor;Ljava/io/PrintWriter;[Ljava/lang/String;IZLjava/lang/String;)Z
32132 const-string v3, "history"
32134 move-object/from16 v0, p6
32136 invoke-virtual {v3, v0}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
32140 if-eqz v3, :cond_24
32142 move-object/from16 v0, p3
32144 array-length v3, v0
32148 if-ge v0, v3, :cond_20
32150 const-string v3, "-s"
32152 aget-object v5, p3, p4
32154 invoke-virtual {v3, v5}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
32158 if-eqz v3, :cond_20
32168 const-string v3, "ACTIVITY MANAGER BROADCAST STATE (dumpsys activity broadcasts)"
32170 move-object/from16 v0, p2
32172 invoke-virtual {v0, v3}, Ljava/io/PrintWriter;->println(Ljava/lang/String;)V
32174 if-nez v19, :cond_a5
32176 if-eqz p5, :cond_a5
32178 move-object/from16 v0, p0
32180 iget-object v3, v0, Lcom/android/server/am/ActivityManagerService;->mRegisteredReceivers:Ljava/util/HashMap;
32182 invoke-virtual {v3}, Ljava/util/HashMap;->size()I
32186 if-lez v3, :cond_8f
32190 move-object/from16 v0, p0
32192 iget-object v3, v0, Lcom/android/server/am/ActivityManagerService;->mRegisteredReceivers:Ljava/util/HashMap;
32194 invoke-virtual {v3}, Ljava/util/HashMap;->values()Ljava/util/Collection;
32196 move-result-object v3
32198 invoke-interface {v3}, Ljava/util/Collection;->iterator()Ljava/util/Iterator;
32200 move-result-object v17
32204 invoke-interface/range {v17 .. v17}, Ljava/util/Iterator;->hasNext()Z
32208 if-eqz v3, :cond_8f
32210 invoke-interface/range {v17 .. v17}, Ljava/util/Iterator;->next()Ljava/lang/Object;
32212 move-result-object v22
32214 check-cast v22, Lcom/android/server/am/ReceiverList;
32216 if-eqz p6, :cond_6b
32218 move-object/from16 v0, v22
32220 iget-object v3, v0, Lcom/android/server/am/ReceiverList;->app:Lcom/android/server/am/ProcessRecord;
32222 if-eqz v3, :cond_47
32224 move-object/from16 v0, v22
32226 iget-object v3, v0, Lcom/android/server/am/ReceiverList;->app:Lcom/android/server/am/ProcessRecord;
32228 iget-object v3, v3, Lcom/android/server/am/ProcessRecord;->info:Landroid/content/pm/ApplicationInfo;
32230 iget-object v3, v3, Landroid/content/pm/ApplicationInfo;->packageName:Ljava/lang/String;
32232 move-object/from16 v0, p6
32234 invoke-virtual {v0, v3}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
32238 if-eqz v3, :cond_47
32241 if-nez v20, :cond_77
32243 const-string v3, " Registered Receivers:"
32245 move-object/from16 v0, p2
32247 invoke-virtual {v0, v3}, Ljava/io/PrintWriter;->println(Ljava/lang/String;)V
32254 const-string v3, " * "
32256 move-object/from16 v0, p2
32258 invoke-virtual {v0, v3}, Ljava/io/PrintWriter;->print(Ljava/lang/String;)V
32260 move-object/from16 v0, p2
32262 move-object/from16 v1, v22
32264 invoke-virtual {v0, v1}, Ljava/io/PrintWriter;->println(Ljava/lang/Object;)V
32266 const-string v3, " "
32268 move-object/from16 v0, v22
32270 move-object/from16 v1, p2
32272 invoke-virtual {v0, v1, v3}, Lcom/android/server/am/ReceiverList;->dump(Ljava/io/PrintWriter;Ljava/lang/String;)V
32277 move-object/from16 v0, p0
32279 iget-object v2, v0, Lcom/android/server/am/ActivityManagerService;->mReceiverResolver:Lcom/android/server/IntentResolver;
32281 if-eqz v9, :cond_c6
32283 const-string v4, "\n Receiver Resolver Table:"
32286 const-string v5, " "
32290 move-object/from16 v3, p2
32292 move-object/from16 v6, p6
32294 invoke-virtual/range {v2 .. v7}, Lcom/android/server/IntentResolver;->dump(Ljava/io/PrintWriter;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Z)Z
32298 if-eqz v3, :cond_a5
32303 move-object/from16 v0, p0
32305 iget-object v11, v0, Lcom/android/server/am/ActivityManagerService;->mBroadcastQueues:[Lcom/android/server/am/BroadcastQueue;
32307 array-length v0, v11
32309 move/from16 v18, v0
32314 move/from16 v0, v18
32316 if-ge v15, v0, :cond_c9
32318 aget-object v2, v11, v15
32320 move-object/from16 v3, p1
32322 move-object/from16 v4, p2
32324 move-object/from16 v5, p3
32330 move-object/from16 v8, p6
32332 invoke-virtual/range {v2 .. v9}, Lcom/android/server/am/BroadcastQueue;->dumpLocked(Ljava/io/FileDescriptor;Ljava/io/PrintWriter;[Ljava/lang/String;IZLjava/lang/String;Z)Z
32336 add-int/lit8 v15, v15, 0x1
32341 const-string v4, " Receiver Resolver Table:"
32348 if-nez v19, :cond_1a2
32350 move-object/from16 v0, p0
32352 iget-object v3, v0, Lcom/android/server/am/ActivityManagerService;->mStickyBroadcasts:Landroid/util/SparseArray;
32354 if-eqz v3, :cond_1a2
32356 if-nez p6, :cond_1a2
32361 move-object/from16 v0, p0
32363 iget-object v3, v0, Lcom/android/server/am/ActivityManagerService;->mStickyBroadcasts:Landroid/util/SparseArray;
32365 invoke-virtual {v3}, Landroid/util/SparseArray;->size()I
32369 move/from16 v0, v23
32371 if-ge v0, v3, :cond_1a2
32373 if-eqz v9, :cond_e7
32375 invoke-virtual/range {p2 .. p2}, Ljava/io/PrintWriter;->println()V
32380 const-string v3, " Sticky broadcasts for user "
32382 move-object/from16 v0, p2
32384 invoke-virtual {v0, v3}, Ljava/io/PrintWriter;->print(Ljava/lang/String;)V
32386 move-object/from16 v0, p0
32388 iget-object v3, v0, Lcom/android/server/am/ActivityManagerService;->mStickyBroadcasts:Landroid/util/SparseArray;
32390 move/from16 v0, v23
32392 invoke-virtual {v3, v0}, Landroid/util/SparseArray;->keyAt(I)I
32396 move-object/from16 v0, p2
32398 invoke-virtual {v0, v3}, Ljava/io/PrintWriter;->print(I)V
32400 const-string v3, ":"
32402 move-object/from16 v0, p2
32404 invoke-virtual {v0, v3}, Ljava/io/PrintWriter;->println(Ljava/lang/String;)V
32406 new-instance v4, Ljava/lang/StringBuilder;
32410 invoke-direct {v4, v3}, Ljava/lang/StringBuilder;-><init>(I)V
32412 move-object/from16 v0, p0
32414 iget-object v3, v0, Lcom/android/server/am/ActivityManagerService;->mStickyBroadcasts:Landroid/util/SparseArray;
32416 move/from16 v0, v23
32418 invoke-virtual {v3, v0}, Landroid/util/SparseArray;->valueAt(I)Ljava/lang/Object;
32420 move-result-object v3
32422 check-cast v3, Ljava/util/HashMap;
32424 invoke-virtual {v3}, Ljava/util/HashMap;->entrySet()Ljava/util/Set;
32426 move-result-object v3
32428 invoke-interface {v3}, Ljava/util/Set;->iterator()Ljava/util/Iterator;
32430 move-result-object v15
32434 invoke-interface {v15}, Ljava/util/Iterator;->hasNext()Z
32438 if-eqz v3, :cond_19e
32440 invoke-interface {v15}, Ljava/util/Iterator;->next()Ljava/lang/Object;
32442 move-result-object v13
32444 check-cast v13, Ljava/util/Map$Entry;
32446 const-string v3, " * Sticky action "
32448 move-object/from16 v0, p2
32450 invoke-virtual {v0, v3}, Ljava/io/PrintWriter;->print(Ljava/lang/String;)V
32452 invoke-interface {v13}, Ljava/util/Map$Entry;->getKey()Ljava/lang/Object;
32454 move-result-object v3
32456 check-cast v3, Ljava/lang/String;
32458 move-object/from16 v0, p2
32460 invoke-virtual {v0, v3}, Ljava/io/PrintWriter;->print(Ljava/lang/String;)V
32462 if-eqz p5, :cond_196
32464 const-string v3, ":"
32466 move-object/from16 v0, p2
32468 invoke-virtual {v0, v3}, Ljava/io/PrintWriter;->println(Ljava/lang/String;)V
32470 invoke-interface {v13}, Ljava/util/Map$Entry;->getValue()Ljava/lang/Object;
32472 move-result-object v16
32474 check-cast v16, Ljava/util/ArrayList;
32476 invoke-virtual/range {v16 .. v16}, Ljava/util/ArrayList;->size()I
32483 if-ge v14, v10, :cond_120
32487 invoke-virtual {v4, v3}, Ljava/lang/StringBuilder;->setLength(I)V
32489 const-string v3, " Intent: "
32491 invoke-virtual {v4, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
32493 move-object/from16 v0, v16
32495 invoke-virtual {v0, v14}, Ljava/util/ArrayList;->get(I)Ljava/lang/Object;
32497 move-result-object v3
32499 check-cast v3, Landroid/content/Intent;
32509 invoke-virtual/range {v3 .. v8}, Landroid/content/Intent;->toShortString(Ljava/lang/StringBuilder;ZZZZ)V
32511 invoke-virtual {v4}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
32513 move-result-object v3
32515 move-object/from16 v0, p2
32517 invoke-virtual {v0, v3}, Ljava/io/PrintWriter;->println(Ljava/lang/String;)V
32519 move-object/from16 v0, v16
32521 invoke-virtual {v0, v14}, Ljava/util/ArrayList;->get(I)Ljava/lang/Object;
32523 move-result-object v3
32525 check-cast v3, Landroid/content/Intent;
32527 invoke-virtual {v3}, Landroid/content/Intent;->getExtras()Landroid/os/Bundle;
32529 move-result-object v12
32531 if-eqz v12, :cond_193
32533 const-string v3, " "
32535 move-object/from16 v0, p2
32537 invoke-virtual {v0, v3}, Ljava/io/PrintWriter;->print(Ljava/lang/String;)V
32539 invoke-virtual {v12}, Landroid/os/Bundle;->toString()Ljava/lang/String;
32541 move-result-object v3
32543 move-object/from16 v0, p2
32545 invoke-virtual {v0, v3}, Ljava/io/PrintWriter;->println(Ljava/lang/String;)V
32548 add-int/lit8 v14, v14, 0x1
32553 const-string v3, ""
32555 move-object/from16 v0, p2
32557 invoke-virtual {v0, v3}, Ljava/io/PrintWriter;->println(Ljava/lang/String;)V
32562 add-int/lit8 v23, v23, 0x1
32567 if-nez v19, :cond_1fc
32569 if-eqz p5, :cond_1fc
32571 invoke-virtual/range {p2 .. p2}, Ljava/io/PrintWriter;->println()V
32573 move-object/from16 v0, p0
32575 iget-object v11, v0, Lcom/android/server/am/ActivityManagerService;->mBroadcastQueues:[Lcom/android/server/am/BroadcastQueue;
32577 array-length v0, v11
32579 move/from16 v18, v0
32584 move/from16 v0, v18
32586 if-ge v15, v0, :cond_1e4
32588 aget-object v21, v11, v15
32590 new-instance v3, Ljava/lang/StringBuilder;
32592 invoke-direct {v3}, Ljava/lang/StringBuilder;-><init>()V
32594 const-string v5, " mBroadcastsScheduled ["
32596 invoke-virtual {v3, v5}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
32598 move-result-object v3
32600 move-object/from16 v0, v21
32602 iget-object v5, v0, Lcom/android/server/am/BroadcastQueue;->mQueueName:Ljava/lang/String;
32604 invoke-virtual {v3, v5}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
32606 move-result-object v3
32608 const-string v5, "]="
32610 invoke-virtual {v3, v5}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
32612 move-result-object v3
32614 move-object/from16 v0, v21
32616 iget-boolean v5, v0, Lcom/android/server/am/BroadcastQueue;->mBroadcastsScheduled:Z
32618 invoke-virtual {v3, v5}, Ljava/lang/StringBuilder;->append(Z)Ljava/lang/StringBuilder;
32620 move-result-object v3
32622 invoke-virtual {v3}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
32624 move-result-object v3
32626 move-object/from16 v0, p2
32628 invoke-virtual {v0, v3}, Ljava/io/PrintWriter;->println(Ljava/lang/String;)V
32630 add-int/lit8 v15, v15, 0x1
32635 const-string v3, " mHandler:"
32637 move-object/from16 v0, p2
32639 invoke-virtual {v0, v3}, Ljava/io/PrintWriter;->println(Ljava/lang/String;)V
32641 move-object/from16 v0, p0
32643 iget-object v3, v0, Lcom/android/server/am/ActivityManagerService;->mHandler:Landroid/os/Handler;
32645 new-instance v5, Landroid/util/PrintWriterPrinter;
32647 move-object/from16 v0, p2
32649 invoke-direct {v5, v0}, Landroid/util/PrintWriterPrinter;-><init>(Ljava/io/PrintWriter;)V
32651 const-string v6, " "
32653 invoke-virtual {v3, v5, v6}, Landroid/os/Handler;->dump(Landroid/util/Printer;Ljava/lang/String;)V
32661 .method final dumpDbInfo(Ljava/io/FileDescriptor;Ljava/io/PrintWriter;[Ljava/lang/String;)V
32666 invoke-virtual {p0, p2, v5, p3}, Lcom/android/server/am/ActivityManagerService;->collectProcesses(Ljava/io/PrintWriter;I[Ljava/lang/String;)Ljava/util/ArrayList;
32668 move-result-object v2
32676 const-string v5, "Applications Database Info:"
32678 invoke-virtual {p2, v5}, Ljava/io/PrintWriter;->println(Ljava/lang/String;)V
32680 invoke-virtual {v2}, Ljava/util/ArrayList;->size()I
32684 add-int/lit8 v1, v5, -0x1
32689 invoke-virtual {v2, v1}, Ljava/util/ArrayList;->get(I)Ljava/lang/Object;
32691 move-result-object v3
32693 check-cast v3, Lcom/android/server/am/ProcessRecord;
32695 iget-object v5, v3, Lcom/android/server/am/ProcessRecord;->thread:Landroid/app/IApplicationThread;
32697 if-eqz v5, :cond_64
32699 new-instance v5, Ljava/lang/StringBuilder;
32701 invoke-direct {v5}, Ljava/lang/StringBuilder;-><init>()V
32703 const-string v6, "\n** Database info for pid "
32705 invoke-virtual {v5, v6}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
32707 move-result-object v5
32709 iget v6, v3, Lcom/android/server/am/ProcessRecord;->pid:I
32711 invoke-virtual {v5, v6}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
32713 move-result-object v5
32715 const-string v6, " ["
32717 invoke-virtual {v5, v6}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
32719 move-result-object v5
32721 iget-object v6, v3, Lcom/android/server/am/ProcessRecord;->processName:Ljava/lang/String;
32723 invoke-virtual {v5, v6}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
32725 move-result-object v5
32727 const-string v6, "] **"
32729 invoke-virtual {v5, v6}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
32731 move-result-object v5
32733 invoke-virtual {v5}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
32735 move-result-object v5
32737 invoke-virtual {p2, v5}, Ljava/io/PrintWriter;->println(Ljava/lang/String;)V
32739 invoke-virtual {p2}, Ljava/io/PrintWriter;->flush()V
32742 new-instance v4, Lcom/android/server/am/TransferPipe;
32744 invoke-direct {v4}, Lcom/android/server/am/TransferPipe;-><init>()V
32746 .catch Ljava/io/IOException; {:try_start_4c .. :try_end_51} :catch_6c
32747 .catch Landroid/os/RemoteException; {:try_start_4c .. :try_end_51} :catch_87
32750 iget-object v5, v3, Lcom/android/server/am/ProcessRecord;->thread:Landroid/app/IApplicationThread;
32752 invoke-virtual {v4}, Lcom/android/server/am/TransferPipe;->getWriteFd()Landroid/os/ParcelFileDescriptor;
32754 move-result-object v6
32756 invoke-virtual {v6}, Landroid/os/ParcelFileDescriptor;->getFileDescriptor()Ljava/io/FileDescriptor;
32758 move-result-object v6
32760 invoke-interface {v5, v6, p3}, Landroid/app/IApplicationThread;->dumpDbInfo(Ljava/io/FileDescriptor;[Ljava/lang/String;)V
32762 invoke-virtual {v4, p1}, Lcom/android/server/am/TransferPipe;->go(Ljava/io/FileDescriptor;)V
32764 .catchall {:try_start_51 .. :try_end_61} :catchall_67
32767 invoke-virtual {v4}, Lcom/android/server/am/TransferPipe;->kill()V
32771 add-int/lit8 v1, v1, -0x1
32778 invoke-virtual {v4}, Lcom/android/server/am/TransferPipe;->kill()V
32782 .catch Ljava/io/IOException; {:try_start_61 .. :try_end_6c} :catch_6c
32783 .catch Landroid/os/RemoteException; {:try_start_61 .. :try_end_6c} :catch_87
32788 new-instance v5, Ljava/lang/StringBuilder;
32790 invoke-direct {v5}, Ljava/lang/StringBuilder;-><init>()V
32792 const-string v6, "Failure while dumping the app: "
32794 invoke-virtual {v5, v6}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
32796 move-result-object v5
32798 invoke-virtual {v5, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
32800 move-result-object v5
32802 invoke-virtual {v5}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
32804 move-result-object v5
32806 invoke-virtual {p2, v5}, Ljava/io/PrintWriter;->println(Ljava/lang/String;)V
32808 invoke-virtual {p2}, Ljava/io/PrintWriter;->flush()V
32815 new-instance v5, Ljava/lang/StringBuilder;
32817 invoke-direct {v5}, Ljava/lang/StringBuilder;-><init>()V
32819 const-string v6, "Got a RemoteException while dumping the app "
32821 invoke-virtual {v5, v6}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
32823 move-result-object v5
32825 invoke-virtual {v5, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
32827 move-result-object v5
32829 invoke-virtual {v5}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
32831 move-result-object v5
32833 invoke-virtual {p2, v5}, Ljava/io/PrintWriter;->println(Ljava/lang/String;)V
32835 invoke-virtual {p2}, Ljava/io/PrintWriter;->flush()V
32840 .method final dumpGraphicsHardwareUsage(Ljava/io/FileDescriptor;Ljava/io/PrintWriter;[Ljava/lang/String;)V
32845 invoke-virtual {p0, p2, v9, p3}, Lcom/android/server/am/ActivityManagerService;->collectProcesses(Ljava/io/PrintWriter;I[Ljava/lang/String;)Ljava/util/ArrayList;
32847 move-result-object v2
32855 invoke-static {}, Landroid/os/SystemClock;->uptimeMillis()J
32857 move-result-wide v7
32859 invoke-static {}, Landroid/os/SystemClock;->elapsedRealtime()J
32861 move-result-wide v4
32863 const-string v9, "Applications Graphics Acceleration Info:"
32865 invoke-virtual {p2, v9}, Ljava/io/PrintWriter;->println(Ljava/lang/String;)V
32867 new-instance v9, Ljava/lang/StringBuilder;
32869 invoke-direct {v9}, Ljava/lang/StringBuilder;-><init>()V
32871 const-string v10, "Uptime: "
32873 invoke-virtual {v9, v10}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
32875 move-result-object v9
32877 invoke-virtual {v9, v7, v8}, Ljava/lang/StringBuilder;->append(J)Ljava/lang/StringBuilder;
32879 move-result-object v9
32881 const-string v10, " Realtime: "
32883 invoke-virtual {v9, v10}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
32885 move-result-object v9
32887 invoke-virtual {v9, v4, v5}, Ljava/lang/StringBuilder;->append(J)Ljava/lang/StringBuilder;
32889 move-result-object v9
32891 invoke-virtual {v9}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
32893 move-result-object v9
32895 invoke-virtual {p2, v9}, Ljava/io/PrintWriter;->println(Ljava/lang/String;)V
32897 invoke-virtual {v2}, Ljava/util/ArrayList;->size()I
32901 add-int/lit8 v1, v9, -0x1
32906 invoke-virtual {v2, v1}, Ljava/util/ArrayList;->get(I)Ljava/lang/Object;
32908 move-result-object v3
32910 check-cast v3, Lcom/android/server/am/ProcessRecord;
32912 iget-object v9, v3, Lcom/android/server/am/ProcessRecord;->thread:Landroid/app/IApplicationThread;
32914 if-eqz v9, :cond_8c
32916 new-instance v9, Ljava/lang/StringBuilder;
32918 invoke-direct {v9}, Ljava/lang/StringBuilder;-><init>()V
32920 const-string v10, "\n** Graphics info for pid "
32922 invoke-virtual {v9, v10}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
32924 move-result-object v9
32926 iget v10, v3, Lcom/android/server/am/ProcessRecord;->pid:I
32928 invoke-virtual {v9, v10}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
32930 move-result-object v9
32932 const-string v10, " ["
32934 invoke-virtual {v9, v10}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
32936 move-result-object v9
32938 iget-object v10, v3, Lcom/android/server/am/ProcessRecord;->processName:Ljava/lang/String;
32940 invoke-virtual {v9, v10}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
32942 move-result-object v9
32944 const-string v10, "] **"
32946 invoke-virtual {v9, v10}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
32948 move-result-object v9
32950 invoke-virtual {v9}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
32952 move-result-object v9
32954 invoke-virtual {p2, v9}, Ljava/io/PrintWriter;->println(Ljava/lang/String;)V
32956 invoke-virtual {p2}, Ljava/io/PrintWriter;->flush()V
32959 new-instance v6, Lcom/android/server/am/TransferPipe;
32961 invoke-direct {v6}, Lcom/android/server/am/TransferPipe;-><init>()V
32963 .catch Ljava/io/IOException; {:try_start_74 .. :try_end_79} :catch_94
32964 .catch Landroid/os/RemoteException; {:try_start_74 .. :try_end_79} :catch_af
32967 iget-object v9, v3, Lcom/android/server/am/ProcessRecord;->thread:Landroid/app/IApplicationThread;
32969 invoke-virtual {v6}, Lcom/android/server/am/TransferPipe;->getWriteFd()Landroid/os/ParcelFileDescriptor;
32971 move-result-object v10
32973 invoke-virtual {v10}, Landroid/os/ParcelFileDescriptor;->getFileDescriptor()Ljava/io/FileDescriptor;
32975 move-result-object v10
32977 invoke-interface {v9, v10, p3}, Landroid/app/IApplicationThread;->dumpGfxInfo(Ljava/io/FileDescriptor;[Ljava/lang/String;)V
32979 invoke-virtual {v6, p1}, Lcom/android/server/am/TransferPipe;->go(Ljava/io/FileDescriptor;)V
32981 .catchall {:try_start_79 .. :try_end_89} :catchall_8f
32984 invoke-virtual {v6}, Lcom/android/server/am/TransferPipe;->kill()V
32988 add-int/lit8 v1, v1, -0x1
32995 invoke-virtual {v6}, Lcom/android/server/am/TransferPipe;->kill()V
32999 .catch Ljava/io/IOException; {:try_start_89 .. :try_end_94} :catch_94
33000 .catch Landroid/os/RemoteException; {:try_start_89 .. :try_end_94} :catch_af
33005 new-instance v9, Ljava/lang/StringBuilder;
33007 invoke-direct {v9}, Ljava/lang/StringBuilder;-><init>()V
33009 const-string v10, "Failure while dumping the app: "
33011 invoke-virtual {v9, v10}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
33013 move-result-object v9
33015 invoke-virtual {v9, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
33017 move-result-object v9
33019 invoke-virtual {v9}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
33021 move-result-object v9
33023 invoke-virtual {p2, v9}, Ljava/io/PrintWriter;->println(Ljava/lang/String;)V
33025 invoke-virtual {p2}, Ljava/io/PrintWriter;->flush()V
33032 new-instance v9, Ljava/lang/StringBuilder;
33034 invoke-direct {v9}, Ljava/lang/StringBuilder;-><init>()V
33036 const-string v10, "Got a RemoteException while dumping the app "
33038 invoke-virtual {v9, v10}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
33040 move-result-object v9
33042 invoke-virtual {v9, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
33044 move-result-object v9
33046 invoke-virtual {v9}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
33048 move-result-object v9
33050 invoke-virtual {p2, v9}, Ljava/io/PrintWriter;->println(Ljava/lang/String;)V
33052 invoke-virtual {p2}, Ljava/io/PrintWriter;->flush()V
33057 .method public dumpHeap(Ljava/lang/String;IZLjava/lang/String;Landroid/os/ParcelFileDescriptor;)Z
33059 .annotation system Ldalvik/annotation/Throws;
33061 Landroid/os/RemoteException;
33068 .catchall {:try_start_0 .. :try_end_1} :catchall_1d
33069 .catch Landroid/os/RemoteException; {:try_start_0 .. :try_end_1} :catch_14
33072 const-string v3, "android.permission.SET_ACTIVITY_WATCHER"
33074 invoke-virtual {p0, v3}, Lcom/android/server/am/ActivityManagerService;->checkCallingPermission(Ljava/lang/String;)I
33078 if-eqz v3, :cond_24
33080 new-instance v3, Ljava/lang/SecurityException;
33082 const-string v4, "Requires permission android.permission.SET_ACTIVITY_WATCHER"
33084 invoke-direct {v3, v4}, Ljava/lang/SecurityException;-><init>(Ljava/lang/String;)V
33093 .catchall {:try_start_1 .. :try_end_13} :catchall_11
33098 .catchall {:try_start_13 .. :try_end_14} :catchall_1d
33099 .catch Landroid/os/RemoteException; {:try_start_13 .. :try_end_14} :catch_14
33105 new-instance v3, Ljava/lang/IllegalStateException;
33107 const-string v4, "Process disappeared"
33109 invoke-direct {v3, v4}, Ljava/lang/IllegalStateException;-><init>(Ljava/lang/String;)V
33113 .catchall {:try_start_15 .. :try_end_1d} :catchall_1d
33118 if-eqz p5, :cond_23
33121 invoke-virtual {p5}, Landroid/os/ParcelFileDescriptor;->close()V
33123 .catch Ljava/io/IOException; {:try_start_20 .. :try_end_23} :catch_92
33130 if-nez p5, :cond_2e
33133 new-instance v3, Ljava/lang/IllegalArgumentException;
33135 const-string v4, "null fd"
33137 invoke-direct {v3, v4}, Ljava/lang/IllegalArgumentException;-><init>(Ljava/lang/String;)V
33142 const-string v3, "dumpHeap"
33144 invoke-direct {p0, p1, p2, v3}, Lcom/android/server/am/ActivityManagerService;->findProcessLocked(Ljava/lang/String;ILjava/lang/String;)Lcom/android/server/am/ProcessRecord;
33146 move-result-object v2
33148 if-eqz v2, :cond_3a
33150 iget-object v3, v2, Lcom/android/server/am/ProcessRecord;->thread:Landroid/app/IApplicationThread;
33152 if-nez v3, :cond_53
33155 new-instance v3, Ljava/lang/IllegalArgumentException;
33157 new-instance v4, Ljava/lang/StringBuilder;
33159 invoke-direct {v4}, Ljava/lang/StringBuilder;-><init>()V
33161 const-string v5, "Unknown process: "
33163 invoke-virtual {v4, v5}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
33165 move-result-object v4
33167 invoke-virtual {v4, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
33169 move-result-object v4
33171 invoke-virtual {v4}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
33173 move-result-object v4
33175 invoke-direct {v3, v4}, Ljava/lang/IllegalArgumentException;-><init>(Ljava/lang/String;)V
33180 const-string v3, "1"
33182 const-string v4, "ro.debuggable"
33184 const-string v5, "0"
33186 invoke-static {v4, v5}, Landroid/os/SystemProperties;->get(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
33188 move-result-object v4
33190 invoke-virtual {v3, v4}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
33194 if-nez v1, :cond_84
33196 iget-object v3, v2, Lcom/android/server/am/ProcessRecord;->info:Landroid/content/pm/ApplicationInfo;
33198 iget v3, v3, Landroid/content/pm/ApplicationInfo;->flags:I
33200 and-int/lit8 v3, v3, 0x2
33202 if-nez v3, :cond_84
33204 new-instance v3, Ljava/lang/SecurityException;
33206 new-instance v4, Ljava/lang/StringBuilder;
33208 invoke-direct {v4}, Ljava/lang/StringBuilder;-><init>()V
33210 const-string v5, "Process not debuggable: "
33212 invoke-virtual {v4, v5}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
33214 move-result-object v4
33216 invoke-virtual {v4, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
33218 move-result-object v4
33220 invoke-virtual {v4}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
33222 move-result-object v4
33224 invoke-direct {v3, v4}, Ljava/lang/SecurityException;-><init>(Ljava/lang/String;)V
33229 iget-object v3, v2, Lcom/android/server/am/ProcessRecord;->thread:Landroid/app/IApplicationThread;
33231 invoke-interface {v3, p3, p4, p5}, Landroid/app/IApplicationThread;->dumpHeap(ZLjava/lang/String;Landroid/os/ParcelFileDescriptor;)V
33239 .catchall {:try_start_26 .. :try_end_8c} :catchall_11
33241 if-eqz p5, :cond_91
33244 invoke-virtual {p5}, Landroid/os/ParcelFileDescriptor;->close()V
33246 .catch Ljava/io/IOException; {:try_start_8e .. :try_end_91} :catch_94
33263 .method dumpOomLocked(Ljava/io/FileDescriptor;Ljava/io/PrintWriter;[Ljava/lang/String;IZ)Z
33268 iget-object v0, p0, Lcom/android/server/am/ActivityManagerService;->mLruProcesses:Ljava/util/ArrayList;
33270 invoke-virtual {v0}, Ljava/util/ArrayList;->size()I
33274 if-lez v0, :cond_ad
33276 if-eqz v5, :cond_10
33278 const-string v0, " "
33280 invoke-virtual {p2, v0}, Ljava/io/PrintWriter;->println(Ljava/lang/String;)V
33285 const-string v0, " OOM levels:"
33287 invoke-virtual {p2, v0}, Ljava/io/PrintWriter;->println(Ljava/lang/String;)V
33289 const-string v0, " SYSTEM_ADJ: "
33291 invoke-virtual {p2, v0}, Ljava/io/PrintWriter;->print(Ljava/lang/String;)V
33295 invoke-virtual {p2, v0}, Ljava/io/PrintWriter;->println(I)V
33297 const-string v0, " PERSISTENT_PROC_ADJ: "
33299 invoke-virtual {p2, v0}, Ljava/io/PrintWriter;->print(Ljava/lang/String;)V
33303 invoke-virtual {p2, v0}, Ljava/io/PrintWriter;->println(I)V
33305 const-string v0, " FOREGROUND_APP_ADJ: "
33307 invoke-virtual {p2, v0}, Ljava/io/PrintWriter;->print(Ljava/lang/String;)V
33311 invoke-virtual {p2, v0}, Ljava/io/PrintWriter;->println(I)V
33313 const-string v0, " VISIBLE_APP_ADJ: "
33315 invoke-virtual {p2, v0}, Ljava/io/PrintWriter;->print(Ljava/lang/String;)V
33319 invoke-virtual {p2, v0}, Ljava/io/PrintWriter;->println(I)V
33321 const-string v0, " PERCEPTIBLE_APP_ADJ: "
33323 invoke-virtual {p2, v0}, Ljava/io/PrintWriter;->print(Ljava/lang/String;)V
33327 invoke-virtual {p2, v0}, Ljava/io/PrintWriter;->println(I)V
33329 const-string v0, " HEAVY_WEIGHT_APP_ADJ: "
33331 invoke-virtual {p2, v0}, Ljava/io/PrintWriter;->print(Ljava/lang/String;)V
33335 invoke-virtual {p2, v0}, Ljava/io/PrintWriter;->println(I)V
33337 const-string v0, " BACKUP_APP_ADJ: "
33339 invoke-virtual {p2, v0}, Ljava/io/PrintWriter;->print(Ljava/lang/String;)V
33343 invoke-virtual {p2, v0}, Ljava/io/PrintWriter;->println(I)V
33345 const-string v0, " SERVICE_ADJ: "
33347 invoke-virtual {p2, v0}, Ljava/io/PrintWriter;->print(Ljava/lang/String;)V
33351 invoke-virtual {p2, v0}, Ljava/io/PrintWriter;->println(I)V
33353 const-string v0, " HOME_APP_ADJ: "
33355 invoke-virtual {p2, v0}, Ljava/io/PrintWriter;->print(Ljava/lang/String;)V
33359 invoke-virtual {p2, v0}, Ljava/io/PrintWriter;->println(I)V
33361 const-string v0, " PREVIOUS_APP_ADJ: "
33363 invoke-virtual {p2, v0}, Ljava/io/PrintWriter;->print(Ljava/lang/String;)V
33367 invoke-virtual {p2, v0}, Ljava/io/PrintWriter;->println(I)V
33369 const-string v0, " SERVICE_B_ADJ: "
33371 invoke-virtual {p2, v0}, Ljava/io/PrintWriter;->print(Ljava/lang/String;)V
33375 invoke-virtual {p2, v0}, Ljava/io/PrintWriter;->println(I)V
33377 const-string v0, " HIDDEN_APP_MIN_ADJ: "
33379 invoke-virtual {p2, v0}, Ljava/io/PrintWriter;->print(Ljava/lang/String;)V
33381 sget v0, Lcom/android/server/am/ProcessList;->HIDDEN_APP_MIN_ADJ:I
33383 invoke-virtual {p2, v0}, Ljava/io/PrintWriter;->println(I)V
33385 const-string v0, " HIDDEN_APP_MAX_ADJ: "
33387 invoke-virtual {p2, v0}, Ljava/io/PrintWriter;->print(Ljava/lang/String;)V
33391 invoke-virtual {p2, v0}, Ljava/io/PrintWriter;->println(I)V
33393 if-eqz v5, :cond_97
33395 const-string v0, " "
33397 invoke-virtual {p2, v0}, Ljava/io/PrintWriter;->println(Ljava/lang/String;)V
33402 const-string v0, " Process OOM control:"
33404 invoke-virtual {p2, v0}, Ljava/io/PrintWriter;->println(Ljava/lang/String;)V
33406 iget-object v2, p0, Lcom/android/server/am/ActivityManagerService;->mLruProcesses:Ljava/util/ArrayList;
33408 const-string v3, " "
33410 const-string v4, "Proc"
33412 const-string v5, "PERS"
33422 invoke-static/range {v0 .. v7}, Lcom/android/server/am/ActivityManagerService;->dumpProcessOomList(Ljava/io/PrintWriter;Lcom/android/server/am/ActivityManagerService;Ljava/util/List;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;ZLjava/lang/String;)Z
33441 invoke-virtual/range {v0 .. v7}, Lcom/android/server/am/ActivityManagerService;->dumpProcessesToGc(Ljava/io/FileDescriptor;Ljava/io/PrintWriter;[Ljava/lang/String;IZZLjava/lang/String;)Z
33445 invoke-virtual {p2}, Ljava/io/PrintWriter;->println()V
33447 new-instance v0, Ljava/lang/StringBuilder;
33449 invoke-direct {v0}, Ljava/lang/StringBuilder;-><init>()V
33451 const-string v1, " mHomeProcess: "
33453 invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
33455 move-result-object v0
33457 iget-object v1, p0, Lcom/android/server/am/ActivityManagerService;->mHomeProcess:Lcom/android/server/am/ProcessRecord;
33459 invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
33461 move-result-object v0
33463 invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
33465 move-result-object v0
33467 invoke-virtual {p2, v0}, Ljava/io/PrintWriter;->println(Ljava/lang/String;)V
33469 new-instance v0, Ljava/lang/StringBuilder;
33471 invoke-direct {v0}, Ljava/lang/StringBuilder;-><init>()V
33473 const-string v1, " mPreviousProcess: "
33475 invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
33477 move-result-object v0
33479 iget-object v1, p0, Lcom/android/server/am/ActivityManagerService;->mPreviousProcess:Lcom/android/server/am/ProcessRecord;
33481 invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
33483 move-result-object v0
33485 invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
33487 move-result-object v0
33489 invoke-virtual {p2, v0}, Ljava/io/PrintWriter;->println(Ljava/lang/String;)V
33491 iget-object v0, p0, Lcom/android/server/am/ActivityManagerService;->mHeavyWeightProcess:Lcom/android/server/am/ProcessRecord;
33493 if-eqz v0, :cond_107
33495 new-instance v0, Ljava/lang/StringBuilder;
33497 invoke-direct {v0}, Ljava/lang/StringBuilder;-><init>()V
33499 const-string v1, " mHeavyWeightProcess: "
33501 invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
33503 move-result-object v0
33505 iget-object v1, p0, Lcom/android/server/am/ActivityManagerService;->mHeavyWeightProcess:Lcom/android/server/am/ProcessRecord;
33507 invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
33509 move-result-object v0
33511 invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
33513 move-result-object v0
33515 invoke-virtual {p2, v0}, Ljava/io/PrintWriter;->println(Ljava/lang/String;)V
33523 .method dumpPendingIntentsLocked(Ljava/io/FileDescriptor;Ljava/io/PrintWriter;[Ljava/lang/String;IZLjava/lang/String;)Z
33528 iget-object v5, p0, Lcom/android/server/am/ActivityManagerService;->mIntentSenderRecords:Ljava/util/HashMap;
33530 invoke-virtual {v5}, Ljava/util/HashMap;->size()I
33534 if-lez v5, :cond_5d
33538 iget-object v5, p0, Lcom/android/server/am/ActivityManagerService;->mIntentSenderRecords:Ljava/util/HashMap;
33540 invoke-virtual {v5}, Ljava/util/HashMap;->values()Ljava/util/Collection;
33542 move-result-object v5
33544 invoke-interface {v5}, Ljava/util/Collection;->iterator()Ljava/util/Iterator;
33546 move-result-object v0
33550 invoke-interface {v0}, Ljava/util/Iterator;->hasNext()Z
33554 if-eqz v5, :cond_5d
33556 invoke-interface {v0}, Ljava/util/Iterator;->next()Ljava/lang/Object;
33558 move-result-object v4
33560 check-cast v4, Ljava/lang/ref/WeakReference;
33562 if-eqz v4, :cond_52
33564 invoke-virtual {v4}, Ljava/lang/ref/WeakReference;->get()Ljava/lang/Object;
33566 move-result-object v5
33568 check-cast v5, Lcom/android/server/am/PendingIntentRecord;
33573 if-eqz p6, :cond_37
33575 if-eqz v3, :cond_14
33577 iget-object v5, v3, Lcom/android/server/am/PendingIntentRecord;->key:Lcom/android/server/am/PendingIntentRecord$Key;
33579 iget-object v5, v5, Lcom/android/server/am/PendingIntentRecord$Key;->packageName:Ljava/lang/String;
33581 invoke-virtual {p6, v5}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
33585 if-eqz v5, :cond_14
33588 if-nez v2, :cond_3f
33590 const-string v5, "ACTIVITY MANAGER PENDING INTENTS (dumpsys activity intents)"
33592 invoke-virtual {p2, v5}, Ljava/io/PrintWriter;->println(Ljava/lang/String;)V
33599 if-eqz v3, :cond_54
33601 const-string v5, " * "
33603 invoke-virtual {p2, v5}, Ljava/io/PrintWriter;->print(Ljava/lang/String;)V
33605 invoke-virtual {p2, v3}, Ljava/io/PrintWriter;->println(Ljava/lang/Object;)V
33607 if-eqz p5, :cond_14
33609 const-string v5, " "
33611 invoke-virtual {v3, p2, v5}, Lcom/android/server/am/PendingIntentRecord;->dump(Ljava/io/PrintWriter;Ljava/lang/String;)V
33621 const-string v5, " * "
33623 invoke-virtual {p2, v5}, Ljava/io/PrintWriter;->print(Ljava/lang/String;)V
33625 invoke-virtual {p2, v4}, Ljava/io/PrintWriter;->println(Ljava/lang/Object;)V
33633 .method dumpProcessesLocked(Ljava/io/FileDescriptor;Ljava/io/PrintWriter;[Ljava/lang/String;IZLjava/lang/String;)Z
33640 const-string v2, "ACTIVITY MANAGER RUNNING PROCESSES (dumpsys activity processes)"
33642 move-object/from16 v0, p2
33644 invoke-virtual {v0, v2}, Ljava/io/PrintWriter;->println(Ljava/lang/String;)V
33646 if-eqz p5, :cond_96
33648 move-object/from16 v0, p0
33650 iget-object v2, v0, Lcom/android/server/am/ActivityManagerService;->mProcessNames:Lcom/android/server/ProcessMap;
33652 invoke-virtual {v2}, Lcom/android/server/ProcessMap;->getMap()Ljava/util/HashMap;
33654 move-result-object v2
33656 invoke-virtual {v2}, Ljava/util/HashMap;->values()Ljava/util/Collection;
33658 move-result-object v2
33660 invoke-interface {v2}, Ljava/util/Collection;->iterator()Ljava/util/Iterator;
33662 move-result-object v14
33665 invoke-interface {v14}, Ljava/util/Iterator;->hasNext()Z
33669 if-eqz v2, :cond_96
33671 invoke-interface {v14}, Ljava/util/Iterator;->next()Ljava/lang/Object;
33673 move-result-object v24
33675 check-cast v24, Landroid/util/SparseArray;
33677 invoke-virtual/range {v24 .. v24}, Landroid/util/SparseArray;->size()I
33684 if-ge v15, v11, :cond_1c
33686 move-object/from16 v0, v24
33688 invoke-virtual {v0, v15}, Landroid/util/SparseArray;->valueAt(I)Ljava/lang/Object;
33690 move-result-object v27
33692 check-cast v27, Lcom/android/server/am/ProcessRecord;
33694 if-eqz p6, :cond_4a
33696 move-object/from16 v0, v27
33698 iget-object v2, v0, Lcom/android/server/am/ProcessRecord;->info:Landroid/content/pm/ApplicationInfo;
33700 iget-object v2, v2, Landroid/content/pm/ApplicationInfo;->packageName:Ljava/lang/String;
33702 move-object/from16 v0, p6
33704 invoke-virtual {v0, v2}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
33708 if-nez v2, :cond_4a
33712 add-int/lit8 v15, v15, 0x1
33717 if-nez v7, :cond_54
33719 const-string v2, " All known processes:"
33721 move-object/from16 v0, p2
33723 invoke-virtual {v0, v2}, Ljava/io/PrintWriter;->println(Ljava/lang/String;)V
33728 move-object/from16 v0, v27
33730 iget-boolean v2, v0, Lcom/android/server/am/ProcessRecord;->persistent:Z
33732 if-eqz v2, :cond_93
33734 const-string v2, " *PERS*"
33737 move-object/from16 v0, p2
33739 invoke-virtual {v0, v2}, Ljava/io/PrintWriter;->print(Ljava/lang/String;)V
33741 const-string v2, " UID "
33743 move-object/from16 v0, p2
33745 invoke-virtual {v0, v2}, Ljava/io/PrintWriter;->print(Ljava/lang/String;)V
33747 move-object/from16 v0, v24
33749 invoke-virtual {v0, v15}, Landroid/util/SparseArray;->keyAt(I)I
33753 move-object/from16 v0, p2
33755 invoke-virtual {v0, v2}, Ljava/io/PrintWriter;->print(I)V
33757 const-string v2, " "
33759 move-object/from16 v0, p2
33761 invoke-virtual {v0, v2}, Ljava/io/PrintWriter;->print(Ljava/lang/String;)V
33763 move-object/from16 v0, p2
33765 move-object/from16 v1, v27
33767 invoke-virtual {v0, v1}, Ljava/io/PrintWriter;->println(Ljava/lang/Object;)V
33769 const-string v2, " "
33771 move-object/from16 v0, v27
33773 move-object/from16 v1, p2
33775 invoke-virtual {v0, v1, v2}, Lcom/android/server/am/ProcessRecord;->dump(Ljava/io/PrintWriter;Ljava/lang/String;)V
33777 move-object/from16 v0, v27
33779 iget-boolean v2, v0, Lcom/android/server/am/ProcessRecord;->persistent:Z
33781 if-eqz v2, :cond_47
33783 add-int/lit8 v20, v20, 0x1
33788 const-string v2, " *APP*"
33793 move-object/from16 v0, p0
33795 iget-object v2, v0, Lcom/android/server/am/ActivityManagerService;->mIsolatedProcesses:Landroid/util/SparseArray;
33797 invoke-virtual {v2}, Landroid/util/SparseArray;->size()I
33801 if-lez v2, :cond_fb
33803 if-eqz v7, :cond_a9
33805 const-string v2, " "
33807 move-object/from16 v0, p2
33809 invoke-virtual {v0, v2}, Ljava/io/PrintWriter;->println(Ljava/lang/String;)V
33814 const-string v2, " Isolated process list (sorted by uid):"
33816 move-object/from16 v0, p2
33818 invoke-virtual {v0, v2}, Ljava/io/PrintWriter;->println(Ljava/lang/String;)V
33823 move-object/from16 v0, p0
33825 iget-object v2, v0, Lcom/android/server/am/ActivityManagerService;->mIsolatedProcesses:Landroid/util/SparseArray;
33827 invoke-virtual {v2}, Landroid/util/SparseArray;->size()I
33831 if-ge v13, v2, :cond_fb
33833 move-object/from16 v0, p0
33835 iget-object v2, v0, Lcom/android/server/am/ActivityManagerService;->mIsolatedProcesses:Landroid/util/SparseArray;
33837 invoke-virtual {v2, v13}, Landroid/util/SparseArray;->valueAt(I)Ljava/lang/Object;
33839 move-result-object v27
33841 check-cast v27, Lcom/android/server/am/ProcessRecord;
33843 if-eqz p6, :cond_d9
33845 move-object/from16 v0, v27
33847 iget-object v2, v0, Lcom/android/server/am/ProcessRecord;->info:Landroid/content/pm/ApplicationInfo;
33849 iget-object v2, v2, Landroid/content/pm/ApplicationInfo;->packageName:Ljava/lang/String;
33851 move-object/from16 v0, p6
33853 invoke-virtual {v0, v2}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
33857 if-nez v2, :cond_d9
33860 add-int/lit8 v13, v13, 0x1
33865 const-string v2, "%sIsolated #%2d: %s"
33869 new-array v3, v3, [Ljava/lang/Object;
33873 const-string v5, " "
33875 aput-object v5, v3, v4
33879 invoke-static {v13}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
33881 move-result-object v5
33883 aput-object v5, v3, v4
33887 invoke-virtual/range {v27 .. v27}, Lcom/android/server/am/ProcessRecord;->toString()Ljava/lang/String;
33889 move-result-object v5
33891 aput-object v5, v3, v4
33893 invoke-static {v2, v3}, Ljava/lang/String;->format(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
33895 move-result-object v2
33897 move-object/from16 v0, p2
33899 invoke-virtual {v0, v2}, Ljava/io/PrintWriter;->println(Ljava/lang/String;)V
33904 move-object/from16 v0, p0
33906 iget-object v2, v0, Lcom/android/server/am/ActivityManagerService;->mLruProcesses:Ljava/util/ArrayList;
33908 invoke-virtual {v2}, Ljava/util/ArrayList;->size()I
33912 if-lez v2, :cond_12b
33914 if-eqz v7, :cond_10e
33916 const-string v2, " "
33918 move-object/from16 v0, p2
33920 invoke-virtual {v0, v2}, Ljava/io/PrintWriter;->println(Ljava/lang/String;)V
33925 const-string v2, " Process LRU list (sorted by oom_adj):"
33927 move-object/from16 v0, p2
33929 invoke-virtual {v0, v2}, Ljava/io/PrintWriter;->println(Ljava/lang/String;)V
33931 move-object/from16 v0, p0
33933 iget-object v4, v0, Lcom/android/server/am/ActivityManagerService;->mLruProcesses:Ljava/util/ArrayList;
33935 const-string v5, " "
33937 const-string v6, "Proc"
33939 const-string v7, "PERS"
33943 move-object/from16 v2, p2
33945 move-object/from16 v3, p0
33947 move-object/from16 v9, p6
33949 invoke-static/range {v2 .. v9}, Lcom/android/server/am/ActivityManagerService;->dumpProcessOomList(Ljava/io/PrintWriter;Lcom/android/server/am/ActivityManagerService;Ljava/util/List;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;ZLjava/lang/String;)Z
33954 if-eqz p5, :cond_19e
33956 move-object/from16 v0, p0
33958 iget-object v3, v0, Lcom/android/server/am/ActivityManagerService;->mPidsSelfLocked:Landroid/util/SparseArray;
33968 move-object/from16 v0, p0
33970 iget-object v2, v0, Lcom/android/server/am/ActivityManagerService;->mPidsSelfLocked:Landroid/util/SparseArray;
33972 invoke-virtual {v2}, Landroid/util/SparseArray;->size()I
33976 if-ge v13, v2, :cond_19d
33978 move-object/from16 v0, p0
33980 iget-object v2, v0, Lcom/android/server/am/ActivityManagerService;->mPidsSelfLocked:Landroid/util/SparseArray;
33982 invoke-virtual {v2, v13}, Landroid/util/SparseArray;->valueAt(I)Ljava/lang/Object;
33984 move-result-object v27
33986 check-cast v27, Lcom/android/server/am/ProcessRecord;
33988 if-eqz p6, :cond_15c
33990 move-object/from16 v0, v27
33992 iget-object v2, v0, Lcom/android/server/am/ProcessRecord;->info:Landroid/content/pm/ApplicationInfo;
33994 iget-object v2, v2, Landroid/content/pm/ApplicationInfo;->packageName:Ljava/lang/String;
33996 move-object/from16 v0, p6
33998 invoke-virtual {v0, v2}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
34002 if-nez v2, :cond_15c
34005 add-int/lit8 v13, v13, 0x1
34010 if-nez v23, :cond_171
34012 if-eqz v7, :cond_167
34014 const-string v2, " "
34016 move-object/from16 v0, p2
34018 invoke-virtual {v0, v2}, Ljava/io/PrintWriter;->println(Ljava/lang/String;)V
34023 const-string v2, " PID mappings:"
34025 move-object/from16 v0, p2
34027 invoke-virtual {v0, v2}, Ljava/io/PrintWriter;->println(Ljava/lang/String;)V
34032 const-string v2, " PID #"
34034 move-object/from16 v0, p2
34036 invoke-virtual {v0, v2}, Ljava/io/PrintWriter;->print(Ljava/lang/String;)V
34038 move-object/from16 v0, p0
34040 iget-object v2, v0, Lcom/android/server/am/ActivityManagerService;->mPidsSelfLocked:Landroid/util/SparseArray;
34042 invoke-virtual {v2, v13}, Landroid/util/SparseArray;->keyAt(I)I
34046 move-object/from16 v0, p2
34048 invoke-virtual {v0, v2}, Ljava/io/PrintWriter;->print(I)V
34050 const-string v2, ": "
34052 move-object/from16 v0, p2
34054 invoke-virtual {v0, v2}, Ljava/io/PrintWriter;->print(Ljava/lang/String;)V
34056 move-object/from16 v0, p0
34058 iget-object v2, v0, Lcom/android/server/am/ActivityManagerService;->mPidsSelfLocked:Landroid/util/SparseArray;
34060 invoke-virtual {v2, v13}, Landroid/util/SparseArray;->valueAt(I)Ljava/lang/Object;
34062 move-result-object v2
34064 move-object/from16 v0, p2
34066 invoke-virtual {v0, v2}, Ljava/io/PrintWriter;->println(Ljava/lang/Object;)V
34075 .catchall {:try_start_135 .. :try_end_19c} :catchall_19a
34083 .catchall {:try_start_19d .. :try_end_19e} :catchall_19a
34086 move-object/from16 v0, p0
34088 iget-object v2, v0, Lcom/android/server/am/ActivityManagerService;->mForegroundProcesses:Landroid/util/SparseArray;
34090 invoke-virtual {v2}, Landroid/util/SparseArray;->size()I
34094 if-lez v2, :cond_227
34096 move-object/from16 v0, p0
34098 iget-object v3, v0, Lcom/android/server/am/ActivityManagerService;->mPidsSelfLocked:Landroid/util/SparseArray;
34108 move-object/from16 v0, p0
34110 iget-object v2, v0, Lcom/android/server/am/ActivityManagerService;->mForegroundProcesses:Landroid/util/SparseArray;
34112 invoke-virtual {v2}, Landroid/util/SparseArray;->size()I
34116 if-ge v13, v2, :cond_226
34118 move-object/from16 v0, p0
34120 iget-object v4, v0, Lcom/android/server/am/ActivityManagerService;->mPidsSelfLocked:Landroid/util/SparseArray;
34122 move-object/from16 v0, p0
34124 iget-object v2, v0, Lcom/android/server/am/ActivityManagerService;->mForegroundProcesses:Landroid/util/SparseArray;
34126 invoke-virtual {v2, v13}, Landroid/util/SparseArray;->valueAt(I)Ljava/lang/Object;
34128 move-result-object v2
34130 check-cast v2, Lcom/android/server/am/ActivityManagerService$ForegroundToken;
34132 iget v2, v2, Lcom/android/server/am/ActivityManagerService$ForegroundToken;->pid:I
34134 invoke-virtual {v4, v2}, Landroid/util/SparseArray;->get(I)Ljava/lang/Object;
34136 move-result-object v27
34138 check-cast v27, Lcom/android/server/am/ProcessRecord;
34140 if-eqz p6, :cond_1e5
34142 if-eqz v27, :cond_1e2
34144 move-object/from16 v0, v27
34146 iget-object v2, v0, Lcom/android/server/am/ProcessRecord;->info:Landroid/content/pm/ApplicationInfo;
34148 iget-object v2, v2, Landroid/content/pm/ApplicationInfo;->packageName:Ljava/lang/String;
34150 move-object/from16 v0, p6
34152 invoke-virtual {v0, v2}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
34156 if-nez v2, :cond_1e5
34160 add-int/lit8 v13, v13, 0x1
34165 if-nez v23, :cond_1fa
34167 if-eqz v7, :cond_1f0
34169 const-string v2, " "
34171 move-object/from16 v0, p2
34173 invoke-virtual {v0, v2}, Ljava/io/PrintWriter;->println(Ljava/lang/String;)V
34178 const-string v2, " Foreground Processes:"
34180 move-object/from16 v0, p2
34182 invoke-virtual {v0, v2}, Ljava/io/PrintWriter;->println(Ljava/lang/String;)V
34187 const-string v2, " PID #"
34189 move-object/from16 v0, p2
34191 invoke-virtual {v0, v2}, Ljava/io/PrintWriter;->print(Ljava/lang/String;)V
34193 move-object/from16 v0, p0
34195 iget-object v2, v0, Lcom/android/server/am/ActivityManagerService;->mForegroundProcesses:Landroid/util/SparseArray;
34197 invoke-virtual {v2, v13}, Landroid/util/SparseArray;->keyAt(I)I
34201 move-object/from16 v0, p2
34203 invoke-virtual {v0, v2}, Ljava/io/PrintWriter;->print(I)V
34205 const-string v2, ": "
34207 move-object/from16 v0, p2
34209 invoke-virtual {v0, v2}, Ljava/io/PrintWriter;->print(Ljava/lang/String;)V
34211 move-object/from16 v0, p0
34213 iget-object v2, v0, Lcom/android/server/am/ActivityManagerService;->mForegroundProcesses:Landroid/util/SparseArray;
34215 invoke-virtual {v2, v13}, Landroid/util/SparseArray;->valueAt(I)Ljava/lang/Object;
34217 move-result-object v2
34219 move-object/from16 v0, p2
34221 invoke-virtual {v0, v2}, Ljava/io/PrintWriter;->println(Ljava/lang/Object;)V
34230 .catchall {:try_start_1b0 .. :try_end_225} :catchall_223
34238 .catchall {:try_start_226 .. :try_end_227} :catchall_223
34241 move-object/from16 v0, p0
34243 iget-object v2, v0, Lcom/android/server/am/ActivityManagerService;->mPersistentStartingProcesses:Ljava/util/ArrayList;
34245 invoke-virtual {v2}, Ljava/util/ArrayList;->size()I
34249 if-lez v2, :cond_258
34251 if-eqz v7, :cond_23a
34253 const-string v2, " "
34255 move-object/from16 v0, p2
34257 invoke-virtual {v0, v2}, Ljava/io/PrintWriter;->println(Ljava/lang/String;)V
34262 const-string v2, " Persisent processes that are starting:"
34264 move-object/from16 v0, p2
34266 invoke-virtual {v0, v2}, Ljava/io/PrintWriter;->println(Ljava/lang/String;)V
34268 move-object/from16 v0, p0
34270 iget-object v4, v0, Lcom/android/server/am/ActivityManagerService;->mPersistentStartingProcesses:Ljava/util/ArrayList;
34272 const-string v5, " "
34274 const-string v6, "Starting Norm"
34276 const-string v7, "Restarting PERS"
34278 move-object/from16 v2, p2
34280 move-object/from16 v3, p0
34282 move-object/from16 v8, p6
34284 invoke-static/range {v2 .. v8}, Lcom/android/server/am/ActivityManagerService;->dumpProcessList(Ljava/io/PrintWriter;Lcom/android/server/am/ActivityManagerService;Ljava/util/List;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)I
34286 move/from16 v7, v17
34289 move-object/from16 v0, p0
34291 iget-object v2, v0, Lcom/android/server/am/ActivityManagerService;->mRemovedProcesses:Ljava/util/ArrayList;
34293 invoke-virtual {v2}, Ljava/util/ArrayList;->size()I
34297 if-lez v2, :cond_289
34299 if-eqz v7, :cond_26b
34301 const-string v2, " "
34303 move-object/from16 v0, p2
34305 invoke-virtual {v0, v2}, Ljava/io/PrintWriter;->println(Ljava/lang/String;)V
34310 const-string v2, " Processes that are being removed:"
34312 move-object/from16 v0, p2
34314 invoke-virtual {v0, v2}, Ljava/io/PrintWriter;->println(Ljava/lang/String;)V
34316 move-object/from16 v0, p0
34318 iget-object v4, v0, Lcom/android/server/am/ActivityManagerService;->mRemovedProcesses:Ljava/util/ArrayList;
34320 const-string v5, " "
34322 const-string v6, "Removed Norm"
34324 const-string v7, "Removed PERS"
34326 move-object/from16 v2, p2
34328 move-object/from16 v3, p0
34330 move-object/from16 v8, p6
34332 invoke-static/range {v2 .. v8}, Lcom/android/server/am/ActivityManagerService;->dumpProcessList(Ljava/io/PrintWriter;Lcom/android/server/am/ActivityManagerService;Ljava/util/List;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)I
34334 move/from16 v7, v17
34337 move-object/from16 v0, p0
34339 iget-object v2, v0, Lcom/android/server/am/ActivityManagerService;->mProcessesOnHold:Ljava/util/ArrayList;
34341 invoke-virtual {v2}, Ljava/util/ArrayList;->size()I
34345 if-lez v2, :cond_2ba
34347 if-eqz v7, :cond_29c
34349 const-string v2, " "
34351 move-object/from16 v0, p2
34353 invoke-virtual {v0, v2}, Ljava/io/PrintWriter;->println(Ljava/lang/String;)V
34358 const-string v2, " Processes that are on old until the system is ready:"
34360 move-object/from16 v0, p2
34362 invoke-virtual {v0, v2}, Ljava/io/PrintWriter;->println(Ljava/lang/String;)V
34364 move-object/from16 v0, p0
34366 iget-object v4, v0, Lcom/android/server/am/ActivityManagerService;->mProcessesOnHold:Ljava/util/ArrayList;
34368 const-string v5, " "
34370 const-string v6, "OnHold Norm"
34372 const-string v7, "OnHold PERS"
34374 move-object/from16 v2, p2
34376 move-object/from16 v3, p0
34378 move-object/from16 v8, p6
34380 invoke-static/range {v2 .. v8}, Lcom/android/server/am/ActivityManagerService;->dumpProcessList(Ljava/io/PrintWriter;Lcom/android/server/am/ActivityManagerService;Ljava/util/List;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)I
34382 move/from16 v7, v17
34385 move-object/from16 v2, p0
34387 move-object/from16 v3, p1
34389 move-object/from16 v4, p2
34391 move-object/from16 v5, p3
34397 move-object/from16 v9, p6
34399 invoke-virtual/range {v2 .. v9}, Lcom/android/server/am/ActivityManagerService;->dumpProcessesToGc(Ljava/io/FileDescriptor;Ljava/io/PrintWriter;[Ljava/lang/String;IZZLjava/lang/String;)Z
34403 move-object/from16 v0, p0
34405 iget-object v2, v0, Lcom/android/server/am/ActivityManagerService;->mProcessCrashTimes:Lcom/android/server/ProcessMap;
34407 invoke-virtual {v2}, Lcom/android/server/ProcessMap;->getMap()Ljava/util/HashMap;
34409 move-result-object v2
34411 invoke-virtual {v2}, Ljava/util/HashMap;->size()I
34415 if-lez v2, :cond_38b
34419 invoke-static {}, Landroid/os/SystemClock;->uptimeMillis()J
34421 move-result-wide v18
34423 move-object/from16 v0, p0
34425 iget-object v2, v0, Lcom/android/server/am/ActivityManagerService;->mProcessCrashTimes:Lcom/android/server/ProcessMap;
34427 invoke-virtual {v2}, Lcom/android/server/ProcessMap;->getMap()Ljava/util/HashMap;
34429 move-result-object v2
34431 invoke-virtual {v2}, Ljava/util/HashMap;->entrySet()Ljava/util/Set;
34433 move-result-object v2
34435 invoke-interface {v2}, Ljava/util/Set;->iterator()Ljava/util/Iterator;
34437 move-result-object v14
34440 invoke-interface {v14}, Ljava/util/Iterator;->hasNext()Z
34444 if-eqz v2, :cond_38b
34446 invoke-interface {v14}, Ljava/util/Iterator;->next()Ljava/lang/Object;
34448 move-result-object v25
34450 check-cast v25, Ljava/util/Map$Entry;
34452 invoke-interface/range {v25 .. v25}, Ljava/util/Map$Entry;->getKey()Ljava/lang/Object;
34454 move-result-object v22
34456 check-cast v22, Ljava/lang/String;
34458 invoke-interface/range {v25 .. v25}, Ljava/util/Map$Entry;->getValue()Ljava/lang/Object;
34460 move-result-object v29
34462 check-cast v29, Landroid/util/SparseArray;
34464 invoke-virtual/range {v29 .. v29}, Landroid/util/SparseArray;->size()I
34471 if-ge v13, v10, :cond_2f0
34473 move-object/from16 v0, v29
34475 invoke-virtual {v0, v13}, Landroid/util/SparseArray;->keyAt(I)I
34479 move-object/from16 v0, p0
34481 iget-object v2, v0, Lcom/android/server/am/ActivityManagerService;->mProcessNames:Lcom/android/server/ProcessMap;
34483 move-object/from16 v0, v22
34485 move/from16 v1, v26
34487 invoke-virtual {v2, v0, v1}, Lcom/android/server/ProcessMap;->get(Ljava/lang/String;I)Ljava/lang/Object;
34489 move-result-object v27
34491 check-cast v27, Lcom/android/server/am/ProcessRecord;
34493 if-eqz p6, :cond_338
34495 if-eqz v27, :cond_335
34497 move-object/from16 v0, v27
34499 iget-object v2, v0, Lcom/android/server/am/ProcessRecord;->info:Landroid/content/pm/ApplicationInfo;
34501 iget-object v2, v2, Landroid/content/pm/ApplicationInfo;->packageName:Ljava/lang/String;
34503 move-object/from16 v0, p6
34505 invoke-virtual {v0, v2}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
34509 if-nez v2, :cond_338
34513 add-int/lit8 v13, v13, 0x1
34518 if-nez v23, :cond_34d
34520 if-eqz v7, :cond_343
34522 const-string v2, " "
34524 move-object/from16 v0, p2
34526 invoke-virtual {v0, v2}, Ljava/io/PrintWriter;->println(Ljava/lang/String;)V
34531 const-string v2, " Time since processes crashed:"
34533 move-object/from16 v0, p2
34535 invoke-virtual {v0, v2}, Ljava/io/PrintWriter;->println(Ljava/lang/String;)V
34540 const-string v2, " Process "
34542 move-object/from16 v0, p2
34544 invoke-virtual {v0, v2}, Ljava/io/PrintWriter;->print(Ljava/lang/String;)V
34546 move-object/from16 v0, p2
34548 move-object/from16 v1, v22
34550 invoke-virtual {v0, v1}, Ljava/io/PrintWriter;->print(Ljava/lang/String;)V
34552 const-string v2, " uid "
34554 move-object/from16 v0, p2
34556 invoke-virtual {v0, v2}, Ljava/io/PrintWriter;->print(Ljava/lang/String;)V
34558 move-object/from16 v0, p2
34560 move/from16 v1, v26
34562 invoke-virtual {v0, v1}, Ljava/io/PrintWriter;->print(I)V
34564 const-string v2, ": last crashed "
34566 move-object/from16 v0, p2
34568 invoke-virtual {v0, v2}, Ljava/io/PrintWriter;->print(Ljava/lang/String;)V
34570 move-object/from16 v0, v29
34572 invoke-virtual {v0, v13}, Landroid/util/SparseArray;->valueAt(I)Ljava/lang/Object;
34574 move-result-object v2
34576 check-cast v2, Ljava/lang/Long;
34578 invoke-virtual {v2}, Ljava/lang/Long;->longValue()J
34580 move-result-wide v2
34582 sub-long v2, v18, v2
34584 move-object/from16 v0, p2
34586 invoke-static {v2, v3, v0}, Landroid/util/TimeUtils;->formatDuration(JLjava/io/PrintWriter;)V
34588 const-string v2, " ago"
34590 move-object/from16 v0, p2
34592 invoke-virtual {v0, v2}, Ljava/io/PrintWriter;->println(Ljava/lang/String;)V
34597 move-object/from16 v0, p0
34599 iget-object v2, v0, Lcom/android/server/am/ActivityManagerService;->mBadProcesses:Lcom/android/server/ProcessMap;
34601 invoke-virtual {v2}, Lcom/android/server/ProcessMap;->getMap()Ljava/util/HashMap;
34603 move-result-object v2
34605 invoke-virtual {v2}, Ljava/util/HashMap;->size()I
34609 if-lez v2, :cond_435
34613 move-object/from16 v0, p0
34615 iget-object v2, v0, Lcom/android/server/am/ActivityManagerService;->mBadProcesses:Lcom/android/server/ProcessMap;
34617 invoke-virtual {v2}, Lcom/android/server/ProcessMap;->getMap()Ljava/util/HashMap;
34619 move-result-object v2
34621 invoke-virtual {v2}, Ljava/util/HashMap;->entrySet()Ljava/util/Set;
34623 move-result-object v2
34625 invoke-interface {v2}, Ljava/util/Set;->iterator()Ljava/util/Iterator;
34627 move-result-object v14
34630 invoke-interface {v14}, Ljava/util/Iterator;->hasNext()Z
34634 if-eqz v2, :cond_435
34636 invoke-interface {v14}, Ljava/util/Iterator;->next()Ljava/lang/Object;
34638 move-result-object v25
34640 check-cast v25, Ljava/util/Map$Entry;
34642 invoke-interface/range {v25 .. v25}, Ljava/util/Map$Entry;->getKey()Ljava/lang/Object;
34644 move-result-object v22
34646 check-cast v22, Ljava/lang/String;
34648 invoke-interface/range {v25 .. v25}, Ljava/util/Map$Entry;->getValue()Ljava/lang/Object;
34650 move-result-object v29
34652 check-cast v29, Landroid/util/SparseArray;
34654 invoke-virtual/range {v29 .. v29}, Landroid/util/SparseArray;->size()I
34661 if-ge v13, v10, :cond_3ab
34663 move-object/from16 v0, v29
34665 invoke-virtual {v0, v13}, Landroid/util/SparseArray;->keyAt(I)I
34669 move-object/from16 v0, p0
34671 iget-object v2, v0, Lcom/android/server/am/ActivityManagerService;->mProcessNames:Lcom/android/server/ProcessMap;
34673 move-object/from16 v0, v22
34675 move/from16 v1, v26
34677 invoke-virtual {v2, v0, v1}, Lcom/android/server/ProcessMap;->get(Ljava/lang/String;I)Ljava/lang/Object;
34679 move-result-object v27
34681 check-cast v27, Lcom/android/server/am/ProcessRecord;
34683 if-eqz p6, :cond_3f3
34685 if-eqz v27, :cond_3f0
34687 move-object/from16 v0, v27
34689 iget-object v2, v0, Lcom/android/server/am/ProcessRecord;->info:Landroid/content/pm/ApplicationInfo;
34691 iget-object v2, v2, Landroid/content/pm/ApplicationInfo;->packageName:Ljava/lang/String;
34693 move-object/from16 v0, p6
34695 invoke-virtual {v0, v2}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
34699 if-nez v2, :cond_3f3
34703 add-int/lit8 v13, v13, 0x1
34708 if-nez v23, :cond_406
34710 if-eqz v7, :cond_3fe
34712 const-string v2, " "
34714 move-object/from16 v0, p2
34716 invoke-virtual {v0, v2}, Ljava/io/PrintWriter;->println(Ljava/lang/String;)V
34721 const-string v2, " Bad processes:"
34723 move-object/from16 v0, p2
34725 invoke-virtual {v0, v2}, Ljava/io/PrintWriter;->println(Ljava/lang/String;)V
34728 const-string v2, " Bad process "
34730 move-object/from16 v0, p2
34732 invoke-virtual {v0, v2}, Ljava/io/PrintWriter;->print(Ljava/lang/String;)V
34734 move-object/from16 v0, p2
34736 move-object/from16 v1, v22
34738 invoke-virtual {v0, v1}, Ljava/io/PrintWriter;->print(Ljava/lang/String;)V
34740 const-string v2, " uid "
34742 move-object/from16 v0, p2
34744 invoke-virtual {v0, v2}, Ljava/io/PrintWriter;->print(Ljava/lang/String;)V
34746 move-object/from16 v0, p2
34748 move/from16 v1, v26
34750 invoke-virtual {v0, v1}, Ljava/io/PrintWriter;->print(I)V
34752 const-string v2, ": crashed at time "
34754 move-object/from16 v0, p2
34756 invoke-virtual {v0, v2}, Ljava/io/PrintWriter;->print(Ljava/lang/String;)V
34758 move-object/from16 v0, v29
34760 invoke-virtual {v0, v13}, Landroid/util/SparseArray;->valueAt(I)Ljava/lang/Object;
34762 move-result-object v2
34764 move-object/from16 v0, p2
34766 invoke-virtual {v0, v2}, Ljava/io/PrintWriter;->println(Ljava/lang/Object;)V
34771 invoke-virtual/range {p2 .. p2}, Ljava/io/PrintWriter;->println()V
34773 const-string v2, " mStartedUsers:"
34775 move-object/from16 v0, p2
34777 invoke-virtual {v0, v2}, Ljava/io/PrintWriter;->println(Ljava/lang/String;)V
34782 move-object/from16 v0, p0
34784 iget-object v2, v0, Lcom/android/server/am/ActivityManagerService;->mStartedUsers:Landroid/util/SparseArray;
34786 invoke-virtual {v2}, Landroid/util/SparseArray;->size()I
34790 if-ge v13, v2, :cond_47b
34792 move-object/from16 v0, p0
34794 iget-object v2, v0, Lcom/android/server/am/ActivityManagerService;->mStartedUsers:Landroid/util/SparseArray;
34796 invoke-virtual {v2, v13}, Landroid/util/SparseArray;->valueAt(I)Ljava/lang/Object;
34798 move-result-object v30
34800 check-cast v30, Lcom/android/server/am/UserStartedState;
34802 const-string v2, " User #"
34804 move-object/from16 v0, p2
34806 invoke-virtual {v0, v2}, Ljava/io/PrintWriter;->print(Ljava/lang/String;)V
34808 move-object/from16 v0, v30
34810 iget-object v2, v0, Lcom/android/server/am/UserStartedState;->mHandle:Landroid/os/UserHandle;
34812 invoke-virtual {v2}, Landroid/os/UserHandle;->getIdentifier()I
34816 move-object/from16 v0, p2
34818 invoke-virtual {v0, v2}, Ljava/io/PrintWriter;->print(I)V
34820 const-string v2, ": "
34822 move-object/from16 v0, p2
34824 invoke-virtual {v0, v2}, Ljava/io/PrintWriter;->print(Ljava/lang/String;)V
34826 const-string v2, ""
34828 move-object/from16 v0, v30
34830 move-object/from16 v1, p2
34832 invoke-virtual {v0, v2, v1}, Lcom/android/server/am/UserStartedState;->dump(Ljava/lang/String;Ljava/io/PrintWriter;)V
34834 add-int/lit8 v13, v13, 0x1
34839 const-string v2, " mStartedUserArray: ["
34841 move-object/from16 v0, p2
34843 invoke-virtual {v0, v2}, Ljava/io/PrintWriter;->print(Ljava/lang/String;)V
34848 move-object/from16 v0, p0
34850 iget-object v2, v0, Lcom/android/server/am/ActivityManagerService;->mStartedUserArray:[I
34852 array-length v2, v2
34854 if-ge v13, v2, :cond_4a1
34856 if-lez v13, :cond_493
34858 const-string v2, ", "
34860 move-object/from16 v0, p2
34862 invoke-virtual {v0, v2}, Ljava/io/PrintWriter;->print(Ljava/lang/String;)V
34865 move-object/from16 v0, p0
34867 iget-object v2, v0, Lcom/android/server/am/ActivityManagerService;->mStartedUserArray:[I
34871 move-object/from16 v0, p2
34873 invoke-virtual {v0, v2}, Ljava/io/PrintWriter;->print(I)V
34875 add-int/lit8 v13, v13, 0x1
34880 const-string v2, "]"
34882 move-object/from16 v0, p2
34884 invoke-virtual {v0, v2}, Ljava/io/PrintWriter;->println(Ljava/lang/String;)V
34886 const-string v2, " mUserLru: ["
34888 move-object/from16 v0, p2
34890 invoke-virtual {v0, v2}, Ljava/io/PrintWriter;->print(Ljava/lang/String;)V
34895 move-object/from16 v0, p0
34897 iget-object v2, v0, Lcom/android/server/am/ActivityManagerService;->mUserLru:Ljava/util/ArrayList;
34899 invoke-virtual {v2}, Ljava/util/ArrayList;->size()I
34903 if-ge v13, v2, :cond_4d3
34905 if-lez v13, :cond_4c3
34907 const-string v2, ", "
34909 move-object/from16 v0, p2
34911 invoke-virtual {v0, v2}, Ljava/io/PrintWriter;->print(Ljava/lang/String;)V
34914 move-object/from16 v0, p0
34916 iget-object v2, v0, Lcom/android/server/am/ActivityManagerService;->mUserLru:Ljava/util/ArrayList;
34918 invoke-virtual {v2, v13}, Ljava/util/ArrayList;->get(I)Ljava/lang/Object;
34920 move-result-object v2
34922 move-object/from16 v0, p2
34924 invoke-virtual {v0, v2}, Ljava/io/PrintWriter;->print(Ljava/lang/Object;)V
34926 add-int/lit8 v13, v13, 0x1
34931 const-string v2, "]"
34933 move-object/from16 v0, p2
34935 invoke-virtual {v0, v2}, Ljava/io/PrintWriter;->println(Ljava/lang/String;)V
34937 if-eqz p5, :cond_4f0
34939 const-string v2, " mStartedUserArray: "
34941 move-object/from16 v0, p2
34943 invoke-virtual {v0, v2}, Ljava/io/PrintWriter;->print(Ljava/lang/String;)V
34945 move-object/from16 v0, p0
34947 iget-object v2, v0, Lcom/android/server/am/ActivityManagerService;->mStartedUserArray:[I
34949 invoke-static {v2}, Ljava/util/Arrays;->toString([I)Ljava/lang/String;
34951 move-result-object v2
34953 move-object/from16 v0, p2
34955 invoke-virtual {v0, v2}, Ljava/io/PrintWriter;->println(Ljava/lang/String;)V
34958 new-instance v2, Ljava/lang/StringBuilder;
34960 invoke-direct {v2}, Ljava/lang/StringBuilder;-><init>()V
34962 const-string v3, " mHomeProcess: "
34964 invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
34966 move-result-object v2
34968 move-object/from16 v0, p0
34970 iget-object v3, v0, Lcom/android/server/am/ActivityManagerService;->mHomeProcess:Lcom/android/server/am/ProcessRecord;
34972 invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
34974 move-result-object v2
34976 invoke-virtual {v2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
34978 move-result-object v2
34980 move-object/from16 v0, p2
34982 invoke-virtual {v0, v2}, Ljava/io/PrintWriter;->println(Ljava/lang/String;)V
34984 new-instance v2, Ljava/lang/StringBuilder;
34986 invoke-direct {v2}, Ljava/lang/StringBuilder;-><init>()V
34988 const-string v3, " mPreviousProcess: "
34990 invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
34992 move-result-object v2
34994 move-object/from16 v0, p0
34996 iget-object v3, v0, Lcom/android/server/am/ActivityManagerService;->mPreviousProcess:Lcom/android/server/am/ProcessRecord;
34998 invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
35000 move-result-object v2
35002 invoke-virtual {v2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
35004 move-result-object v2
35006 move-object/from16 v0, p2
35008 invoke-virtual {v0, v2}, Ljava/io/PrintWriter;->println(Ljava/lang/String;)V
35010 if-eqz p5, :cond_54a
35012 new-instance v28, Ljava/lang/StringBuilder;
35016 move-object/from16 v0, v28
35018 invoke-direct {v0, v2}, Ljava/lang/StringBuilder;-><init>(I)V
35020 const-string v2, " mPreviousProcessVisibleTime: "
35022 move-object/from16 v0, v28
35024 invoke-virtual {v0, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
35026 move-object/from16 v0, p0
35028 iget-wide v2, v0, Lcom/android/server/am/ActivityManagerService;->mPreviousProcessVisibleTime:J
35030 move-object/from16 v0, v28
35032 invoke-static {v2, v3, v0}, Landroid/util/TimeUtils;->formatDuration(JLjava/lang/StringBuilder;)V
35034 move-object/from16 v0, p2
35036 move-object/from16 v1, v28
35038 invoke-virtual {v0, v1}, Ljava/io/PrintWriter;->println(Ljava/lang/Object;)V
35041 move-object/from16 v0, p0
35043 iget-object v2, v0, Lcom/android/server/am/ActivityManagerService;->mHeavyWeightProcess:Lcom/android/server/am/ProcessRecord;
35045 if-eqz v2, :cond_56c
35047 new-instance v2, Ljava/lang/StringBuilder;
35049 invoke-direct {v2}, Ljava/lang/StringBuilder;-><init>()V
35051 const-string v3, " mHeavyWeightProcess: "
35053 invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
35055 move-result-object v2
35057 move-object/from16 v0, p0
35059 iget-object v3, v0, Lcom/android/server/am/ActivityManagerService;->mHeavyWeightProcess:Lcom/android/server/am/ProcessRecord;
35061 invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
35063 move-result-object v2
35065 invoke-virtual {v2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
35067 move-result-object v2
35069 move-object/from16 v0, p2
35071 invoke-virtual {v0, v2}, Ljava/io/PrintWriter;->println(Ljava/lang/String;)V
35074 new-instance v2, Ljava/lang/StringBuilder;
35076 invoke-direct {v2}, Ljava/lang/StringBuilder;-><init>()V
35078 const-string v3, " mConfiguration: "
35080 invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
35082 move-result-object v2
35084 move-object/from16 v0, p0
35086 iget-object v3, v0, Lcom/android/server/am/ActivityManagerService;->mConfiguration:Landroid/content/res/Configuration;
35088 invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
35090 move-result-object v2
35092 invoke-virtual {v2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
35094 move-result-object v2
35096 move-object/from16 v0, p2
35098 invoke-virtual {v0, v2}, Ljava/io/PrintWriter;->println(Ljava/lang/String;)V
35100 if-eqz p5, :cond_61b
35102 new-instance v2, Ljava/lang/StringBuilder;
35104 invoke-direct {v2}, Ljava/lang/StringBuilder;-><init>()V
35106 const-string v3, " mConfigWillChange: "
35108 invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
35110 move-result-object v2
35112 move-object/from16 v0, p0
35114 iget-object v3, v0, Lcom/android/server/am/ActivityManagerService;->mMainStack:Lcom/android/server/am/ActivityStack;
35116 iget-boolean v3, v3, Lcom/android/server/am/ActivityStack;->mConfigWillChange:Z
35118 invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Z)Ljava/lang/StringBuilder;
35120 move-result-object v2
35122 invoke-virtual {v2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
35124 move-result-object v2
35126 move-object/from16 v0, p2
35128 invoke-virtual {v0, v2}, Ljava/io/PrintWriter;->println(Ljava/lang/String;)V
35130 move-object/from16 v0, p0
35132 iget-object v2, v0, Lcom/android/server/am/ActivityManagerService;->mCompatModePackages:Lcom/android/server/am/CompatModePackages;
35134 invoke-virtual {v2}, Lcom/android/server/am/CompatModePackages;->getPackages()Ljava/util/HashMap;
35136 move-result-object v2
35138 invoke-virtual {v2}, Ljava/util/HashMap;->size()I
35142 if-lez v2, :cond_61b
35146 move-object/from16 v0, p0
35148 iget-object v2, v0, Lcom/android/server/am/ActivityManagerService;->mCompatModePackages:Lcom/android/server/am/CompatModePackages;
35150 invoke-virtual {v2}, Lcom/android/server/am/CompatModePackages;->getPackages()Ljava/util/HashMap;
35152 move-result-object v2
35154 invoke-virtual {v2}, Ljava/util/HashMap;->entrySet()Ljava/util/Set;
35156 move-result-object v2
35158 invoke-interface {v2}, Ljava/util/Set;->iterator()Ljava/util/Iterator;
35160 move-result-object v14
35164 invoke-interface {v14}, Ljava/util/Iterator;->hasNext()Z
35168 if-eqz v2, :cond_61b
35170 invoke-interface {v14}, Ljava/util/Iterator;->next()Ljava/lang/Object;
35172 move-result-object v12
35174 check-cast v12, Ljava/util/Map$Entry;
35176 invoke-interface {v12}, Ljava/util/Map$Entry;->getKey()Ljava/lang/Object;
35178 move-result-object v21
35180 check-cast v21, Ljava/lang/String;
35182 invoke-interface {v12}, Ljava/util/Map$Entry;->getValue()Ljava/lang/Object;
35184 move-result-object v2
35186 check-cast v2, Ljava/lang/Integer;
35188 invoke-virtual {v2}, Ljava/lang/Integer;->intValue()I
35192 if-eqz p6, :cond_5f0
35194 move-object/from16 v0, p6
35196 move-object/from16 v1, v21
35198 invoke-virtual {v0, v1}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
35202 if-eqz v2, :cond_5c8
35205 if-nez v23, :cond_5fb
35207 const-string v2, " mScreenCompatPackages:"
35209 move-object/from16 v0, p2
35211 invoke-virtual {v0, v2}, Ljava/io/PrintWriter;->println(Ljava/lang/String;)V
35216 const-string v2, " "
35218 move-object/from16 v0, p2
35220 invoke-virtual {v0, v2}, Ljava/io/PrintWriter;->print(Ljava/lang/String;)V
35222 move-object/from16 v0, p2
35224 move-object/from16 v1, v21
35226 invoke-virtual {v0, v1}, Ljava/io/PrintWriter;->print(Ljava/lang/String;)V
35228 const-string v2, ": "
35230 move-object/from16 v0, p2
35232 invoke-virtual {v0, v2}, Ljava/io/PrintWriter;->print(Ljava/lang/String;)V
35234 move-object/from16 v0, p2
35236 move/from16 v1, v16
35238 invoke-virtual {v0, v1}, Ljava/io/PrintWriter;->print(I)V
35240 invoke-virtual/range {p2 .. p2}, Ljava/io/PrintWriter;->println()V
35245 move-object/from16 v0, p0
35247 iget-boolean v2, v0, Lcom/android/server/am/ActivityManagerService;->mSleeping:Z
35249 if-nez v2, :cond_62d
35251 move-object/from16 v0, p0
35253 iget-boolean v2, v0, Lcom/android/server/am/ActivityManagerService;->mWentToSleep:Z
35255 if-nez v2, :cond_62d
35257 move-object/from16 v0, p0
35259 iget-boolean v2, v0, Lcom/android/server/am/ActivityManagerService;->mLockScreenShown:Z
35261 if-eqz v2, :cond_665
35264 new-instance v2, Ljava/lang/StringBuilder;
35266 invoke-direct {v2}, Ljava/lang/StringBuilder;-><init>()V
35268 const-string v3, " mSleeping="
35270 invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
35272 move-result-object v2
35274 move-object/from16 v0, p0
35276 iget-boolean v3, v0, Lcom/android/server/am/ActivityManagerService;->mSleeping:Z
35278 invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Z)Ljava/lang/StringBuilder;
35280 move-result-object v2
35282 const-string v3, " mWentToSleep="
35284 invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
35286 move-result-object v2
35288 move-object/from16 v0, p0
35290 iget-boolean v3, v0, Lcom/android/server/am/ActivityManagerService;->mWentToSleep:Z
35292 invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Z)Ljava/lang/StringBuilder;
35294 move-result-object v2
35296 const-string v3, " mLockScreenShown "
35298 invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
35300 move-result-object v2
35302 move-object/from16 v0, p0
35304 iget-boolean v3, v0, Lcom/android/server/am/ActivityManagerService;->mLockScreenShown:Z
35306 invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Z)Ljava/lang/StringBuilder;
35308 move-result-object v2
35310 invoke-virtual {v2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
35312 move-result-object v2
35314 move-object/from16 v0, p2
35316 invoke-virtual {v0, v2}, Ljava/io/PrintWriter;->println(Ljava/lang/String;)V
35319 move-object/from16 v0, p0
35321 iget-boolean v2, v0, Lcom/android/server/am/ActivityManagerService;->mShuttingDown:Z
35323 if-eqz v2, :cond_687
35325 new-instance v2, Ljava/lang/StringBuilder;
35327 invoke-direct {v2}, Ljava/lang/StringBuilder;-><init>()V
35329 const-string v3, " mShuttingDown="
35331 invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
35333 move-result-object v2
35335 move-object/from16 v0, p0
35337 iget-boolean v3, v0, Lcom/android/server/am/ActivityManagerService;->mShuttingDown:Z
35339 invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Z)Ljava/lang/StringBuilder;
35341 move-result-object v2
35343 invoke-virtual {v2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
35345 move-result-object v2
35347 move-object/from16 v0, p2
35349 invoke-virtual {v0, v2}, Ljava/io/PrintWriter;->println(Ljava/lang/String;)V
35352 move-object/from16 v0, p0
35354 iget-object v2, v0, Lcom/android/server/am/ActivityManagerService;->mDebugApp:Ljava/lang/String;
35356 if-nez v2, :cond_69f
35358 move-object/from16 v0, p0
35360 iget-object v2, v0, Lcom/android/server/am/ActivityManagerService;->mOrigDebugApp:Ljava/lang/String;
35362 if-nez v2, :cond_69f
35364 move-object/from16 v0, p0
35366 iget-boolean v2, v0, Lcom/android/server/am/ActivityManagerService;->mDebugTransient:Z
35368 if-nez v2, :cond_69f
35370 move-object/from16 v0, p0
35372 iget-boolean v2, v0, Lcom/android/server/am/ActivityManagerService;->mOrigWaitForDebugger:Z
35374 if-eqz v2, :cond_6e5
35377 new-instance v2, Ljava/lang/StringBuilder;
35379 invoke-direct {v2}, Ljava/lang/StringBuilder;-><init>()V
35381 const-string v3, " mDebugApp="
35383 invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
35385 move-result-object v2
35387 move-object/from16 v0, p0
35389 iget-object v3, v0, Lcom/android/server/am/ActivityManagerService;->mDebugApp:Ljava/lang/String;
35391 invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
35393 move-result-object v2
35395 const-string v3, "/orig="
35397 invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
35399 move-result-object v2
35401 move-object/from16 v0, p0
35403 iget-object v3, v0, Lcom/android/server/am/ActivityManagerService;->mOrigDebugApp:Ljava/lang/String;
35405 invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
35407 move-result-object v2
35409 const-string v3, " mDebugTransient="
35411 invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
35413 move-result-object v2
35415 move-object/from16 v0, p0
35417 iget-boolean v3, v0, Lcom/android/server/am/ActivityManagerService;->mDebugTransient:Z
35419 invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Z)Ljava/lang/StringBuilder;
35421 move-result-object v2
35423 const-string v3, " mOrigWaitForDebugger="
35425 invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
35427 move-result-object v2
35429 move-object/from16 v0, p0
35431 iget-boolean v3, v0, Lcom/android/server/am/ActivityManagerService;->mOrigWaitForDebugger:Z
35433 invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Z)Ljava/lang/StringBuilder;
35435 move-result-object v2
35437 invoke-virtual {v2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
35439 move-result-object v2
35441 move-object/from16 v0, p2
35443 invoke-virtual {v0, v2}, Ljava/io/PrintWriter;->println(Ljava/lang/String;)V
35446 move-object/from16 v0, p0
35448 iget-object v2, v0, Lcom/android/server/am/ActivityManagerService;->mOpenGlTraceApp:Ljava/lang/String;
35450 if-eqz v2, :cond_707
35452 new-instance v2, Ljava/lang/StringBuilder;
35454 invoke-direct {v2}, Ljava/lang/StringBuilder;-><init>()V
35456 const-string v3, " mOpenGlTraceApp="
35458 invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
35460 move-result-object v2
35462 move-object/from16 v0, p0
35464 iget-object v3, v0, Lcom/android/server/am/ActivityManagerService;->mOpenGlTraceApp:Ljava/lang/String;
35466 invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
35468 move-result-object v2
35470 invoke-virtual {v2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
35472 move-result-object v2
35474 move-object/from16 v0, p2
35476 invoke-virtual {v0, v2}, Ljava/io/PrintWriter;->println(Ljava/lang/String;)V
35479 move-object/from16 v0, p0
35481 iget-object v2, v0, Lcom/android/server/am/ActivityManagerService;->mProfileApp:Ljava/lang/String;
35483 if-nez v2, :cond_71f
35485 move-object/from16 v0, p0
35487 iget-object v2, v0, Lcom/android/server/am/ActivityManagerService;->mProfileProc:Lcom/android/server/am/ProcessRecord;
35489 if-nez v2, :cond_71f
35491 move-object/from16 v0, p0
35493 iget-object v2, v0, Lcom/android/server/am/ActivityManagerService;->mProfileFile:Ljava/lang/String;
35495 if-nez v2, :cond_71f
35497 move-object/from16 v0, p0
35499 iget-object v2, v0, Lcom/android/server/am/ActivityManagerService;->mProfileFd:Landroid/os/ParcelFileDescriptor;
35501 if-eqz v2, :cond_79d
35504 new-instance v2, Ljava/lang/StringBuilder;
35506 invoke-direct {v2}, Ljava/lang/StringBuilder;-><init>()V
35508 const-string v3, " mProfileApp="
35510 invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
35512 move-result-object v2
35514 move-object/from16 v0, p0
35516 iget-object v3, v0, Lcom/android/server/am/ActivityManagerService;->mProfileApp:Ljava/lang/String;
35518 invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
35520 move-result-object v2
35522 const-string v3, " mProfileProc="
35524 invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
35526 move-result-object v2
35528 move-object/from16 v0, p0
35530 iget-object v3, v0, Lcom/android/server/am/ActivityManagerService;->mProfileProc:Lcom/android/server/am/ProcessRecord;
35532 invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
35534 move-result-object v2
35536 invoke-virtual {v2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
35538 move-result-object v2
35540 move-object/from16 v0, p2
35542 invoke-virtual {v0, v2}, Ljava/io/PrintWriter;->println(Ljava/lang/String;)V
35544 new-instance v2, Ljava/lang/StringBuilder;
35546 invoke-direct {v2}, Ljava/lang/StringBuilder;-><init>()V
35548 const-string v3, " mProfileFile="
35550 invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
35552 move-result-object v2
35554 move-object/from16 v0, p0
35556 iget-object v3, v0, Lcom/android/server/am/ActivityManagerService;->mProfileFile:Ljava/lang/String;
35558 invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
35560 move-result-object v2
35562 const-string v3, " mProfileFd="
35564 invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
35566 move-result-object v2
35568 move-object/from16 v0, p0
35570 iget-object v3, v0, Lcom/android/server/am/ActivityManagerService;->mProfileFd:Landroid/os/ParcelFileDescriptor;
35572 invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
35574 move-result-object v2
35576 invoke-virtual {v2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
35578 move-result-object v2
35580 move-object/from16 v0, p2
35582 invoke-virtual {v0, v2}, Ljava/io/PrintWriter;->println(Ljava/lang/String;)V
35584 new-instance v2, Ljava/lang/StringBuilder;
35586 invoke-direct {v2}, Ljava/lang/StringBuilder;-><init>()V
35588 const-string v3, " mProfileType="
35590 invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
35592 move-result-object v2
35594 move-object/from16 v0, p0
35596 iget v3, v0, Lcom/android/server/am/ActivityManagerService;->mProfileType:I
35598 invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
35600 move-result-object v2
35602 const-string v3, " mAutoStopProfiler="
35604 invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
35606 move-result-object v2
35608 move-object/from16 v0, p0
35610 iget-boolean v3, v0, Lcom/android/server/am/ActivityManagerService;->mAutoStopProfiler:Z
35612 invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Z)Ljava/lang/StringBuilder;
35614 move-result-object v2
35616 invoke-virtual {v2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
35618 move-result-object v2
35620 move-object/from16 v0, p2
35622 invoke-virtual {v0, v2}, Ljava/io/PrintWriter;->println(Ljava/lang/String;)V
35625 move-object/from16 v0, p0
35627 iget-boolean v2, v0, Lcom/android/server/am/ActivityManagerService;->mAlwaysFinishActivities:Z
35629 if-nez v2, :cond_7a9
35631 move-object/from16 v0, p0
35633 iget-object v2, v0, Lcom/android/server/am/ActivityManagerService;->mController:Landroid/app/IActivityController;
35635 if-eqz v2, :cond_7d3
35638 new-instance v2, Ljava/lang/StringBuilder;
35640 invoke-direct {v2}, Ljava/lang/StringBuilder;-><init>()V
35642 const-string v3, " mAlwaysFinishActivities="
35644 invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
35646 move-result-object v2
35648 move-object/from16 v0, p0
35650 iget-boolean v3, v0, Lcom/android/server/am/ActivityManagerService;->mAlwaysFinishActivities:Z
35652 invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Z)Ljava/lang/StringBuilder;
35654 move-result-object v2
35656 const-string v3, " mController="
35658 invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
35660 move-result-object v2
35662 move-object/from16 v0, p0
35664 iget-object v3, v0, Lcom/android/server/am/ActivityManagerService;->mController:Landroid/app/IActivityController;
35666 invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
35668 move-result-object v2
35670 invoke-virtual {v2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
35672 move-result-object v2
35674 move-object/from16 v0, p2
35676 invoke-virtual {v0, v2}, Ljava/io/PrintWriter;->println(Ljava/lang/String;)V
35679 if-eqz p5, :cond_939
35681 new-instance v2, Ljava/lang/StringBuilder;
35683 invoke-direct {v2}, Ljava/lang/StringBuilder;-><init>()V
35685 const-string v3, " Total persistent processes: "
35687 invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
35689 move-result-object v2
35691 move/from16 v0, v20
35693 invoke-virtual {v2, v0}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
35695 move-result-object v2
35697 invoke-virtual {v2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
35699 move-result-object v2
35701 move-object/from16 v0, p2
35703 invoke-virtual {v0, v2}, Ljava/io/PrintWriter;->println(Ljava/lang/String;)V
35705 new-instance v2, Ljava/lang/StringBuilder;
35707 invoke-direct {v2}, Ljava/lang/StringBuilder;-><init>()V
35709 const-string v3, " mStartRunning="
35711 invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
35713 move-result-object v2
35715 move-object/from16 v0, p0
35717 iget-boolean v3, v0, Lcom/android/server/am/ActivityManagerService;->mStartRunning:Z
35719 invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Z)Ljava/lang/StringBuilder;
35721 move-result-object v2
35723 const-string v3, " mProcessesReady="
35725 invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
35727 move-result-object v2
35729 move-object/from16 v0, p0
35731 iget-boolean v3, v0, Lcom/android/server/am/ActivityManagerService;->mProcessesReady:Z
35733 invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Z)Ljava/lang/StringBuilder;
35735 move-result-object v2
35737 const-string v3, " mSystemReady="
35739 invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
35741 move-result-object v2
35743 move-object/from16 v0, p0
35745 iget-boolean v3, v0, Lcom/android/server/am/ActivityManagerService;->mSystemReady:Z
35747 invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Z)Ljava/lang/StringBuilder;
35749 move-result-object v2
35751 invoke-virtual {v2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
35753 move-result-object v2
35755 move-object/from16 v0, p2
35757 invoke-virtual {v0, v2}, Ljava/io/PrintWriter;->println(Ljava/lang/String;)V
35759 new-instance v2, Ljava/lang/StringBuilder;
35761 invoke-direct {v2}, Ljava/lang/StringBuilder;-><init>()V
35763 const-string v3, " mBooting="
35765 invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
35767 move-result-object v2
35769 move-object/from16 v0, p0
35771 iget-boolean v3, v0, Lcom/android/server/am/ActivityManagerService;->mBooting:Z
35773 invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Z)Ljava/lang/StringBuilder;
35775 move-result-object v2
35777 const-string v3, " mBooted="
35779 invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
35781 move-result-object v2
35783 move-object/from16 v0, p0
35785 iget-boolean v3, v0, Lcom/android/server/am/ActivityManagerService;->mBooted:Z
35787 invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Z)Ljava/lang/StringBuilder;
35789 move-result-object v2
35791 const-string v3, " mFactoryTest="
35793 invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
35795 move-result-object v2
35797 move-object/from16 v0, p0
35799 iget v3, v0, Lcom/android/server/am/ActivityManagerService;->mFactoryTest:I
35801 invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
35803 move-result-object v2
35805 invoke-virtual {v2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
35807 move-result-object v2
35809 move-object/from16 v0, p2
35811 invoke-virtual {v0, v2}, Ljava/io/PrintWriter;->println(Ljava/lang/String;)V
35813 const-string v2, " mLastPowerCheckRealtime="
35815 move-object/from16 v0, p2
35817 invoke-virtual {v0, v2}, Ljava/io/PrintWriter;->print(Ljava/lang/String;)V
35819 move-object/from16 v0, p0
35821 iget-wide v2, v0, Lcom/android/server/am/ActivityManagerService;->mLastPowerCheckRealtime:J
35823 move-object/from16 v0, p2
35825 invoke-static {v2, v3, v0}, Landroid/util/TimeUtils;->formatDuration(JLjava/io/PrintWriter;)V
35827 const-string v2, ""
35829 move-object/from16 v0, p2
35831 invoke-virtual {v0, v2}, Ljava/io/PrintWriter;->println(Ljava/lang/String;)V
35833 const-string v2, " mLastPowerCheckUptime="
35835 move-object/from16 v0, p2
35837 invoke-virtual {v0, v2}, Ljava/io/PrintWriter;->print(Ljava/lang/String;)V
35839 move-object/from16 v0, p0
35841 iget-wide v2, v0, Lcom/android/server/am/ActivityManagerService;->mLastPowerCheckUptime:J
35843 move-object/from16 v0, p2
35845 invoke-static {v2, v3, v0}, Landroid/util/TimeUtils;->formatDuration(JLjava/io/PrintWriter;)V
35847 const-string v2, ""
35849 move-object/from16 v0, p2
35851 invoke-virtual {v0, v2}, Ljava/io/PrintWriter;->println(Ljava/lang/String;)V
35853 new-instance v2, Ljava/lang/StringBuilder;
35855 invoke-direct {v2}, Ljava/lang/StringBuilder;-><init>()V
35857 const-string v3, " mGoingToSleep="
35859 invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
35861 move-result-object v2
35863 move-object/from16 v0, p0
35865 iget-object v3, v0, Lcom/android/server/am/ActivityManagerService;->mMainStack:Lcom/android/server/am/ActivityStack;
35867 iget-object v3, v3, Lcom/android/server/am/ActivityStack;->mGoingToSleep:Landroid/os/PowerManager$WakeLock;
35869 invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
35871 move-result-object v2
35873 invoke-virtual {v2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
35875 move-result-object v2
35877 move-object/from16 v0, p2
35879 invoke-virtual {v0, v2}, Ljava/io/PrintWriter;->println(Ljava/lang/String;)V
35881 new-instance v2, Ljava/lang/StringBuilder;
35883 invoke-direct {v2}, Ljava/lang/StringBuilder;-><init>()V
35885 const-string v3, " mLaunchingActivity="
35887 invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
35889 move-result-object v2
35891 move-object/from16 v0, p0
35893 iget-object v3, v0, Lcom/android/server/am/ActivityManagerService;->mMainStack:Lcom/android/server/am/ActivityStack;
35895 iget-object v3, v3, Lcom/android/server/am/ActivityStack;->mLaunchingActivity:Landroid/os/PowerManager$WakeLock;
35897 invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
35899 move-result-object v2
35901 invoke-virtual {v2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
35903 move-result-object v2
35905 move-object/from16 v0, p2
35907 invoke-virtual {v0, v2}, Ljava/io/PrintWriter;->println(Ljava/lang/String;)V
35909 new-instance v2, Ljava/lang/StringBuilder;
35911 invoke-direct {v2}, Ljava/lang/StringBuilder;-><init>()V
35913 const-string v3, " mAdjSeq="
35915 invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
35917 move-result-object v2
35919 move-object/from16 v0, p0
35921 iget v3, v0, Lcom/android/server/am/ActivityManagerService;->mAdjSeq:I
35923 invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
35925 move-result-object v2
35927 const-string v3, " mLruSeq="
35929 invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
35931 move-result-object v2
35933 move-object/from16 v0, p0
35935 iget v3, v0, Lcom/android/server/am/ActivityManagerService;->mLruSeq:I
35937 invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
35939 move-result-object v2
35941 invoke-virtual {v2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
35943 move-result-object v2
35945 move-object/from16 v0, p2
35947 invoke-virtual {v0, v2}, Ljava/io/PrintWriter;->println(Ljava/lang/String;)V
35949 new-instance v2, Ljava/lang/StringBuilder;
35951 invoke-direct {v2}, Ljava/lang/StringBuilder;-><init>()V
35953 const-string v3, " mNumNonHiddenProcs="
35955 invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
35957 move-result-object v2
35959 move-object/from16 v0, p0
35961 iget v3, v0, Lcom/android/server/am/ActivityManagerService;->mNumNonHiddenProcs:I
35963 invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
35965 move-result-object v2
35967 const-string v3, " mNumHiddenProcs="
35969 invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
35971 move-result-object v2
35973 move-object/from16 v0, p0
35975 iget v3, v0, Lcom/android/server/am/ActivityManagerService;->mNumHiddenProcs:I
35977 invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
35979 move-result-object v2
35981 const-string v3, " mNumServiceProcs="
35983 invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
35985 move-result-object v2
35987 move-object/from16 v0, p0
35989 iget v3, v0, Lcom/android/server/am/ActivityManagerService;->mNumServiceProcs:I
35991 invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
35993 move-result-object v2
35995 const-string v3, " mNewNumServiceProcs="
35997 invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
35999 move-result-object v2
36001 move-object/from16 v0, p0
36003 iget v3, v0, Lcom/android/server/am/ActivityManagerService;->mNewNumServiceProcs:I
36005 invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
36007 move-result-object v2
36009 invoke-virtual {v2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
36011 move-result-object v2
36013 move-object/from16 v0, p2
36015 invoke-virtual {v0, v2}, Ljava/io/PrintWriter;->println(Ljava/lang/String;)V
36023 .method dumpProcessesToGc(Ljava/io/FileDescriptor;Ljava/io/PrintWriter;[Ljava/lang/String;IZZLjava/lang/String;)Z
36026 iget-object v5, p0, Lcom/android/server/am/ActivityManagerService;->mProcessesToGc:Ljava/util/ArrayList;
36028 invoke-virtual {v5}, Ljava/util/ArrayList;->size()I
36032 if-lez v5, :cond_6d
36036 invoke-static {}, Landroid/os/SystemClock;->uptimeMillis()J
36038 move-result-wide v1
36043 iget-object v5, p0, Lcom/android/server/am/ActivityManagerService;->mProcessesToGc:Ljava/util/ArrayList;
36045 invoke-virtual {v5}, Ljava/util/ArrayList;->size()I
36049 if-ge v0, v5, :cond_6d
36051 iget-object v5, p0, Lcom/android/server/am/ActivityManagerService;->mProcessesToGc:Ljava/util/ArrayList;
36053 invoke-virtual {v5, v0}, Ljava/util/ArrayList;->get(I)Ljava/lang/Object;
36055 move-result-object v4
36057 check-cast v4, Lcom/android/server/am/ProcessRecord;
36059 if-eqz p7, :cond_2d
36061 iget-object v5, v4, Lcom/android/server/am/ProcessRecord;->info:Landroid/content/pm/ApplicationInfo;
36063 iget-object v5, v5, Landroid/content/pm/ApplicationInfo;->packageName:Ljava/lang/String;
36065 invoke-virtual {p7, v5}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
36069 if-nez v5, :cond_2d
36072 add-int/lit8 v0, v0, 0x1
36077 if-nez v3, :cond_3d
36079 if-eqz p5, :cond_36
36081 const-string v5, " "
36083 invoke-virtual {p2, v5}, Ljava/io/PrintWriter;->println(Ljava/lang/String;)V
36088 const-string v5, " Processes that are waiting to GC:"
36090 invoke-virtual {p2, v5}, Ljava/io/PrintWriter;->println(Ljava/lang/String;)V
36095 const-string v5, " Process "
36097 invoke-virtual {p2, v5}, Ljava/io/PrintWriter;->print(Ljava/lang/String;)V
36099 invoke-virtual {p2, v4}, Ljava/io/PrintWriter;->println(Ljava/lang/Object;)V
36101 const-string v5, " lowMem="
36103 invoke-virtual {p2, v5}, Ljava/io/PrintWriter;->print(Ljava/lang/String;)V
36105 iget-boolean v5, v4, Lcom/android/server/am/ProcessRecord;->reportLowMemory:Z
36107 invoke-virtual {p2, v5}, Ljava/io/PrintWriter;->print(Z)V
36109 const-string v5, ", last gced="
36111 invoke-virtual {p2, v5}, Ljava/io/PrintWriter;->print(Ljava/lang/String;)V
36113 iget-wide v5, v4, Lcom/android/server/am/ProcessRecord;->lastRequestedGc:J
36115 sub-long v5, v1, v5
36117 invoke-virtual {p2, v5, v6}, Ljava/io/PrintWriter;->print(J)V
36119 const-string v5, " ms ago, last lowMem="
36121 invoke-virtual {p2, v5}, Ljava/io/PrintWriter;->print(Ljava/lang/String;)V
36123 iget-wide v5, v4, Lcom/android/server/am/ProcessRecord;->lastLowMemory:J
36125 sub-long v5, v1, v5
36127 invoke-virtual {p2, v5, v6}, Ljava/io/PrintWriter;->print(J)V
36129 const-string v5, " ms ago"
36131 invoke-virtual {p2, v5}, Ljava/io/PrintWriter;->println(Ljava/lang/String;)V
36139 .method protected dumpProvider(Ljava/io/FileDescriptor;Ljava/io/PrintWriter;Ljava/lang/String;[Ljava/lang/String;IZ)Z
36142 iget-object v0, p0, Lcom/android/server/am/ActivityManagerService;->mProviderMap:Lcom/android/server/am/ProviderMap;
36156 invoke-virtual/range {v0 .. v6}, Lcom/android/server/am/ProviderMap;->dumpProvider(Ljava/io/FileDescriptor;Ljava/io/PrintWriter;Ljava/lang/String;[Ljava/lang/String;IZ)Z
36163 .method dumpProvidersLocked(Ljava/io/FileDescriptor;Ljava/io/PrintWriter;[Ljava/lang/String;IZLjava/lang/String;)Z
36168 new-instance v3, Lcom/android/server/am/ActivityManagerService$ItemMatcher;
36170 invoke-direct {v3}, Lcom/android/server/am/ActivityManagerService$ItemMatcher;-><init>()V
36172 invoke-virtual {v3, p3, p4}, Lcom/android/server/am/ActivityManagerService$ItemMatcher;->build([Ljava/lang/String;I)I
36174 const-string v10, "ACTIVITY MANAGER CONTENT PROVIDERS (dumpsys activity providers)"
36176 invoke-virtual {p2, v10}, Ljava/io/PrintWriter;->println(Ljava/lang/String;)V
36178 iget-object v10, p0, Lcom/android/server/am/ActivityManagerService;->mProviderMap:Lcom/android/server/am/ProviderMap;
36182 invoke-virtual {v10, p2, v0}, Lcom/android/server/am/ProviderMap;->dumpProvidersLocked(Ljava/io/PrintWriter;Z)V
36184 iget-object v10, p0, Lcom/android/server/am/ActivityManagerService;->mLaunchingProviders:Ljava/util/ArrayList;
36186 invoke-virtual {v10}, Ljava/util/ArrayList;->size()I
36190 if-lez v10, :cond_64
36194 iget-object v10, p0, Lcom/android/server/am/ActivityManagerService;->mLaunchingProviders:Ljava/util/ArrayList;
36196 invoke-virtual {v10}, Ljava/util/ArrayList;->size()I
36200 add-int/lit8 v1, v10, -0x1
36203 if-ltz v1, :cond_64
36205 iget-object v10, p0, Lcom/android/server/am/ActivityManagerService;->mLaunchingProviders:Ljava/util/ArrayList;
36207 invoke-virtual {v10, v1}, Ljava/util/ArrayList;->get(I)Ljava/lang/Object;
36209 move-result-object v8
36211 check-cast v8, Lcom/android/server/am/ContentProviderRecord;
36213 if-eqz p6, :cond_43
36215 iget-object v10, v8, Lcom/android/server/am/ContentProviderRecord;->name:Landroid/content/ComponentName;
36217 invoke-virtual {v10}, Landroid/content/ComponentName;->getPackageName()Ljava/lang/String;
36219 move-result-object v10
36221 move-object/from16 v0, p6
36223 invoke-virtual {v0, v10}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
36227 if-nez v10, :cond_43
36230 add-int/lit8 v1, v1, -0x1
36235 if-nez v7, :cond_53
36237 if-eqz v4, :cond_4c
36239 const-string v10, " "
36241 invoke-virtual {p2, v10}, Ljava/io/PrintWriter;->println(Ljava/lang/String;)V
36246 const-string v10, " Launching content providers:"
36248 invoke-virtual {p2, v10}, Ljava/io/PrintWriter;->println(Ljava/lang/String;)V
36253 const-string v10, " Launching #"
36255 invoke-virtual {p2, v10}, Ljava/io/PrintWriter;->print(Ljava/lang/String;)V
36257 invoke-virtual {p2, v1}, Ljava/io/PrintWriter;->print(I)V
36259 const-string v10, ": "
36261 invoke-virtual {p2, v10}, Ljava/io/PrintWriter;->print(Ljava/lang/String;)V
36263 invoke-virtual {p2, v8}, Ljava/io/PrintWriter;->println(Ljava/lang/Object;)V
36268 iget-object v10, p0, Lcom/android/server/am/ActivityManagerService;->mGrantedUriPermissions:Landroid/util/SparseArray;
36270 invoke-virtual {v10}, Landroid/util/SparseArray;->size()I
36274 if-lez v10, :cond_c3
36276 if-eqz v4, :cond_71
36278 invoke-virtual {p2}, Ljava/io/PrintWriter;->println()V
36283 const-string v10, "Granted Uri Permissions:"
36285 invoke-virtual {p2, v10}, Ljava/io/PrintWriter;->println(Ljava/lang/String;)V
36290 iget-object v10, p0, Lcom/android/server/am/ActivityManagerService;->mGrantedUriPermissions:Landroid/util/SparseArray;
36292 invoke-virtual {v10}, Landroid/util/SparseArray;->size()I
36296 if-ge v1, v10, :cond_c2
36298 iget-object v10, p0, Lcom/android/server/am/ActivityManagerService;->mGrantedUriPermissions:Landroid/util/SparseArray;
36300 invoke-virtual {v10, v1}, Landroid/util/SparseArray;->keyAt(I)I
36304 iget-object v10, p0, Lcom/android/server/am/ActivityManagerService;->mGrantedUriPermissions:Landroid/util/SparseArray;
36306 invoke-virtual {v10, v1}, Landroid/util/SparseArray;->valueAt(I)Ljava/lang/Object;
36308 move-result-object v6
36310 check-cast v6, Ljava/util/HashMap;
36312 const-string v10, " * UID "
36314 invoke-virtual {p2, v10}, Ljava/io/PrintWriter;->print(Ljava/lang/String;)V
36316 invoke-virtual {p2, v9}, Ljava/io/PrintWriter;->print(I)V
36318 const-string v10, " holds:"
36320 invoke-virtual {p2, v10}, Ljava/io/PrintWriter;->println(Ljava/lang/String;)V
36322 invoke-virtual {v6}, Ljava/util/HashMap;->values()Ljava/util/Collection;
36324 move-result-object v10
36326 invoke-interface {v10}, Ljava/util/Collection;->iterator()Ljava/util/Iterator;
36328 move-result-object v2
36332 invoke-interface {v2}, Ljava/util/Iterator;->hasNext()Z
36336 if-eqz v10, :cond_bf
36338 invoke-interface {v2}, Ljava/util/Iterator;->next()Ljava/lang/Object;
36340 move-result-object v5
36342 check-cast v5, Lcom/android/server/am/UriPermission;
36344 const-string v10, " "
36346 invoke-virtual {p2, v10}, Ljava/io/PrintWriter;->print(Ljava/lang/String;)V
36348 invoke-virtual {p2, v5}, Ljava/io/PrintWriter;->println(Ljava/lang/Object;)V
36350 if-eqz p5, :cond_a3
36352 const-string v10, " "
36354 invoke-virtual {v5, p2, v10}, Lcom/android/server/am/UriPermission;->dump(Ljava/io/PrintWriter;Ljava/lang/String;)V
36359 add-int/lit8 v1, v1, 0x1
36370 .method enableScreenAfterBoot()V
36375 invoke-static {}, Landroid/os/SystemClock;->uptimeMillis()J
36377 move-result-wide v1
36379 invoke-static {v0, v1, v2}, Landroid/util/EventLog;->writeEvent(IJ)I
36381 iget-object v0, p0, Lcom/android/server/am/ActivityManagerService;->mWindowManager:Lcom/android/server/wm/WindowManagerService;
36383 invoke-virtual {v0}, Lcom/android/server/wm/WindowManagerService;->enableScreenAfterBoot()V
36388 invoke-direct {p0}, Lcom/android/server/am/ActivityManagerService;->updateEventDispatchingLocked()V
36399 .catchall {:try_start_f .. :try_end_16} :catchall_14
36404 .method enforceCallingPermission(Ljava/lang/String;Ljava/lang/String;)V
36407 invoke-virtual {p0, p1}, Lcom/android/server/am/ActivityManagerService;->checkCallingPermission(Ljava/lang/String;)I
36416 new-instance v1, Ljava/lang/StringBuilder;
36418 invoke-direct {v1}, Ljava/lang/StringBuilder;-><init>()V
36420 const-string v2, "Permission Denial: "
36422 invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
36424 move-result-object v1
36426 invoke-virtual {v1, p2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
36428 move-result-object v1
36430 const-string v2, " from pid="
36432 invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
36434 move-result-object v1
36436 invoke-static {}, Landroid/os/Binder;->getCallingPid()I
36440 invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
36442 move-result-object v1
36444 const-string v2, ", uid="
36446 invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
36448 move-result-object v1
36450 invoke-static {}, Landroid/os/Binder;->getCallingUid()I
36454 invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
36456 move-result-object v1
36458 const-string v2, " requires "
36460 invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
36462 move-result-object v1
36464 invoke-virtual {v1, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
36466 move-result-object v1
36468 invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
36470 move-result-object v0
36472 const-string v1, "ActivityManager"
36474 invoke-static {v1, v0}, Landroid/util/Slog;->w(Ljava/lang/String;Ljava/lang/String;)I
36476 new-instance v1, Ljava/lang/SecurityException;
36478 invoke-direct {v1, v0}, Ljava/lang/SecurityException;-><init>(Ljava/lang/String;)V
36483 .method enforceNotIsolatedCaller(Ljava/lang/String;)V
36486 invoke-static {}, Landroid/os/Binder;->getCallingUid()I
36490 invoke-static {v0}, Landroid/os/UserHandle;->isIsolated(I)Z
36494 if-eqz v0, :cond_23
36496 new-instance v0, Ljava/lang/SecurityException;
36498 new-instance v1, Ljava/lang/StringBuilder;
36500 invoke-direct {v1}, Ljava/lang/StringBuilder;-><init>()V
36502 const-string v2, "Isolated process not allowed to call "
36504 invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
36506 move-result-object v1
36508 invoke-virtual {v1, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
36510 move-result-object v1
36512 invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
36514 move-result-object v1
36516 invoke-direct {v0, v1}, Ljava/lang/SecurityException;-><init>(Ljava/lang/String;)V
36524 .method final ensureBootCompleted()V
36534 iget-boolean v0, p0, Lcom/android/server/am/ActivityManagerService;->mBooting:Z
36538 iput-boolean v3, p0, Lcom/android/server/am/ActivityManagerService;->mBooting:Z
36540 iget-boolean v3, p0, Lcom/android/server/am/ActivityManagerService;->mBooted:Z
36542 if-nez v3, :cond_1b
36547 iput-boolean v2, p0, Lcom/android/server/am/ActivityManagerService;->mBooted:Z
36551 .catchall {:try_start_3 .. :try_end_10} :catchall_1d
36553 if-eqz v0, :cond_15
36555 invoke-virtual {p0}, Lcom/android/server/am/ActivityManagerService;->finishBooting()V
36558 if-eqz v1, :cond_1a
36560 invoke-virtual {p0}, Lcom/android/server/am/ActivityManagerService;->enableScreenAfterBoot()V
36576 .catchall {:try_start_1e .. :try_end_1f} :catchall_1d
36581 .method ensurePackageDexOpt(Ljava/lang/String;)V
36584 invoke-static {}, Landroid/app/AppGlobals;->getPackageManager()Landroid/content/pm/IPackageManager;
36586 move-result-object v0
36589 invoke-interface {v0, p1}, Landroid/content/pm/IPackageManager;->performDexOpt(Ljava/lang/String;)Z
36597 iput-boolean v1, p0, Lcom/android/server/am/ActivityManagerService;->mDidDexOpt:Z
36599 .catch Landroid/os/RemoteException; {:try_start_4 .. :try_end_d} :catch_e
36611 .method public final enterSafeMode()V
36617 iget-boolean v0, p0, Lcom/android/server/am/ActivityManagerService;->mSystemReady:Z
36619 .catchall {:try_start_1 .. :try_end_3} :catchall_e
36624 invoke-static {}, Landroid/app/AppGlobals;->getPackageManager()Landroid/content/pm/IPackageManager;
36626 move-result-object v0
36628 invoke-interface {v0}, Landroid/content/pm/IPackageManager;->enterSafeMode()V
36630 .catchall {:try_start_5 .. :try_end_c} :catchall_e
36631 .catch Landroid/os/RemoteException; {:try_start_5 .. :try_end_c} :catch_11
36645 .catchall {:try_start_c .. :try_end_10} :catchall_e
36655 .method public final finishActivity(Landroid/os/IBinder;ILandroid/content/Intent;)Z
36662 if-eqz p3, :cond_12
36664 invoke-virtual {p3}, Landroid/content/Intent;->hasFileDescriptors()Z
36668 if-ne v0, v1, :cond_12
36670 new-instance v0, Ljava/lang/IllegalArgumentException;
36672 const-string v1, "File descriptors passed in Intent"
36674 invoke-direct {v0, v1}, Ljava/lang/IllegalArgumentException;-><init>(Ljava/lang/String;)V
36682 iget-object v0, p0, Lcom/android/server/am/ActivityManagerService;->mController:Landroid/app/IActivityController;
36684 if-eqz v0, :cond_35
36686 iget-object v0, p0, Lcom/android/server/am/ActivityManagerService;->mMainStack:Lcom/android/server/am/ActivityStack;
36690 invoke-virtual {v0, p1, v1}, Lcom/android/server/am/ActivityStack;->topRunningActivityLocked(Landroid/os/IBinder;I)Lcom/android/server/am/ActivityRecord;
36692 .catchall {:try_start_13 .. :try_end_1d} :catchall_32
36694 move-result-object v7
36696 if-eqz v7, :cond_35
36701 iget-object v0, p0, Lcom/android/server/am/ActivityManagerService;->mController:Landroid/app/IActivityController;
36703 iget-object v1, v7, Lcom/android/server/am/ActivityRecord;->packageName:Ljava/lang/String;
36705 invoke-interface {v0, v1}, Landroid/app/IActivityController;->activityResuming(Ljava/lang/String;)Z
36707 .catchall {:try_start_21 .. :try_end_28} :catchall_32
36708 .catch Landroid/os/RemoteException; {:try_start_21 .. :try_end_28} :catch_2d
36713 if-nez v11, :cond_35
36726 iput-object v0, p0, Lcom/android/server/am/ActivityManagerService;->mController:Landroid/app/IActivityController;
36735 .catchall {:try_start_2b .. :try_end_34} :catchall_32
36741 invoke-static {}, Landroid/os/Binder;->clearCallingIdentity()J
36743 move-result-wide v8
36745 iget-object v0, p0, Lcom/android/server/am/ActivityManagerService;->mMainStack:Lcom/android/server/am/ActivityStack;
36747 const-string v4, "app-request"
36757 invoke-virtual/range {v0 .. v5}, Lcom/android/server/am/ActivityStack;->requestFinishActivityLocked(Landroid/os/IBinder;ILandroid/content/Intent;Ljava/lang/String;Z)Z
36761 invoke-static {v8, v9}, Landroid/os/Binder;->restoreCallingIdentity(J)V
36765 .catchall {:try_start_35 .. :try_end_49} :catchall_32
36770 .method public finishActivityAffinity(Landroid/os/IBinder;)Z
36776 invoke-static {}, Landroid/os/Binder;->clearCallingIdentity()J
36778 move-result-wide v0
36780 iget-object v3, p0, Lcom/android/server/am/ActivityManagerService;->mMainStack:Lcom/android/server/am/ActivityStack;
36782 invoke-virtual {v3, p1}, Lcom/android/server/am/ActivityStack;->finishActivityAffinityLocked(Landroid/os/IBinder;)Z
36786 invoke-static {v0, v1}, Landroid/os/Binder;->restoreCallingIdentity(J)V
36797 .catchall {:try_start_1 .. :try_end_12} :catchall_10
36802 .method final finishBooting()V
36805 new-instance v21, Landroid/content/IntentFilter;
36807 invoke-direct/range {v21 .. v21}, Landroid/content/IntentFilter;-><init>()V
36809 const-string v2, "android.intent.action.QUERY_PACKAGE_RESTART"
36811 move-object/from16 v0, v21
36813 invoke-virtual {v0, v2}, Landroid/content/IntentFilter;->addAction(Ljava/lang/String;)V
36815 const-string v2, "package"
36817 move-object/from16 v0, v21
36819 invoke-virtual {v0, v2}, Landroid/content/IntentFilter;->addDataScheme(Ljava/lang/String;)V
36821 move-object/from16 v0, p0
36823 iget-object v2, v0, Lcom/android/server/am/ActivityManagerService;->mContext:Landroid/content/Context;
36825 new-instance v3, Lcom/android/server/am/ActivityManagerService$6;
36827 move-object/from16 v0, p0
36829 invoke-direct {v3, v0}, Lcom/android/server/am/ActivityManagerService$6;-><init>(Lcom/android/server/am/ActivityManagerService;)V
36831 move-object/from16 v0, v21
36833 invoke-virtual {v2, v3, v0}, Landroid/content/Context;->registerReceiver(Landroid/content/BroadcastReceiver;Landroid/content/IntentFilter;)Landroid/content/Intent;
36835 move-object/from16 v0, p0
36837 iget-object v2, v0, Lcom/android/server/am/ActivityManagerService;->mContext:Landroid/content/Context;
36839 new-instance v3, Lcom/android/server/am/ActivityManagerService$7;
36841 move-object/from16 v0, p0
36843 invoke-direct {v3, v0}, Lcom/android/server/am/ActivityManagerService$7;-><init>(Lcom/android/server/am/ActivityManagerService;)V
36845 invoke-static {v2, v3}, Lcom/android/internal/app/ThemeUtils;->registerThemeChangeReceiver(Landroid/content/Context;Landroid/content/BroadcastReceiver;)V
36850 move-object/from16 v0, p0
36852 iget-object v2, v0, Lcom/android/server/am/ActivityManagerService;->mProcessesOnHold:Ljava/util/ArrayList;
36854 invoke-virtual {v2}, Ljava/util/ArrayList;->size()I
36858 if-lez v17, :cond_64
36860 new-instance v22, Ljava/util/ArrayList;
36862 move-object/from16 v0, p0
36864 iget-object v2, v0, Lcom/android/server/am/ActivityManagerService;->mProcessesOnHold:Ljava/util/ArrayList;
36866 move-object/from16 v0, v22
36868 invoke-direct {v0, v2}, Ljava/util/ArrayList;-><init>(Ljava/util/Collection;)V
36873 move/from16 v0, v19
36875 move/from16 v1, v17
36877 if-ge v0, v1, :cond_64
36879 move-object/from16 v0, v22
36881 move/from16 v1, v19
36883 invoke-virtual {v0, v1}, Ljava/util/ArrayList;->get(I)Ljava/lang/Object;
36885 move-result-object v2
36887 check-cast v2, Lcom/android/server/am/ProcessRecord;
36889 const-string v3, "on-hold"
36893 move-object/from16 v0, p0
36895 invoke-direct {v0, v2, v3, v4}, Lcom/android/server/am/ActivityManagerService;->startProcessLocked(Lcom/android/server/am/ProcessRecord;Ljava/lang/String;Ljava/lang/String;)V
36897 add-int/lit8 v19, v19, 0x1
36902 move-object/from16 v0, p0
36904 iget v2, v0, Lcom/android/server/am/ActivityManagerService;->mFactoryTest:I
36908 if-eq v2, v3, :cond_e4
36910 move-object/from16 v0, p0
36912 iget-object v2, v0, Lcom/android/server/am/ActivityManagerService;->mHandler:Landroid/os/Handler;
36916 invoke-virtual {v2, v3}, Landroid/os/Handler;->obtainMessage(I)Landroid/os/Message;
36918 move-result-object v20
36920 move-object/from16 v0, p0
36922 iget-object v2, v0, Lcom/android/server/am/ActivityManagerService;->mHandler:Landroid/os/Handler;
36924 const-wide/32 v3, 0xdbba0
36926 move-object/from16 v0, v20
36928 invoke-virtual {v2, v0, v3, v4}, Landroid/os/Handler;->sendMessageDelayed(Landroid/os/Message;J)Z
36930 const-string v2, "sys.boot_completed"
36932 const-string v3, "1"
36934 invoke-static {v2, v3}, Landroid/os/SystemProperties;->set(Ljava/lang/String;Ljava/lang/String;)V
36936 const-string v2, "dev.bootcomplete"
36938 const-string v3, "1"
36940 invoke-static {v2, v3}, Landroid/os/SystemProperties;->set(Ljava/lang/String;Ljava/lang/String;)V
36945 move-object/from16 v0, p0
36947 iget-object v2, v0, Lcom/android/server/am/ActivityManagerService;->mStartedUsers:Landroid/util/SparseArray;
36949 invoke-virtual {v2}, Landroid/util/SparseArray;->size()I
36953 move/from16 v0, v18
36955 if-ge v0, v2, :cond_e4
36957 move-object/from16 v0, p0
36959 iget-object v2, v0, Lcom/android/server/am/ActivityManagerService;->mStartedUsers:Landroid/util/SparseArray;
36961 move/from16 v0, v18
36963 invoke-virtual {v2, v0}, Landroid/util/SparseArray;->valueAt(I)Ljava/lang/Object;
36965 move-result-object v23
36967 check-cast v23, Lcom/android/server/am/UserStartedState;
36969 move-object/from16 v0, v23
36971 iget v2, v0, Lcom/android/server/am/UserStartedState;->mState:I
36973 if-nez v2, :cond_e1
36977 move-object/from16 v0, v23
36979 iput v2, v0, Lcom/android/server/am/UserStartedState;->mState:I
36981 move-object/from16 v0, p0
36983 iget-object v2, v0, Lcom/android/server/am/ActivityManagerService;->mStartedUsers:Landroid/util/SparseArray;
36985 move/from16 v0, v18
36987 invoke-virtual {v2, v0}, Landroid/util/SparseArray;->keyAt(I)I
36991 new-instance v5, Landroid/content/Intent;
36993 const-string v2, "android.intent.action.BOOT_COMPLETED"
36997 invoke-direct {v5, v2, v3}, Landroid/content/Intent;-><init>(Ljava/lang/String;Landroid/net/Uri;)V
36999 const-string v2, "android.intent.extra.user_handle"
37001 move/from16 v0, v16
37003 invoke-virtual {v5, v2, v0}, Landroid/content/Intent;->putExtra(Ljava/lang/String;I)Landroid/content/Intent;
37019 const-string v11, "android.permission.RECEIVE_BOOT_COMPLETED"
37025 sget v14, Lcom/android/server/am/ActivityManagerService;->MY_PID:I
37027 const/16 v15, 0x3e8
37029 move-object/from16 v2, p0
37031 invoke-direct/range {v2 .. v16}, Lcom/android/server/am/ActivityManagerService;->broadcastIntentLocked(Lcom/android/server/am/ProcessRecord;Ljava/lang/String;Landroid/content/Intent;Ljava/lang/String;Landroid/content/IIntentReceiver;ILjava/lang/String;Landroid/os/Bundle;Ljava/lang/String;ZZIII)I
37034 add-int/lit8 v18, v18, 0x1
37048 .catchall {:try_start_32 .. :try_end_e8} :catchall_e6
37053 .method public final finishHeavyWeightApp()V
37056 const-string v0, "android.permission.FORCE_STOP_PACKAGES"
37058 invoke-virtual {p0, v0}, Lcom/android/server/am/ActivityManagerService;->checkCallingPermission(Ljava/lang/String;)I
37062 if-eqz v0, :cond_44
37064 new-instance v0, Ljava/lang/StringBuilder;
37066 invoke-direct {v0}, Ljava/lang/StringBuilder;-><init>()V
37068 const-string v3, "Permission Denial: finishHeavyWeightApp() from pid="
37070 invoke-virtual {v0, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
37072 move-result-object v0
37074 invoke-static {}, Landroid/os/Binder;->getCallingPid()I
37078 invoke-virtual {v0, v3}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
37080 move-result-object v0
37082 const-string v3, ", uid="
37084 invoke-virtual {v0, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
37086 move-result-object v0
37088 invoke-static {}, Landroid/os/Binder;->getCallingUid()I
37092 invoke-virtual {v0, v3}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
37094 move-result-object v0
37096 const-string v3, " requires "
37098 invoke-virtual {v0, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
37100 move-result-object v0
37102 const-string v3, "android.permission.FORCE_STOP_PACKAGES"
37104 invoke-virtual {v0, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
37106 move-result-object v0
37108 invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
37110 move-result-object v9
37112 const-string v0, "ActivityManager"
37114 invoke-static {v0, v9}, Landroid/util/Slog;->w(Ljava/lang/String;Ljava/lang/String;)I
37116 new-instance v0, Ljava/lang/SecurityException;
37118 invoke-direct {v0, v9}, Ljava/lang/SecurityException;-><init>(Ljava/lang/String;)V
37126 iget-object v0, p0, Lcom/android/server/am/ActivityManagerService;->mHeavyWeightProcess:Lcom/android/server/am/ProcessRecord;
37128 if-nez v0, :cond_4b
37136 new-instance v7, Ljava/util/ArrayList;
37138 iget-object v0, p0, Lcom/android/server/am/ActivityManagerService;->mHeavyWeightProcess:Lcom/android/server/am/ProcessRecord;
37140 iget-object v0, v0, Lcom/android/server/am/ProcessRecord;->activities:Ljava/util/ArrayList;
37142 invoke-direct {v7, v0}, Ljava/util/ArrayList;-><init>(Ljava/util/Collection;)V
37147 invoke-virtual {v7}, Ljava/util/ArrayList;->size()I
37151 if-ge v8, v0, :cond_7c
37153 invoke-virtual {v7, v8}, Ljava/util/ArrayList;->get(I)Ljava/lang/Object;
37155 move-result-object v1
37157 check-cast v1, Lcom/android/server/am/ActivityRecord;
37159 iget-boolean v0, v1, Lcom/android/server/am/ActivityRecord;->finishing:Z
37161 if-nez v0, :cond_79
37163 iget-object v0, p0, Lcom/android/server/am/ActivityManagerService;->mMainStack:Lcom/android/server/am/ActivityStack;
37165 iget-object v3, v1, Lcom/android/server/am/ActivityRecord;->appToken:Landroid/view/IApplicationToken$Stub;
37167 invoke-virtual {v0, v3}, Lcom/android/server/am/ActivityStack;->indexOfTokenLocked(Landroid/os/IBinder;)I
37171 if-ltz v2, :cond_79
37173 iget-object v0, p0, Lcom/android/server/am/ActivityManagerService;->mMainStack:Lcom/android/server/am/ActivityStack;
37179 const-string v5, "finish-heavy"
37183 invoke-virtual/range {v0 .. v6}, Lcom/android/server/am/ActivityStack;->finishActivityLocked(Lcom/android/server/am/ActivityRecord;IILandroid/content/Intent;Ljava/lang/String;Z)Z
37186 add-int/lit8 v8, v8, 0x1
37191 iget-object v0, p0, Lcom/android/server/am/ActivityManagerService;->mHandler:Landroid/os/Handler;
37193 iget-object v3, p0, Lcom/android/server/am/ActivityManagerService;->mHandler:Landroid/os/Handler;
37197 iget-object v5, p0, Lcom/android/server/am/ActivityManagerService;->mHeavyWeightProcess:Lcom/android/server/am/ProcessRecord;
37199 iget v5, v5, Lcom/android/server/am/ProcessRecord;->userId:I
37203 invoke-virtual {v3, v4, v5, v6}, Landroid/os/Handler;->obtainMessage(III)Landroid/os/Message;
37205 move-result-object v3
37207 invoke-virtual {v0, v3}, Landroid/os/Handler;->sendMessage(Landroid/os/Message;)Z
37211 iput-object v0, p0, Lcom/android/server/am/ActivityManagerService;->mHeavyWeightProcess:Lcom/android/server/am/ProcessRecord;
37222 .catchall {:try_start_45 .. :try_end_95} :catchall_93
37227 .method public finishInstrumentation(Landroid/app/IApplicationThread;ILandroid/os/Bundle;)V
37230 invoke-static {}, Landroid/os/UserHandle;->getCallingUserId()I
37234 if-eqz p3, :cond_14
37236 invoke-virtual {p3}, Landroid/os/Bundle;->hasFileDescriptors()Z
37240 if-eqz v4, :cond_14
37242 new-instance v4, Ljava/lang/IllegalArgumentException;
37244 const-string v5, "File descriptors passed in Intent"
37246 invoke-direct {v4, v5}, Ljava/lang/IllegalArgumentException;-><init>(Ljava/lang/String;)V
37254 invoke-virtual {p0, p1}, Lcom/android/server/am/ActivityManagerService;->getRecordForAppLocked(Landroid/app/IApplicationThread;)Lcom/android/server/am/ProcessRecord;
37256 move-result-object v0
37258 if-nez v0, :cond_35
37260 const-string v4, "ActivityManager"
37262 new-instance v5, Ljava/lang/StringBuilder;
37264 invoke-direct {v5}, Ljava/lang/StringBuilder;-><init>()V
37266 const-string v6, "finishInstrumentation: no app for "
37268 invoke-virtual {v5, v6}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
37270 move-result-object v5
37272 invoke-virtual {v5, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
37274 move-result-object v5
37276 invoke-virtual {v5}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
37278 move-result-object v5
37280 invoke-static {v4, v5}, Landroid/util/Slog;->w(Ljava/lang/String;Ljava/lang/String;)I
37288 invoke-static {}, Landroid/os/Binder;->clearCallingIdentity()J
37290 move-result-wide v1
37292 invoke-virtual {p0, v0, p2, p3}, Lcom/android/server/am/ActivityManagerService;->finishInstrumentationLocked(Lcom/android/server/am/ProcessRecord;ILandroid/os/Bundle;)V
37294 invoke-static {v1, v2}, Landroid/os/Binder;->restoreCallingIdentity(J)V
37305 .catchall {:try_start_15 .. :try_end_43} :catchall_41
37310 .method finishInstrumentationLocked(Lcom/android/server/am/ProcessRecord;ILandroid/os/Bundle;)V
37319 iget-object v0, p1, Lcom/android/server/am/ProcessRecord;->instrumentationWatcher:Landroid/app/IInstrumentationWatcher;
37324 iget-object v0, p1, Lcom/android/server/am/ProcessRecord;->instrumentationWatcher:Landroid/app/IInstrumentationWatcher;
37326 iget-object v1, p1, Lcom/android/server/am/ProcessRecord;->instrumentationClass:Landroid/content/ComponentName;
37328 invoke-interface {v0, v1, p2, p3}, Landroid/app/IInstrumentationWatcher;->instrumentationFinished(Landroid/content/ComponentName;ILandroid/os/Bundle;)V
37330 .catch Landroid/os/RemoteException; {:try_start_7 .. :try_end_e} :catch_26
37334 iput-object v2, p1, Lcom/android/server/am/ProcessRecord;->instrumentationWatcher:Landroid/app/IInstrumentationWatcher;
37336 iput-object v2, p1, Lcom/android/server/am/ProcessRecord;->instrumentationClass:Landroid/content/ComponentName;
37338 iput-object v2, p1, Lcom/android/server/am/ProcessRecord;->instrumentationInfo:Landroid/content/pm/ApplicationInfo;
37340 iput-object v2, p1, Lcom/android/server/am/ProcessRecord;->instrumentationProfileFile:Ljava/lang/String;
37342 iput-object v2, p1, Lcom/android/server/am/ProcessRecord;->instrumentationArguments:Landroid/os/Bundle;
37344 iget-object v0, p1, Lcom/android/server/am/ProcessRecord;->info:Landroid/content/pm/ApplicationInfo;
37346 iget-object v1, v0, Landroid/content/pm/ApplicationInfo;->packageName:Ljava/lang/String;
37350 iget v7, p1, Lcom/android/server/am/ProcessRecord;->userId:I
37358 invoke-direct/range {v0 .. v7}, Lcom/android/server/am/ActivityManagerService;->forceStopPackageLocked(Ljava/lang/String;IZZZZI)Z
37368 .method public finishReceiver(Landroid/os/IBinder;ILjava/lang/String;Landroid/os/Bundle;Z)V
37371 if-eqz p4, :cond_10
37373 invoke-virtual {p4}, Landroid/os/Bundle;->hasFileDescriptors()Z
37377 if-eqz v0, :cond_10
37379 new-instance v0, Ljava/lang/IllegalArgumentException;
37381 const-string v2, "File descriptors passed in Bundle"
37383 invoke-direct {v0, v2}, Ljava/lang/IllegalArgumentException;-><init>(Ljava/lang/String;)V
37388 invoke-static {}, Landroid/os/Binder;->clearCallingIdentity()J
37390 move-result-wide v8
37399 .catchall {:try_start_16 .. :try_end_17} :catchall_3b
37402 invoke-virtual {p0, p1}, Lcom/android/server/am/ActivityManagerService;->broadcastRecordForReceiverLocked(Landroid/os/IBinder;)Lcom/android/server/am/BroadcastRecord;
37404 move-result-object v1
37406 if-eqz v1, :cond_28
37408 iget-object v0, v1, Lcom/android/server/am/BroadcastRecord;->queue:Lcom/android/server/am/BroadcastQueue;
37420 invoke-virtual/range {v0 .. v6}, Lcom/android/server/am/BroadcastQueue;->finishReceiverLocked(Lcom/android/server/am/BroadcastRecord;ILjava/lang/String;Landroid/os/Bundle;ZZ)Z
37427 .catchall {:try_start_17 .. :try_end_29} :catchall_38
37429 if-eqz v7, :cond_31
37432 iget-object v0, v1, Lcom/android/server/am/BroadcastRecord;->queue:Lcom/android/server/am/BroadcastQueue;
37436 invoke-virtual {v0, v2}, Lcom/android/server/am/BroadcastQueue;->processNextBroadcast(Z)V
37439 invoke-virtual {p0}, Lcom/android/server/am/ActivityManagerService;->trimApplications()V
37441 .catchall {:try_start_2b .. :try_end_34} :catchall_3b
37443 invoke-static {v8, v9}, Landroid/os/Binder;->restoreCallingIdentity(J)V
37453 .catchall {:try_start_39 .. :try_end_3a} :catchall_38
37458 .catchall {:try_start_3a .. :try_end_3b} :catchall_3b
37463 invoke-static {v8, v9}, Landroid/os/Binder;->restoreCallingIdentity(J)V
37468 .method public final finishSubActivity(Landroid/os/IBinder;Ljava/lang/String;I)V
37474 invoke-static {}, Landroid/os/Binder;->clearCallingIdentity()J
37476 move-result-wide v0
37478 iget-object v2, p0, Lcom/android/server/am/ActivityManagerService;->mMainStack:Lcom/android/server/am/ActivityStack;
37480 invoke-virtual {v2, p1, p2, p3}, Lcom/android/server/am/ActivityStack;->finishSubActivityLocked(Landroid/os/IBinder;Ljava/lang/String;I)V
37482 invoke-static {v0, v1}, Landroid/os/Binder;->restoreCallingIdentity(J)V
37493 .catchall {:try_start_1 .. :try_end_11} :catchall_f
37498 .method finishUserStop(Lcom/android/server/am/UserStartedState;)V
37501 iget-object v4, p1, Lcom/android/server/am/UserStartedState;->mHandle:Landroid/os/UserHandle;
37503 invoke-virtual {v4}, Landroid/os/UserHandle;->getIdentifier()I
37510 new-instance v0, Ljava/util/ArrayList;
37512 iget-object v4, p1, Lcom/android/server/am/UserStartedState;->mStopCallbacks:Ljava/util/ArrayList;
37514 invoke-direct {v0, v4}, Ljava/util/ArrayList;-><init>(Ljava/util/Collection;)V
37516 iget-object v4, p0, Lcom/android/server/am/ActivityManagerService;->mStartedUsers:Landroid/util/SparseArray;
37518 invoke-virtual {v4, v3}, Landroid/util/SparseArray;->get(I)Ljava/lang/Object;
37520 move-result-object v4
37522 if-eq v4, p1, :cond_2d
37529 .catchall {:try_start_7 .. :try_end_18} :catchall_4a
37534 invoke-virtual {v0}, Ljava/util/ArrayList;->size()I
37538 if-ge v1, v4, :cond_59
37540 if-eqz v2, :cond_4d
37543 invoke-virtual {v0, v1}, Ljava/util/ArrayList;->get(I)Ljava/lang/Object;
37545 move-result-object v4
37547 check-cast v4, Landroid/app/IStopUserCallback;
37549 invoke-interface {v4, v3}, Landroid/app/IStopUserCallback;->userStopped(I)V
37551 .catch Landroid/os/RemoteException; {:try_start_21 .. :try_end_2a} :catch_57
37554 add-int/lit8 v1, v1, 0x1
37560 iget v4, p1, Lcom/android/server/am/UserStartedState;->mState:I
37564 if-eq v4, v5, :cond_34
37573 iget-object v4, p0, Lcom/android/server/am/ActivityManagerService;->mStartedUsers:Landroid/util/SparseArray;
37575 invoke-virtual {v4, v3}, Landroid/util/SparseArray;->remove(I)V
37577 iget-object v4, p0, Lcom/android/server/am/ActivityManagerService;->mUserLru:Ljava/util/ArrayList;
37579 invoke-static {v3}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
37581 move-result-object v5
37583 invoke-virtual {v4, v5}, Ljava/util/ArrayList;->remove(Ljava/lang/Object;)Z
37585 invoke-direct {p0}, Lcom/android/server/am/ActivityManagerService;->updateStartedUserArrayLocked()V
37587 invoke-direct {p0, v3}, Lcom/android/server/am/ActivityManagerService;->forceStopUserLocked(I)V
37596 .catchall {:try_start_2d .. :try_end_4c} :catchall_4a
37602 invoke-virtual {v0, v1}, Ljava/util/ArrayList;->get(I)Ljava/lang/Object;
37604 move-result-object v4
37606 check-cast v4, Landroid/app/IStopUserCallback;
37608 invoke-interface {v4, v3}, Landroid/app/IStopUserCallback;->userStopAborted(I)V
37610 .catch Landroid/os/RemoteException; {:try_start_4d .. :try_end_56} :catch_57
37623 .method finishUserSwitch(Lcom/android/server/am/UserStartedState;)V
37629 move-object/from16 v0, p1
37631 iget v1, v0, Lcom/android/server/am/UserStartedState;->mState:I
37633 if-nez v1, :cond_49
37635 move-object/from16 v0, p0
37637 iget-object v1, v0, Lcom/android/server/am/ActivityManagerService;->mStartedUsers:Landroid/util/SparseArray;
37639 move-object/from16 v0, p1
37641 iget-object v2, v0, Lcom/android/server/am/UserStartedState;->mHandle:Landroid/os/UserHandle;
37643 invoke-virtual {v2}, Landroid/os/UserHandle;->getIdentifier()I
37647 invoke-virtual {v1, v2}, Landroid/util/SparseArray;->get(I)Ljava/lang/Object;
37649 move-result-object v1
37651 move-object/from16 v0, p1
37653 if-ne v1, v0, :cond_49
37657 move-object/from16 v0, p1
37659 iput v1, v0, Lcom/android/server/am/UserStartedState;->mState:I
37661 move-object/from16 v0, p1
37663 iget-object v1, v0, Lcom/android/server/am/UserStartedState;->mHandle:Landroid/os/UserHandle;
37665 invoke-virtual {v1}, Landroid/os/UserHandle;->getIdentifier()I
37669 new-instance v4, Landroid/content/Intent;
37671 const-string v1, "android.intent.action.BOOT_COMPLETED"
37675 invoke-direct {v4, v1, v2}, Landroid/content/Intent;-><init>(Ljava/lang/String;Landroid/net/Uri;)V
37677 const-string v1, "android.intent.extra.user_handle"
37679 invoke-virtual {v4, v1, v15}, Landroid/content/Intent;->putExtra(Ljava/lang/String;I)Landroid/content/Intent;
37695 const-string v10, "android.permission.RECEIVE_BOOT_COMPLETED"
37701 sget v13, Lcom/android/server/am/ActivityManagerService;->MY_PID:I
37703 const/16 v14, 0x3e8
37705 move-object/from16 v1, p0
37707 invoke-direct/range {v1 .. v15}, Lcom/android/server/am/ActivityManagerService;->broadcastIntentLocked(Lcom/android/server/am/ProcessRecord;Ljava/lang/String;Landroid/content/Intent;Ljava/lang/String;Landroid/content/IIntentReceiver;ILjava/lang/String;Landroid/os/Bundle;Ljava/lang/String;ZZIII)I
37710 move-object/from16 v0, p0
37712 iget-object v1, v0, Lcom/android/server/am/ActivityManagerService;->mUserLru:Ljava/util/ArrayList;
37714 invoke-virtual {v1}, Ljava/util/ArrayList;->size()I
37723 move/from16 v0, v17
37725 if-le v0, v1, :cond_c1
37727 move-object/from16 v0, p0
37729 iget-object v1, v0, Lcom/android/server/am/ActivityManagerService;->mUserLru:Ljava/util/ArrayList;
37731 invoke-virtual {v1}, Ljava/util/ArrayList;->size()I
37735 move/from16 v0, v16
37737 if-ge v0, v1, :cond_c1
37739 move-object/from16 v0, p0
37741 iget-object v1, v0, Lcom/android/server/am/ActivityManagerService;->mUserLru:Ljava/util/ArrayList;
37743 move/from16 v0, v16
37745 invoke-virtual {v1, v0}, Ljava/util/ArrayList;->get(I)Ljava/lang/Object;
37747 move-result-object v18
37749 check-cast v18, Ljava/lang/Integer;
37751 move-object/from16 v0, p0
37753 iget-object v1, v0, Lcom/android/server/am/ActivityManagerService;->mStartedUsers:Landroid/util/SparseArray;
37755 invoke-virtual/range {v18 .. v18}, Ljava/lang/Integer;->intValue()I
37759 invoke-virtual {v1, v2}, Landroid/util/SparseArray;->get(I)Ljava/lang/Object;
37761 move-result-object v19
37763 check-cast v19, Lcom/android/server/am/UserStartedState;
37765 if-nez v19, :cond_8c
37767 move-object/from16 v0, p0
37769 iget-object v1, v0, Lcom/android/server/am/ActivityManagerService;->mUserLru:Ljava/util/ArrayList;
37771 move/from16 v0, v16
37773 invoke-virtual {v1, v0}, Ljava/util/ArrayList;->remove(I)Ljava/lang/Object;
37775 add-int/lit8 v17, v17, -0x1
37780 move-object/from16 v0, v19
37782 iget v1, v0, Lcom/android/server/am/UserStartedState;->mState:I
37786 if-eq v1, v2, :cond_9a
37788 move-object/from16 v0, v19
37790 iget v1, v0, Lcom/android/server/am/UserStartedState;->mState:I
37794 if-ne v1, v2, :cond_9f
37797 add-int/lit8 v17, v17, -0x1
37799 add-int/lit8 v16, v16, 0x1
37804 invoke-virtual/range {v18 .. v18}, Ljava/lang/Integer;->intValue()I
37808 if-eqz v1, :cond_af
37810 invoke-virtual/range {v18 .. v18}, Ljava/lang/Integer;->intValue()I
37814 move-object/from16 v0, p0
37816 iget v2, v0, Lcom/android/server/am/ActivityManagerService;->mCurrentUserId:I
37818 if-ne v1, v2, :cond_b2
37821 add-int/lit8 v16, v16, 0x1
37826 invoke-virtual/range {v18 .. v18}, Ljava/lang/Integer;->intValue()I
37832 move-object/from16 v0, p0
37834 invoke-direct {v0, v1, v2}, Lcom/android/server/am/ActivityManagerService;->stopUserLocked(ILandroid/app/IStopUserCallback;)I
37836 add-int/lit8 v17, v17, -0x1
37838 add-int/lit8 v16, v16, 0x1
37852 .catchall {:try_start_1 .. :try_end_c5} :catchall_c3
37857 .method public forceStopPackage(Ljava/lang/String;I)V
37860 const-string v3, "android.permission.FORCE_STOP_PACKAGES"
37862 move-object/from16 v0, p0
37864 invoke-virtual {v0, v3}, Lcom/android/server/am/ActivityManagerService;->checkCallingPermission(Ljava/lang/String;)I
37868 if-eqz v3, :cond_4a
37870 new-instance v3, Ljava/lang/StringBuilder;
37872 invoke-direct {v3}, Ljava/lang/StringBuilder;-><init>()V
37874 const-string v4, "Permission Denial: forceStopPackage() from pid="
37876 invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
37878 move-result-object v3
37880 invoke-static {}, Landroid/os/Binder;->getCallingPid()I
37884 invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
37886 move-result-object v3
37888 const-string v4, ", uid="
37890 invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
37892 move-result-object v3
37894 invoke-static {}, Landroid/os/Binder;->getCallingUid()I
37898 invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
37900 move-result-object v3
37902 const-string v4, " requires "
37904 invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
37906 move-result-object v3
37908 const-string v4, "android.permission.FORCE_STOP_PACKAGES"
37910 invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
37912 move-result-object v3
37914 invoke-virtual {v3}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
37916 move-result-object v17
37918 const-string v3, "ActivityManager"
37920 move-object/from16 v0, v17
37922 invoke-static {v3, v0}, Landroid/util/Slog;->w(Ljava/lang/String;Ljava/lang/String;)I
37924 new-instance v3, Ljava/lang/SecurityException;
37926 move-object/from16 v0, v17
37928 invoke-direct {v3, v0}, Ljava/lang/SecurityException;-><init>(Ljava/lang/String;)V
37933 invoke-static {}, Landroid/os/Binder;->getCallingPid()I
37937 invoke-static {}, Landroid/os/Binder;->getCallingUid()I
37945 const-string v9, "forceStopPackage"
37949 move-object/from16 v3, p0
37953 invoke-virtual/range {v3 .. v10}, Lcom/android/server/am/ActivityManagerService;->handleIncomingUser(IIIZZLjava/lang/String;Ljava/lang/String;)I
37957 invoke-static {}, Landroid/os/Binder;->clearCallingIdentity()J
37959 move-result-wide v12
37962 invoke-static {}, Landroid/app/AppGlobals;->getPackageManager()Landroid/content/pm/IPackageManager;
37964 move-result-object v19
37968 .catchall {:try_start_63 .. :try_end_68} :catchall_b7
37974 if-ne v0, v3, :cond_ab
37977 invoke-virtual/range {p0 .. p0}, Lcom/android/server/am/ActivityManagerService;->getUsersLocked()[I
37979 move-result-object v21
37982 move-object/from16 v11, v21
37984 array-length v0, v11
37986 move/from16 v16, v0
37991 move/from16 v0, v16
37993 if-ge v15, v0, :cond_101
37997 .catchall {:try_start_6d .. :try_end_7d} :catchall_b4
38002 move-object/from16 v0, v19
38004 move-object/from16 v1, p1
38006 move/from16 v2, v20
38008 invoke-interface {v0, v1, v2}, Landroid/content/pm/IPackageManager;->getPackageUid(Ljava/lang/String;I)I
38010 .catchall {:try_start_7f .. :try_end_88} :catchall_b4
38011 .catch Landroid/os/RemoteException; {:try_start_7f .. :try_end_88} :catch_106
38018 move/from16 v0, v18
38020 if-ne v0, v3, :cond_bc
38023 const-string v3, "ActivityManager"
38025 new-instance v4, Ljava/lang/StringBuilder;
38027 invoke-direct {v4}, Ljava/lang/StringBuilder;-><init>()V
38029 const-string v5, "Invalid packageName: "
38031 invoke-virtual {v4, v5}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
38033 move-result-object v4
38035 move-object/from16 v0, p1
38037 invoke-virtual {v4, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
38039 move-result-object v4
38041 invoke-virtual {v4}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
38043 move-result-object v4
38045 invoke-static {v3, v4}, Landroid/util/Slog;->w(Ljava/lang/String;Ljava/lang/String;)I
38049 add-int/lit8 v15, v15, 0x1
38056 new-array v0, v3, [I
38058 move-object/from16 v21, v0
38071 .catchall {:try_start_8e .. :try_end_b6} :catchall_b4
38076 .catchall {:try_start_b6 .. :try_end_b7} :catchall_b7
38081 invoke-static {v12, v13}, Landroid/os/Binder;->restoreCallingIdentity(J)V
38089 move-object/from16 v0, v19
38091 move-object/from16 v1, p1
38093 move/from16 v2, v20
38095 invoke-interface {v0, v1, v3, v2}, Landroid/content/pm/IPackageManager;->setPackageStoppedState(Ljava/lang/String;ZI)V
38097 .catchall {:try_start_bd .. :try_end_c6} :catchall_b4
38098 .catch Landroid/os/RemoteException; {:try_start_bd .. :try_end_c6} :catch_108
38099 .catch Ljava/lang/IllegalArgumentException; {:try_start_bd .. :try_end_c6} :catch_db
38105 move-object/from16 v0, p0
38107 move/from16 v1, v20
38109 invoke-virtual {v0, v1, v3}, Lcom/android/server/am/ActivityManagerService;->isUserRunningLocked(IZ)Z
38113 if-eqz v3, :cond_a8
38115 move-object/from16 v0, p0
38117 move-object/from16 v1, p1
38119 move/from16 v2, v18
38121 invoke-direct {v0, v1, v2}, Lcom/android/server/am/ActivityManagerService;->forceStopPackageLocked(Ljava/lang/String;I)V
38128 const-string v3, "ActivityManager"
38130 new-instance v4, Ljava/lang/StringBuilder;
38132 invoke-direct {v4}, Ljava/lang/StringBuilder;-><init>()V
38134 const-string v5, "Failed trying to unstop package "
38136 invoke-virtual {v4, v5}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
38138 move-result-object v4
38140 move-object/from16 v0, p1
38142 invoke-virtual {v4, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
38144 move-result-object v4
38146 const-string v5, ": "
38148 invoke-virtual {v4, v5}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
38150 move-result-object v4
38152 invoke-virtual {v4, v14}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
38154 move-result-object v4
38156 invoke-virtual {v4}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
38158 move-result-object v4
38160 invoke-static {v3, v4}, Landroid/util/Slog;->w(Ljava/lang/String;Ljava/lang/String;)I
38167 .catchall {:try_start_c7 .. :try_end_102} :catchall_b4
38169 invoke-static {v12, v13}, Landroid/os/Binder;->restoreCallingIdentity(J)V
38184 .method foregroundTokenDied(Lcom/android/server/am/ActivityManagerService$ForegroundToken;)V
38190 iget-object v3, p0, Lcom/android/server/am/ActivityManagerService;->mPidsSelfLocked:Landroid/util/SparseArray;
38194 .catchall {:try_start_1 .. :try_end_4} :catchall_29
38197 iget-object v2, p0, Lcom/android/server/am/ActivityManagerService;->mForegroundProcesses:Landroid/util/SparseArray;
38199 iget v4, p1, Lcom/android/server/am/ActivityManagerService$ForegroundToken;->pid:I
38201 invoke-virtual {v2, v4}, Landroid/util/SparseArray;->get(I)Ljava/lang/Object;
38203 move-result-object v0
38205 check-cast v0, Lcom/android/server/am/ActivityManagerService$ForegroundToken;
38207 if-eq v0, p1, :cond_13
38211 .catchall {:try_start_4 .. :try_end_11} :catchall_38
38216 .catchall {:try_start_11 .. :try_end_12} :catchall_29
38223 iget-object v2, p0, Lcom/android/server/am/ActivityManagerService;->mForegroundProcesses:Landroid/util/SparseArray;
38225 iget v4, p1, Lcom/android/server/am/ActivityManagerService$ForegroundToken;->pid:I
38227 invoke-virtual {v2, v4}, Landroid/util/SparseArray;->remove(I)V
38229 iget-object v2, p0, Lcom/android/server/am/ActivityManagerService;->mPidsSelfLocked:Landroid/util/SparseArray;
38231 iget v4, p1, Lcom/android/server/am/ActivityManagerService$ForegroundToken;->pid:I
38233 invoke-virtual {v2, v4}, Landroid/util/SparseArray;->get(I)Ljava/lang/Object;
38235 move-result-object v1
38237 check-cast v1, Lcom/android/server/am/ProcessRecord;
38239 if-nez v1, :cond_2c
38243 .catchall {:try_start_13 .. :try_end_27} :catchall_38
38255 .catchall {:try_start_27 .. :try_end_2b} :catchall_29
38263 iput-object v2, v1, Lcom/android/server/am/ProcessRecord;->forcingToForeground:Landroid/os/IBinder;
38267 iput-boolean v2, v1, Lcom/android/server/am/ProcessRecord;->foregroundServices:Z
38271 .catchall {:try_start_2d .. :try_end_33} :catchall_38
38274 invoke-virtual {p0}, Lcom/android/server/am/ActivityManagerService;->updateOomAdjLocked()V
38278 .catchall {:try_start_33 .. :try_end_37} :catchall_29
38288 .catchall {:try_start_39 .. :try_end_3a} :catchall_38
38293 .catchall {:try_start_3a .. :try_end_3b} :catchall_29
38296 .method public getActivityClassForToken(Landroid/os/IBinder;)Landroid/content/ComponentName;
38302 iget-object v1, p0, Lcom/android/server/am/ActivityManagerService;->mMainStack:Lcom/android/server/am/ActivityStack;
38304 invoke-virtual {v1, p1}, Lcom/android/server/am/ActivityStack;->isInStackLocked(Landroid/os/IBinder;)Lcom/android/server/am/ActivityRecord;
38306 move-result-object v0
38318 iget-object v1, v0, Lcom/android/server/am/ActivityRecord;->intent:Landroid/content/Intent;
38320 invoke-virtual {v1}, Landroid/content/Intent;->getComponent()Landroid/content/ComponentName;
38322 move-result-object v1
38333 .catchall {:try_start_1 .. :try_end_16} :catchall_14
38338 .method getActivityInfoForUser(Landroid/content/pm/ActivityInfo;I)Landroid/content/pm/ActivityInfo;
38345 if-ge p2, v1, :cond_10
38347 iget-object v1, p1, Landroid/content/pm/ActivityInfo;->applicationInfo:Landroid/content/pm/ApplicationInfo;
38349 iget v1, v1, Landroid/content/pm/ApplicationInfo;->uid:I
38353 if-ge v1, v2, :cond_10
38362 new-instance v0, Landroid/content/pm/ActivityInfo;
38364 invoke-direct {v0, p1}, Landroid/content/pm/ActivityInfo;-><init>(Landroid/content/pm/ActivityInfo;)V
38366 iget-object v1, v0, Landroid/content/pm/ActivityInfo;->applicationInfo:Landroid/content/pm/ApplicationInfo;
38368 invoke-virtual {p0, v1, p2}, Lcom/android/server/am/ActivityManagerService;->getAppInfoForUser(Landroid/content/pm/ApplicationInfo;I)Landroid/content/pm/ApplicationInfo;
38370 move-result-object v1
38372 iput-object v1, v0, Landroid/content/pm/ActivityInfo;->applicationInfo:Landroid/content/pm/ApplicationInfo;
38377 .method getAppInfoForUser(Landroid/content/pm/ApplicationInfo;I)Landroid/content/pm/ApplicationInfo;
38388 new-instance v0, Landroid/content/pm/ApplicationInfo;
38390 invoke-direct {v0, p1}, Landroid/content/pm/ApplicationInfo;-><init>(Landroid/content/pm/ApplicationInfo;)V
38392 iget v1, p1, Landroid/content/pm/ApplicationInfo;->uid:I
38394 invoke-direct {p0, v1, p2}, Lcom/android/server/am/ActivityManagerService;->applyUserId(II)I
38398 iput v1, v0, Landroid/content/pm/ApplicationInfo;->uid:I
38400 new-instance v1, Ljava/lang/StringBuilder;
38402 invoke-direct {v1}, Ljava/lang/StringBuilder;-><init>()V
38404 const-string v2, "/data/user/"
38406 invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
38408 move-result-object v1
38410 invoke-virtual {v1, p2}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
38412 move-result-object v1
38414 const-string v2, "/"
38416 invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
38418 move-result-object v1
38420 iget-object v2, p1, Landroid/content/pm/ApplicationInfo;->packageName:Ljava/lang/String;
38422 invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
38424 move-result-object v1
38426 invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
38428 move-result-object v1
38430 iput-object v1, v0, Landroid/content/pm/ApplicationInfo;->dataDir:Ljava/lang/String;
38435 .method public getCallingActivity(Landroid/os/IBinder;)Landroid/content/ComponentName;
38441 invoke-direct {p0, p1}, Lcom/android/server/am/ActivityManagerService;->getCallingRecordLocked(Landroid/os/IBinder;)Lcom/android/server/am/ActivityRecord;
38443 move-result-object v0
38447 iget-object v1, v0, Lcom/android/server/am/ActivityRecord;->intent:Landroid/content/Intent;
38449 invoke-virtual {v1}, Landroid/content/Intent;->getComponent()Landroid/content/ComponentName;
38451 move-result-object v1
38468 .catchall {:try_start_1 .. :try_end_13} :catchall_11
38473 .method public getCallingPackage(Landroid/os/IBinder;)Ljava/lang/String;
38479 invoke-direct {p0, p1}, Lcom/android/server/am/ActivityManagerService;->getCallingRecordLocked(Landroid/os/IBinder;)Lcom/android/server/am/ActivityRecord;
38481 move-result-object v0
38483 if-eqz v0, :cond_11
38485 iget-object v1, v0, Lcom/android/server/am/ActivityRecord;->app:Lcom/android/server/am/ProcessRecord;
38487 if-eqz v1, :cond_11
38489 iget-object v1, v0, Lcom/android/server/am/ActivityRecord;->info:Landroid/content/pm/ActivityInfo;
38491 iget-object v1, v1, Landroid/content/pm/ActivityInfo;->packageName:Ljava/lang/String;
38508 .catchall {:try_start_1 .. :try_end_15} :catchall_13
38513 .method public getConfiguration()Landroid/content/res/Configuration;
38519 new-instance v0, Landroid/content/res/Configuration;
38521 iget-object v1, p0, Lcom/android/server/am/ActivityManagerService;->mConfiguration:Landroid/content/res/Configuration;
38523 invoke-direct {v0, v1}, Landroid/content/res/Configuration;-><init>(Landroid/content/res/Configuration;)V
38534 .catchall {:try_start_1 .. :try_end_c} :catchall_a
38539 .method public final getContentProvider(Landroid/app/IApplicationThread;Ljava/lang/String;IZ)Landroid/app/IActivityManager$ContentProviderHolder;
38544 const-string v0, "getContentProvider"
38546 invoke-virtual {p0, v0}, Lcom/android/server/am/ActivityManagerService;->enforceNotIsolatedCaller(Ljava/lang/String;)V
38548 if-nez p1, :cond_26
38550 new-instance v0, Ljava/lang/StringBuilder;
38552 invoke-direct {v0}, Ljava/lang/StringBuilder;-><init>()V
38554 const-string v1, "null IApplicationThread when getting content provider "
38556 invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
38558 move-result-object v0
38560 invoke-virtual {v0, p2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
38562 move-result-object v0
38564 invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
38566 move-result-object v10
38568 const-string v0, "ActivityManager"
38570 invoke-static {v0, v10}, Landroid/util/Slog;->w(Ljava/lang/String;Ljava/lang/String;)I
38572 new-instance v0, Ljava/lang/SecurityException;
38574 invoke-direct {v0, v10}, Ljava/lang/SecurityException;-><init>(Ljava/lang/String;)V
38579 invoke-static {}, Landroid/os/Binder;->getCallingPid()I
38583 invoke-static {}, Landroid/os/Binder;->getCallingUid()I
38591 const-string v6, "getContentProvider"
38597 invoke-virtual/range {v0 .. v7}, Lcom/android/server/am/ActivityManagerService;->handleIncomingUser(IIIZZLjava/lang/String;Ljava/lang/String;)I
38611 invoke-direct/range {v4 .. v9}, Lcom/android/server/am/ActivityManagerService;->getContentProviderImpl(Landroid/app/IApplicationThread;Ljava/lang/String;Landroid/os/IBinder;ZI)Landroid/app/IActivityManager$ContentProviderHolder;
38613 move-result-object v0
38618 .method public getContentProviderExternal(Ljava/lang/String;ILandroid/os/IBinder;)Landroid/app/IActivityManager$ContentProviderHolder;
38621 const-string v0, "android.permission.ACCESS_CONTENT_PROVIDERS_EXTERNALLY"
38623 const-string v1, "Do not have permission in call getContentProviderExternal()"
38625 invoke-virtual {p0, v0, v1}, Lcom/android/server/am/ActivityManagerService;->enforceCallingPermission(Ljava/lang/String;Ljava/lang/String;)V
38627 invoke-static {}, Landroid/os/Binder;->getCallingPid()I
38631 invoke-static {}, Landroid/os/Binder;->getCallingUid()I
38639 const-string v6, "getContentProvider"
38647 invoke-virtual/range {v0 .. v7}, Lcom/android/server/am/ActivityManagerService;->handleIncomingUser(IIIZZLjava/lang/String;Ljava/lang/String;)I
38651 invoke-direct {p0, p1, p3, p2}, Lcom/android/server/am/ActivityManagerService;->getContentProviderExternalUnchecked(Ljava/lang/String;Landroid/os/IBinder;I)Landroid/app/IActivityManager$ContentProviderHolder;
38653 move-result-object v0
38658 .method public getCurrentUser()Landroid/content/pm/UserInfo;
38661 const-string v1, "android.permission.INTERACT_ACROSS_USERS"
38663 invoke-virtual {p0, v1}, Lcom/android/server/am/ActivityManagerService;->checkCallingPermission(Ljava/lang/String;)I
38667 if-eqz v1, :cond_4c
38669 const-string v1, "android.permission.INTERACT_ACROSS_USERS_FULL"
38671 invoke-virtual {p0, v1}, Lcom/android/server/am/ActivityManagerService;->checkCallingPermission(Ljava/lang/String;)I
38675 if-eqz v1, :cond_4c
38677 new-instance v1, Ljava/lang/StringBuilder;
38679 invoke-direct {v1}, Ljava/lang/StringBuilder;-><init>()V
38681 const-string v2, "Permission Denial: getCurrentUser() from pid="
38683 invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
38685 move-result-object v1
38687 invoke-static {}, Landroid/os/Binder;->getCallingPid()I
38691 invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
38693 move-result-object v1
38695 const-string v2, ", uid="
38697 invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
38699 move-result-object v1
38701 invoke-static {}, Landroid/os/Binder;->getCallingUid()I
38705 invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
38707 move-result-object v1
38709 const-string v2, " requires "
38711 invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
38713 move-result-object v1
38715 const-string v2, "android.permission.INTERACT_ACROSS_USERS"
38717 invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
38719 move-result-object v1
38721 invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
38723 move-result-object v0
38725 const-string v1, "ActivityManager"
38727 invoke-static {v1, v0}, Landroid/util/Slog;->w(Ljava/lang/String;Ljava/lang/String;)I
38729 new-instance v1, Ljava/lang/SecurityException;
38731 invoke-direct {v1, v0}, Ljava/lang/SecurityException;-><init>(Ljava/lang/String;)V
38739 invoke-virtual {p0}, Lcom/android/server/am/ActivityManagerService;->getUserManagerLocked()Lcom/android/server/pm/UserManagerService;
38741 move-result-object v1
38743 iget v2, p0, Lcom/android/server/am/ActivityManagerService;->mCurrentUserId:I
38745 invoke-virtual {v1, v2}, Lcom/android/server/pm/UserManagerService;->getUserInfo(I)Landroid/content/pm/UserInfo;
38747 move-result-object v1
38758 .catchall {:try_start_4d .. :try_end_5b} :catchall_59
38763 .method getCurrentUserIdLocked()I
38766 iget v0, p0, Lcom/android/server/am/ActivityManagerService;->mCurrentUserId:I
38771 .method public getDeviceConfigurationInfo()Landroid/content/pm/ConfigurationInfo;
38774 new-instance v0, Landroid/content/pm/ConfigurationInfo;
38776 invoke-direct {v0}, Landroid/content/pm/ConfigurationInfo;-><init>()V
38781 iget-object v1, p0, Lcom/android/server/am/ActivityManagerService;->mConfiguration:Landroid/content/res/Configuration;
38783 iget v1, v1, Landroid/content/res/Configuration;->touchscreen:I
38785 iput v1, v0, Landroid/content/pm/ConfigurationInfo;->reqTouchScreen:I
38787 iget-object v1, p0, Lcom/android/server/am/ActivityManagerService;->mConfiguration:Landroid/content/res/Configuration;
38789 iget v1, v1, Landroid/content/res/Configuration;->keyboard:I
38791 iput v1, v0, Landroid/content/pm/ConfigurationInfo;->reqKeyboardType:I
38793 iget-object v1, p0, Lcom/android/server/am/ActivityManagerService;->mConfiguration:Landroid/content/res/Configuration;
38795 iget v1, v1, Landroid/content/res/Configuration;->navigation:I
38797 iput v1, v0, Landroid/content/pm/ConfigurationInfo;->reqNavigation:I
38799 iget-object v1, p0, Lcom/android/server/am/ActivityManagerService;->mConfiguration:Landroid/content/res/Configuration;
38801 iget v1, v1, Landroid/content/res/Configuration;->navigation:I
38805 if-eq v1, v2, :cond_26
38807 iget-object v1, p0, Lcom/android/server/am/ActivityManagerService;->mConfiguration:Landroid/content/res/Configuration;
38809 iget v1, v1, Landroid/content/res/Configuration;->navigation:I
38813 if-ne v1, v2, :cond_2c
38816 iget v1, v0, Landroid/content/pm/ConfigurationInfo;->reqInputFeatures:I
38818 or-int/lit8 v1, v1, 0x2
38820 iput v1, v0, Landroid/content/pm/ConfigurationInfo;->reqInputFeatures:I
38823 iget-object v1, p0, Lcom/android/server/am/ActivityManagerService;->mConfiguration:Landroid/content/res/Configuration;
38825 iget v1, v1, Landroid/content/res/Configuration;->keyboard:I
38827 if-eqz v1, :cond_3f
38829 iget-object v1, p0, Lcom/android/server/am/ActivityManagerService;->mConfiguration:Landroid/content/res/Configuration;
38831 iget v1, v1, Landroid/content/res/Configuration;->keyboard:I
38835 if-eq v1, v2, :cond_3f
38837 iget v1, v0, Landroid/content/pm/ConfigurationInfo;->reqInputFeatures:I
38839 or-int/lit8 v1, v1, 0x1
38841 iput v1, v0, Landroid/content/pm/ConfigurationInfo;->reqInputFeatures:I
38844 iget v1, p0, Lcom/android/server/am/ActivityManagerService;->GL_ES_VERSION:I
38846 iput v1, v0, Landroid/content/pm/ConfigurationInfo;->reqGlEsVersion:I
38857 .catchall {:try_start_6 .. :try_end_47} :catchall_45
38862 .method public getFrontActivityScreenCompatMode()I
38865 const-string v0, "getFrontActivityScreenCompatMode"
38867 invoke-virtual {p0, v0}, Lcom/android/server/am/ActivityManagerService;->enforceNotIsolatedCaller(Ljava/lang/String;)V
38872 iget-object v0, p0, Lcom/android/server/am/ActivityManagerService;->mCompatModePackages:Lcom/android/server/am/CompatModePackages;
38874 invoke-virtual {v0}, Lcom/android/server/am/CompatModePackages;->getFrontActivityScreenCompatModeLocked()I
38887 .catchall {:try_start_6 .. :try_end_10} :catchall_e
38892 .method public getIntentSender(ILjava/lang/String;Landroid/os/IBinder;Ljava/lang/String;I[Landroid/content/Intent;[Ljava/lang/String;ILandroid/os/Bundle;I)Landroid/content/IIntentSender;
38895 const-string v1, "getIntentSender"
38897 move-object/from16 v0, p0
38899 invoke-virtual {v0, v1}, Lcom/android/server/am/ActivityManagerService;->enforceNotIsolatedCaller(Ljava/lang/String;)V
38901 if-eqz p6, :cond_66
38903 move-object/from16 v0, p6
38905 array-length v1, v0
38909 if-ge v1, v2, :cond_17
38911 new-instance v1, Ljava/lang/IllegalArgumentException;
38913 const-string v2, "Intents array length must be >= 1"
38915 invoke-direct {v1, v2}, Ljava/lang/IllegalArgumentException;-><init>(Ljava/lang/String;)V
38923 move-object/from16 v0, p6
38925 array-length v1, v0
38927 move/from16 v0, v17
38929 if-ge v0, v1, :cond_54
38931 aget-object v18, p6, v17
38933 if-eqz v18, :cond_51
38935 invoke-virtual/range {v18 .. v18}, Landroid/content/Intent;->hasFileDescriptors()Z
38939 if-eqz v1, :cond_32
38941 new-instance v1, Ljava/lang/IllegalArgumentException;
38943 const-string v2, "File descriptors passed in Intent"
38945 invoke-direct {v1, v2}, Ljava/lang/IllegalArgumentException;-><init>(Ljava/lang/String;)V
38954 if-ne v0, v1, :cond_48
38956 invoke-virtual/range {v18 .. v18}, Landroid/content/Intent;->getFlags()I
38960 const/high16 v2, 0x400
38962 and-int/2addr v1, v2
38964 if-eqz v1, :cond_48
38966 new-instance v1, Ljava/lang/IllegalArgumentException;
38968 const-string v2, "Can\'t use FLAG_RECEIVER_BOOT_UPGRADE here"
38970 invoke-direct {v1, v2}, Ljava/lang/IllegalArgumentException;-><init>(Ljava/lang/String;)V
38975 new-instance v1, Landroid/content/Intent;
38977 move-object/from16 v0, v18
38979 invoke-direct {v1, v0}, Landroid/content/Intent;-><init>(Landroid/content/Intent;)V
38981 aput-object v1, p6, v17
38984 add-int/lit8 v17, v17, 0x1
38989 if-eqz p7, :cond_66
38991 move-object/from16 v0, p7
38993 array-length v1, v0
38995 move-object/from16 v0, p6
38997 array-length v2, v0
38999 if-eq v1, v2, :cond_66
39001 new-instance v1, Ljava/lang/IllegalArgumentException;
39003 const-string v2, "Intent array length does not match resolvedTypes length"
39005 invoke-direct {v1, v2}, Ljava/lang/IllegalArgumentException;-><init>(Ljava/lang/String;)V
39010 if-eqz p9, :cond_76
39012 invoke-virtual/range {p9 .. p9}, Landroid/os/Bundle;->hasFileDescriptors()Z
39016 if-eqz v1, :cond_76
39018 new-instance v1, Ljava/lang/IllegalArgumentException;
39020 const-string v2, "File descriptors passed in options"
39022 invoke-direct {v1, v2}, Ljava/lang/IllegalArgumentException;-><init>(Ljava/lang/String;)V
39030 invoke-static {}, Landroid/os/Binder;->getCallingUid()I
39034 move/from16 v20, p10
39036 invoke-static {}, Landroid/os/Binder;->getCallingPid()I
39044 if-ne v0, v1, :cond_114
39051 const-string v7, "getIntentSender"
39055 move-object/from16 v1, p0
39057 move/from16 v4, p10
39059 invoke-virtual/range {v1 .. v8}, Lcom/android/server/am/ActivityManagerService;->handleIncomingUser(IIIZZLjava/lang/String;Ljava/lang/String;)I
39061 .catchall {:try_start_77 .. :try_end_92} :catchall_111
39067 move/from16 v0, v20
39069 if-ne v0, v1, :cond_9a
39074 if-eqz v3, :cond_117
39078 if-eq v3, v1, :cond_117
39081 invoke-static {}, Landroid/app/AppGlobals;->getPackageManager()Landroid/content/pm/IPackageManager;
39083 move-result-object v1
39085 invoke-static {v3}, Landroid/os/UserHandle;->getUserId(I)I
39089 move-object/from16 v0, p2
39091 invoke-interface {v1, v0, v2}, Landroid/content/pm/IPackageManager;->getPackageUid(Ljava/lang/String;I)I
39095 move/from16 v0, v21
39097 invoke-static {v3, v0}, Landroid/os/UserHandle;->isSameApp(II)Z
39101 if-nez v1, :cond_117
39103 new-instance v1, Ljava/lang/StringBuilder;
39105 invoke-direct {v1}, Ljava/lang/StringBuilder;-><init>()V
39107 const-string v2, "Permission Denial: getIntentSender() from pid="
39109 invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
39111 move-result-object v1
39113 invoke-static {}, Landroid/os/Binder;->getCallingPid()I
39117 invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
39119 move-result-object v1
39121 const-string v2, ", uid="
39123 invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
39125 move-result-object v1
39127 invoke-static {}, Landroid/os/Binder;->getCallingUid()I
39131 invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
39133 move-result-object v1
39135 const-string v2, ", (need uid="
39137 invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
39139 move-result-object v1
39141 move/from16 v0, v21
39143 invoke-virtual {v1, v0}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
39145 move-result-object v1
39147 const-string v2, ")"
39149 invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
39151 move-result-object v1
39153 const-string v2, " is not allowed to send as package "
39155 invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
39157 move-result-object v1
39159 move-object/from16 v0, p2
39161 invoke-virtual {v1, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
39163 move-result-object v1
39165 invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
39167 move-result-object v19
39169 const-string v1, "ActivityManager"
39171 move-object/from16 v0, v19
39173 invoke-static {v1, v0}, Landroid/util/Slog;->w(Ljava/lang/String;Ljava/lang/String;)I
39175 new-instance v1, Ljava/lang/SecurityException;
39177 move-object/from16 v0, v19
39179 invoke-direct {v1, v0}, Ljava/lang/SecurityException;-><init>(Ljava/lang/String;)V
39183 .catchall {:try_start_a0 .. :try_end_108} :catchall_111
39184 .catch Landroid/os/RemoteException; {:try_start_a0 .. :try_end_108} :catch_108
39190 new-instance v1, Ljava/lang/SecurityException;
39192 move-object/from16 v0, v16
39194 invoke-direct {v1, v0}, Ljava/lang/SecurityException;-><init>(Ljava/lang/Throwable;)V
39203 .catchall {:try_start_109 .. :try_end_113} :catchall_111
39213 move-object/from16 v4, p0
39217 move-object/from16 v6, p2
39221 move/from16 v8, p10
39223 move-object/from16 v9, p3
39225 move-object/from16 v10, p4
39227 move/from16 v11, p5
39229 move-object/from16 v12, p6
39231 move-object/from16 v13, p7
39233 move/from16 v14, p8
39235 move-object/from16 v15, p9
39238 invoke-virtual/range {v4 .. v15}, Lcom/android/server/am/ActivityManagerService;->getIntentSenderLocked(ILjava/lang/String;IILandroid/os/IBinder;Ljava/lang/String;I[Landroid/content/Intent;[Ljava/lang/String;ILandroid/os/Bundle;)Landroid/content/IIntentSender;
39240 .catchall {:try_start_12e .. :try_end_131} :catchall_111
39241 .catch Landroid/os/RemoteException; {:try_start_12e .. :try_end_131} :catch_108
39243 move-result-object v1
39248 .catchall {:try_start_132 .. :try_end_133} :catchall_111
39253 .method getIntentSenderLocked(ILjava/lang/String;IILandroid/os/IBinder;Ljava/lang/String;I[Landroid/content/Intent;[Ljava/lang/String;ILandroid/os/Bundle;)Landroid/content/IIntentSender;
39262 if-ne v0, v3, :cond_1a
39264 move-object/from16 v0, p0
39266 iget-object v3, v0, Lcom/android/server/am/ActivityManagerService;->mMainStack:Lcom/android/server/am/ActivityStack;
39268 move-object/from16 v0, p5
39270 invoke-virtual {v3, v0}, Lcom/android/server/am/ActivityStack;->isInStackLocked(Landroid/os/IBinder;)Lcom/android/server/am/ActivityRecord;
39272 move-result-object v5
39274 if-nez v5, :cond_14
39283 iget-boolean v3, v5, Lcom/android/server/am/ActivityRecord;->finishing:Z
39285 if-eqz v3, :cond_1a
39292 const/high16 v3, 0x2000
39294 and-int v3, v3, p10
39296 if-eqz v3, :cond_96
39301 const/high16 v3, 0x1000
39303 and-int v3, v3, p10
39305 if-eqz v3, :cond_98
39310 const/high16 v3, 0x800
39312 and-int v3, v3, p10
39314 if-eqz v3, :cond_9a
39319 const v3, -0x38000001
39321 and-int p10, p10, v3
39323 new-instance v2, Lcom/android/server/am/PendingIntentRecord$Key;
39327 move-object/from16 v4, p2
39329 move-object/from16 v6, p6
39333 move-object/from16 v8, p8
39335 move-object/from16 v9, p9
39337 move/from16 v10, p10
39339 move-object/from16 v11, p11
39341 move/from16 v12, p4
39343 invoke-direct/range {v2 .. v12}, Lcom/android/server/am/PendingIntentRecord$Key;-><init>(ILjava/lang/String;Lcom/android/server/am/ActivityRecord;Ljava/lang/String;I[Landroid/content/Intent;[Ljava/lang/String;ILandroid/os/Bundle;I)V
39345 move-object/from16 v0, p0
39347 iget-object v3, v0, Lcom/android/server/am/ActivityManagerService;->mIntentSenderRecords:Ljava/util/HashMap;
39349 invoke-virtual {v3, v2}, Ljava/util/HashMap;->get(Ljava/lang/Object;)Ljava/lang/Object;
39351 move-result-object v16
39353 check-cast v16, Ljava/lang/ref/WeakReference;
39355 if-eqz v16, :cond_9d
39357 invoke-virtual/range {v16 .. v16}, Ljava/lang/ref/WeakReference;->get()Ljava/lang/Object;
39359 move-result-object v3
39361 check-cast v3, Lcom/android/server/am/PendingIntentRecord;
39363 move-object v15, v3
39366 if-eqz v15, :cond_b7
39368 if-nez v13, :cond_ad
39370 if-eqz v17, :cond_13
39372 iget-object v3, v15, Lcom/android/server/am/PendingIntentRecord;->key:Lcom/android/server/am/PendingIntentRecord$Key;
39374 iget-object v3, v3, Lcom/android/server/am/PendingIntentRecord$Key;->requestIntent:Landroid/content/Intent;
39376 if-eqz v3, :cond_7b
39378 iget-object v3, v15, Lcom/android/server/am/PendingIntentRecord;->key:Lcom/android/server/am/PendingIntentRecord$Key;
39380 iget-object v4, v3, Lcom/android/server/am/PendingIntentRecord$Key;->requestIntent:Landroid/content/Intent;
39382 if-eqz p8, :cond_9f
39384 move-object/from16 v0, p8
39386 array-length v3, v0
39388 add-int/lit8 v3, v3, -0x1
39390 aget-object v3, p8, v3
39393 invoke-virtual {v4, v3}, Landroid/content/Intent;->replaceExtras(Landroid/content/Intent;)Landroid/content/Intent;
39396 if-eqz p8, :cond_a1
39398 move-object/from16 v0, p8
39400 array-length v3, v0
39402 add-int/lit8 v3, v3, -0x1
39404 iget-object v4, v15, Lcom/android/server/am/PendingIntentRecord;->key:Lcom/android/server/am/PendingIntentRecord$Key;
39406 iget-object v4, v4, Lcom/android/server/am/PendingIntentRecord$Key;->requestIntent:Landroid/content/Intent;
39408 aput-object v4, p8, v3
39410 iget-object v3, v15, Lcom/android/server/am/PendingIntentRecord;->key:Lcom/android/server/am/PendingIntentRecord$Key;
39412 move-object/from16 v0, p8
39414 iput-object v0, v3, Lcom/android/server/am/PendingIntentRecord$Key;->allIntents:[Landroid/content/Intent;
39416 iget-object v3, v15, Lcom/android/server/am/PendingIntentRecord;->key:Lcom/android/server/am/PendingIntentRecord$Key;
39418 move-object/from16 v0, p9
39420 iput-object v0, v3, Lcom/android/server/am/PendingIntentRecord$Key;->allResolvedTypes:[Ljava/lang/String;
39450 iget-object v3, v15, Lcom/android/server/am/PendingIntentRecord;->key:Lcom/android/server/am/PendingIntentRecord$Key;
39454 iput-object v4, v3, Lcom/android/server/am/PendingIntentRecord$Key;->allIntents:[Landroid/content/Intent;
39456 iget-object v3, v15, Lcom/android/server/am/PendingIntentRecord;->key:Lcom/android/server/am/PendingIntentRecord$Key;
39460 iput-object v4, v3, Lcom/android/server/am/PendingIntentRecord$Key;->allResolvedTypes:[Ljava/lang/String;
39467 iput-boolean v3, v15, Lcom/android/server/am/PendingIntentRecord;->canceled:Z
39469 move-object/from16 v0, p0
39471 iget-object v3, v0, Lcom/android/server/am/ActivityManagerService;->mIntentSenderRecords:Ljava/util/HashMap;
39473 invoke-virtual {v3, v2}, Ljava/util/HashMap;->remove(Ljava/lang/Object;)Ljava/lang/Object;
39476 if-nez v14, :cond_13
39478 new-instance v15, Lcom/android/server/am/PendingIntentRecord;
39480 move-object/from16 v0, p0
39484 invoke-direct {v15, v0, v2, v1}, Lcom/android/server/am/PendingIntentRecord;-><init>(Lcom/android/server/am/ActivityManagerService;Lcom/android/server/am/PendingIntentRecord$Key;I)V
39486 move-object/from16 v0, p0
39488 iget-object v3, v0, Lcom/android/server/am/ActivityManagerService;->mIntentSenderRecords:Ljava/util/HashMap;
39490 iget-object v4, v15, Lcom/android/server/am/PendingIntentRecord;->ref:Ljava/lang/ref/WeakReference;
39492 invoke-virtual {v3, v2, v4}, Ljava/util/HashMap;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
39498 if-ne v0, v3, :cond_13
39500 iget-object v3, v5, Lcom/android/server/am/ActivityRecord;->pendingResults:Ljava/util/HashSet;
39502 if-nez v3, :cond_db
39504 new-instance v3, Ljava/util/HashSet;
39506 invoke-direct {v3}, Ljava/util/HashSet;-><init>()V
39508 iput-object v3, v5, Lcom/android/server/am/ActivityRecord;->pendingResults:Ljava/util/HashSet;
39511 iget-object v3, v5, Lcom/android/server/am/ActivityRecord;->pendingResults:Ljava/util/HashSet;
39513 iget-object v4, v15, Lcom/android/server/am/PendingIntentRecord;->ref:Ljava/lang/ref/WeakReference;
39515 invoke-virtual {v3, v4}, Ljava/util/HashSet;->add(Ljava/lang/Object;)Z
39520 .method public getLaunchedFromUid(Landroid/os/IBinder;)I
39523 invoke-static {p1}, Lcom/android/server/am/ActivityRecord;->forToken(Landroid/os/IBinder;)Lcom/android/server/am/ActivityRecord;
39525 move-result-object v0
39535 iget v1, v0, Lcom/android/server/am/ActivityRecord;->launchedFromUid:I
39540 .method public getMemoryInfo(Landroid/app/ActivityManager$MemoryInfo;)V
39547 iget-object v4, p0, Lcom/android/server/am/ActivityManagerService;->mProcessList:Lcom/android/server/am/ProcessList;
39551 invoke-virtual {v4, v7}, Lcom/android/server/am/ProcessList;->getMemLevel(I)J
39553 move-result-wide v2
39555 iget-object v4, p0, Lcom/android/server/am/ActivityManagerService;->mProcessList:Lcom/android/server/am/ProcessList;
39557 sget v7, Lcom/android/server/am/ProcessList;->HIDDEN_APP_MIN_ADJ:I
39559 invoke-virtual {v4, v7}, Lcom/android/server/am/ProcessList;->getMemLevel(I)J
39561 move-result-wide v0
39563 invoke-static {}, Landroid/os/Process;->getFreeMemory()J
39565 move-result-wide v7
39567 iput-wide v7, p1, Landroid/app/ActivityManager$MemoryInfo;->availMem:J
39569 invoke-static {}, Landroid/os/Process;->getTotalMemory()J
39571 move-result-wide v7
39573 iput-wide v7, p1, Landroid/app/ActivityManager$MemoryInfo;->totalMem:J
39575 iput-wide v2, p1, Landroid/app/ActivityManager$MemoryInfo;->threshold:J
39577 iget-wide v7, p1, Landroid/app/ActivityManager$MemoryInfo;->availMem:J
39579 sub-long v9, v0, v2
39581 const-wide/16 v11, 0x2
39583 div-long/2addr v9, v11
39585 add-long/2addr v9, v2
39587 cmp-long v4, v7, v9
39589 if-gez v4, :cond_4a
39594 iput-boolean v4, p1, Landroid/app/ActivityManager$MemoryInfo;->lowMemory:Z
39596 iput-wide v0, p1, Landroid/app/ActivityManager$MemoryInfo;->hiddenAppThreshold:J
39598 iget-object v4, p0, Lcom/android/server/am/ActivityManagerService;->mProcessList:Lcom/android/server/am/ProcessList;
39602 invoke-virtual {v4, v7}, Lcom/android/server/am/ProcessList;->getMemLevel(I)J
39604 move-result-wide v7
39606 iput-wide v7, p1, Landroid/app/ActivityManager$MemoryInfo;->secondaryServerThreshold:J
39608 iget-object v4, p0, Lcom/android/server/am/ActivityManagerService;->mProcessList:Lcom/android/server/am/ProcessList;
39610 invoke-virtual {v4, v5}, Lcom/android/server/am/ProcessList;->getMemLevel(I)J
39612 move-result-wide v4
39614 iput-wide v4, p1, Landroid/app/ActivityManager$MemoryInfo;->visibleAppThreshold:J
39616 iget-object v4, p0, Lcom/android/server/am/ActivityManagerService;->mProcessList:Lcom/android/server/am/ProcessList;
39618 invoke-virtual {v4, v6}, Lcom/android/server/am/ProcessList;->getMemLevel(I)J
39620 move-result-wide v4
39622 iput-wide v4, p1, Landroid/app/ActivityManager$MemoryInfo;->foregroundAppThreshold:J
39632 .method public getMyMemoryState(Landroid/app/ActivityManager$RunningAppProcessInfo;)V
39635 const-string v1, "getMyMemoryState"
39637 invoke-virtual {p0, v1}, Lcom/android/server/am/ActivityManagerService;->enforceNotIsolatedCaller(Ljava/lang/String;)V
39642 iget-object v2, p0, Lcom/android/server/am/ActivityManagerService;->mPidsSelfLocked:Landroid/util/SparseArray;
39646 .catchall {:try_start_6 .. :try_end_9} :catchall_1e
39649 iget-object v1, p0, Lcom/android/server/am/ActivityManagerService;->mPidsSelfLocked:Landroid/util/SparseArray;
39651 invoke-static {}, Landroid/os/Binder;->getCallingPid()I
39655 invoke-virtual {v1, v3}, Landroid/util/SparseArray;->get(I)Ljava/lang/Object;
39657 move-result-object v0
39659 check-cast v0, Lcom/android/server/am/ProcessRecord;
39663 .catchall {:try_start_9 .. :try_end_16} :catchall_1b
39666 invoke-direct {p0, v0, p1}, Lcom/android/server/am/ActivityManagerService;->fillInProcMemInfo(Lcom/android/server/am/ProcessRecord;Landroid/app/ActivityManager$RunningAppProcessInfo;)V
39670 .catchall {:try_start_16 .. :try_end_1a} :catchall_1e
39680 .catchall {:try_start_1c .. :try_end_1d} :catchall_1b
39690 .catchall {:try_start_1d .. :try_end_20} :catchall_1e
39695 .method public getPackageAskScreenCompat(Ljava/lang/String;)Z
39698 const-string v0, "getPackageAskScreenCompat"
39700 invoke-virtual {p0, v0}, Lcom/android/server/am/ActivityManagerService;->enforceNotIsolatedCaller(Ljava/lang/String;)V
39705 iget-object v0, p0, Lcom/android/server/am/ActivityManagerService;->mCompatModePackages:Lcom/android/server/am/CompatModePackages;
39707 invoke-virtual {v0, p1}, Lcom/android/server/am/CompatModePackages;->getPackageAskCompatModeLocked(Ljava/lang/String;)Z
39720 .catchall {:try_start_6 .. :try_end_10} :catchall_e
39725 .method public getPackageForIntentSender(Landroid/content/IIntentSender;)Ljava/lang/String;
39730 instance-of v3, p1, Lcom/android/server/am/PendingIntentRecord;
39741 check-cast v0, Lcom/android/server/am/PendingIntentRecord;
39745 iget-object v3, v1, Lcom/android/server/am/PendingIntentRecord;->key:Lcom/android/server/am/PendingIntentRecord$Key;
39747 iget-object v2, v3, Lcom/android/server/am/PendingIntentRecord$Key;->packageName:Ljava/lang/String;
39749 .catch Ljava/lang/ClassCastException; {:try_start_6 .. :try_end_e} :catch_f
39759 .method public getPackageForToken(Landroid/os/IBinder;)Ljava/lang/String;
39765 iget-object v1, p0, Lcom/android/server/am/ActivityManagerService;->mMainStack:Lcom/android/server/am/ActivityStack;
39767 invoke-virtual {v1, p1}, Lcom/android/server/am/ActivityStack;->isInStackLocked(Landroid/os/IBinder;)Lcom/android/server/am/ActivityRecord;
39769 move-result-object v0
39781 iget-object v1, v0, Lcom/android/server/am/ActivityRecord;->packageName:Ljava/lang/String;
39792 .catchall {:try_start_1 .. :try_end_12} :catchall_10
39797 .method public getPackageScreenCompatMode(Ljava/lang/String;)I
39800 const-string v0, "getPackageScreenCompatMode"
39802 invoke-virtual {p0, v0}, Lcom/android/server/am/ActivityManagerService;->enforceNotIsolatedCaller(Ljava/lang/String;)V
39807 iget-object v0, p0, Lcom/android/server/am/ActivityManagerService;->mCompatModePackages:Lcom/android/server/am/CompatModePackages;
39809 invoke-virtual {v0, p1}, Lcom/android/server/am/CompatModePackages;->getPackageScreenCompatModeLocked(Ljava/lang/String;)I
39822 .catchall {:try_start_6 .. :try_end_10} :catchall_e
39827 .method public getProcessLimit()I
39833 iget v0, p0, Lcom/android/server/am/ActivityManagerService;->mProcessLimitOverride:I
39844 .catchall {:try_start_1 .. :try_end_7} :catchall_5
39849 .method public getProcessMemoryInfo([I)[Landroid/os/Debug$MemoryInfo;
39851 .annotation system Ldalvik/annotation/Throws;
39853 Landroid/os/RemoteException;
39857 const-string v2, "getProcessMemoryInfo"
39859 invoke-virtual {p0, v2}, Lcom/android/server/am/ActivityManagerService;->enforceNotIsolatedCaller(Ljava/lang/String;)V
39861 array-length v2, p1
39863 new-array v1, v2, [Landroid/os/Debug$MemoryInfo;
39865 array-length v2, p1
39867 add-int/lit8 v0, v2, -0x1
39870 if-ltz v0, :cond_1e
39872 new-instance v2, Landroid/os/Debug$MemoryInfo;
39874 invoke-direct {v2}, Landroid/os/Debug$MemoryInfo;-><init>()V
39876 aput-object v2, v1, v0
39880 aget-object v3, v1, v0
39882 invoke-static {v2, v3}, Landroid/os/Debug;->getMemoryInfo(ILandroid/os/Debug$MemoryInfo;)V
39884 add-int/lit8 v0, v0, -0x1
39892 .method public getProcessPss([I)[J
39894 .annotation system Ldalvik/annotation/Throws;
39896 Landroid/os/RemoteException;
39900 const-string v2, "getProcessPss"
39902 invoke-virtual {p0, v2}, Lcom/android/server/am/ActivityManagerService;->enforceNotIsolatedCaller(Ljava/lang/String;)V
39904 array-length v2, p1
39906 new-array v1, v2, [J
39908 array-length v2, p1
39910 add-int/lit8 v0, v2, -0x1
39913 if-ltz v0, :cond_18
39917 invoke-static {v2}, Landroid/os/Debug;->getPss(I)J
39919 move-result-wide v2
39921 aput-wide v2, v1, v0
39923 add-int/lit8 v0, v0, -0x1
39931 .method final getProcessRecordLocked(Ljava/lang/String;I)Lcom/android/server/am/ProcessRecord;
39936 if-ne p2, v4, :cond_2f
39938 iget-object v4, p0, Lcom/android/server/am/ActivityManagerService;->mProcessNames:Lcom/android/server/ProcessMap;
39940 invoke-virtual {v4}, Lcom/android/server/ProcessMap;->getMap()Ljava/util/HashMap;
39942 move-result-object v4
39944 invoke-virtual {v4, p1}, Ljava/util/HashMap;->get(Ljava/lang/Object;)Ljava/lang/Object;
39946 move-result-object v3
39948 check-cast v3, Landroid/util/SparseArray;
39950 if-nez v3, :cond_14
39958 invoke-virtual {v3}, Landroid/util/SparseArray;->size()I
39965 if-ge v1, v0, :cond_2f
39967 invoke-virtual {v3, v1}, Landroid/util/SparseArray;->keyAt(I)I
39971 invoke-static {v4, p2}, Landroid/os/UserHandle;->isSameUser(II)Z
39975 if-eqz v4, :cond_2c
39977 invoke-virtual {v3, v1}, Landroid/util/SparseArray;->valueAt(I)Ljava/lang/Object;
39979 move-result-object v4
39981 check-cast v4, Lcom/android/server/am/ProcessRecord;
39986 add-int/lit8 v1, v1, 0x1
39991 iget-object v4, p0, Lcom/android/server/am/ActivityManagerService;->mProcessNames:Lcom/android/server/ProcessMap;
39993 invoke-virtual {v4, p1, p2}, Lcom/android/server/ProcessMap;->get(Ljava/lang/String;I)Ljava/lang/Object;
39995 move-result-object v2
39997 check-cast v2, Lcom/android/server/am/ProcessRecord;
40004 .method public getProcessesInErrorState()Ljava/util/List;
40006 .annotation system Ldalvik/annotation/Signature;
40011 "Landroid/app/ActivityManager$ProcessErrorStateInfo;",
40018 const-string v7, "getProcessesInErrorState"
40020 invoke-virtual {p0, v7}, Lcom/android/server/am/ActivityManagerService;->enforceNotIsolatedCaller(Ljava/lang/String;)V
40024 const-string v7, "android.permission.INTERACT_ACROSS_USERS_FULL"
40026 invoke-static {}, Landroid/os/Binder;->getCallingUid()I
40030 invoke-static {v7, v8}, Landroid/app/ActivityManager;->checkUidPermission(Ljava/lang/String;I)I
40034 if-nez v7, :cond_3a
40037 invoke-static {}, Landroid/os/Binder;->getCallingUid()I
40041 invoke-static {v7}, Landroid/os/UserHandle;->getUserId(I)I
40048 iget-object v7, p0, Lcom/android/server/am/ActivityManagerService;->mLruProcesses:Ljava/util/ArrayList;
40050 invoke-virtual {v7}, Ljava/util/ArrayList;->size()I
40052 .catchall {:try_start_1c .. :try_end_21} :catchall_5d
40056 add-int/lit8 v4, v7, -0x1
40061 if-ltz v4, :cond_9b
40064 iget-object v7, p0, Lcom/android/server/am/ActivityManagerService;->mLruProcesses:Ljava/util/ArrayList;
40066 invoke-virtual {v7, v4}, Ljava/util/ArrayList;->get(I)Ljava/lang/Object;
40068 move-result-object v1
40070 check-cast v1, Lcom/android/server/am/ProcessRecord;
40072 if-nez v0, :cond_3c
40074 iget v7, v1, Lcom/android/server/am/ProcessRecord;->userId:I
40076 if-eq v7, v6, :cond_3c
40081 add-int/lit8 v4, v4, -0x1
40093 iget-object v7, v1, Lcom/android/server/am/ProcessRecord;->thread:Landroid/app/IApplicationThread;
40095 if-eqz v7, :cond_99
40097 iget-boolean v7, v1, Lcom/android/server/am/ProcessRecord;->crashing:Z
40099 if-nez v7, :cond_48
40101 iget-boolean v7, v1, Lcom/android/server/am/ProcessRecord;->notResponding:Z
40103 if-eqz v7, :cond_99
40108 iget-boolean v7, v1, Lcom/android/server/am/ProcessRecord;->crashing:Z
40110 if-eqz v7, :cond_60
40112 iget-object v5, v1, Lcom/android/server/am/ProcessRecord;->crashingReport:Landroid/app/ActivityManager$ProcessErrorStateInfo;
40116 if-eqz v5, :cond_67
40118 if-nez v3, :cond_a0
40120 new-instance v2, Ljava/util/ArrayList;
40124 invoke-direct {v2, v7}, Ljava/util/ArrayList;-><init>(I)V
40126 .catchall {:try_start_27 .. :try_end_59} :catchall_9d
40130 invoke-interface {v2, v5}, Ljava/util/List;->add(Ljava/lang/Object;)Z
40140 .catchall {:try_start_59 .. :try_end_5f} :catchall_5d
40146 iget-boolean v7, v1, Lcom/android/server/am/ProcessRecord;->notResponding:Z
40148 if-eqz v7, :cond_4f
40150 iget-object v5, v1, Lcom/android/server/am/ProcessRecord;->notRespondingReport:Landroid/app/ActivityManager$ProcessErrorStateInfo;
40155 const-string v7, "ActivityManager"
40157 new-instance v8, Ljava/lang/StringBuilder;
40159 invoke-direct {v8}, Ljava/lang/StringBuilder;-><init>()V
40161 const-string v9, "Missing app error report, app = "
40163 invoke-virtual {v8, v9}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
40165 move-result-object v8
40167 iget-object v9, v1, Lcom/android/server/am/ProcessRecord;->processName:Ljava/lang/String;
40169 invoke-virtual {v8, v9}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
40171 move-result-object v8
40173 const-string v9, " crashing = "
40175 invoke-virtual {v8, v9}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
40177 move-result-object v8
40179 iget-boolean v9, v1, Lcom/android/server/am/ProcessRecord;->crashing:Z
40181 invoke-virtual {v8, v9}, Ljava/lang/StringBuilder;->append(Z)Ljava/lang/StringBuilder;
40183 move-result-object v8
40185 const-string v9, " notResponding = "
40187 invoke-virtual {v8, v9}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
40189 move-result-object v8
40191 iget-boolean v9, v1, Lcom/android/server/am/ProcessRecord;->notResponding:Z
40193 invoke-virtual {v8, v9}, Ljava/lang/StringBuilder;->append(Z)Ljava/lang/StringBuilder;
40195 move-result-object v8
40197 invoke-virtual {v8}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
40199 move-result-object v8
40201 invoke-static {v7, v8}, Landroid/util/Slog;->w(Ljava/lang/String;Ljava/lang/String;)I
40211 .catchall {:try_start_60 .. :try_end_9c} :catchall_9d
40228 .method public getProviderMimeType(Landroid/net/Uri;I)Ljava/lang/String;
40233 const-string v0, "getProviderMimeType"
40235 invoke-virtual {p0, v0}, Lcom/android/server/am/ActivityManagerService;->enforceNotIsolatedCaller(Ljava/lang/String;)V
40237 invoke-static {}, Landroid/os/Binder;->getCallingPid()I
40241 invoke-static {}, Landroid/os/Binder;->getCallingUid()I
40249 const-string v6, "getProviderMimeType"
40255 invoke-virtual/range {v0 .. v7}, Lcom/android/server/am/ActivityManagerService;->handleIncomingUser(IIIZZLjava/lang/String;Ljava/lang/String;)I
40259 invoke-virtual {p1}, Landroid/net/Uri;->getAuthority()Ljava/lang/String;
40261 move-result-object v12
40263 invoke-static {}, Landroid/os/Binder;->clearCallingIdentity()J
40265 move-result-wide v10
40272 invoke-direct {p0, v12, v0, p2}, Lcom/android/server/am/ActivityManagerService;->getContentProviderExternalUnchecked(Ljava/lang/String;Landroid/os/IBinder;I)Landroid/app/IActivityManager$ContentProviderHolder;
40274 move-result-object v9
40276 if-eqz v9, :cond_64
40278 iget-object v0, v9, Landroid/app/IActivityManager$ContentProviderHolder;->provider:Landroid/content/IContentProvider;
40280 invoke-interface {v0, p1}, Landroid/content/IContentProvider;->getType(Landroid/net/Uri;)Ljava/lang/String;
40282 .catchall {:try_start_22 .. :try_end_2d} :catchall_5a
40283 .catch Landroid/os/RemoteException; {:try_start_22 .. :try_end_2d} :catch_38
40285 move-result-object v0
40287 if-eqz v9, :cond_33
40289 invoke-direct {p0, v12, v7, p2}, Lcom/android/server/am/ActivityManagerService;->removeContentProviderExternalUnchecked(Ljava/lang/String;Landroid/os/IBinder;I)V
40292 invoke-static {v10, v11}, Landroid/os/Binder;->restoreCallingIdentity(J)V
40303 const-string v0, "ActivityManager"
40305 new-instance v1, Ljava/lang/StringBuilder;
40307 invoke-direct {v1}, Ljava/lang/StringBuilder;-><init>()V
40309 const-string v2, "Content provider dead retrieving "
40311 invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
40313 move-result-object v1
40315 invoke-virtual {v1, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
40317 move-result-object v1
40319 invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
40321 move-result-object v1
40323 invoke-static {v0, v1, v8}, Landroid/util/Log;->w(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I
40325 .catchall {:try_start_39 .. :try_end_51} :catchall_5a
40327 if-eqz v9, :cond_56
40329 invoke-direct {p0, v12, v7, p2}, Lcom/android/server/am/ActivityManagerService;->removeContentProviderExternalUnchecked(Ljava/lang/String;Landroid/os/IBinder;I)V
40333 invoke-static {v10, v11}, Landroid/os/Binder;->restoreCallingIdentity(J)V
40340 if-eqz v9, :cond_60
40342 invoke-direct {p0, v12, v7, p2}, Lcom/android/server/am/ActivityManagerService;->removeContentProviderExternalUnchecked(Ljava/lang/String;Landroid/os/IBinder;I)V
40345 invoke-static {v10, v11}, Landroid/os/Binder;->restoreCallingIdentity(J)V
40350 if-eqz v9, :cond_56
40352 invoke-direct {p0, v12, v7, p2}, Lcom/android/server/am/ActivityManagerService;->removeContentProviderExternalUnchecked(Ljava/lang/String;Landroid/os/IBinder;I)V
40357 .method public getRecentTasks(III)Ljava/util/List;
40359 .annotation system Ldalvik/annotation/Signature;
40364 "Landroid/app/ActivityManager$RecentTaskInfo;",
40369 invoke-static {}, Landroid/os/Binder;->getCallingPid()I
40373 invoke-static {}, Landroid/os/Binder;->getCallingUid()I
40381 const-string v7, "getRecentTasks"
40385 move-object/from16 v1, p0
40389 invoke-virtual/range {v1 .. v8}, Lcom/android/server/am/ActivityManagerService;->handleIncomingUser(IIIZZLjava/lang/String;Ljava/lang/String;)I
40396 const-string v1, "android.permission.GET_TASKS"
40398 const-string v2, "getRecentTasks()"
40400 move-object/from16 v0, p0
40402 invoke-virtual {v0, v1, v2}, Lcom/android/server/am/ActivityManagerService;->enforceCallingPermission(Ljava/lang/String;Ljava/lang/String;)V
40404 const-string v1, "android.permission.GET_DETAILED_TASKS"
40406 move-object/from16 v0, p0
40408 invoke-virtual {v0, v1}, Lcom/android/server/am/ActivityManagerService;->checkCallingPermission(Ljava/lang/String;)I
40412 if-nez v1, :cond_59
40417 invoke-static {}, Landroid/app/AppGlobals;->getPackageManager()Landroid/content/pm/IPackageManager;
40419 move-result-object v12
40421 move-object/from16 v0, p0
40423 iget-object v1, v0, Lcom/android/server/am/ActivityManagerService;->mRecentTasks:Ljava/util/ArrayList;
40425 invoke-virtual {v1}, Ljava/util/ArrayList;->size()I
40429 new-instance v13, Ljava/util/ArrayList;
40433 if-ge v0, v9, :cond_5b
40438 invoke-direct {v13, v1}, Ljava/util/ArrayList;-><init>(I)V
40443 if-ge v11, v9, :cond_d1
40445 if-lez p1, :cond_d1
40447 move-object/from16 v0, p0
40449 iget-object v1, v0, Lcom/android/server/am/ActivityManagerService;->mRecentTasks:Ljava/util/ArrayList;
40451 invoke-virtual {v1, v11}, Ljava/util/ArrayList;->get(I)Ljava/lang/Object;
40453 move-result-object v15
40455 check-cast v15, Lcom/android/server/am/TaskRecord;
40457 iget v1, v15, Lcom/android/server/am/TaskRecord;->userId:I
40461 if-eq v1, v0, :cond_5d
40465 add-int/lit8 v11, v11, 0x1
40480 if-eqz v11, :cond_72
40482 and-int/lit8 v1, p2, 0x1
40484 if-nez v1, :cond_72
40486 iget-object v1, v15, Lcom/android/server/am/TaskRecord;->intent:Landroid/content/Intent;
40488 if-eqz v1, :cond_72
40490 iget-object v1, v15, Lcom/android/server/am/TaskRecord;->intent:Landroid/content/Intent;
40492 invoke-virtual {v1}, Landroid/content/Intent;->getFlags()I
40496 const/high16 v2, 0x80
40498 and-int/2addr v1, v2
40500 if-nez v1, :cond_56
40503 new-instance v14, Landroid/app/ActivityManager$RecentTaskInfo;
40505 invoke-direct {v14}, Landroid/app/ActivityManager$RecentTaskInfo;-><init>()V
40507 iget v1, v15, Lcom/android/server/am/TaskRecord;->numActivities:I
40509 if-lez v1, :cond_bb
40511 iget v1, v15, Lcom/android/server/am/TaskRecord;->taskId:I
40514 iput v1, v14, Landroid/app/ActivityManager$RecentTaskInfo;->id:I
40516 iget v1, v15, Lcom/android/server/am/TaskRecord;->taskId:I
40518 iput v1, v14, Landroid/app/ActivityManager$RecentTaskInfo;->persistentId:I
40520 new-instance v2, Landroid/content/Intent;
40522 iget-object v1, v15, Lcom/android/server/am/TaskRecord;->intent:Landroid/content/Intent;
40524 if-eqz v1, :cond_bd
40526 iget-object v1, v15, Lcom/android/server/am/TaskRecord;->intent:Landroid/content/Intent;
40529 invoke-direct {v2, v1}, Landroid/content/Intent;-><init>(Landroid/content/Intent;)V
40531 iput-object v2, v14, Landroid/app/ActivityManager$RecentTaskInfo;->baseIntent:Landroid/content/Intent;
40533 if-nez v10, :cond_9a
40535 iget-object v2, v14, Landroid/app/ActivityManager$RecentTaskInfo;->baseIntent:Landroid/content/Intent;
40539 check-cast v1, Landroid/os/Bundle;
40541 invoke-virtual {v2, v1}, Landroid/content/Intent;->replaceExtras(Landroid/os/Bundle;)Landroid/content/Intent;
40544 iget-object v1, v15, Lcom/android/server/am/TaskRecord;->origActivity:Landroid/content/ComponentName;
40546 iput-object v1, v14, Landroid/app/ActivityManager$RecentTaskInfo;->origActivity:Landroid/content/ComponentName;
40548 iget-object v1, v15, Lcom/android/server/am/TaskRecord;->lastDescription:Ljava/lang/CharSequence;
40550 iput-object v1, v14, Landroid/app/ActivityManager$RecentTaskInfo;->description:Ljava/lang/CharSequence;
40552 .catchall {:try_start_16 .. :try_end_a2} :catchall_d3
40554 and-int/lit8 v1, p2, 0x2
40556 if-eqz v1, :cond_b5
40559 iget-object v1, v14, Landroid/app/ActivityManager$RecentTaskInfo;->origActivity:Landroid/content/ComponentName;
40561 if-eqz v1, :cond_c0
40563 iget-object v1, v14, Landroid/app/ActivityManager$RecentTaskInfo;->origActivity:Landroid/content/ComponentName;
40569 invoke-interface {v12, v1, v2, v0}, Landroid/content/pm/IPackageManager;->getActivityInfo(Landroid/content/ComponentName;II)Landroid/content/pm/ActivityInfo;
40571 .catchall {:try_start_a6 .. :try_end_b2} :catchall_d3
40572 .catch Landroid/os/RemoteException; {:try_start_a6 .. :try_end_b2} :catch_d6
40574 move-result-object v1
40576 if-eqz v1, :cond_56
40581 invoke-virtual {v13, v14}, Ljava/util/ArrayList;->add(Ljava/lang/Object;)Z
40583 add-int/lit8 p1, p1, -0x1
40593 iget-object v1, v15, Lcom/android/server/am/TaskRecord;->affinityIntent:Landroid/content/Intent;
40595 .catchall {:try_start_b5 .. :try_end_bf} :catchall_d3
40601 iget-object v1, v14, Landroid/app/ActivityManager$RecentTaskInfo;->baseIntent:Landroid/content/Intent;
40603 if-eqz v1, :cond_b5
40605 iget-object v1, v14, Landroid/app/ActivityManager$RecentTaskInfo;->baseIntent:Landroid/content/Intent;
40613 invoke-interface {v12, v1, v2, v3, v0}, Landroid/content/pm/IPackageManager;->queryIntentActivities(Landroid/content/Intent;Ljava/lang/String;II)Ljava/util/List;
40615 .catchall {:try_start_c0 .. :try_end_cd} :catchall_d3
40616 .catch Landroid/os/RemoteException; {:try_start_c0 .. :try_end_cd} :catch_d6
40618 move-result-object v1
40620 if-nez v1, :cond_b5
40635 .catchall {:try_start_d1 .. :try_end_d5} :catchall_d3
40645 .method final getRecordForAppLocked(Landroid/app/IApplicationThread;)Lcom/android/server/am/ProcessRecord;
40657 invoke-direct {p0, p1}, Lcom/android/server/am/ActivityManagerService;->getLRURecordIndexForAppLocked(Landroid/app/IApplicationThread;)I
40663 iget-object v1, p0, Lcom/android/server/am/ActivityManagerService;->mLruProcesses:Ljava/util/ArrayList;
40665 invoke-virtual {v1, v0}, Ljava/util/ArrayList;->get(I)Ljava/lang/Object;
40667 move-result-object v1
40669 check-cast v1, Lcom/android/server/am/ProcessRecord;
40674 .method public getRequestedOrientation(Landroid/os/IBinder;)I
40680 iget-object v1, p0, Lcom/android/server/am/ActivityManagerService;->mMainStack:Lcom/android/server/am/ActivityStack;
40682 invoke-virtual {v1, p1}, Lcom/android/server/am/ActivityStack;->isInStackLocked(Landroid/os/IBinder;)Lcom/android/server/am/ActivityRecord;
40684 move-result-object v0
40696 iget-object v1, p0, Lcom/android/server/am/ActivityManagerService;->mWindowManager:Lcom/android/server/wm/WindowManagerService;
40698 iget-object v2, v0, Lcom/android/server/am/ActivityRecord;->appToken:Landroid/view/IApplicationToken$Stub;
40700 invoke-virtual {v1, v2}, Lcom/android/server/wm/WindowManagerService;->getAppOrientation(Landroid/view/IApplicationToken;)I
40713 .catchall {:try_start_1 .. :try_end_18} :catchall_16
40718 .method public getRunningAppProcesses()Ljava/util/List;
40720 .annotation system Ldalvik/annotation/Signature;
40725 "Landroid/app/ActivityManager$RunningAppProcessInfo;",
40730 const-string v8, "getRunningAppProcesses"
40732 invoke-virtual {p0, v8}, Lcom/android/server/am/ActivityManagerService;->enforceNotIsolatedCaller(Ljava/lang/String;)V
40736 const-string v8, "android.permission.INTERACT_ACROSS_USERS_FULL"
40738 invoke-static {}, Landroid/os/Binder;->getCallingUid()I
40742 invoke-static {v8, v9}, Landroid/app/ActivityManager;->checkUidPermission(Ljava/lang/String;I)I
40746 if-nez v8, :cond_3a
40751 invoke-static {}, Landroid/os/Binder;->getCallingUid()I
40755 invoke-static {v8}, Landroid/os/UserHandle;->getUserId(I)I
40762 iget-object v8, p0, Lcom/android/server/am/ActivityManagerService;->mLruProcesses:Ljava/util/ArrayList;
40764 invoke-virtual {v8}, Ljava/util/ArrayList;->size()I
40766 .catchall {:try_start_1c .. :try_end_21} :catchall_86
40770 add-int/lit8 v3, v8, -0x1
40775 if-ltz v3, :cond_a1
40778 iget-object v8, p0, Lcom/android/server/am/ActivityManagerService;->mLruProcesses:Ljava/util/ArrayList;
40780 invoke-virtual {v8, v3}, Ljava/util/ArrayList;->get(I)Ljava/lang/Object;
40782 move-result-object v1
40784 check-cast v1, Lcom/android/server/am/ProcessRecord;
40786 if-nez v0, :cond_3c
40788 iget v8, v1, Lcom/android/server/am/ProcessRecord;->userId:I
40790 if-eq v8, v7, :cond_3c
40795 add-int/lit8 v3, v3, -0x1
40807 iget-object v8, v1, Lcom/android/server/am/ProcessRecord;->thread:Landroid/app/IApplicationThread;
40809 if-eqz v8, :cond_a5
40811 iget-boolean v8, v1, Lcom/android/server/am/ProcessRecord;->crashing:Z
40813 if-nez v8, :cond_a5
40815 iget-boolean v8, v1, Lcom/android/server/am/ProcessRecord;->notResponding:Z
40817 if-nez v8, :cond_a5
40819 new-instance v2, Landroid/app/ActivityManager$RunningAppProcessInfo;
40821 iget-object v8, v1, Lcom/android/server/am/ProcessRecord;->processName:Ljava/lang/String;
40823 iget v9, v1, Lcom/android/server/am/ProcessRecord;->pid:I
40825 invoke-virtual {v1}, Lcom/android/server/am/ProcessRecord;->getPackageList()[Ljava/lang/String;
40827 move-result-object v10
40829 invoke-direct {v2, v8, v9, v10}, Landroid/app/ActivityManager$RunningAppProcessInfo;-><init>(Ljava/lang/String;I[Ljava/lang/String;)V
40831 invoke-direct {p0, v1, v2}, Lcom/android/server/am/ActivityManagerService;->fillInProcMemInfo(Lcom/android/server/am/ProcessRecord;Landroid/app/ActivityManager$RunningAppProcessInfo;)V
40833 iget-object v8, v1, Lcom/android/server/am/ProcessRecord;->adjSource:Ljava/lang/Object;
40835 instance-of v8, v8, Lcom/android/server/am/ProcessRecord;
40837 if-eqz v8, :cond_89
40839 iget-object v8, v1, Lcom/android/server/am/ProcessRecord;->adjSource:Ljava/lang/Object;
40841 check-cast v8, Lcom/android/server/am/ProcessRecord;
40843 iget v8, v8, Lcom/android/server/am/ProcessRecord;->pid:I
40845 iput v8, v2, Landroid/app/ActivityManager$RunningAppProcessInfo;->importanceReasonPid:I
40847 iget v8, v1, Lcom/android/server/am/ProcessRecord;->adjSourceOom:I
40851 invoke-static {v8, v9}, Lcom/android/server/am/ActivityManagerService;->oomAdjToImportance(ILandroid/app/ActivityManager$RunningAppProcessInfo;)I
40855 iput v8, v2, Landroid/app/ActivityManager$RunningAppProcessInfo;->importanceReasonImportance:I
40859 iget-object v8, v1, Lcom/android/server/am/ProcessRecord;->adjTarget:Ljava/lang/Object;
40861 instance-of v8, v8, Landroid/content/ComponentName;
40863 if-eqz v8, :cond_7b
40865 iget-object v8, v1, Lcom/android/server/am/ProcessRecord;->adjTarget:Ljava/lang/Object;
40867 check-cast v8, Landroid/content/ComponentName;
40869 iput-object v8, v2, Landroid/app/ActivityManager$RunningAppProcessInfo;->importanceReasonComponent:Landroid/content/ComponentName;
40872 if-nez v6, :cond_a3
40874 new-instance v5, Ljava/util/ArrayList;
40876 invoke-direct {v5}, Ljava/util/ArrayList;-><init>()V
40878 .catchall {:try_start_27 .. :try_end_82} :catchall_9e
40882 invoke-interface {v5, v2}, Ljava/util/List;->add(Ljava/lang/Object;)Z
40892 .catchall {:try_start_82 .. :try_end_88} :catchall_86
40898 iget-object v8, v1, Lcom/android/server/am/ProcessRecord;->adjSource:Ljava/lang/Object;
40900 instance-of v8, v8, Lcom/android/server/am/ActivityRecord;
40902 if-eqz v8, :cond_6f
40904 iget-object v4, v1, Lcom/android/server/am/ProcessRecord;->adjSource:Ljava/lang/Object;
40906 check-cast v4, Lcom/android/server/am/ActivityRecord;
40908 iget-object v8, v4, Lcom/android/server/am/ActivityRecord;->app:Lcom/android/server/am/ProcessRecord;
40910 if-eqz v8, :cond_6f
40912 iget-object v8, v4, Lcom/android/server/am/ActivityRecord;->app:Lcom/android/server/am/ProcessRecord;
40914 iget v8, v8, Lcom/android/server/am/ProcessRecord;->pid:I
40916 iput v8, v2, Landroid/app/ActivityManager$RunningAppProcessInfo;->importanceReasonPid:I
40930 .catchall {:try_start_89 .. :try_end_a2} :catchall_9e
40945 .method public getRunningExternalApplications()Ljava/util/List;
40947 .annotation system Ldalvik/annotation/Signature;
40952 "Landroid/content/pm/ApplicationInfo;",
40957 const-string v11, "getRunningExternalApplications"
40959 invoke-virtual {p0, v11}, Lcom/android/server/am/ActivityManagerService;->enforceNotIsolatedCaller(Ljava/lang/String;)V
40961 invoke-virtual {p0}, Lcom/android/server/am/ActivityManagerService;->getRunningAppProcesses()Ljava/util/List;
40963 move-result-object v10
40965 new-instance v9, Ljava/util/ArrayList;
40967 invoke-direct {v9}, Ljava/util/ArrayList;-><init>()V
40969 if-eqz v10, :cond_67
40971 invoke-interface {v10}, Ljava/util/List;->size()I
40975 if-lez v11, :cond_67
40977 new-instance v2, Ljava/util/HashSet;
40979 invoke-direct {v2}, Ljava/util/HashSet;-><init>()V
40981 invoke-interface {v10}, Ljava/util/List;->iterator()Ljava/util/Iterator;
40983 move-result-object v3
40986 invoke-interface {v3}, Ljava/util/Iterator;->hasNext()Z
40990 if-eqz v11, :cond_3d
40992 invoke-interface {v3}, Ljava/util/Iterator;->next()Ljava/lang/Object;
40994 move-result-object v0
40996 check-cast v0, Landroid/app/ActivityManager$RunningAppProcessInfo;
40998 iget-object v11, v0, Landroid/app/ActivityManager$RunningAppProcessInfo;->pkgList:[Ljava/lang/String;
41000 if-eqz v11, :cond_1f
41002 iget-object v1, v0, Landroid/app/ActivityManager$RunningAppProcessInfo;->pkgList:[Ljava/lang/String;
41004 array-length v6, v1
41009 if-ge v4, v6, :cond_1f
41011 aget-object v7, v1, v4
41013 invoke-interface {v2, v7}, Ljava/util/Set;->add(Ljava/lang/Object;)Z
41015 add-int/lit8 v4, v4, 0x1
41020 invoke-static {}, Landroid/app/AppGlobals;->getPackageManager()Landroid/content/pm/IPackageManager;
41022 move-result-object v8
41024 invoke-interface {v2}, Ljava/util/Set;->iterator()Ljava/util/Iterator;
41026 move-result-object v3
41030 invoke-interface {v3}, Ljava/util/Iterator;->hasNext()Z
41034 if-eqz v11, :cond_67
41036 invoke-interface {v3}, Ljava/util/Iterator;->next()Ljava/lang/Object;
41038 move-result-object v7
41040 check-cast v7, Ljava/lang/String;
41045 invoke-static {}, Landroid/os/UserHandle;->getCallingUserId()I
41049 invoke-interface {v8, v7, v11, v12}, Landroid/content/pm/IPackageManager;->getApplicationInfo(Ljava/lang/String;II)Landroid/content/pm/ApplicationInfo;
41051 move-result-object v5
41053 iget v11, v5, Landroid/content/pm/ApplicationInfo;->flags:I
41055 const/high16 v12, 0x4
41057 and-int/2addr v11, v12
41059 if-eqz v11, :cond_45
41061 invoke-interface {v9, v5}, Ljava/util/List;->add(Ljava/lang/Object;)Z
41063 .catch Landroid/os/RemoteException; {:try_start_52 .. :try_end_64} :catch_65
41076 .method public getRunningServiceControlPanel(Landroid/content/ComponentName;)Landroid/app/PendingIntent;
41079 const-string v0, "getRunningServiceControlPanel"
41081 invoke-virtual {p0, v0}, Lcom/android/server/am/ActivityManagerService;->enforceNotIsolatedCaller(Ljava/lang/String;)V
41086 iget-object v0, p0, Lcom/android/server/am/ActivityManagerService;->mServices:Lcom/android/server/am/ActiveServices;
41088 invoke-virtual {v0, p1}, Lcom/android/server/am/ActiveServices;->getRunningServiceControlPanelLocked(Landroid/content/ComponentName;)Landroid/app/PendingIntent;
41090 move-result-object v0
41101 .catchall {:try_start_6 .. :try_end_10} :catchall_e
41106 .method public getRunningUserIds()[I
41109 const-string v1, "android.permission.INTERACT_ACROSS_USERS"
41111 invoke-virtual {p0, v1}, Lcom/android/server/am/ActivityManagerService;->checkCallingPermission(Ljava/lang/String;)I
41115 if-eqz v1, :cond_44
41117 new-instance v1, Ljava/lang/StringBuilder;
41119 invoke-direct {v1}, Ljava/lang/StringBuilder;-><init>()V
41121 const-string v2, "Permission Denial: isUserRunning() from pid="
41123 invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
41125 move-result-object v1
41127 invoke-static {}, Landroid/os/Binder;->getCallingPid()I
41131 invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
41133 move-result-object v1
41135 const-string v2, ", uid="
41137 invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
41139 move-result-object v1
41141 invoke-static {}, Landroid/os/Binder;->getCallingUid()I
41145 invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
41147 move-result-object v1
41149 const-string v2, " requires "
41151 invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
41153 move-result-object v1
41155 const-string v2, "android.permission.INTERACT_ACROSS_USERS"
41157 invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
41159 move-result-object v1
41161 invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
41163 move-result-object v0
41165 const-string v1, "ActivityManager"
41167 invoke-static {v1, v0}, Landroid/util/Slog;->w(Ljava/lang/String;Ljava/lang/String;)I
41169 new-instance v1, Ljava/lang/SecurityException;
41171 invoke-direct {v1, v0}, Ljava/lang/SecurityException;-><init>(Ljava/lang/String;)V
41179 iget-object v1, p0, Lcom/android/server/am/ActivityManagerService;->mStartedUserArray:[I
41190 .catchall {:try_start_45 .. :try_end_4b} :catchall_49
41195 .method public getServices(II)Ljava/util/List;
41197 .annotation system Ldalvik/annotation/Signature;
41202 "Landroid/app/ActivityManager$RunningServiceInfo;",
41207 const-string v0, "getServices"
41209 invoke-virtual {p0, v0}, Lcom/android/server/am/ActivityManagerService;->enforceNotIsolatedCaller(Ljava/lang/String;)V
41214 iget-object v0, p0, Lcom/android/server/am/ActivityManagerService;->mServices:Lcom/android/server/am/ActiveServices;
41216 invoke-virtual {v0, p1, p2}, Lcom/android/server/am/ActiveServices;->getRunningServiceInfoLocked(II)Ljava/util/List;
41218 move-result-object v0
41229 .catchall {:try_start_6 .. :try_end_10} :catchall_e
41234 .method public getTaskForActivity(Landroid/os/IBinder;Z)I
41240 invoke-virtual {p0, p1, p2}, Lcom/android/server/am/ActivityManagerService;->getTaskForActivityLocked(Landroid/os/IBinder;Z)I
41253 .catchall {:try_start_1 .. :try_end_9} :catchall_7
41258 .method getTaskForActivityLocked(Landroid/os/IBinder;Z)I
41263 iget-object v5, p0, Lcom/android/server/am/ActivityManagerService;->mMainStack:Lcom/android/server/am/ActivityStack;
41265 iget-object v5, v5, Lcom/android/server/am/ActivityStack;->mHistory:Ljava/util/ArrayList;
41267 invoke-virtual {v5}, Ljava/util/ArrayList;->size()I
41276 if-ge v1, v0, :cond_25
41278 iget-object v5, p0, Lcom/android/server/am/ActivityManagerService;->mMainStack:Lcom/android/server/am/ActivityStack;
41280 iget-object v5, v5, Lcom/android/server/am/ActivityStack;->mHistory:Ljava/util/ArrayList;
41282 invoke-virtual {v5, v1}, Ljava/util/ArrayList;->get(I)Ljava/lang/Object;
41284 move-result-object v3
41286 check-cast v3, Lcom/android/server/am/ActivityRecord;
41288 iget-object v5, v3, Lcom/android/server/am/ActivityRecord;->appToken:Landroid/view/IApplicationToken$Stub;
41290 if-ne v5, p1, :cond_26
41292 if-eqz p2, :cond_21
41294 iget-object v5, v3, Lcom/android/server/am/ActivityRecord;->task:Lcom/android/server/am/TaskRecord;
41296 if-eq v2, v5, :cond_25
41299 iget-object v4, v3, Lcom/android/server/am/ActivityRecord;->task:Lcom/android/server/am/TaskRecord;
41301 iget v4, v4, Lcom/android/server/am/TaskRecord;->taskId:I
41307 iget-object v2, v3, Lcom/android/server/am/ActivityRecord;->task:Lcom/android/server/am/TaskRecord;
41309 add-int/lit8 v1, v1, 0x1
41314 .method public getTaskThumbnails(I)Landroid/app/ActivityManager$TaskThumbnails;
41320 const-string v1, "android.permission.READ_FRAME_BUFFER"
41322 const-string v2, "getTaskThumbnails()"
41324 invoke-virtual {p0, v1, v2}, Lcom/android/server/am/ActivityManagerService;->enforceCallingPermission(Ljava/lang/String;Ljava/lang/String;)V
41326 invoke-direct {p0, p1}, Lcom/android/server/am/ActivityManagerService;->taskForIdLocked(I)Lcom/android/server/am/TaskRecord;
41328 move-result-object v0
41330 if-eqz v0, :cond_16
41332 iget-object v1, p0, Lcom/android/server/am/ActivityManagerService;->mMainStack:Lcom/android/server/am/ActivityStack;
41334 invoke-virtual {v1, v0}, Lcom/android/server/am/ActivityStack;->getTaskThumbnailsLocked(Lcom/android/server/am/TaskRecord;)Landroid/app/ActivityManager$TaskThumbnails;
41336 move-result-object v1
41355 .catchall {:try_start_1 .. :try_end_1b} :catchall_19
41360 .method public getTaskTopThumbnail(I)Landroid/graphics/Bitmap;
41366 const-string v1, "android.permission.READ_FRAME_BUFFER"
41368 const-string v2, "getTaskTopThumbnail()"
41370 invoke-virtual {p0, v1, v2}, Lcom/android/server/am/ActivityManagerService;->enforceCallingPermission(Ljava/lang/String;Ljava/lang/String;)V
41372 invoke-direct {p0, p1}, Lcom/android/server/am/ActivityManagerService;->taskForIdLocked(I)Lcom/android/server/am/TaskRecord;
41374 move-result-object v0
41376 if-eqz v0, :cond_16
41378 iget-object v1, p0, Lcom/android/server/am/ActivityManagerService;->mMainStack:Lcom/android/server/am/ActivityStack;
41380 invoke-virtual {v1, v0}, Lcom/android/server/am/ActivityStack;->getTaskTopThumbnailLocked(Lcom/android/server/am/TaskRecord;)Landroid/graphics/Bitmap;
41382 move-result-object v1
41401 .catchall {:try_start_1 .. :try_end_1b} :catchall_19
41406 .method public getTasks(IILandroid/app/IThumbnailReceiver;)Ljava/util/List;
41409 new-instance v10, Ljava/util/ArrayList;
41411 invoke-direct {v10}, Ljava/util/ArrayList;-><init>()V
41422 const-string v1, "android.permission.GET_TASKS"
41424 move-object/from16 v0, p0
41426 invoke-virtual {v0, v1}, Lcom/android/server/am/ActivityManagerService;->checkCallingPermission(Ljava/lang/String;)I
41428 .catchall {:try_start_b .. :try_end_12} :catchall_56
41432 if-eqz v1, :cond_59
41434 if-eqz p3, :cond_1a
41437 invoke-interface/range {p3 .. p3}, Landroid/app/IThumbnailReceiver;->finished()V
41439 .catchall {:try_start_17 .. :try_end_1a} :catchall_56
41440 .catch Landroid/os/RemoteException; {:try_start_17 .. :try_end_1a} :catch_18e
41445 new-instance v1, Ljava/lang/StringBuilder;
41447 invoke-direct {v1}, Ljava/lang/StringBuilder;-><init>()V
41449 const-string v2, "Permission Denial: getTasks() from pid="
41451 invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
41453 move-result-object v1
41455 invoke-static {}, Landroid/os/Binder;->getCallingPid()I
41459 invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
41461 move-result-object v1
41463 const-string v2, ", uid="
41465 invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
41467 move-result-object v1
41469 invoke-static {}, Landroid/os/Binder;->getCallingUid()I
41473 invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
41475 move-result-object v1
41477 const-string v2, " requires "
41479 invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
41481 move-result-object v1
41483 const-string v2, "android.permission.GET_TASKS"
41485 invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
41487 move-result-object v1
41489 invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
41491 move-result-object v11
41493 const-string v1, "ActivityManager"
41495 invoke-static {v1, v11}, Landroid/util/Slog;->w(Ljava/lang/String;Ljava/lang/String;)I
41497 new-instance v1, Ljava/lang/SecurityException;
41499 invoke-direct {v1, v11}, Ljava/lang/SecurityException;-><init>(Ljava/lang/String;)V
41509 .catchall {:try_start_1a .. :try_end_58} :catchall_56
41515 move-object/from16 v0, p0
41517 iget-object v1, v0, Lcom/android/server/am/ActivityManagerService;->mMainStack:Lcom/android/server/am/ActivityStack;
41519 iget-object v1, v1, Lcom/android/server/am/ActivityStack;->mHistory:Ljava/util/ArrayList;
41521 invoke-virtual {v1}, Ljava/util/ArrayList;->size()I
41525 add-int/lit8 v17, v1, -0x1
41527 if-ltz v17, :cond_148
41529 move-object/from16 v0, p0
41531 iget-object v1, v0, Lcom/android/server/am/ActivityManagerService;->mMainStack:Lcom/android/server/am/ActivityStack;
41533 iget-object v1, v1, Lcom/android/server/am/ActivityStack;->mHistory:Ljava/util/ArrayList;
41535 move/from16 v0, v17
41537 invoke-virtual {v1, v0}, Ljava/util/ArrayList;->get(I)Ljava/lang/Object;
41539 move-result-object v1
41541 check-cast v1, Lcom/android/server/am/ActivityRecord;
41543 .catchall {:try_start_59 .. :try_end_75} :catchall_56
41545 move-object v12, v1
41556 move-object/from16 v16, v15
41559 if-ltz v17, :cond_159
41561 if-lez p1, :cond_159
41563 move-object/from16 v18, v12
41565 add-int/lit8 v17, v17, -0x1
41567 if-ltz v17, :cond_14b
41570 move-object/from16 v0, p0
41572 iget-object v1, v0, Lcom/android/server/am/ActivityManagerService;->mMainStack:Lcom/android/server/am/ActivityStack;
41574 iget-object v1, v1, Lcom/android/server/am/ActivityStack;->mHistory:Ljava/util/ArrayList;
41576 move/from16 v0, v17
41578 invoke-virtual {v1, v0}, Ljava/util/ArrayList;->get(I)Ljava/lang/Object;
41580 move-result-object v1
41582 check-cast v1, Lcom/android/server/am/ActivityRecord;
41584 move-object v12, v1
41587 if-eqz v19, :cond_aa
41589 move-object/from16 v0, v19
41591 iget-object v1, v0, Lcom/android/server/am/ActivityRecord;->state:Lcom/android/server/am/ActivityStack$ActivityState;
41593 sget-object v2, Lcom/android/server/am/ActivityStack$ActivityState;->INITIALIZING:Lcom/android/server/am/ActivityStack$ActivityState;
41595 if-ne v1, v2, :cond_b2
41597 move-object/from16 v0, v19
41599 iget-object v1, v0, Lcom/android/server/am/ActivityRecord;->task:Lcom/android/server/am/TaskRecord;
41601 move-object/from16 v0, v18
41603 iget-object v2, v0, Lcom/android/server/am/ActivityRecord;->task:Lcom/android/server/am/TaskRecord;
41605 if-ne v1, v2, :cond_b2
41608 move-object/from16 v19, v18
41610 move-object/from16 v0, v18
41612 iget-object v8, v0, Lcom/android/server/am/ActivityRecord;->task:Lcom/android/server/am/TaskRecord;
41619 add-int/lit8 v13, v13, 0x1
41621 move-object/from16 v0, v18
41623 iget-object v1, v0, Lcom/android/server/am/ActivityRecord;->app:Lcom/android/server/am/ProcessRecord;
41625 if-eqz v1, :cond_c4
41627 move-object/from16 v0, v18
41629 iget-object v1, v0, Lcom/android/server/am/ActivityRecord;->app:Lcom/android/server/am/ProcessRecord;
41631 iget-object v1, v1, Lcom/android/server/am/ProcessRecord;->thread:Landroid/app/IApplicationThread;
41633 if-eqz v1, :cond_c4
41635 add-int/lit8 v14, v14, 0x1
41638 if-eqz v12, :cond_ca
41640 iget-object v1, v12, Lcom/android/server/am/ActivityRecord;->task:Lcom/android/server/am/TaskRecord;
41642 if-eq v1, v8, :cond_199
41645 new-instance v7, Landroid/app/ActivityManager$RunningTaskInfo;
41647 invoke-direct {v7}, Landroid/app/ActivityManager$RunningTaskInfo;-><init>()V
41649 iget v1, v8, Lcom/android/server/am/TaskRecord;->taskId:I
41651 iput v1, v7, Landroid/app/ActivityManager$RunningTaskInfo;->id:I
41653 move-object/from16 v0, v18
41655 iget-object v1, v0, Lcom/android/server/am/ActivityRecord;->intent:Landroid/content/Intent;
41657 invoke-virtual {v1}, Landroid/content/Intent;->getComponent()Landroid/content/ComponentName;
41659 move-result-object v1
41661 iput-object v1, v7, Landroid/app/ActivityManager$RunningTaskInfo;->baseActivity:Landroid/content/ComponentName;
41663 move-object/from16 v0, v19
41665 iget-object v1, v0, Lcom/android/server/am/ActivityRecord;->intent:Landroid/content/Intent;
41667 invoke-virtual {v1}, Landroid/content/Intent;->getComponent()Landroid/content/ComponentName;
41669 move-result-object v1
41671 iput-object v1, v7, Landroid/app/ActivityManager$RunningTaskInfo;->topActivity:Landroid/content/ComponentName;
41673 move-object/from16 v0, v19
41675 iget-object v1, v0, Lcom/android/server/am/ActivityRecord;->thumbHolder:Lcom/android/server/am/ThumbnailHolder;
41677 if-eqz v1, :cond_f5
41679 move-object/from16 v0, v19
41681 iget-object v1, v0, Lcom/android/server/am/ActivityRecord;->thumbHolder:Lcom/android/server/am/ThumbnailHolder;
41683 iget-object v1, v1, Lcom/android/server/am/ThumbnailHolder;->lastDescription:Ljava/lang/CharSequence;
41685 iput-object v1, v7, Landroid/app/ActivityManager$RunningTaskInfo;->description:Ljava/lang/CharSequence;
41688 iput v13, v7, Landroid/app/ActivityManager$RunningTaskInfo;->numActivities:I
41690 iput v14, v7, Landroid/app/ActivityManager$RunningTaskInfo;->numRunning:I
41692 iget-object v1, v7, Landroid/app/ActivityManager$RunningTaskInfo;->thumbnail:Landroid/graphics/Bitmap;
41694 if-nez v1, :cond_196
41696 if-eqz p3, :cond_196
41698 move-object/from16 v0, v19
41700 iget-object v1, v0, Lcom/android/server/am/ActivityRecord;->state:Lcom/android/server/am/ActivityStack$ActivityState;
41702 sget-object v2, Lcom/android/server/am/ActivityStack$ActivityState;->RESUMED:Lcom/android/server/am/ActivityStack$ActivityState;
41704 if-eq v1, v2, :cond_10f
41706 move-object/from16 v0, v19
41708 iget-object v1, v0, Lcom/android/server/am/ActivityRecord;->state:Lcom/android/server/am/ActivityStack$ActivityState;
41710 sget-object v2, Lcom/android/server/am/ActivityStack$ActivityState;->PAUSING:Lcom/android/server/am/ActivityStack$ActivityState;
41712 if-ne v1, v2, :cond_12d
41715 move-object/from16 v0, v19
41717 iget-boolean v1, v0, Lcom/android/server/am/ActivityRecord;->idle:Z
41719 if-eqz v1, :cond_14e
41721 move-object/from16 v0, v19
41723 iget-object v1, v0, Lcom/android/server/am/ActivityRecord;->app:Lcom/android/server/am/ProcessRecord;
41725 if-eqz v1, :cond_14e
41727 move-object/from16 v0, v19
41729 iget-object v1, v0, Lcom/android/server/am/ActivityRecord;->app:Lcom/android/server/am/ProcessRecord;
41731 iget-object v1, v1, Lcom/android/server/am/ProcessRecord;->thread:Landroid/app/IApplicationThread;
41733 if-eqz v1, :cond_14e
41735 move-object/from16 v20, v19
41737 move-object/from16 v0, v19
41739 iget-object v1, v0, Lcom/android/server/am/ActivityRecord;->app:Lcom/android/server/am/ProcessRecord;
41741 iget-object v0, v1, Lcom/android/server/am/ProcessRecord;->thread:Landroid/app/IApplicationThread;
41743 move-object/from16 v21, v0
41747 if-nez v16, :cond_193
41749 new-instance v15, Lcom/android/server/am/PendingThumbnailsRecord;
41751 move-object/from16 v0, p3
41753 invoke-direct {v15, v0}, Lcom/android/server/am/PendingThumbnailsRecord;-><init>(Landroid/app/IThumbnailReceiver;)V
41755 .catchall {:try_start_87 .. :try_end_136} :catchall_154
41759 iget-object v1, v15, Lcom/android/server/am/PendingThumbnailsRecord;->pendingRecords:Ljava/util/HashSet;
41761 move-object/from16 v0, v19
41763 invoke-virtual {v1, v0}, Ljava/util/HashSet;->add(Ljava/lang/Object;)Z
41766 invoke-virtual {v10, v7}, Ljava/util/ArrayList;->add(Ljava/lang/Object;)Z
41768 .catchall {:try_start_136 .. :try_end_140} :catchall_56
41770 add-int/lit8 p1, p1, -0x1
41775 move-object/from16 v16, v15
41793 move-object/from16 v0, v19
41795 iput-boolean v1, v0, Lcom/android/server/am/ActivityRecord;->thumbnailNeeded:Z
41802 move-object/from16 v15, v16
41807 if-eqz v16, :cond_164
41809 move-object/from16 v0, p0
41811 iget-object v1, v0, Lcom/android/server/am/ActivityManagerService;->mPendingThumbnails:Ljava/util/ArrayList;
41813 move-object/from16 v0, v16
41815 invoke-virtual {v1, v0}, Ljava/util/ArrayList;->add(Ljava/lang/Object;)Z
41820 .catchall {:try_start_14f .. :try_end_165} :catchall_154
41822 if-eqz v21, :cond_170
41825 move-object/from16 v0, v20
41827 iget-object v1, v0, Lcom/android/server/am/ActivityRecord;->appToken:Landroid/view/IApplicationToken$Stub;
41829 move-object/from16 v0, v21
41831 invoke-interface {v0, v1}, Landroid/app/IApplicationThread;->requestThumbnail(Landroid/os/IBinder;)V
41833 .catch Ljava/lang/Exception; {:try_start_167 .. :try_end_170} :catch_178
41837 if-nez v16, :cond_177
41839 if-eqz p3, :cond_177
41842 invoke-interface/range {p3 .. p3}, Landroid/app/IThumbnailReceiver;->finished()V
41844 .catch Landroid/os/RemoteException; {:try_start_174 .. :try_end_177} :catch_191
41853 const-string v1, "ActivityManager"
41855 const-string v2, "Exception thrown when requesting thumbnail"
41857 invoke-static {v1, v2, v9}, Landroid/util/Slog;->w(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I
41861 move-object/from16 v0, v20
41863 iget-object v3, v0, Lcom/android/server/am/ActivityRecord;->appToken:Landroid/view/IApplicationToken$Stub;
41871 move-object/from16 v1, p0
41873 invoke-virtual/range {v1 .. v6}, Lcom/android/server/am/ActivityManagerService;->sendPendingThumbnail(Lcom/android/server/am/ActivityRecord;Landroid/os/IBinder;Landroid/graphics/Bitmap;Ljava/lang/CharSequence;Z)V
41888 move-object/from16 v15, v16
41893 move-object/from16 v15, v16
41898 move-object/from16 v15, v16
41903 .method public getUidForIntentSender(Landroid/content/IIntentSender;)I
41906 instance-of v2, p1, Lcom/android/server/am/PendingIntentRecord;
41913 check-cast v0, Lcom/android/server/am/PendingIntentRecord;
41917 iget v2, v1, Lcom/android/server/am/PendingIntentRecord;->uid:I
41919 .catch Ljava/lang/ClassCastException; {:try_start_4 .. :try_end_a} :catch_b
41933 .method getUserManagerLocked()Lcom/android/server/pm/UserManagerService;
41936 iget-object v1, p0, Lcom/android/server/am/ActivityManagerService;->mUserManager:Lcom/android/server/pm/UserManagerService;
41938 if-nez v1, :cond_12
41940 const-string v1, "user"
41942 invoke-static {v1}, Landroid/os/ServiceManager;->getService(Ljava/lang/String;)Landroid/os/IBinder;
41944 move-result-object v0
41946 invoke-static {v0}, Landroid/os/IUserManager$Stub;->asInterface(Landroid/os/IBinder;)Landroid/os/IUserManager;
41948 move-result-object v1
41950 check-cast v1, Lcom/android/server/pm/UserManagerService;
41952 iput-object v1, p0, Lcom/android/server/am/ActivityManagerService;->mUserManager:Lcom/android/server/pm/UserManagerService;
41955 iget-object v1, p0, Lcom/android/server/am/ActivityManagerService;->mUserManager:Lcom/android/server/pm/UserManagerService;
41960 .method getUsersLocked()[I
41965 invoke-virtual {p0}, Lcom/android/server/am/ActivityManagerService;->getUserManagerLocked()Lcom/android/server/pm/UserManagerService;
41967 move-result-object v0
41971 invoke-virtual {v0}, Lcom/android/server/pm/UserManagerService;->getUserIds()[I
41973 move-result-object v1
41981 new-array v1, v1, [I
41988 .method public goingToSleep()V
41991 const-string v1, "android.permission.DEVICE_POWER"
41993 invoke-virtual {p0, v1}, Lcom/android/server/am/ActivityManagerService;->checkCallingPermission(Ljava/lang/String;)I
41997 if-eqz v1, :cond_10
41999 new-instance v1, Ljava/lang/SecurityException;
42001 const-string v2, "Requires permission android.permission.DEVICE_POWER"
42003 invoke-direct {v1, v2}, Ljava/lang/SecurityException;-><init>(Ljava/lang/String;)V
42013 iput-boolean v1, p0, Lcom/android/server/am/ActivityManagerService;->mWentToSleep:Z
42015 invoke-direct {p0}, Lcom/android/server/am/ActivityManagerService;->updateEventDispatchingLocked()V
42017 iget-boolean v1, p0, Lcom/android/server/am/ActivityManagerService;->mSleeping:Z
42019 if-nez v1, :cond_3e
42023 iput-boolean v1, p0, Lcom/android/server/am/ActivityManagerService;->mSleeping:Z
42025 iget-object v1, p0, Lcom/android/server/am/ActivityManagerService;->mMainStack:Lcom/android/server/am/ActivityStack;
42027 invoke-virtual {v1}, Lcom/android/server/am/ActivityStack;->stopIfSleepingLocked()V
42031 invoke-virtual {p0, v1}, Lcom/android/server/am/ActivityManagerService;->checkExcessivePowerUsageLocked(Z)V
42033 iget-object v1, p0, Lcom/android/server/am/ActivityManagerService;->mHandler:Landroid/os/Handler;
42037 invoke-virtual {v1, v2}, Landroid/os/Handler;->removeMessages(I)V
42039 iget-object v1, p0, Lcom/android/server/am/ActivityManagerService;->mHandler:Landroid/os/Handler;
42043 invoke-virtual {v1, v2}, Landroid/os/Handler;->obtainMessage(I)Landroid/os/Message;
42045 move-result-object v0
42047 iget-object v1, p0, Lcom/android/server/am/ActivityManagerService;->mHandler:Landroid/os/Handler;
42049 const-wide/32 v2, 0xdbba0
42051 invoke-virtual {v1, v0, v2, v3}, Landroid/os/Handler;->sendMessageDelayed(Landroid/os/Message;J)Z
42063 .catchall {:try_start_12 .. :try_end_42} :catchall_40
42068 .method public grantUriPermission(Landroid/app/IApplicationThread;Ljava/lang/String;Landroid/net/Uri;I)V
42071 const-string v0, "grantUriPermission"
42073 invoke-virtual {p0, v0}, Lcom/android/server/am/ActivityManagerService;->enforceNotIsolatedCaller(Ljava/lang/String;)V
42078 invoke-virtual {p0, p1}, Lcom/android/server/am/ActivityManagerService;->getRecordForAppLocked(Landroid/app/IApplicationThread;)Lcom/android/server/am/ProcessRecord;
42080 move-result-object v6
42082 if-nez v6, :cond_32
42084 new-instance v0, Ljava/lang/SecurityException;
42086 new-instance v1, Ljava/lang/StringBuilder;
42088 invoke-direct {v1}, Ljava/lang/StringBuilder;-><init>()V
42090 const-string v2, "Unable to find app for caller "
42092 invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
42094 move-result-object v1
42096 invoke-virtual {v1, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
42098 move-result-object v1
42100 const-string v2, " when granting permission to uri "
42102 invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
42104 move-result-object v1
42106 invoke-virtual {v1, p3}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
42108 move-result-object v1
42110 invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
42112 move-result-object v1
42114 invoke-direct {v0, v1}, Ljava/lang/SecurityException;-><init>(Ljava/lang/String;)V
42123 .catchall {:try_start_6 .. :try_end_31} :catchall_2f
42128 if-nez p2, :cond_3c
42131 new-instance v0, Ljava/lang/IllegalArgumentException;
42133 const-string v1, "null target"
42135 invoke-direct {v0, v1}, Ljava/lang/IllegalArgumentException;-><init>(Ljava/lang/String;)V
42140 if-nez p3, :cond_46
42142 new-instance v0, Ljava/lang/IllegalArgumentException;
42144 const-string v1, "null uri"
42146 invoke-direct {v0, v1}, Ljava/lang/IllegalArgumentException;-><init>(Ljava/lang/String;)V
42151 iget v1, v6, Lcom/android/server/am/ProcessRecord;->uid:I
42163 invoke-virtual/range {v0 .. v5}, Lcom/android/server/am/ActivityManagerService;->grantUriPermissionLocked(ILjava/lang/String;Landroid/net/Uri;ILcom/android/server/am/UriPermissionOwner;)V
42167 .catchall {:try_start_34 .. :try_end_51} :catchall_2f
42172 .method grantUriPermissionFromIntentLocked(ILjava/lang/String;Landroid/content/Intent;Lcom/android/server/am/UriPermissionOwner;)V
42175 if-eqz p3, :cond_12
42177 invoke-virtual {p3}, Landroid/content/Intent;->getFlags()I
42192 invoke-virtual/range {v0 .. v5}, Lcom/android/server/am/ActivityManagerService;->checkGrantUriPermissionFromIntentLocked(ILjava/lang/String;Landroid/content/Intent;ILcom/android/server/am/ActivityManagerService$NeededUriGrants;)Lcom/android/server/am/ActivityManagerService$NeededUriGrants;
42194 move-result-object v6
42196 if-nez v6, :cond_14
42207 invoke-virtual {p0, v6, p4}, Lcom/android/server/am/ActivityManagerService;->grantUriPermissionUncheckedFromIntentLocked(Lcom/android/server/am/ActivityManagerService$NeededUriGrants;Lcom/android/server/am/UriPermissionOwner;)V
42212 .method public grantUriPermissionFromOwner(Landroid/os/IBinder;ILjava/lang/String;Landroid/net/Uri;I)V
42218 invoke-static {p1}, Lcom/android/server/am/UriPermissionOwner;->fromExternalToken(Landroid/os/IBinder;)Lcom/android/server/am/UriPermissionOwner;
42220 move-result-object v5
42222 if-nez v5, :cond_23
42224 new-instance v0, Ljava/lang/IllegalArgumentException;
42226 new-instance v1, Ljava/lang/StringBuilder;
42228 invoke-direct {v1}, Ljava/lang/StringBuilder;-><init>()V
42230 const-string v2, "Unknown owner: "
42232 invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
42234 move-result-object v1
42236 invoke-virtual {v1, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
42238 move-result-object v1
42240 invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
42242 move-result-object v1
42244 invoke-direct {v0, v1}, Ljava/lang/IllegalArgumentException;-><init>(Ljava/lang/String;)V
42253 .catchall {:try_start_1 .. :try_end_22} :catchall_20
42259 invoke-static {}, Landroid/os/Binder;->getCallingUid()I
42263 if-eq p2, v0, :cond_3b
42265 invoke-static {}, Landroid/os/Binder;->getCallingUid()I
42269 invoke-static {}, Landroid/os/Process;->myUid()I
42273 if-eq v0, v1, :cond_3b
42275 new-instance v0, Ljava/lang/SecurityException;
42277 const-string v1, "nice try"
42279 invoke-direct {v0, v1}, Ljava/lang/SecurityException;-><init>(Ljava/lang/String;)V
42284 if-nez p3, :cond_45
42286 new-instance v0, Ljava/lang/IllegalArgumentException;
42288 const-string v1, "null target"
42290 invoke-direct {v0, v1}, Ljava/lang/IllegalArgumentException;-><init>(Ljava/lang/String;)V
42295 if-nez p4, :cond_4f
42297 new-instance v0, Ljava/lang/IllegalArgumentException;
42299 const-string v1, "null uri"
42301 invoke-direct {v0, v1}, Ljava/lang/IllegalArgumentException;-><init>(Ljava/lang/String;)V
42316 invoke-virtual/range {v0 .. v5}, Lcom/android/server/am/ActivityManagerService;->grantUriPermissionLocked(ILjava/lang/String;Landroid/net/Uri;ILcom/android/server/am/UriPermissionOwner;)V
42320 .catchall {:try_start_23 .. :try_end_58} :catchall_20
42325 .method grantUriPermissionLocked(ILjava/lang/String;Landroid/net/Uri;ILcom/android/server/am/UriPermissionOwner;)V
42330 new-instance v0, Ljava/lang/NullPointerException;
42332 const-string v2, "targetPkg"
42334 invoke-direct {v0, v2}, Ljava/lang/NullPointerException;-><init>(Ljava/lang/String;)V
42351 invoke-virtual/range {v0 .. v5}, Lcom/android/server/am/ActivityManagerService;->checkGrantUriPermissionLocked(ILjava/lang/String;Landroid/net/Uri;II)I
42355 if-gez v1, :cond_17
42371 invoke-virtual/range {v0 .. v5}, Lcom/android/server/am/ActivityManagerService;->grantUriPermissionUncheckedLocked(ILjava/lang/String;Landroid/net/Uri;ILcom/android/server/am/UriPermissionOwner;)V
42376 .method grantUriPermissionUncheckedFromIntentLocked(Lcom/android/server/am/ActivityManagerService$NeededUriGrants;Lcom/android/server/am/UriPermissionOwner;)V
42379 if-eqz p1, :cond_1d
42384 invoke-virtual {p1}, Lcom/android/server/am/ActivityManagerService$NeededUriGrants;->size()I
42388 if-ge v6, v0, :cond_1d
42390 iget v1, p1, Lcom/android/server/am/ActivityManagerService$NeededUriGrants;->targetUid:I
42392 iget-object v2, p1, Lcom/android/server/am/ActivityManagerService$NeededUriGrants;->targetPkg:Ljava/lang/String;
42394 invoke-virtual {p1, v6}, Lcom/android/server/am/ActivityManagerService$NeededUriGrants;->get(I)Ljava/lang/Object;
42396 move-result-object v3
42398 check-cast v3, Landroid/net/Uri;
42400 iget v4, p1, Lcom/android/server/am/ActivityManagerService$NeededUriGrants;->flags:I
42406 invoke-virtual/range {v0 .. v5}, Lcom/android/server/am/ActivityManagerService;->grantUriPermissionUncheckedLocked(ILjava/lang/String;Landroid/net/Uri;ILcom/android/server/am/UriPermissionOwner;)V
42408 add-int/lit8 v6, v6, 0x1
42416 .method grantUriPermissionUncheckedLocked(ILjava/lang/String;Landroid/net/Uri;ILcom/android/server/am/UriPermissionOwner;)V
42419 and-int/lit8 p4, p4, 0x3
42428 iget-object v2, p0, Lcom/android/server/am/ActivityManagerService;->mGrantedUriPermissions:Landroid/util/SparseArray;
42430 invoke-virtual {v2, p1}, Landroid/util/SparseArray;->get(I)Ljava/lang/Object;
42432 move-result-object v1
42434 check-cast v1, Ljava/util/HashMap;
42436 if-nez v1, :cond_19
42438 new-instance v1, Ljava/util/HashMap;
42440 invoke-direct {v1}, Ljava/util/HashMap;-><init>()V
42442 iget-object v2, p0, Lcom/android/server/am/ActivityManagerService;->mGrantedUriPermissions:Landroid/util/SparseArray;
42444 invoke-virtual {v2, p1, v1}, Landroid/util/SparseArray;->put(ILjava/lang/Object;)V
42447 invoke-virtual {v1, p3}, Ljava/util/HashMap;->get(Ljava/lang/Object;)Ljava/lang/Object;
42449 move-result-object v0
42451 check-cast v0, Lcom/android/server/am/UriPermission;
42453 if-nez v0, :cond_29
42455 new-instance v0, Lcom/android/server/am/UriPermission;
42457 invoke-direct {v0, p1, p3}, Lcom/android/server/am/UriPermission;-><init>(ILandroid/net/Uri;)V
42459 invoke-virtual {v1, p3, v0}, Ljava/util/HashMap;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
42462 iget v2, v0, Lcom/android/server/am/UriPermission;->modeFlags:I
42464 or-int/2addr v2, p4
42466 iput v2, v0, Lcom/android/server/am/UriPermission;->modeFlags:I
42468 if-nez p5, :cond_36
42470 iget v2, v0, Lcom/android/server/am/UriPermission;->globalModeFlags:I
42472 or-int/2addr v2, p4
42474 iput v2, v0, Lcom/android/server/am/UriPermission;->globalModeFlags:I
42479 and-int/lit8 v2, p4, 0x1
42481 if-eqz v2, :cond_42
42483 iget-object v2, v0, Lcom/android/server/am/UriPermission;->readOwners:Ljava/util/HashSet;
42485 invoke-virtual {v2, p5}, Ljava/util/HashSet;->add(Ljava/lang/Object;)Z
42487 invoke-virtual {p5, v0}, Lcom/android/server/am/UriPermissionOwner;->addReadPermission(Lcom/android/server/am/UriPermission;)V
42490 and-int/lit8 v2, p4, 0x2
42494 iget-object v2, v0, Lcom/android/server/am/UriPermission;->writeOwners:Ljava/util/HashSet;
42496 invoke-virtual {v2, p5}, Ljava/util/HashSet;->add(Ljava/lang/Object;)Z
42498 invoke-virtual {p5, v0}, Lcom/android/server/am/UriPermissionOwner;->addWritePermission(Lcom/android/server/am/UriPermission;)V
42503 .method public handleApplicationCrash(Landroid/os/IBinder;Landroid/app/ApplicationErrorReport$CrashInfo;)V
42508 const-string v0, "Crash"
42510 invoke-direct {p0, p1, v0}, Lcom/android/server/am/ActivityManagerService;->findAppProcess(Landroid/os/IBinder;Ljava/lang/String;)Lcom/android/server/am/ProcessRecord;
42512 move-result-object v2
42514 if-nez p1, :cond_62
42516 const-string v3, "system_server"
42519 const/16 v1, 0x7557
42523 new-array v5, v0, [Ljava/lang/Object;
42527 invoke-static {}, Landroid/os/Binder;->getCallingPid()I
42531 invoke-static {v6}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
42533 move-result-object v6
42535 aput-object v6, v5, v0
42539 invoke-static {}, Landroid/os/Binder;->getCallingUid()I
42543 invoke-static {v6}, Landroid/os/UserHandle;->getUserId(I)I
42547 invoke-static {v6}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
42549 move-result-object v6
42551 aput-object v6, v5, v0
42555 aput-object v3, v5, v0
42559 if-nez v2, :cond_6a
42564 invoke-static {v0}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
42566 move-result-object v0
42568 aput-object v0, v5, v6
42572 iget-object v6, p2, Landroid/app/ApplicationErrorReport$CrashInfo;->exceptionClassName:Ljava/lang/String;
42574 aput-object v6, v5, v0
42578 iget-object v6, p2, Landroid/app/ApplicationErrorReport$CrashInfo;->exceptionMessage:Ljava/lang/String;
42580 aput-object v6, v5, v0
42584 iget-object v6, p2, Landroid/app/ApplicationErrorReport$CrashInfo;->throwFileName:Ljava/lang/String;
42586 aput-object v6, v5, v0
42590 iget v6, p2, Landroid/app/ApplicationErrorReport$CrashInfo;->throwLineNumber:I
42592 invoke-static {v6}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
42594 move-result-object v6
42596 aput-object v6, v5, v0
42598 invoke-static {v1, v5}, Landroid/util/EventLog;->writeEvent(I[Ljava/lang/Object;)I
42600 const-string v1, "crash"
42614 invoke-virtual/range {v0 .. v9}, Lcom/android/server/am/ActivityManagerService;->addErrorToDropBox(Ljava/lang/String;Lcom/android/server/am/ProcessRecord;Ljava/lang/String;Lcom/android/server/am/ActivityRecord;Lcom/android/server/am/ActivityRecord;Ljava/lang/String;Ljava/lang/String;Ljava/io/File;Landroid/app/ApplicationErrorReport$CrashInfo;)V
42616 invoke-direct {p0, v2, p2}, Lcom/android/server/am/ActivityManagerService;->crashApplication(Lcom/android/server/am/ProcessRecord;Landroid/app/ApplicationErrorReport$CrashInfo;)V
42621 if-nez v2, :cond_67
42623 const-string v3, "unknown"
42628 iget-object v3, v2, Lcom/android/server/am/ProcessRecord;->processName:Ljava/lang/String;
42633 iget-object v0, v2, Lcom/android/server/am/ProcessRecord;->info:Landroid/content/pm/ApplicationInfo;
42635 iget v0, v0, Landroid/content/pm/ApplicationInfo;->flags:I
42640 .method public handleApplicationStrictModeViolation(Landroid/os/IBinder;ILandroid/os/StrictMode$ViolationInfo;)V
42643 const-string v9, "StrictMode"
42645 invoke-direct {p0, p1, v9}, Lcom/android/server/am/ActivityManagerService;->findAppProcess(Landroid/os/IBinder;Ljava/lang/String;)Lcom/android/server/am/ProcessRecord;
42647 move-result-object v5
42656 and-int/lit16 v9, p2, 0x80
42658 if-eqz v9, :cond_28
42660 invoke-virtual {p3}, Landroid/os/StrictMode$ViolationInfo;->hashCode()I
42664 invoke-static {v9}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
42666 move-result-object v8
42670 iget-object v10, p0, Lcom/android/server/am/ActivityManagerService;->mAlreadyLoggedViolatedStacks:Ljava/util/HashSet;
42675 iget-object v9, p0, Lcom/android/server/am/ActivityManagerService;->mAlreadyLoggedViolatedStacks:Ljava/util/HashSet;
42677 invoke-virtual {v9, v8}, Ljava/util/HashSet;->contains(Ljava/lang/Object;)Z
42681 if-eqz v9, :cond_83
42688 .catchall {:try_start_19 .. :try_end_23} :catchall_98
42690 if-eqz v1, :cond_28
42692 invoke-direct {p0, v5, p3}, Lcom/android/server/am/ActivityManagerService;->logStrictModeViolationToDropBox(Lcom/android/server/am/ProcessRecord;Landroid/os/StrictMode$ViolationInfo;)V
42695 and-int/lit8 v9, p2, 0x20
42699 new-instance v7, Lcom/android/server/am/AppErrorResult;
42701 invoke-direct {v7}, Lcom/android/server/am/AppErrorResult;-><init>()V
42706 invoke-static {}, Landroid/os/Binder;->clearCallingIdentity()J
42708 move-result-wide v3
42710 invoke-static {}, Landroid/os/Message;->obtain()Landroid/os/Message;
42712 move-result-object v2
42716 iput v9, v2, Landroid/os/Message;->what:I
42718 new-instance v0, Ljava/util/HashMap;
42720 invoke-direct {v0}, Ljava/util/HashMap;-><init>()V
42722 const-string v9, "result"
42724 invoke-virtual {v0, v9, v7}, Ljava/util/HashMap;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
42726 const-string v9, "app"
42728 invoke-virtual {v0, v9, v5}, Ljava/util/HashMap;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
42730 const-string v9, "violationMask"
42732 invoke-static {p2}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
42734 move-result-object v10
42736 invoke-virtual {v0, v9, v10}, Ljava/util/HashMap;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
42738 const-string v9, "info"
42740 invoke-virtual {v0, v9, p3}, Ljava/util/HashMap;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
42742 iput-object v0, v2, Landroid/os/Message;->obj:Ljava/lang/Object;
42744 iget-object v9, p0, Lcom/android/server/am/ActivityManagerService;->mHandler:Landroid/os/Handler;
42746 invoke-virtual {v9, v2}, Landroid/os/Handler;->sendMessage(Landroid/os/Message;)Z
42748 invoke-static {v3, v4}, Landroid/os/Binder;->restoreCallingIdentity(J)V
42752 .catchall {:try_start_32 .. :try_end_66} :catchall_9b
42754 invoke-virtual {v7}, Lcom/android/server/am/AppErrorResult;->get()I
42758 const-string v9, "ActivityManager"
42760 new-instance v10, Ljava/lang/StringBuilder;
42762 invoke-direct {v10}, Ljava/lang/StringBuilder;-><init>()V
42764 const-string v11, "handleApplicationStrictModeViolation; res="
42766 invoke-virtual {v10, v11}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
42768 move-result-object v10
42770 invoke-virtual {v10, v6}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
42772 move-result-object v10
42774 invoke-virtual {v10}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
42776 move-result-object v10
42778 invoke-static {v9, v10}, Landroid/util/Slog;->w(Ljava/lang/String;Ljava/lang/String;)I
42784 iget-object v9, p0, Lcom/android/server/am/ActivityManagerService;->mAlreadyLoggedViolatedStacks:Ljava/util/HashSet;
42786 invoke-virtual {v9}, Ljava/util/HashSet;->size()I
42790 const/16 v11, 0x1388
42792 if-lt v9, v11, :cond_92
42794 iget-object v9, p0, Lcom/android/server/am/ActivityManagerService;->mAlreadyLoggedViolatedStacks:Ljava/util/HashSet;
42796 invoke-virtual {v9}, Ljava/util/HashSet;->clear()V
42799 iget-object v9, p0, Lcom/android/server/am/ActivityManagerService;->mAlreadyLoggedViolatedStacks:Ljava/util/HashSet;
42801 invoke-virtual {v9, v8}, Ljava/util/HashSet;->add(Ljava/lang/Object;)Z
42810 .catchall {:try_start_83 .. :try_end_9a} :catchall_98
42820 .catchall {:try_start_9c .. :try_end_9d} :catchall_9b
42825 .method public handleApplicationWtf(Landroid/os/IBinder;Ljava/lang/String;Landroid/app/ApplicationErrorReport$CrashInfo;)Z
42834 const-string v0, "WTF"
42836 invoke-direct {p0, p1, v0}, Lcom/android/server/am/ActivityManagerService;->findAppProcess(Landroid/os/IBinder;Ljava/lang/String;)Lcom/android/server/am/ProcessRecord;
42838 move-result-object v2
42840 if-nez p1, :cond_6a
42842 const-string v3, "system_server"
42845 const/16 v1, 0x7558
42849 new-array v5, v0, [Ljava/lang/Object;
42851 invoke-static {}, Landroid/os/Binder;->getCallingUid()I
42855 invoke-static {v0}, Landroid/os/UserHandle;->getUserId(I)I
42859 invoke-static {v0}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
42861 move-result-object v0
42863 aput-object v0, v5, v11
42865 invoke-static {}, Landroid/os/Binder;->getCallingPid()I
42869 invoke-static {v0}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
42871 move-result-object v0
42873 aput-object v0, v5, v10
42877 aput-object v3, v5, v0
42881 if-nez v2, :cond_72
42886 invoke-static {v0}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
42888 move-result-object v0
42890 aput-object v0, v5, v6
42894 aput-object p2, v5, v0
42898 iget-object v6, p3, Landroid/app/ApplicationErrorReport$CrashInfo;->exceptionMessage:Ljava/lang/String;
42900 aput-object v6, v5, v0
42902 invoke-static {v1, v5}, Landroid/util/EventLog;->writeEvent(I[Ljava/lang/Object;)I
42904 const-string v1, "wtf"
42918 invoke-virtual/range {v0 .. v9}, Lcom/android/server/am/ActivityManagerService;->addErrorToDropBox(Ljava/lang/String;Lcom/android/server/am/ProcessRecord;Ljava/lang/String;Lcom/android/server/am/ActivityRecord;Lcom/android/server/am/ActivityRecord;Ljava/lang/String;Ljava/lang/String;Ljava/io/File;Landroid/app/ApplicationErrorReport$CrashInfo;)V
42920 if-eqz v2, :cond_77
42922 iget v0, v2, Lcom/android/server/am/ProcessRecord;->pid:I
42924 invoke-static {}, Landroid/os/Process;->myPid()I
42928 if-eq v0, v1, :cond_77
42930 iget-object v0, p0, Lcom/android/server/am/ActivityManagerService;->mContext:Landroid/content/Context;
42932 invoke-virtual {v0}, Landroid/content/Context;->getContentResolver()Landroid/content/ContentResolver;
42934 move-result-object v0
42936 const-string v1, "wtf_is_fatal"
42938 invoke-static {v0, v1, v11}, Landroid/provider/Settings$Global;->getInt(Landroid/content/ContentResolver;Ljava/lang/String;I)I
42942 if-eqz v0, :cond_77
42944 invoke-direct {p0, v2, p3}, Lcom/android/server/am/ActivityManagerService;->crashApplication(Lcom/android/server/am/ProcessRecord;Landroid/app/ApplicationErrorReport$CrashInfo;)V
42952 if-nez v2, :cond_6f
42954 const-string v3, "unknown"
42959 iget-object v3, v2, Lcom/android/server/am/ProcessRecord;->processName:Ljava/lang/String;
42964 iget-object v0, v2, Lcom/android/server/am/ProcessRecord;->info:Landroid/content/pm/ApplicationInfo;
42966 iget v0, v0, Landroid/content/pm/ApplicationInfo;->flags:I
42976 .method public handleIncomingUser(IIIZZLjava/lang/String;Ljava/lang/String;)I
42979 invoke-static {p2}, Landroid/os/UserHandle;->getUserId(I)I
42983 if-eq v8, p3, :cond_a7
42985 if-eqz p2, :cond_2c
42989 if-eq p2, v1, :cond_2c
42991 if-nez p5, :cond_1b
42993 const-string v2, "android.permission.INTERACT_ACROSS_USERS"
43005 invoke-virtual/range {v1 .. v6}, Lcom/android/server/am/ActivityManagerService;->checkComponentPermission(Ljava/lang/String;IIIZ)I
43009 if-eqz v1, :cond_2c
43012 const-string v2, "android.permission.INTERACT_ACROSS_USERS_FULL"
43024 invoke-virtual/range {v1 .. v6}, Lcom/android/server/am/ActivityManagerService;->checkComponentPermission(Ljava/lang/String;IIIZ)I
43028 if-eqz v1, :cond_2c
43032 if-ne p3, v1, :cond_51
43039 if-eq p3, v1, :cond_32
43043 if-ne p3, v1, :cond_34
43046 iget p3, p0, Lcom/android/server/am/ActivityManagerService;->mCurrentUserId:I
43049 if-nez p4, :cond_a7
43051 if-gez p3, :cond_a7
43053 new-instance v1, Ljava/lang/IllegalArgumentException;
43055 new-instance v2, Ljava/lang/StringBuilder;
43057 invoke-direct {v2}, Ljava/lang/StringBuilder;-><init>()V
43059 const-string v3, "Call does not support special user #"
43061 invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
43063 move-result-object v2
43065 invoke-virtual {v2, p3}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
43067 move-result-object v2
43069 invoke-virtual {v2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
43071 move-result-object v2
43073 invoke-direct {v1, v2}, Ljava/lang/IllegalArgumentException;-><init>(Ljava/lang/String;)V
43078 new-instance v7, Ljava/lang/StringBuilder;
43082 invoke-direct {v7, v1}, Ljava/lang/StringBuilder;-><init>(I)V
43084 const-string v1, "Permission Denial: "
43086 invoke-virtual {v7, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
43088 move-object/from16 v0, p6
43090 invoke-virtual {v7, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
43092 if-eqz p7, :cond_6e
43094 const-string v1, " from "
43096 invoke-virtual {v7, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
43098 move-object/from16 v0, p7
43100 invoke-virtual {v7, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
43103 const-string v1, " asks to run as user "
43105 invoke-virtual {v7, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
43107 invoke-virtual {v7, p3}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
43109 const-string v1, " but is calling from user "
43111 invoke-virtual {v7, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
43113 invoke-static {p2}, Landroid/os/UserHandle;->getUserId(I)I
43117 invoke-virtual {v7, v1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
43119 const-string v1, "; this requires "
43121 invoke-virtual {v7, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
43123 const-string v1, "android.permission.INTERACT_ACROSS_USERS_FULL"
43125 invoke-virtual {v7, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
43127 if-nez p5, :cond_98
43129 const-string v1, " or "
43131 invoke-virtual {v7, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
43133 const-string v1, "android.permission.INTERACT_ACROSS_USERS"
43135 invoke-virtual {v7, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
43138 invoke-virtual {v7}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
43140 move-result-object v9
43142 const-string v1, "ActivityManager"
43144 invoke-static {v1, v9}, Landroid/util/Slog;->w(Ljava/lang/String;Ljava/lang/String;)I
43146 new-instance v1, Ljava/lang/SecurityException;
43148 invoke-direct {v1, v9}, Ljava/lang/SecurityException;-><init>(Ljava/lang/String;)V
43156 .method incProviderCountLocked(Lcom/android/server/am/ProcessRecord;Lcom/android/server/am/ContentProviderRecord;Landroid/os/IBinder;Z)Lcom/android/server/am/ContentProviderConnection;
43161 if-eqz p1, :cond_52
43166 iget-object v2, p1, Lcom/android/server/am/ProcessRecord;->conProviders:Ljava/util/ArrayList;
43168 invoke-virtual {v2}, Ljava/util/ArrayList;->size()I
43172 if-ge v1, v2, :cond_37
43174 iget-object v2, p1, Lcom/android/server/am/ProcessRecord;->conProviders:Ljava/util/ArrayList;
43176 invoke-virtual {v2, v1}, Ljava/util/ArrayList;->get(I)Ljava/lang/Object;
43178 move-result-object v0
43180 check-cast v0, Lcom/android/server/am/ContentProviderConnection;
43182 iget-object v2, v0, Lcom/android/server/am/ContentProviderConnection;->provider:Lcom/android/server/am/ContentProviderRecord;
43184 if-ne v2, p2, :cond_34
43186 if-eqz p4, :cond_27
43188 iget v2, v0, Lcom/android/server/am/ContentProviderConnection;->stableCount:I
43190 add-int/lit8 v2, v2, 0x1
43192 iput v2, v0, Lcom/android/server/am/ContentProviderConnection;->stableCount:I
43194 iget v2, v0, Lcom/android/server/am/ContentProviderConnection;->numStableIncs:I
43196 add-int/lit8 v2, v2, 0x1
43198 iput v2, v0, Lcom/android/server/am/ContentProviderConnection;->numStableIncs:I
43204 iget v2, v0, Lcom/android/server/am/ContentProviderConnection;->unstableCount:I
43206 add-int/lit8 v2, v2, 0x1
43208 iput v2, v0, Lcom/android/server/am/ContentProviderConnection;->unstableCount:I
43210 iget v2, v0, Lcom/android/server/am/ContentProviderConnection;->numUnstableIncs:I
43212 add-int/lit8 v2, v2, 0x1
43214 iput v2, v0, Lcom/android/server/am/ContentProviderConnection;->numUnstableIncs:I
43219 add-int/lit8 v1, v1, 0x1
43224 new-instance v0, Lcom/android/server/am/ContentProviderConnection;
43226 invoke-direct {v0, p2, p1}, Lcom/android/server/am/ContentProviderConnection;-><init>(Lcom/android/server/am/ContentProviderRecord;Lcom/android/server/am/ProcessRecord;)V
43228 if-eqz p4, :cond_4d
43230 iput v3, v0, Lcom/android/server/am/ContentProviderConnection;->stableCount:I
43232 iput v3, v0, Lcom/android/server/am/ContentProviderConnection;->numStableIncs:I
43235 iget-object v2, p2, Lcom/android/server/am/ContentProviderRecord;->connections:Ljava/util/ArrayList;
43237 invoke-virtual {v2, v0}, Ljava/util/ArrayList;->add(Ljava/lang/Object;)Z
43239 iget-object v2, p1, Lcom/android/server/am/ProcessRecord;->conProviders:Ljava/util/ArrayList;
43241 invoke-virtual {v2, v0}, Ljava/util/ArrayList;->add(Ljava/lang/Object;)Z
43246 iput v3, v0, Lcom/android/server/am/ContentProviderConnection;->unstableCount:I
43248 iput v3, v0, Lcom/android/server/am/ContentProviderConnection;->numUnstableIncs:I
43253 invoke-virtual {p2, p3}, Lcom/android/server/am/ContentProviderRecord;->addExternalProcessHandleLocked(Landroid/os/IBinder;)V
43260 .method public inputDispatchingTimedOut(IZ)J
43263 const-wide/16 v3, -0x1
43267 const-string v0, "android.permission.FILTER_EVENTS"
43269 invoke-virtual {p0, v0}, Lcom/android/server/am/ActivityManagerService;->checkCallingPermission(Ljava/lang/String;)I
43273 if-eqz v0, :cond_13
43275 new-instance v0, Ljava/lang/SecurityException;
43277 const-string v2, "Requires permission android.permission.FILTER_EVENTS"
43279 invoke-direct {v0, v2}, Ljava/lang/SecurityException;-><init>(Ljava/lang/String;)V
43287 iget-object v5, p0, Lcom/android/server/am/ActivityManagerService;->mPidsSelfLocked:Landroid/util/SparseArray;
43291 .catchall {:try_start_14 .. :try_end_17} :catchall_2c
43294 iget-object v0, p0, Lcom/android/server/am/ActivityManagerService;->mPidsSelfLocked:Landroid/util/SparseArray;
43296 invoke-virtual {v0, p1}, Landroid/util/SparseArray;->get(I)Ljava/lang/Object;
43298 move-result-object v1
43300 check-cast v1, Lcom/android/server/am/ProcessRecord;
43304 .catchall {:try_start_17 .. :try_end_20} :catchall_29
43306 if-eqz v1, :cond_55
43309 iget-boolean v0, v1, Lcom/android/server/am/ProcessRecord;->debugging:Z
43311 if-eqz v0, :cond_2f
43315 .catchall {:try_start_22 .. :try_end_27} :catchall_2c
43328 .catchall {:try_start_2a .. :try_end_2b} :catchall_29
43338 .catchall {:try_start_2b .. :try_end_2e} :catchall_2c
43344 iget-boolean v0, p0, Lcom/android/server/am/ActivityManagerService;->mDidDexOpt:Z
43346 if-eqz v0, :cond_39
43350 iput-boolean v0, p0, Lcom/android/server/am/ActivityManagerService;->mDidDexOpt:Z
43359 iget-object v0, v1, Lcom/android/server/am/ProcessRecord;->instrumentationClass:Landroid/content/ComponentName;
43361 if-eqz v0, :cond_55
43363 new-instance v6, Landroid/os/Bundle;
43365 invoke-direct {v6}, Landroid/os/Bundle;-><init>()V
43367 const-string v0, "shortMsg"
43369 const-string v3, "keyDispatchingTimedOut"
43371 invoke-virtual {v6, v0, v3}, Landroid/os/Bundle;->putString(Ljava/lang/String;Ljava/lang/String;)V
43373 const-string v0, "longMsg"
43375 const-string v3, "Timed out while dispatching key event"
43377 invoke-virtual {v6, v0, v3}, Landroid/os/Bundle;->putString(Ljava/lang/String;Ljava/lang/String;)V
43381 invoke-virtual {p0, v1, v0, v6}, Lcom/android/server/am/ActivityManagerService;->finishInstrumentationLocked(Lcom/android/server/am/ProcessRecord;ILandroid/os/Bundle;)V
43388 .catchall {:try_start_2f .. :try_end_56} :catchall_2c
43390 if-eqz v1, :cond_6c
43392 const-string v5, "keyDispatchingTimedOut"
43400 invoke-virtual/range {v0 .. v5}, Lcom/android/server/am/ActivityManagerService;->appNotResponding(Lcom/android/server/am/ProcessRecord;Lcom/android/server/am/ActivityRecord;Lcom/android/server/am/ActivityRecord;ZLjava/lang/String;)V
43402 iget-object v0, v1, Lcom/android/server/am/ProcessRecord;->instrumentationClass:Landroid/content/ComponentName;
43404 if-nez v0, :cond_68
43406 iget-boolean v0, v1, Lcom/android/server/am/ProcessRecord;->usingWrapper:Z
43408 if-eqz v0, :cond_6c
43411 const-wide/32 v2, 0xea60
43416 const-wide/16 v2, 0x1388
43421 .method isAllowedWhileBooting(Landroid/content/pm/ApplicationInfo;)Z
43424 iget v0, p1, Landroid/content/pm/ApplicationInfo;->flags:I
43426 and-int/lit8 v0, v0, 0x8
43441 .method public isImmersive(Landroid/os/IBinder;)Z
43447 iget-object v1, p0, Lcom/android/server/am/ActivityManagerService;->mMainStack:Lcom/android/server/am/ActivityStack;
43449 invoke-virtual {v1, p1}, Lcom/android/server/am/ActivityStack;->isInStackLocked(Landroid/os/IBinder;)Lcom/android/server/am/ActivityRecord;
43451 move-result-object v0
43453 if-nez v0, :cond_12
43455 new-instance v1, Ljava/lang/IllegalArgumentException;
43457 invoke-direct {v1}, Ljava/lang/IllegalArgumentException;-><init>()V
43466 .catchall {:try_start_1 .. :try_end_11} :catchall_f
43472 iget-boolean v1, v0, Lcom/android/server/am/ActivityRecord;->immersive:Z
43476 .catchall {:try_start_12 .. :try_end_15} :catchall_f
43481 .method public isIntentSenderAnActivity(Landroid/content/IIntentSender;)Z
43486 instance-of v3, p1, Lcom/android/server/am/PendingIntentRecord;
43498 check-cast v0, Lcom/android/server/am/PendingIntentRecord;
43502 iget-object v3, v1, Lcom/android/server/am/PendingIntentRecord;->key:Lcom/android/server/am/PendingIntentRecord$Key;
43504 iget v3, v3, Lcom/android/server/am/PendingIntentRecord$Key;->type:I
43506 .catch Ljava/lang/ClassCastException; {:try_start_6 .. :try_end_e} :catch_13
43510 if-ne v3, v4, :cond_5
43522 .method public isIntentSenderTargetedToPackage(Landroid/content/IIntentSender;)Z
43527 instance-of v5, p1, Lcom/android/server/am/PendingIntentRecord;
43539 check-cast v0, Lcom/android/server/am/PendingIntentRecord;
43543 iget-object v5, v3, Lcom/android/server/am/PendingIntentRecord;->key:Lcom/android/server/am/PendingIntentRecord$Key;
43545 iget-object v5, v5, Lcom/android/server/am/PendingIntentRecord$Key;->allIntents:[Landroid/content/Intent;
43552 iget-object v5, v3, Lcom/android/server/am/PendingIntentRecord;->key:Lcom/android/server/am/PendingIntentRecord$Key;
43554 iget-object v5, v5, Lcom/android/server/am/PendingIntentRecord$Key;->allIntents:[Landroid/content/Intent;
43556 array-length v5, v5
43558 if-ge v1, v5, :cond_2d
43560 iget-object v5, v3, Lcom/android/server/am/PendingIntentRecord;->key:Lcom/android/server/am/PendingIntentRecord$Key;
43562 iget-object v5, v5, Lcom/android/server/am/PendingIntentRecord$Key;->allIntents:[Landroid/content/Intent;
43564 aget-object v2, v5, v1
43566 invoke-virtual {v2}, Landroid/content/Intent;->getPackage()Ljava/lang/String;
43568 move-result-object v5
43570 if-eqz v5, :cond_2a
43572 invoke-virtual {v2}, Landroid/content/Intent;->getComponent()Landroid/content/ComponentName;
43574 .catch Ljava/lang/ClassCastException; {:try_start_6 .. :try_end_27} :catch_2f
43576 move-result-object v5
43581 add-int/lit8 v1, v1, 0x1
43596 .method isNextTransitionForward()Z
43599 iget-object v1, p0, Lcom/android/server/am/ActivityManagerService;->mWindowManager:Lcom/android/server/wm/WindowManagerService;
43601 invoke-virtual {v1}, Lcom/android/server/wm/WindowManagerService;->getPendingAppTransition()I
43605 const/16 v1, 0x1006
43607 if-eq v0, v1, :cond_12
43609 const/16 v1, 0x1008
43611 if-eq v0, v1, :cond_12
43613 const/16 v1, 0x100a
43615 if-ne v0, v1, :cond_14
43629 .method isPendingBroadcastProcessLocked(I)Z
43632 iget-object v0, p0, Lcom/android/server/am/ActivityManagerService;->mFgBroadcastQueue:Lcom/android/server/am/BroadcastQueue;
43634 invoke-virtual {v0, p1}, Lcom/android/server/am/BroadcastQueue;->isPendingBroadcastProcessLocked(I)Z
43638 if-nez v0, :cond_10
43640 iget-object v0, p0, Lcom/android/server/am/ActivityManagerService;->mBgBroadcastQueue:Lcom/android/server/am/BroadcastQueue;
43642 invoke-virtual {v0, p1}, Lcom/android/server/am/BroadcastQueue;->isPendingBroadcastProcessLocked(I)Z
43646 if-eqz v0, :cond_12
43660 .method isSingleton(Ljava/lang/String;Landroid/content/pm/ApplicationInfo;Ljava/lang/String;I)Z
43665 iget v3, p2, Landroid/content/pm/ApplicationInfo;->uid:I
43667 invoke-static {v3}, Landroid/os/UserHandle;->getAppId(I)I
43671 const/16 v4, 0x2710
43673 if-lt v3, v4, :cond_51
43675 const/high16 v3, 0x4000
43677 and-int/2addr v3, p4
43679 if-eqz v3, :cond_50
43681 const-string v3, "android.permission.INTERACT_ACROSS_USERS"
43683 iget v4, p2, Landroid/content/pm/ApplicationInfo;->uid:I
43685 invoke-static {v3, v4}, Landroid/app/ActivityManager;->checkUidPermission(Ljava/lang/String;I)I
43689 if-eqz v3, :cond_4f
43691 new-instance v0, Landroid/content/ComponentName;
43693 iget-object v3, p2, Landroid/content/pm/ApplicationInfo;->packageName:Ljava/lang/String;
43695 invoke-direct {v0, v3, p3}, Landroid/content/ComponentName;-><init>(Ljava/lang/String;Ljava/lang/String;)V
43697 new-instance v3, Ljava/lang/StringBuilder;
43699 invoke-direct {v3}, Ljava/lang/StringBuilder;-><init>()V
43701 const-string v4, "Permission Denial: Component "
43703 invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
43705 move-result-object v3
43707 invoke-virtual {v0}, Landroid/content/ComponentName;->flattenToShortString()Ljava/lang/String;
43709 move-result-object v4
43711 invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
43713 move-result-object v3
43715 const-string v4, " requests FLAG_SINGLE_USER, but app does not hold "
43717 invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
43719 move-result-object v3
43721 const-string v4, "android.permission.INTERACT_ACROSS_USERS"
43723 invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
43725 move-result-object v3
43727 invoke-virtual {v3}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
43729 move-result-object v1
43731 const-string v3, "ActivityManager"
43733 invoke-static {v3, v1}, Landroid/util/Slog;->w(Ljava/lang/String;Ljava/lang/String;)I
43735 new-instance v3, Ljava/lang/SecurityException;
43737 invoke-direct {v3, v1}, Ljava/lang/SecurityException;-><init>(Ljava/lang/String;)V
43749 iget-object v3, p2, Landroid/content/pm/ApplicationInfo;->packageName:Ljava/lang/String;
43751 if-ne p1, v3, :cond_5f
43753 iget v3, p2, Landroid/content/pm/ApplicationInfo;->flags:I
43755 and-int/lit8 v3, v3, 0x8
43757 if-eqz v3, :cond_5d
43770 const-string v3, "system"
43772 invoke-virtual {v3, p1}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
43776 if-eqz v3, :cond_50
43783 .method public isSleeping()Z
43786 iget-boolean v0, p0, Lcom/android/server/am/ActivityManagerService;->mSleeping:Z
43790 iget-boolean v0, p0, Lcom/android/server/am/ActivityManagerService;->mShuttingDown:Z
43806 .method public isTopActivityImmersive()Z
43809 const-string v1, "startActivity"
43811 invoke-virtual {p0, v1}, Lcom/android/server/am/ActivityManagerService;->enforceNotIsolatedCaller(Ljava/lang/String;)V
43816 iget-object v1, p0, Lcom/android/server/am/ActivityManagerService;->mMainStack:Lcom/android/server/am/ActivityStack;
43820 invoke-virtual {v1, v2}, Lcom/android/server/am/ActivityStack;->topRunningActivityLocked(Lcom/android/server/am/ActivityRecord;)Lcom/android/server/am/ActivityRecord;
43822 move-result-object v0
43824 if-eqz v0, :cond_13
43826 iget-boolean v1, v0, Lcom/android/server/am/ActivityRecord;->immersive:Z
43843 .catchall {:try_start_6 .. :try_end_17} :catchall_15
43848 .method public isUserAMonkey()Z
43854 iget-object v0, p0, Lcom/android/server/am/ActivityManagerService;->mController:Landroid/app/IActivityController;
43875 .catchall {:try_start_1 .. :try_end_c} :catchall_a
43880 .method public isUserRunning(IZ)Z
43883 const-string v1, "android.permission.INTERACT_ACROSS_USERS"
43885 invoke-virtual {p0, v1}, Lcom/android/server/am/ActivityManagerService;->checkCallingPermission(Ljava/lang/String;)I
43889 if-eqz v1, :cond_44
43891 new-instance v1, Ljava/lang/StringBuilder;
43893 invoke-direct {v1}, Ljava/lang/StringBuilder;-><init>()V
43895 const-string v2, "Permission Denial: isUserRunning() from pid="
43897 invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
43899 move-result-object v1
43901 invoke-static {}, Landroid/os/Binder;->getCallingPid()I
43905 invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
43907 move-result-object v1
43909 const-string v2, ", uid="
43911 invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
43913 move-result-object v1
43915 invoke-static {}, Landroid/os/Binder;->getCallingUid()I
43919 invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
43921 move-result-object v1
43923 const-string v2, " requires "
43925 invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
43927 move-result-object v1
43929 const-string v2, "android.permission.INTERACT_ACROSS_USERS"
43931 invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
43933 move-result-object v1
43935 invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
43937 move-result-object v0
43939 const-string v1, "ActivityManager"
43941 invoke-static {v1, v0}, Landroid/util/Slog;->w(Ljava/lang/String;Ljava/lang/String;)I
43943 new-instance v1, Ljava/lang/SecurityException;
43945 invoke-direct {v1, v0}, Ljava/lang/SecurityException;-><init>(Ljava/lang/String;)V
43953 invoke-virtual {p0, p1, p2}, Lcom/android/server/am/ActivityManagerService;->isUserRunningLocked(IZ)Z
43966 .catchall {:try_start_45 .. :try_end_4d} :catchall_4b
43971 .method isUserRunningLocked(IZ)Z
43978 iget-object v3, p0, Lcom/android/server/am/ActivityManagerService;->mStartedUsers:Landroid/util/SparseArray;
43980 invoke-virtual {v3, p1}, Landroid/util/SparseArray;->get(I)Ljava/lang/Object;
43982 move-result-object v0
43984 check-cast v0, Lcom/android/server/am/UserStartedState;
43997 iget v3, v0, Lcom/android/server/am/UserStartedState;->mState:I
44001 if-eq v3, v4, :cond_1a
44003 iget v3, v0, Lcom/android/server/am/UserStartedState;->mState:I
44007 if-ne v3, v4, :cond_d
44015 .method public killAllBackgroundProcesses()V
44018 const-string v11, "android.permission.KILL_BACKGROUND_PROCESSES"
44020 invoke-virtual {p0, v11}, Lcom/android/server/am/ActivityManagerService;->checkCallingPermission(Ljava/lang/String;)I
44024 if-eqz v11, :cond_44
44026 new-instance v11, Ljava/lang/StringBuilder;
44028 invoke-direct {v11}, Ljava/lang/StringBuilder;-><init>()V
44030 const-string v12, "Permission Denial: killAllBackgroundProcesses() from pid="
44032 invoke-virtual {v11, v12}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
44034 move-result-object v11
44036 invoke-static {}, Landroid/os/Binder;->getCallingPid()I
44040 invoke-virtual {v11, v12}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
44042 move-result-object v11
44044 const-string v12, ", uid="
44046 invoke-virtual {v11, v12}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
44048 move-result-object v11
44050 invoke-static {}, Landroid/os/Binder;->getCallingUid()I
44054 invoke-virtual {v11, v12}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
44056 move-result-object v11
44058 const-string v12, " requires "
44060 invoke-virtual {v11, v12}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
44062 move-result-object v11
44064 const-string v12, "android.permission.KILL_BACKGROUND_PROCESSES"
44066 invoke-virtual {v11, v12}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
44068 move-result-object v11
44070 invoke-virtual {v11}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
44072 move-result-object v9
44074 const-string v11, "ActivityManager"
44076 invoke-static {v11, v9}, Landroid/util/Slog;->w(Ljava/lang/String;Ljava/lang/String;)I
44078 new-instance v11, Ljava/lang/SecurityException;
44080 invoke-direct {v11, v9}, Ljava/lang/SecurityException;-><init>(Ljava/lang/String;)V
44085 invoke-static {}, Landroid/os/Binder;->clearCallingIdentity()J
44087 move-result-wide v4
44092 .catchall {:try_start_48 .. :try_end_49} :catchall_87
44095 new-instance v10, Ljava/util/ArrayList;
44097 invoke-direct {v10}, Ljava/util/ArrayList;-><init>()V
44099 iget-object v11, p0, Lcom/android/server/am/ActivityManagerService;->mProcessNames:Lcom/android/server/ProcessMap;
44101 invoke-virtual {v11}, Lcom/android/server/ProcessMap;->getMap()Ljava/util/HashMap;
44103 move-result-object v11
44105 invoke-virtual {v11}, Ljava/util/HashMap;->values()Ljava/util/Collection;
44107 move-result-object v11
44109 invoke-interface {v11}, Ljava/util/Collection;->iterator()Ljava/util/Iterator;
44111 move-result-object v7
44114 invoke-interface {v7}, Ljava/util/Iterator;->hasNext()Z
44118 if-eqz v11, :cond_99
44120 invoke-interface {v7}, Ljava/util/Iterator;->next()Ljava/lang/Object;
44122 move-result-object v3
44124 check-cast v3, Landroid/util/SparseArray;
44126 invoke-virtual {v3}, Landroid/util/SparseArray;->size()I
44133 if-ge v8, v1, :cond_5c
44135 invoke-virtual {v3, v8}, Landroid/util/SparseArray;->valueAt(I)Ljava/lang/Object;
44137 move-result-object v2
44139 check-cast v2, Lcom/android/server/am/ProcessRecord;
44141 iget-boolean v11, v2, Lcom/android/server/am/ProcessRecord;->persistent:Z
44143 if-eqz v11, :cond_7c
44147 add-int/lit8 v8, v8, 0x1
44152 iget-boolean v11, v2, Lcom/android/server/am/ProcessRecord;->removed:Z
44154 if-eqz v11, :cond_8c
44156 invoke-virtual {v10, v2}, Ljava/util/ArrayList;->add(Ljava/lang/Object;)Z
44165 .catchall {:try_start_49 .. :try_end_86} :catchall_84
44170 .catchall {:try_start_86 .. :try_end_87} :catchall_87
44175 invoke-static {v4, v5}, Landroid/os/Binder;->restoreCallingIdentity(J)V
44181 iget v11, v2, Lcom/android/server/am/ProcessRecord;->setAdj:I
44183 sget v12, Lcom/android/server/am/ProcessList;->HIDDEN_APP_MIN_ADJ:I
44185 if-lt v11, v12, :cond_79
44189 iput-boolean v11, v2, Lcom/android/server/am/ProcessRecord;->removed:Z
44191 invoke-virtual {v10, v2}, Ljava/util/ArrayList;->add(Ljava/lang/Object;)Z
44196 invoke-virtual {v10}, Ljava/util/ArrayList;->size()I
44203 if-ge v6, v0, :cond_b0
44205 invoke-virtual {v10, v6}, Ljava/util/ArrayList;->get(I)Ljava/lang/Object;
44207 move-result-object v11
44209 check-cast v11, Lcom/android/server/am/ProcessRecord;
44215 const-string v14, "kill all background"
44217 invoke-direct {p0, v11, v12, v13, v14}, Lcom/android/server/am/ActivityManagerService;->removeProcessLocked(Lcom/android/server/am/ProcessRecord;ZZLjava/lang/String;)Z
44219 add-int/lit8 v6, v6, 0x1
44226 .catchall {:try_start_8c .. :try_end_b1} :catchall_84
44228 invoke-static {v4, v5}, Landroid/os/Binder;->restoreCallingIdentity(J)V
44233 .method killAppAtUsersRequest(Lcom/android/server/am/ProcessRecord;Landroid/app/Dialog;)V
44241 iput-boolean v0, p1, Lcom/android/server/am/ProcessRecord;->crashing:Z
44245 iput-object v0, p1, Lcom/android/server/am/ProcessRecord;->crashingReport:Landroid/app/ActivityManager$ProcessErrorStateInfo;
44249 iput-boolean v0, p1, Lcom/android/server/am/ProcessRecord;->notResponding:Z
44253 iput-object v0, p1, Lcom/android/server/am/ProcessRecord;->notRespondingReport:Landroid/app/ActivityManager$ProcessErrorStateInfo;
44255 iget-object v0, p1, Lcom/android/server/am/ProcessRecord;->anrDialog:Landroid/app/Dialog;
44257 if-ne v0, p2, :cond_14
44261 iput-object v0, p1, Lcom/android/server/am/ProcessRecord;->anrDialog:Landroid/app/Dialog;
44264 iget-object v0, p1, Lcom/android/server/am/ProcessRecord;->waitDialog:Landroid/app/Dialog;
44266 if-ne v0, p2, :cond_1b
44270 iput-object v0, p1, Lcom/android/server/am/ProcessRecord;->waitDialog:Landroid/app/Dialog;
44273 iget v0, p1, Lcom/android/server/am/ProcessRecord;->pid:I
44275 if-lez v0, :cond_78
44277 iget v0, p1, Lcom/android/server/am/ProcessRecord;->pid:I
44279 sget v1, Lcom/android/server/am/ActivityManagerService;->MY_PID:I
44281 if-eq v0, v1, :cond_78
44283 invoke-direct {p0, p1}, Lcom/android/server/am/ActivityManagerService;->handleAppCrashLocked(Lcom/android/server/am/ProcessRecord;)Z
44285 const-string v0, "ActivityManager"
44287 new-instance v1, Ljava/lang/StringBuilder;
44289 invoke-direct {v1}, Ljava/lang/StringBuilder;-><init>()V
44291 const-string v2, "Killing "
44293 invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
44295 move-result-object v1
44297 invoke-virtual {v1, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
44299 move-result-object v1
44301 const-string v2, ": user\'s request"
44303 invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
44305 move-result-object v1
44307 invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
44309 move-result-object v1
44311 invoke-static {v0, v1}, Landroid/util/Slog;->i(Ljava/lang/String;Ljava/lang/String;)I
44313 const/16 v0, 0x7547
44317 new-array v1, v1, [Ljava/lang/Object;
44321 iget v3, p1, Lcom/android/server/am/ProcessRecord;->userId:I
44323 invoke-static {v3}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
44325 move-result-object v3
44327 aput-object v3, v1, v2
44331 iget v3, p1, Lcom/android/server/am/ProcessRecord;->pid:I
44333 invoke-static {v3}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
44335 move-result-object v3
44337 aput-object v3, v1, v2
44341 iget-object v3, p1, Lcom/android/server/am/ProcessRecord;->processName:Ljava/lang/String;
44343 aput-object v3, v1, v2
44347 iget v3, p1, Lcom/android/server/am/ProcessRecord;->setAdj:I
44349 invoke-static {v3}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
44351 move-result-object v3
44353 aput-object v3, v1, v2
44357 const-string v3, "user\'s request after error"
44359 aput-object v3, v1, v2
44361 invoke-static {v0, v1}, Landroid/util/EventLog;->writeEvent(I[Ljava/lang/Object;)I
44363 iget v0, p1, Lcom/android/server/am/ProcessRecord;->pid:I
44365 invoke-static {v0}, Landroid/os/Process;->killProcessQuiet(I)V
44377 .catchall {:try_start_2 .. :try_end_7c} :catchall_7a
44382 .method public killApplicationProcess(Ljava/lang/String;I)V
44391 invoke-static {}, Landroid/os/Binder;->getCallingUid()I
44397 if-ne v1, v2, :cond_43
44402 invoke-virtual {p0, p1, p2}, Lcom/android/server/am/ActivityManagerService;->getProcessRecordLocked(Ljava/lang/String;I)Lcom/android/server/am/ProcessRecord;
44404 move-result-object v0
44406 if-eqz v0, :cond_20
44408 iget-object v2, v0, Lcom/android/server/am/ProcessRecord;->thread:Landroid/app/IApplicationThread;
44410 .catchall {:try_start_c .. :try_end_14} :catchall_1d
44412 if-eqz v2, :cond_20
44415 iget-object v2, v0, Lcom/android/server/am/ProcessRecord;->thread:Landroid/app/IApplicationThread;
44417 invoke-interface {v2}, Landroid/app/IApplicationThread;->scheduleSuicide()V
44419 .catchall {:try_start_16 .. :try_end_1b} :catchall_1d
44420 .catch Landroid/os/RemoteException; {:try_start_16 .. :try_end_1b} :catch_60
44433 .catchall {:try_start_1b .. :try_end_1f} :catchall_1d
44439 const-string v2, "ActivityManager"
44441 new-instance v3, Ljava/lang/StringBuilder;
44443 invoke-direct {v3}, Ljava/lang/StringBuilder;-><init>()V
44445 const-string v4, "Process/uid not found attempting kill of "
44447 invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
44449 move-result-object v3
44451 invoke-virtual {v3, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
44453 move-result-object v3
44455 const-string v4, " / "
44457 invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
44459 move-result-object v3
44461 invoke-virtual {v3, p2}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
44463 move-result-object v3
44465 invoke-virtual {v3}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
44467 move-result-object v3
44469 invoke-static {v2, v3}, Landroid/util/Slog;->w(Ljava/lang/String;Ljava/lang/String;)I
44471 .catchall {:try_start_20 .. :try_end_42} :catchall_1d
44476 new-instance v2, Ljava/lang/SecurityException;
44478 new-instance v3, Ljava/lang/StringBuilder;
44480 invoke-direct {v3}, Ljava/lang/StringBuilder;-><init>()V
44482 invoke-virtual {v3, v1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
44484 move-result-object v3
44486 const-string v4, " cannot kill app process: "
44488 invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
44490 move-result-object v3
44492 invoke-virtual {v3, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
44494 move-result-object v3
44496 invoke-virtual {v3}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
44498 move-result-object v3
44500 invoke-direct {v2, v3}, Ljava/lang/SecurityException;-><init>(Ljava/lang/String;)V
44510 .method public killApplicationWithAppId(Ljava/lang/String;I)V
44519 if-gez p2, :cond_1e
44521 const-string v2, "ActivityManager"
44523 new-instance v3, Ljava/lang/StringBuilder;
44525 invoke-direct {v3}, Ljava/lang/StringBuilder;-><init>()V
44527 const-string v4, "Invalid appid specified for pkg : "
44529 invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
44531 move-result-object v3
44533 invoke-virtual {v3, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
44535 move-result-object v3
44537 invoke-virtual {v3}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
44539 move-result-object v3
44541 invoke-static {v2, v3}, Landroid/util/Slog;->w(Ljava/lang/String;Ljava/lang/String;)I
44546 invoke-static {}, Landroid/os/Binder;->getCallingUid()I
44552 if-ne v0, v2, :cond_3b
44554 iget-object v2, p0, Lcom/android/server/am/ActivityManagerService;->mHandler:Landroid/os/Handler;
44558 invoke-virtual {v2, v3}, Landroid/os/Handler;->obtainMessage(I)Landroid/os/Message;
44560 move-result-object v1
44562 iput p2, v1, Landroid/os/Message;->arg1:I
44566 iput v2, v1, Landroid/os/Message;->arg2:I
44568 iput-object p1, v1, Landroid/os/Message;->obj:Ljava/lang/Object;
44570 iget-object v2, p0, Lcom/android/server/am/ActivityManagerService;->mHandler:Landroid/os/Handler;
44572 invoke-virtual {v2, v1}, Landroid/os/Handler;->sendMessage(Landroid/os/Message;)Z
44577 new-instance v2, Ljava/lang/SecurityException;
44579 new-instance v3, Ljava/lang/StringBuilder;
44581 invoke-direct {v3}, Ljava/lang/StringBuilder;-><init>()V
44583 invoke-virtual {v3, v0}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
44585 move-result-object v3
44587 const-string v4, " cannot kill pkg: "
44589 invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
44591 move-result-object v3
44593 invoke-virtual {v3, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
44595 move-result-object v3
44597 invoke-virtual {v3}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
44599 move-result-object v3
44601 invoke-direct {v2, v3}, Ljava/lang/SecurityException;-><init>(Ljava/lang/String;)V
44606 .method public killBackgroundProcesses(Ljava/lang/String;I)V
44609 const-string v0, "android.permission.KILL_BACKGROUND_PROCESSES"
44611 invoke-virtual {p0, v0}, Lcom/android/server/am/ActivityManagerService;->checkCallingPermission(Ljava/lang/String;)I
44615 if-eqz v0, :cond_4c
44617 const-string v0, "android.permission.RESTART_PACKAGES"
44619 invoke-virtual {p0, v0}, Lcom/android/server/am/ActivityManagerService;->checkCallingPermission(Ljava/lang/String;)I
44623 if-eqz v0, :cond_4c
44625 new-instance v0, Ljava/lang/StringBuilder;
44627 invoke-direct {v0}, Ljava/lang/StringBuilder;-><init>()V
44629 const-string v1, "Permission Denial: killBackgroundProcesses() from pid="
44631 invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
44633 move-result-object v0
44635 invoke-static {}, Landroid/os/Binder;->getCallingPid()I
44639 invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
44641 move-result-object v0
44643 const-string v1, ", uid="
44645 invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
44647 move-result-object v0
44649 invoke-static {}, Landroid/os/Binder;->getCallingUid()I
44653 invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
44655 move-result-object v0
44657 const-string v1, " requires "
44659 invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
44661 move-result-object v0
44663 const-string v1, "android.permission.KILL_BACKGROUND_PROCESSES"
44665 invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
44667 move-result-object v0
44669 invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
44671 move-result-object v12
44673 const-string v0, "ActivityManager"
44675 invoke-static {v0, v12}, Landroid/util/Slog;->w(Ljava/lang/String;Ljava/lang/String;)I
44677 new-instance v0, Ljava/lang/SecurityException;
44679 invoke-direct {v0, v12}, Ljava/lang/SecurityException;-><init>(Ljava/lang/String;)V
44684 invoke-static {}, Landroid/os/Binder;->getCallingPid()I
44688 invoke-static {}, Landroid/os/Binder;->getCallingUid()I
44696 const-string v6, "killBackgroundProcesses"
44704 invoke-virtual/range {v0 .. v7}, Lcom/android/server/am/ActivityManagerService;->handleIncomingUser(IIIZZLjava/lang/String;Ljava/lang/String;)I
44708 invoke-static {}, Landroid/os/Binder;->clearCallingIdentity()J
44710 move-result-wide v10
44713 invoke-static {}, Landroid/app/AppGlobals;->getPackageManager()Landroid/content/pm/IPackageManager;
44715 move-result-object v13
44719 .catchall {:try_start_64 .. :try_end_69} :catchall_a6
44726 invoke-interface {v13, p1, v0}, Landroid/content/pm/IPackageManager;->getPackageUid(Ljava/lang/String;I)I
44730 invoke-static {v0}, Landroid/os/UserHandle;->getAppId(I)I
44732 .catchall {:try_start_6b .. :try_end_72} :catchall_a3
44733 .catch Landroid/os/RemoteException; {:try_start_6b .. :try_end_72} :catch_ab
44740 if-ne v2, v0, :cond_93
44743 const-string v0, "ActivityManager"
44745 new-instance v1, Ljava/lang/StringBuilder;
44747 invoke-direct {v1}, Ljava/lang/StringBuilder;-><init>()V
44749 const-string v3, "Invalid packageName: "
44751 invoke-virtual {v1, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
44753 move-result-object v1
44755 invoke-virtual {v1, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
44757 move-result-object v1
44759 invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
44761 move-result-object v1
44763 invoke-static {v0, v1}, Landroid/util/Slog;->w(Ljava/lang/String;Ljava/lang/String;)I
44767 .catchall {:try_start_76 .. :try_end_8f} :catchall_a3
44770 invoke-static {v10, v11}, Landroid/os/Binder;->restoreCallingIdentity(J)V
44786 const-string v9, "kill background"
44794 invoke-direct/range {v0 .. v9}, Lcom/android/server/am/ActivityManagerService;->killPackageProcessesLocked(Ljava/lang/String;IIIZZZZLjava/lang/String;)Z
44805 .catchall {:try_start_98 .. :try_end_a5} :catchall_a3
44810 .catchall {:try_start_a5 .. :try_end_a6} :catchall_a6
44815 invoke-static {v10, v11}, Landroid/os/Binder;->restoreCallingIdentity(J)V
44825 .method public killPids([ILjava/lang/String;Z)Z
44828 invoke-static {}, Landroid/os/Binder;->getCallingUid()I
44834 if-eq v8, v9, :cond_10
44836 new-instance v8, Ljava/lang/SecurityException;
44838 const-string v9, "killPids only available to the system"
44840 invoke-direct {v8, v9}, Ljava/lang/SecurityException;-><init>(Ljava/lang/String;)V
44845 if-nez p2, :cond_36
44847 const-string v4, "Unknown"
44852 iget-object v9, p0, Lcom/android/server/am/ActivityManagerService;->mPidsSelfLocked:Landroid/util/SparseArray;
44857 array-length v8, p1
44859 new-array v6, v8, [I
44866 array-length v8, p1
44868 if-ge v1, v8, :cond_38
44870 iget-object v8, p0, Lcom/android/server/am/ActivityManagerService;->mPidsSelfLocked:Landroid/util/SparseArray;
44874 invoke-virtual {v8, v10}, Landroid/util/SparseArray;->get(I)Ljava/lang/Object;
44876 move-result-object v3
44878 check-cast v3, Lcom/android/server/am/ProcessRecord;
44880 if-eqz v3, :cond_33
44882 iget v5, v3, Lcom/android/server/am/ProcessRecord;->setAdj:I
44886 if-le v5, v7, :cond_33
44891 add-int/lit8 v1, v1, 0x1
44903 if-ge v7, v8, :cond_42
44905 sget v8, Lcom/android/server/am/ProcessList;->HIDDEN_APP_MIN_ADJ:I
44907 if-le v7, v8, :cond_42
44909 sget v7, Lcom/android/server/am/ProcessList;->HIDDEN_APP_MIN_ADJ:I
44912 if-nez p3, :cond_48
44916 if-ge v7, v8, :cond_48
44921 const-string v8, "ActivityManager"
44923 new-instance v10, Ljava/lang/StringBuilder;
44925 invoke-direct {v10}, Ljava/lang/StringBuilder;-><init>()V
44927 const-string v11, "Killing processes "
44929 invoke-virtual {v10, v11}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
44931 move-result-object v10
44933 invoke-virtual {v10, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
44935 move-result-object v10
44937 const-string v11, " at adjustment "
44939 invoke-virtual {v10, v11}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
44941 move-result-object v10
44943 invoke-virtual {v10, v7}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
44945 move-result-object v10
44947 invoke-virtual {v10}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
44949 move-result-object v10
44951 invoke-static {v8, v10}, Landroid/util/Slog;->w(Ljava/lang/String;Ljava/lang/String;)I
44956 array-length v8, p1
44958 if-ge v1, v8, :cond_e7
44960 iget-object v8, p0, Lcom/android/server/am/ActivityManagerService;->mPidsSelfLocked:Landroid/util/SparseArray;
44964 invoke-virtual {v8, v10}, Landroid/util/SparseArray;->get(I)Ljava/lang/Object;
44966 move-result-object v3
44968 check-cast v3, Lcom/android/server/am/ProcessRecord;
44970 if-nez v3, :cond_7d
44974 add-int/lit8 v1, v1, 0x1
44979 iget v0, v3, Lcom/android/server/am/ProcessRecord;->setAdj:I
44981 if-lt v0, v7, :cond_7a
44983 iget-boolean v8, v3, Lcom/android/server/am/ProcessRecord;->killedBackground:Z
44985 if-nez v8, :cond_7a
44987 const-string v8, "ActivityManager"
44989 new-instance v10, Ljava/lang/StringBuilder;
44991 invoke-direct {v10}, Ljava/lang/StringBuilder;-><init>()V
44993 const-string v11, "Killing "
44995 invoke-virtual {v10, v11}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
44997 move-result-object v10
44999 invoke-virtual {v10, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
45001 move-result-object v10
45003 const-string v11, " (adj "
45005 invoke-virtual {v10, v11}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
45007 move-result-object v10
45009 invoke-virtual {v10, v0}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
45011 move-result-object v10
45013 const-string v11, "): "
45015 invoke-virtual {v10, v11}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
45017 move-result-object v10
45019 invoke-virtual {v10, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
45021 move-result-object v10
45023 invoke-virtual {v10}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
45025 move-result-object v10
45027 invoke-static {v8, v10}, Landroid/util/Slog;->w(Ljava/lang/String;Ljava/lang/String;)I
45029 const/16 v8, 0x7547
45033 new-array v10, v10, [Ljava/lang/Object;
45037 iget v12, v3, Lcom/android/server/am/ProcessRecord;->userId:I
45039 invoke-static {v12}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
45041 move-result-object v12
45043 aput-object v12, v10, v11
45047 iget v12, v3, Lcom/android/server/am/ProcessRecord;->pid:I
45049 invoke-static {v12}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
45051 move-result-object v12
45053 aput-object v12, v10, v11
45057 iget-object v12, v3, Lcom/android/server/am/ProcessRecord;->processName:Ljava/lang/String;
45059 aput-object v12, v10, v11
45063 invoke-static {v0}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
45065 move-result-object v12
45067 aput-object v12, v10, v11
45071 aput-object v4, v10, v11
45073 invoke-static {v8, v10}, Landroid/util/EventLog;->writeEvent(I[Ljava/lang/Object;)I
45079 iput-boolean v8, v3, Lcom/android/server/am/ProcessRecord;->killedBackground:Z
45083 invoke-static {v8}, Landroid/os/Process;->killProcessQuiet(I)V
45092 .catchall {:try_start_18 .. :try_end_e6} :catchall_e4
45100 .catchall {:try_start_e7 .. :try_end_e8} :catchall_e4
45105 .method public killProcessesBelowForeground(Ljava/lang/String;)Z
45108 invoke-static {}, Landroid/os/Binder;->getCallingUid()I
45114 if-eq v0, v1, :cond_10
45116 new-instance v0, Ljava/lang/SecurityException;
45118 const-string v1, "killProcessesBelowForeground() only available to system"
45120 invoke-direct {v0, v1}, Ljava/lang/SecurityException;-><init>(Ljava/lang/String;)V
45127 invoke-direct {p0, v0, p1}, Lcom/android/server/am/ActivityManagerService;->killProcessesBelowAdj(ILjava/lang/String;)Z
45134 .method final logAppTooSlow(Lcom/android/server/am/ProcessRecord;JLjava/lang/String;)V
45140 .method public monitor()V
45155 .catchall {:try_start_1 .. :try_end_5} :catchall_3
45160 .method public moveActivityTaskToBack(Landroid/os/IBinder;Z)Z
45165 const-string v4, "moveActivityTaskToBack"
45167 invoke-virtual {p0, v4}, Lcom/android/server/am/ActivityManagerService;->enforceNotIsolatedCaller(Ljava/lang/String;)V
45172 invoke-static {}, Landroid/os/Binder;->clearCallingIdentity()J
45174 move-result-wide v0
45176 if-nez p2, :cond_1d
45181 invoke-virtual {p0, p1, v4}, Lcom/android/server/am/ActivityManagerService;->getTaskForActivityLocked(Landroid/os/IBinder;Z)I
45185 if-ltz v2, :cond_1f
45187 iget-object v3, p0, Lcom/android/server/am/ActivityManagerService;->mMainStack:Lcom/android/server/am/ActivityStack;
45191 invoke-virtual {v3, v2, v4}, Lcom/android/server/am/ActivityStack;->moveTaskToBackLocked(ILcom/android/server/am/ActivityRecord;)Z
45206 invoke-static {v0, v1}, Landroid/os/Binder;->restoreCallingIdentity(J)V
45217 .catchall {:try_start_7 .. :try_end_26} :catchall_24
45222 .method public moveTaskBackwards(I)V
45225 const-string v2, "android.permission.REORDER_TASKS"
45227 const-string v3, "moveTaskBackwards()"
45229 invoke-virtual {p0, v2, v3}, Lcom/android/server/am/ActivityManagerService;->enforceCallingPermission(Ljava/lang/String;Ljava/lang/String;)V
45234 invoke-static {}, Landroid/os/Binder;->getCallingPid()I
45238 invoke-static {}, Landroid/os/Binder;->getCallingUid()I
45242 const-string v4, "Task backwards"
45244 invoke-virtual {p0, v2, v3, v4}, Lcom/android/server/am/ActivityManagerService;->checkAppSwitchAllowedLocked(IILjava/lang/String;)Z
45248 if-nez v2, :cond_1a
45256 invoke-static {}, Landroid/os/Binder;->clearCallingIdentity()J
45258 move-result-wide v0
45260 invoke-direct {p0, p1}, Lcom/android/server/am/ActivityManagerService;->moveTaskBackwardsLocked(I)V
45262 invoke-static {v0, v1}, Landroid/os/Binder;->restoreCallingIdentity(J)V
45273 .catchall {:try_start_8 .. :try_end_28} :catchall_26
45278 .method public moveTaskToBack(I)V
45281 const-string v2, "android.permission.REORDER_TASKS"
45283 const-string v3, "moveTaskToBack()"
45285 invoke-virtual {p0, v2, v3}, Lcom/android/server/am/ActivityManagerService;->enforceCallingPermission(Ljava/lang/String;Ljava/lang/String;)V
45290 iget-object v2, p0, Lcom/android/server/am/ActivityManagerService;->mMainStack:Lcom/android/server/am/ActivityStack;
45292 iget-object v2, v2, Lcom/android/server/am/ActivityStack;->mResumedActivity:Lcom/android/server/am/ActivityRecord;
45294 if-eqz v2, :cond_2a
45296 iget-object v2, p0, Lcom/android/server/am/ActivityManagerService;->mMainStack:Lcom/android/server/am/ActivityStack;
45298 iget-object v2, v2, Lcom/android/server/am/ActivityStack;->mResumedActivity:Lcom/android/server/am/ActivityRecord;
45300 iget-object v2, v2, Lcom/android/server/am/ActivityRecord;->task:Lcom/android/server/am/TaskRecord;
45302 iget v2, v2, Lcom/android/server/am/TaskRecord;->taskId:I
45304 if-ne v2, p1, :cond_2a
45306 invoke-static {}, Landroid/os/Binder;->getCallingPid()I
45310 invoke-static {}, Landroid/os/Binder;->getCallingUid()I
45314 const-string v4, "Task to back"
45316 invoke-virtual {p0, v2, v3, v4}, Lcom/android/server/am/ActivityManagerService;->checkAppSwitchAllowedLocked(IILjava/lang/String;)Z
45320 if-nez v2, :cond_2a
45328 invoke-static {}, Landroid/os/Binder;->clearCallingIdentity()J
45330 move-result-wide v0
45332 iget-object v2, p0, Lcom/android/server/am/ActivityManagerService;->mMainStack:Lcom/android/server/am/ActivityStack;
45336 invoke-virtual {v2, p1, v3}, Lcom/android/server/am/ActivityStack;->moveTaskToBackLocked(ILcom/android/server/am/ActivityRecord;)Z
45338 invoke-static {v0, v1}, Landroid/os/Binder;->restoreCallingIdentity(J)V
45349 .catchall {:try_start_8 .. :try_end_3b} :catchall_39
45354 .method public moveTaskToFront(IILandroid/os/Bundle;)V
45357 const-string v5, "android.permission.REORDER_TASKS"
45359 const-string v6, "moveTaskToFront()"
45361 invoke-virtual {p0, v5, v6}, Lcom/android/server/am/ActivityManagerService;->enforceCallingPermission(Ljava/lang/String;Ljava/lang/String;)V
45366 invoke-static {}, Landroid/os/Binder;->getCallingPid()I
45370 invoke-static {}, Landroid/os/Binder;->getCallingUid()I
45374 const-string v7, "Task to front"
45376 invoke-virtual {p0, v5, v6, v7}, Lcom/android/server/am/ActivityManagerService;->checkAppSwitchAllowedLocked(IILjava/lang/String;)Z
45380 if-nez v5, :cond_1d
45382 invoke-static {p3}, Landroid/app/ActivityOptions;->abort(Landroid/os/Bundle;)V
45390 invoke-static {}, Landroid/os/Binder;->clearCallingIdentity()J
45392 .catchall {:try_start_8 .. :try_end_20} :catchall_44
45394 move-result-wide v2
45397 invoke-direct {p0, p1}, Lcom/android/server/am/ActivityManagerService;->taskForIdLocked(I)Lcom/android/server/am/TaskRecord;
45399 move-result-object v4
45401 if-eqz v4, :cond_47
45403 and-int/lit8 v5, p2, 0x2
45405 if-nez v5, :cond_30
45407 iget-object v5, p0, Lcom/android/server/am/ActivityManagerService;->mMainStack:Lcom/android/server/am/ActivityStack;
45411 iput-boolean v6, v5, Lcom/android/server/am/ActivityStack;->mUserLeaving:Z
45414 and-int/lit8 v5, p2, 0x1
45416 if-eqz v5, :cond_39
45418 iget-object v5, p0, Lcom/android/server/am/ActivityManagerService;->mMainStack:Lcom/android/server/am/ActivityStack;
45420 invoke-virtual {v5}, Lcom/android/server/am/ActivityStack;->moveHomeToFrontLocked()V
45423 iget-object v5, p0, Lcom/android/server/am/ActivityManagerService;->mMainStack:Lcom/android/server/am/ActivityStack;
45427 invoke-virtual {v5, v4, v6, p3}, Lcom/android/server/am/ActivityStack;->moveTaskToFrontLocked(Lcom/android/server/am/TaskRecord;Lcom/android/server/am/ActivityRecord;Landroid/os/Bundle;)V
45429 .catchall {:try_start_21 .. :try_end_3f} :catchall_85
45432 invoke-static {v2, v3}, Landroid/os/Binder;->restoreCallingIdentity(J)V
45443 .catchall {:try_start_3f .. :try_end_46} :catchall_44
45449 iget-object v5, p0, Lcom/android/server/am/ActivityManagerService;->mMainStack:Lcom/android/server/am/ActivityStack;
45451 iget-object v5, v5, Lcom/android/server/am/ActivityStack;->mHistory:Ljava/util/ArrayList;
45453 invoke-virtual {v5}, Ljava/util/ArrayList;->size()I
45457 add-int/lit8 v1, v5, -0x1
45460 if-ltz v1, :cond_8a
45462 iget-object v5, p0, Lcom/android/server/am/ActivityManagerService;->mMainStack:Lcom/android/server/am/ActivityStack;
45464 iget-object v5, v5, Lcom/android/server/am/ActivityStack;->mHistory:Ljava/util/ArrayList;
45466 invoke-virtual {v5, v1}, Ljava/util/ArrayList;->get(I)Ljava/lang/Object;
45468 move-result-object v0
45470 check-cast v0, Lcom/android/server/am/ActivityRecord;
45472 iget-object v5, v0, Lcom/android/server/am/ActivityRecord;->task:Lcom/android/server/am/TaskRecord;
45474 iget v5, v5, Lcom/android/server/am/TaskRecord;->taskId:I
45476 if-ne v5, p1, :cond_82
45478 and-int/lit8 v5, p2, 0x2
45480 if-nez v5, :cond_6c
45482 iget-object v5, p0, Lcom/android/server/am/ActivityManagerService;->mMainStack:Lcom/android/server/am/ActivityStack;
45486 iput-boolean v6, v5, Lcom/android/server/am/ActivityStack;->mUserLeaving:Z
45489 and-int/lit8 v5, p2, 0x1
45491 if-eqz v5, :cond_75
45493 iget-object v5, p0, Lcom/android/server/am/ActivityManagerService;->mMainStack:Lcom/android/server/am/ActivityStack;
45495 invoke-virtual {v5}, Lcom/android/server/am/ActivityStack;->moveHomeToFrontLocked()V
45498 iget-object v5, p0, Lcom/android/server/am/ActivityManagerService;->mMainStack:Lcom/android/server/am/ActivityStack;
45500 iget-object v6, v0, Lcom/android/server/am/ActivityRecord;->task:Lcom/android/server/am/TaskRecord;
45504 invoke-virtual {v5, v6, v7, p3}, Lcom/android/server/am/ActivityStack;->moveTaskToFrontLocked(Lcom/android/server/am/TaskRecord;Lcom/android/server/am/ActivityRecord;Landroid/os/Bundle;)V
45506 .catchall {:try_start_47 .. :try_end_7d} :catchall_85
45509 invoke-static {v2, v3}, Landroid/os/Binder;->restoreCallingIdentity(J)V
45516 add-int/lit8 v1, v1, -0x1
45523 invoke-static {v2, v3}, Landroid/os/Binder;->restoreCallingIdentity(J)V
45528 invoke-static {v2, v3}, Landroid/os/Binder;->restoreCallingIdentity(J)V
45530 invoke-static {p3}, Landroid/app/ActivityOptions;->abort(Landroid/os/Bundle;)V
45534 .catchall {:try_start_7d .. :try_end_91} :catchall_44
45539 .method public navigateUpTo(Landroid/os/IBinder;Landroid/content/Intent;ILandroid/content/Intent;)Z
45542 invoke-virtual/range {p2 .. p2}, Landroid/content/Intent;->getComponent()Landroid/content/ComponentName;
45544 move-result-object v16
45549 invoke-static/range {p1 .. p1}, Lcom/android/server/am/ActivityRecord;->forToken(Landroid/os/IBinder;)Lcom/android/server/am/ActivityRecord;
45551 move-result-object v31
45553 if-nez v31, :cond_f
45563 move-object/from16 v0, v31
45565 iget-object v2, v0, Lcom/android/server/am/ActivityRecord;->stack:Lcom/android/server/am/ActivityStack;
45567 iget-object v0, v2, Lcom/android/server/am/ActivityStack;->mHistory:Ljava/util/ArrayList;
45569 move-object/from16 v21, v0
45571 move-object/from16 v0, v21
45573 move-object/from16 v1, v31
45575 invoke-virtual {v0, v1}, Ljava/util/ArrayList;->indexOf(Ljava/lang/Object;)I
45579 if-gez v32, :cond_28
45592 .catchall {:try_start_5 .. :try_end_27} :catchall_25
45597 add-int/lit8 v19, v32, -0x1
45603 if-eqz v16, :cond_5a
45606 move-object/from16 v0, v31
45608 iget-object v0, v0, Lcom/android/server/am/ActivityRecord;->task:Lcom/android/server/am/TaskRecord;
45610 move-object/from16 v33, v0
45612 add-int/lit8 v22, v32, -0x1
45615 if-ltz v22, :cond_5a
45617 invoke-virtual/range {v21 .. v22}, Ljava/util/ArrayList;->get(I)Ljava/lang/Object;
45619 move-result-object v28
45621 check-cast v28, Lcom/android/server/am/ActivityRecord;
45623 move-object/from16 v0, v28
45625 iget-object v2, v0, Lcom/android/server/am/ActivityRecord;->task:Lcom/android/server/am/TaskRecord;
45627 move-object/from16 v0, v33
45629 if-eq v0, v2, :cond_81
45631 add-int/lit8 v2, v32, -0x1
45633 add-int/lit8 v3, v22, 0x1
45635 invoke-static {v2, v3}, Ljava/lang/Math;->min(II)I
45639 move-object/from16 v0, v21
45641 move/from16 v1, v19
45643 invoke-virtual {v0, v1}, Ljava/util/ArrayList;->get(I)Ljava/lang/Object;
45645 move-result-object v26
45647 check-cast v26, Lcom/android/server/am/ActivityRecord;
45651 move-object/from16 v0, p0
45653 iget-object v2, v0, Lcom/android/server/am/ActivityManagerService;->mController:Landroid/app/IActivityController;
45655 if-eqz v2, :cond_b2
45657 move-object/from16 v0, p0
45659 iget-object v2, v0, Lcom/android/server/am/ActivityManagerService;->mMainStack:Lcom/android/server/am/ActivityStack;
45663 move-object/from16 v0, p1
45665 invoke-virtual {v2, v0, v3}, Lcom/android/server/am/ActivityStack;->topRunningActivityLocked(Landroid/os/IBinder;I)Lcom/android/server/am/ActivityRecord;
45667 .catchall {:try_start_30 .. :try_end_6a} :catchall_25
45669 move-result-object v23
45671 if-eqz v23, :cond_b2
45676 move-object/from16 v0, p0
45678 iget-object v2, v0, Lcom/android/server/am/ActivityManagerService;->mController:Landroid/app/IActivityController;
45680 move-object/from16 v0, v23
45682 iget-object v3, v0, Lcom/android/server/am/ActivityRecord;->packageName:Ljava/lang/String;
45684 invoke-interface {v2, v3}, Landroid/app/IActivityController;->activityResuming(Ljava/lang/String;)Z
45686 .catchall {:try_start_6f .. :try_end_7a} :catchall_25
45687 .catch Landroid/os/RemoteException; {:try_start_6f .. :try_end_7a} :catch_ab
45692 if-nez v30, :cond_b2
45702 move-object/from16 v0, v28
45704 iget-object v2, v0, Lcom/android/server/am/ActivityRecord;->info:Landroid/content/pm/ActivityInfo;
45706 iget-object v2, v2, Landroid/content/pm/ActivityInfo;->packageName:Ljava/lang/String;
45708 invoke-virtual/range {v16 .. v16}, Landroid/content/ComponentName;->getPackageName()Ljava/lang/String;
45710 move-result-object v3
45712 invoke-virtual {v2, v3}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
45716 if-eqz v2, :cond_a8
45718 move-object/from16 v0, v28
45720 iget-object v2, v0, Lcom/android/server/am/ActivityRecord;->info:Landroid/content/pm/ActivityInfo;
45722 iget-object v2, v2, Landroid/content/pm/ActivityInfo;->name:Ljava/lang/String;
45724 invoke-virtual/range {v16 .. v16}, Landroid/content/ComponentName;->getClassName()Ljava/lang/String;
45726 move-result-object v3
45728 invoke-virtual {v2, v3}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
45732 if-eqz v2, :cond_a8
45734 move/from16 v19, v22
45736 move-object/from16 v26, v28
45743 add-int/lit8 v22, v22, -0x1
45752 move-object/from16 v0, p0
45754 iput-object v2, v0, Lcom/android/server/am/ActivityManagerService;->mController:Landroid/app/IActivityController;
45759 invoke-static {}, Landroid/os/Binder;->clearCallingIdentity()J
45761 move-result-wide v24
45763 move/from16 v22, v32
45766 move/from16 v0, v22
45768 move/from16 v1, v19
45770 if-le v0, v1, :cond_dd
45772 invoke-virtual/range {v21 .. v22}, Ljava/util/ArrayList;->get(I)Ljava/lang/Object;
45774 move-result-object v28
45776 check-cast v28, Lcom/android/server/am/ActivityRecord;
45778 move-object/from16 v0, p0
45780 iget-object v2, v0, Lcom/android/server/am/ActivityManagerService;->mMainStack:Lcom/android/server/am/ActivityStack;
45782 move-object/from16 v0, v28
45784 iget-object v3, v0, Lcom/android/server/am/ActivityRecord;->appToken:Landroid/view/IApplicationToken$Stub;
45786 const-string v6, "navigate-up"
45792 move-object/from16 v5, p4
45794 invoke-virtual/range {v2 .. v7}, Lcom/android/server/am/ActivityStack;->requestFinishActivityLocked(Landroid/os/IBinder;ILandroid/content/Intent;Ljava/lang/String;Z)Z
45800 add-int/lit8 v22, v22, -0x1
45805 if-eqz v26, :cond_111
45807 if-eqz v20, :cond_111
45809 move-object/from16 v0, v26
45811 iget-object v2, v0, Lcom/android/server/am/ActivityRecord;->info:Landroid/content/pm/ActivityInfo;
45813 iget v0, v2, Landroid/content/pm/ActivityInfo;->launchMode:I
45815 move/from16 v27, v0
45817 invoke-virtual/range {p2 .. p2}, Landroid/content/Intent;->getFlags()I
45823 move/from16 v0, v27
45825 if-eq v0, v2, :cond_102
45829 move/from16 v0, v27
45831 if-eq v0, v2, :cond_102
45835 move/from16 v0, v27
45837 if-eq v0, v2, :cond_102
45839 const/high16 v2, 0x400
45841 and-int v2, v2, v17
45843 if-eqz v2, :cond_117
45846 move-object/from16 v0, v31
45848 iget-object v2, v0, Lcom/android/server/am/ActivityRecord;->info:Landroid/content/pm/ActivityInfo;
45850 iget-object v2, v2, Landroid/content/pm/ActivityInfo;->applicationInfo:Landroid/content/pm/ApplicationInfo;
45852 iget v2, v2, Landroid/content/pm/ApplicationInfo;->uid:I
45854 move-object/from16 v0, v26
45856 move-object/from16 v1, p2
45858 invoke-virtual {v0, v2, v1}, Lcom/android/server/am/ActivityRecord;->deliverNewIntentLocked(ILandroid/content/Intent;)V
45862 invoke-static/range {v24 .. v25}, Landroid/os/Binder;->restoreCallingIdentity(J)V
45866 .catchall {:try_start_7f .. :try_end_115} :catchall_25
45872 invoke-static {}, Landroid/app/AppGlobals;->getPackageManager()Landroid/content/pm/IPackageManager;
45874 move-result-object v2
45876 invoke-virtual/range {p2 .. p2}, Landroid/content/Intent;->getComponent()Landroid/content/ComponentName;
45878 move-result-object v3
45882 move-object/from16 v0, v31
45884 iget v5, v0, Lcom/android/server/am/ActivityRecord;->userId:I
45886 invoke-interface {v2, v3, v4, v5}, Landroid/content/pm/IPackageManager;->getActivityInfo(Landroid/content/ComponentName;II)Landroid/content/pm/ActivityInfo;
45888 move-result-object v6
45890 move-object/from16 v0, p0
45892 iget-object v2, v0, Lcom/android/server/am/ActivityManagerService;->mMainStack:Lcom/android/server/am/ActivityStack;
45894 move-object/from16 v0, v31
45896 iget-object v3, v0, Lcom/android/server/am/ActivityRecord;->app:Lcom/android/server/am/ProcessRecord;
45898 iget-object v3, v3, Lcom/android/server/am/ProcessRecord;->thread:Landroid/app/IApplicationThread;
45902 move-object/from16 v0, v26
45904 iget-object v7, v0, Lcom/android/server/am/ActivityRecord;->appToken:Landroid/view/IApplicationToken$Stub;
45912 move-object/from16 v0, v26
45914 iget v11, v0, Lcom/android/server/am/ActivityRecord;->launchedFromUid:I
45924 move-object/from16 v4, p2
45926 invoke-virtual/range {v2 .. v15}, Lcom/android/server/am/ActivityStack;->startActivityLocked(Landroid/app/IApplicationThread;Landroid/content/Intent;Ljava/lang/String;Landroid/content/pm/ActivityInfo;Landroid/os/IBinder;Ljava/lang/String;IIIILandroid/os/Bundle;Z[Lcom/android/server/am/ActivityRecord;)I
45928 .catchall {:try_start_117 .. :try_end_147} :catchall_25
45929 .catch Landroid/os/RemoteException; {:try_start_117 .. :try_end_147} :catch_162
45933 if-nez v29, :cond_15f
45939 move-object/from16 v0, p0
45941 iget-object v7, v0, Lcom/android/server/am/ActivityManagerService;->mMainStack:Lcom/android/server/am/ActivityStack;
45943 move-object/from16 v0, v26
45945 iget-object v8, v0, Lcom/android/server/am/ActivityRecord;->appToken:Landroid/view/IApplicationToken$Stub;
45947 const-string v11, "navigate-up"
45953 move-object/from16 v10, p4
45955 invoke-virtual/range {v7 .. v12}, Lcom/android/server/am/ActivityStack;->requestFinishActivityLocked(Landroid/os/IBinder;ILandroid/content/Intent;Ljava/lang/String;Z)Z
45957 .catchall {:try_start_14c .. :try_end_15e} :catchall_25
45974 .method final newProcessRecordLocked(Landroid/app/IApplicationThread;Landroid/content/pm/ApplicationInfo;Ljava/lang/String;Z)Lcom/android/server/am/ProcessRecord;
45979 if-eqz p3, :cond_49
45986 iget-object v0, p0, Lcom/android/server/am/ActivityManagerService;->mBatteryStatsService:Lcom/android/server/am/BatteryStatsService;
45988 invoke-virtual {v0}, Lcom/android/server/am/BatteryStatsService;->getActiveStatistics()Lcom/android/internal/os/BatteryStatsImpl;
45990 move-result-object v6
45992 iget v5, p2, Landroid/content/pm/ApplicationInfo;->uid:I
45994 if-eqz p4, :cond_39
45996 invoke-static {v5}, Landroid/os/UserHandle;->getUserId(I)I
46005 iget v0, p0, Lcom/android/server/am/ActivityManagerService;->mNextIsolatedProcessUid:I
46007 if-lt v0, v3, :cond_23
46009 iget v0, p0, Lcom/android/server/am/ActivityManagerService;->mNextIsolatedProcessUid:I
46013 if-le v0, v2, :cond_25
46016 iput v3, p0, Lcom/android/server/am/ActivityManagerService;->mNextIsolatedProcessUid:I
46019 iget v0, p0, Lcom/android/server/am/ActivityManagerService;->mNextIsolatedProcessUid:I
46021 invoke-static {v8, v0}, Landroid/os/UserHandle;->getUid(II)I
46025 iget v0, p0, Lcom/android/server/am/ActivityManagerService;->mNextIsolatedProcessUid:I
46027 add-int/lit8 v0, v0, 0x1
46029 iput v0, p0, Lcom/android/server/am/ActivityManagerService;->mNextIsolatedProcessUid:I
46031 iget-object v0, p0, Lcom/android/server/am/ActivityManagerService;->mIsolatedProcesses:Landroid/util/SparseArray;
46033 invoke-virtual {v0, v5}, Landroid/util/SparseArray;->indexOfKey(I)I
46037 if-gez v0, :cond_4c
46043 iget v0, p2, Landroid/content/pm/ApplicationInfo;->uid:I
46045 invoke-virtual {v6, v0, v4}, Lcom/android/internal/os/BatteryStatsImpl;->getProcessStatsLocked(ILjava/lang/String;)Lcom/android/internal/os/BatteryStatsImpl$Uid$Proc;
46047 move-result-object v1
46051 .catchall {:try_start_3a .. :try_end_41} :catchall_52
46053 new-instance v0, Lcom/android/server/am/ProcessRecord;
46059 invoke-direct/range {v0 .. v5}, Lcom/android/server/am/ProcessRecord;-><init>(Lcom/android/internal/os/BatteryStatsImpl$Uid$Proc;Landroid/app/IApplicationThread;Landroid/content/pm/ApplicationInfo;Ljava/lang/String;I)V
46065 iget-object v4, p2, Landroid/content/pm/ApplicationInfo;->processName:Ljava/lang/String;
46070 add-int/lit8 v7, v7, -0x1
46072 if-gtz v7, :cond_18
46084 .catchall {:try_start_53 .. :try_end_54} :catchall_52
46089 .method public newUriPermissionOwner(Ljava/lang/String;)Landroid/os/IBinder;
46092 const-string v1, "newUriPermissionOwner"
46094 invoke-virtual {p0, v1}, Lcom/android/server/am/ActivityManagerService;->enforceNotIsolatedCaller(Ljava/lang/String;)V
46099 new-instance v0, Lcom/android/server/am/UriPermissionOwner;
46101 invoke-direct {v0, p0, p1}, Lcom/android/server/am/UriPermissionOwner;-><init>(Lcom/android/server/am/ActivityManagerService;Ljava/lang/Object;)V
46103 invoke-virtual {v0}, Lcom/android/server/am/UriPermissionOwner;->getExternalTokenLocked()Landroid/os/Binder;
46105 move-result-object v1
46116 .catchall {:try_start_6 .. :try_end_13} :catchall_11
46121 .method public noteWakeupAlarm(Landroid/content/IIntentSender;)V
46124 instance-of v6, p1, Lcom/android/server/am/PendingIntentRecord;
46132 iget-object v6, p0, Lcom/android/server/am/ActivityManagerService;->mBatteryStatsService:Lcom/android/server/am/BatteryStatsService;
46134 invoke-virtual {v6}, Lcom/android/server/am/BatteryStatsService;->getActiveStatistics()Lcom/android/internal/os/BatteryStatsImpl;
46136 move-result-object v4
46141 iget-object v6, p0, Lcom/android/server/am/ActivityManagerService;->mBatteryStatsService:Lcom/android/server/am/BatteryStatsService;
46143 invoke-virtual {v6}, Lcom/android/server/am/BatteryStatsService;->isOnBattery()Z
46147 if-eqz v6, :cond_32
46149 iget-object v6, p0, Lcom/android/server/am/ActivityManagerService;->mBatteryStatsService:Lcom/android/server/am/BatteryStatsService;
46151 invoke-virtual {v6}, Lcom/android/server/am/BatteryStatsService;->enforceCallingPermission()V
46155 check-cast v0, Lcom/android/server/am/PendingIntentRecord;
46159 invoke-static {}, Landroid/os/Binder;->getCallingUid()I
46163 iget v6, v3, Lcom/android/server/am/PendingIntentRecord;->uid:I
46165 if-ne v6, v1, :cond_37
46170 iget-object v6, v3, Lcom/android/server/am/PendingIntentRecord;->key:Lcom/android/server/am/PendingIntentRecord$Key;
46172 iget-object v6, v6, Lcom/android/server/am/PendingIntentRecord$Key;->packageName:Ljava/lang/String;
46174 invoke-virtual {v4, v5, v6}, Lcom/android/internal/os/BatteryStatsImpl;->getPackageStatsLocked(ILjava/lang/String;)Lcom/android/internal/os/BatteryStatsImpl$Uid$Pkg;
46176 move-result-object v2
46178 invoke-virtual {v2}, Lcom/android/internal/os/BatteryStatsImpl$Uid$Pkg;->incWakeupsLocked()V
46190 .catchall {:try_start_c .. :try_end_36} :catchall_34
46196 iget v5, v3, Lcom/android/server/am/PendingIntentRecord;->uid:I
46198 .catchall {:try_start_37 .. :try_end_39} :catchall_34
46203 .method onCoreSettingsChange(Landroid/os/Bundle;)V
46206 iget-object v2, p0, Lcom/android/server/am/ActivityManagerService;->mLruProcesses:Ljava/util/ArrayList;
46208 invoke-virtual {v2}, Ljava/util/ArrayList;->size()I
46212 add-int/lit8 v0, v2, -0x1
46215 if-ltz v0, :cond_1e
46217 iget-object v2, p0, Lcom/android/server/am/ActivityManagerService;->mLruProcesses:Ljava/util/ArrayList;
46219 invoke-virtual {v2, v0}, Ljava/util/ArrayList;->get(I)Ljava/lang/Object;
46221 move-result-object v1
46223 check-cast v1, Lcom/android/server/am/ProcessRecord;
46226 iget-object v2, v1, Lcom/android/server/am/ProcessRecord;->thread:Landroid/app/IApplicationThread;
46228 if-eqz v2, :cond_1b
46230 iget-object v2, v1, Lcom/android/server/am/ProcessRecord;->thread:Landroid/app/IApplicationThread;
46232 invoke-interface {v2, p1}, Landroid/app/IApplicationThread;->setCoreSettings(Landroid/os/Bundle;)V
46234 .catch Landroid/os/RemoteException; {:try_start_12 .. :try_end_1b} :catch_1f
46238 add-int/lit8 v0, v0, -0x1
46251 .method public onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
46253 .annotation system Ldalvik/annotation/Throws;
46255 Landroid/os/RemoteException;
46259 const v10, 0x5f535052
46261 if-ne p1, v10, :cond_65
46263 new-instance v9, Ljava/util/ArrayList;
46265 invoke-direct {v9}, Ljava/util/ArrayList;-><init>()V
46270 iget-object v10, p0, Lcom/android/server/am/ActivityManagerService;->mProcessNames:Lcom/android/server/ProcessMap;
46272 invoke-virtual {v10}, Lcom/android/server/ProcessMap;->getMap()Ljava/util/HashMap;
46274 move-result-object v10
46276 invoke-virtual {v10}, Ljava/util/HashMap;->values()Ljava/util/Collection;
46278 move-result-object v10
46280 invoke-interface {v10}, Ljava/util/Collection;->iterator()Ljava/util/Iterator;
46282 move-result-object v7
46285 invoke-interface {v7}, Ljava/util/Iterator;->hasNext()Z
46289 if-eqz v10, :cond_42
46291 invoke-interface {v7}, Ljava/util/Iterator;->next()Ljava/lang/Object;
46293 move-result-object v3
46295 check-cast v3, Landroid/util/SparseArray;
46297 invoke-virtual {v3}, Landroid/util/SparseArray;->size()I
46304 if-ge v8, v1, :cond_19
46306 invoke-virtual {v3, v8}, Landroid/util/SparseArray;->valueAt(I)Ljava/lang/Object;
46308 move-result-object v2
46310 check-cast v2, Lcom/android/server/am/ProcessRecord;
46312 iget-object v10, v2, Lcom/android/server/am/ProcessRecord;->thread:Landroid/app/IApplicationThread;
46314 if-eqz v10, :cond_3f
46316 iget-object v10, v2, Lcom/android/server/am/ProcessRecord;->thread:Landroid/app/IApplicationThread;
46318 invoke-interface {v10}, Landroid/app/IApplicationThread;->asBinder()Landroid/os/IBinder;
46320 move-result-object v10
46322 invoke-virtual {v9, v10}, Ljava/util/ArrayList;->add(Ljava/lang/Object;)Z
46325 add-int/lit8 v8, v8, 0x1
46332 .catchall {:try_start_b .. :try_end_43} :catchall_62
46334 invoke-virtual {v9}, Ljava/util/ArrayList;->size()I
46341 if-ge v6, v0, :cond_65
46343 invoke-static {}, Landroid/os/Parcel;->obtain()Landroid/os/Parcel;
46345 move-result-object v4
46348 invoke-virtual {v9, v6}, Ljava/util/ArrayList;->get(I)Ljava/lang/Object;
46350 move-result-object v10
46352 check-cast v10, Landroid/os/IBinder;
46354 const v11, 0x5f535052
46360 invoke-interface {v10, v11, v4, v12, v13}, Landroid/os/IBinder;->transact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
46362 .catch Landroid/os/RemoteException; {:try_start_4e .. :try_end_5c} :catch_77
46365 invoke-virtual {v4}, Landroid/os/Parcel;->recycle()V
46367 add-int/lit8 v6, v6, 0x1
46377 .catchall {:try_start_63 .. :try_end_64} :catchall_62
46383 invoke-super/range {p0 .. p4}, Landroid/app/ActivityManagerNative;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
46385 .catch Ljava/lang/RuntimeException; {:try_start_65 .. :try_end_68} :catch_6a
46394 instance-of v10, v5, Ljava/lang/SecurityException;
46396 if-nez v10, :cond_76
46398 const-string v10, "ActivityManager"
46400 const-string v11, "Activity Manager Crash"
46402 invoke-static {v10, v11, v5}, Landroid/util/Slog;->e(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I
46413 .method public openContentUri(Landroid/net/Uri;)Landroid/os/ParcelFileDescriptor;
46415 .annotation system Ldalvik/annotation/Throws;
46417 Landroid/os/RemoteException;
46423 const-string v4, "openContentUri"
46425 invoke-virtual {p0, v4}, Lcom/android/server/am/ActivityManagerService;->enforceNotIsolatedCaller(Ljava/lang/String;)V
46427 invoke-static {}, Landroid/os/UserHandle;->getCallingUserId()I
46431 invoke-virtual {p1}, Landroid/net/Uri;->getAuthority()Ljava/lang/String;
46433 move-result-object v1
46435 invoke-direct {p0, v1, v8, v3}, Lcom/android/server/am/ActivityManagerService;->getContentProviderExternalUnchecked(Ljava/lang/String;Landroid/os/IBinder;I)Landroid/app/IActivityManager$ContentProviderHolder;
46437 move-result-object v0
46441 if-eqz v0, :cond_3f
46443 sget-object v4, Lcom/android/server/am/ActivityManagerService;->sCallerIdentity:Ljava/lang/ThreadLocal;
46445 new-instance v5, Lcom/android/server/am/ActivityManagerService$Identity;
46447 invoke-static {}, Landroid/os/Binder;->getCallingPid()I
46451 invoke-static {}, Landroid/os/Binder;->getCallingUid()I
46455 invoke-direct {v5, p0, v6, v7}, Lcom/android/server/am/ActivityManagerService$Identity;-><init>(Lcom/android/server/am/ActivityManagerService;II)V
46457 invoke-virtual {v4, v5}, Ljava/lang/ThreadLocal;->set(Ljava/lang/Object;)V
46460 iget-object v4, v0, Landroid/app/IActivityManager$ContentProviderHolder;->provider:Landroid/content/IContentProvider;
46462 const-string v5, "r"
46464 invoke-interface {v4, p1, v5}, Landroid/content/IContentProvider;->openFile(Landroid/net/Uri;Ljava/lang/String;)Landroid/os/ParcelFileDescriptor;
46466 .catchall {:try_start_27 .. :try_end_2e} :catchall_38
46467 .catch Ljava/io/FileNotFoundException; {:try_start_27 .. :try_end_2e} :catch_5e
46469 move-result-object v2
46471 sget-object v4, Lcom/android/server/am/ActivityManagerService;->sCallerIdentity:Ljava/lang/ThreadLocal;
46474 invoke-virtual {v4}, Ljava/lang/ThreadLocal;->remove()V
46476 invoke-direct {p0, v1, v8, v3}, Lcom/android/server/am/ActivityManagerService;->removeContentProviderExternalUnchecked(Ljava/lang/String;Landroid/os/IBinder;I)V
46484 sget-object v5, Lcom/android/server/am/ActivityManagerService;->sCallerIdentity:Ljava/lang/ThreadLocal;
46486 invoke-virtual {v5}, Ljava/lang/ThreadLocal;->remove()V
46491 const-string v4, "ActivityManager"
46493 new-instance v5, Ljava/lang/StringBuilder;
46495 invoke-direct {v5}, Ljava/lang/StringBuilder;-><init>()V
46497 const-string v6, "Failed to get provider for authority \'"
46499 invoke-virtual {v5, v6}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
46501 move-result-object v5
46503 invoke-virtual {v5, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
46505 move-result-object v5
46507 const-string v6, "\'"
46509 invoke-virtual {v5, v6}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
46511 move-result-object v5
46513 invoke-virtual {v5}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
46515 move-result-object v5
46517 invoke-static {v4, v5}, Landroid/util/Slog;->d(Ljava/lang/String;Ljava/lang/String;)I
46524 sget-object v4, Lcom/android/server/am/ActivityManagerService;->sCallerIdentity:Ljava/lang/ThreadLocal;
46529 .method public overridePendingTransition(Landroid/os/IBinder;Ljava/lang/String;II)V
46535 iget-object v3, p0, Lcom/android/server/am/ActivityManagerService;->mMainStack:Lcom/android/server/am/ActivityStack;
46537 invoke-virtual {v3, p1}, Lcom/android/server/am/ActivityStack;->isInStackLocked(Landroid/os/IBinder;)Lcom/android/server/am/ActivityRecord;
46539 move-result-object v2
46549 invoke-static {}, Landroid/os/Binder;->clearCallingIdentity()J
46551 move-result-wide v0
46553 iget-object v3, v2, Lcom/android/server/am/ActivityRecord;->state:Lcom/android/server/am/ActivityStack$ActivityState;
46555 sget-object v4, Lcom/android/server/am/ActivityStack$ActivityState;->RESUMED:Lcom/android/server/am/ActivityStack$ActivityState;
46557 if-eq v3, v4, :cond_1b
46559 iget-object v3, v2, Lcom/android/server/am/ActivityRecord;->state:Lcom/android/server/am/ActivityStack$ActivityState;
46561 sget-object v4, Lcom/android/server/am/ActivityStack$ActivityState;->PAUSING:Lcom/android/server/am/ActivityStack$ActivityState;
46563 if-ne v3, v4, :cond_21
46566 iget-object v3, p0, Lcom/android/server/am/ActivityManagerService;->mWindowManager:Lcom/android/server/wm/WindowManagerService;
46570 invoke-virtual {v3, p2, p3, p4, v4}, Lcom/android/server/wm/WindowManagerService;->overridePendingAppTransition(Ljava/lang/String;IILandroid/os/IRemoteCallback;)V
46573 invoke-static {v0, v1}, Landroid/os/Binder;->restoreCallingIdentity(J)V
46584 .catchall {:try_start_1 .. :try_end_28} :catchall_26
46589 .method public peekService(Landroid/content/Intent;Ljava/lang/String;)Landroid/os/IBinder;
46592 const-string v0, "peekService"
46594 invoke-virtual {p0, v0}, Lcom/android/server/am/ActivityManagerService;->enforceNotIsolatedCaller(Ljava/lang/String;)V
46596 if-eqz p1, :cond_16
46598 invoke-virtual {p1}, Landroid/content/Intent;->hasFileDescriptors()Z
46604 if-ne v0, v1, :cond_16
46606 new-instance v0, Ljava/lang/IllegalArgumentException;
46608 const-string v1, "File descriptors passed in Intent"
46610 invoke-direct {v0, v1}, Ljava/lang/IllegalArgumentException;-><init>(Ljava/lang/String;)V
46618 iget-object v0, p0, Lcom/android/server/am/ActivityManagerService;->mServices:Lcom/android/server/am/ActiveServices;
46620 invoke-virtual {v0, p1, p2}, Lcom/android/server/am/ActiveServices;->peekServiceLocked(Landroid/content/Intent;Ljava/lang/String;)Landroid/os/IBinder;
46622 move-result-object v0
46633 .catchall {:try_start_17 .. :try_end_21} :catchall_1f
46638 .method final performAppGcLocked(Lcom/android/server/am/ProcessRecord;)V
46642 invoke-static {}, Landroid/os/SystemClock;->uptimeMillis()J
46644 move-result-wide v0
46646 iput-wide v0, p1, Lcom/android/server/am/ProcessRecord;->lastRequestedGc:J
46648 iget-object v0, p1, Lcom/android/server/am/ProcessRecord;->thread:Landroid/app/IApplicationThread;
46650 if-eqz v0, :cond_16
46652 iget-boolean v0, p1, Lcom/android/server/am/ProcessRecord;->reportLowMemory:Z
46654 if-eqz v0, :cond_17
46658 iput-boolean v0, p1, Lcom/android/server/am/ProcessRecord;->reportLowMemory:Z
46660 iget-object v0, p1, Lcom/android/server/am/ProcessRecord;->thread:Landroid/app/IApplicationThread;
46662 invoke-interface {v0}, Landroid/app/IApplicationThread;->scheduleLowMemory()V
46669 iget-object v0, p1, Lcom/android/server/am/ProcessRecord;->thread:Landroid/app/IApplicationThread;
46671 invoke-interface {v0}, Landroid/app/IApplicationThread;->processInBackground()V
46673 .catch Ljava/lang/Exception; {:try_start_0 .. :try_end_1c} :catch_1d
46683 .method final performAppGcsIfAppropriateLocked()V
46686 invoke-direct {p0}, Lcom/android/server/am/ActivityManagerService;->canGcNowLocked()Z
46692 invoke-virtual {p0}, Lcom/android/server/am/ActivityManagerService;->performAppGcsLocked()V
46698 invoke-virtual {p0}, Lcom/android/server/am/ActivityManagerService;->scheduleAppGcsLocked()V
46703 .method final performAppGcsLocked()V
46706 iget-object v2, p0, Lcom/android/server/am/ActivityManagerService;->mProcessesToGc:Ljava/util/ArrayList;
46708 invoke-virtual {v2}, Ljava/util/ArrayList;->size()I
46719 invoke-direct {p0}, Lcom/android/server/am/ActivityManagerService;->canGcNowLocked()Z
46726 iget-object v2, p0, Lcom/android/server/am/ActivityManagerService;->mProcessesToGc:Ljava/util/ArrayList;
46728 invoke-virtual {v2}, Ljava/util/ArrayList;->size()I
46732 if-lez v2, :cond_41
46734 iget-object v2, p0, Lcom/android/server/am/ActivityManagerService;->mProcessesToGc:Ljava/util/ArrayList;
46738 invoke-virtual {v2, v3}, Ljava/util/ArrayList;->remove(I)Ljava/lang/Object;
46740 move-result-object v1
46742 check-cast v1, Lcom/android/server/am/ProcessRecord;
46744 iget v2, v1, Lcom/android/server/am/ProcessRecord;->curRawAdj:I
46748 if-gt v2, v3, :cond_29
46750 iget-boolean v2, v1, Lcom/android/server/am/ProcessRecord;->reportLowMemory:Z
46755 iget-wide v2, v1, Lcom/android/server/am/ProcessRecord;->lastRequestedGc:J
46757 const-wide/32 v4, 0xea60
46759 add-long/2addr v2, v4
46761 invoke-static {}, Landroid/os/SystemClock;->uptimeMillis()J
46763 move-result-wide v4
46765 cmp-long v2, v2, v4
46767 if-gtz v2, :cond_3e
46769 invoke-virtual {p0, v1}, Lcom/android/server/am/ActivityManagerService;->performAppGcLocked(Lcom/android/server/am/ProcessRecord;)V
46771 invoke-virtual {p0}, Lcom/android/server/am/ActivityManagerService;->scheduleAppGcsLocked()V
46776 invoke-virtual {p0, v1}, Lcom/android/server/am/ActivityManagerService;->addProcessToGcListLocked(Lcom/android/server/am/ProcessRecord;)V
46779 invoke-virtual {p0}, Lcom/android/server/am/ActivityManagerService;->scheduleAppGcsLocked()V
46784 .method public profileControl(Ljava/lang/String;IZLjava/lang/String;Landroid/os/ParcelFileDescriptor;I)Z
46786 .annotation system Ldalvik/annotation/Throws;
46788 Landroid/os/RemoteException;
46795 .catchall {:try_start_0 .. :try_end_1} :catchall_1d
46796 .catch Landroid/os/RemoteException; {:try_start_0 .. :try_end_1} :catch_14
46799 const-string v0, "android.permission.SET_ACTIVITY_WATCHER"
46801 invoke-virtual {p0, v0}, Lcom/android/server/am/ActivityManagerService;->checkCallingPermission(Ljava/lang/String;)I
46805 if-eqz v0, :cond_24
46807 new-instance v0, Ljava/lang/SecurityException;
46809 const-string v1, "Requires permission android.permission.SET_ACTIVITY_WATCHER"
46811 invoke-direct {v0, v1}, Ljava/lang/SecurityException;-><init>(Ljava/lang/String;)V
46820 .catchall {:try_start_1 .. :try_end_13} :catchall_11
46825 .catchall {:try_start_13 .. :try_end_14} :catchall_1d
46826 .catch Landroid/os/RemoteException; {:try_start_13 .. :try_end_14} :catch_14
46832 new-instance v0, Ljava/lang/IllegalStateException;
46834 const-string v1, "Process disappeared"
46836 invoke-direct {v0, v1}, Ljava/lang/IllegalStateException;-><init>(Ljava/lang/String;)V
46840 .catchall {:try_start_15 .. :try_end_1d} :catchall_1d
46845 if-eqz p5, :cond_23
46848 invoke-virtual {p5}, Landroid/os/ParcelFileDescriptor;->close()V
46850 .catch Ljava/io/IOException; {:try_start_20 .. :try_end_23} :catch_94
46857 if-eqz p3, :cond_30
46859 if-nez p5, :cond_30
46862 new-instance v0, Ljava/lang/IllegalArgumentException;
46864 const-string v1, "null fd"
46866 invoke-direct {v0, v1}, Ljava/lang/IllegalArgumentException;-><init>(Ljava/lang/String;)V
46873 if-eqz p1, :cond_39
46875 const-string v0, "profileControl"
46877 invoke-direct {p0, p1, p2, v0}, Lcom/android/server/am/ActivityManagerService;->findProcessLocked(Ljava/lang/String;ILjava/lang/String;)Lcom/android/server/am/ProcessRecord;
46879 move-result-object v7
46882 if-eqz p3, :cond_5a
46884 if-eqz v7, :cond_41
46886 iget-object v0, v7, Lcom/android/server/am/ProcessRecord;->thread:Landroid/app/IApplicationThread;
46888 if-nez v0, :cond_5a
46891 new-instance v0, Ljava/lang/IllegalArgumentException;
46893 new-instance v1, Ljava/lang/StringBuilder;
46895 invoke-direct {v1}, Ljava/lang/StringBuilder;-><init>()V
46897 const-string v2, "Unknown process: "
46899 invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
46901 move-result-object v1
46903 invoke-virtual {v1, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
46905 move-result-object v1
46907 invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
46909 move-result-object v1
46911 invoke-direct {v0, v1}, Ljava/lang/IllegalArgumentException;-><init>(Ljava/lang/String;)V
46916 if-eqz p3, :cond_89
46924 invoke-direct {p0, v0, v1, v2}, Lcom/android/server/am/ActivityManagerService;->stopProfilerLocked(Lcom/android/server/am/ProcessRecord;Ljava/lang/String;I)V
46926 iget-object v1, v7, Lcom/android/server/am/ProcessRecord;->info:Landroid/content/pm/ApplicationInfo;
46928 iget-object v2, v7, Lcom/android/server/am/ProcessRecord;->processName:Ljava/lang/String;
46938 invoke-virtual/range {v0 .. v5}, Lcom/android/server/am/ActivityManagerService;->setProfileApp(Landroid/content/pm/ApplicationInfo;Ljava/lang/String;Ljava/lang/String;Landroid/os/ParcelFileDescriptor;Z)V
46940 iput-object v7, p0, Lcom/android/server/am/ActivityManagerService;->mProfileProc:Lcom/android/server/am/ProcessRecord;
46942 iput p6, p0, Lcom/android/server/am/ActivityManagerService;->mProfileType:I
46944 .catchall {:try_start_28 .. :try_end_71} :catchall_11
46947 invoke-virtual {p5}, Landroid/os/ParcelFileDescriptor;->dup()Landroid/os/ParcelFileDescriptor;
46949 .catchall {:try_start_71 .. :try_end_74} :catchall_11
46950 .catch Ljava/io/IOException; {:try_start_71 .. :try_end_74} :catch_86
46952 move-result-object p5
46956 iget-object v0, v7, Lcom/android/server/am/ProcessRecord;->thread:Landroid/app/IApplicationThread;
46958 invoke-interface {v0, p3, p4, p5, p6}, Landroid/app/IApplicationThread;->profilerControl(ZLjava/lang/String;Landroid/os/ParcelFileDescriptor;I)V
46964 iput-object v0, p0, Lcom/android/server/am/ActivityManagerService;->mProfileFd:Landroid/os/ParcelFileDescriptor;
46972 .catchall {:try_start_75 .. :try_end_80} :catchall_11
46974 if-eqz p5, :cond_85
46977 invoke-virtual {p5}, Landroid/os/ParcelFileDescriptor;->close()V
46979 .catch Ljava/io/IOException; {:try_start_82 .. :try_end_85} :catch_96
46994 invoke-direct {p0, v7, p4, p6}, Lcom/android/server/am/ActivityManagerService;->stopProfilerLocked(Lcom/android/server/am/ProcessRecord;Ljava/lang/String;I)V
46996 .catchall {:try_start_89 .. :try_end_8c} :catchall_11
46998 if-eqz p5, :cond_7e
47001 invoke-virtual {p5}, Landroid/os/ParcelFileDescriptor;->close()V
47003 .catchall {:try_start_8e .. :try_end_91} :catchall_11
47004 .catch Ljava/io/IOException; {:try_start_8e .. :try_end_91} :catch_92
47024 .method public final publishContentProviders(Landroid/app/IApplicationThread;Ljava/util/List;)V
47026 .annotation system Ldalvik/annotation/Signature;
47029 "Landroid/app/IApplicationThread;",
47032 "Landroid/app/IActivityManager$ContentProviderHolder;",
47043 const-string v12, "publishContentProviders"
47045 invoke-virtual {p0, v12}, Lcom/android/server/am/ActivityManagerService;->enforceNotIsolatedCaller(Ljava/lang/String;)V
47050 invoke-virtual/range {p0 .. p1}, Lcom/android/server/am/ActivityManagerService;->getRecordForAppLocked(Landroid/app/IApplicationThread;)Lcom/android/server/am/ProcessRecord;
47052 move-result-object v10
47054 if-nez v10, :cond_41
47056 new-instance v12, Ljava/lang/SecurityException;
47058 new-instance v13, Ljava/lang/StringBuilder;
47060 invoke-direct {v13}, Ljava/lang/StringBuilder;-><init>()V
47062 const-string v14, "Unable to find app for caller "
47064 invoke-virtual {v13, v14}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
47066 move-result-object v13
47068 move-object/from16 v0, p1
47070 invoke-virtual {v13, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
47072 move-result-object v13
47074 const-string v14, " (pid="
47076 invoke-virtual {v13, v14}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
47078 move-result-object v13
47080 invoke-static {}, Landroid/os/Binder;->getCallingPid()I
47084 invoke-virtual {v13, v14}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
47086 move-result-object v13
47088 const-string v14, ") when publishing content providers"
47090 invoke-virtual {v13, v14}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
47092 move-result-object v13
47094 invoke-virtual {v13}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
47096 move-result-object v13
47098 invoke-direct {v12, v13}, Ljava/lang/SecurityException;-><init>(Ljava/lang/String;)V
47107 .catchall {:try_start_9 .. :try_end_40} :catchall_3e
47113 invoke-static {}, Landroid/os/Binder;->clearCallingIdentity()J
47115 move-result-wide v8
47117 invoke-interface/range {p2 .. p2}, Ljava/util/List;->size()I
47124 if-ge v5, v1, :cond_c8
47126 move-object/from16 v0, p2
47128 invoke-interface {v0, v5}, Ljava/util/List;->get(I)Ljava/lang/Object;
47130 move-result-object v11
47132 check-cast v11, Landroid/app/IActivityManager$ContentProviderHolder;
47134 if-eqz v11, :cond_5e
47136 iget-object v12, v11, Landroid/app/IActivityManager$ContentProviderHolder;->info:Landroid/content/pm/ProviderInfo;
47138 if-eqz v12, :cond_5e
47140 iget-object v12, v11, Landroid/app/IActivityManager$ContentProviderHolder;->provider:Landroid/content/IContentProvider;
47142 if-nez v12, :cond_61
47146 add-int/lit8 v5, v5, 0x1
47151 iget-object v12, v10, Lcom/android/server/am/ProcessRecord;->pubProviders:Ljava/util/HashMap;
47153 iget-object v13, v11, Landroid/app/IActivityManager$ContentProviderHolder;->info:Landroid/content/pm/ProviderInfo;
47155 iget-object v13, v13, Landroid/content/pm/ProviderInfo;->name:Ljava/lang/String;
47157 invoke-virtual {v12, v13}, Ljava/util/HashMap;->get(Ljava/lang/Object;)Ljava/lang/Object;
47159 move-result-object v4
47161 check-cast v4, Lcom/android/server/am/ContentProviderRecord;
47163 if-eqz v4, :cond_5e
47165 new-instance v3, Landroid/content/ComponentName;
47167 iget-object v12, v4, Lcom/android/server/am/ContentProviderRecord;->info:Landroid/content/pm/ProviderInfo;
47169 iget-object v12, v12, Landroid/content/pm/ProviderInfo;->packageName:Ljava/lang/String;
47171 iget-object v13, v4, Lcom/android/server/am/ContentProviderRecord;->info:Landroid/content/pm/ProviderInfo;
47173 iget-object v13, v13, Landroid/content/pm/ProviderInfo;->name:Ljava/lang/String;
47175 invoke-direct {v3, v12, v13}, Landroid/content/ComponentName;-><init>(Ljava/lang/String;Ljava/lang/String;)V
47177 iget-object v12, p0, Lcom/android/server/am/ActivityManagerService;->mProviderMap:Lcom/android/server/am/ProviderMap;
47179 invoke-virtual {v12, v3, v4}, Lcom/android/server/am/ProviderMap;->putProviderByClass(Landroid/content/ComponentName;Lcom/android/server/am/ContentProviderRecord;)V
47181 iget-object v12, v4, Lcom/android/server/am/ContentProviderRecord;->info:Landroid/content/pm/ProviderInfo;
47183 iget-object v12, v12, Landroid/content/pm/ProviderInfo;->authority:Ljava/lang/String;
47185 const-string v13, ";"
47187 invoke-virtual {v12, v13}, Ljava/lang/String;->split(Ljava/lang/String;)[Ljava/lang/String;
47189 move-result-object v7
47194 array-length v12, v7
47196 if-ge v6, v12, :cond_99
47198 iget-object v12, p0, Lcom/android/server/am/ActivityManagerService;->mProviderMap:Lcom/android/server/am/ProviderMap;
47200 aget-object v13, v7, v6
47202 invoke-virtual {v12, v13, v4}, Lcom/android/server/am/ProviderMap;->putProviderByName(Ljava/lang/String;Lcom/android/server/am/ContentProviderRecord;)V
47204 add-int/lit8 v6, v6, 0x1
47209 iget-object v12, p0, Lcom/android/server/am/ActivityManagerService;->mLaunchingProviders:Ljava/util/ArrayList;
47211 invoke-virtual {v12}, Ljava/util/ArrayList;->size()I
47218 if-ge v6, v2, :cond_b6
47220 iget-object v12, p0, Lcom/android/server/am/ActivityManagerService;->mLaunchingProviders:Ljava/util/ArrayList;
47222 invoke-virtual {v12, v6}, Ljava/util/ArrayList;->get(I)Ljava/lang/Object;
47224 move-result-object v12
47226 if-ne v12, v4, :cond_b3
47228 iget-object v12, p0, Lcom/android/server/am/ActivityManagerService;->mLaunchingProviders:Ljava/util/ArrayList;
47230 invoke-virtual {v12, v6}, Ljava/util/ArrayList;->remove(I)Ljava/lang/Object;
47232 add-int/lit8 v6, v6, -0x1
47234 add-int/lit8 v2, v2, -0x1
47237 add-int/lit8 v6, v6, 0x1
47244 .catchall {:try_start_41 .. :try_end_b7} :catchall_3e
47247 iget-object v12, v11, Landroid/app/IActivityManager$ContentProviderHolder;->provider:Landroid/content/IContentProvider;
47249 iput-object v12, v4, Lcom/android/server/am/ContentProviderRecord;->provider:Landroid/content/IContentProvider;
47251 iput-object v10, v4, Lcom/android/server/am/ContentProviderRecord;->proc:Lcom/android/server/am/ProcessRecord;
47253 invoke-virtual {v4}, Ljava/lang/Object;->notifyAll()V
47257 .catchall {:try_start_b7 .. :try_end_c1} :catchall_c5
47260 invoke-virtual {p0, v10}, Lcom/android/server/am/ActivityManagerService;->updateOomAdjLocked(Lcom/android/server/am/ProcessRecord;)Z
47262 .catchall {:try_start_c1 .. :try_end_c4} :catchall_3e
47272 .catchall {:try_start_c6 .. :try_end_c7} :catchall_c5
47278 invoke-static {v8, v9}, Landroid/os/Binder;->restoreCallingIdentity(J)V
47282 .catchall {:try_start_c7 .. :try_end_cc} :catchall_3e
47287 .method public publishService(Landroid/os/IBinder;Landroid/content/Intent;Landroid/os/IBinder;)V
47290 if-eqz p2, :cond_11
47292 invoke-virtual {p2}, Landroid/content/Intent;->hasFileDescriptors()Z
47298 if-ne v0, v1, :cond_11
47300 new-instance v0, Ljava/lang/IllegalArgumentException;
47302 const-string v1, "File descriptors passed in Intent"
47304 invoke-direct {v0, v1}, Ljava/lang/IllegalArgumentException;-><init>(Ljava/lang/String;)V
47312 instance-of v0, p1, Lcom/android/server/am/ServiceRecord;
47314 if-nez v0, :cond_21
47316 new-instance v0, Ljava/lang/IllegalArgumentException;
47318 const-string v1, "Invalid service token"
47320 invoke-direct {v0, v1}, Ljava/lang/IllegalArgumentException;-><init>(Ljava/lang/String;)V
47329 .catchall {:try_start_12 .. :try_end_20} :catchall_1e
47335 iget-object v0, p0, Lcom/android/server/am/ActivityManagerService;->mServices:Lcom/android/server/am/ActiveServices;
47337 check-cast p1, Lcom/android/server/am/ServiceRecord;
47339 invoke-virtual {v0, p1, p2, p3}, Lcom/android/server/am/ActiveServices;->publishServiceLocked(Lcom/android/server/am/ServiceRecord;Landroid/content/Intent;Landroid/os/IBinder;)V
47343 .catchall {:try_start_21 .. :try_end_29} :catchall_1e
47348 .method public refContentProvider(Landroid/os/IBinder;II)Z
47354 check-cast v0, Lcom/android/server/am/ContentProviderConnection;
47358 .catch Ljava/lang/ClassCastException; {:try_start_0 .. :try_end_4} :catch_e
47360 if-nez v1, :cond_33
47362 new-instance v4, Ljava/lang/NullPointerException;
47364 const-string v5, "connection is null"
47366 invoke-direct {v4, v5}, Ljava/lang/NullPointerException;-><init>(Ljava/lang/String;)V
47373 new-instance v4, Ljava/lang/StringBuilder;
47375 invoke-direct {v4}, Ljava/lang/StringBuilder;-><init>()V
47377 const-string v5, "refContentProvider: "
47379 invoke-virtual {v4, v5}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
47381 move-result-object v4
47383 invoke-virtual {v4, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
47385 move-result-object v4
47387 const-string v5, " not a ContentProviderConnection"
47389 invoke-virtual {v4, v5}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
47391 move-result-object v4
47393 invoke-virtual {v4}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
47395 move-result-object v3
47397 const-string v4, "ActivityManager"
47399 invoke-static {v4, v3}, Landroid/util/Slog;->w(Ljava/lang/String;Ljava/lang/String;)I
47401 new-instance v4, Ljava/lang/IllegalArgumentException;
47403 invoke-direct {v4, v3}, Ljava/lang/IllegalArgumentException;-><init>(Ljava/lang/String;)V
47410 if-lez p2, :cond_3b
47413 iget v4, v1, Lcom/android/server/am/ContentProviderConnection;->numStableIncs:I
47415 add-int/2addr v4, p2
47417 iput v4, v1, Lcom/android/server/am/ContentProviderConnection;->numStableIncs:I
47420 iget v4, v1, Lcom/android/server/am/ContentProviderConnection;->stableCount:I
47422 add-int/2addr p2, v4
47424 if-gez p2, :cond_5c
47426 new-instance v4, Ljava/lang/IllegalStateException;
47428 new-instance v5, Ljava/lang/StringBuilder;
47430 invoke-direct {v5}, Ljava/lang/StringBuilder;-><init>()V
47432 const-string v6, "stableCount < 0: "
47434 invoke-virtual {v5, v6}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
47436 move-result-object v5
47438 invoke-virtual {v5, p2}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
47440 move-result-object v5
47442 invoke-virtual {v5}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
47444 move-result-object v5
47446 invoke-direct {v4, v5}, Ljava/lang/IllegalStateException;-><init>(Ljava/lang/String;)V
47455 .catchall {:try_start_36 .. :try_end_5b} :catchall_59
47460 if-lez p3, :cond_63
47463 iget v4, v1, Lcom/android/server/am/ContentProviderConnection;->numUnstableIncs:I
47465 add-int/2addr v4, p3
47467 iput v4, v1, Lcom/android/server/am/ContentProviderConnection;->numUnstableIncs:I
47470 iget v4, v1, Lcom/android/server/am/ContentProviderConnection;->unstableCount:I
47472 add-int/2addr p3, v4
47474 if-gez p3, :cond_81
47476 new-instance v4, Ljava/lang/IllegalStateException;
47478 new-instance v5, Ljava/lang/StringBuilder;
47480 invoke-direct {v5}, Ljava/lang/StringBuilder;-><init>()V
47482 const-string v6, "unstableCount < 0: "
47484 invoke-virtual {v5, v6}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
47486 move-result-object v5
47488 invoke-virtual {v5, p3}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
47490 move-result-object v5
47492 invoke-virtual {v5}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
47494 move-result-object v5
47496 invoke-direct {v4, v5}, Ljava/lang/IllegalStateException;-><init>(Ljava/lang/String;)V
47503 if-gtz v4, :cond_a8
47505 new-instance v4, Ljava/lang/IllegalStateException;
47507 new-instance v5, Ljava/lang/StringBuilder;
47509 invoke-direct {v5}, Ljava/lang/StringBuilder;-><init>()V
47511 const-string v6, "ref counts can\'t go to zero here: stable="
47513 invoke-virtual {v5, v6}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
47515 move-result-object v5
47517 invoke-virtual {v5, p2}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
47519 move-result-object v5
47521 const-string v6, " unstable="
47523 invoke-virtual {v5, v6}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
47525 move-result-object v5
47527 invoke-virtual {v5, p3}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
47529 move-result-object v5
47531 invoke-virtual {v5}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
47533 move-result-object v5
47535 invoke-direct {v4, v5}, Ljava/lang/IllegalStateException;-><init>(Ljava/lang/String;)V
47540 iput p2, v1, Lcom/android/server/am/ContentProviderConnection;->stableCount:I
47542 iput p3, v1, Lcom/android/server/am/ContentProviderConnection;->unstableCount:I
47544 iget-boolean v4, v1, Lcom/android/server/am/ContentProviderConnection;->dead:Z
47546 if-nez v4, :cond_b3
47553 .catchall {:try_start_5e .. :try_end_b2} :catchall_59
47563 .method public registerProcessObserver(Landroid/app/IProcessObserver;)V
47566 const-string v0, "android.permission.SET_ACTIVITY_WATCHER"
47568 const-string v1, "registerProcessObserver()"
47570 invoke-virtual {p0, v0, v1}, Lcom/android/server/am/ActivityManagerService;->enforceCallingPermission(Ljava/lang/String;Ljava/lang/String;)V
47575 iget-object v0, p0, Lcom/android/server/am/ActivityManagerService;->mProcessObservers:Landroid/os/RemoteCallbackList;
47577 invoke-virtual {v0, p1}, Landroid/os/RemoteCallbackList;->register(Landroid/os/IInterface;)Z
47588 .catchall {:try_start_8 .. :try_end_11} :catchall_f
47593 .method public registerReceiver(Landroid/app/IApplicationThread;Ljava/lang/String;Landroid/content/IIntentReceiver;Landroid/content/IntentFilter;Ljava/lang/String;I)Landroid/content/Intent;
47596 const-string v4, "registerReceiver"
47598 move-object/from16 v0, p0
47600 invoke-virtual {v0, v4}, Lcom/android/server/am/ActivityManagerService;->enforceNotIsolatedCaller(Ljava/lang/String;)V
47606 if-eqz p1, :cond_d1
47609 invoke-virtual/range {p0 .. p1}, Lcom/android/server/am/ActivityManagerService;->getRecordForAppLocked(Landroid/app/IApplicationThread;)Lcom/android/server/am/ProcessRecord;
47611 move-result-object v30
47613 if-nez v30, :cond_4a
47615 new-instance v4, Ljava/lang/SecurityException;
47617 new-instance v12, Ljava/lang/StringBuilder;
47619 invoke-direct {v12}, Ljava/lang/StringBuilder;-><init>()V
47621 const-string v13, "Unable to find app for caller "
47623 invoke-virtual {v12, v13}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
47625 move-result-object v12
47627 move-object/from16 v0, p1
47629 invoke-virtual {v12, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
47631 move-result-object v12
47633 const-string v13, " (pid="
47635 invoke-virtual {v12, v13}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
47637 move-result-object v12
47639 invoke-static {}, Landroid/os/Binder;->getCallingPid()I
47643 invoke-virtual {v12, v13}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
47645 move-result-object v12
47647 const-string v13, ") when registering receiver "
47649 invoke-virtual {v12, v13}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
47651 move-result-object v12
47653 move-object/from16 v0, p3
47655 invoke-virtual {v12, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
47657 move-result-object v12
47659 invoke-virtual {v12}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
47661 move-result-object v12
47663 invoke-direct {v4, v12}, Ljava/lang/SecurityException;-><init>(Ljava/lang/String;)V
47672 .catchall {:try_start_c .. :try_end_49} :catchall_47
47678 move-object/from16 v0, v30
47680 iget-object v4, v0, Lcom/android/server/am/ProcessRecord;->info:Landroid/content/pm/ApplicationInfo;
47682 iget v4, v4, Landroid/content/pm/ApplicationInfo;->uid:I
47684 const/16 v12, 0x3e8
47686 if-eq v4, v12, :cond_87
47688 move-object/from16 v0, v30
47690 iget-object v4, v0, Lcom/android/server/am/ProcessRecord;->pkgList:Ljava/util/HashSet;
47692 move-object/from16 v0, p2
47694 invoke-virtual {v4, v0}, Ljava/util/HashSet;->contains(Ljava/lang/Object;)Z
47698 if-nez v4, :cond_87
47700 new-instance v4, Ljava/lang/SecurityException;
47702 new-instance v12, Ljava/lang/StringBuilder;
47704 invoke-direct {v12}, Ljava/lang/StringBuilder;-><init>()V
47706 const-string v13, "Given caller package "
47708 invoke-virtual {v12, v13}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
47710 move-result-object v12
47712 move-object/from16 v0, p2
47714 invoke-virtual {v12, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
47716 move-result-object v12
47718 const-string v13, " is not running in process "
47720 invoke-virtual {v12, v13}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
47722 move-result-object v12
47724 move-object/from16 v0, v30
47726 invoke-virtual {v12, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
47728 move-result-object v12
47730 invoke-virtual {v12}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
47732 move-result-object v12
47734 invoke-direct {v4, v12}, Ljava/lang/SecurityException;-><init>(Ljava/lang/String;)V
47739 move-object/from16 v0, v30
47741 iget-object v4, v0, Lcom/android/server/am/ProcessRecord;->info:Landroid/content/pm/ApplicationInfo;
47743 iget v6, v4, Landroid/content/pm/ApplicationInfo;->uid:I
47745 move-object/from16 v0, v30
47747 iget v5, v0, Lcom/android/server/am/ProcessRecord;->pid:I
47754 const-string v10, "registerReceiver"
47756 move-object/from16 v4, p0
47760 move-object/from16 v11, p2
47762 invoke-virtual/range {v4 .. v11}, Lcom/android/server/am/ActivityManagerService;->handleIncomingUser(IIIZZLjava/lang/String;Ljava/lang/String;)I
47768 invoke-virtual/range {p4 .. p4}, Landroid/content/IntentFilter;->actionsIterator()Ljava/util/Iterator;
47770 move-result-object v28
47772 if-eqz v28, :cond_dc
47775 invoke-interface/range {v28 .. v28}, Ljava/util/Iterator;->hasNext()Z
47779 if-eqz v4, :cond_f7
47781 invoke-interface/range {v28 .. v28}, Ljava/util/Iterator;->next()Ljava/lang/Object;
47783 move-result-object v27
47785 check-cast v27, Ljava/lang/String;
47789 move-object/from16 v0, p0
47791 move-object/from16 v1, v27
47793 move-object/from16 v2, p4
47795 move-object/from16 v3, v29
47797 invoke-direct {v0, v1, v2, v3, v4}, Lcom/android/server/am/ActivityManagerService;->getStickiesLocked(Ljava/lang/String;Landroid/content/IntentFilter;Ljava/util/List;I)Ljava/util/List;
47799 move-result-object v29
47801 invoke-static {v6}, Landroid/os/UserHandle;->getUserId(I)I
47805 move-object/from16 v0, p0
47807 move-object/from16 v1, v27
47809 move-object/from16 v2, p4
47811 move-object/from16 v3, v29
47813 invoke-direct {v0, v1, v2, v3, v4}, Lcom/android/server/am/ActivityManagerService;->getStickiesLocked(Ljava/lang/String;Landroid/content/IntentFilter;Ljava/util/List;I)Ljava/util/List;
47815 move-result-object v29
47822 invoke-static {}, Landroid/os/Binder;->getCallingUid()I
47826 invoke-static {}, Landroid/os/Binder;->getCallingPid()I
47837 move-object/from16 v0, p0
47839 move-object/from16 v1, p4
47841 move-object/from16 v2, v29
47843 invoke-direct {v0, v4, v1, v2, v12}, Lcom/android/server/am/ActivityManagerService;->getStickiesLocked(Ljava/lang/String;Landroid/content/IntentFilter;Ljava/util/List;I)Ljava/util/List;
47845 move-result-object v29
47849 invoke-static {v6}, Landroid/os/UserHandle;->getUserId(I)I
47853 move-object/from16 v0, p0
47855 move-object/from16 v1, p4
47857 move-object/from16 v2, v29
47859 invoke-direct {v0, v4, v1, v2, v12}, Lcom/android/server/am/ActivityManagerService;->getStickiesLocked(Ljava/lang/String;Landroid/content/IntentFilter;Ljava/util/List;I)Ljava/util/List;
47861 move-result-object v29
47864 if-eqz v29, :cond_108
47868 move-object/from16 v0, v29
47870 invoke-interface {v0, v4}, Ljava/util/List;->get(I)Ljava/lang/Object;
47872 move-result-object v4
47874 check-cast v4, Landroid/content/Intent;
47876 move-object/from16 v33, v4
47879 if-nez p3, :cond_10b
47892 move-object/from16 v0, p0
47894 iget-object v4, v0, Lcom/android/server/am/ActivityManagerService;->mRegisteredReceivers:Ljava/util/HashMap;
47896 invoke-interface/range {p3 .. p3}, Landroid/content/IIntentReceiver;->asBinder()Landroid/os/IBinder;
47898 move-result-object v12
47900 invoke-virtual {v4, v12}, Ljava/util/HashMap;->get(Ljava/lang/Object;)Ljava/lang/Object;
47902 move-result-object v7
47904 check-cast v7, Lcom/android/server/am/ReceiverList;
47906 if-nez v7, :cond_1c3
47908 new-instance v7, Lcom/android/server/am/ReceiverList;
47910 move-object/from16 v8, p0
47912 move-object/from16 v9, v30
47918 move/from16 v12, p6
47920 move-object/from16 v13, p3
47922 invoke-direct/range {v7 .. v13}, Lcom/android/server/am/ReceiverList;-><init>(Lcom/android/server/am/ActivityManagerService;Lcom/android/server/am/ProcessRecord;IIILandroid/content/IIntentReceiver;)V
47924 iget-object v4, v7, Lcom/android/server/am/ReceiverList;->app:Lcom/android/server/am/ProcessRecord;
47926 if-eqz v4, :cond_1b2
47928 iget-object v4, v7, Lcom/android/server/am/ReceiverList;->app:Lcom/android/server/am/ProcessRecord;
47930 iget-object v4, v4, Lcom/android/server/am/ProcessRecord;->receivers:Ljava/util/HashSet;
47932 invoke-virtual {v4, v7}, Ljava/util/HashSet;->add(Ljava/lang/Object;)Z
47935 move-object/from16 v0, p0
47937 iget-object v4, v0, Lcom/android/server/am/ActivityManagerService;->mRegisteredReceivers:Ljava/util/HashMap;
47939 invoke-interface/range {p3 .. p3}, Landroid/content/IIntentReceiver;->asBinder()Landroid/os/IBinder;
47941 move-result-object v12
47943 invoke-virtual {v4, v12, v7}, Ljava/util/HashMap;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
47946 new-instance v8, Lcom/android/server/am/BroadcastFilter;
47948 move-object/from16 v9, p4
47950 move-object v10, v7
47952 move-object/from16 v11, p2
47954 move-object/from16 v12, p5
47958 move/from16 v14, p6
47960 invoke-direct/range {v8 .. v14}, Lcom/android/server/am/BroadcastFilter;-><init>(Landroid/content/IntentFilter;Lcom/android/server/am/ReceiverList;Ljava/lang/String;Ljava/lang/String;II)V
47962 invoke-virtual {v7, v8}, Lcom/android/server/am/ReceiverList;->add(Ljava/lang/Object;)Z
47964 invoke-virtual {v8}, Lcom/android/server/am/BroadcastFilter;->debugCheck()Z
47968 if-nez v4, :cond_15f
47970 const-string v4, "ActivityManager"
47972 const-string v12, "==> For Dynamic broadast"
47974 invoke-static {v4, v12}, Landroid/util/Slog;->w(Ljava/lang/String;Ljava/lang/String;)I
47977 move-object/from16 v0, p0
47979 iget-object v4, v0, Lcom/android/server/am/ActivityManagerService;->mReceiverResolver:Lcom/android/server/IntentResolver;
47981 invoke-virtual {v4, v8}, Lcom/android/server/IntentResolver;->addFilter(Landroid/content/IntentFilter;)V
47983 if-eqz v29, :cond_242
47985 new-instance v17, Ljava/util/ArrayList;
47987 invoke-direct/range {v17 .. v17}, Ljava/util/ArrayList;-><init>()V
47989 move-object/from16 v0, v17
47991 invoke-virtual {v0, v8}, Ljava/util/ArrayList;->add(Ljava/lang/Object;)Z
47993 invoke-interface/range {v29 .. v29}, Ljava/util/List;->size()I
48000 move/from16 v0, v32
48002 move/from16 v1, v26
48004 if-ge v0, v1, :cond_242
48006 move-object/from16 v0, v29
48008 move/from16 v1, v32
48010 invoke-interface {v0, v1}, Ljava/util/List;->get(I)Ljava/lang/Object;
48012 move-result-object v11
48014 check-cast v11, Landroid/content/Intent;
48016 move-object/from16 v0, p0
48018 invoke-virtual {v0, v11}, Lcom/android/server/am/ActivityManagerService;->broadcastQueueForIntent(Landroid/content/Intent;)Lcom/android/server/am/BroadcastQueue;
48020 move-result-object v10
48022 new-instance v9, Lcom/android/server/am/BroadcastRecord;
48050 invoke-direct/range {v9 .. v25}, Lcom/android/server/am/BroadcastRecord;-><init>(Lcom/android/server/am/BroadcastQueue;Landroid/content/Intent;Lcom/android/server/am/ProcessRecord;Ljava/lang/String;IILjava/lang/String;Ljava/util/List;Landroid/content/IIntentReceiver;ILjava/lang/String;Landroid/os/Bundle;ZZZI)V
48052 invoke-virtual {v10, v9}, Lcom/android/server/am/BroadcastQueue;->enqueueParallelBroadcastLocked(Lcom/android/server/am/BroadcastRecord;)V
48054 invoke-virtual {v10}, Lcom/android/server/am/BroadcastQueue;->scheduleBroadcastsLocked()V
48056 .catchall {:try_start_4a .. :try_end_1af} :catchall_47
48058 add-int/lit8 v32, v32, 0x1
48064 invoke-interface/range {p3 .. p3}, Landroid/content/IIntentReceiver;->asBinder()Landroid/os/IBinder;
48066 move-result-object v4
48070 invoke-interface {v4, v7, v12}, Landroid/os/IBinder;->linkToDeath(Landroid/os/IBinder$DeathRecipient;I)V
48072 .catchall {:try_start_1b2 .. :try_end_1ba} :catchall_47
48073 .catch Landroid/os/RemoteException; {:try_start_1b2 .. :try_end_1ba} :catch_1bf
48078 iput-boolean v4, v7, Lcom/android/server/am/ReceiverList;->linkedToDeath:Z
48090 iget v4, v7, Lcom/android/server/am/ReceiverList;->uid:I
48092 if-eq v4, v6, :cond_1ec
48094 new-instance v4, Ljava/lang/IllegalArgumentException;
48096 new-instance v12, Ljava/lang/StringBuilder;
48098 invoke-direct {v12}, Ljava/lang/StringBuilder;-><init>()V
48100 const-string v13, "Receiver requested to register for uid "
48102 invoke-virtual {v12, v13}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
48104 move-result-object v12
48106 invoke-virtual {v12, v6}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
48108 move-result-object v12
48110 const-string v13, " was previously registered for uid "
48112 invoke-virtual {v12, v13}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
48114 move-result-object v12
48116 iget v13, v7, Lcom/android/server/am/ReceiverList;->uid:I
48118 invoke-virtual {v12, v13}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
48120 move-result-object v12
48122 invoke-virtual {v12}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
48124 move-result-object v12
48126 invoke-direct {v4, v12}, Ljava/lang/IllegalArgumentException;-><init>(Ljava/lang/String;)V
48131 iget v4, v7, Lcom/android/server/am/ReceiverList;->pid:I
48133 if-eq v4, v5, :cond_215
48135 new-instance v4, Ljava/lang/IllegalArgumentException;
48137 new-instance v12, Ljava/lang/StringBuilder;
48139 invoke-direct {v12}, Ljava/lang/StringBuilder;-><init>()V
48141 const-string v13, "Receiver requested to register for pid "
48143 invoke-virtual {v12, v13}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
48145 move-result-object v12
48147 invoke-virtual {v12, v5}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
48149 move-result-object v12
48151 const-string v13, " was previously registered for pid "
48153 invoke-virtual {v12, v13}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
48155 move-result-object v12
48157 iget v13, v7, Lcom/android/server/am/ReceiverList;->pid:I
48159 invoke-virtual {v12, v13}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
48161 move-result-object v12
48163 invoke-virtual {v12}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
48165 move-result-object v12
48167 invoke-direct {v4, v12}, Ljava/lang/IllegalArgumentException;-><init>(Ljava/lang/String;)V
48172 iget v4, v7, Lcom/android/server/am/ReceiverList;->userId:I
48176 if-eq v4, v0, :cond_140
48178 new-instance v4, Ljava/lang/IllegalArgumentException;
48180 new-instance v12, Ljava/lang/StringBuilder;
48182 invoke-direct {v12}, Ljava/lang/StringBuilder;-><init>()V
48184 const-string v13, "Receiver requested to register for user "
48186 invoke-virtual {v12, v13}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
48188 move-result-object v12
48192 invoke-virtual {v12, v0}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
48194 move-result-object v12
48196 const-string v13, " was previously registered for user "
48198 invoke-virtual {v12, v13}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
48200 move-result-object v12
48202 iget v13, v7, Lcom/android/server/am/ReceiverList;->userId:I
48204 invoke-virtual {v12, v13}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
48206 move-result-object v12
48208 invoke-virtual {v12}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
48210 move-result-object v12
48212 invoke-direct {v4, v12}, Ljava/lang/IllegalArgumentException;-><init>(Ljava/lang/String;)V
48219 .catchall {:try_start_1bb .. :try_end_243} :catchall_47
48224 .method public registerUserSwitchObserver(Landroid/app/IUserSwitchObserver;)V
48227 const-string v1, "android.permission.INTERACT_ACROSS_USERS_FULL"
48229 invoke-virtual {p0, v1}, Lcom/android/server/am/ActivityManagerService;->checkCallingPermission(Ljava/lang/String;)I
48233 if-eqz v1, :cond_44
48235 new-instance v1, Ljava/lang/StringBuilder;
48237 invoke-direct {v1}, Ljava/lang/StringBuilder;-><init>()V
48239 const-string v2, "Permission Denial: registerUserSwitchObserver() from pid="
48241 invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
48243 move-result-object v1
48245 invoke-static {}, Landroid/os/Binder;->getCallingPid()I
48249 invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
48251 move-result-object v1
48253 const-string v2, ", uid="
48255 invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
48257 move-result-object v1
48259 invoke-static {}, Landroid/os/Binder;->getCallingUid()I
48263 invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
48265 move-result-object v1
48267 const-string v2, " requires "
48269 invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
48271 move-result-object v1
48273 const-string v2, "android.permission.INTERACT_ACROSS_USERS_FULL"
48275 invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
48277 move-result-object v1
48279 invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
48281 move-result-object v0
48283 const-string v1, "ActivityManager"
48285 invoke-static {v1, v0}, Landroid/util/Slog;->w(Ljava/lang/String;Ljava/lang/String;)I
48287 new-instance v1, Ljava/lang/SecurityException;
48289 invoke-direct {v1, v0}, Ljava/lang/SecurityException;-><init>(Ljava/lang/String;)V
48294 iget-object v1, p0, Lcom/android/server/am/ActivityManagerService;->mUserSwitchObservers:Landroid/os/RemoteCallbackList;
48296 invoke-virtual {v1, p1}, Landroid/os/RemoteCallbackList;->register(Landroid/os/IInterface;)Z
48301 .method public removeContentProvider(Landroid/os/IBinder;Z)V
48304 const-string v4, "removeContentProvider"
48306 invoke-virtual {p0, v4}, Lcom/android/server/am/ActivityManagerService;->enforceNotIsolatedCaller(Ljava/lang/String;)V
48313 check-cast v0, Lcom/android/server/am/ContentProviderConnection;
48317 .catchall {:try_start_6 .. :try_end_a} :catchall_14
48318 .catch Ljava/lang/ClassCastException; {:try_start_6 .. :try_end_a} :catch_17
48320 if-nez v1, :cond_3c
48323 new-instance v4, Ljava/lang/NullPointerException;
48325 const-string v5, "connection is null"
48327 invoke-direct {v4, v5}, Ljava/lang/NullPointerException;-><init>(Ljava/lang/String;)V
48336 .catchall {:try_start_c .. :try_end_16} :catchall_14
48344 new-instance v4, Ljava/lang/StringBuilder;
48346 invoke-direct {v4}, Ljava/lang/StringBuilder;-><init>()V
48348 const-string v5, "removeContentProvider: "
48350 invoke-virtual {v4, v5}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
48352 move-result-object v4
48354 invoke-virtual {v4, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
48356 move-result-object v4
48358 const-string v5, " not a ContentProviderConnection"
48360 invoke-virtual {v4, v5}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
48362 move-result-object v4
48364 invoke-virtual {v4}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
48366 move-result-object v3
48368 const-string v4, "ActivityManager"
48370 invoke-static {v4, v3}, Landroid/util/Slog;->w(Ljava/lang/String;Ljava/lang/String;)I
48372 new-instance v4, Ljava/lang/IllegalArgumentException;
48374 invoke-direct {v4, v3}, Ljava/lang/IllegalArgumentException;-><init>(Ljava/lang/String;)V
48383 invoke-virtual {p0, v1, v4, v5, p2}, Lcom/android/server/am/ActivityManagerService;->decProviderCountLocked(Lcom/android/server/am/ContentProviderConnection;Lcom/android/server/am/ContentProviderRecord;Landroid/os/IBinder;Z)Z
48387 if-eqz v4, :cond_47
48389 invoke-virtual {p0}, Lcom/android/server/am/ActivityManagerService;->updateOomAdjLocked()V
48394 .catchall {:try_start_18 .. :try_end_48} :catchall_14
48399 .method public removeContentProviderExternal(Ljava/lang/String;Landroid/os/IBinder;)V
48402 const-string v0, "android.permission.ACCESS_CONTENT_PROVIDERS_EXTERNALLY"
48404 const-string v1, "Do not have permission in call removeContentProviderExternal()"
48406 invoke-virtual {p0, v0, v1}, Lcom/android/server/am/ActivityManagerService;->enforceCallingPermission(Ljava/lang/String;Ljava/lang/String;)V
48408 invoke-static {}, Landroid/os/UserHandle;->getCallingUserId()I
48412 invoke-direct {p0, p1, p2, v0}, Lcom/android/server/am/ActivityManagerService;->removeContentProviderExternalUnchecked(Ljava/lang/String;Landroid/os/IBinder;I)V
48417 .method removeReceiverLocked(Lcom/android/server/am/ReceiverList;)V
48420 iget-object v2, p0, Lcom/android/server/am/ActivityManagerService;->mRegisteredReceivers:Ljava/util/HashMap;
48422 iget-object v3, p1, Lcom/android/server/am/ReceiverList;->receiver:Landroid/content/IIntentReceiver;
48424 invoke-interface {v3}, Landroid/content/IIntentReceiver;->asBinder()Landroid/os/IBinder;
48426 move-result-object v3
48428 invoke-virtual {v2, v3}, Ljava/util/HashMap;->remove(Ljava/lang/Object;)Ljava/lang/Object;
48430 invoke-virtual {p1}, Lcom/android/server/am/ReceiverList;->size()I
48437 if-ge v1, v0, :cond_20
48439 iget-object v3, p0, Lcom/android/server/am/ActivityManagerService;->mReceiverResolver:Lcom/android/server/IntentResolver;
48441 invoke-virtual {p1, v1}, Lcom/android/server/am/ReceiverList;->get(I)Ljava/lang/Object;
48443 move-result-object v2
48445 check-cast v2, Landroid/content/IntentFilter;
48447 invoke-virtual {v3, v2}, Lcom/android/server/IntentResolver;->removeFilter(Landroid/content/IntentFilter;)V
48449 add-int/lit8 v1, v1, 0x1
48457 .method public removeSubTask(II)Z
48465 const-string v3, "android.permission.REMOVE_TASKS"
48467 const-string v4, "removeSubTask()"
48469 invoke-virtual {p0, v3, v4}, Lcom/android/server/am/ActivityManagerService;->enforceCallingPermission(Ljava/lang/String;Ljava/lang/String;)V
48471 invoke-static {}, Landroid/os/Binder;->clearCallingIdentity()J
48473 .catchall {:try_start_2 .. :try_end_c} :catchall_22
48475 move-result-wide v0
48478 iget-object v3, p0, Lcom/android/server/am/ActivityManagerService;->mMainStack:Lcom/android/server/am/ActivityStack;
48482 invoke-virtual {v3, p1, p2, v4}, Lcom/android/server/am/ActivityStack;->removeTaskActivitiesLocked(IIZ)Lcom/android/server/am/ActivityRecord;
48484 .catchall {:try_start_d .. :try_end_13} :catchall_1d
48486 move-result-object v3
48488 if-eqz v3, :cond_1b
48492 invoke-static {v0, v1}, Landroid/os/Binder;->restoreCallingIdentity(J)V
48506 invoke-static {v0, v1}, Landroid/os/Binder;->restoreCallingIdentity(J)V
48515 .catchall {:try_start_16 .. :try_end_24} :catchall_22
48520 .method public removeTask(II)Z
48530 const-string v8, "android.permission.REMOVE_TASKS"
48532 const-string v9, "removeTask()"
48534 invoke-virtual {p0, v8, v9}, Lcom/android/server/am/ActivityManagerService;->enforceCallingPermission(Ljava/lang/String;Ljava/lang/String;)V
48536 invoke-static {}, Landroid/os/Binder;->clearCallingIdentity()J
48538 .catchall {:try_start_3 .. :try_end_d} :catchall_53
48540 move-result-wide v1
48543 iget-object v8, p0, Lcom/android/server/am/ActivityManagerService;->mMainStack:Lcom/android/server/am/ActivityStack;
48549 invoke-virtual {v8, p1, v9, v10}, Lcom/android/server/am/ActivityStack;->removeTaskActivitiesLocked(IIZ)Lcom/android/server/am/ActivityRecord;
48551 move-result-object v3
48553 if-eqz v3, :cond_29
48555 iget-object v7, p0, Lcom/android/server/am/ActivityManagerService;->mRecentTasks:Ljava/util/ArrayList;
48557 iget-object v8, v3, Lcom/android/server/am/ActivityRecord;->task:Lcom/android/server/am/TaskRecord;
48559 invoke-virtual {v7, v8}, Ljava/util/ArrayList;->remove(Ljava/lang/Object;)Z
48561 iget-object v7, v3, Lcom/android/server/am/ActivityRecord;->task:Lcom/android/server/am/TaskRecord;
48563 invoke-direct {p0, v7, p2}, Lcom/android/server/am/ActivityManagerService;->cleanUpRemovedTaskLocked(Lcom/android/server/am/TaskRecord;I)V
48565 .catchall {:try_start_e .. :try_end_24} :catchall_93
48568 invoke-static {v1, v2}, Landroid/os/Binder;->restoreCallingIdentity(J)V
48572 .catchall {:try_start_24 .. :try_end_28} :catchall_53
48584 iget-object v8, p0, Lcom/android/server/am/ActivityManagerService;->mRecentTasks:Ljava/util/ArrayList;
48586 invoke-virtual {v8}, Ljava/util/ArrayList;->size()I
48590 if-ge v0, v8, :cond_40
48592 iget-object v8, p0, Lcom/android/server/am/ActivityManagerService;->mRecentTasks:Ljava/util/ArrayList;
48594 invoke-virtual {v8, v0}, Ljava/util/ArrayList;->get(I)Ljava/lang/Object;
48596 move-result-object v4
48598 check-cast v4, Lcom/android/server/am/TaskRecord;
48600 iget v8, v4, Lcom/android/server/am/TaskRecord;->taskId:I
48602 if-ne v8, p1, :cond_56
48607 if-eqz v5, :cond_8d
48609 iget v8, v5, Lcom/android/server/am/TaskRecord;->numActivities:I
48611 if-gtz v8, :cond_59
48613 iget-object v7, p0, Lcom/android/server/am/ActivityManagerService;->mRecentTasks:Ljava/util/ArrayList;
48615 invoke-virtual {v7, v0}, Ljava/util/ArrayList;->remove(I)Ljava/lang/Object;
48617 invoke-direct {p0, v5, p2}, Lcom/android/server/am/ActivityManagerService;->cleanUpRemovedTaskLocked(Lcom/android/server/am/TaskRecord;I)V
48619 .catchall {:try_start_2b .. :try_end_4e} :catchall_93
48622 invoke-static {v1, v2}, Landroid/os/Binder;->restoreCallingIdentity(J)V
48633 .catchall {:try_start_4e .. :try_end_55} :catchall_53
48638 add-int/lit8 v0, v0, 0x1
48644 const-string v6, "ActivityManager"
48646 new-instance v8, Ljava/lang/StringBuilder;
48648 invoke-direct {v8}, Ljava/lang/StringBuilder;-><init>()V
48650 const-string v9, "removeTask: task "
48652 invoke-virtual {v8, v9}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
48654 move-result-object v8
48656 invoke-virtual {v8, p1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
48658 move-result-object v8
48660 const-string v9, " does not have activities to remove, "
48662 invoke-virtual {v8, v9}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
48664 move-result-object v8
48666 const-string v9, " but numActivities="
48668 invoke-virtual {v8, v9}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
48670 move-result-object v8
48672 iget v9, v5, Lcom/android/server/am/TaskRecord;->numActivities:I
48674 invoke-virtual {v8, v9}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
48676 move-result-object v8
48678 const-string v9, ": "
48680 invoke-virtual {v8, v9}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
48682 move-result-object v8
48684 invoke-virtual {v8, v5}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
48686 move-result-object v8
48688 invoke-virtual {v8}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
48690 move-result-object v8
48692 invoke-static {v6, v8}, Landroid/util/Slog;->w(Ljava/lang/String;Ljava/lang/String;)I
48694 .catchall {:try_start_59 .. :try_end_8d} :catchall_93
48698 invoke-static {v1, v2}, Landroid/os/Binder;->restoreCallingIdentity(J)V
48709 invoke-static {v1, v2}, Landroid/os/Binder;->restoreCallingIdentity(J)V
48713 .catchall {:try_start_8d .. :try_end_98} :catchall_53
48716 .method removeUriPermissionIfNeededLocked(Lcom/android/server/am/UriPermission;)V
48719 iget v1, p1, Lcom/android/server/am/UriPermission;->modeFlags:I
48721 and-int/lit8 v1, v1, 0x3
48723 if-nez v1, :cond_24
48725 iget-object v1, p0, Lcom/android/server/am/ActivityManagerService;->mGrantedUriPermissions:Landroid/util/SparseArray;
48727 iget v2, p1, Lcom/android/server/am/UriPermission;->uid:I
48729 invoke-virtual {v1, v2}, Landroid/util/SparseArray;->get(I)Ljava/lang/Object;
48731 move-result-object v0
48733 check-cast v0, Ljava/util/HashMap;
48735 if-eqz v0, :cond_24
48737 iget-object v1, p1, Lcom/android/server/am/UriPermission;->uri:Landroid/net/Uri;
48739 invoke-virtual {v0, v1}, Ljava/util/HashMap;->remove(Ljava/lang/Object;)Ljava/lang/Object;
48741 invoke-virtual {v0}, Ljava/util/HashMap;->size()I
48745 if-nez v1, :cond_24
48747 iget-object v1, p0, Lcom/android/server/am/ActivityManagerService;->mGrantedUriPermissions:Landroid/util/SparseArray;
48749 iget v2, p1, Lcom/android/server/am/UriPermission;->uid:I
48751 invoke-virtual {v1, v2}, Landroid/util/SparseArray;->remove(I)V
48757 .method reportResumedActivityLocked(Lcom/android/server/am/ActivityRecord;)V
48762 invoke-virtual {p0, p1, v0}, Lcom/android/server/am/ActivityManagerService;->updateUsageStats(Lcom/android/server/am/ActivityRecord;Z)V
48767 .method public reportThumbnail(Landroid/os/IBinder;Landroid/graphics/Bitmap;Ljava/lang/CharSequence;)V
48770 invoke-static {}, Landroid/os/Binder;->clearCallingIdentity()J
48772 move-result-wide v6
48786 invoke-virtual/range {v0 .. v5}, Lcom/android/server/am/ActivityManagerService;->sendPendingThumbnail(Lcom/android/server/am/ActivityRecord;Landroid/os/IBinder;Landroid/graphics/Bitmap;Ljava/lang/CharSequence;Z)V
48788 invoke-static {v6, v7}, Landroid/os/Binder;->restoreCallingIdentity(J)V
48793 .method public requestBugReport()V
48796 const-string v0, "ctl.start"
48798 const-string v1, "bugreport"
48800 invoke-static {v0, v1}, Landroid/os/SystemProperties;->set(Ljava/lang/String;Ljava/lang/String;)V
48805 .method public resumeAppSwitches()V
48808 const-string v0, "android.permission.STOP_APP_SWITCHES"
48810 invoke-virtual {p0, v0}, Lcom/android/server/am/ActivityManagerService;->checkCallingPermission(Ljava/lang/String;)I
48814 if-eqz v0, :cond_10
48816 new-instance v0, Ljava/lang/SecurityException;
48818 const-string v1, "Requires permission android.permission.STOP_APP_SWITCHES"
48820 invoke-direct {v0, v1}, Ljava/lang/SecurityException;-><init>(Ljava/lang/String;)V
48827 const-wide/16 v0, 0x0
48830 iput-wide v0, p0, Lcom/android/server/am/ActivityManagerService;->mAppSwitchesAllowedTime:J
48841 .catchall {:try_start_13 .. :try_end_19} :catchall_17
48846 .method public revokeUriPermission(Landroid/app/IApplicationThread;Landroid/net/Uri;I)V
48849 const-string v5, "revokeUriPermission"
48851 invoke-virtual {p0, v5}, Lcom/android/server/am/ActivityManagerService;->enforceNotIsolatedCaller(Ljava/lang/String;)V
48856 invoke-virtual {p0, p1}, Lcom/android/server/am/ActivityManagerService;->getRecordForAppLocked(Landroid/app/IApplicationThread;)Lcom/android/server/am/ProcessRecord;
48858 move-result-object v4
48860 if-nez v4, :cond_32
48862 new-instance v5, Ljava/lang/SecurityException;
48864 new-instance v6, Ljava/lang/StringBuilder;
48866 invoke-direct {v6}, Ljava/lang/StringBuilder;-><init>()V
48868 const-string v7, "Unable to find app for caller "
48870 invoke-virtual {v6, v7}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
48872 move-result-object v6
48874 invoke-virtual {v6, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
48876 move-result-object v6
48878 const-string v7, " when revoking permission to uri "
48880 invoke-virtual {v6, v7}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
48882 move-result-object v6
48884 invoke-virtual {v6, p2}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
48886 move-result-object v6
48888 invoke-virtual {v6}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
48890 move-result-object v6
48892 invoke-direct {v5, v6}, Ljava/lang/SecurityException;-><init>(Ljava/lang/String;)V
48901 .catchall {:try_start_6 .. :try_end_31} :catchall_2f
48906 if-nez p2, :cond_3d
48909 const-string v5, "ActivityManager"
48911 const-string v6, "revokeUriPermission: null uri"
48913 invoke-static {v5, v6}, Landroid/util/Slog;->w(Ljava/lang/String;Ljava/lang/String;)I
48921 and-int/lit8 p3, p3, 0x3
48923 if-nez p3, :cond_43
48930 invoke-static {}, Landroid/app/AppGlobals;->getPackageManager()Landroid/content/pm/IPackageManager;
48932 move-result-object v3
48934 invoke-virtual {p2}, Landroid/net/Uri;->getAuthority()Ljava/lang/String;
48936 move-result-object v0
48940 iget-object v5, p0, Lcom/android/server/am/ActivityManagerService;->mProviderMap:Lcom/android/server/am/ProviderMap;
48942 iget v6, v4, Lcom/android/server/am/ProcessRecord;->userId:I
48944 invoke-virtual {v5, v0, v6}, Lcom/android/server/am/ProviderMap;->getProviderByName(Ljava/lang/String;I)Lcom/android/server/am/ContentProviderRecord;
48946 move-result-object v1
48948 if-eqz v1, :cond_78
48950 iget-object v2, v1, Lcom/android/server/am/ContentProviderRecord;->info:Landroid/content/pm/ProviderInfo;
48953 if-nez v2, :cond_81
48955 const-string v5, "ActivityManager"
48957 new-instance v6, Ljava/lang/StringBuilder;
48959 invoke-direct {v6}, Ljava/lang/StringBuilder;-><init>()V
48961 const-string v7, "No content provider found for permission revoke: "
48963 invoke-virtual {v6, v7}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
48965 move-result-object v6
48967 invoke-virtual {p2}, Landroid/net/Uri;->toSafeString()Ljava/lang/String;
48969 move-result-object v7
48971 invoke-virtual {v6, v7}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
48973 move-result-object v6
48975 invoke-virtual {v6}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
48977 move-result-object v6
48979 invoke-static {v5, v6}, Landroid/util/Slog;->w(Ljava/lang/String;Ljava/lang/String;)I
48983 .catchall {:try_start_34 .. :try_end_77} :catchall_2f
48991 iget v6, v4, Lcom/android/server/am/ProcessRecord;->userId:I
48993 invoke-interface {v3, v0, v5, v6}, Landroid/content/pm/IPackageManager;->resolveContentProvider(Ljava/lang/String;II)Landroid/content/pm/ProviderInfo;
48995 .catchall {:try_start_7a .. :try_end_7f} :catchall_2f
48996 .catch Landroid/os/RemoteException; {:try_start_7a .. :try_end_7f} :catch_88
48998 move-result-object v2
49004 iget v5, v4, Lcom/android/server/am/ProcessRecord;->uid:I
49006 invoke-direct {p0, v5, p2, p3}, Lcom/android/server/am/ActivityManagerService;->revokeUriPermissionLocked(ILandroid/net/Uri;I)V
49010 .catchall {:try_start_81 .. :try_end_87} :catchall_2f
49020 .method public revokeUriPermissionFromOwner(Landroid/os/IBinder;Landroid/net/Uri;I)V
49026 invoke-static {p1}, Lcom/android/server/am/UriPermissionOwner;->fromExternalToken(Landroid/os/IBinder;)Lcom/android/server/am/UriPermissionOwner;
49028 move-result-object v0
49030 if-nez v0, :cond_23
49032 new-instance v1, Ljava/lang/IllegalArgumentException;
49034 new-instance v2, Ljava/lang/StringBuilder;
49036 invoke-direct {v2}, Ljava/lang/StringBuilder;-><init>()V
49038 const-string v3, "Unknown owner: "
49040 invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
49042 move-result-object v2
49044 invoke-virtual {v2, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
49046 move-result-object v2
49048 invoke-virtual {v2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
49050 move-result-object v2
49052 invoke-direct {v1, v2}, Ljava/lang/IllegalArgumentException;-><init>(Ljava/lang/String;)V
49061 .catchall {:try_start_1 .. :try_end_22} :catchall_20
49066 if-nez p2, :cond_2a
49069 invoke-virtual {v0, p3}, Lcom/android/server/am/UriPermissionOwner;->removeUriPermissionsLocked(I)V
49077 invoke-virtual {v0, p2, p3}, Lcom/android/server/am/UriPermissionOwner;->removeUriPermissionLocked(Landroid/net/Uri;I)V
49079 .catchall {:try_start_25 .. :try_end_2d} :catchall_20
49084 .method final scheduleAppGcLocked(Lcom/android/server/am/ProcessRecord;)V
49087 invoke-static {}, Landroid/os/SystemClock;->uptimeMillis()J
49089 move-result-wide v0
49091 iget-wide v2, p1, Lcom/android/server/am/ProcessRecord;->lastRequestedGc:J
49093 const-wide/32 v4, 0xea60
49095 add-long/2addr v2, v4
49097 cmp-long v2, v2, v0
49106 iget-object v2, p0, Lcom/android/server/am/ActivityManagerService;->mProcessesToGc:Ljava/util/ArrayList;
49108 invoke-virtual {v2, p1}, Ljava/util/ArrayList;->contains(Ljava/lang/Object;)Z
49114 invoke-virtual {p0, p1}, Lcom/android/server/am/ActivityManagerService;->addProcessToGcListLocked(Lcom/android/server/am/ProcessRecord;)V
49116 invoke-virtual {p0}, Lcom/android/server/am/ActivityManagerService;->scheduleAppGcsLocked()V
49121 .method final scheduleAppGcsLocked()V
49124 const-wide/16 v10, 0x1388
49128 iget-object v6, p0, Lcom/android/server/am/ActivityManagerService;->mHandler:Landroid/os/Handler;
49130 invoke-virtual {v6, v8}, Landroid/os/Handler;->removeMessages(I)V
49132 iget-object v6, p0, Lcom/android/server/am/ActivityManagerService;->mProcessesToGc:Ljava/util/ArrayList;
49134 invoke-virtual {v6}, Ljava/util/ArrayList;->size()I
49138 if-lez v6, :cond_37
49140 iget-object v6, p0, Lcom/android/server/am/ActivityManagerService;->mProcessesToGc:Ljava/util/ArrayList;
49144 invoke-virtual {v6, v7}, Ljava/util/ArrayList;->get(I)Ljava/lang/Object;
49146 move-result-object v3
49148 check-cast v3, Lcom/android/server/am/ProcessRecord;
49150 iget-object v6, p0, Lcom/android/server/am/ActivityManagerService;->mHandler:Landroid/os/Handler;
49152 invoke-virtual {v6, v8}, Landroid/os/Handler;->obtainMessage(I)Landroid/os/Message;
49154 move-result-object v0
49156 iget-wide v6, v3, Lcom/android/server/am/ProcessRecord;->lastRequestedGc:J
49158 const-wide/32 v8, 0xea60
49160 add-long v4, v6, v8
49162 invoke-static {}, Landroid/os/SystemClock;->uptimeMillis()J
49164 move-result-wide v1
49166 add-long v6, v1, v10
49168 cmp-long v6, v4, v6
49170 if-gez v6, :cond_32
49172 add-long v4, v1, v10
49175 iget-object v6, p0, Lcom/android/server/am/ActivityManagerService;->mHandler:Landroid/os/Handler;
49177 invoke-virtual {v6, v0, v4, v5}, Landroid/os/Handler;->sendMessageAtTime(Landroid/os/Message;J)Z
49183 .method sendContinueUserSwitchLocked(Lcom/android/server/am/UserStartedState;II)V
49188 iput-object v0, p0, Lcom/android/server/am/ActivityManagerService;->mCurUserSwitchCallback:Ljava/lang/Object;
49190 iget-object v0, p0, Lcom/android/server/am/ActivityManagerService;->mHandler:Landroid/os/Handler;
49194 invoke-virtual {v0, v1}, Landroid/os/Handler;->removeMessages(I)V
49196 iget-object v0, p0, Lcom/android/server/am/ActivityManagerService;->mHandler:Landroid/os/Handler;
49198 iget-object v1, p0, Lcom/android/server/am/ActivityManagerService;->mHandler:Landroid/os/Handler;
49202 invoke-virtual {v1, v2, p2, p3, p1}, Landroid/os/Handler;->obtainMessage(IIILjava/lang/Object;)Landroid/os/Message;
49204 move-result-object v1
49206 invoke-virtual {v0, v1}, Landroid/os/Handler;->sendMessage(Landroid/os/Message;)Z
49211 .method sendPendingBroadcastsLocked(Lcom/android/server/am/ProcessRecord;)Z
49216 iget-object v0, p0, Lcom/android/server/am/ActivityManagerService;->mBroadcastQueues:[Lcom/android/server/am/BroadcastQueue;
49218 array-length v3, v0
49223 if-ge v2, v3, :cond_11
49225 aget-object v4, v0, v2
49227 invoke-virtual {v4, p1}, Lcom/android/server/am/BroadcastQueue;->sendPendingBroadcastsLocked(Lcom/android/server/am/ProcessRecord;)Z
49231 or-int/2addr v1, v5
49233 add-int/lit8 v2, v2, 0x1
49241 .method final sendPendingThumbnail(Lcom/android/server/am/ActivityRecord;Landroid/os/IBinder;Landroid/graphics/Bitmap;Ljava/lang/CharSequence;Z)V
49253 iget-object v7, p0, Lcom/android/server/am/ActivityManagerService;->mMainStack:Lcom/android/server/am/ActivityStack;
49255 invoke-virtual {v7, p2}, Lcom/android/server/am/ActivityStack;->isInStackLocked(Landroid/os/IBinder;)Lcom/android/server/am/ActivityRecord;
49257 move-result-object p1
49267 if-nez p3, :cond_1d
49269 iget-object v7, p1, Lcom/android/server/am/ActivityRecord;->thumbHolder:Lcom/android/server/am/ThumbnailHolder;
49271 if-eqz v7, :cond_1d
49273 iget-object v7, p1, Lcom/android/server/am/ActivityRecord;->thumbHolder:Lcom/android/server/am/ThumbnailHolder;
49275 iget-object p3, v7, Lcom/android/server/am/ThumbnailHolder;->lastThumbnail:Landroid/graphics/Bitmap;
49277 iget-object v7, p1, Lcom/android/server/am/ActivityRecord;->thumbHolder:Lcom/android/server/am/ThumbnailHolder;
49279 iget-object p4, v7, Lcom/android/server/am/ThumbnailHolder;->lastDescription:Ljava/lang/CharSequence;
49282 if-nez p3, :cond_26
49284 if-nez p5, :cond_26
49296 .catchall {:try_start_5 .. :try_end_25} :catchall_23
49302 iget-object v6, p1, Lcom/android/server/am/ActivityRecord;->task:Lcom/android/server/am/TaskRecord;
49304 iget-object v7, p0, Lcom/android/server/am/ActivityManagerService;->mPendingThumbnails:Ljava/util/ArrayList;
49306 invoke-virtual {v7}, Ljava/util/ArrayList;->size()I
49308 .catchall {:try_start_26 .. :try_end_2d} :catchall_23
49317 if-ge v2, v0, :cond_65
49320 iget-object v7, p0, Lcom/android/server/am/ActivityManagerService;->mPendingThumbnails:Ljava/util/ArrayList;
49322 invoke-virtual {v7, v2}, Ljava/util/ArrayList;->get(I)Ljava/lang/Object;
49324 move-result-object v3
49326 check-cast v3, Lcom/android/server/am/PendingThumbnailsRecord;
49328 iget-object v7, v3, Lcom/android/server/am/PendingThumbnailsRecord;->pendingRecords:Ljava/util/HashSet;
49330 invoke-virtual {v7, p1}, Ljava/util/HashSet;->remove(Ljava/lang/Object;)Z
49334 if-eqz v7, :cond_60
49336 if-nez v5, :cond_9b
49338 new-instance v4, Ljava/util/ArrayList;
49340 invoke-direct {v4}, Ljava/util/ArrayList;-><init>()V
49342 .catchall {:try_start_32 .. :try_end_49} :catchall_98
49346 invoke-virtual {v4, v3}, Ljava/util/ArrayList;->add(Ljava/lang/Object;)Z
49348 iget-object v7, v3, Lcom/android/server/am/PendingThumbnailsRecord;->pendingRecords:Ljava/util/HashSet;
49350 invoke-virtual {v7}, Ljava/util/HashSet;->size()I
49354 if-nez v7, :cond_61
49358 iput-boolean v7, v3, Lcom/android/server/am/PendingThumbnailsRecord;->finished:Z
49360 iget-object v7, p0, Lcom/android/server/am/ActivityManagerService;->mPendingThumbnails:Ljava/util/ArrayList;
49362 invoke-virtual {v7, v2}, Ljava/util/ArrayList;->remove(I)Ljava/lang/Object;
49364 .catchall {:try_start_49 .. :try_end_5c} :catchall_23
49366 add-int/lit8 v0, v0, -0x1
49376 add-int/lit8 v2, v2, 0x1
49386 .catchall {:try_start_65 .. :try_end_66} :catchall_98
49388 if-eqz v5, :cond_95
49390 invoke-virtual {v5}, Ljava/util/ArrayList;->size()I
49397 if-ge v2, v0, :cond_95
49400 invoke-virtual {v5, v2}, Ljava/util/ArrayList;->get(I)Ljava/lang/Object;
49402 move-result-object v3
49404 check-cast v3, Lcom/android/server/am/PendingThumbnailsRecord;
49406 iget-object v8, v3, Lcom/android/server/am/PendingThumbnailsRecord;->receiver:Landroid/app/IThumbnailReceiver;
49408 if-eqz v6, :cond_8a
49410 iget v7, v6, Lcom/android/server/am/TaskRecord;->taskId:I
49413 invoke-interface {v8, v7, p3, p4}, Landroid/app/IThumbnailReceiver;->newThumbnail(ILandroid/graphics/Bitmap;Ljava/lang/CharSequence;)V
49415 iget-boolean v7, v3, Lcom/android/server/am/PendingThumbnailsRecord;->finished:Z
49417 if-eqz v7, :cond_87
49419 iget-object v7, v3, Lcom/android/server/am/PendingThumbnailsRecord;->receiver:Landroid/app/IThumbnailReceiver;
49421 invoke-interface {v7}, Landroid/app/IThumbnailReceiver;->finished()V
49423 .catch Ljava/lang/Exception; {:try_start_6f .. :try_end_87} :catch_8c
49427 add-int/lit8 v2, v2, 0x1
49439 const-string v7, "ActivityManager"
49441 const-string v8, "Exception thrown when sending thumbnail"
49443 invoke-static {v7, v8, v1}, Landroid/util/Slog;->w(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I
49465 .method sendUserSwitchBroadcastsLocked(II)V
49468 invoke-static {}, Landroid/os/Binder;->clearCallingIdentity()J
49470 move-result-wide v16
49472 if-ltz p1, :cond_2e
49475 new-instance v4, Landroid/content/Intent;
49477 const-string v1, "android.intent.action.USER_BACKGROUND"
49479 invoke-direct {v4, v1}, Landroid/content/Intent;-><init>(Ljava/lang/String;)V
49481 const/high16 v1, 0x5000
49483 invoke-virtual {v4, v1}, Landroid/content/Intent;->addFlags(I)Landroid/content/Intent;
49485 const-string v1, "android.intent.extra.user_handle"
49489 invoke-virtual {v4, v1, v0}, Landroid/content/Intent;->putExtra(Ljava/lang/String;I)Landroid/content/Intent;
49511 sget v13, Lcom/android/server/am/ActivityManagerService;->MY_PID:I
49513 const/16 v14, 0x3e8
49515 move-object/from16 v1, p0
49517 move/from16 v15, p1
49519 invoke-direct/range {v1 .. v15}, Lcom/android/server/am/ActivityManagerService;->broadcastIntentLocked(Lcom/android/server/am/ProcessRecord;Ljava/lang/String;Landroid/content/Intent;Ljava/lang/String;Landroid/content/IIntentReceiver;ILjava/lang/String;Landroid/os/Bundle;Ljava/lang/String;ZZIII)I
49522 if-ltz p2, :cond_80
49524 new-instance v4, Landroid/content/Intent;
49526 const-string v1, "android.intent.action.USER_FOREGROUND"
49528 invoke-direct {v4, v1}, Landroid/content/Intent;-><init>(Ljava/lang/String;)V
49530 const/high16 v1, 0x5000
49532 invoke-virtual {v4, v1}, Landroid/content/Intent;->addFlags(I)Landroid/content/Intent;
49534 const-string v1, "android.intent.extra.user_handle"
49538 invoke-virtual {v4, v1, v0}, Landroid/content/Intent;->putExtra(Ljava/lang/String;I)Landroid/content/Intent;
49560 sget v13, Lcom/android/server/am/ActivityManagerService;->MY_PID:I
49562 const/16 v14, 0x3e8
49564 move-object/from16 v1, p0
49566 move/from16 v15, p2
49568 invoke-direct/range {v1 .. v15}, Lcom/android/server/am/ActivityManagerService;->broadcastIntentLocked(Lcom/android/server/am/ProcessRecord;Ljava/lang/String;Landroid/content/Intent;Ljava/lang/String;Landroid/content/IIntentReceiver;ILjava/lang/String;Landroid/os/Bundle;Ljava/lang/String;ZZIII)I
49570 new-instance v4, Landroid/content/Intent;
49572 const-string v1, "android.intent.action.USER_SWITCHED"
49574 invoke-direct {v4, v1}, Landroid/content/Intent;-><init>(Ljava/lang/String;)V
49576 const/high16 v1, 0x5000
49578 invoke-virtual {v4, v1}, Landroid/content/Intent;->addFlags(I)Landroid/content/Intent;
49580 const-string v1, "android.intent.extra.user_handle"
49584 invoke-virtual {v4, v1, v0}, Landroid/content/Intent;->putExtra(Ljava/lang/String;I)Landroid/content/Intent;
49600 const-string v10, "android.permission.MANAGE_USERS"
49606 sget v13, Lcom/android/server/am/ActivityManagerService;->MY_PID:I
49608 const/16 v14, 0x3e8
49612 move-object/from16 v1, p0
49614 invoke-direct/range {v1 .. v15}, Lcom/android/server/am/ActivityManagerService;->broadcastIntentLocked(Lcom/android/server/am/ProcessRecord;Ljava/lang/String;Landroid/content/Intent;Ljava/lang/String;Landroid/content/IIntentReceiver;ILjava/lang/String;Landroid/os/Bundle;Ljava/lang/String;ZZIII)I
49616 .catchall {:try_start_6 .. :try_end_80} :catchall_84
49619 invoke-static/range {v16 .. v17}, Landroid/os/Binder;->restoreCallingIdentity(J)V
49626 invoke-static/range {v16 .. v17}, Landroid/os/Binder;->restoreCallingIdentity(J)V
49631 .method public serviceDoneExecuting(Landroid/os/IBinder;III)V
49637 instance-of v0, p1, Lcom/android/server/am/ServiceRecord;
49639 if-nez v0, :cond_10
49641 new-instance v0, Ljava/lang/IllegalArgumentException;
49643 const-string v1, "Invalid service token"
49645 invoke-direct {v0, v1}, Ljava/lang/IllegalArgumentException;-><init>(Ljava/lang/String;)V
49654 .catchall {:try_start_1 .. :try_end_f} :catchall_d
49660 iget-object v0, p0, Lcom/android/server/am/ActivityManagerService;->mServices:Lcom/android/server/am/ActiveServices;
49662 check-cast p1, Lcom/android/server/am/ServiceRecord;
49664 invoke-virtual {v0, p1, p2, p3, p4}, Lcom/android/server/am/ActiveServices;->serviceDoneExecutingLocked(Lcom/android/server/am/ServiceRecord;III)V
49668 .catchall {:try_start_10 .. :try_end_18} :catchall_d
49673 .method public setActivityController(Landroid/app/IActivityController;)V
49676 const-string v0, "android.permission.SET_ACTIVITY_WATCHER"
49678 const-string v1, "setActivityController()"
49680 invoke-virtual {p0, v0, v1}, Lcom/android/server/am/ActivityManagerService;->enforceCallingPermission(Ljava/lang/String;Ljava/lang/String;)V
49685 iput-object p1, p0, Lcom/android/server/am/ActivityManagerService;->mController:Landroid/app/IActivityController;
49696 .catchall {:try_start_8 .. :try_end_e} :catchall_c
49701 .method public setAlwaysFinish(Z)V
49704 const-string v0, "android.permission.SET_ALWAYS_FINISH"
49706 const-string v1, "setAlwaysFinish()"
49708 invoke-virtual {p0, v0, v1}, Lcom/android/server/am/ActivityManagerService;->enforceCallingPermission(Ljava/lang/String;Ljava/lang/String;)V
49710 iget-object v0, p0, Lcom/android/server/am/ActivityManagerService;->mContext:Landroid/content/Context;
49712 invoke-virtual {v0}, Landroid/content/Context;->getContentResolver()Landroid/content/ContentResolver;
49714 move-result-object v1
49716 const-string v2, "always_finish_activities"
49718 if-eqz p1, :cond_1a
49723 invoke-static {v1, v2, v0}, Landroid/provider/Settings$Global;->putInt(Landroid/content/ContentResolver;Ljava/lang/String;I)Z
49728 iput-boolean p1, p0, Lcom/android/server/am/ActivityManagerService;->mAlwaysFinishActivities:Z
49744 .catchall {:try_start_16 .. :try_end_1e} :catchall_1c
49749 .method public setDebugApp(Ljava/lang/String;ZZ)V
49756 const-string v0, "android.permission.SET_DEBUG_APP"
49758 const-string v3, "setDebugApp()"
49760 invoke-virtual {p0, v0, v3}, Lcom/android/server/am/ActivityManagerService;->enforceCallingPermission(Ljava/lang/String;Ljava/lang/String;)V
49762 if-eqz p3, :cond_1e
49764 iget-object v0, p0, Lcom/android/server/am/ActivityManagerService;->mContext:Landroid/content/Context;
49766 invoke-virtual {v0}, Landroid/content/Context;->getContentResolver()Landroid/content/ContentResolver;
49768 move-result-object v10
49770 const-string v0, "debug_app"
49772 invoke-static {v10, v0, p1}, Landroid/provider/Settings$Global;->putString(Landroid/content/ContentResolver;Ljava/lang/String;Ljava/lang/String;)Z
49774 const-string v3, "wait_for_debugger"
49776 if-eqz p2, :cond_47
49781 invoke-static {v10, v3, v0}, Landroid/provider/Settings$Global;->putInt(Landroid/content/ContentResolver;Ljava/lang/String;I)Z
49786 if-nez p3, :cond_29
49789 iget-object v0, p0, Lcom/android/server/am/ActivityManagerService;->mDebugApp:Ljava/lang/String;
49791 iput-object v0, p0, Lcom/android/server/am/ActivityManagerService;->mOrigDebugApp:Ljava/lang/String;
49793 iget-boolean v0, p0, Lcom/android/server/am/ActivityManagerService;->mWaitForDebugger:Z
49795 iput-boolean v0, p0, Lcom/android/server/am/ActivityManagerService;->mOrigWaitForDebugger:Z
49798 iput-object p1, p0, Lcom/android/server/am/ActivityManagerService;->mDebugApp:Ljava/lang/String;
49800 iput-boolean p2, p0, Lcom/android/server/am/ActivityManagerService;->mWaitForDebugger:Z
49802 if-nez p3, :cond_49
49805 iput-boolean v1, p0, Lcom/android/server/am/ActivityManagerService;->mDebugTransient:Z
49807 if-eqz p1, :cond_45
49809 invoke-static {}, Landroid/os/Binder;->clearCallingIdentity()J
49811 move-result-wide v8
49829 invoke-direct/range {v0 .. v7}, Lcom/android/server/am/ActivityManagerService;->forceStopPackageLocked(Ljava/lang/String;IZZZZI)Z
49831 invoke-static {v8, v9}, Landroid/os/Binder;->restoreCallingIdentity(J)V
49853 .catchall {:try_start_21 .. :try_end_4d} :catchall_4b
49858 .method final setFocusedActivityLocked(Lcom/android/server/am/ActivityRecord;)V
49861 iget-object v0, p0, Lcom/android/server/am/ActivityManagerService;->mFocusedActivity:Lcom/android/server/am/ActivityRecord;
49863 if-eq v0, p1, :cond_10
49865 iput-object p1, p0, Lcom/android/server/am/ActivityManagerService;->mFocusedActivity:Lcom/android/server/am/ActivityRecord;
49867 if-eqz p1, :cond_10
49869 iget-object v0, p0, Lcom/android/server/am/ActivityManagerService;->mWindowManager:Lcom/android/server/wm/WindowManagerService;
49871 iget-object v1, p1, Lcom/android/server/am/ActivityRecord;->appToken:Landroid/view/IApplicationToken$Stub;
49875 invoke-virtual {v0, v1, v2}, Lcom/android/server/wm/WindowManagerService;->setFocusedApp(Landroid/os/IBinder;Z)V
49881 .method public setFrontActivityScreenCompatMode(I)V
49884 const-string v0, "android.permission.SET_SCREEN_COMPATIBILITY"
49886 const-string v1, "setFrontActivityScreenCompatMode"
49888 invoke-virtual {p0, v0, v1}, Lcom/android/server/am/ActivityManagerService;->enforceCallingPermission(Ljava/lang/String;Ljava/lang/String;)V
49893 iget-object v0, p0, Lcom/android/server/am/ActivityManagerService;->mCompatModePackages:Lcom/android/server/am/CompatModePackages;
49895 invoke-virtual {v0, p1}, Lcom/android/server/am/CompatModePackages;->setFrontActivityScreenCompatModeLocked(I)V
49906 .catchall {:try_start_8 .. :try_end_11} :catchall_f
49911 .method public setImmersive(Landroid/os/IBinder;Z)V
49917 iget-object v1, p0, Lcom/android/server/am/ActivityManagerService;->mMainStack:Lcom/android/server/am/ActivityStack;
49919 invoke-virtual {v1, p1}, Lcom/android/server/am/ActivityStack;->isInStackLocked(Landroid/os/IBinder;)Lcom/android/server/am/ActivityRecord;
49921 move-result-object v0
49923 if-nez v0, :cond_12
49925 new-instance v1, Ljava/lang/IllegalArgumentException;
49927 invoke-direct {v1}, Ljava/lang/IllegalArgumentException;-><init>()V
49936 .catchall {:try_start_1 .. :try_end_11} :catchall_f
49942 iput-boolean p2, v0, Lcom/android/server/am/ActivityRecord;->immersive:Z
49946 .catchall {:try_start_12 .. :try_end_15} :catchall_f
49951 .method public setLockScreenShown(Z)V
49954 const-string v0, "android.permission.DEVICE_POWER"
49956 invoke-virtual {p0, v0}, Lcom/android/server/am/ActivityManagerService;->checkCallingPermission(Ljava/lang/String;)I
49960 if-eqz v0, :cond_10
49962 new-instance v0, Ljava/lang/SecurityException;
49964 const-string v1, "Requires permission android.permission.DEVICE_POWER"
49966 invoke-direct {v0, v1}, Ljava/lang/SecurityException;-><init>(Ljava/lang/String;)V
49974 iput-boolean p1, p0, Lcom/android/server/am/ActivityManagerService;->mLockScreenShown:Z
49976 invoke-direct {p0}, Lcom/android/server/am/ActivityManagerService;->comeOutOfSleepIfNeededLocked()V
49987 .catchall {:try_start_11 .. :try_end_1a} :catchall_18
49992 .method setOpenGlTraceApp(Landroid/content/pm/ApplicationInfo;Ljava/lang/String;)V
49998 const-string v1, "1"
50000 const-string v2, "ro.debuggable"
50002 const-string v3, "0"
50004 invoke-static {v2, v3}, Landroid/os/SystemProperties;->get(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
50006 move-result-object v2
50008 invoke-virtual {v1, v2}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
50012 if-nez v0, :cond_35
50014 iget v1, p1, Landroid/content/pm/ApplicationInfo;->flags:I
50016 and-int/lit8 v1, v1, 0x2
50018 if-nez v1, :cond_35
50020 new-instance v1, Ljava/lang/SecurityException;
50022 new-instance v2, Ljava/lang/StringBuilder;
50024 invoke-direct {v2}, Ljava/lang/StringBuilder;-><init>()V
50026 const-string v3, "Process not debuggable: "
50028 invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
50030 move-result-object v2
50032 iget-object v3, p1, Landroid/content/pm/ApplicationInfo;->packageName:Ljava/lang/String;
50034 invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
50036 move-result-object v2
50038 invoke-virtual {v2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
50040 move-result-object v2
50042 invoke-direct {v1, v2}, Ljava/lang/SecurityException;-><init>(Ljava/lang/String;)V
50051 .catchall {:try_start_1 .. :try_end_34} :catchall_32
50057 iput-object p2, p0, Lcom/android/server/am/ActivityManagerService;->mOpenGlTraceApp:Ljava/lang/String;
50061 .catchall {:try_start_35 .. :try_end_38} :catchall_32
50066 .method public setPackageAskScreenCompat(Ljava/lang/String;Z)V
50069 const-string v0, "android.permission.SET_SCREEN_COMPATIBILITY"
50071 const-string v1, "setPackageAskScreenCompat"
50073 invoke-virtual {p0, v0, v1}, Lcom/android/server/am/ActivityManagerService;->enforceCallingPermission(Ljava/lang/String;Ljava/lang/String;)V
50078 iget-object v0, p0, Lcom/android/server/am/ActivityManagerService;->mCompatModePackages:Lcom/android/server/am/CompatModePackages;
50080 invoke-virtual {v0, p1, p2}, Lcom/android/server/am/CompatModePackages;->setPackageAskCompatModeLocked(Ljava/lang/String;Z)V
50091 .catchall {:try_start_8 .. :try_end_11} :catchall_f
50096 .method public setPackageScreenCompatMode(Ljava/lang/String;I)V
50099 const-string v0, "android.permission.SET_SCREEN_COMPATIBILITY"
50101 const-string v1, "setPackageScreenCompatMode"
50103 invoke-virtual {p0, v0, v1}, Lcom/android/server/am/ActivityManagerService;->enforceCallingPermission(Ljava/lang/String;Ljava/lang/String;)V
50108 iget-object v0, p0, Lcom/android/server/am/ActivityManagerService;->mCompatModePackages:Lcom/android/server/am/CompatModePackages;
50110 invoke-virtual {v0, p1, p2}, Lcom/android/server/am/CompatModePackages;->setPackageScreenCompatModeLocked(Ljava/lang/String;I)V
50121 .catchall {:try_start_8 .. :try_end_11} :catchall_f
50126 .method public setProcessForeground(Landroid/os/IBinder;IZ)V
50129 const-string v4, "android.permission.SET_PROCESS_LIMIT"
50131 const-string v5, "setProcessForeground()"
50133 invoke-virtual {p0, v4, v5}, Lcom/android/server/am/ActivityManagerService;->enforceCallingPermission(Ljava/lang/String;Ljava/lang/String;)V
50140 iget-object v5, p0, Lcom/android/server/am/ActivityManagerService;->mPidsSelfLocked:Landroid/util/SparseArray;
50144 .catchall {:try_start_9 .. :try_end_c} :catchall_6f
50147 iget-object v4, p0, Lcom/android/server/am/ActivityManagerService;->mPidsSelfLocked:Landroid/util/SparseArray;
50149 invoke-virtual {v4, p2}, Landroid/util/SparseArray;->get(I)Ljava/lang/Object;
50151 move-result-object v3
50153 check-cast v3, Lcom/android/server/am/ProcessRecord;
50155 if-nez v3, :cond_33
50157 if-eqz p3, :cond_33
50159 const-string v4, "ActivityManager"
50161 new-instance v6, Ljava/lang/StringBuilder;
50163 invoke-direct {v6}, Ljava/lang/StringBuilder;-><init>()V
50165 const-string v7, "setProcessForeground called on unknown pid: "
50167 invoke-virtual {v6, v7}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
50169 move-result-object v6
50171 invoke-virtual {v6, p2}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
50173 move-result-object v6
50175 invoke-virtual {v6}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
50177 move-result-object v6
50179 invoke-static {v4, v6}, Landroid/util/Slog;->w(Ljava/lang/String;Ljava/lang/String;)I
50183 .catchall {:try_start_c .. :try_end_31} :catchall_72
50188 .catchall {:try_start_31 .. :try_end_32} :catchall_6f
50195 iget-object v4, p0, Lcom/android/server/am/ActivityManagerService;->mForegroundProcesses:Landroid/util/SparseArray;
50197 invoke-virtual {v4, p2}, Landroid/util/SparseArray;->get(I)Ljava/lang/Object;
50199 move-result-object v2
50201 check-cast v2, Lcom/android/server/am/ActivityManagerService$ForegroundToken;
50203 if-eqz v2, :cond_4e
50205 iget-object v4, v2, Lcom/android/server/am/ActivityManagerService$ForegroundToken;->token:Landroid/os/IBinder;
50209 invoke-interface {v4, v2, v6}, Landroid/os/IBinder;->unlinkToDeath(Landroid/os/IBinder$DeathRecipient;I)Z
50211 iget-object v4, p0, Lcom/android/server/am/ActivityManagerService;->mForegroundProcesses:Landroid/util/SparseArray;
50213 invoke-virtual {v4, p2}, Landroid/util/SparseArray;->remove(I)V
50215 if-eqz v3, :cond_4d
50219 iput-object v4, v3, Lcom/android/server/am/ProcessRecord;->forcingToForeground:Landroid/os/IBinder;
50225 if-eqz p3, :cond_67
50227 if-eqz p1, :cond_67
50229 new-instance v1, Lcom/android/server/am/ActivityManagerService$8;
50231 invoke-direct {v1, p0}, Lcom/android/server/am/ActivityManagerService$8;-><init>(Lcom/android/server/am/ActivityManagerService;)V
50233 iput p2, v1, Lcom/android/server/am/ActivityManagerService$ForegroundToken;->pid:I
50235 iput-object p1, v1, Lcom/android/server/am/ActivityManagerService$ForegroundToken;->token:Landroid/os/IBinder;
50237 .catchall {:try_start_33 .. :try_end_5b} :catchall_72
50242 invoke-interface {p1, v1, v4}, Landroid/os/IBinder;->linkToDeath(Landroid/os/IBinder$DeathRecipient;I)V
50244 iget-object v4, p0, Lcom/android/server/am/ActivityManagerService;->mForegroundProcesses:Landroid/util/SparseArray;
50246 invoke-virtual {v4, p2, v1}, Landroid/util/SparseArray;->put(ILjava/lang/Object;)V
50248 iput-object p1, v3, Lcom/android/server/am/ProcessRecord;->forcingToForeground:Landroid/os/IBinder;
50250 .catchall {:try_start_5c .. :try_end_66} :catchall_72
50251 .catch Landroid/os/RemoteException; {:try_start_5c .. :try_end_66} :catch_75
50260 .catchall {:try_start_67 .. :try_end_68} :catchall_72
50262 if-eqz v0, :cond_6d
50265 invoke-virtual {p0}, Lcom/android/server/am/ActivityManagerService;->updateOomAdjLocked()V
50277 .catchall {:try_start_6a .. :try_end_71} :catchall_6f
50287 .catchall {:try_start_73 .. :try_end_74} :catchall_72
50292 .catchall {:try_start_74 .. :try_end_75} :catchall_6f
50300 .method public setProcessLimit(I)V
50303 const-string v0, "android.permission.SET_PROCESS_LIMIT"
50305 const-string v1, "setProcessLimit()"
50307 invoke-virtual {p0, v0, v1}, Lcom/android/server/am/ActivityManagerService;->enforceCallingPermission(Ljava/lang/String;Ljava/lang/String;)V
50311 if-gez p1, :cond_15
50317 iput v0, p0, Lcom/android/server/am/ActivityManagerService;->mProcessLimit:I
50319 iput p1, p0, Lcom/android/server/am/ActivityManagerService;->mProcessLimitOverride:I
50323 .catchall {:try_start_c .. :try_end_11} :catchall_17
50325 invoke-virtual {p0}, Lcom/android/server/am/ActivityManagerService;->trimApplications()V
50340 .catchall {:try_start_18 .. :try_end_19} :catchall_17
50345 .method setProfileApp(Landroid/content/pm/ApplicationInfo;Ljava/lang/String;Ljava/lang/String;Landroid/os/ParcelFileDescriptor;Z)V
50351 const-string v1, "1"
50353 const-string v2, "ro.debuggable"
50355 const-string v3, "0"
50357 invoke-static {v2, v3}, Landroid/os/SystemProperties;->get(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
50359 move-result-object v2
50361 invoke-virtual {v1, v2}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
50365 if-nez v0, :cond_35
50367 iget v1, p1, Landroid/content/pm/ApplicationInfo;->flags:I
50369 and-int/lit8 v1, v1, 0x2
50371 if-nez v1, :cond_35
50373 new-instance v1, Ljava/lang/SecurityException;
50375 new-instance v2, Ljava/lang/StringBuilder;
50377 invoke-direct {v2}, Ljava/lang/StringBuilder;-><init>()V
50379 const-string v3, "Process not debuggable: "
50381 invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
50383 move-result-object v2
50385 iget-object v3, p1, Landroid/content/pm/ApplicationInfo;->packageName:Ljava/lang/String;
50387 invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
50389 move-result-object v2
50391 invoke-virtual {v2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
50393 move-result-object v2
50395 invoke-direct {v1, v2}, Ljava/lang/SecurityException;-><init>(Ljava/lang/String;)V
50404 .catchall {:try_start_1 .. :try_end_34} :catchall_32
50410 iput-object p2, p0, Lcom/android/server/am/ActivityManagerService;->mProfileApp:Ljava/lang/String;
50412 iput-object p3, p0, Lcom/android/server/am/ActivityManagerService;->mProfileFile:Ljava/lang/String;
50414 iget-object v1, p0, Lcom/android/server/am/ActivityManagerService;->mProfileFd:Landroid/os/ParcelFileDescriptor;
50416 .catchall {:try_start_35 .. :try_end_3b} :catchall_32
50418 if-eqz v1, :cond_45
50421 iget-object v1, p0, Lcom/android/server/am/ActivityManagerService;->mProfileFd:Landroid/os/ParcelFileDescriptor;
50423 invoke-virtual {v1}, Landroid/os/ParcelFileDescriptor;->close()V
50425 .catchall {:try_start_3d .. :try_end_42} :catchall_32
50426 .catch Ljava/io/IOException; {:try_start_3d .. :try_end_42} :catch_4e
50432 iput-object v1, p0, Lcom/android/server/am/ActivityManagerService;->mProfileFd:Landroid/os/ParcelFileDescriptor;
50435 iput-object p4, p0, Lcom/android/server/am/ActivityManagerService;->mProfileFd:Landroid/os/ParcelFileDescriptor;
50439 iput v1, p0, Lcom/android/server/am/ActivityManagerService;->mProfileType:I
50441 iput-boolean p5, p0, Lcom/android/server/am/ActivityManagerService;->mAutoStopProfiler:Z
50445 .catchall {:try_start_43 .. :try_end_4d} :catchall_32
50455 .method public setRequestedOrientation(Landroid/os/IBinder;I)V
50463 iget-object v5, p0, Lcom/android/server/am/ActivityManagerService;->mMainStack:Lcom/android/server/am/ActivityStack;
50465 invoke-virtual {v5, p1}, Lcom/android/server/am/ActivityStack;->isInStackLocked(Landroid/os/IBinder;)Lcom/android/server/am/ActivityRecord;
50467 move-result-object v3
50477 invoke-static {}, Landroid/os/Binder;->clearCallingIdentity()J
50479 move-result-wide v1
50481 iget-object v5, p0, Lcom/android/server/am/ActivityManagerService;->mWindowManager:Lcom/android/server/wm/WindowManagerService;
50483 iget-object v6, v3, Lcom/android/server/am/ActivityRecord;->appToken:Landroid/view/IApplicationToken$Stub;
50485 invoke-virtual {v5, v6, p2}, Lcom/android/server/wm/WindowManagerService;->setAppOrientation(Landroid/view/IApplicationToken;I)V
50487 iget-object v5, p0, Lcom/android/server/am/ActivityManagerService;->mWindowManager:Lcom/android/server/wm/WindowManagerService;
50489 iget-object v6, p0, Lcom/android/server/am/ActivityManagerService;->mConfiguration:Landroid/content/res/Configuration;
50491 iget-object v7, v3, Lcom/android/server/am/ActivityRecord;->app:Lcom/android/server/am/ProcessRecord;
50493 invoke-virtual {v3, v7}, Lcom/android/server/am/ActivityRecord;->mayFreezeScreenLocked(Lcom/android/server/am/ProcessRecord;)Z
50497 if-eqz v7, :cond_25
50499 iget-object v4, v3, Lcom/android/server/am/ActivityRecord;->appToken:Landroid/view/IApplicationToken$Stub;
50502 invoke-virtual {v5, v6, v4}, Lcom/android/server/wm/WindowManagerService;->updateOrientationFromAppTokens(Landroid/content/res/Configuration;Landroid/os/IBinder;)Landroid/content/res/Configuration;
50504 move-result-object v0
50506 if-eqz v0, :cond_3c
50510 iput-boolean v4, v3, Lcom/android/server/am/ActivityRecord;->frozenBeforeDestroy:Z
50516 invoke-virtual {p0, v0, v3, v4, v5}, Lcom/android/server/am/ActivityManagerService;->updateConfigurationLocked(Landroid/content/res/Configuration;Lcom/android/server/am/ActivityRecord;ZZ)Z
50520 if-nez v4, :cond_3c
50522 iget-object v4, p0, Lcom/android/server/am/ActivityManagerService;->mMainStack:Lcom/android/server/am/ActivityStack;
50526 invoke-virtual {v4, v5}, Lcom/android/server/am/ActivityStack;->resumeTopActivityLocked(Lcom/android/server/am/ActivityRecord;)Z
50529 invoke-static {v1, v2}, Landroid/os/Binder;->restoreCallingIdentity(J)V
50540 .catchall {:try_start_2 .. :try_end_43} :catchall_41
50545 .method public setServiceForeground(Landroid/content/ComponentName;Landroid/os/IBinder;ILandroid/app/Notification;Z)V
50551 iget-object v0, p0, Lcom/android/server/am/ActivityManagerService;->mServices:Lcom/android/server/am/ActiveServices;
50563 invoke-virtual/range {v0 .. v5}, Lcom/android/server/am/ActiveServices;->setServiceForegroundLocked(Landroid/content/ComponentName;Landroid/os/IBinder;ILandroid/app/Notification;Z)V
50574 .catchall {:try_start_1 .. :try_end_f} :catchall_d
50579 .method public setWindowManager(Lcom/android/server/wm/WindowManagerService;)V
50582 iput-object p1, p0, Lcom/android/server/am/ActivityManagerService;->mWindowManager:Lcom/android/server/wm/WindowManagerService;
50587 .method public showBootMessage(Ljava/lang/CharSequence;Z)V
50590 const-string v0, "showBootMessage"
50592 invoke-virtual {p0, v0}, Lcom/android/server/am/ActivityManagerService;->enforceNotIsolatedCaller(Ljava/lang/String;)V
50594 iget-object v0, p0, Lcom/android/server/am/ActivityManagerService;->mWindowManager:Lcom/android/server/wm/WindowManagerService;
50596 invoke-virtual {v0, p1, p2}, Lcom/android/server/wm/WindowManagerService;->showBootMessage(Ljava/lang/CharSequence;Z)V
50601 .method final showLaunchWarningLocked(Lcom/android/server/am/ActivityRecord;Lcom/android/server/am/ActivityRecord;)V
50604 iget-boolean v0, p0, Lcom/android/server/am/ActivityManagerService;->mLaunchWarningShown:Z
50606 if-nez v0, :cond_11
50610 iput-boolean v0, p0, Lcom/android/server/am/ActivityManagerService;->mLaunchWarningShown:Z
50612 iget-object v0, p0, Lcom/android/server/am/ActivityManagerService;->mHandler:Landroid/os/Handler;
50614 new-instance v1, Lcom/android/server/am/ActivityManagerService$5;
50616 invoke-direct {v1, p0, p1, p2}, Lcom/android/server/am/ActivityManagerService$5;-><init>(Lcom/android/server/am/ActivityManagerService;Lcom/android/server/am/ActivityRecord;Lcom/android/server/am/ActivityRecord;)V
50618 invoke-virtual {v0, v1}, Landroid/os/Handler;->post(Ljava/lang/Runnable;)Z
50624 .method public final showSafeModeOverlay()V
50629 iget-object v2, p0, Lcom/android/server/am/ActivityManagerService;->mContext:Landroid/content/Context;
50631 invoke-static {v2}, Landroid/view/LayoutInflater;->from(Landroid/content/Context;)Landroid/view/LayoutInflater;
50633 move-result-object v2
50635 const v3, 0x10900b3
50639 invoke-virtual {v2, v3, v4}, Landroid/view/LayoutInflater;->inflate(ILandroid/view/ViewGroup;)Landroid/view/View;
50641 move-result-object v1
50643 new-instance v0, Landroid/view/WindowManager$LayoutParams;
50645 invoke-direct {v0}, Landroid/view/WindowManager$LayoutParams;-><init>()V
50649 iput v2, v0, Landroid/view/WindowManager$LayoutParams;->type:I
50651 iput v5, v0, Landroid/view/WindowManager$LayoutParams;->width:I
50653 iput v5, v0, Landroid/view/WindowManager$LayoutParams;->height:I
50657 iput v2, v0, Landroid/view/WindowManager$LayoutParams;->gravity:I
50659 invoke-virtual {v1}, Landroid/view/View;->getBackground()Landroid/graphics/drawable/Drawable;
50661 move-result-object v2
50663 invoke-virtual {v2}, Landroid/graphics/drawable/Drawable;->getOpacity()I
50667 iput v2, v0, Landroid/view/WindowManager$LayoutParams;->format:I
50671 iput v2, v0, Landroid/view/WindowManager$LayoutParams;->flags:I
50673 iget v2, v0, Landroid/view/WindowManager$LayoutParams;->privateFlags:I
50675 or-int/lit8 v2, v2, 0x10
50677 iput v2, v0, Landroid/view/WindowManager$LayoutParams;->privateFlags:I
50679 iget-object v2, p0, Lcom/android/server/am/ActivityManagerService;->mContext:Landroid/content/Context;
50681 const-string v3, "window"
50683 invoke-virtual {v2, v3}, Landroid/content/Context;->getSystemService(Ljava/lang/String;)Ljava/lang/Object;
50685 move-result-object v2
50687 check-cast v2, Landroid/view/WindowManager;
50689 invoke-interface {v2, v1, v0}, Landroid/view/WindowManager;->addView(Landroid/view/View;Landroid/view/ViewGroup$LayoutParams;)V
50694 .method public showWaitingForDebugger(Landroid/app/IApplicationThread;Z)V
50702 invoke-virtual {p0, p1}, Lcom/android/server/am/ActivityManagerService;->getRecordForAppLocked(Landroid/app/IApplicationThread;)Lcom/android/server/am/ProcessRecord;
50704 move-result-object v0
50720 invoke-static {}, Landroid/os/Message;->obtain()Landroid/os/Message;
50722 move-result-object v1
50726 iput v2, v1, Landroid/os/Message;->what:I
50728 iput-object v0, v1, Landroid/os/Message;->obj:Ljava/lang/Object;
50730 if-eqz p2, :cond_25
50735 iput v2, v1, Landroid/os/Message;->arg1:I
50737 iget-object v2, p0, Lcom/android/server/am/ActivityManagerService;->mHandler:Landroid/os/Handler;
50739 invoke-virtual {v2, v1}, Landroid/os/Handler;->sendMessage(Landroid/os/Message;)Z
50750 .catchall {:try_start_3 .. :try_end_24} :catchall_22
50760 .method public shutdown(I)Z
50763 const-string v5, "android.permission.SHUTDOWN"
50765 invoke-virtual {p0, v5}, Lcom/android/server/am/ActivityManagerService;->checkCallingPermission(Ljava/lang/String;)I
50769 if-eqz v5, :cond_10
50771 new-instance v5, Ljava/lang/SecurityException;
50773 const-string v6, "Requires permission android.permission.SHUTDOWN"
50775 invoke-direct {v5, v6}, Ljava/lang/SecurityException;-><init>(Ljava/lang/String;)V
50787 iput-boolean v5, p0, Lcom/android/server/am/ActivityManagerService;->mShuttingDown:Z
50789 invoke-direct {p0}, Lcom/android/server/am/ActivityManagerService;->updateEventDispatchingLocked()V
50791 iget-object v5, p0, Lcom/android/server/am/ActivityManagerService;->mMainStack:Lcom/android/server/am/ActivityStack;
50793 iget-object v5, v5, Lcom/android/server/am/ActivityStack;->mResumedActivity:Lcom/android/server/am/ActivityRecord;
50795 if-eqz v5, :cond_4a
50797 iget-object v5, p0, Lcom/android/server/am/ActivityManagerService;->mMainStack:Lcom/android/server/am/ActivityStack;
50799 invoke-virtual {v5}, Lcom/android/server/am/ActivityStack;->stopIfSleepingLocked()V
50801 invoke-static {}, Ljava/lang/System;->currentTimeMillis()J
50803 move-result-wide v5
50807 add-long v2, v5, v7
50810 iget-object v5, p0, Lcom/android/server/am/ActivityManagerService;->mMainStack:Lcom/android/server/am/ActivityStack;
50812 iget-object v5, v5, Lcom/android/server/am/ActivityStack;->mResumedActivity:Lcom/android/server/am/ActivityRecord;
50814 if-nez v5, :cond_36
50816 iget-object v5, p0, Lcom/android/server/am/ActivityManagerService;->mMainStack:Lcom/android/server/am/ActivityStack;
50818 iget-object v5, v5, Lcom/android/server/am/ActivityStack;->mPausingActivity:Lcom/android/server/am/ActivityRecord;
50820 if-eqz v5, :cond_4a
50823 invoke-static {}, Ljava/lang/System;->currentTimeMillis()J
50825 move-result-wide v5
50827 sub-long v0, v2, v5
50829 const-wide/16 v5, 0x0
50831 cmp-long v5, v0, v5
50833 if-gtz v5, :cond_56
50835 const-string v5, "ActivityManager"
50837 const-string v6, "Activity manager shutdown timed out"
50839 invoke-static {v5, v6}, Landroid/util/Slog;->w(Ljava/lang/String;Ljava/lang/String;)I
50846 .catchall {:try_start_13 .. :try_end_4b} :catchall_5c
50848 iget-object v5, p0, Lcom/android/server/am/ActivityManagerService;->mUsageStatsService:Lcom/android/server/am/UsageStatsService;
50850 invoke-virtual {v5}, Lcom/android/server/am/UsageStatsService;->shutdown()V
50852 iget-object v5, p0, Lcom/android/server/am/ActivityManagerService;->mBatteryStatsService:Lcom/android/server/am/BatteryStatsService;
50854 invoke-virtual {v5}, Lcom/android/server/am/BatteryStatsService;->shutdown()V
50860 invoke-virtual {p0}, Ljava/lang/Object;->wait()V
50862 .catchall {:try_start_56 .. :try_end_59} :catchall_5c
50863 .catch Ljava/lang/InterruptedException; {:try_start_56 .. :try_end_59} :catch_5a
50878 .catchall {:try_start_5d .. :try_end_5e} :catchall_5c
50883 .method public signalPersistentProcesses(I)V
50885 .annotation system Ldalvik/annotation/Throws;
50887 Landroid/os/RemoteException;
50893 if-eq p1, v2, :cond_c
50895 new-instance v2, Ljava/lang/SecurityException;
50897 const-string v3, "Only SIGNAL_USR1 is allowed"
50899 invoke-direct {v2, v3}, Ljava/lang/SecurityException;-><init>(Ljava/lang/String;)V
50907 const-string v2, "android.permission.SIGNAL_PERSISTENT_PROCESSES"
50909 invoke-virtual {p0, v2}, Lcom/android/server/am/ActivityManagerService;->checkCallingPermission(Ljava/lang/String;)I
50913 if-eqz v2, :cond_20
50915 new-instance v2, Ljava/lang/SecurityException;
50917 const-string v3, "Requires permission android.permission.SIGNAL_PERSISTENT_PROCESSES"
50919 invoke-direct {v2, v3}, Ljava/lang/SecurityException;-><init>(Ljava/lang/String;)V
50928 .catchall {:try_start_d .. :try_end_1f} :catchall_1d
50934 iget-object v2, p0, Lcom/android/server/am/ActivityManagerService;->mLruProcesses:Ljava/util/ArrayList;
50936 invoke-virtual {v2}, Ljava/util/ArrayList;->size()I
50940 add-int/lit8 v0, v2, -0x1
50943 if-ltz v0, :cond_42
50945 iget-object v2, p0, Lcom/android/server/am/ActivityManagerService;->mLruProcesses:Ljava/util/ArrayList;
50947 invoke-virtual {v2, v0}, Ljava/util/ArrayList;->get(I)Ljava/lang/Object;
50949 move-result-object v1
50951 check-cast v1, Lcom/android/server/am/ProcessRecord;
50953 iget-object v2, v1, Lcom/android/server/am/ProcessRecord;->thread:Landroid/app/IApplicationThread;
50955 if-eqz v2, :cond_3f
50957 iget-boolean v2, v1, Lcom/android/server/am/ProcessRecord;->persistent:Z
50959 if-eqz v2, :cond_3f
50961 iget v2, v1, Lcom/android/server/am/ProcessRecord;->pid:I
50963 invoke-static {v2, p1}, Landroid/os/Process;->sendSignal(II)V
50966 add-int/lit8 v0, v0, -0x1
50973 .catchall {:try_start_20 .. :try_end_43} :catchall_1d
50978 .method skipCurrentReceiverLocked(Lcom/android/server/am/ProcessRecord;)V
50981 iget-object v0, p0, Lcom/android/server/am/ActivityManagerService;->mBroadcastQueues:[Lcom/android/server/am/BroadcastQueue;
50983 array-length v2, v0
50988 if-ge v1, v2, :cond_e
50990 aget-object v3, v0, v1
50992 invoke-virtual {v3, p1}, Lcom/android/server/am/BroadcastQueue;->skipCurrentReceiverLocked(Lcom/android/server/am/ProcessRecord;)V
50994 add-int/lit8 v1, v1, 0x1
51002 .method skipPendingBroadcastLocked(I)V
51005 const-string v4, "ActivityManager"
51007 const-string v5, "Unattached app died before broadcast acknowledged, skipping"
51009 invoke-static {v4, v5}, Landroid/util/Slog;->w(Ljava/lang/String;Ljava/lang/String;)I
51011 iget-object v0, p0, Lcom/android/server/am/ActivityManagerService;->mBroadcastQueues:[Lcom/android/server/am/BroadcastQueue;
51013 array-length v2, v0
51018 if-ge v1, v2, :cond_15
51020 aget-object v3, v0, v1
51022 invoke-virtual {v3, p1}, Lcom/android/server/am/BroadcastQueue;->skipPendingBroadcastLocked(I)V
51024 add-int/lit8 v1, v1, 0x1
51032 .method public final startActivities(Landroid/app/IApplicationThread;[Landroid/content/Intent;[Ljava/lang/String;Landroid/os/IBinder;Landroid/os/Bundle;I)I
51035 const-string v0, "startActivities"
51037 invoke-virtual {p0, v0}, Lcom/android/server/am/ActivityManagerService;->enforceNotIsolatedCaller(Ljava/lang/String;)V
51039 invoke-static {}, Landroid/os/Binder;->getCallingPid()I
51043 invoke-static {}, Landroid/os/Binder;->getCallingUid()I
51051 const-string v6, "startActivity"
51059 invoke-virtual/range {v0 .. v7}, Lcom/android/server/am/ActivityManagerService;->handleIncomingUser(IIIZZLjava/lang/String;Ljava/lang/String;)I
51063 iget-object v0, p0, Lcom/android/server/am/ActivityManagerService;->mMainStack:Lcom/android/server/am/ActivityStack;
51079 invoke-virtual/range {v0 .. v7}, Lcom/android/server/am/ActivityStack;->startActivities(Landroid/app/IApplicationThread;I[Landroid/content/Intent;[Ljava/lang/String;Landroid/os/IBinder;Landroid/os/Bundle;I)I
51086 .method final startActivitiesInPackage(I[Landroid/content/Intent;[Ljava/lang/String;Landroid/os/IBinder;Landroid/os/Bundle;I)I
51089 invoke-static {}, Landroid/os/Binder;->getCallingPid()I
51093 invoke-static {}, Landroid/os/Binder;->getCallingUid()I
51101 const-string v6, "startActivityInPackage"
51109 invoke-virtual/range {v0 .. v7}, Lcom/android/server/am/ActivityManagerService;->handleIncomingUser(IIIZZLjava/lang/String;Ljava/lang/String;)I
51113 iget-object v0, p0, Lcom/android/server/am/ActivityManagerService;->mMainStack:Lcom/android/server/am/ActivityStack;
51129 invoke-virtual/range {v0 .. v7}, Lcom/android/server/am/ActivityStack;->startActivities(Landroid/app/IApplicationThread;I[Landroid/content/Intent;[Ljava/lang/String;Landroid/os/IBinder;Landroid/os/Bundle;I)I
51136 .method public final startActivity(Landroid/app/IApplicationThread;Landroid/content/Intent;Ljava/lang/String;Landroid/os/IBinder;Ljava/lang/String;IILjava/lang/String;Landroid/os/ParcelFileDescriptor;Landroid/os/Bundle;)I
51139 invoke-static {}, Landroid/os/UserHandle;->getCallingUserId()I
51151 move-object/from16 v4, p4
51153 move-object/from16 v5, p5
51159 move-object/from16 v8, p8
51161 move-object/from16 v9, p9
51163 move-object/from16 v10, p10
51165 invoke-virtual/range {v0 .. v11}, Lcom/android/server/am/ActivityManagerService;->startActivityAsUser(Landroid/app/IApplicationThread;Landroid/content/Intent;Ljava/lang/String;Landroid/os/IBinder;Ljava/lang/String;IILjava/lang/String;Landroid/os/ParcelFileDescriptor;Landroid/os/Bundle;I)I
51172 .method public final startActivityAndWait(Landroid/app/IApplicationThread;Landroid/content/Intent;Ljava/lang/String;Landroid/os/IBinder;Ljava/lang/String;IILjava/lang/String;Landroid/os/ParcelFileDescriptor;Landroid/os/Bundle;I)Landroid/app/IActivityManager$WaitResult;
51175 const-string v0, "startActivityAndWait"
51177 invoke-virtual {p0, v0}, Lcom/android/server/am/ActivityManagerService;->enforceNotIsolatedCaller(Ljava/lang/String;)V
51179 invoke-static {}, Landroid/os/Binder;->getCallingPid()I
51183 invoke-static {}, Landroid/os/Binder;->getCallingUid()I
51191 const-string v6, "startActivityAndWait"
51197 move/from16 v3, p11
51199 invoke-virtual/range {v0 .. v7}, Lcom/android/server/am/ActivityManagerService;->handleIncomingUser(IIIZZLjava/lang/String;Ljava/lang/String;)I
51203 new-instance v11, Landroid/app/IActivityManager$WaitResult;
51205 invoke-direct {v11}, Landroid/app/IActivityManager$WaitResult;-><init>()V
51207 iget-object v0, p0, Lcom/android/server/am/ActivityManagerService;->mMainStack:Lcom/android/server/am/ActivityStack;
51213 invoke-static {}, Landroid/os/UserHandle;->getCallingUserId()I
51217 move-object/from16 v1, p1
51219 move-object/from16 v3, p2
51221 move-object/from16 v4, p3
51223 move-object/from16 v5, p4
51225 move-object/from16 v6, p5
51231 move-object/from16 v9, p8
51233 move-object/from16 v10, p9
51235 move-object/from16 v13, p10
51237 invoke-virtual/range {v0 .. v14}, Lcom/android/server/am/ActivityStack;->startActivityMayWait(Landroid/app/IApplicationThread;ILandroid/content/Intent;Ljava/lang/String;Landroid/os/IBinder;Ljava/lang/String;IILjava/lang/String;Landroid/os/ParcelFileDescriptor;Landroid/app/IActivityManager$WaitResult;Landroid/content/res/Configuration;Landroid/os/Bundle;I)I
51242 .method public final startActivityAsUser(Landroid/app/IApplicationThread;Landroid/content/Intent;Ljava/lang/String;Landroid/os/IBinder;Ljava/lang/String;IILjava/lang/String;Landroid/os/ParcelFileDescriptor;Landroid/os/Bundle;I)I
51245 const-string v0, "startActivity"
51247 invoke-virtual {p0, v0}, Lcom/android/server/am/ActivityManagerService;->enforceNotIsolatedCaller(Ljava/lang/String;)V
51249 invoke-static {}, Landroid/os/Binder;->getCallingPid()I
51253 invoke-static {}, Landroid/os/Binder;->getCallingUid()I
51261 const-string v6, "startActivity"
51267 move/from16 v3, p11
51269 invoke-virtual/range {v0 .. v7}, Lcom/android/server/am/ActivityManagerService;->handleIncomingUser(IIIZZLjava/lang/String;Ljava/lang/String;)I
51273 iget-object v0, p0, Lcom/android/server/am/ActivityManagerService;->mMainStack:Lcom/android/server/am/ActivityStack;
51281 move-object/from16 v1, p1
51283 move-object/from16 v3, p2
51285 move-object/from16 v4, p3
51287 move-object/from16 v5, p4
51289 move-object/from16 v6, p5
51295 move-object/from16 v9, p8
51297 move-object/from16 v10, p9
51299 move-object/from16 v13, p10
51301 move/from16 v14, p11
51303 invoke-virtual/range {v0 .. v14}, Lcom/android/server/am/ActivityStack;->startActivityMayWait(Landroid/app/IApplicationThread;ILandroid/content/Intent;Ljava/lang/String;Landroid/os/IBinder;Ljava/lang/String;IILjava/lang/String;Landroid/os/ParcelFileDescriptor;Landroid/app/IActivityManager$WaitResult;Landroid/content/res/Configuration;Landroid/os/Bundle;I)I
51310 .method final startActivityInPackage(ILandroid/content/Intent;Ljava/lang/String;Landroid/os/IBinder;Ljava/lang/String;IILandroid/os/Bundle;I)I
51313 invoke-static {}, Landroid/os/Binder;->getCallingPid()I
51317 invoke-static {}, Landroid/os/Binder;->getCallingUid()I
51325 const-string v7, "startActivityInPackage"
51329 move-object/from16 v1, p0
51333 invoke-virtual/range {v1 .. v8}, Lcom/android/server/am/ActivityManagerService;->handleIncomingUser(IIIZZLjava/lang/String;Ljava/lang/String;)I
51337 move-object/from16 v0, p0
51339 iget-object v1, v0, Lcom/android/server/am/ActivityManagerService;->mMainStack:Lcom/android/server/am/ActivityStack;
51353 move-object/from16 v4, p2
51355 move-object/from16 v5, p3
51357 move-object/from16 v6, p4
51359 move-object/from16 v7, p5
51365 move-object/from16 v14, p8
51367 move/from16 v15, p9
51369 invoke-virtual/range {v1 .. v15}, Lcom/android/server/am/ActivityStack;->startActivityMayWait(Landroid/app/IApplicationThread;ILandroid/content/Intent;Ljava/lang/String;Landroid/os/IBinder;Ljava/lang/String;IILjava/lang/String;Landroid/os/ParcelFileDescriptor;Landroid/app/IActivityManager$WaitResult;Landroid/content/res/Configuration;Landroid/os/Bundle;I)I
51376 .method public startActivityIntentSender(Landroid/app/IApplicationThread;Landroid/content/IntentSender;Landroid/content/Intent;Ljava/lang/String;Landroid/os/IBinder;Ljava/lang/String;IIILandroid/os/Bundle;)I
51379 const-string v1, "startActivityIntentSender"
51381 invoke-virtual {p0, v1}, Lcom/android/server/am/ActivityManagerService;->enforceNotIsolatedCaller(Ljava/lang/String;)V
51383 if-eqz p3, :cond_15
51385 invoke-virtual/range {p3 .. p3}, Landroid/content/Intent;->hasFileDescriptors()Z
51389 if-eqz v1, :cond_15
51391 new-instance v1, Ljava/lang/IllegalArgumentException;
51393 const-string v2, "File descriptors passed in Intent"
51395 invoke-direct {v1, v2}, Ljava/lang/IllegalArgumentException;-><init>(Ljava/lang/String;)V
51400 invoke-virtual/range {p2 .. p2}, Landroid/content/IntentSender;->getTarget()Landroid/content/IIntentSender;
51402 move-result-object v13
51404 instance-of v1, v13, Lcom/android/server/am/PendingIntentRecord;
51406 if-nez v1, :cond_25
51408 new-instance v1, Ljava/lang/IllegalArgumentException;
51410 const-string v2, "Bad PendingIntent object"
51412 invoke-direct {v1, v2}, Ljava/lang/IllegalArgumentException;-><init>(Ljava/lang/String;)V
51417 move-object v0, v13
51419 check-cast v0, Lcom/android/server/am/PendingIntentRecord;
51424 iget-object v1, p0, Lcom/android/server/am/ActivityManagerService;->mMainStack:Lcom/android/server/am/ActivityStack;
51426 iget-object v1, v1, Lcom/android/server/am/ActivityStack;->mResumedActivity:Lcom/android/server/am/ActivityRecord;
51428 if-eqz v1, :cond_43
51430 iget-object v1, p0, Lcom/android/server/am/ActivityManagerService;->mMainStack:Lcom/android/server/am/ActivityStack;
51432 iget-object v1, v1, Lcom/android/server/am/ActivityStack;->mResumedActivity:Lcom/android/server/am/ActivityRecord;
51434 iget-object v1, v1, Lcom/android/server/am/ActivityRecord;->info:Landroid/content/pm/ActivityInfo;
51436 iget-object v1, v1, Landroid/content/pm/ActivityInfo;->applicationInfo:Landroid/content/pm/ApplicationInfo;
51438 iget v1, v1, Landroid/content/pm/ApplicationInfo;->uid:I
51440 invoke-static {}, Landroid/os/Binder;->getCallingUid()I
51444 if-ne v1, v2, :cond_43
51446 const-wide/16 v1, 0x0
51448 iput-wide v1, p0, Lcom/android/server/am/ActivityManagerService;->mAppSwitchesAllowedTime:J
51453 .catchall {:try_start_29 .. :try_end_44} :catchall_5c
51461 move-object/from16 v2, p3
51463 move-object/from16 v3, p4
51465 move-object/from16 v6, p5
51467 move-object/from16 v7, p6
51473 move/from16 v10, p9
51475 move-object/from16 v11, p10
51477 invoke-virtual/range {v0 .. v11}, Lcom/android/server/am/PendingIntentRecord;->sendInner(ILandroid/content/Intent;Ljava/lang/String;Landroid/content/IIntentReceiver;Ljava/lang/String;Landroid/os/IBinder;Ljava/lang/String;IIILandroid/os/Bundle;)I
51489 .catchall {:try_start_5d .. :try_end_5e} :catchall_5c
51494 .method public final startActivityWithConfig(Landroid/app/IApplicationThread;Landroid/content/Intent;Ljava/lang/String;Landroid/os/IBinder;Ljava/lang/String;IILandroid/content/res/Configuration;Landroid/os/Bundle;I)I
51497 const-string v1, "startActivityWithConfig"
51499 move-object/from16 v0, p0
51501 invoke-virtual {v0, v1}, Lcom/android/server/am/ActivityManagerService;->enforceNotIsolatedCaller(Ljava/lang/String;)V
51503 invoke-static {}, Landroid/os/Binder;->getCallingPid()I
51507 invoke-static {}, Landroid/os/Binder;->getCallingUid()I
51515 const-string v7, "startActivityWithConfig"
51519 move-object/from16 v1, p0
51521 move/from16 v4, p10
51523 invoke-virtual/range {v1 .. v8}, Lcom/android/server/am/ActivityManagerService;->handleIncomingUser(IIIZZLjava/lang/String;Ljava/lang/String;)I
51527 move-object/from16 v0, p0
51529 iget-object v1, v0, Lcom/android/server/am/ActivityManagerService;->mMainStack:Lcom/android/server/am/ActivityStack;
51539 move-object/from16 v2, p1
51541 move-object/from16 v4, p2
51543 move-object/from16 v5, p3
51545 move-object/from16 v6, p4
51547 move-object/from16 v7, p5
51553 move-object/from16 v13, p8
51555 move-object/from16 v14, p9
51557 move/from16 v15, p10
51559 invoke-virtual/range {v1 .. v15}, Lcom/android/server/am/ActivityStack;->startActivityMayWait(Landroid/app/IApplicationThread;ILandroid/content/Intent;Ljava/lang/String;Landroid/os/IBinder;Ljava/lang/String;IILjava/lang/String;Landroid/os/ParcelFileDescriptor;Landroid/app/IActivityManager$WaitResult;Landroid/content/res/Configuration;Landroid/os/Bundle;I)I
51566 .method startAppProblemLocked(Lcom/android/server/am/ProcessRecord;)V
51569 iget v0, p1, Lcom/android/server/am/ProcessRecord;->userId:I
51571 iget v1, p0, Lcom/android/server/am/ActivityManagerService;->mCurrentUserId:I
51573 if-ne v0, v1, :cond_1a
51575 iget-object v0, p0, Lcom/android/server/am/ActivityManagerService;->mContext:Landroid/content/Context;
51577 iget-object v1, p1, Lcom/android/server/am/ProcessRecord;->info:Landroid/content/pm/ApplicationInfo;
51579 iget-object v1, v1, Landroid/content/pm/ApplicationInfo;->packageName:Ljava/lang/String;
51581 iget-object v2, p1, Lcom/android/server/am/ProcessRecord;->info:Landroid/content/pm/ApplicationInfo;
51583 iget v2, v2, Landroid/content/pm/ApplicationInfo;->flags:I
51585 invoke-static {v0, v1, v2}, Landroid/app/ApplicationErrorReport;->getErrorReportReceiver(Landroid/content/Context;Ljava/lang/String;I)Landroid/content/ComponentName;
51587 move-result-object v0
51589 iput-object v0, p1, Lcom/android/server/am/ProcessRecord;->errorReportReceiver:Landroid/content/ComponentName;
51592 invoke-virtual {p0, p1}, Lcom/android/server/am/ActivityManagerService;->skipCurrentReceiverLocked(Lcom/android/server/am/ProcessRecord;)V
51599 iput-object v0, p1, Lcom/android/server/am/ProcessRecord;->errorReportReceiver:Landroid/content/ComponentName;
51604 .method startHomeActivityLocked(I)Z
51607 move-object/from16 v0, p0
51609 iget-boolean v2, v0, Lcom/android/server/am/ActivityManagerService;->mHeadless:Z
51613 invoke-virtual/range {p0 .. p0}, Lcom/android/server/am/ActivityManagerService;->ensureBootCompleted()V
51621 move-object/from16 v0, p0
51623 iget v2, v0, Lcom/android/server/am/ActivityManagerService;->mFactoryTest:I
51627 if-ne v2, v3, :cond_1a
51629 move-object/from16 v0, p0
51631 iget-object v2, v0, Lcom/android/server/am/ActivityManagerService;->mTopAction:Ljava/lang/String;
51633 if-nez v2, :cond_1a
51640 new-instance v4, Landroid/content/Intent;
51642 move-object/from16 v0, p0
51644 iget-object v3, v0, Lcom/android/server/am/ActivityManagerService;->mTopAction:Ljava/lang/String;
51646 move-object/from16 v0, p0
51648 iget-object v2, v0, Lcom/android/server/am/ActivityManagerService;->mTopData:Ljava/lang/String;
51650 if-eqz v2, :cond_a8
51652 move-object/from16 v0, p0
51654 iget-object v2, v0, Lcom/android/server/am/ActivityManagerService;->mTopData:Ljava/lang/String;
51656 invoke-static {v2}, Landroid/net/Uri;->parse(Ljava/lang/String;)Landroid/net/Uri;
51658 move-result-object v2
51661 invoke-direct {v4, v3, v2}, Landroid/content/Intent;-><init>(Ljava/lang/String;Landroid/net/Uri;)V
51663 move-object/from16 v0, p0
51665 iget-object v2, v0, Lcom/android/server/am/ActivityManagerService;->mTopComponent:Landroid/content/ComponentName;
51667 invoke-virtual {v4, v2}, Landroid/content/Intent;->setComponent(Landroid/content/ComponentName;)Landroid/content/Intent;
51669 move-object/from16 v0, p0
51671 iget v2, v0, Lcom/android/server/am/ActivityManagerService;->mFactoryTest:I
51675 if-eq v2, v3, :cond_44
51677 const-string v2, "android.intent.category.HOME"
51679 invoke-virtual {v4, v2}, Landroid/content/Intent;->addCategory(Ljava/lang/String;)Landroid/content/Intent;
51684 move-object/from16 v0, p0
51688 invoke-direct {v0, v4, v2, v1}, Lcom/android/server/am/ActivityManagerService;->resolveActivityInfo(Landroid/content/Intent;II)Landroid/content/pm/ActivityInfo;
51690 move-result-object v16
51692 if-eqz v16, :cond_aa
51694 new-instance v2, Landroid/content/ComponentName;
51696 move-object/from16 v0, v16
51698 iget-object v3, v0, Landroid/content/pm/ActivityInfo;->applicationInfo:Landroid/content/pm/ApplicationInfo;
51700 iget-object v3, v3, Landroid/content/pm/ApplicationInfo;->packageName:Ljava/lang/String;
51702 move-object/from16 v0, v16
51704 iget-object v5, v0, Landroid/content/pm/ActivityInfo;->name:Ljava/lang/String;
51706 invoke-direct {v2, v3, v5}, Landroid/content/ComponentName;-><init>(Ljava/lang/String;Ljava/lang/String;)V
51708 invoke-virtual {v4, v2}, Landroid/content/Intent;->setComponent(Landroid/content/ComponentName;)Landroid/content/Intent;
51710 new-instance v6, Landroid/content/pm/ActivityInfo;
51712 move-object/from16 v0, v16
51714 invoke-direct {v6, v0}, Landroid/content/pm/ActivityInfo;-><init>(Landroid/content/pm/ActivityInfo;)V
51716 iget-object v2, v6, Landroid/content/pm/ActivityInfo;->applicationInfo:Landroid/content/pm/ApplicationInfo;
51718 move-object/from16 v0, p0
51722 invoke-virtual {v0, v2, v1}, Lcom/android/server/am/ActivityManagerService;->getAppInfoForUser(Landroid/content/pm/ApplicationInfo;I)Landroid/content/pm/ApplicationInfo;
51724 move-result-object v2
51726 iput-object v2, v6, Landroid/content/pm/ActivityInfo;->applicationInfo:Landroid/content/pm/ApplicationInfo;
51728 iget-object v2, v6, Landroid/content/pm/ActivityInfo;->processName:Ljava/lang/String;
51730 iget-object v3, v6, Landroid/content/pm/ActivityInfo;->applicationInfo:Landroid/content/pm/ApplicationInfo;
51732 iget v3, v3, Landroid/content/pm/ApplicationInfo;->uid:I
51734 move-object/from16 v0, p0
51736 invoke-virtual {v0, v2, v3}, Lcom/android/server/am/ActivityManagerService;->getProcessRecordLocked(Ljava/lang/String;I)Lcom/android/server/am/ProcessRecord;
51738 move-result-object v17
51740 if-eqz v17, :cond_89
51742 move-object/from16 v0, v17
51744 iget-object v2, v0, Lcom/android/server/am/ProcessRecord;->instrumentationClass:Landroid/content/ComponentName;
51746 if-nez v2, :cond_a5
51749 invoke-virtual {v4}, Landroid/content/Intent;->getFlags()I
51753 const/high16 v3, 0x1000
51755 or-int/2addr v2, v3
51757 invoke-virtual {v4, v2}, Landroid/content/Intent;->setFlags(I)Landroid/content/Intent;
51759 move-object/from16 v0, p0
51761 iget-object v2, v0, Lcom/android/server/am/ActivityManagerService;->mMainStack:Lcom/android/server/am/ActivityStack;
51785 invoke-virtual/range {v2 .. v15}, Lcom/android/server/am/ActivityStack;->startActivityLocked(Landroid/app/IApplicationThread;Landroid/content/Intent;Ljava/lang/String;Landroid/content/pm/ActivityInfo;Landroid/os/IBinder;Ljava/lang/String;IIIILandroid/os/Bundle;Z[Lcom/android/server/am/ActivityRecord;)I
51799 move-object/from16 v6, v16
51804 .method public startInstrumentation(Landroid/content/ComponentName;Ljava/lang/String;ILandroid/os/Bundle;Landroid/app/IInstrumentationWatcher;I)Z
51807 const-string v3, "startInstrumentation"
51809 move-object/from16 v0, p0
51811 invoke-virtual {v0, v3}, Lcom/android/server/am/ActivityManagerService;->enforceNotIsolatedCaller(Ljava/lang/String;)V
51813 invoke-static {}, Landroid/os/Binder;->getCallingPid()I
51817 invoke-static {}, Landroid/os/Binder;->getCallingUid()I
51825 const-string v9, "startInstrumentation"
51829 move-object/from16 v3, p0
51833 invoke-virtual/range {v3 .. v10}, Lcom/android/server/am/ActivityManagerService;->handleIncomingUser(IIIZZLjava/lang/String;Ljava/lang/String;)I
51837 if-eqz p4, :cond_2c
51839 invoke-virtual/range {p4 .. p4}, Landroid/os/Bundle;->hasFileDescriptors()Z
51843 if-eqz v3, :cond_2c
51845 new-instance v3, Ljava/lang/IllegalArgumentException;
51847 const-string v4, "File descriptors passed in Bundle"
51849 invoke-direct {v3, v4}, Ljava/lang/IllegalArgumentException;-><init>(Ljava/lang/String;)V
51861 move-object/from16 v0, p0
51863 iget-object v3, v0, Lcom/android/server/am/ActivityManagerService;->mContext:Landroid/content/Context;
51865 invoke-virtual {v3}, Landroid/content/Context;->getPackageManager()Landroid/content/pm/PackageManager;
51867 move-result-object v3
51871 move-object/from16 v0, p1
51873 invoke-virtual {v3, v0, v4}, Landroid/content/pm/PackageManager;->getInstrumentationInfo(Landroid/content/ComponentName;I)Landroid/content/pm/InstrumentationInfo;
51875 move-result-object v13
51877 invoke-static {}, Landroid/app/AppGlobals;->getPackageManager()Landroid/content/pm/IPackageManager;
51879 move-result-object v3
51881 iget-object v4, v13, Landroid/content/pm/InstrumentationInfo;->targetPackage:Ljava/lang/String;
51887 invoke-interface {v3, v4, v5, v0}, Landroid/content/pm/IPackageManager;->getApplicationInfo(Ljava/lang/String;II)Landroid/content/pm/ApplicationInfo;
51889 .catchall {:try_start_2f .. :try_end_4c} :catchall_93
51890 .catch Landroid/content/pm/PackageManager$NameNotFoundException; {:try_start_2f .. :try_end_4c} :catch_13c
51891 .catch Landroid/os/RemoteException; {:try_start_2f .. :try_end_4c} :catch_139
51893 move-result-object v11
51896 if-nez v13, :cond_70
51899 new-instance v3, Ljava/lang/StringBuilder;
51901 invoke-direct {v3}, Ljava/lang/StringBuilder;-><init>()V
51903 const-string v4, "Unable to find instrumentation info for: "
51905 invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
51907 move-result-object v3
51909 move-object/from16 v0, p1
51911 invoke-virtual {v3, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
51913 move-result-object v3
51915 invoke-virtual {v3}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
51917 move-result-object v3
51919 move-object/from16 v0, p0
51921 move-object/from16 v1, p5
51923 move-object/from16 v2, p1
51925 invoke-direct {v0, v1, v2, v3}, Lcom/android/server/am/ActivityManagerService;->reportStartInstrumentationFailure(Landroid/app/IInstrumentationWatcher;Landroid/content/ComponentName;Ljava/lang/String;)V
51935 if-nez v11, :cond_96
51937 new-instance v3, Ljava/lang/StringBuilder;
51939 invoke-direct {v3}, Ljava/lang/StringBuilder;-><init>()V
51941 const-string v4, "Unable to find instrumentation target package: "
51943 invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
51945 move-result-object v3
51947 iget-object v4, v13, Landroid/content/pm/InstrumentationInfo;->targetPackage:Ljava/lang/String;
51949 invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
51951 move-result-object v3
51953 invoke-virtual {v3}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
51955 move-result-object v3
51957 move-object/from16 v0, p0
51959 move-object/from16 v1, p5
51961 move-object/from16 v2, p1
51963 invoke-direct {v0, v1, v2, v3}, Lcom/android/server/am/ActivityManagerService;->reportStartInstrumentationFailure(Landroid/app/IInstrumentationWatcher;Landroid/content/ComponentName;Ljava/lang/String;)V
51976 .catchall {:try_start_4f .. :try_end_95} :catchall_93
51982 move-object/from16 v0, p0
51984 iget-object v3, v0, Lcom/android/server/am/ActivityManagerService;->mContext:Landroid/content/Context;
51986 invoke-virtual {v3}, Landroid/content/Context;->getPackageManager()Landroid/content/pm/PackageManager;
51988 move-result-object v3
51990 iget-object v4, v13, Landroid/content/pm/InstrumentationInfo;->targetPackage:Ljava/lang/String;
51992 iget-object v5, v13, Landroid/content/pm/InstrumentationInfo;->packageName:Ljava/lang/String;
51994 invoke-virtual {v3, v4, v5}, Landroid/content/pm/PackageManager;->checkSignatures(Ljava/lang/String;Ljava/lang/String;)I
51998 if-gez v14, :cond_103
52002 if-eq v14, v3, :cond_103
52004 new-instance v3, Ljava/lang/StringBuilder;
52006 invoke-direct {v3}, Ljava/lang/StringBuilder;-><init>()V
52008 const-string v4, "Permission Denial: starting instrumentation "
52010 invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
52012 move-result-object v3
52014 move-object/from16 v0, p1
52016 invoke-virtual {v3, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
52018 move-result-object v3
52020 const-string v4, " from pid="
52022 invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
52024 move-result-object v3
52026 invoke-static {}, Landroid/os/Binder;->getCallingPid()I
52030 invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
52032 move-result-object v3
52034 const-string v4, ", uid="
52036 invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
52038 move-result-object v3
52040 invoke-static {}, Landroid/os/Binder;->getCallingPid()I
52044 invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
52046 move-result-object v3
52048 const-string v4, " not allowed because package "
52050 invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
52052 move-result-object v3
52054 iget-object v4, v13, Landroid/content/pm/InstrumentationInfo;->packageName:Ljava/lang/String;
52056 invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
52058 move-result-object v3
52060 const-string v4, " does not have a signature matching the target "
52062 invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
52064 move-result-object v3
52066 iget-object v4, v13, Landroid/content/pm/InstrumentationInfo;->targetPackage:Ljava/lang/String;
52068 invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
52070 move-result-object v3
52072 invoke-virtual {v3}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
52074 move-result-object v15
52076 move-object/from16 v0, p0
52078 move-object/from16 v1, p5
52080 move-object/from16 v2, p1
52082 invoke-direct {v0, v1, v2, v15}, Lcom/android/server/am/ActivityManagerService;->reportStartInstrumentationFailure(Landroid/app/IInstrumentationWatcher;Landroid/content/ComponentName;Ljava/lang/String;)V
52084 new-instance v3, Ljava/lang/SecurityException;
52086 invoke-direct {v3, v15}, Ljava/lang/SecurityException;-><init>(Ljava/lang/String;)V
52091 invoke-static {}, Landroid/os/Binder;->clearCallingIdentity()J
52093 move-result-wide v16
52095 iget-object v4, v13, Landroid/content/pm/InstrumentationInfo;->targetPackage:Ljava/lang/String;
52107 move-object/from16 v3, p0
52109 move/from16 v10, p6
52111 invoke-direct/range {v3 .. v10}, Lcom/android/server/am/ActivityManagerService;->forceStopPackageLocked(Ljava/lang/String;IZZZZI)Z
52115 move-object/from16 v0, p0
52117 invoke-virtual {v0, v11, v3}, Lcom/android/server/am/ActivityManagerService;->addAppLocked(Landroid/content/pm/ApplicationInfo;Z)Lcom/android/server/am/ProcessRecord;
52119 move-result-object v12
52121 move-object/from16 v0, p1
52123 iput-object v0, v12, Lcom/android/server/am/ProcessRecord;->instrumentationClass:Landroid/content/ComponentName;
52125 iput-object v11, v12, Lcom/android/server/am/ProcessRecord;->instrumentationInfo:Landroid/content/pm/ApplicationInfo;
52127 move-object/from16 v0, p2
52129 iput-object v0, v12, Lcom/android/server/am/ProcessRecord;->instrumentationProfileFile:Ljava/lang/String;
52131 move-object/from16 v0, p4
52133 iput-object v0, v12, Lcom/android/server/am/ProcessRecord;->instrumentationArguments:Landroid/os/Bundle;
52135 move-object/from16 v0, p5
52137 iput-object v0, v12, Lcom/android/server/am/ProcessRecord;->instrumentationWatcher:Landroid/app/IInstrumentationWatcher;
52139 move-object/from16 v0, p1
52141 iput-object v0, v12, Lcom/android/server/am/ProcessRecord;->instrumentationResultClass:Landroid/content/ComponentName;
52143 invoke-static/range {v16 .. v17}, Landroid/os/Binder;->restoreCallingIdentity(J)V
52147 .catchall {:try_start_96 .. :try_end_136} :catchall_93
52164 .method public startNextMatchingActivity(Landroid/os/IBinder;Landroid/content/Intent;Landroid/os/Bundle;)Z
52167 if-eqz p2, :cond_11
52169 invoke-virtual/range {p2 .. p2}, Landroid/content/Intent;->hasFileDescriptors()Z
52175 if-ne v2, v3, :cond_11
52177 new-instance v2, Ljava/lang/IllegalArgumentException;
52179 const-string v3, "File descriptors passed in Intent"
52181 invoke-direct {v2, v3}, Ljava/lang/IllegalArgumentException;-><init>(Ljava/lang/String;)V
52189 move-object/from16 v0, p0
52191 iget-object v2, v0, Lcom/android/server/am/ActivityManagerService;->mMainStack:Lcom/android/server/am/ActivityStack;
52193 move-object/from16 v0, p1
52195 invoke-virtual {v2, v0}, Lcom/android/server/am/ActivityStack;->isInStackLocked(Landroid/os/IBinder;)Lcom/android/server/am/ActivityRecord;
52197 move-result-object v20
52199 if-nez v20, :cond_24
52201 invoke-static/range {p3 .. p3}, Landroid/app/ActivityOptions;->abort(Landroid/os/Bundle;)V
52211 move-object/from16 v0, v20
52213 iget-object v2, v0, Lcom/android/server/am/ActivityRecord;->app:Lcom/android/server/am/ProcessRecord;
52215 if-eqz v2, :cond_32
52217 move-object/from16 v0, v20
52219 iget-object v2, v0, Lcom/android/server/am/ActivityRecord;->app:Lcom/android/server/am/ProcessRecord;
52221 iget-object v2, v2, Lcom/android/server/am/ProcessRecord;->thread:Landroid/app/IApplicationThread;
52223 if-nez v2, :cond_3b
52226 invoke-static/range {p3 .. p3}, Landroid/app/ActivityOptions;->abort(Landroid/os/Bundle;)V
52240 .catchall {:try_start_12 .. :try_end_3a} :catchall_38
52246 new-instance v4, Landroid/content/Intent;
52248 move-object/from16 v0, p2
52250 invoke-direct {v4, v0}, Landroid/content/Intent;-><init>(Landroid/content/Intent;)V
52252 .catchall {:try_start_3b .. :try_end_42} :catchall_38
52255 move-object/from16 v0, v20
52257 iget-object v2, v0, Lcom/android/server/am/ActivityRecord;->intent:Landroid/content/Intent;
52259 invoke-virtual {v2}, Landroid/content/Intent;->getData()Landroid/net/Uri;
52261 move-result-object v2
52263 move-object/from16 v0, v20
52265 iget-object v3, v0, Lcom/android/server/am/ActivityRecord;->intent:Landroid/content/Intent;
52267 invoke-virtual {v3}, Landroid/content/Intent;->getType()Ljava/lang/String;
52269 move-result-object v3
52271 invoke-virtual {v4, v2, v3}, Landroid/content/Intent;->setDataAndType(Landroid/net/Uri;Ljava/lang/String;)Landroid/content/Intent;
52275 invoke-virtual {v4, v2}, Landroid/content/Intent;->setComponent(Landroid/content/ComponentName;)Landroid/content/Intent;
52277 .catchall {:try_start_42 .. :try_end_59} :catchall_14b
52282 invoke-static {}, Landroid/app/AppGlobals;->getPackageManager()Landroid/content/pm/IPackageManager;
52284 move-result-object v2
52286 move-object/from16 v0, v20
52288 iget-object v3, v0, Lcom/android/server/am/ActivityRecord;->resolvedType:Ljava/lang/String;
52292 invoke-static {}, Landroid/os/UserHandle;->getCallingUserId()I
52296 invoke-interface {v2, v4, v3, v5, v7}, Landroid/content/pm/IPackageManager;->queryIntentActivities(Landroid/content/Intent;Ljava/lang/String;II)Ljava/util/List;
52298 move-result-object v23
52300 if-eqz v23, :cond_c6
52302 invoke-interface/range {v23 .. v23}, Ljava/util/List;->size()I
52310 move/from16 v0, v17
52312 move/from16 v1, v16
52314 if-ge v0, v1, :cond_bb
52316 move-object/from16 v0, v23
52318 move/from16 v1, v17
52320 invoke-interface {v0, v1}, Ljava/util/List;->get(I)Ljava/lang/Object;
52322 move-result-object v21
52324 check-cast v21, Landroid/content/pm/ResolveInfo;
52326 move-object/from16 v0, v21
52328 iget-object v2, v0, Landroid/content/pm/ResolveInfo;->activityInfo:Landroid/content/pm/ActivityInfo;
52330 iget-object v2, v2, Landroid/content/pm/ActivityInfo;->packageName:Ljava/lang/String;
52332 move-object/from16 v0, v20
52334 iget-object v3, v0, Lcom/android/server/am/ActivityRecord;->packageName:Ljava/lang/String;
52336 invoke-virtual {v2, v3}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
52340 if-eqz v2, :cond_c9
52342 move-object/from16 v0, v21
52344 iget-object v2, v0, Landroid/content/pm/ResolveInfo;->activityInfo:Landroid/content/pm/ActivityInfo;
52346 iget-object v2, v2, Landroid/content/pm/ActivityInfo;->name:Ljava/lang/String;
52348 move-object/from16 v0, v20
52350 iget-object v3, v0, Lcom/android/server/am/ActivityRecord;->info:Landroid/content/pm/ActivityInfo;
52352 iget-object v3, v3, Landroid/content/pm/ActivityInfo;->name:Ljava/lang/String;
52354 invoke-virtual {v2, v3}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
52358 if-eqz v2, :cond_c9
52360 add-int/lit8 v17, v17, 0x1
52362 move/from16 v0, v17
52364 move/from16 v1, v16
52366 if-ge v0, v1, :cond_bb
52368 move-object/from16 v0, v23
52370 move/from16 v1, v17
52372 invoke-interface {v0, v1}, Ljava/util/List;->get(I)Ljava/lang/Object;
52374 move-result-object v2
52376 check-cast v2, Landroid/content/pm/ResolveInfo;
52378 iget-object v6, v2, Landroid/content/pm/ResolveInfo;->activityInfo:Landroid/content/pm/ActivityInfo;
52380 .catchall {:try_start_5a .. :try_end_bb} :catchall_14b
52381 .catch Landroid/os/RemoteException; {:try_start_5a .. :try_end_bb} :catch_150
52385 if-nez v6, :cond_cc
52388 invoke-static/range {p3 .. p3}, Landroid/app/ActivityOptions;->abort(Landroid/os/Bundle;)V
52394 move-object/from16 p2, v4
52404 add-int/lit8 v17, v17, 0x1
52409 new-instance v2, Landroid/content/ComponentName;
52411 iget-object v3, v6, Landroid/content/pm/ActivityInfo;->applicationInfo:Landroid/content/pm/ApplicationInfo;
52413 iget-object v3, v3, Landroid/content/pm/ApplicationInfo;->packageName:Ljava/lang/String;
52415 iget-object v5, v6, Landroid/content/pm/ActivityInfo;->name:Ljava/lang/String;
52417 invoke-direct {v2, v3, v5}, Landroid/content/ComponentName;-><init>(Ljava/lang/String;Ljava/lang/String;)V
52419 invoke-virtual {v4, v2}, Landroid/content/Intent;->setComponent(Landroid/content/ComponentName;)Landroid/content/Intent;
52421 invoke-virtual {v4}, Landroid/content/Intent;->getFlags()I
52425 const v3, -0x1e000001
52427 and-int/2addr v2, v3
52429 invoke-virtual {v4, v2}, Landroid/content/Intent;->setFlags(I)Landroid/content/Intent;
52431 move-object/from16 v0, v20
52433 iget-boolean v0, v0, Lcom/android/server/am/ActivityRecord;->finishing:Z
52435 move/from16 v25, v0
52439 move-object/from16 v0, v20
52441 iput-boolean v2, v0, Lcom/android/server/am/ActivityRecord;->finishing:Z
52443 move-object/from16 v0, v20
52445 iget-object v0, v0, Lcom/android/server/am/ActivityRecord;->resultTo:Lcom/android/server/am/ActivityRecord;
52447 move-object/from16 v24, v0
52449 move-object/from16 v0, v20
52451 iget-object v8, v0, Lcom/android/server/am/ActivityRecord;->resultWho:Ljava/lang/String;
52453 move-object/from16 v0, v20
52455 iget v9, v0, Lcom/android/server/am/ActivityRecord;->requestCode:I
52459 move-object/from16 v0, v20
52461 iput-object v2, v0, Lcom/android/server/am/ActivityRecord;->resultTo:Lcom/android/server/am/ActivityRecord;
52463 if-eqz v24, :cond_10c
52465 move-object/from16 v0, v24
52467 move-object/from16 v1, v20
52469 invoke-virtual {v0, v1, v8, v9}, Lcom/android/server/am/ActivityRecord;->removeResultsLocked(Lcom/android/server/am/ActivityRecord;Ljava/lang/String;I)V
52472 invoke-static {}, Landroid/os/Binder;->clearCallingIdentity()J
52474 move-result-wide v18
52476 move-object/from16 v0, p0
52478 iget-object v2, v0, Lcom/android/server/am/ActivityManagerService;->mMainStack:Lcom/android/server/am/ActivityStack;
52480 move-object/from16 v0, v20
52482 iget-object v3, v0, Lcom/android/server/am/ActivityRecord;->app:Lcom/android/server/am/ProcessRecord;
52484 iget-object v3, v3, Lcom/android/server/am/ProcessRecord;->thread:Landroid/app/IApplicationThread;
52486 move-object/from16 v0, v20
52488 iget-object v5, v0, Lcom/android/server/am/ActivityRecord;->resolvedType:Ljava/lang/String;
52490 if-eqz v24, :cond_143
52492 move-object/from16 v0, v24
52494 iget-object v7, v0, Lcom/android/server/am/ActivityRecord;->appToken:Landroid/view/IApplicationToken$Stub;
52499 move-object/from16 v0, v20
52501 iget v11, v0, Lcom/android/server/am/ActivityRecord;->launchedFromUid:I
52509 move-object/from16 v13, p3
52511 invoke-virtual/range {v2 .. v15}, Lcom/android/server/am/ActivityStack;->startActivityLocked(Landroid/app/IApplicationThread;Landroid/content/Intent;Ljava/lang/String;Landroid/content/pm/ActivityInfo;Landroid/os/IBinder;Ljava/lang/String;IIIILandroid/os/Bundle;Z[Lcom/android/server/am/ActivityRecord;)I
52515 invoke-static/range {v18 .. v19}, Landroid/os/Binder;->restoreCallingIdentity(J)V
52517 move/from16 v0, v25
52519 move-object/from16 v1, v20
52521 iput-boolean v0, v1, Lcom/android/server/am/ActivityRecord;->finishing:Z
52523 if-eqz v22, :cond_145
52529 move-object/from16 p2, v4
52543 .catchall {:try_start_bd .. :try_end_147} :catchall_14b
52545 move-object/from16 p2, v4
52552 move-object/from16 p2, v4
52562 .method final startProcessLocked(Ljava/lang/String;Landroid/content/pm/ApplicationInfo;ZILjava/lang/String;Landroid/content/ComponentName;ZZ)Lcom/android/server/am/ProcessRecord;
52565 if-nez p8, :cond_1b
52567 iget v2, p2, Landroid/content/pm/ApplicationInfo;->uid:I
52569 invoke-virtual {p0, p1, v2}, Lcom/android/server/am/ActivityManagerService;->getProcessRecordLocked(Ljava/lang/String;I)Lcom/android/server/am/ProcessRecord;
52571 move-result-object v0
52574 if-eqz v0, :cond_22
52576 iget v2, v0, Lcom/android/server/am/ProcessRecord;->pid:I
52578 if-lez v2, :cond_22
52580 if-eqz p3, :cond_14
52582 iget-object v2, v0, Lcom/android/server/am/ProcessRecord;->thread:Landroid/app/IApplicationThread;
52584 if-nez v2, :cond_1d
52587 iget-object v2, p2, Landroid/content/pm/ApplicationInfo;->packageName:Ljava/lang/String;
52589 invoke-virtual {v0, v2}, Lcom/android/server/am/ProcessRecord;->addPackage(Ljava/lang/String;)Z
52606 invoke-direct {p0, v0, v2, v3}, Lcom/android/server/am/ActivityManagerService;->handleAppDiedLocked(Lcom/android/server/am/ProcessRecord;ZZ)V
52609 if-eqz p6, :cond_3c
52611 invoke-virtual {p6}, Landroid/content/ComponentName;->flattenToShortString()Ljava/lang/String;
52613 move-result-object v1
52616 if-nez p8, :cond_84
52618 and-int/lit8 v2, p4, 0x4
52620 if-eqz v2, :cond_3e
52622 iget-object v2, p0, Lcom/android/server/am/ActivityManagerService;->mBadProcesses:Lcom/android/server/ProcessMap;
52624 iget-object v3, p2, Landroid/content/pm/ApplicationInfo;->processName:Ljava/lang/String;
52626 iget v4, p2, Landroid/content/pm/ApplicationInfo;->uid:I
52628 invoke-virtual {v2, v3, v4}, Lcom/android/server/ProcessMap;->get(Ljava/lang/String;I)Ljava/lang/Object;
52630 move-result-object v2
52632 if-eqz v2, :cond_84
52644 iget-object v2, p0, Lcom/android/server/am/ActivityManagerService;->mProcessCrashTimes:Lcom/android/server/ProcessMap;
52646 iget-object v3, p2, Landroid/content/pm/ApplicationInfo;->processName:Ljava/lang/String;
52648 iget v4, p2, Landroid/content/pm/ApplicationInfo;->uid:I
52650 invoke-virtual {v2, v3, v4}, Lcom/android/server/ProcessMap;->remove(Ljava/lang/String;I)V
52652 iget-object v2, p0, Lcom/android/server/am/ActivityManagerService;->mBadProcesses:Lcom/android/server/ProcessMap;
52654 iget-object v3, p2, Landroid/content/pm/ApplicationInfo;->processName:Ljava/lang/String;
52656 iget v4, p2, Landroid/content/pm/ApplicationInfo;->uid:I
52658 invoke-virtual {v2, v3, v4}, Lcom/android/server/ProcessMap;->get(Ljava/lang/String;I)Ljava/lang/Object;
52660 move-result-object v2
52662 if-eqz v2, :cond_84
52664 const/16 v2, 0x7540
52668 new-array v3, v3, [Ljava/lang/Object;
52672 iget v5, p2, Landroid/content/pm/ApplicationInfo;->uid:I
52674 invoke-static {v5}, Landroid/os/UserHandle;->getUserId(I)I
52678 invoke-static {v5}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
52680 move-result-object v5
52682 aput-object v5, v3, v4
52686 iget v5, p2, Landroid/content/pm/ApplicationInfo;->uid:I
52688 invoke-static {v5}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
52690 move-result-object v5
52692 aput-object v5, v3, v4
52696 iget-object v5, p2, Landroid/content/pm/ApplicationInfo;->processName:Ljava/lang/String;
52698 aput-object v5, v3, v4
52700 invoke-static {v2, v3}, Landroid/util/EventLog;->writeEvent(I[Ljava/lang/Object;)I
52702 iget-object v2, p0, Lcom/android/server/am/ActivityManagerService;->mBadProcesses:Lcom/android/server/ProcessMap;
52704 iget-object v3, p2, Landroid/content/pm/ApplicationInfo;->processName:Ljava/lang/String;
52706 iget v4, p2, Landroid/content/pm/ApplicationInfo;->uid:I
52708 invoke-virtual {v2, v3, v4}, Lcom/android/server/ProcessMap;->remove(Ljava/lang/String;I)V
52710 if-eqz v0, :cond_84
52714 iput-boolean v2, v0, Lcom/android/server/am/ProcessRecord;->bad:Z
52717 if-nez v0, :cond_ea
52721 invoke-virtual {p0, v2, p2, p1, p8}, Lcom/android/server/am/ActivityManagerService;->newProcessRecordLocked(Landroid/app/IApplicationThread;Landroid/content/pm/ApplicationInfo;Ljava/lang/String;Z)Lcom/android/server/am/ProcessRecord;
52723 move-result-object v0
52725 if-nez v0, :cond_be
52727 const-string v2, "ActivityManager"
52729 new-instance v3, Ljava/lang/StringBuilder;
52731 invoke-direct {v3}, Ljava/lang/StringBuilder;-><init>()V
52733 const-string v4, "Failed making new process record for "
52735 invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
52737 move-result-object v3
52739 invoke-virtual {v3, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
52741 move-result-object v3
52743 const-string v4, "/"
52745 invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
52747 move-result-object v3
52749 iget v4, p2, Landroid/content/pm/ApplicationInfo;->uid:I
52751 invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
52753 move-result-object v3
52755 const-string v4, " isolated="
52757 invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
52759 move-result-object v3
52761 invoke-virtual {v3, p8}, Ljava/lang/StringBuilder;->append(Z)Ljava/lang/StringBuilder;
52763 move-result-object v3
52765 invoke-virtual {v3}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
52767 move-result-object v3
52769 invoke-static {v2, v3}, Landroid/util/Slog;->w(Ljava/lang/String;Ljava/lang/String;)I
52776 iget-object v2, p0, Lcom/android/server/am/ActivityManagerService;->mProcessNames:Lcom/android/server/ProcessMap;
52778 iget v3, v0, Lcom/android/server/am/ProcessRecord;->uid:I
52780 invoke-virtual {v2, p1, v3, v0}, Lcom/android/server/ProcessMap;->put(Ljava/lang/String;ILjava/lang/Object;)Ljava/lang/Object;
52782 if-eqz p8, :cond_ce
52784 iget-object v2, p0, Lcom/android/server/am/ActivityManagerService;->mIsolatedProcesses:Landroid/util/SparseArray;
52786 iget v3, v0, Lcom/android/server/am/ProcessRecord;->uid:I
52788 invoke-virtual {v2, v3, v0}, Landroid/util/SparseArray;->put(ILjava/lang/Object;)V
52792 iget-boolean v2, p0, Lcom/android/server/am/ActivityManagerService;->mProcessesReady:Z
52794 if-nez v2, :cond_f0
52796 invoke-virtual {p0, p2}, Lcom/android/server/am/ActivityManagerService;->isAllowedWhileBooting(Landroid/content/pm/ApplicationInfo;)Z
52800 if-nez v2, :cond_f0
52802 if-nez p7, :cond_f0
52804 iget-object v2, p0, Lcom/android/server/am/ActivityManagerService;->mProcessesOnHold:Ljava/util/ArrayList;
52806 invoke-virtual {v2, v0}, Ljava/util/ArrayList;->contains(Ljava/lang/Object;)Z
52810 if-nez v2, :cond_e7
52812 iget-object v2, p0, Lcom/android/server/am/ActivityManagerService;->mProcessesOnHold:Ljava/util/ArrayList;
52814 invoke-virtual {v2, v0}, Ljava/util/ArrayList;->add(Ljava/lang/Object;)Z
52822 iget-object v2, p2, Landroid/content/pm/ApplicationInfo;->packageName:Ljava/lang/String;
52824 invoke-virtual {v0, v2}, Lcom/android/server/am/ProcessRecord;->addPackage(Ljava/lang/String;)Z
52829 invoke-direct {p0, v0, p5, v1}, Lcom/android/server/am/ActivityManagerService;->startProcessLocked(Lcom/android/server/am/ProcessRecord;Ljava/lang/String;Ljava/lang/String;)V
52831 iget v2, v0, Lcom/android/server/am/ProcessRecord;->pid:I
52833 if-eqz v2, :cond_fa
52845 .method public final startRunning(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
52853 iget-boolean v0, p0, Lcom/android/server/am/ActivityManagerService;->mStartRunning:Z
52865 iput-boolean v0, p0, Lcom/android/server/am/ActivityManagerService;->mStartRunning:Z
52867 if-eqz p1, :cond_25
52869 if-eqz p2, :cond_25
52871 new-instance v0, Landroid/content/ComponentName;
52873 invoke-direct {v0, p1, p2}, Landroid/content/ComponentName;-><init>(Ljava/lang/String;Ljava/lang/String;)V
52876 iput-object v0, p0, Lcom/android/server/am/ActivityManagerService;->mTopComponent:Landroid/content/ComponentName;
52878 if-eqz p3, :cond_27
52881 iput-object p3, p0, Lcom/android/server/am/ActivityManagerService;->mTopAction:Ljava/lang/String;
52883 iput-object p4, p0, Lcom/android/server/am/ActivityManagerService;->mTopData:Ljava/lang/String;
52885 iget-boolean v0, p0, Lcom/android/server/am/ActivityManagerService;->mSystemReady:Z
52887 if-nez v0, :cond_2a
52898 .catchall {:try_start_2 .. :try_end_24} :catchall_22
52909 const-string p3, "android.intent.action.MAIN"
52916 .catchall {:try_start_27 .. :try_end_2b} :catchall_22
52918 invoke-virtual {p0, v1}, Lcom/android/server/am/ActivityManagerService;->systemReady(Ljava/lang/Runnable;)V
52923 .method public startService(Landroid/app/IApplicationThread;Landroid/content/Intent;Ljava/lang/String;I)Landroid/content/ComponentName;
52926 const-string v0, "startService"
52928 invoke-virtual {p0, v0}, Lcom/android/server/am/ActivityManagerService;->enforceNotIsolatedCaller(Ljava/lang/String;)V
52930 if-eqz p2, :cond_16
52932 invoke-virtual {p2}, Landroid/content/Intent;->hasFileDescriptors()Z
52938 if-ne v0, v1, :cond_16
52940 new-instance v0, Ljava/lang/IllegalArgumentException;
52942 const-string v1, "File descriptors passed in Intent"
52944 invoke-direct {v0, v1}, Ljava/lang/IllegalArgumentException;-><init>(Ljava/lang/String;)V
52952 invoke-static {}, Landroid/os/Binder;->getCallingPid()I
52956 invoke-static {}, Landroid/os/Binder;->getCallingUid()I
52960 invoke-direct {p0, v5, p4}, Lcom/android/server/am/ActivityManagerService;->checkValidCaller(II)V
52962 invoke-static {}, Landroid/os/Binder;->clearCallingIdentity()J
52964 move-result-wide v7
52966 iget-object v0, p0, Lcom/android/server/am/ActivityManagerService;->mServices:Lcom/android/server/am/ActiveServices;
52976 invoke-virtual/range {v0 .. v6}, Lcom/android/server/am/ActiveServices;->startServiceLocked(Landroid/app/IApplicationThread;Landroid/content/Intent;Ljava/lang/String;III)Landroid/content/ComponentName;
52978 move-result-object v9
52980 invoke-static {v7, v8}, Landroid/os/Binder;->restoreCallingIdentity(J)V
52991 .catchall {:try_start_17 .. :try_end_37} :catchall_35
52996 .method startServiceInPackage(ILandroid/content/Intent;Ljava/lang/String;I)Landroid/content/ComponentName;
53002 invoke-static {}, Landroid/os/Binder;->clearCallingIdentity()J
53004 move-result-wide v7
53006 iget-object v0, p0, Lcom/android/server/am/ActivityManagerService;->mServices:Lcom/android/server/am/ActiveServices;
53020 invoke-virtual/range {v0 .. v6}, Lcom/android/server/am/ActiveServices;->startServiceLocked(Landroid/app/IApplicationThread;Landroid/content/Intent;Ljava/lang/String;III)Landroid/content/ComponentName;
53022 move-result-object v9
53024 invoke-static {v7, v8}, Landroid/os/Binder;->restoreCallingIdentity(J)V
53035 .catchall {:try_start_1 .. :try_end_18} :catchall_16
53040 .method startSetupActivityLocked()V
53043 move-object/from16 v0, p0
53045 iget-boolean v2, v0, Lcom/android/server/am/ActivityManagerService;->mCheckedForSetup:Z
53054 move-object/from16 v0, p0
53056 iget-object v2, v0, Lcom/android/server/am/ActivityManagerService;->mContext:Landroid/content/Context;
53058 invoke-virtual {v2}, Landroid/content/Context;->getContentResolver()Landroid/content/ContentResolver;
53060 move-result-object v18
53062 move-object/from16 v0, p0
53064 iget v2, v0, Lcom/android/server/am/ActivityManagerService;->mFactoryTest:I
53068 if-eq v2, v3, :cond_6
53070 const-string v2, "device_provisioned"
53074 move-object/from16 v0, v18
53076 invoke-static {v0, v2, v3}, Landroid/provider/Settings$Global;->getInt(Landroid/content/ContentResolver;Ljava/lang/String;I)I
53084 move-object/from16 v0, p0
53086 iput-boolean v2, v0, Lcom/android/server/am/ActivityManagerService;->mCheckedForSetup:Z
53088 new-instance v4, Landroid/content/Intent;
53090 const-string v2, "android.intent.action.UPGRADE_SETUP"
53092 invoke-direct {v4, v2}, Landroid/content/Intent;-><init>(Ljava/lang/String;)V
53094 sget-object v2, Lcom/android/server/am/ActivityManagerService;->mSelf:Lcom/android/server/am/ActivityManagerService;
53096 iget-object v2, v2, Lcom/android/server/am/ActivityManagerService;->mContext:Landroid/content/Context;
53098 invoke-virtual {v2}, Landroid/content/Context;->getPackageManager()Landroid/content/pm/PackageManager;
53100 move-result-object v2
53104 invoke-virtual {v2, v4, v3}, Landroid/content/pm/PackageManager;->queryIntentActivities(Landroid/content/Intent;I)Ljava/util/List;
53106 move-result-object v20
53113 if-eqz v20, :cond_67
53115 invoke-interface/range {v20 .. v20}, Ljava/util/List;->size()I
53119 move/from16 v0, v16
53121 if-ge v0, v2, :cond_67
53123 move-object/from16 v0, v20
53125 move/from16 v1, v16
53127 invoke-interface {v0, v1}, Ljava/util/List;->get(I)Ljava/lang/Object;
53129 move-result-object v2
53131 check-cast v2, Landroid/content/pm/ResolveInfo;
53133 iget-object v2, v2, Landroid/content/pm/ResolveInfo;->activityInfo:Landroid/content/pm/ActivityInfo;
53135 iget-object v2, v2, Landroid/content/pm/ActivityInfo;->applicationInfo:Landroid/content/pm/ApplicationInfo;
53137 iget v2, v2, Landroid/content/pm/ApplicationInfo;->flags:I
53139 and-int/lit8 v2, v2, 0x1
53141 if-eqz v2, :cond_dc
53143 move-object/from16 v0, v20
53145 move/from16 v1, v16
53147 invoke-interface {v0, v1}, Ljava/util/List;->get(I)Ljava/lang/Object;
53149 move-result-object v19
53151 check-cast v19, Landroid/content/pm/ResolveInfo;
53154 if-eqz v19, :cond_6
53156 move-object/from16 v0, v19
53158 iget-object v2, v0, Landroid/content/pm/ResolveInfo;->activityInfo:Landroid/content/pm/ActivityInfo;
53160 iget-object v2, v2, Landroid/content/pm/ActivityInfo;->metaData:Landroid/os/Bundle;
53162 if-eqz v2, :cond_e0
53164 move-object/from16 v0, v19
53166 iget-object v2, v0, Landroid/content/pm/ResolveInfo;->activityInfo:Landroid/content/pm/ActivityInfo;
53168 iget-object v2, v2, Landroid/content/pm/ActivityInfo;->metaData:Landroid/os/Bundle;
53170 const-string v3, "android.SETUP_VERSION"
53172 invoke-virtual {v2, v3}, Landroid/os/Bundle;->getString(Ljava/lang/String;)Ljava/lang/String;
53174 move-result-object v21
53177 if-nez v21, :cond_97
53179 move-object/from16 v0, v19
53181 iget-object v2, v0, Landroid/content/pm/ResolveInfo;->activityInfo:Landroid/content/pm/ActivityInfo;
53183 iget-object v2, v2, Landroid/content/pm/ActivityInfo;->applicationInfo:Landroid/content/pm/ApplicationInfo;
53185 iget-object v2, v2, Landroid/content/pm/ApplicationInfo;->metaData:Landroid/os/Bundle;
53187 if-eqz v2, :cond_97
53189 move-object/from16 v0, v19
53191 iget-object v2, v0, Landroid/content/pm/ResolveInfo;->activityInfo:Landroid/content/pm/ActivityInfo;
53193 iget-object v2, v2, Landroid/content/pm/ActivityInfo;->applicationInfo:Landroid/content/pm/ApplicationInfo;
53195 iget-object v2, v2, Landroid/content/pm/ApplicationInfo;->metaData:Landroid/os/Bundle;
53197 const-string v3, "android.SETUP_VERSION"
53199 invoke-virtual {v2, v3}, Landroid/os/Bundle;->getString(Ljava/lang/String;)Ljava/lang/String;
53201 move-result-object v21
53204 const-string v2, "last_setup_shown"
53206 move-object/from16 v0, v18
53208 invoke-static {v0, v2}, Landroid/provider/Settings$Secure;->getString(Landroid/content/ContentResolver;Ljava/lang/String;)Ljava/lang/String;
53210 move-result-object v17
53212 if-eqz v21, :cond_6
53214 move-object/from16 v0, v21
53216 move-object/from16 v1, v17
53218 invoke-virtual {v0, v1}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
53224 const/high16 v2, 0x1000
53226 invoke-virtual {v4, v2}, Landroid/content/Intent;->setFlags(I)Landroid/content/Intent;
53228 new-instance v2, Landroid/content/ComponentName;
53230 move-object/from16 v0, v19
53232 iget-object v3, v0, Landroid/content/pm/ResolveInfo;->activityInfo:Landroid/content/pm/ActivityInfo;
53234 iget-object v3, v3, Landroid/content/pm/ActivityInfo;->packageName:Ljava/lang/String;
53236 move-object/from16 v0, v19
53238 iget-object v5, v0, Landroid/content/pm/ResolveInfo;->activityInfo:Landroid/content/pm/ActivityInfo;
53240 iget-object v5, v5, Landroid/content/pm/ActivityInfo;->name:Ljava/lang/String;
53242 invoke-direct {v2, v3, v5}, Landroid/content/ComponentName;-><init>(Ljava/lang/String;Ljava/lang/String;)V
53244 invoke-virtual {v4, v2}, Landroid/content/Intent;->setComponent(Landroid/content/ComponentName;)Landroid/content/Intent;
53246 move-object/from16 v0, p0
53248 iget-object v2, v0, Lcom/android/server/am/ActivityManagerService;->mMainStack:Lcom/android/server/am/ActivityStack;
53254 move-object/from16 v0, v19
53256 iget-object v6, v0, Landroid/content/pm/ResolveInfo;->activityInfo:Landroid/content/pm/ActivityInfo;
53276 invoke-virtual/range {v2 .. v15}, Lcom/android/server/am/ActivityStack;->startActivityLocked(Landroid/app/IApplicationThread;Landroid/content/Intent;Ljava/lang/String;Landroid/content/pm/ActivityInfo;Landroid/os/IBinder;Ljava/lang/String;IIIILandroid/os/Bundle;Z[Lcom/android/server/am/ActivityRecord;)I
53281 add-int/lit8 v16, v16, 0x1
53291 .method public stopAppSwitches()V
53294 const-wide/16 v3, 0x1388
53296 const-string v1, "android.permission.STOP_APP_SWITCHES"
53298 invoke-virtual {p0, v1}, Lcom/android/server/am/ActivityManagerService;->checkCallingPermission(Ljava/lang/String;)I
53302 if-eqz v1, :cond_12
53304 new-instance v1, Ljava/lang/SecurityException;
53306 const-string v2, "Requires permission android.permission.STOP_APP_SWITCHES"
53308 invoke-direct {v1, v2}, Ljava/lang/SecurityException;-><init>(Ljava/lang/String;)V
53316 invoke-static {}, Landroid/os/SystemClock;->uptimeMillis()J
53318 move-result-wide v1
53320 add-long/2addr v1, v3
53322 iput-wide v1, p0, Lcom/android/server/am/ActivityManagerService;->mAppSwitchesAllowedTime:J
53326 iput-boolean v1, p0, Lcom/android/server/am/ActivityManagerService;->mDidAppSwitch:Z
53328 iget-object v1, p0, Lcom/android/server/am/ActivityManagerService;->mHandler:Landroid/os/Handler;
53332 invoke-virtual {v1, v2}, Landroid/os/Handler;->removeMessages(I)V
53334 iget-object v1, p0, Lcom/android/server/am/ActivityManagerService;->mHandler:Landroid/os/Handler;
53338 invoke-virtual {v1, v2}, Landroid/os/Handler;->obtainMessage(I)Landroid/os/Message;
53340 move-result-object v0
53342 iget-object v1, p0, Lcom/android/server/am/ActivityManagerService;->mHandler:Landroid/os/Handler;
53344 const-wide/16 v2, 0x1388
53346 invoke-virtual {v1, v0, v2, v3}, Landroid/os/Handler;->sendMessageDelayed(Landroid/os/Message;J)Z
53357 .catchall {:try_start_13 .. :try_end_37} :catchall_35
53362 .method public stopService(Landroid/app/IApplicationThread;Landroid/content/Intent;Ljava/lang/String;I)I
53365 const-string v0, "stopService"
53367 invoke-virtual {p0, v0}, Lcom/android/server/am/ActivityManagerService;->enforceNotIsolatedCaller(Ljava/lang/String;)V
53369 if-eqz p2, :cond_16
53371 invoke-virtual {p2}, Landroid/content/Intent;->hasFileDescriptors()Z
53377 if-ne v0, v1, :cond_16
53379 new-instance v0, Ljava/lang/IllegalArgumentException;
53381 const-string v1, "File descriptors passed in Intent"
53383 invoke-direct {v0, v1}, Ljava/lang/IllegalArgumentException;-><init>(Ljava/lang/String;)V
53388 invoke-static {}, Landroid/os/Binder;->getCallingUid()I
53392 invoke-direct {p0, v0, p4}, Lcom/android/server/am/ActivityManagerService;->checkValidCaller(II)V
53397 iget-object v0, p0, Lcom/android/server/am/ActivityManagerService;->mServices:Lcom/android/server/am/ActiveServices;
53399 invoke-virtual {v0, p1, p2, p3, p4}, Lcom/android/server/am/ActiveServices;->stopServiceLocked(Landroid/app/IApplicationThread;Landroid/content/Intent;Ljava/lang/String;I)I
53412 .catchall {:try_start_1e .. :try_end_28} :catchall_26
53417 .method public stopServiceToken(Landroid/content/ComponentName;Landroid/os/IBinder;I)Z
53423 iget-object v0, p0, Lcom/android/server/am/ActivityManagerService;->mServices:Lcom/android/server/am/ActiveServices;
53425 invoke-virtual {v0, p1, p2, p3}, Lcom/android/server/am/ActiveServices;->stopServiceTokenLocked(Landroid/content/ComponentName;Landroid/os/IBinder;I)Z
53438 .catchall {:try_start_1 .. :try_end_b} :catchall_9
53443 .method public stopUser(ILandroid/app/IStopUserCallback;)I
53446 const-string v1, "android.permission.INTERACT_ACROSS_USERS_FULL"
53448 invoke-virtual {p0, v1}, Lcom/android/server/am/ActivityManagerService;->checkCallingPermission(Ljava/lang/String;)I
53452 if-eqz v1, :cond_44
53454 new-instance v1, Ljava/lang/StringBuilder;
53456 invoke-direct {v1}, Ljava/lang/StringBuilder;-><init>()V
53458 const-string v2, "Permission Denial: switchUser() from pid="
53460 invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
53462 move-result-object v1
53464 invoke-static {}, Landroid/os/Binder;->getCallingPid()I
53468 invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
53470 move-result-object v1
53472 const-string v2, ", uid="
53474 invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
53476 move-result-object v1
53478 invoke-static {}, Landroid/os/Binder;->getCallingUid()I
53482 invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
53484 move-result-object v1
53486 const-string v2, " requires "
53488 invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
53490 move-result-object v1
53492 const-string v2, "android.permission.INTERACT_ACROSS_USERS_FULL"
53494 invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
53496 move-result-object v1
53498 invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
53500 move-result-object v0
53502 const-string v1, "ActivityManager"
53504 invoke-static {v1, v0}, Landroid/util/Slog;->w(Ljava/lang/String;Ljava/lang/String;)I
53506 new-instance v1, Ljava/lang/SecurityException;
53508 invoke-direct {v1, v0}, Ljava/lang/SecurityException;-><init>(Ljava/lang/String;)V
53513 if-gtz p1, :cond_5f
53515 new-instance v1, Ljava/lang/IllegalArgumentException;
53517 new-instance v2, Ljava/lang/StringBuilder;
53519 invoke-direct {v2}, Ljava/lang/StringBuilder;-><init>()V
53521 const-string v3, "Can\'t stop primary user "
53523 invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
53525 move-result-object v2
53527 invoke-virtual {v2, p1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
53529 move-result-object v2
53531 invoke-virtual {v2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
53533 move-result-object v2
53535 invoke-direct {v1, v2}, Ljava/lang/IllegalArgumentException;-><init>(Ljava/lang/String;)V
53543 invoke-direct {p0, p1, p2}, Lcom/android/server/am/ActivityManagerService;->stopUserLocked(ILandroid/app/IStopUserCallback;)I
53556 .catchall {:try_start_60 .. :try_end_68} :catchall_66
53561 .method public switchUser(I)Z
53564 const-string v3, "android.permission.INTERACT_ACROSS_USERS_FULL"
53566 move-object/from16 v0, p0
53568 invoke-virtual {v0, v3}, Lcom/android/server/am/ActivityManagerService;->checkCallingPermission(Ljava/lang/String;)I
53572 if-eqz v3, :cond_4a
53574 new-instance v3, Ljava/lang/StringBuilder;
53576 invoke-direct {v3}, Ljava/lang/StringBuilder;-><init>()V
53578 const-string v4, "Permission Denial: switchUser() from pid="
53580 invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
53582 move-result-object v3
53584 invoke-static {}, Landroid/os/Binder;->getCallingPid()I
53588 invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
53590 move-result-object v3
53592 const-string v4, ", uid="
53594 invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
53596 move-result-object v3
53598 invoke-static {}, Landroid/os/Binder;->getCallingUid()I
53602 invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
53604 move-result-object v3
53606 const-string v4, " requires "
53608 invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
53610 move-result-object v3
53612 const-string v4, "android.permission.INTERACT_ACROSS_USERS_FULL"
53614 invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
53616 move-result-object v3
53618 invoke-virtual {v3}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
53620 move-result-object v21
53622 const-string v3, "ActivityManager"
53624 move-object/from16 v0, v21
53626 invoke-static {v3, v0}, Landroid/util/Slog;->w(Ljava/lang/String;Ljava/lang/String;)I
53628 new-instance v3, Ljava/lang/SecurityException;
53630 move-object/from16 v0, v21
53632 invoke-direct {v3, v0}, Ljava/lang/SecurityException;-><init>(Ljava/lang/String;)V
53637 invoke-static {}, Landroid/os/Binder;->clearCallingIdentity()J
53639 move-result-wide v19
53644 .catchall {:try_start_4e .. :try_end_4f} :catchall_8d
53647 move-object/from16 v0, p0
53649 iget v0, v0, Lcom/android/server/am/ActivityManagerService;->mCurrentUserId:I
53651 move/from16 v23, v0
53653 move/from16 v0, v23
53657 if-ne v0, v1, :cond_61
53663 .catchall {:try_start_4f .. :try_end_5d} :catchall_8a
53666 invoke-static/range {v19 .. v20}, Landroid/os/Binder;->restoreCallingIdentity(J)V
53673 invoke-virtual/range {p0 .. p0}, Lcom/android/server/am/ActivityManagerService;->getUserManagerLocked()Lcom/android/server/pm/UserManagerService;
53675 move-result-object v3
53679 invoke-virtual {v3, v0}, Lcom/android/server/pm/UserManagerService;->getUserInfo(I)Landroid/content/pm/UserInfo;
53681 move-result-object v25
53683 if-nez v25, :cond_92
53685 const-string v3, "ActivityManager"
53687 new-instance v4, Ljava/lang/StringBuilder;
53689 invoke-direct {v4}, Ljava/lang/StringBuilder;-><init>()V
53691 const-string v5, "No user info for user #"
53693 invoke-virtual {v4, v5}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
53695 move-result-object v4
53699 invoke-virtual {v4, v0}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
53701 move-result-object v4
53703 invoke-virtual {v4}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
53705 move-result-object v4
53707 invoke-static {v3, v4}, Landroid/util/Slog;->w(Ljava/lang/String;Ljava/lang/String;)I
53720 .catchall {:try_start_61 .. :try_end_8c} :catchall_8a
53725 .catchall {:try_start_8c .. :try_end_8d} :catchall_8d
53730 invoke-static/range {v19 .. v20}, Landroid/os/Binder;->restoreCallingIdentity(J)V
53736 move-object/from16 v0, p0
53738 iget-object v3, v0, Lcom/android/server/am/ActivityManagerService;->mWindowManager:Lcom/android/server/wm/WindowManagerService;
53740 const v4, 0x10a0050
53742 const v5, 0x10a004f
53744 invoke-virtual {v3, v4, v5}, Lcom/android/server/wm/WindowManagerService;->startFreezingScreen(II)V
53748 move-object/from16 v0, p0
53750 iget-object v3, v0, Lcom/android/server/am/ActivityManagerService;->mStartedUsers:Landroid/util/SparseArray;
53754 invoke-virtual {v3, v0}, Landroid/util/SparseArray;->get(I)Ljava/lang/Object;
53756 move-result-object v3
53758 if-nez v3, :cond_c8
53760 move-object/from16 v0, p0
53762 iget-object v3, v0, Lcom/android/server/am/ActivityManagerService;->mStartedUsers:Landroid/util/SparseArray;
53764 new-instance v4, Lcom/android/server/am/UserStartedState;
53766 new-instance v5, Landroid/os/UserHandle;
53770 invoke-direct {v5, v0}, Landroid/os/UserHandle;-><init>(I)V
53774 invoke-direct {v4, v5, v7}, Lcom/android/server/am/UserStartedState;-><init>(Landroid/os/UserHandle;Z)V
53778 invoke-virtual {v3, v0, v4}, Landroid/util/SparseArray;->put(ILjava/lang/Object;)V
53780 invoke-direct/range {p0 .. p0}, Lcom/android/server/am/ActivityManagerService;->updateStartedUserArrayLocked()V
53787 move-object/from16 v1, p0
53789 iput v0, v1, Lcom/android/server/am/ActivityManagerService;->mCurrentUserId:I
53793 new-array v3, v3, [I
53799 move-object/from16 v0, p0
53801 iput-object v3, v0, Lcom/android/server/am/ActivityManagerService;->mCurrentUserArray:[I
53803 invoke-static/range {p1 .. p1}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
53805 move-result-object v24
53807 move-object/from16 v0, p0
53809 iget-object v3, v0, Lcom/android/server/am/ActivityManagerService;->mUserLru:Ljava/util/ArrayList;
53811 move-object/from16 v0, v24
53813 invoke-virtual {v3, v0}, Ljava/util/ArrayList;->remove(Ljava/lang/Object;)Z
53815 move-object/from16 v0, p0
53817 iget-object v3, v0, Lcom/android/server/am/ActivityManagerService;->mUserLru:Ljava/util/ArrayList;
53819 move-object/from16 v0, v24
53821 invoke-virtual {v3, v0}, Ljava/util/ArrayList;->add(Ljava/lang/Object;)Z
53823 move-object/from16 v0, p0
53825 iget-object v3, v0, Lcom/android/server/am/ActivityManagerService;->mWindowManager:Lcom/android/server/wm/WindowManagerService;
53829 invoke-virtual {v3, v0}, Lcom/android/server/wm/WindowManagerService;->setCurrentUser(I)V
53831 move-object/from16 v0, p0
53833 iget-object v3, v0, Lcom/android/server/am/ActivityManagerService;->mWindowManager:Lcom/android/server/wm/WindowManagerService;
53835 sget-object v4, Lcom/android/internal/widget/LockPatternUtils;->USER_SWITCH_LOCK_OPTIONS:Landroid/os/Bundle;
53837 invoke-virtual {v3, v4}, Lcom/android/server/wm/WindowManagerService;->lockNow(Landroid/os/Bundle;)V
53839 move-object/from16 v0, p0
53841 iget-object v3, v0, Lcom/android/server/am/ActivityManagerService;->mStartedUsers:Landroid/util/SparseArray;
53845 invoke-virtual {v3, v0}, Landroid/util/SparseArray;->get(I)Ljava/lang/Object;
53847 move-result-object v26
53849 check-cast v26, Lcom/android/server/am/UserStartedState;
53851 move-object/from16 v0, v26
53853 iget v3, v0, Lcom/android/server/am/UserStartedState;->mState:I
53857 if-ne v3, v4, :cond_21c
53861 move-object/from16 v0, v26
53863 iput v3, v0, Lcom/android/server/am/UserStartedState;->mState:I
53865 invoke-direct/range {p0 .. p0}, Lcom/android/server/am/ActivityManagerService;->updateStartedUserArrayLocked()V
53871 move-object/from16 v0, p0
53873 iget-object v3, v0, Lcom/android/server/am/ActivityManagerService;->mHandler:Landroid/os/Handler;
53877 invoke-virtual {v3, v4}, Landroid/os/Handler;->removeMessages(I)V
53879 move-object/from16 v0, p0
53881 iget-object v3, v0, Lcom/android/server/am/ActivityManagerService;->mHandler:Landroid/os/Handler;
53885 invoke-virtual {v3, v4}, Landroid/os/Handler;->removeMessages(I)V
53887 move-object/from16 v0, p0
53889 iget-object v3, v0, Lcom/android/server/am/ActivityManagerService;->mHandler:Landroid/os/Handler;
53891 move-object/from16 v0, p0
53893 iget-object v4, v0, Lcom/android/server/am/ActivityManagerService;->mHandler:Landroid/os/Handler;
53897 move/from16 v0, v23
53901 move-object/from16 v2, v26
53903 invoke-virtual {v4, v5, v0, v1, v2}, Landroid/os/Handler;->obtainMessage(IIILjava/lang/Object;)Landroid/os/Message;
53905 move-result-object v4
53907 invoke-virtual {v3, v4}, Landroid/os/Handler;->sendMessage(Landroid/os/Message;)Z
53909 move-object/from16 v0, p0
53911 iget-object v3, v0, Lcom/android/server/am/ActivityManagerService;->mHandler:Landroid/os/Handler;
53913 move-object/from16 v0, p0
53915 iget-object v4, v0, Lcom/android/server/am/ActivityManagerService;->mHandler:Landroid/os/Handler;
53919 move/from16 v0, v23
53923 move-object/from16 v2, v26
53925 invoke-virtual {v4, v5, v0, v1, v2}, Landroid/os/Handler;->obtainMessage(IIILjava/lang/Object;)Landroid/os/Message;
53927 move-result-object v4
53929 const-wide/16 v7, 0x7d0
53931 invoke-virtual {v3, v4, v7, v8}, Landroid/os/Handler;->sendMessageDelayed(Landroid/os/Message;J)Z
53933 if-eqz v22, :cond_189
53935 new-instance v6, Landroid/content/Intent;
53937 const-string v3, "android.intent.action.USER_STARTED"
53939 invoke-direct {v6, v3}, Landroid/content/Intent;-><init>(Ljava/lang/String;)V
53941 const/high16 v3, 0x5000
53943 invoke-virtual {v6, v3}, Landroid/content/Intent;->addFlags(I)Landroid/content/Intent;
53945 const-string v3, "android.intent.extra.user_handle"
53949 invoke-virtual {v6, v3, v0}, Landroid/content/Intent;->putExtra(Ljava/lang/String;I)Landroid/content/Intent;
53971 sget v15, Lcom/android/server/am/ActivityManagerService;->MY_PID:I
53973 const/16 v16, 0x3e8
53975 move-object/from16 v3, p0
53977 move/from16 v17, p1
53979 invoke-direct/range {v3 .. v17}, Lcom/android/server/am/ActivityManagerService;->broadcastIntentLocked(Lcom/android/server/am/ProcessRecord;Ljava/lang/String;Landroid/content/Intent;Ljava/lang/String;Landroid/content/IIntentReceiver;ILjava/lang/String;Landroid/os/Bundle;Ljava/lang/String;ZZIII)I
53982 move-object/from16 v0, v25
53984 iget v3, v0, Landroid/content/pm/UserInfo;->flags:I
53986 and-int/lit8 v3, v3, 0x10
53988 if-nez v3, :cond_1c1
53990 if-eqz p1, :cond_22f
53992 new-instance v6, Landroid/content/Intent;
53994 const-string v3, "android.intent.action.USER_INITIALIZE"
53996 invoke-direct {v6, v3}, Landroid/content/Intent;-><init>(Ljava/lang/String;)V
53998 const/high16 v3, 0x1000
54000 invoke-virtual {v6, v3}, Landroid/content/Intent;->addFlags(I)Landroid/content/Intent;
54008 new-instance v8, Lcom/android/server/am/ActivityManagerService$16;
54010 move-object/from16 v0, p0
54012 move-object/from16 v1, v26
54014 invoke-direct {v8, v0, v1}, Lcom/android/server/am/ActivityManagerService$16;-><init>(Lcom/android/server/am/ActivityManagerService;Lcom/android/server/am/UserStartedState;)V
54028 sget v15, Lcom/android/server/am/ActivityManagerService;->MY_PID:I
54030 const/16 v16, 0x3e8
54032 move-object/from16 v3, p0
54034 move/from16 v17, p1
54036 invoke-direct/range {v3 .. v17}, Lcom/android/server/am/ActivityManagerService;->broadcastIntentLocked(Lcom/android/server/am/ProcessRecord;Ljava/lang/String;Landroid/content/Intent;Ljava/lang/String;Landroid/content/IIntentReceiver;ILjava/lang/String;Landroid/os/Bundle;Ljava/lang/String;ZZIII)I
54040 move-object/from16 v0, v26
54042 iput-boolean v3, v0, Lcom/android/server/am/UserStartedState;->initializing:Z
54046 move-object/from16 v0, p0
54048 iget-object v3, v0, Lcom/android/server/am/ActivityManagerService;->mMainStack:Lcom/android/server/am/ActivityStack;
54052 move-object/from16 v1, v26
54054 invoke-virtual {v3, v0, v1}, Lcom/android/server/am/ActivityStack;->switchUserLocked(ILcom/android/server/am/UserStartedState;)Z
54058 if-nez v18, :cond_1d2
54060 invoke-virtual/range {p0 .. p1}, Lcom/android/server/am/ActivityManagerService;->startHomeActivityLocked(I)Z
54063 invoke-virtual/range {p0 .. p0}, Lcom/android/server/am/ActivityManagerService;->getUserManagerLocked()Lcom/android/server/pm/UserManagerService;
54065 move-result-object v3
54069 invoke-virtual {v3, v0}, Lcom/android/server/pm/UserManagerService;->userForeground(I)V
54071 move-object/from16 v0, p0
54073 move/from16 v1, v23
54077 invoke-virtual {v0, v1, v2}, Lcom/android/server/am/ActivityManagerService;->sendUserSwitchBroadcastsLocked(II)V
54079 if-eqz v22, :cond_215
54081 new-instance v6, Landroid/content/Intent;
54083 const-string v3, "android.intent.action.USER_STARTING"
54085 invoke-direct {v6, v3}, Landroid/content/Intent;-><init>(Ljava/lang/String;)V
54087 const/high16 v3, 0x4000
54089 invoke-virtual {v6, v3}, Landroid/content/Intent;->addFlags(I)Landroid/content/Intent;
54091 const-string v3, "android.intent.extra.user_handle"
54095 invoke-virtual {v6, v3, v0}, Landroid/content/Intent;->putExtra(Ljava/lang/String;I)Landroid/content/Intent;
54103 new-instance v8, Lcom/android/server/am/ActivityManagerService$17;
54105 move-object/from16 v0, p0
54107 invoke-direct {v8, v0}, Lcom/android/server/am/ActivityManagerService$17;-><init>(Lcom/android/server/am/ActivityManagerService;)V
54115 const-string v12, "android.permission.INTERACT_ACROSS_USERS"
54121 sget v15, Lcom/android/server/am/ActivityManagerService;->MY_PID:I
54123 const/16 v16, 0x3e8
54127 move-object/from16 v3, p0
54129 invoke-direct/range {v3 .. v17}, Lcom/android/server/am/ActivityManagerService;->broadcastIntentLocked(Lcom/android/server/am/ProcessRecord;Ljava/lang/String;Landroid/content/Intent;Ljava/lang/String;Landroid/content/IIntentReceiver;ILjava/lang/String;Landroid/os/Bundle;Ljava/lang/String;ZZIII)I
54134 .catchall {:try_start_92 .. :try_end_216} :catchall_8a
54136 invoke-static/range {v19 .. v20}, Landroid/os/Binder;->restoreCallingIdentity(J)V
54144 move-object/from16 v0, v26
54146 iget v3, v0, Lcom/android/server/am/UserStartedState;->mState:I
54150 if-ne v3, v4, :cond_11d
54154 move-object/from16 v0, v26
54156 iput v3, v0, Lcom/android/server/am/UserStartedState;->mState:I
54158 invoke-direct/range {p0 .. p0}, Lcom/android/server/am/ActivityManagerService;->updateStartedUserArrayLocked()V
54165 invoke-virtual/range {p0 .. p0}, Lcom/android/server/am/ActivityManagerService;->getUserManagerLocked()Lcom/android/server/pm/UserManagerService;
54167 move-result-object v3
54169 move-object/from16 v0, v25
54171 iget v4, v0, Landroid/content/pm/UserInfo;->id:I
54173 invoke-virtual {v3, v4}, Lcom/android/server/pm/UserManagerService;->makeInitialized(I)V
54175 .catchall {:try_start_21c .. :try_end_23a} :catchall_8a
54180 .method public systemReady(Ljava/lang/Runnable;)V
54186 move-object/from16 v0, p0
54188 iget-boolean v3, v0, Lcom/android/server/am/ActivityManagerService;->mSystemReady:Z
54194 invoke-interface/range {p1 .. p1}, Ljava/lang/Runnable;->run()V
54203 move-object/from16 v0, p0
54205 iget-boolean v3, v0, Lcom/android/server/am/ActivityManagerService;->mDidUpdate:Z
54207 if-nez v3, :cond_15d
54209 move-object/from16 v0, p0
54211 iget-boolean v3, v0, Lcom/android/server/am/ActivityManagerService;->mWaitingUpdate:Z
54213 if-eqz v3, :cond_1f
54224 .catchall {:try_start_1 .. :try_end_1e} :catchall_1c
54230 new-instance v6, Landroid/content/Intent;
54232 const-string v3, "android.intent.action.PRE_BOOT_COMPLETED"
54234 invoke-direct {v6, v3}, Landroid/content/Intent;-><init>(Ljava/lang/String;)V
54236 .catchall {:try_start_1f .. :try_end_26} :catchall_1c
54241 invoke-static {}, Landroid/app/AppGlobals;->getPackageManager()Landroid/content/pm/IPackageManager;
54243 move-result-object v3
54251 invoke-interface {v3, v6, v4, v5, v7}, Landroid/content/pm/IPackageManager;->queryIntentReceivers(Landroid/content/Intent;Ljava/lang/String;II)Ljava/util/List;
54253 .catchall {:try_start_28 .. :try_end_32} :catchall_1c
54254 .catch Landroid/os/RemoteException; {:try_start_28 .. :try_end_32} :catch_3af
54256 move-result-object v42
54259 if-eqz v42, :cond_14f
54262 invoke-interface/range {v42 .. v42}, Ljava/util/List;->size()I
54266 add-int/lit8 v31, v3, -0x1
54269 if-ltz v31, :cond_5b
54271 move-object/from16 v0, v42
54273 move/from16 v1, v31
54275 invoke-interface {v0, v1}, Ljava/util/List;->get(I)Ljava/lang/Object;
54277 move-result-object v3
54279 check-cast v3, Landroid/content/pm/ResolveInfo;
54281 iget-object v3, v3, Landroid/content/pm/ResolveInfo;->activityInfo:Landroid/content/pm/ActivityInfo;
54283 iget-object v3, v3, Landroid/content/pm/ActivityInfo;->applicationInfo:Landroid/content/pm/ApplicationInfo;
54285 iget v3, v3, Landroid/content/pm/ApplicationInfo;->flags:I
54287 and-int/lit8 v3, v3, 0x1
54289 if-nez v3, :cond_58
54291 move-object/from16 v0, v42
54293 move/from16 v1, v31
54295 invoke-interface {v0, v1}, Ljava/util/List;->remove(I)Ljava/lang/Object;
54298 add-int/lit8 v31, v31, -0x1
54303 const/high16 v3, 0x400
54305 invoke-virtual {v6, v3}, Landroid/content/Intent;->addFlags(I)Landroid/content/Intent;
54307 invoke-static {}, Lcom/android/server/am/ActivityManagerService;->readLastDonePreBootReceivers()Ljava/util/ArrayList;
54309 move-result-object v36
54311 new-instance v29, Ljava/util/ArrayList;
54313 invoke-direct/range {v29 .. v29}, Ljava/util/ArrayList;-><init>()V
54318 invoke-interface/range {v42 .. v42}, Ljava/util/List;->size()I
54322 move/from16 v0, v31
54324 if-ge v0, v3, :cond_a6
54326 move-object/from16 v0, v42
54328 move/from16 v1, v31
54330 invoke-interface {v0, v1}, Ljava/util/List;->get(I)Ljava/lang/Object;
54332 move-result-object v3
54334 check-cast v3, Landroid/content/pm/ResolveInfo;
54336 iget-object v0, v3, Landroid/content/pm/ResolveInfo;->activityInfo:Landroid/content/pm/ActivityInfo;
54338 move-object/from16 v25, v0
54340 new-instance v28, Landroid/content/ComponentName;
54342 move-object/from16 v0, v25
54344 iget-object v3, v0, Landroid/content/pm/ActivityInfo;->packageName:Ljava/lang/String;
54346 move-object/from16 v0, v25
54348 iget-object v4, v0, Landroid/content/pm/ActivityInfo;->name:Ljava/lang/String;
54350 move-object/from16 v0, v28
54352 invoke-direct {v0, v3, v4}, Landroid/content/ComponentName;-><init>(Ljava/lang/String;Ljava/lang/String;)V
54354 move-object/from16 v0, v36
54356 move-object/from16 v1, v28
54358 invoke-virtual {v0, v1}, Ljava/util/ArrayList;->contains(Ljava/lang/Object;)Z
54362 if-eqz v3, :cond_a3
54364 move-object/from16 v0, v42
54366 move/from16 v1, v31
54368 invoke-interface {v0, v1}, Ljava/util/List;->remove(I)Ljava/lang/Object;
54370 add-int/lit8 v31, v31, -0x1
54373 add-int/lit8 v31, v31, 0x1
54378 invoke-virtual/range {p0 .. p0}, Lcom/android/server/am/ActivityManagerService;->getUsersLocked()[I
54380 move-result-object v43
54385 invoke-interface/range {v42 .. v42}, Ljava/util/List;->size()I
54389 move/from16 v0, v31
54391 if-ge v0, v3, :cond_14f
54393 move-object/from16 v0, v42
54395 move/from16 v1, v31
54397 invoke-interface {v0, v1}, Ljava/util/List;->get(I)Ljava/lang/Object;
54399 move-result-object v3
54401 check-cast v3, Landroid/content/pm/ResolveInfo;
54403 iget-object v0, v3, Landroid/content/pm/ResolveInfo;->activityInfo:Landroid/content/pm/ActivityInfo;
54405 move-object/from16 v25, v0
54407 new-instance v28, Landroid/content/ComponentName;
54409 move-object/from16 v0, v25
54411 iget-object v3, v0, Landroid/content/pm/ActivityInfo;->packageName:Ljava/lang/String;
54413 move-object/from16 v0, v25
54415 iget-object v4, v0, Landroid/content/pm/ActivityInfo;->name:Ljava/lang/String;
54417 move-object/from16 v0, v28
54419 invoke-direct {v0, v3, v4}, Landroid/content/ComponentName;-><init>(Ljava/lang/String;Ljava/lang/String;)V
54421 move-object/from16 v0, v29
54423 move-object/from16 v1, v28
54425 invoke-virtual {v0, v1}, Ljava/util/ArrayList;->add(Ljava/lang/Object;)Z
54427 move-object/from16 v0, v28
54429 invoke-virtual {v6, v0}, Landroid/content/Intent;->setComponent(Landroid/content/ComponentName;)Landroid/content/Intent;
54434 move-object/from16 v0, v43
54436 array-length v3, v0
54438 move/from16 v0, v35
54440 if-ge v0, v3, :cond_14b
54444 invoke-interface/range {v42 .. v42}, Ljava/util/List;->size()I
54448 add-int/lit8 v3, v3, -0x1
54450 move/from16 v0, v31
54452 if-ne v0, v3, :cond_105
54454 move-object/from16 v0, v43
54456 array-length v3, v0
54458 add-int/lit8 v3, v3, -0x1
54460 move/from16 v0, v35
54462 if-ne v0, v3, :cond_105
54464 new-instance v8, Lcom/android/server/am/ActivityManagerService$9;
54466 move-object/from16 v0, p0
54468 move-object/from16 v1, v29
54470 move-object/from16 v2, p1
54472 invoke-direct {v8, v0, v1, v2}, Lcom/android/server/am/ActivityManagerService$9;-><init>(Lcom/android/server/am/ActivityManagerService;Ljava/util/ArrayList;Ljava/lang/Runnable;)V
54475 const-string v3, "ActivityManager"
54477 new-instance v4, Ljava/lang/StringBuilder;
54479 invoke-direct {v4}, Ljava/lang/StringBuilder;-><init>()V
54481 const-string v5, "Sending system update to "
54483 invoke-virtual {v4, v5}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
54485 move-result-object v4
54487 invoke-virtual {v6}, Landroid/content/Intent;->getComponent()Landroid/content/ComponentName;
54489 move-result-object v5
54491 invoke-virtual {v4, v5}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
54493 move-result-object v4
54495 const-string v5, " for user "
54497 invoke-virtual {v4, v5}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
54499 move-result-object v4
54503 invoke-virtual {v4, v5}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
54505 move-result-object v4
54507 invoke-virtual {v4}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
54509 move-result-object v4
54511 invoke-static {v3, v4}, Landroid/util/Slog;->i(Ljava/lang/String;Ljava/lang/String;)I
54531 sget v15, Lcom/android/server/am/ActivityManagerService;->MY_PID:I
54533 const/16 v16, 0x3e8
54537 move-object/from16 v3, p0
54539 invoke-direct/range {v3 .. v17}, Lcom/android/server/am/ActivityManagerService;->broadcastIntentLocked(Lcom/android/server/am/ProcessRecord;Ljava/lang/String;Landroid/content/Intent;Ljava/lang/String;Landroid/content/IIntentReceiver;ILjava/lang/String;Landroid/os/Bundle;Ljava/lang/String;ZZIII)I
54541 if-eqz v8, :cond_148
54545 move-object/from16 v0, p0
54547 iput-boolean v3, v0, Lcom/android/server/am/ActivityManagerService;->mWaitingUpdate:Z
54550 add-int/lit8 v35, v35, 0x1
54555 add-int/lit8 v31, v31, 0x1
54560 move-object/from16 v0, p0
54562 iget-boolean v3, v0, Lcom/android/server/am/ActivityManagerService;->mWaitingUpdate:Z
54564 if-eqz v3, :cond_158
54573 move-object/from16 v0, p0
54575 iput-boolean v3, v0, Lcom/android/server/am/ActivityManagerService;->mDidUpdate:Z
54580 move-object/from16 v0, p0
54582 iput-boolean v3, v0, Lcom/android/server/am/ActivityManagerService;->mSystemReady:Z
54584 move-object/from16 v0, p0
54586 iget-boolean v3, v0, Lcom/android/server/am/ActivityManagerService;->mStartRunning:Z
54588 if-nez v3, :cond_16b
54597 .catchall {:try_start_35 .. :try_end_16c} :catchall_1c
54601 move-object/from16 v0, p0
54603 iget-object v4, v0, Lcom/android/server/am/ActivityManagerService;->mPidsSelfLocked:Landroid/util/SparseArray;
54608 move-object/from16 v0, p0
54610 iget-object v3, v0, Lcom/android/server/am/ActivityManagerService;->mPidsSelfLocked:Landroid/util/SparseArray;
54612 invoke-virtual {v3}, Landroid/util/SparseArray;->size()I
54614 .catchall {:try_start_173 .. :try_end_17a} :catchall_1ea
54618 add-int/lit8 v31, v3, -0x1
54620 move-object/from16 v40, v39
54623 if-ltz v31, :cond_1ac
54626 move-object/from16 v0, p0
54628 iget-object v3, v0, Lcom/android/server/am/ActivityManagerService;->mPidsSelfLocked:Landroid/util/SparseArray;
54630 move/from16 v0, v31
54632 invoke-virtual {v3, v0}, Landroid/util/SparseArray;->valueAt(I)Ljava/lang/Object;
54634 move-result-object v38
54636 check-cast v38, Lcom/android/server/am/ProcessRecord;
54638 move-object/from16 v0, v38
54640 iget-object v3, v0, Lcom/android/server/am/ProcessRecord;->info:Landroid/content/pm/ApplicationInfo;
54642 move-object/from16 v0, p0
54644 invoke-virtual {v0, v3}, Lcom/android/server/am/ActivityManagerService;->isAllowedWhileBooting(Landroid/content/pm/ApplicationInfo;)Z
54648 if-nez v3, :cond_3b6
54650 if-nez v40, :cond_3b2
54652 new-instance v39, Ljava/util/ArrayList;
54654 invoke-direct/range {v39 .. v39}, Ljava/util/ArrayList;-><init>()V
54656 .catchall {:try_start_181 .. :try_end_1a0} :catchall_3aa
54660 move-object/from16 v0, v39
54662 move-object/from16 v1, v38
54664 invoke-virtual {v0, v1}, Ljava/util/ArrayList;->add(Ljava/lang/Object;)Z
54666 .catchall {:try_start_1a0 .. :try_end_1a7} :catchall_1ea
54669 add-int/lit8 v31, v31, -0x1
54671 move-object/from16 v40, v39
54679 .catchall {:try_start_1ac .. :try_end_1ad} :catchall_3aa
54683 if-eqz v40, :cond_1ed
54686 invoke-virtual/range {v40 .. v40}, Ljava/util/ArrayList;->size()I
54690 add-int/lit8 v31, v3, -0x1
54693 if-ltz v31, :cond_1ed
54695 move-object/from16 v0, v40
54697 move/from16 v1, v31
54699 invoke-virtual {v0, v1}, Ljava/util/ArrayList;->get(I)Ljava/lang/Object;
54701 move-result-object v38
54703 check-cast v38, Lcom/android/server/am/ProcessRecord;
54705 const-string v3, "ActivityManager"
54707 new-instance v4, Ljava/lang/StringBuilder;
54709 invoke-direct {v4}, Ljava/lang/StringBuilder;-><init>()V
54711 const-string v5, "Removing system update proc: "
54713 invoke-virtual {v4, v5}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
54715 move-result-object v4
54717 move-object/from16 v0, v38
54719 invoke-virtual {v4, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
54721 move-result-object v4
54723 invoke-virtual {v4}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
54725 move-result-object v4
54727 invoke-static {v3, v4}, Landroid/util/Slog;->i(Ljava/lang/String;Ljava/lang/String;)I
54733 const-string v5, "system update done"
54735 move-object/from16 v0, p0
54737 move-object/from16 v1, v38
54739 invoke-direct {v0, v1, v3, v4, v5}, Lcom/android/server/am/ActivityManagerService;->removeProcessLocked(Lcom/android/server/am/ProcessRecord;ZZLjava/lang/String;)Z
54741 .catchall {:try_start_1b0 .. :try_end_1e7} :catchall_2ce
54743 add-int/lit8 v31, v31, -0x1
54754 .catchall {:try_start_1eb .. :try_end_1ec} :catchall_1ea
54762 move-object/from16 v0, p0
54764 iput-boolean v3, v0, Lcom/android/server/am/ActivityManagerService;->mProcessesReady:Z
54768 .catchall {:try_start_1ee .. :try_end_1f3} :catchall_2ce
54770 const-string v3, "ActivityManager"
54772 const-string v4, "System now ready"
54774 invoke-static {v3, v4}, Landroid/util/Slog;->i(Ljava/lang/String;Ljava/lang/String;)I
54778 invoke-static {}, Landroid/os/SystemClock;->uptimeMillis()J
54780 move-result-wide v4
54782 invoke-static {v3, v4, v5}, Landroid/util/EventLog;->writeEvent(IJ)I
54787 move-object/from16 v0, p0
54789 iget v3, v0, Lcom/android/server/am/ActivityManagerService;->mFactoryTest:I
54793 if-ne v3, v4, :cond_282
54795 move-object/from16 v0, p0
54797 iget-object v3, v0, Lcom/android/server/am/ActivityManagerService;->mContext:Landroid/content/Context;
54799 invoke-virtual {v3}, Landroid/content/Context;->getPackageManager()Landroid/content/pm/PackageManager;
54801 move-result-object v3
54803 new-instance v4, Landroid/content/Intent;
54805 const-string v5, "android.intent.action.FACTORY_TEST"
54807 invoke-direct {v4, v5}, Landroid/content/Intent;-><init>(Ljava/lang/String;)V
54811 invoke-virtual {v3, v4, v5}, Landroid/content/pm/PackageManager;->resolveActivity(Landroid/content/Intent;I)Landroid/content/pm/ResolveInfo;
54813 move-result-object v41
54817 if-eqz v41, :cond_2e2
54819 move-object/from16 v0, v41
54821 iget-object v0, v0, Landroid/content/pm/ResolveInfo;->activityInfo:Landroid/content/pm/ActivityInfo;
54823 move-object/from16 v25, v0
54825 move-object/from16 v0, v25
54827 iget-object v0, v0, Landroid/content/pm/ActivityInfo;->applicationInfo:Landroid/content/pm/ApplicationInfo;
54829 move-object/from16 v26, v0
54831 move-object/from16 v0, v26
54833 iget v3, v0, Landroid/content/pm/ApplicationInfo;->flags:I
54835 and-int/lit8 v3, v3, 0x1
54837 if-eqz v3, :cond_2d1
54839 const-string v3, "android.intent.action.FACTORY_TEST"
54841 move-object/from16 v0, p0
54843 iput-object v3, v0, Lcom/android/server/am/ActivityManagerService;->mTopAction:Ljava/lang/String;
54847 move-object/from16 v0, p0
54849 iput-object v3, v0, Lcom/android/server/am/ActivityManagerService;->mTopData:Ljava/lang/String;
54851 new-instance v3, Landroid/content/ComponentName;
54853 move-object/from16 v0, v26
54855 iget-object v4, v0, Landroid/content/pm/ApplicationInfo;->packageName:Ljava/lang/String;
54857 move-object/from16 v0, v25
54859 iget-object v5, v0, Landroid/content/pm/ActivityInfo;->name:Ljava/lang/String;
54861 invoke-direct {v3, v4, v5}, Landroid/content/ComponentName;-><init>(Ljava/lang/String;Ljava/lang/String;)V
54863 move-object/from16 v0, p0
54865 iput-object v3, v0, Lcom/android/server/am/ActivityManagerService;->mTopComponent:Landroid/content/ComponentName;
54868 if-eqz v30, :cond_282
54872 move-object/from16 v0, p0
54874 iput-object v3, v0, Lcom/android/server/am/ActivityManagerService;->mTopAction:Ljava/lang/String;
54878 move-object/from16 v0, p0
54880 iput-object v3, v0, Lcom/android/server/am/ActivityManagerService;->mTopData:Ljava/lang/String;
54884 move-object/from16 v0, p0
54886 iput-object v3, v0, Lcom/android/server/am/ActivityManagerService;->mTopComponent:Landroid/content/ComponentName;
54888 invoke-static {}, Landroid/os/Message;->obtain()Landroid/os/Message;
54890 move-result-object v37
54894 move-object/from16 v0, v37
54896 iput v3, v0, Landroid/os/Message;->what:I
54898 invoke-virtual/range {v37 .. v37}, Landroid/os/Message;->getData()Landroid/os/Bundle;
54900 move-result-object v3
54902 const-string v4, "msg"
54904 move-object/from16 v0, v30
54906 invoke-virtual {v3, v4, v0}, Landroid/os/Bundle;->putCharSequence(Ljava/lang/String;Ljava/lang/CharSequence;)V
54908 move-object/from16 v0, p0
54910 iget-object v3, v0, Lcom/android/server/am/ActivityManagerService;->mHandler:Landroid/os/Handler;
54912 move-object/from16 v0, v37
54914 invoke-virtual {v3, v0}, Landroid/os/Handler;->sendMessage(Landroid/os/Message;)Z
54919 .catchall {:try_start_204 .. :try_end_283} :catchall_2f3
54921 invoke-direct/range {p0 .. p0}, Lcom/android/server/am/ActivityManagerService;->retrieveSettings()V
54923 if-eqz p1, :cond_28b
54925 invoke-interface/range {p1 .. p1}, Ljava/lang/Runnable;->run()V
54931 move-object/from16 v0, p0
54933 iget v3, v0, Lcom/android/server/am/ActivityManagerService;->mFactoryTest:I
54935 .catchall {:try_start_28c .. :try_end_290} :catchall_39f
54939 if-eq v3, v4, :cond_2f7
54942 invoke-static {}, Landroid/app/AppGlobals;->getPackageManager()Landroid/content/pm/IPackageManager;
54944 move-result-object v3
54948 invoke-interface {v3, v4}, Landroid/content/pm/IPackageManager;->getPersistentApplications(I)Ljava/util/List;
54950 move-result-object v27
54952 if-eqz v27, :cond_2f7
54954 invoke-interface/range {v27 .. v27}, Ljava/util/List;->size()I
54961 move/from16 v0, v31
54963 move/from16 v1, v24
54965 if-ge v0, v1, :cond_2f7
54967 move-object/from16 v0, v27
54969 move/from16 v1, v31
54971 invoke-interface {v0, v1}, Ljava/util/List;->get(I)Ljava/lang/Object;
54973 move-result-object v34
54975 check-cast v34, Landroid/content/pm/ApplicationInfo;
54977 if-eqz v34, :cond_2cb
54979 move-object/from16 v0, v34
54981 iget-object v3, v0, Landroid/content/pm/ApplicationInfo;->packageName:Ljava/lang/String;
54983 const-string v4, "android"
54985 invoke-virtual {v3, v4}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
54989 if-nez v3, :cond_2cb
54993 move-object/from16 v0, p0
54995 move-object/from16 v1, v34
54997 invoke-virtual {v0, v1, v3}, Lcom/android/server/am/ActivityManagerService;->addAppLocked(Landroid/content/pm/ApplicationInfo;Z)Lcom/android/server/am/ProcessRecord;
54999 .catchall {:try_start_293 .. :try_end_2cb} :catchall_39f
55000 .catch Landroid/os/RemoteException; {:try_start_293 .. :try_end_2cb} :catch_2f6
55003 add-int/lit8 v31, v31, 0x1
55013 .catchall {:try_start_2cf .. :try_end_2d0} :catchall_2ce
55019 move-object/from16 v0, p0
55021 iget-object v3, v0, Lcom/android/server/am/ActivityManagerService;->mContext:Landroid/content/Context;
55023 invoke-virtual {v3}, Landroid/content/Context;->getResources()Landroid/content/res/Resources;
55025 move-result-object v3
55027 const v4, 0x1040358
55029 invoke-virtual {v3, v4}, Landroid/content/res/Resources;->getText(I)Ljava/lang/CharSequence;
55031 move-result-object v30
55036 move-object/from16 v0, p0
55038 iget-object v3, v0, Lcom/android/server/am/ActivityManagerService;->mContext:Landroid/content/Context;
55040 invoke-virtual {v3}, Landroid/content/Context;->getResources()Landroid/content/res/Resources;
55042 move-result-object v3
55044 const v4, 0x1040359
55046 invoke-virtual {v3, v4}, Landroid/content/res/Resources;->getText(I)Ljava/lang/CharSequence;
55048 move-result-object v30
55057 .catchall {:try_start_2d1 .. :try_end_2f5} :catchall_2f3
55068 move-object/from16 v0, p0
55070 iput-boolean v3, v0, Lcom/android/server/am/ActivityManagerService;->mBooting:Z
55072 .catchall {:try_start_2f8 .. :try_end_2fc} :catchall_39f
55075 invoke-static {}, Landroid/app/AppGlobals;->getPackageManager()Landroid/content/pm/IPackageManager;
55077 move-result-object v3
55079 invoke-interface {v3}, Landroid/content/pm/IPackageManager;->hasSystemUidErrors()Z
55083 if-eqz v3, :cond_319
55085 invoke-static {}, Landroid/os/Message;->obtain()Landroid/os/Message;
55087 move-result-object v37
55091 move-object/from16 v0, v37
55093 iput v3, v0, Landroid/os/Message;->what:I
55095 move-object/from16 v0, p0
55097 iget-object v3, v0, Lcom/android/server/am/ActivityManagerService;->mHandler:Landroid/os/Handler;
55099 move-object/from16 v0, v37
55101 invoke-virtual {v3, v0}, Landroid/os/Handler;->sendMessage(Landroid/os/Message;)Z
55103 .catchall {:try_start_2fc .. :try_end_319} :catchall_39f
55104 .catch Landroid/os/RemoteException; {:try_start_2fc .. :try_end_319} :catch_3a7
55109 invoke-static {}, Landroid/os/Binder;->clearCallingIdentity()J
55111 .catchall {:try_start_319 .. :try_end_31c} :catchall_39f
55113 move-result-wide v32
55116 new-instance v6, Landroid/content/Intent;
55118 const-string v3, "android.intent.action.USER_STARTED"
55120 invoke-direct {v6, v3}, Landroid/content/Intent;-><init>(Ljava/lang/String;)V
55122 const/high16 v3, 0x5000
55124 invoke-virtual {v6, v3}, Landroid/content/Intent;->addFlags(I)Landroid/content/Intent;
55126 const-string v3, "android.intent.extra.user_handle"
55128 move-object/from16 v0, p0
55130 iget v4, v0, Lcom/android/server/am/ActivityManagerService;->mCurrentUserId:I
55132 invoke-virtual {v6, v3, v4}, Landroid/content/Intent;->putExtra(Ljava/lang/String;I)Landroid/content/Intent;
55154 sget v21, Lcom/android/server/am/ActivityManagerService;->MY_PID:I
55156 const/16 v22, 0x3e8
55158 move-object/from16 v0, p0
55160 iget v0, v0, Lcom/android/server/am/ActivityManagerService;->mCurrentUserId:I
55162 move/from16 v23, v0
55164 move-object/from16 v9, p0
55166 move-object v12, v6
55168 invoke-direct/range {v9 .. v23}, Lcom/android/server/am/ActivityManagerService;->broadcastIntentLocked(Lcom/android/server/am/ProcessRecord;Ljava/lang/String;Landroid/content/Intent;Ljava/lang/String;Landroid/content/IIntentReceiver;ILjava/lang/String;Landroid/os/Bundle;Ljava/lang/String;ZZIII)I
55170 new-instance v6, Landroid/content/Intent;
55172 const-string v3, "android.intent.action.USER_STARTING"
55174 invoke-direct {v6, v3}, Landroid/content/Intent;-><init>(Ljava/lang/String;)V
55176 const/high16 v3, 0x4000
55178 invoke-virtual {v6, v3}, Landroid/content/Intent;->addFlags(I)Landroid/content/Intent;
55180 const-string v3, "android.intent.extra.user_handle"
55182 move-object/from16 v0, p0
55184 iget v4, v0, Lcom/android/server/am/ActivityManagerService;->mCurrentUserId:I
55186 invoke-virtual {v6, v3, v4}, Landroid/content/Intent;->putExtra(Ljava/lang/String;I)Landroid/content/Intent;
55194 new-instance v14, Lcom/android/server/am/ActivityManagerService$10;
55196 move-object/from16 v0, p0
55198 invoke-direct {v14, v0}, Lcom/android/server/am/ActivityManagerService$10;-><init>(Lcom/android/server/am/ActivityManagerService;)V
55206 const-string v18, "android.permission.INTERACT_ACROSS_USERS"
55212 sget v21, Lcom/android/server/am/ActivityManagerService;->MY_PID:I
55214 const/16 v22, 0x3e8
55218 move-object/from16 v9, p0
55220 move-object v12, v6
55222 invoke-direct/range {v9 .. v23}, Lcom/android/server/am/ActivityManagerService;->broadcastIntentLocked(Lcom/android/server/am/ProcessRecord;Ljava/lang/String;Landroid/content/Intent;Ljava/lang/String;Landroid/content/IIntentReceiver;ILjava/lang/String;Landroid/os/Bundle;Ljava/lang/String;ZZIII)I
55224 .catchall {:try_start_31d .. :try_end_387} :catchall_3a2
55227 invoke-static/range {v32 .. v33}, Landroid/os/Binder;->restoreCallingIdentity(J)V
55229 move-object/from16 v0, p0
55231 iget-object v3, v0, Lcom/android/server/am/ActivityManagerService;->mMainStack:Lcom/android/server/am/ActivityStack;
55235 invoke-virtual {v3, v4}, Lcom/android/server/am/ActivityStack;->resumeTopActivityLocked(Lcom/android/server/am/ActivityRecord;)Z
55239 move-object/from16 v0, p0
55241 iget v4, v0, Lcom/android/server/am/ActivityManagerService;->mCurrentUserId:I
55243 move-object/from16 v0, p0
55245 invoke-virtual {v0, v3, v4}, Lcom/android/server/am/ActivityManagerService;->sendUserSwitchBroadcastsLocked(II)V
55256 .catchall {:try_start_387 .. :try_end_3a1} :catchall_39f
55264 invoke-static/range {v32 .. v33}, Landroid/os/Binder;->restoreCallingIdentity(J)V
55268 .catchall {:try_start_3a3 .. :try_end_3a7} :catchall_39f
55278 move-object/from16 v39, v40
55288 move-object/from16 v39, v40
55293 move-object/from16 v39, v40
55298 .method public targetTaskAffinityMatchesActivity(Landroid/os/IBinder;Ljava/lang/String;)Z
55301 invoke-static {p1}, Lcom/android/server/am/ActivityRecord;->forToken(Landroid/os/IBinder;)Lcom/android/server/am/ActivityRecord;
55303 move-result-object v0
55305 if-eqz v0, :cond_18
55307 iget-object v1, v0, Lcom/android/server/am/ActivityRecord;->task:Lcom/android/server/am/TaskRecord;
55309 iget-object v1, v1, Lcom/android/server/am/TaskRecord;->affinity:Ljava/lang/String;
55311 if-eqz v1, :cond_18
55313 iget-object v1, v0, Lcom/android/server/am/ActivityRecord;->task:Lcom/android/server/am/TaskRecord;
55315 iget-object v1, v1, Lcom/android/server/am/TaskRecord;->affinity:Ljava/lang/String;
55317 invoke-virtual {v1, p2}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
55321 if-eqz v1, :cond_18
55334 .method public testIsSystemReady()Z
55337 iget-boolean v0, p0, Lcom/android/server/am/ActivityManagerService;->mSystemReady:Z
55342 .method timeoutUserSwitch(Lcom/android/server/am/UserStartedState;II)V
55348 const-string v0, "ActivityManager"
55350 new-instance v1, Ljava/lang/StringBuilder;
55352 invoke-direct {v1}, Ljava/lang/StringBuilder;-><init>()V
55354 const-string v2, "User switch timeout: from "
55356 invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
55358 move-result-object v1
55360 invoke-virtual {v1, p2}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
55362 move-result-object v1
55364 const-string v2, " to "
55366 invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
55368 move-result-object v1
55370 invoke-virtual {v1, p3}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
55372 move-result-object v1
55374 invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
55376 move-result-object v1
55378 invoke-static {v0, v1}, Landroid/util/Slog;->w(Ljava/lang/String;Ljava/lang/String;)I
55380 invoke-virtual {p0, p1, p2, p3}, Lcom/android/server/am/ActivityManagerService;->sendContinueUserSwitchLocked(Lcom/android/server/am/UserStartedState;II)V
55391 .catchall {:try_start_1 .. :try_end_2a} :catchall_28
55396 .method final trimApplications()V
55402 iget-object v2, p0, Lcom/android/server/am/ActivityManagerService;->mRemovedProcesses:Ljava/util/ArrayList;
55404 invoke-virtual {v2}, Ljava/util/ArrayList;->size()I
55408 add-int/lit8 v1, v2, -0x1
55411 if-ltz v1, :cond_be
55413 iget-object v2, p0, Lcom/android/server/am/ActivityManagerService;->mRemovedProcesses:Ljava/util/ArrayList;
55415 invoke-virtual {v2, v1}, Ljava/util/ArrayList;->get(I)Ljava/lang/Object;
55417 move-result-object v0
55419 check-cast v0, Lcom/android/server/am/ProcessRecord;
55421 iget-object v2, v0, Lcom/android/server/am/ProcessRecord;->activities:Ljava/util/ArrayList;
55423 invoke-virtual {v2}, Ljava/util/ArrayList;->size()I
55427 if-nez v2, :cond_b0
55429 iget-object v2, v0, Lcom/android/server/am/ProcessRecord;->curReceiver:Lcom/android/server/am/BroadcastRecord;
55431 if-nez v2, :cond_b0
55433 iget-object v2, v0, Lcom/android/server/am/ProcessRecord;->services:Ljava/util/HashSet;
55435 invoke-virtual {v2}, Ljava/util/HashSet;->size()I
55439 if-nez v2, :cond_b0
55441 const-string v3, "ActivityManager"
55443 new-instance v2, Ljava/lang/StringBuilder;
55445 invoke-direct {v2}, Ljava/lang/StringBuilder;-><init>()V
55447 const-string v4, "Exiting empty application process "
55449 invoke-virtual {v2, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
55451 move-result-object v2
55453 iget-object v4, v0, Lcom/android/server/am/ProcessRecord;->processName:Ljava/lang/String;
55455 invoke-virtual {v2, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
55457 move-result-object v2
55459 const-string v4, " ("
55461 invoke-virtual {v2, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
55463 move-result-object v4
55465 iget-object v2, v0, Lcom/android/server/am/ProcessRecord;->thread:Landroid/app/IApplicationThread;
55467 if-eqz v2, :cond_b4
55469 iget-object v2, v0, Lcom/android/server/am/ProcessRecord;->thread:Landroid/app/IApplicationThread;
55471 invoke-interface {v2}, Landroid/app/IApplicationThread;->asBinder()Landroid/os/IBinder;
55473 move-result-object v2
55476 invoke-virtual {v4, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
55478 move-result-object v2
55480 const-string v4, ")\n"
55482 invoke-virtual {v2, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
55484 move-result-object v2
55486 invoke-virtual {v2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
55488 move-result-object v2
55490 invoke-static {v3, v2}, Landroid/util/Slog;->i(Ljava/lang/String;Ljava/lang/String;)I
55492 iget v2, v0, Lcom/android/server/am/ProcessRecord;->pid:I
55494 if-lez v2, :cond_b6
55496 iget v2, v0, Lcom/android/server/am/ProcessRecord;->pid:I
55498 sget v3, Lcom/android/server/am/ActivityManagerService;->MY_PID:I
55500 if-eq v2, v3, :cond_b6
55502 const/16 v2, 0x7547
55506 new-array v3, v3, [Ljava/lang/Object;
55510 iget v5, v0, Lcom/android/server/am/ProcessRecord;->userId:I
55512 invoke-static {v5}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
55514 move-result-object v5
55516 aput-object v5, v3, v4
55520 iget v5, v0, Lcom/android/server/am/ProcessRecord;->pid:I
55522 invoke-static {v5}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
55524 move-result-object v5
55526 aput-object v5, v3, v4
55530 iget-object v5, v0, Lcom/android/server/am/ProcessRecord;->processName:Ljava/lang/String;
55532 aput-object v5, v3, v4
55536 iget v5, v0, Lcom/android/server/am/ProcessRecord;->setAdj:I
55538 invoke-static {v5}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
55540 move-result-object v5
55542 aput-object v5, v3, v4
55546 const-string v5, "empty"
55548 aput-object v5, v3, v4
55550 invoke-static {v2, v3}, Landroid/util/EventLog;->writeEvent(I[Ljava/lang/Object;)I
55552 iget v2, v0, Lcom/android/server/am/ProcessRecord;->pid:I
55554 invoke-static {v2}, Landroid/os/Process;->killProcessQuiet(I)V
55563 invoke-direct {p0, v0, v2, v3, v4}, Lcom/android/server/am/ActivityManagerService;->cleanUpApplicationRecordLocked(Lcom/android/server/am/ProcessRecord;ZZI)V
55565 iget-object v2, p0, Lcom/android/server/am/ActivityManagerService;->mRemovedProcesses:Ljava/util/ArrayList;
55567 invoke-virtual {v2, v1}, Ljava/util/ArrayList;->remove(I)Ljava/lang/Object;
55569 iget-boolean v2, v0, Lcom/android/server/am/ProcessRecord;->persistent:Z
55571 if-eqz v2, :cond_b0
55573 iget-boolean v2, v0, Lcom/android/server/am/ProcessRecord;->persistent:Z
55575 if-eqz v2, :cond_b0
55577 iget-object v2, v0, Lcom/android/server/am/ProcessRecord;->info:Landroid/content/pm/ApplicationInfo;
55581 invoke-virtual {p0, v2, v3}, Lcom/android/server/am/ActivityManagerService;->addAppLocked(Landroid/content/pm/ApplicationInfo;Z)Lcom/android/server/am/ProcessRecord;
55583 .catchall {:try_start_1 .. :try_end_b0} :catchall_c3
55586 add-int/lit8 v1, v1, -0x1
55597 iget-object v2, v0, Lcom/android/server/am/ProcessRecord;->thread:Landroid/app/IApplicationThread;
55599 invoke-interface {v2}, Landroid/app/IApplicationThread;->scheduleExit()V
55601 .catchall {:try_start_b6 .. :try_end_bb} :catchall_c3
55602 .catch Ljava/lang/Exception; {:try_start_b6 .. :try_end_bb} :catch_bc
55613 invoke-virtual {p0}, Lcom/android/server/am/ActivityManagerService;->updateOomAdjLocked()V
55624 .catchall {:try_start_be .. :try_end_c5} :catchall_c3
55629 .method public unbindBackupAgent(Landroid/content/pm/ApplicationInfo;)V
55634 const-string v2, "ActivityManager"
55636 const-string v3, "unbind backup agent for null app"
55638 invoke-static {v2, v3}, Landroid/util/Slog;->w(Ljava/lang/String;Ljava/lang/String;)I
55647 iget-object v2, p0, Lcom/android/server/am/ActivityManagerService;->mBackupAppName:Ljava/lang/String;
55649 if-nez v2, :cond_21
55651 const-string v2, "ActivityManager"
55653 const-string v3, "Unbinding backup agent with no active backup"
55655 invoke-static {v2, v3}, Landroid/util/Slog;->w(Ljava/lang/String;Ljava/lang/String;)I
55657 .catchall {:try_start_b .. :try_end_16} :catchall_79
55662 iput-object v2, p0, Lcom/android/server/am/ActivityManagerService;->mBackupTarget:Lcom/android/server/am/BackupRecord;
55666 iput-object v2, p0, Lcom/android/server/am/ActivityManagerService;->mBackupAppName:Ljava/lang/String;
55677 .catchall {:try_start_17 .. :try_end_20} :catchall_1e
55683 iget-object v2, p0, Lcom/android/server/am/ActivityManagerService;->mBackupAppName:Ljava/lang/String;
55685 iget-object v3, p1, Landroid/content/pm/ApplicationInfo;->packageName:Ljava/lang/String;
55687 invoke-virtual {v2, v3}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
55691 if-nez v2, :cond_51
55693 const-string v2, "ActivityManager"
55695 new-instance v3, Ljava/lang/StringBuilder;
55697 invoke-direct {v3}, Ljava/lang/StringBuilder;-><init>()V
55699 const-string v4, "Unbind of "
55701 invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
55703 move-result-object v3
55705 invoke-virtual {v3, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
55707 move-result-object v3
55709 const-string v4, " but is not the current backup target"
55711 invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
55713 move-result-object v3
55715 invoke-virtual {v3}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
55717 move-result-object v3
55719 invoke-static {v2, v3}, Landroid/util/Slog;->e(Ljava/lang/String;Ljava/lang/String;)I
55721 .catchall {:try_start_21 .. :try_end_49} :catchall_79
55726 iput-object v2, p0, Lcom/android/server/am/ActivityManagerService;->mBackupTarget:Lcom/android/server/am/BackupRecord;
55730 iput-object v2, p0, Lcom/android/server/am/ActivityManagerService;->mBackupAppName:Ljava/lang/String;
55734 .catchall {:try_start_4a .. :try_end_50} :catchall_1e
55740 iget-object v2, p0, Lcom/android/server/am/ActivityManagerService;->mBackupTarget:Lcom/android/server/am/BackupRecord;
55742 iget-object v1, v2, Lcom/android/server/am/BackupRecord;->app:Lcom/android/server/am/ProcessRecord;
55744 invoke-virtual {p0, v1}, Lcom/android/server/am/ActivityManagerService;->updateOomAdjLocked(Lcom/android/server/am/ProcessRecord;)Z
55746 iget-object v2, v1, Lcom/android/server/am/ProcessRecord;->thread:Landroid/app/IApplicationThread;
55748 .catchall {:try_start_51 .. :try_end_5a} :catchall_79
55750 if-eqz v2, :cond_65
55753 iget-object v2, v1, Lcom/android/server/am/ProcessRecord;->thread:Landroid/app/IApplicationThread;
55755 invoke-virtual {p0, p1}, Lcom/android/server/am/ActivityManagerService;->compatibilityInfoForPackageLocked(Landroid/content/pm/ApplicationInfo;)Landroid/content/res/CompatibilityInfo;
55757 move-result-object v3
55759 invoke-interface {v2, p1, v3}, Landroid/app/IApplicationThread;->scheduleDestroyBackupAgent(Landroid/content/pm/ApplicationInfo;Landroid/content/res/CompatibilityInfo;)V
55761 .catchall {:try_start_5c .. :try_end_65} :catchall_79
55762 .catch Ljava/lang/Exception; {:try_start_5c .. :try_end_65} :catch_6d
55769 iput-object v2, p0, Lcom/android/server/am/ActivityManagerService;->mBackupTarget:Lcom/android/server/am/BackupRecord;
55773 iput-object v2, p0, Lcom/android/server/am/ActivityManagerService;->mBackupAppName:Ljava/lang/String;
55777 .catchall {:try_start_66 .. :try_end_6c} :catchall_1e
55785 const-string v2, "ActivityManager"
55787 const-string v3, "Exception when unbinding backup agent:"
55789 invoke-static {v2, v3}, Landroid/util/Slog;->e(Ljava/lang/String;Ljava/lang/String;)I
55791 invoke-virtual {v0}, Ljava/lang/Exception;->printStackTrace()V
55793 .catchall {:try_start_6e .. :try_end_78} :catchall_79
55803 iput-object v3, p0, Lcom/android/server/am/ActivityManagerService;->mBackupTarget:Lcom/android/server/am/BackupRecord;
55807 iput-object v3, p0, Lcom/android/server/am/ActivityManagerService;->mBackupAppName:Ljava/lang/String;
55811 .catchall {:try_start_7b .. :try_end_81} :catchall_1e
55814 .method public unbindFinished(Landroid/os/IBinder;Landroid/content/Intent;Z)V
55817 if-eqz p2, :cond_11
55819 invoke-virtual {p2}, Landroid/content/Intent;->hasFileDescriptors()Z
55825 if-ne v0, v1, :cond_11
55827 new-instance v0, Ljava/lang/IllegalArgumentException;
55829 const-string v1, "File descriptors passed in Intent"
55831 invoke-direct {v0, v1}, Ljava/lang/IllegalArgumentException;-><init>(Ljava/lang/String;)V
55839 iget-object v0, p0, Lcom/android/server/am/ActivityManagerService;->mServices:Lcom/android/server/am/ActiveServices;
55841 check-cast p1, Lcom/android/server/am/ServiceRecord;
55843 invoke-virtual {v0, p1, p2, p3}, Lcom/android/server/am/ActiveServices;->unbindFinishedLocked(Lcom/android/server/am/ServiceRecord;Landroid/content/Intent;Z)V
55854 .catchall {:try_start_12 .. :try_end_1d} :catchall_1b
55859 .method public unbindService(Landroid/app/IServiceConnection;)Z
55865 iget-object v0, p0, Lcom/android/server/am/ActivityManagerService;->mServices:Lcom/android/server/am/ActiveServices;
55867 invoke-virtual {v0, p1}, Lcom/android/server/am/ActiveServices;->unbindServiceLocked(Landroid/app/IServiceConnection;)Z
55880 .catchall {:try_start_1 .. :try_end_b} :catchall_9
55885 .method public final unbroadcastIntent(Landroid/app/IApplicationThread;Landroid/content/Intent;I)V
55888 if-eqz p2, :cond_11
55890 invoke-virtual/range {p2 .. p2}, Landroid/content/Intent;->hasFileDescriptors()Z
55896 if-ne v1, v2, :cond_11
55898 new-instance v1, Ljava/lang/IllegalArgumentException;
55900 const-string v2, "File descriptors passed in Intent"
55902 invoke-direct {v1, v2}, Ljava/lang/IllegalArgumentException;-><init>(Ljava/lang/String;)V
55907 invoke-static {}, Landroid/os/Binder;->getCallingPid()I
55911 invoke-static {}, Landroid/os/Binder;->getCallingUid()I
55919 const-string v7, "removeStickyBroadcast"
55927 invoke-virtual/range {v1 .. v8}, Lcom/android/server/am/ActivityManagerService;->handleIncomingUser(IIIZZLjava/lang/String;Ljava/lang/String;)I
55934 const-string v1, "android.permission.BROADCAST_STICKY"
55936 invoke-virtual {p0, v1}, Lcom/android/server/am/ActivityManagerService;->checkCallingPermission(Ljava/lang/String;)I
55940 if-eqz v1, :cond_6d
55942 new-instance v1, Ljava/lang/StringBuilder;
55944 invoke-direct {v1}, Ljava/lang/StringBuilder;-><init>()V
55946 const-string v2, "Permission Denial: unbroadcastIntent() from pid="
55948 invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
55950 move-result-object v1
55952 invoke-static {}, Landroid/os/Binder;->getCallingPid()I
55956 invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
55958 move-result-object v1
55960 const-string v2, ", uid="
55962 invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
55964 move-result-object v1
55966 invoke-static {}, Landroid/os/Binder;->getCallingUid()I
55970 invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
55972 move-result-object v1
55974 const-string v2, " requires "
55976 invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
55978 move-result-object v1
55980 const-string v2, "android.permission.BROADCAST_STICKY"
55982 invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
55984 move-result-object v1
55986 invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
55988 move-result-object v12
55990 const-string v1, "ActivityManager"
55992 invoke-static {v1, v12}, Landroid/util/Slog;->w(Ljava/lang/String;Ljava/lang/String;)I
55994 new-instance v1, Ljava/lang/SecurityException;
55996 invoke-direct {v1, v12}, Ljava/lang/SecurityException;-><init>(Ljava/lang/String;)V
56005 .catchall {:try_start_26 .. :try_end_6c} :catchall_6a
56011 iget-object v1, p0, Lcom/android/server/am/ActivityManagerService;->mStickyBroadcasts:Landroid/util/SparseArray;
56015 invoke-virtual {v1, v0}, Landroid/util/SparseArray;->get(I)Ljava/lang/Object;
56017 move-result-object v13
56019 check-cast v13, Ljava/util/HashMap;
56021 if-eqz v13, :cond_b7
56023 invoke-virtual/range {p2 .. p2}, Landroid/content/Intent;->getAction()Ljava/lang/String;
56025 move-result-object v1
56027 invoke-virtual {v13, v1}, Ljava/util/HashMap;->get(Ljava/lang/Object;)Ljava/lang/Object;
56029 move-result-object v11
56031 check-cast v11, Ljava/util/ArrayList;
56033 if-eqz v11, :cond_aa
56035 invoke-virtual {v11}, Ljava/util/ArrayList;->size()I
56042 if-ge v10, v9, :cond_9d
56044 invoke-virtual {v11, v10}, Ljava/util/ArrayList;->get(I)Ljava/lang/Object;
56046 move-result-object v1
56048 check-cast v1, Landroid/content/Intent;
56050 move-object/from16 v0, p2
56052 invoke-virtual {v0, v1}, Landroid/content/Intent;->filterEquals(Landroid/content/Intent;)Z
56056 if-eqz v1, :cond_b9
56058 invoke-virtual {v11, v10}, Ljava/util/ArrayList;->remove(I)Ljava/lang/Object;
56061 invoke-virtual {v11}, Ljava/util/ArrayList;->size()I
56065 if-gtz v1, :cond_aa
56067 invoke-virtual/range {p2 .. p2}, Landroid/content/Intent;->getAction()Ljava/lang/String;
56069 move-result-object v1
56071 invoke-virtual {v13, v1}, Ljava/util/HashMap;->remove(Ljava/lang/Object;)Ljava/lang/Object;
56074 invoke-virtual {v13}, Ljava/util/HashMap;->size()I
56078 if-gtz v1, :cond_b7
56080 iget-object v1, p0, Lcom/android/server/am/ActivityManagerService;->mStickyBroadcasts:Landroid/util/SparseArray;
56084 invoke-virtual {v1, v0}, Landroid/util/SparseArray;->remove(I)V
56089 .catchall {:try_start_6d .. :try_end_b8} :catchall_6a
56094 add-int/lit8 v10, v10, 0x1
56099 .method public unhandledBack()V
56104 const-string v0, "android.permission.FORCE_BACK"
56106 const-string v1, "unhandledBack()"
56108 invoke-virtual {p0, v0, v1}, Lcom/android/server/am/ActivityManagerService;->enforceCallingPermission(Ljava/lang/String;Ljava/lang/String;)V
56113 iget-object v0, p0, Lcom/android/server/am/ActivityManagerService;->mMainStack:Lcom/android/server/am/ActivityStack;
56115 iget-object v0, v0, Lcom/android/server/am/ActivityStack;->mHistory:Ljava/util/ArrayList;
56117 invoke-virtual {v0}, Ljava/util/ArrayList;->size()I
56121 if-le v7, v2, :cond_32
56123 invoke-static {}, Landroid/os/Binder;->clearCallingIdentity()J
56125 move-result-wide v8
56127 iget-object v0, p0, Lcom/android/server/am/ActivityManagerService;->mMainStack:Lcom/android/server/am/ActivityStack;
56129 iget-object v1, p0, Lcom/android/server/am/ActivityManagerService;->mMainStack:Lcom/android/server/am/ActivityStack;
56131 iget-object v1, v1, Lcom/android/server/am/ActivityStack;->mHistory:Ljava/util/ArrayList;
56133 add-int/lit8 v2, v7, -0x1
56135 invoke-virtual {v1, v2}, Ljava/util/ArrayList;->get(I)Ljava/lang/Object;
56137 move-result-object v1
56139 check-cast v1, Lcom/android/server/am/ActivityRecord;
56141 add-int/lit8 v2, v7, -0x1
56147 const-string v5, "unhandled-back"
56151 invoke-virtual/range {v0 .. v6}, Lcom/android/server/am/ActivityStack;->finishActivityLocked(Lcom/android/server/am/ActivityRecord;IILandroid/content/Intent;Ljava/lang/String;Z)Z
56153 invoke-static {v8, v9}, Landroid/os/Binder;->restoreCallingIdentity(J)V
56165 .catchall {:try_start_9 .. :try_end_36} :catchall_34
56170 .method public unregisterProcessObserver(Landroid/app/IProcessObserver;)V
56176 iget-object v0, p0, Lcom/android/server/am/ActivityManagerService;->mProcessObservers:Landroid/os/RemoteCallbackList;
56178 invoke-virtual {v0, p1}, Landroid/os/RemoteCallbackList;->unregister(Landroid/os/IInterface;)Z
56189 .catchall {:try_start_1 .. :try_end_a} :catchall_8
56194 .method public unregisterReceiver(Landroid/content/IIntentReceiver;)V
56197 invoke-static {}, Landroid/os/Binder;->clearCallingIdentity()J
56199 move-result-wide v9
56206 .catchall {:try_start_5 .. :try_end_6} :catchall_61
56209 iget-object v0, p0, Lcom/android/server/am/ActivityManagerService;->mRegisteredReceivers:Ljava/util/HashMap;
56211 invoke-interface {p1}, Landroid/content/IIntentReceiver;->asBinder()Landroid/os/IBinder;
56213 move-result-object v1
56215 invoke-virtual {v0, v1}, Ljava/util/HashMap;->get(Ljava/lang/Object;)Ljava/lang/Object;
56217 move-result-object v12
56219 check-cast v12, Lcom/android/server/am/ReceiverList;
56221 if-eqz v12, :cond_54
56223 iget-object v0, v12, Lcom/android/server/am/ReceiverList;->curBroadcast:Lcom/android/server/am/BroadcastRecord;
56225 if-eqz v0, :cond_35
56227 iget-object v11, v12, Lcom/android/server/am/ReceiverList;->curBroadcast:Lcom/android/server/am/BroadcastRecord;
56229 invoke-interface {p1}, Landroid/content/IIntentReceiver;->asBinder()Landroid/os/IBinder;
56231 move-result-object v1
56233 iget v2, v11, Lcom/android/server/am/BroadcastRecord;->resultCode:I
56235 iget-object v3, v11, Lcom/android/server/am/BroadcastRecord;->resultData:Ljava/lang/String;
56237 iget-object v4, v11, Lcom/android/server/am/BroadcastRecord;->resultExtras:Landroid/os/Bundle;
56239 iget-boolean v5, v11, Lcom/android/server/am/BroadcastRecord;->resultAbort:Z
56245 invoke-direct/range {v0 .. v6}, Lcom/android/server/am/ActivityManagerService;->finishReceiverLocked(Landroid/os/IBinder;ILjava/lang/String;Landroid/os/Bundle;ZZ)Z
56249 if-eqz v7, :cond_35
56253 iget-object v0, v11, Lcom/android/server/am/BroadcastRecord;->queue:Lcom/android/server/am/BroadcastQueue;
56257 invoke-virtual {v0, v1}, Lcom/android/server/am/BroadcastQueue;->processNextBroadcast(Z)V
56260 iget-object v0, v12, Lcom/android/server/am/ReceiverList;->app:Lcom/android/server/am/ProcessRecord;
56262 if-eqz v0, :cond_40
56264 iget-object v0, v12, Lcom/android/server/am/ReceiverList;->app:Lcom/android/server/am/ProcessRecord;
56266 iget-object v0, v0, Lcom/android/server/am/ProcessRecord;->receivers:Ljava/util/HashSet;
56268 invoke-virtual {v0, v12}, Ljava/util/HashSet;->remove(Ljava/lang/Object;)Z
56271 invoke-virtual {p0, v12}, Lcom/android/server/am/ActivityManagerService;->removeReceiverLocked(Lcom/android/server/am/ReceiverList;)V
56273 iget-boolean v0, v12, Lcom/android/server/am/ReceiverList;->linkedToDeath:Z
56275 if-eqz v0, :cond_54
56279 iput-boolean v0, v12, Lcom/android/server/am/ReceiverList;->linkedToDeath:Z
56281 iget-object v0, v12, Lcom/android/server/am/ReceiverList;->receiver:Landroid/content/IIntentReceiver;
56283 invoke-interface {v0}, Landroid/content/IIntentReceiver;->asBinder()Landroid/os/IBinder;
56285 move-result-object v0
56289 invoke-interface {v0, v12, v1}, Landroid/os/IBinder;->unlinkToDeath(Landroid/os/IBinder$DeathRecipient;I)Z
56294 .catchall {:try_start_6 .. :try_end_55} :catchall_5e
56296 if-eqz v8, :cond_5a
56299 invoke-virtual {p0}, Lcom/android/server/am/ActivityManagerService;->trimApplications()V
56301 .catchall {:try_start_57 .. :try_end_5a} :catchall_61
56304 invoke-static {v9, v10}, Landroid/os/Binder;->restoreCallingIdentity(J)V
56314 .catchall {:try_start_5f .. :try_end_60} :catchall_5e
56319 .catchall {:try_start_60 .. :try_end_61} :catchall_61
56324 invoke-static {v9, v10}, Landroid/os/Binder;->restoreCallingIdentity(J)V
56329 .method public unregisterUserSwitchObserver(Landroid/app/IUserSwitchObserver;)V
56332 iget-object v0, p0, Lcom/android/server/am/ActivityManagerService;->mUserSwitchObservers:Landroid/os/RemoteCallbackList;
56334 invoke-virtual {v0, p1}, Landroid/os/RemoteCallbackList;->unregister(Landroid/os/IInterface;)Z
56339 .method public unstableProviderDied(Landroid/os/IBinder;)V
56345 check-cast v0, Lcom/android/server/am/ContentProviderConnection;
56349 .catch Ljava/lang/ClassCastException; {:try_start_0 .. :try_end_4} :catch_e
56351 if-nez v1, :cond_33
56353 new-instance v8, Ljava/lang/NullPointerException;
56355 const-string v9, "connection is null"
56357 invoke-direct {v8, v9}, Ljava/lang/NullPointerException;-><init>(Ljava/lang/String;)V
56364 new-instance v8, Ljava/lang/StringBuilder;
56366 invoke-direct {v8}, Ljava/lang/StringBuilder;-><init>()V
56368 const-string v9, "refContentProvider: "
56370 invoke-virtual {v8, v9}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
56372 move-result-object v8
56374 invoke-virtual {v8, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
56376 move-result-object v8
56378 const-string v9, " not a ContentProviderConnection"
56380 invoke-virtual {v8, v9}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
56382 move-result-object v8
56384 invoke-virtual {v8}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
56386 move-result-object v5
56388 const-string v8, "ActivityManager"
56390 invoke-static {v8, v5}, Landroid/util/Slog;->w(Ljava/lang/String;Ljava/lang/String;)I
56392 new-instance v8, Ljava/lang/IllegalArgumentException;
56394 invoke-direct {v8, v5}, Ljava/lang/IllegalArgumentException;-><init>(Ljava/lang/String;)V
56402 iget-object v8, v1, Lcom/android/server/am/ContentProviderConnection;->provider:Lcom/android/server/am/ContentProviderRecord;
56404 iget-object v7, v8, Lcom/android/server/am/ContentProviderRecord;->provider:Landroid/content/IContentProvider;
56408 if-nez v7, :cond_3f
56418 .catchall {:try_start_34 .. :try_end_3e} :catchall_3c
56423 invoke-interface {v7}, Landroid/content/IContentProvider;->asBinder()Landroid/os/IBinder;
56425 move-result-object v8
56427 invoke-interface {v8}, Landroid/os/IBinder;->pingBinder()Z
56431 if-eqz v8, :cond_7b
56436 const-string v8, "ActivityManager"
56438 new-instance v9, Ljava/lang/StringBuilder;
56440 invoke-direct {v9}, Ljava/lang/StringBuilder;-><init>()V
56442 const-string v10, "unstableProviderDied: caller "
56444 invoke-virtual {v9, v10}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
56446 move-result-object v9
56448 invoke-static {}, Landroid/os/Binder;->getCallingUid()I
56452 invoke-virtual {v9, v10}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
56454 move-result-object v9
56456 const-string v10, " says "
56458 invoke-virtual {v9, v10}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
56460 move-result-object v9
56462 invoke-virtual {v9, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
56464 move-result-object v9
56466 const-string v10, " died, but we don\'t agree"
56468 invoke-virtual {v9, v10}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
56470 move-result-object v9
56472 invoke-virtual {v9}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
56474 move-result-object v9
56476 invoke-static {v8, v9}, Landroid/util/Slog;->w(Ljava/lang/String;Ljava/lang/String;)I
56487 .catchall {:try_start_4a .. :try_end_7a} :catchall_78
56495 iget-object v8, v1, Lcom/android/server/am/ContentProviderConnection;->provider:Lcom/android/server/am/ContentProviderRecord;
56497 iget-object v8, v8, Lcom/android/server/am/ContentProviderRecord;->provider:Landroid/content/IContentProvider;
56499 if-eq v8, v7, :cond_87
56510 .catchall {:try_start_7c .. :try_end_86} :catchall_84
56516 iget-object v8, v1, Lcom/android/server/am/ContentProviderConnection;->provider:Lcom/android/server/am/ContentProviderRecord;
56518 iget-object v6, v8, Lcom/android/server/am/ContentProviderRecord;->proc:Lcom/android/server/am/ProcessRecord;
56520 if-eqz v6, :cond_91
56522 iget-object v8, v6, Lcom/android/server/am/ProcessRecord;->thread:Landroid/app/IApplicationThread;
56524 if-nez v8, :cond_93
56532 const-string v8, "ActivityManager"
56534 new-instance v9, Ljava/lang/StringBuilder;
56536 invoke-direct {v9}, Ljava/lang/StringBuilder;-><init>()V
56538 const-string v10, "Process "
56540 invoke-virtual {v9, v10}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
56542 move-result-object v9
56544 iget-object v10, v6, Lcom/android/server/am/ProcessRecord;->processName:Ljava/lang/String;
56546 invoke-virtual {v9, v10}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
56548 move-result-object v9
56550 const-string v10, " (pid "
56552 invoke-virtual {v9, v10}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
56554 move-result-object v9
56556 iget v10, v6, Lcom/android/server/am/ProcessRecord;->pid:I
56558 invoke-virtual {v9, v10}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
56560 move-result-object v9
56562 const-string v10, ") early provider death"
56564 invoke-virtual {v9, v10}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
56566 move-result-object v9
56568 invoke-virtual {v9}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
56570 move-result-object v9
56572 invoke-static {v8, v9}, Landroid/util/Slog;->i(Ljava/lang/String;Ljava/lang/String;)I
56574 invoke-static {}, Landroid/os/Binder;->clearCallingIdentity()J
56576 .catchall {:try_start_87 .. :try_end_c2} :catchall_84
56578 move-result-wide v3
56581 iget v8, v6, Lcom/android/server/am/ProcessRecord;->pid:I
56583 iget-object v9, v6, Lcom/android/server/am/ProcessRecord;->thread:Landroid/app/IApplicationThread;
56585 invoke-virtual {p0, v6, v8, v9}, Lcom/android/server/am/ActivityManagerService;->appDiedLocked(Lcom/android/server/am/ProcessRecord;ILandroid/app/IApplicationThread;)V
56587 .catchall {:try_start_c3 .. :try_end_ca} :catchall_d0
56590 invoke-static {v3, v4}, Landroid/os/Binder;->restoreCallingIdentity(J)V
56599 invoke-static {v3, v4}, Landroid/os/Binder;->restoreCallingIdentity(J)V
56603 .catchall {:try_start_ca .. :try_end_d5} :catchall_84
56606 .method public updateConfiguration(Landroid/content/res/Configuration;)V
56609 const-string v2, "android.permission.CHANGE_CONFIGURATION"
56611 const-string v3, "updateConfiguration()"
56613 invoke-virtual {p0, v2, v3}, Lcom/android/server/am/ActivityManagerService;->enforceCallingPermission(Ljava/lang/String;Ljava/lang/String;)V
56617 if-nez p1, :cond_14
56620 iget-object v2, p0, Lcom/android/server/am/ActivityManagerService;->mWindowManager:Lcom/android/server/wm/WindowManagerService;
56622 if-eqz v2, :cond_14
56624 iget-object v2, p0, Lcom/android/server/am/ActivityManagerService;->mWindowManager:Lcom/android/server/wm/WindowManagerService;
56626 invoke-virtual {v2}, Lcom/android/server/wm/WindowManagerService;->computeNewConfiguration()Landroid/content/res/Configuration;
56628 move-result-object p1
56631 iget-object v2, p0, Lcom/android/server/am/ActivityManagerService;->mWindowManager:Lcom/android/server/wm/WindowManagerService;
56633 if-eqz v2, :cond_1f
56635 iget-object v2, p0, Lcom/android/server/am/ActivityManagerService;->mProcessList:Lcom/android/server/am/ProcessList;
56637 iget-object v3, p0, Lcom/android/server/am/ActivityManagerService;->mWindowManager:Lcom/android/server/wm/WindowManagerService;
56639 invoke-virtual {v2, v3}, Lcom/android/server/am/ProcessList;->applyDisplaySize(Lcom/android/server/wm/WindowManagerService;)V
56642 invoke-static {}, Landroid/os/Binder;->clearCallingIdentity()J
56644 move-result-wide v0
56646 if-eqz p1, :cond_28
56648 invoke-static {p1}, Landroid/provider/Settings$System;->clearConfiguration(Landroid/content/res/Configuration;)V
56657 invoke-virtual {p0, p1, v2, v3, v4}, Lcom/android/server/am/ActivityManagerService;->updateConfigurationLocked(Landroid/content/res/Configuration;Lcom/android/server/am/ActivityRecord;ZZ)Z
56659 invoke-static {v0, v1}, Landroid/os/Binder;->restoreCallingIdentity(J)V
56670 .catchall {:try_start_a .. :try_end_35} :catchall_33
56675 .method updateConfigurationLocked(Landroid/content/res/Configuration;Lcom/android/server/am/ActivityRecord;ZZ)Z
56678 move-object/from16 v0, p0
56680 iget-boolean v2, v0, Lcom/android/server/am/ActivityManagerService;->mHeadless:Z
56695 if-eqz p1, :cond_170
56697 new-instance v24, Landroid/content/res/Configuration;
56699 move-object/from16 v0, p0
56701 iget-object v2, v0, Lcom/android/server/am/ActivityManagerService;->mConfiguration:Landroid/content/res/Configuration;
56703 move-object/from16 v0, v24
56705 invoke-direct {v0, v2}, Landroid/content/res/Configuration;-><init>(Landroid/content/res/Configuration;)V
56707 move-object/from16 v0, v24
56709 move-object/from16 v1, p1
56711 invoke-virtual {v0, v1}, Landroid/content/res/Configuration;->updateFrom(Landroid/content/res/Configuration;)I
56715 if-eqz v19, :cond_170
56719 move/from16 v0, v19
56721 invoke-static {v2, v0}, Landroid/util/EventLog;->writeEvent(II)I
56723 move-object/from16 v0, p1
56725 iget-object v2, v0, Landroid/content/res/Configuration;->locale:Ljava/util/Locale;
56727 if-eqz v2, :cond_51
56729 if-nez p4, :cond_51
56731 move-object/from16 v0, p1
56733 iget-object v3, v0, Landroid/content/res/Configuration;->locale:Ljava/util/Locale;
56735 move-object/from16 v0, p1
56737 iget-object v2, v0, Landroid/content/res/Configuration;->locale:Ljava/util/Locale;
56739 move-object/from16 v0, p0
56741 iget-object v4, v0, Lcom/android/server/am/ActivityManagerService;->mConfiguration:Landroid/content/res/Configuration;
56743 iget-object v4, v4, Landroid/content/res/Configuration;->locale:Ljava/util/Locale;
56745 invoke-virtual {v2, v4}, Ljava/util/Locale;->equals(Ljava/lang/Object;)Z
56749 if-nez v2, :cond_124
56754 move-object/from16 v0, p1
56756 iget-boolean v4, v0, Landroid/content/res/Configuration;->userSetLocale:Z
56758 move-object/from16 v0, p0
56760 invoke-direct {v0, v3, v2, v4}, Lcom/android/server/am/ActivityManagerService;->saveLocaleLocked(Ljava/util/Locale;ZZ)V
56763 move-object/from16 v0, p1
56765 iget-object v2, v0, Landroid/content/res/Configuration;->customTheme:Landroid/content/res/CustomTheme;
56767 if-eqz v2, :cond_71
56769 move-object/from16 v0, p1
56771 iget-object v3, v0, Landroid/content/res/Configuration;->customTheme:Landroid/content/res/CustomTheme;
56773 move-object/from16 v0, p1
56775 iget-object v2, v0, Landroid/content/res/Configuration;->customTheme:Landroid/content/res/CustomTheme;
56777 move-object/from16 v0, p0
56779 iget-object v4, v0, Lcom/android/server/am/ActivityManagerService;->mConfiguration:Landroid/content/res/Configuration;
56781 iget-object v4, v4, Landroid/content/res/Configuration;->customTheme:Landroid/content/res/CustomTheme;
56783 invoke-virtual {v2, v4}, Landroid/content/res/CustomTheme;->equals(Ljava/lang/Object;)Z
56787 if-nez v2, :cond_127
56792 move-object/from16 v0, p0
56794 invoke-direct {v0, v3, v2}, Lcom/android/server/am/ActivityManagerService;->saveThemeResourceLocked(Landroid/content/res/CustomTheme;Z)V
56797 move-object/from16 v0, p0
56799 iget v2, v0, Lcom/android/server/am/ActivityManagerService;->mConfigurationSeq:I
56801 add-int/lit8 v2, v2, 0x1
56803 move-object/from16 v0, p0
56805 iput v2, v0, Lcom/android/server/am/ActivityManagerService;->mConfigurationSeq:I
56807 move-object/from16 v0, p0
56809 iget v2, v0, Lcom/android/server/am/ActivityManagerService;->mConfigurationSeq:I
56811 if-gtz v2, :cond_86
56815 move-object/from16 v0, p0
56817 iput v2, v0, Lcom/android/server/am/ActivityManagerService;->mConfigurationSeq:I
56820 move-object/from16 v0, p0
56822 iget v2, v0, Lcom/android/server/am/ActivityManagerService;->mConfigurationSeq:I
56824 move-object/from16 v0, v24
56826 iput v2, v0, Landroid/content/res/Configuration;->seq:I
56828 move-object/from16 v0, v24
56830 move-object/from16 v1, p0
56832 iput-object v0, v1, Lcom/android/server/am/ActivityManagerService;->mConfiguration:Landroid/content/res/Configuration;
56834 const-string v2, "ActivityManager"
56836 new-instance v3, Ljava/lang/StringBuilder;
56838 invoke-direct {v3}, Ljava/lang/StringBuilder;-><init>()V
56840 const-string v4, "Config changed: "
56842 invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
56844 move-result-object v3
56846 move-object/from16 v0, v24
56848 invoke-virtual {v3, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
56850 move-result-object v3
56852 invoke-virtual {v3}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
56854 move-result-object v3
56856 invoke-static {v2, v3}, Landroid/util/Slog;->i(Ljava/lang/String;Ljava/lang/String;)I
56858 new-instance v20, Landroid/content/res/Configuration;
56860 move-object/from16 v0, p0
56862 iget-object v2, v0, Lcom/android/server/am/ActivityManagerService;->mConfiguration:Landroid/content/res/Configuration;
56864 move-object/from16 v0, v20
56866 invoke-direct {v0, v2}, Landroid/content/res/Configuration;-><init>(Landroid/content/res/Configuration;)V
56868 invoke-static/range {v24 .. v24}, Lcom/android/server/am/ActivityManagerService;->shouldShowDialogs(Landroid/content/res/Configuration;)Z
56872 move-object/from16 v0, p0
56874 iput-boolean v2, v0, Lcom/android/server/am/ActivityManagerService;->mShowDialogs:Z
56876 invoke-static {}, Lcom/android/server/AttributeCache;->instance()Lcom/android/server/AttributeCache;
56878 move-result-object v17
56880 if-eqz v17, :cond_ce
56882 move-object/from16 v0, v17
56884 move-object/from16 v1, v20
56886 invoke-virtual {v0, v1}, Lcom/android/server/AttributeCache;->updateConfiguration(Landroid/content/res/Configuration;)V
56889 sget-object v2, Lcom/android/server/am/ActivityManagerService;->mSystemThread:Landroid/app/ActivityThread;
56891 move-object/from16 v0, v20
56893 invoke-virtual {v2, v0}, Landroid/app/ActivityThread;->applyConfigurationToResources(Landroid/content/res/Configuration;)V
56895 if-eqz p3, :cond_fa
56897 invoke-static/range {v19 .. v19}, Landroid/provider/Settings$System;->hasInterestingConfigurationChanges(I)Z
56901 if-eqz v2, :cond_fa
56903 move-object/from16 v0, p0
56905 iget-object v2, v0, Lcom/android/server/am/ActivityManagerService;->mHandler:Landroid/os/Handler;
56909 invoke-virtual {v2, v3}, Landroid/os/Handler;->obtainMessage(I)Landroid/os/Message;
56911 move-result-object v23
56913 new-instance v2, Landroid/content/res/Configuration;
56915 move-object/from16 v0, v20
56917 invoke-direct {v2, v0}, Landroid/content/res/Configuration;-><init>(Landroid/content/res/Configuration;)V
56919 move-object/from16 v0, v23
56921 iput-object v2, v0, Landroid/os/Message;->obj:Ljava/lang/Object;
56923 move-object/from16 v0, p0
56925 iget-object v2, v0, Lcom/android/server/am/ActivityManagerService;->mHandler:Landroid/os/Handler;
56927 move-object/from16 v0, v23
56929 invoke-virtual {v2, v0}, Landroid/os/Handler;->sendMessage(Landroid/os/Message;)Z
56932 move-object/from16 v0, p0
56934 iget-object v2, v0, Lcom/android/server/am/ActivityManagerService;->mLruProcesses:Ljava/util/ArrayList;
56936 invoke-virtual {v2}, Ljava/util/ArrayList;->size()I
56940 add-int/lit8 v21, v2, -0x1
56943 if-ltz v21, :cond_12a
56945 move-object/from16 v0, p0
56947 iget-object v2, v0, Lcom/android/server/am/ActivityManagerService;->mLruProcesses:Ljava/util/ArrayList;
56949 move/from16 v0, v21
56951 invoke-virtual {v2, v0}, Ljava/util/ArrayList;->get(I)Ljava/lang/Object;
56953 move-result-object v18
56955 check-cast v18, Lcom/android/server/am/ProcessRecord;
56958 move-object/from16 v0, v18
56960 iget-object v2, v0, Lcom/android/server/am/ProcessRecord;->thread:Landroid/app/IApplicationThread;
56962 if-eqz v2, :cond_121
56964 move-object/from16 v0, v18
56966 iget-object v2, v0, Lcom/android/server/am/ProcessRecord;->thread:Landroid/app/IApplicationThread;
56968 move-object/from16 v0, v20
56970 invoke-interface {v2, v0}, Landroid/app/IApplicationThread;->scheduleConfigurationChanged(Landroid/content/res/Configuration;)V
56972 .catch Ljava/lang/Exception; {:try_start_112 .. :try_end_121} :catch_1ab
56976 add-int/lit8 v21, v21, -0x1
56991 new-instance v5, Landroid/content/Intent;
56993 const-string v2, "android.intent.action.CONFIGURATION_CHANGED"
56995 invoke-direct {v5, v2}, Landroid/content/Intent;-><init>(Ljava/lang/String;)V
56997 const/high16 v2, 0x7000
56999 invoke-virtual {v5, v2}, Landroid/content/Intent;->addFlags(I)Landroid/content/Intent;
57021 sget v14, Lcom/android/server/am/ActivityManagerService;->MY_PID:I
57023 const/16 v15, 0x3e8
57027 move-object/from16 v2, p0
57029 invoke-direct/range {v2 .. v16}, Lcom/android/server/am/ActivityManagerService;->broadcastIntentLocked(Lcom/android/server/am/ProcessRecord;Ljava/lang/String;Landroid/content/Intent;Ljava/lang/String;Landroid/content/IIntentReceiver;ILjava/lang/String;Landroid/os/Bundle;Ljava/lang/String;ZZIII)I
57031 and-int/lit8 v2, v19, 0x4
57033 if-eqz v2, :cond_170
57035 new-instance v5, Landroid/content/Intent;
57037 const-string v2, "android.intent.action.LOCALE_CHANGED"
57039 invoke-direct {v5, v2}, Landroid/content/Intent;-><init>(Ljava/lang/String;)V
57041 const/high16 v2, 0x1000
57043 invoke-virtual {v5, v2}, Landroid/content/Intent;->addFlags(I)Landroid/content/Intent;
57065 sget v14, Lcom/android/server/am/ActivityManagerService;->MY_PID:I
57067 const/16 v15, 0x3e8
57071 move-object/from16 v2, p0
57073 invoke-direct/range {v2 .. v16}, Lcom/android/server/am/ActivityManagerService;->broadcastIntentLocked(Lcom/android/server/am/ProcessRecord;Ljava/lang/String;Landroid/content/Intent;Ljava/lang/String;Landroid/content/IIntentReceiver;ILjava/lang/String;Landroid/os/Bundle;Ljava/lang/String;ZZIII)I
57076 if-eqz v19, :cond_17d
57078 if-nez p2, :cond_17d
57080 move-object/from16 v0, p0
57082 iget-object v2, v0, Lcom/android/server/am/ActivityManagerService;->mMainStack:Lcom/android/server/am/ActivityStack;
57086 invoke-virtual {v2, v3}, Lcom/android/server/am/ActivityStack;->topRunningActivityLocked(Lcom/android/server/am/ActivityRecord;)Lcom/android/server/am/ActivityRecord;
57088 move-result-object p2
57091 if-eqz p2, :cond_196
57093 move-object/from16 v0, p0
57095 iget-object v2, v0, Lcom/android/server/am/ActivityManagerService;->mMainStack:Lcom/android/server/am/ActivityStack;
57097 move-object/from16 v0, p2
57099 move/from16 v1, v19
57101 invoke-virtual {v2, v0, v1}, Lcom/android/server/am/ActivityStack;->ensureActivityConfigurationLocked(Lcom/android/server/am/ActivityRecord;I)Z
57105 move-object/from16 v0, p0
57107 iget-object v2, v0, Lcom/android/server/am/ActivityManagerService;->mMainStack:Lcom/android/server/am/ActivityStack;
57109 move-object/from16 v0, p2
57111 move/from16 v1, v19
57113 invoke-virtual {v2, v0, v1}, Lcom/android/server/am/ActivityStack;->ensureActivitiesVisibleLocked(Lcom/android/server/am/ActivityRecord;I)V
57118 move-object/from16 v0, p0
57120 iget-object v2, v0, Lcom/android/server/am/ActivityManagerService;->mWindowManager:Lcom/android/server/wm/WindowManagerService;
57124 move-object/from16 v0, p0
57126 iget-object v2, v0, Lcom/android/server/am/ActivityManagerService;->mWindowManager:Lcom/android/server/wm/WindowManagerService;
57128 move-object/from16 v0, p0
57130 iget-object v3, v0, Lcom/android/server/am/ActivityManagerService;->mConfiguration:Landroid/content/res/Configuration;
57132 invoke-virtual {v2, v3}, Lcom/android/server/wm/WindowManagerService;->setNewConfiguration(Landroid/content/res/Configuration;)V
57142 .method updateCpuStats()V
57145 invoke-static {}, Landroid/os/SystemClock;->uptimeMillis()J
57147 move-result-wide v0
57149 iget-object v2, p0, Lcom/android/server/am/ActivityManagerService;->mLastCpuTime:Ljava/util/concurrent/atomic/AtomicLong;
57151 invoke-virtual {v2}, Ljava/util/concurrent/atomic/AtomicLong;->get()J
57153 move-result-wide v2
57155 const-wide/16 v4, 0x1388
57157 sub-long v4, v0, v4
57159 cmp-long v2, v2, v4
57161 if-ltz v2, :cond_13
57168 iget-object v2, p0, Lcom/android/server/am/ActivityManagerService;->mProcessStatsMutexFree:Ljava/util/concurrent/atomic/AtomicBoolean;
57174 invoke-virtual {v2, v3, v4}, Ljava/util/concurrent/atomic/AtomicBoolean;->compareAndSet(ZZ)Z
57178 if-eqz v2, :cond_12
57180 iget-object v3, p0, Lcom/android/server/am/ActivityManagerService;->mProcessStatsThread:Ljava/lang/Thread;
57185 iget-object v2, p0, Lcom/android/server/am/ActivityManagerService;->mProcessStatsThread:Ljava/lang/Thread;
57187 invoke-virtual {v2}, Ljava/lang/Object;->notify()V
57198 .catchall {:try_start_20 .. :try_end_29} :catchall_27
57203 .method updateCpuStatsNow()V
57206 move-object/from16 v0, p0
57208 iget-object v0, v0, Lcom/android/server/am/ActivityManagerService;->mProcessStatsThread:Ljava/lang/Thread;
57210 move-object/from16 v26, v0
57215 move-object/from16 v0, p0
57217 iget-object v0, v0, Lcom/android/server/am/ActivityManagerService;->mProcessStatsMutexFree:Ljava/util/concurrent/atomic/AtomicBoolean;
57219 move-object/from16 v25, v0
57223 move-object/from16 v0, v25
57225 move/from16 v1, v27
57227 invoke-virtual {v0, v1}, Ljava/util/concurrent/atomic/AtomicBoolean;->set(Z)V
57229 invoke-static {}, Landroid/os/SystemClock;->uptimeMillis()J
57231 move-result-wide v11
57235 move-object/from16 v0, p0
57237 iget-object v0, v0, Lcom/android/server/am/ActivityManagerService;->mLastCpuTime:Ljava/util/concurrent/atomic/AtomicLong;
57239 move-object/from16 v25, v0
57241 invoke-virtual/range {v25 .. v25}, Ljava/util/concurrent/atomic/AtomicLong;->get()J
57243 move-result-wide v27
57245 const-wide/16 v29, 0x1388
57247 sub-long v29, v11, v29
57249 cmp-long v25, v27, v29
57251 if-gez v25, :cond_ff
57253 move-object/from16 v0, p0
57255 iget-object v0, v0, Lcom/android/server/am/ActivityManagerService;->mLastCpuTime:Ljava/util/concurrent/atomic/AtomicLong;
57257 move-object/from16 v25, v0
57259 move-object/from16 v0, v25
57261 invoke-virtual {v0, v11, v12}, Ljava/util/concurrent/atomic/AtomicLong;->set(J)V
57265 move-object/from16 v0, p0
57267 iget-object v0, v0, Lcom/android/server/am/ActivityManagerService;->mProcessStats:Lcom/android/internal/os/ProcessStats;
57269 move-object/from16 v25, v0
57271 invoke-virtual/range {v25 .. v25}, Lcom/android/internal/os/ProcessStats;->update()V
57273 const-string v25, "true"
57275 const-string v27, "events.cpu"
57277 invoke-static/range {v27 .. v27}, Landroid/os/SystemProperties;->get(Ljava/lang/String;)Ljava/lang/String;
57279 move-result-object v27
57281 move-object/from16 v0, v25
57283 move-object/from16 v1, v27
57285 invoke-virtual {v0, v1}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
57289 if-eqz v25, :cond_ff
57291 move-object/from16 v0, p0
57293 iget-object v0, v0, Lcom/android/server/am/ActivityManagerService;->mProcessStats:Lcom/android/internal/os/ProcessStats;
57295 move-object/from16 v25, v0
57297 invoke-virtual/range {v25 .. v25}, Lcom/android/internal/os/ProcessStats;->getLastUserTime()I
57301 move-object/from16 v0, p0
57303 iget-object v0, v0, Lcom/android/server/am/ActivityManagerService;->mProcessStats:Lcom/android/internal/os/ProcessStats;
57305 move-object/from16 v25, v0
57307 invoke-virtual/range {v25 .. v25}, Lcom/android/internal/os/ProcessStats;->getLastSystemTime()I
57311 move-object/from16 v0, p0
57313 iget-object v0, v0, Lcom/android/server/am/ActivityManagerService;->mProcessStats:Lcom/android/internal/os/ProcessStats;
57315 move-object/from16 v25, v0
57317 invoke-virtual/range {v25 .. v25}, Lcom/android/internal/os/ProcessStats;->getLastIoWaitTime()I
57321 move-object/from16 v0, p0
57323 iget-object v0, v0, Lcom/android/server/am/ActivityManagerService;->mProcessStats:Lcom/android/internal/os/ProcessStats;
57325 move-object/from16 v25, v0
57327 invoke-virtual/range {v25 .. v25}, Lcom/android/internal/os/ProcessStats;->getLastIrqTime()I
57331 move-object/from16 v0, p0
57333 iget-object v0, v0, Lcom/android/server/am/ActivityManagerService;->mProcessStats:Lcom/android/internal/os/ProcessStats;
57335 move-object/from16 v25, v0
57337 invoke-virtual/range {v25 .. v25}, Lcom/android/internal/os/ProcessStats;->getLastSoftIrqTime()I
57341 move-object/from16 v0, p0
57343 iget-object v0, v0, Lcom/android/server/am/ActivityManagerService;->mProcessStats:Lcom/android/internal/os/ProcessStats;
57345 move-object/from16 v25, v0
57347 invoke-virtual/range {v25 .. v25}, Lcom/android/internal/os/ProcessStats;->getLastIdleTime()I
57351 add-int v25, v24, v20
57353 add-int v25, v25, v9
57355 add-int v25, v25, v10
57357 add-int v25, v25, v18
57359 add-int v21, v25, v8
57361 if-nez v21, :cond_9e
57366 const/16 v25, 0xaa1
57370 move/from16 v0, v27
57372 new-array v0, v0, [Ljava/lang/Object;
57374 move-object/from16 v27, v0
57378 add-int v29, v24, v20
57380 add-int v29, v29, v9
57382 add-int v29, v29, v10
57384 add-int v29, v29, v18
57386 mul-int/lit8 v29, v29, 0x64
57388 div-int v29, v29, v21
57390 invoke-static/range {v29 .. v29}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
57392 move-result-object v29
57394 aput-object v29, v27, v28
57398 mul-int/lit8 v29, v24, 0x64
57400 div-int v29, v29, v21
57402 invoke-static/range {v29 .. v29}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
57404 move-result-object v29
57406 aput-object v29, v27, v28
57410 mul-int/lit8 v29, v20, 0x64
57412 div-int v29, v29, v21
57414 invoke-static/range {v29 .. v29}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
57416 move-result-object v29
57418 aput-object v29, v27, v28
57422 mul-int/lit8 v29, v9, 0x64
57424 div-int v29, v29, v21
57426 invoke-static/range {v29 .. v29}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
57428 move-result-object v29
57430 aput-object v29, v27, v28
57434 mul-int/lit8 v29, v10, 0x64
57436 div-int v29, v29, v21
57438 invoke-static/range {v29 .. v29}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
57440 move-result-object v29
57442 aput-object v29, v27, v28
57446 mul-int/lit8 v29, v18, 0x64
57448 div-int v29, v29, v21
57450 invoke-static/range {v29 .. v29}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
57452 move-result-object v29
57454 aput-object v29, v27, v28
57456 move/from16 v0, v25
57458 move-object/from16 v1, v27
57460 invoke-static {v0, v1}, Landroid/util/EventLog;->writeEvent(I[Ljava/lang/Object;)I
57463 move-object/from16 v0, p0
57465 iget-object v0, v0, Lcom/android/server/am/ActivityManagerService;->mProcessStats:Lcom/android/internal/os/ProcessStats;
57467 move-object/from16 v25, v0
57469 invoke-virtual/range {v25 .. v25}, Lcom/android/internal/os/ProcessStats;->getLastCpuSpeedTimes()[J
57471 move-result-object v5
57473 move-object/from16 v0, p0
57475 iget-object v0, v0, Lcom/android/server/am/ActivityManagerService;->mBatteryStatsService:Lcom/android/server/am/BatteryStatsService;
57477 move-object/from16 v25, v0
57479 invoke-virtual/range {v25 .. v25}, Lcom/android/server/am/BatteryStatsService;->getActiveStatistics()Lcom/android/internal/os/BatteryStatsImpl;
57481 move-result-object v4
57485 .catchall {:try_start_7 .. :try_end_114} :catchall_1cf
57488 move-object/from16 v0, p0
57490 iget-object v0, v0, Lcom/android/server/am/ActivityManagerService;->mPidsSelfLocked:Landroid/util/SparseArray;
57492 move-object/from16 v27, v0
57496 .catchall {:try_start_114 .. :try_end_11b} :catchall_1cc
57498 if-eqz v6, :cond_20f
57501 move-object/from16 v0, p0
57503 iget-boolean v0, v0, Lcom/android/server/am/ActivityManagerService;->mOnBattery:Z
57505 move/from16 v25, v0
57507 if-eqz v25, :cond_20f
57509 invoke-virtual {v4}, Lcom/android/internal/os/BatteryStatsImpl;->startAddingCpuLocked()I
57517 move-object/from16 v0, p0
57519 iget-object v0, v0, Lcom/android/server/am/ActivityManagerService;->mProcessStats:Lcom/android/internal/os/ProcessStats;
57521 move-object/from16 v25, v0
57523 invoke-virtual/range {v25 .. v25}, Lcom/android/internal/os/ProcessStats;->countStats()I
57530 if-ge v7, v3, :cond_208
57532 move-object/from16 v0, p0
57534 iget-object v0, v0, Lcom/android/server/am/ActivityManagerService;->mProcessStats:Lcom/android/internal/os/ProcessStats;
57536 move-object/from16 v25, v0
57538 move-object/from16 v0, v25
57540 invoke-virtual {v0, v7}, Lcom/android/internal/os/ProcessStats;->getStats(I)Lcom/android/internal/os/ProcessStats$Stats;
57542 move-result-object v19
57544 move-object/from16 v0, v19
57546 iget-boolean v0, v0, Lcom/android/internal/os/ProcessStats$Stats;->working:Z
57548 move/from16 v25, v0
57550 if-nez v25, :cond_151
57554 add-int/lit8 v7, v7, 0x1
57559 move-object/from16 v0, p0
57561 iget-object v0, v0, Lcom/android/server/am/ActivityManagerService;->mPidsSelfLocked:Landroid/util/SparseArray;
57563 move-object/from16 v25, v0
57565 move-object/from16 v0, v19
57567 iget v0, v0, Lcom/android/internal/os/ProcessStats$Stats;->pid:I
57569 move/from16 v28, v0
57571 move-object/from16 v0, v25
57573 move/from16 v1, v28
57575 invoke-virtual {v0, v1}, Landroid/util/SparseArray;->get(I)Ljava/lang/Object;
57577 move-result-object v16
57579 check-cast v16, Lcom/android/server/am/ProcessRecord;
57581 move-object/from16 v0, v19
57583 iget v0, v0, Lcom/android/internal/os/ProcessStats$Stats;->rel_utime:I
57585 move/from16 v25, v0
57587 mul-int v25, v25, v15
57589 div-int/lit8 v14, v25, 0x64
57591 move-object/from16 v0, v19
57593 iget v0, v0, Lcom/android/internal/os/ProcessStats$Stats;->rel_stime:I
57595 move/from16 v25, v0
57597 mul-int v25, v25, v15
57599 div-int/lit8 v13, v25, 0x64
57601 add-int v23, v23, v14
57603 add-int v22, v22, v13
57605 if-eqz v16, :cond_1d2
57607 move-object/from16 v0, v16
57609 iget-object v0, v0, Lcom/android/server/am/ProcessRecord;->batteryStats:Lcom/android/internal/os/BatteryStatsImpl$Uid$Proc;
57611 move-object/from16 v17, v0
57613 move-object/from16 v0, v19
57615 iget v0, v0, Lcom/android/internal/os/ProcessStats$Stats;->rel_utime:I
57617 move/from16 v25, v0
57619 sub-int v25, v25, v14
57621 move-object/from16 v0, v19
57623 iget v0, v0, Lcom/android/internal/os/ProcessStats$Stats;->rel_stime:I
57625 move/from16 v28, v0
57627 sub-int v28, v28, v13
57629 move-object/from16 v0, v17
57631 move/from16 v1, v25
57633 move/from16 v2, v28
57635 invoke-virtual {v0, v1, v2}, Lcom/android/internal/os/BatteryStatsImpl$Uid$Proc;->addCpuTimeLocked(II)V
57637 move-object/from16 v0, v17
57639 invoke-virtual {v0, v5}, Lcom/android/internal/os/BatteryStatsImpl$Uid$Proc;->addSpeedStepTimes([J)V
57641 move-object/from16 v0, v16
57643 iget-wide v0, v0, Lcom/android/server/am/ProcessRecord;->curCpuTime:J
57645 move-wide/from16 v28, v0
57647 move-object/from16 v0, v19
57649 iget v0, v0, Lcom/android/internal/os/ProcessStats$Stats;->rel_utime:I
57651 move/from16 v25, v0
57653 move-object/from16 v0, v19
57655 iget v0, v0, Lcom/android/internal/os/ProcessStats$Stats;->rel_stime:I
57657 move/from16 v30, v0
57659 add-int v25, v25, v30
57661 mul-int/lit8 v25, v25, 0xa
57663 move/from16 v0, v25
57667 move-wide/from16 v30, v0
57669 add-long v28, v28, v30
57671 move-wide/from16 v0, v28
57673 move-object/from16 v2, v16
57675 iput-wide v0, v2, Lcom/android/server/am/ProcessRecord;->curCpuTime:J
57684 .catchall {:try_start_11d .. :try_end_1cb} :catchall_1c9
57694 .catchall {:try_start_1cb .. :try_end_1ce} :catchall_1cc
57704 .catchall {:try_start_1ce .. :try_end_1d1} :catchall_1cf
57710 move-object/from16 v0, v19
57712 iget-object v0, v0, Lcom/android/internal/os/ProcessStats$Stats;->name:Ljava/lang/String;
57714 move-object/from16 v25, v0
57716 move-object/from16 v0, v19
57718 iget v0, v0, Lcom/android/internal/os/ProcessStats$Stats;->pid:I
57720 move/from16 v28, v0
57722 move-object/from16 v0, v25
57724 move/from16 v1, v28
57726 invoke-virtual {v4, v0, v1}, Lcom/android/internal/os/BatteryStatsImpl;->getProcessStatsLocked(Ljava/lang/String;I)Lcom/android/internal/os/BatteryStatsImpl$Uid$Proc;
57728 move-result-object v17
57730 if-eqz v17, :cond_14e
57732 move-object/from16 v0, v19
57734 iget v0, v0, Lcom/android/internal/os/ProcessStats$Stats;->rel_utime:I
57736 move/from16 v25, v0
57738 sub-int v25, v25, v14
57740 move-object/from16 v0, v19
57742 iget v0, v0, Lcom/android/internal/os/ProcessStats$Stats;->rel_stime:I
57744 move/from16 v28, v0
57746 sub-int v28, v28, v13
57748 move-object/from16 v0, v17
57750 move/from16 v1, v25
57752 move/from16 v2, v28
57754 invoke-virtual {v0, v1, v2}, Lcom/android/internal/os/BatteryStatsImpl$Uid$Proc;->addCpuTimeLocked(II)V
57756 move-object/from16 v0, v17
57758 invoke-virtual {v0, v5}, Lcom/android/internal/os/BatteryStatsImpl$Uid$Proc;->addSpeedStepTimes([J)V
57763 move/from16 v0, v23
57765 move/from16 v1, v22
57767 invoke-virtual {v4, v15, v0, v1, v5}, Lcom/android/internal/os/BatteryStatsImpl;->finishAddingCpuLocked(III[J)V
57772 .catchall {:try_start_1d2 .. :try_end_210} :catchall_1c9
57775 move-object/from16 v0, p0
57777 iget-wide v0, v0, Lcom/android/server/am/ActivityManagerService;->mLastWriteTime:J
57779 move-wide/from16 v27, v0
57781 const-wide/32 v29, 0x1b7740
57783 sub-long v29, v11, v29
57785 cmp-long v25, v27, v29
57787 if-gez v25, :cond_230
57789 move-object/from16 v0, p0
57791 iput-wide v11, v0, Lcom/android/server/am/ActivityManagerService;->mLastWriteTime:J
57793 move-object/from16 v0, p0
57795 iget-object v0, v0, Lcom/android/server/am/ActivityManagerService;->mBatteryStatsService:Lcom/android/server/am/BatteryStatsService;
57797 move-object/from16 v25, v0
57799 invoke-virtual/range {v25 .. v25}, Lcom/android/server/am/BatteryStatsService;->getActiveStatistics()Lcom/android/internal/os/BatteryStatsImpl;
57801 move-result-object v25
57803 invoke-virtual/range {v25 .. v25}, Lcom/android/internal/os/BatteryStatsImpl;->writeAsyncLocked()V
57808 .catchall {:try_start_210 .. :try_end_231} :catchall_1cc
57813 .catchall {:try_start_231 .. :try_end_232} :catchall_1cf
57818 .method final updateLruProcessLocked(Lcom/android/server/am/ProcessRecord;Z)V
57821 iget v0, p0, Lcom/android/server/am/ActivityManagerService;->mLruSeq:I
57823 add-int/lit8 v0, v0, 0x1
57825 iput v0, p0, Lcom/android/server/am/ActivityManagerService;->mLruSeq:I
57829 invoke-direct {p0, p1, v0}, Lcom/android/server/am/ActivityManagerService;->updateLruProcessInternalLocked(Lcom/android/server/am/ProcessRecord;I)V
57833 invoke-virtual {p0}, Lcom/android/server/am/ActivityManagerService;->updateOomAdjLocked()V
57839 .method final updateOomAdjLocked()V
57842 invoke-direct/range {p0 .. p0}, Lcom/android/server/am/ActivityManagerService;->resumedAppLocked()Lcom/android/server/am/ActivityRecord;
57844 move-result-object v10
57846 if-eqz v10, :cond_200
57848 iget-object v7, v10, Lcom/android/server/am/ActivityRecord;->app:Lcom/android/server/am/ProcessRecord;
57851 invoke-static {}, Landroid/os/SystemClock;->uptimeMillis()J
57853 move-result-wide v34
57855 const-wide/32 v36, 0x1b7740
57857 sub-long v29, v34, v36
57859 move-object/from16 v0, p0
57861 iget v2, v0, Lcom/android/server/am/ActivityManagerService;->mAdjSeq:I
57863 add-int/lit8 v2, v2, 0x1
57865 move-object/from16 v0, p0
57867 iput v2, v0, Lcom/android/server/am/ActivityManagerService;->mAdjSeq:I
57871 move-object/from16 v0, p0
57873 iput v2, v0, Lcom/android/server/am/ActivityManagerService;->mNewNumServiceProcs:I
57875 move-object/from16 v0, p0
57877 iget v2, v0, Lcom/android/server/am/ActivityManagerService;->mProcessLimit:I
57879 if-gtz v2, :cond_203
57883 move/from16 v13, v17
57886 sget v2, Lcom/android/server/am/ProcessList;->HIDDEN_APP_MIN_ADJ:I
57888 rsub-int/lit8 v2, v2, 0xf
57890 add-int/lit8 v2, v2, 0x1
57892 div-int/lit8 v27, v2, 0x2
57894 move-object/from16 v0, p0
57896 iget-object v2, v0, Lcom/android/server/am/ActivityManagerService;->mLruProcesses:Ljava/util/ArrayList;
57898 invoke-virtual {v2}, Ljava/util/ArrayList;->size()I
57902 move-object/from16 v0, p0
57904 iget v8, v0, Lcom/android/server/am/ActivityManagerService;->mNumNonHiddenProcs:I
57906 sub-int/2addr v2, v8
57908 move-object/from16 v0, p0
57910 iget v8, v0, Lcom/android/server/am/ActivityManagerService;->mNumHiddenProcs:I
57912 sub-int v24, v2, v8
57914 move/from16 v0, v24
57916 move/from16 v1, v17
57918 if-le v0, v1, :cond_4d
57920 move/from16 v24, v17
57923 div-int v12, v24, v27
57927 if-ge v12, v2, :cond_53
57932 move-object/from16 v0, p0
57934 iget v2, v0, Lcom/android/server/am/ActivityManagerService;->mNumHiddenProcs:I
57936 if-lez v2, :cond_21f
57938 move-object/from16 v0, p0
57940 iget v2, v0, Lcom/android/server/am/ActivityManagerService;->mNumHiddenProcs:I
57943 div-int v16, v2, v27
57947 move/from16 v0, v16
57949 if-ge v0, v2, :cond_66
57966 move-object/from16 v0, p0
57968 iput v2, v0, Lcom/android/server/am/ActivityManagerService;->mNumNonHiddenProcs:I
57972 move-object/from16 v0, p0
57974 iput v2, v0, Lcom/android/server/am/ActivityManagerService;->mNumHiddenProcs:I
57976 move-object/from16 v0, p0
57978 iget-object v2, v0, Lcom/android/server/am/ActivityManagerService;->mLruProcesses:Ljava/util/ArrayList;
57980 invoke-virtual {v2}, Ljava/util/ArrayList;->size()I
57984 sget v4, Lcom/android/server/am/ProcessList;->HIDDEN_APP_MIN_ADJ:I
57986 add-int/lit8 v22, v4, 0x1
57988 sget v6, Lcom/android/server/am/ProcessList;->HIDDEN_APP_MIN_ADJ:I
57990 add-int/lit8 v21, v6, 0x2
57996 if-lez v18, :cond_3a2
57998 add-int/lit8 v18, v18, -0x1
58000 move-object/from16 v0, p0
58002 iget-object v2, v0, Lcom/android/server/am/ActivityManagerService;->mLruProcesses:Ljava/util/ArrayList;
58004 move/from16 v0, v18
58006 invoke-virtual {v2, v0}, Ljava/util/ArrayList;->get(I)Ljava/lang/Object;
58008 move-result-object v3
58010 check-cast v3, Lcom/android/server/am/ProcessRecord;
58014 move-object/from16 v2, p0
58016 invoke-direct/range {v2 .. v8}, Lcom/android/server/am/ActivityManagerService;->updateOomAdjLocked(Lcom/android/server/am/ProcessRecord;IIILcom/android/server/am/ProcessRecord;Z)Z
58018 iget-boolean v2, v3, Lcom/android/server/am/ProcessRecord;->killedBackground:Z
58020 if-nez v2, :cond_8b
58022 iget v2, v3, Lcom/android/server/am/ProcessRecord;->curRawAdj:I
58024 if-ne v2, v4, :cond_222
58026 iget-boolean v2, v3, Lcom/android/server/am/ProcessRecord;->hasActivities:Z
58028 if-eqz v2, :cond_222
58030 move-object/from16 v0, p0
58032 iget v2, v0, Lcom/android/server/am/ActivityManagerService;->mNumHiddenProcs:I
58034 add-int/lit8 v2, v2, 0x1
58036 move-object/from16 v0, p0
58038 iput v2, v0, Lcom/android/server/am/ActivityManagerService;->mNumHiddenProcs:I
58040 move/from16 v0, v22
58042 if-eq v4, v0, :cond_db
58044 add-int/lit8 v33, v33, 0x1
58046 move/from16 v0, v33
58048 move/from16 v1, v16
58050 if-lt v0, v1, :cond_db
58054 move/from16 v4, v22
58056 add-int/lit8 v22, v22, 0x2
58060 move/from16 v0, v22
58062 if-le v0, v2, :cond_d1
58067 if-gt v5, v4, :cond_db
58069 add-int/lit8 v5, v4, 0x1
58073 if-le v5, v2, :cond_db
58078 add-int/lit8 v25, v25, 0x1
58080 move/from16 v0, v25
58082 move/from16 v1, v17
58084 if-le v0, v1, :cond_165
58086 const-string v2, "ActivityManager"
58088 new-instance v8, Ljava/lang/StringBuilder;
58090 invoke-direct {v8}, Ljava/lang/StringBuilder;-><init>()V
58092 const-string v34, "No longer want "
58094 move-object/from16 v0, v34
58096 invoke-virtual {v8, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
58098 move-result-object v8
58100 iget-object v0, v3, Lcom/android/server/am/ProcessRecord;->processName:Ljava/lang/String;
58102 move-object/from16 v34, v0
58104 move-object/from16 v0, v34
58106 invoke-virtual {v8, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
58108 move-result-object v8
58110 const-string v34, " (pid "
58112 move-object/from16 v0, v34
58114 invoke-virtual {v8, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
58116 move-result-object v8
58118 iget v0, v3, Lcom/android/server/am/ProcessRecord;->pid:I
58120 move/from16 v34, v0
58122 move/from16 v0, v34
58124 invoke-virtual {v8, v0}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
58126 move-result-object v8
58128 const-string v34, "): hidden #"
58130 move-object/from16 v0, v34
58132 invoke-virtual {v8, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
58134 move-result-object v8
58136 move/from16 v0, v25
58138 invoke-virtual {v8, v0}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
58140 move-result-object v8
58142 invoke-virtual {v8}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
58144 move-result-object v8
58146 invoke-static {v2, v8}, Landroid/util/Slog;->i(Ljava/lang/String;Ljava/lang/String;)I
58148 const/16 v2, 0x7547
58152 new-array v8, v8, [Ljava/lang/Object;
58156 iget v0, v3, Lcom/android/server/am/ProcessRecord;->userId:I
58158 move/from16 v35, v0
58160 invoke-static/range {v35 .. v35}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
58162 move-result-object v35
58164 aput-object v35, v8, v34
58168 iget v0, v3, Lcom/android/server/am/ProcessRecord;->pid:I
58170 move/from16 v35, v0
58172 invoke-static/range {v35 .. v35}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
58174 move-result-object v35
58176 aput-object v35, v8, v34
58180 iget-object v0, v3, Lcom/android/server/am/ProcessRecord;->processName:Ljava/lang/String;
58182 move-object/from16 v35, v0
58184 aput-object v35, v8, v34
58188 iget v0, v3, Lcom/android/server/am/ProcessRecord;->setAdj:I
58190 move/from16 v35, v0
58192 invoke-static/range {v35 .. v35}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
58194 move-result-object v35
58196 aput-object v35, v8, v34
58200 const-string v35, "too many background"
58202 aput-object v35, v8, v34
58204 invoke-static {v2, v8}, Landroid/util/EventLog;->writeEvent(I[Ljava/lang/Object;)I
58208 iput-boolean v2, v3, Lcom/android/server/am/ProcessRecord;->killedBackground:Z
58210 iget v2, v3, Lcom/android/server/am/ProcessRecord;->pid:I
58212 invoke-static {v2}, Landroid/os/Process;->killProcessQuiet(I)V
58216 iget-boolean v2, v3, Lcom/android/server/am/ProcessRecord;->isolated:Z
58218 if-eqz v2, :cond_1ed
58220 iget-object v2, v3, Lcom/android/server/am/ProcessRecord;->services:Ljava/util/HashSet;
58222 invoke-virtual {v2}, Ljava/util/HashSet;->size()I
58226 if-gtz v2, :cond_1ed
58228 const-string v2, "ActivityManager"
58230 new-instance v8, Ljava/lang/StringBuilder;
58232 invoke-direct {v8}, Ljava/lang/StringBuilder;-><init>()V
58234 const-string v34, "Isolated process "
58236 move-object/from16 v0, v34
58238 invoke-virtual {v8, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
58240 move-result-object v8
58242 iget-object v0, v3, Lcom/android/server/am/ProcessRecord;->processName:Ljava/lang/String;
58244 move-object/from16 v34, v0
58246 move-object/from16 v0, v34
58248 invoke-virtual {v8, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
58250 move-result-object v8
58252 const-string v34, " (pid "
58254 move-object/from16 v0, v34
58256 invoke-virtual {v8, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
58258 move-result-object v8
58260 iget v0, v3, Lcom/android/server/am/ProcessRecord;->pid:I
58262 move/from16 v34, v0
58264 move/from16 v0, v34
58266 invoke-virtual {v8, v0}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
58268 move-result-object v8
58270 const-string v34, ") no longer needed"
58272 move-object/from16 v0, v34
58274 invoke-virtual {v8, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
58276 move-result-object v8
58278 invoke-virtual {v8}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
58280 move-result-object v8
58282 invoke-static {v2, v8}, Landroid/util/Slog;->i(Ljava/lang/String;Ljava/lang/String;)I
58284 const/16 v2, 0x7547
58288 new-array v8, v8, [Ljava/lang/Object;
58292 iget v0, v3, Lcom/android/server/am/ProcessRecord;->userId:I
58294 move/from16 v35, v0
58296 invoke-static/range {v35 .. v35}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
58298 move-result-object v35
58300 aput-object v35, v8, v34
58304 iget v0, v3, Lcom/android/server/am/ProcessRecord;->pid:I
58306 move/from16 v35, v0
58308 invoke-static/range {v35 .. v35}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
58310 move-result-object v35
58312 aput-object v35, v8, v34
58316 iget-object v0, v3, Lcom/android/server/am/ProcessRecord;->processName:Ljava/lang/String;
58318 move-object/from16 v35, v0
58320 aput-object v35, v8, v34
58324 iget v0, v3, Lcom/android/server/am/ProcessRecord;->setAdj:I
58326 move/from16 v35, v0
58328 invoke-static/range {v35 .. v35}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
58330 move-result-object v35
58332 aput-object v35, v8, v34
58336 const-string v35, "isolated not needed"
58338 aput-object v35, v8, v34
58340 invoke-static {v2, v8}, Landroid/util/EventLog;->writeEvent(I[Ljava/lang/Object;)I
58344 iput-boolean v2, v3, Lcom/android/server/am/ProcessRecord;->killedBackground:Z
58346 iget v2, v3, Lcom/android/server/am/ProcessRecord;->pid:I
58348 invoke-static {v2}, Landroid/os/Process;->killProcessQuiet(I)V
58351 iget v2, v3, Lcom/android/server/am/ProcessRecord;->nonStoppingAdj:I
58355 if-lt v2, v8, :cond_8b
58357 iget v2, v3, Lcom/android/server/am/ProcessRecord;->nonStoppingAdj:I
58361 if-eq v2, v8, :cond_8b
58363 iget-boolean v2, v3, Lcom/android/server/am/ProcessRecord;->killedBackground:Z
58365 if-nez v2, :cond_8b
58367 add-int/lit8 v28, v28, 0x1
58377 move-object/from16 v0, p0
58379 iget v2, v0, Lcom/android/server/am/ActivityManagerService;->mProcessLimit:I
58383 if-ne v2, v8, :cond_20f
58392 move-object/from16 v0, p0
58394 iget v2, v0, Lcom/android/server/am/ActivityManagerService;->mProcessLimit:I
58396 mul-int/lit8 v2, v2, 0x2
58398 div-int/lit8 v13, v2, 0x3
58400 move-object/from16 v0, p0
58402 iget v2, v0, Lcom/android/server/am/ActivityManagerService;->mProcessLimit:I
58404 sub-int v17, v2, v13
58414 iget v2, v3, Lcom/android/server/am/ProcessRecord;->curRawAdj:I
58416 if-ne v2, v4, :cond_234
58418 iget-boolean v2, v3, Lcom/android/server/am/ProcessRecord;->hasClientActivities:Z
58420 if-eqz v2, :cond_234
58422 add-int/lit8 v5, v5, 0x1
58426 if-le v5, v2, :cond_165
58433 iget v2, v3, Lcom/android/server/am/ProcessRecord;->curRawAdj:I
58435 if-eq v2, v6, :cond_23c
58437 iget v2, v3, Lcom/android/server/am/ProcessRecord;->curRawAdj:I
58439 if-ne v2, v4, :cond_306
58442 move/from16 v0, v21
58444 if-eq v6, v0, :cond_254
58446 add-int/lit8 v32, v32, 0x1
58448 move/from16 v0, v32
58450 if-lt v0, v12, :cond_254
58454 move/from16 v6, v21
58456 add-int/lit8 v21, v21, 0x2
58460 move/from16 v0, v21
58462 if-le v0, v2, :cond_254
58468 iget v2, v3, Lcom/android/server/am/ProcessRecord;->curAdj:I
58470 sget v8, Lcom/android/server/am/ProcessList;->HIDDEN_APP_MIN_ADJ:I
58472 if-lt v2, v8, :cond_165
58474 iget-boolean v2, v3, Lcom/android/server/am/ProcessRecord;->hasClientActivities:Z
58476 if-nez v2, :cond_165
58480 move/from16 v0, v23
58482 if-le v0, v2, :cond_318
58484 iget-wide v0, v3, Lcom/android/server/am/ProcessRecord;->lastActivityTime:J
58486 move-wide/from16 v34, v0
58488 cmp-long v2, v34, v29
58490 if-gez v2, :cond_318
58492 const-string v2, "ActivityManager"
58494 new-instance v8, Ljava/lang/StringBuilder;
58496 invoke-direct {v8}, Ljava/lang/StringBuilder;-><init>()V
58498 const-string v34, "No longer want "
58500 move-object/from16 v0, v34
58502 invoke-virtual {v8, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
58504 move-result-object v8
58506 iget-object v0, v3, Lcom/android/server/am/ProcessRecord;->processName:Ljava/lang/String;
58508 move-object/from16 v34, v0
58510 move-object/from16 v0, v34
58512 invoke-virtual {v8, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
58514 move-result-object v8
58516 const-string v34, " (pid "
58518 move-object/from16 v0, v34
58520 invoke-virtual {v8, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
58522 move-result-object v8
58524 iget v0, v3, Lcom/android/server/am/ProcessRecord;->pid:I
58526 move/from16 v34, v0
58528 move/from16 v0, v34
58530 invoke-virtual {v8, v0}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
58532 move-result-object v8
58534 const-string v34, "): empty for "
58536 move-object/from16 v0, v34
58538 invoke-virtual {v8, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
58540 move-result-object v8
58542 const-wide/32 v34, 0x1b7740
58544 add-long v34, v34, v29
58546 iget-wide v0, v3, Lcom/android/server/am/ProcessRecord;->lastActivityTime:J
58548 move-wide/from16 v36, v0
58550 sub-long v34, v34, v36
58552 const-wide/16 v36, 0x3e8
58554 div-long v34, v34, v36
58556 move-wide/from16 v0, v34
58558 invoke-virtual {v8, v0, v1}, Ljava/lang/StringBuilder;->append(J)Ljava/lang/StringBuilder;
58560 move-result-object v8
58562 const-string v34, "s"
58564 move-object/from16 v0, v34
58566 invoke-virtual {v8, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
58568 move-result-object v8
58570 invoke-virtual {v8}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
58572 move-result-object v8
58574 invoke-static {v2, v8}, Landroid/util/Slog;->i(Ljava/lang/String;Ljava/lang/String;)I
58576 const/16 v2, 0x7547
58580 new-array v8, v8, [Ljava/lang/Object;
58584 iget v0, v3, Lcom/android/server/am/ProcessRecord;->userId:I
58586 move/from16 v35, v0
58588 invoke-static/range {v35 .. v35}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
58590 move-result-object v35
58592 aput-object v35, v8, v34
58596 iget v0, v3, Lcom/android/server/am/ProcessRecord;->pid:I
58598 move/from16 v35, v0
58600 invoke-static/range {v35 .. v35}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
58602 move-result-object v35
58604 aput-object v35, v8, v34
58608 iget-object v0, v3, Lcom/android/server/am/ProcessRecord;->processName:Ljava/lang/String;
58610 move-object/from16 v35, v0
58612 aput-object v35, v8, v34
58616 iget v0, v3, Lcom/android/server/am/ProcessRecord;->setAdj:I
58618 move/from16 v35, v0
58620 invoke-static/range {v35 .. v35}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
58622 move-result-object v35
58624 aput-object v35, v8, v34
58628 const-string v35, "old background process"
58630 aput-object v35, v8, v34
58632 invoke-static {v2, v8}, Landroid/util/EventLog;->writeEvent(I[Ljava/lang/Object;)I
58636 iput-boolean v2, v3, Lcom/android/server/am/ProcessRecord;->killedBackground:Z
58638 iget v2, v3, Lcom/android/server/am/ProcessRecord;->pid:I
58640 invoke-static {v2}, Landroid/os/Process;->killProcessQuiet(I)V
58645 iget v2, v3, Lcom/android/server/am/ProcessRecord;->curRawAdj:I
58647 sget v8, Lcom/android/server/am/ProcessList;->HIDDEN_APP_MIN_ADJ:I
58649 if-ge v2, v8, :cond_254
58651 move-object/from16 v0, p0
58653 iget v2, v0, Lcom/android/server/am/ActivityManagerService;->mNumNonHiddenProcs:I
58655 add-int/lit8 v2, v2, 0x1
58657 move-object/from16 v0, p0
58659 iput v2, v0, Lcom/android/server/am/ActivityManagerService;->mNumNonHiddenProcs:I
58664 add-int/lit8 v23, v23, 0x1
58666 move/from16 v0, v23
58668 if-le v0, v13, :cond_165
58670 const-string v2, "ActivityManager"
58672 new-instance v8, Ljava/lang/StringBuilder;
58674 invoke-direct {v8}, Ljava/lang/StringBuilder;-><init>()V
58676 const-string v34, "No longer want "
58678 move-object/from16 v0, v34
58680 invoke-virtual {v8, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
58682 move-result-object v8
58684 iget-object v0, v3, Lcom/android/server/am/ProcessRecord;->processName:Ljava/lang/String;
58686 move-object/from16 v34, v0
58688 move-object/from16 v0, v34
58690 invoke-virtual {v8, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
58692 move-result-object v8
58694 const-string v34, " (pid "
58696 move-object/from16 v0, v34
58698 invoke-virtual {v8, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
58700 move-result-object v8
58702 iget v0, v3, Lcom/android/server/am/ProcessRecord;->pid:I
58704 move/from16 v34, v0
58706 move/from16 v0, v34
58708 invoke-virtual {v8, v0}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
58710 move-result-object v8
58712 const-string v34, "): empty #"
58714 move-object/from16 v0, v34
58716 invoke-virtual {v8, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
58718 move-result-object v8
58720 move/from16 v0, v23
58722 invoke-virtual {v8, v0}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
58724 move-result-object v8
58726 invoke-virtual {v8}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
58728 move-result-object v8
58730 invoke-static {v2, v8}, Landroid/util/Slog;->i(Ljava/lang/String;Ljava/lang/String;)I
58732 const/16 v2, 0x7547
58736 new-array v8, v8, [Ljava/lang/Object;
58740 iget v0, v3, Lcom/android/server/am/ProcessRecord;->userId:I
58742 move/from16 v35, v0
58744 invoke-static/range {v35 .. v35}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
58746 move-result-object v35
58748 aput-object v35, v8, v34
58752 iget v0, v3, Lcom/android/server/am/ProcessRecord;->pid:I
58754 move/from16 v35, v0
58756 invoke-static/range {v35 .. v35}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
58758 move-result-object v35
58760 aput-object v35, v8, v34
58764 iget-object v0, v3, Lcom/android/server/am/ProcessRecord;->processName:Ljava/lang/String;
58766 move-object/from16 v35, v0
58768 aput-object v35, v8, v34
58772 iget v0, v3, Lcom/android/server/am/ProcessRecord;->setAdj:I
58774 move/from16 v35, v0
58776 invoke-static/range {v35 .. v35}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
58778 move-result-object v35
58780 aput-object v35, v8, v34
58784 const-string v35, "too many background"
58786 aput-object v35, v8, v34
58788 invoke-static {v2, v8}, Landroid/util/EventLog;->writeEvent(I[Ljava/lang/Object;)I
58792 iput-boolean v2, v3, Lcom/android/server/am/ProcessRecord;->killedBackground:Z
58794 iget v2, v3, Lcom/android/server/am/ProcessRecord;->pid:I
58796 invoke-static {v2}, Landroid/os/Process;->killProcessQuiet(I)V
58801 move-object/from16 v0, p0
58803 iget v2, v0, Lcom/android/server/am/ActivityManagerService;->mNewNumServiceProcs:I
58805 move-object/from16 v0, p0
58807 iput v2, v0, Lcom/android/server/am/ActivityManagerService;->mNumServiceProcs:I
58811 move/from16 v0, v25
58813 if-gt v0, v2, :cond_47f
58817 move/from16 v0, v23
58819 if-gt v0, v2, :cond_47f
58821 add-int v26, v25, v23
58823 move-object/from16 v0, p0
58825 iget-object v2, v0, Lcom/android/server/am/ActivityManagerService;->mLruProcesses:Ljava/util/ArrayList;
58827 invoke-virtual {v2}, Ljava/util/ArrayList;->size()I
58831 div-int/lit8 v14, v28, 0x3
58835 move-object/from16 v0, p0
58837 iget-object v2, v0, Lcom/android/server/am/ActivityManagerService;->mHomeProcess:Lcom/android/server/am/ProcessRecord;
58839 if-eqz v2, :cond_3ca
58841 add-int/lit8 v20, v20, 0x1
58844 move-object/from16 v0, p0
58846 iget-object v2, v0, Lcom/android/server/am/ActivityManagerService;->mPreviousProcess:Lcom/android/server/am/ProcessRecord;
58848 if-eqz v2, :cond_3d2
58850 add-int/lit8 v20, v20, 0x1
58853 move/from16 v0, v20
58855 if-ge v14, v0, :cond_3d8
58857 move/from16 v14, v20
58864 move/from16 v0, v26
58866 if-gt v0, v2, :cond_421
58876 move/from16 v0, v18
58878 if-ge v0, v9, :cond_4c0
58880 move-object/from16 v0, p0
58882 iget-object v2, v0, Lcom/android/server/am/ActivityManagerService;->mLruProcesses:Ljava/util/ArrayList;
58884 move/from16 v0, v18
58886 invoke-virtual {v2, v0}, Ljava/util/ArrayList;->get(I)Ljava/lang/Object;
58888 move-result-object v3
58890 check-cast v3, Lcom/android/server/am/ProcessRecord;
58892 iget v2, v3, Lcom/android/server/am/ProcessRecord;->nonStoppingAdj:I
58896 if-lt v2, v8, :cond_431
58898 iget v2, v3, Lcom/android/server/am/ProcessRecord;->nonStoppingAdj:I
58902 if-eq v2, v8, :cond_431
58904 iget-boolean v2, v3, Lcom/android/server/am/ProcessRecord;->killedBackground:Z
58906 if-nez v2, :cond_431
58908 iget v2, v3, Lcom/android/server/am/ProcessRecord;->trimMemoryLevel:I
58910 if-ge v2, v11, :cond_411
58912 iget-object v2, v3, Lcom/android/server/am/ProcessRecord;->thread:Landroid/app/IApplicationThread;
58914 if-eqz v2, :cond_411
58917 iget-object v2, v3, Lcom/android/server/am/ProcessRecord;->thread:Landroid/app/IApplicationThread;
58919 invoke-interface {v2, v11}, Landroid/app/IApplicationThread;->scheduleTrimMemory(I)V
58921 .catch Landroid/os/RemoteException; {:try_start_40c .. :try_end_411} :catch_4e0
58925 iput v11, v3, Lcom/android/server/am/ProcessRecord;->trimMemoryLevel:I
58927 add-int/lit8 v31, v31, 0x1
58929 move/from16 v0, v31
58931 if-lt v0, v14, :cond_41e
58935 sparse-switch v11, :sswitch_data_4e4
58939 add-int/lit8 v18, v18, 0x1
58946 move/from16 v0, v26
58948 if-gt v0, v2, :cond_429
58970 iget v2, v3, Lcom/android/server/am/ProcessRecord;->nonStoppingAdj:I
58974 if-ne v2, v8, :cond_44c
58976 iget v2, v3, Lcom/android/server/am/ProcessRecord;->trimMemoryLevel:I
58980 if-ge v2, v8, :cond_447
58982 iget-object v2, v3, Lcom/android/server/am/ProcessRecord;->thread:Landroid/app/IApplicationThread;
58984 if-eqz v2, :cond_447
58987 iget-object v2, v3, Lcom/android/server/am/ProcessRecord;->thread:Landroid/app/IApplicationThread;
58991 invoke-interface {v2, v8}, Landroid/app/IApplicationThread;->scheduleTrimMemory(I)V
58993 .catch Landroid/os/RemoteException; {:try_start_440 .. :try_end_447} :catch_4dd
58999 iput v2, v3, Lcom/android/server/am/ProcessRecord;->trimMemoryLevel:I
59004 iget v2, v3, Lcom/android/server/am/ProcessRecord;->nonStoppingAdj:I
59008 if-gt v2, v8, :cond_455
59010 iget-boolean v2, v3, Lcom/android/server/am/ProcessRecord;->systemNoUi:Z
59012 if-eqz v2, :cond_46f
59015 iget-boolean v2, v3, Lcom/android/server/am/ProcessRecord;->pendingUiClean:Z
59017 if-eqz v2, :cond_46f
59021 iget v2, v3, Lcom/android/server/am/ProcessRecord;->trimMemoryLevel:I
59025 if-ge v2, v8, :cond_46c
59027 iget-object v2, v3, Lcom/android/server/am/ProcessRecord;->thread:Landroid/app/IApplicationThread;
59029 if-eqz v2, :cond_46c
59032 iget-object v2, v3, Lcom/android/server/am/ProcessRecord;->thread:Landroid/app/IApplicationThread;
59036 invoke-interface {v2, v8}, Landroid/app/IApplicationThread;->scheduleTrimMemory(I)V
59038 .catch Landroid/os/RemoteException; {:try_start_465 .. :try_end_46c} :catch_4db
59044 iput-boolean v2, v3, Lcom/android/server/am/ProcessRecord;->pendingUiClean:Z
59047 iget v2, v3, Lcom/android/server/am/ProcessRecord;->trimMemoryLevel:I
59049 if-ge v2, v15, :cond_47c
59051 iget-object v2, v3, Lcom/android/server/am/ProcessRecord;->thread:Landroid/app/IApplicationThread;
59053 if-eqz v2, :cond_47c
59056 iget-object v2, v3, Lcom/android/server/am/ProcessRecord;->thread:Landroid/app/IApplicationThread;
59058 invoke-interface {v2, v15}, Landroid/app/IApplicationThread;->scheduleTrimMemory(I)V
59060 .catch Landroid/os/RemoteException; {:try_start_477 .. :try_end_47c} :catch_4d9
59064 iput v15, v3, Lcom/android/server/am/ProcessRecord;->trimMemoryLevel:I
59069 move-object/from16 v0, p0
59071 iget-object v2, v0, Lcom/android/server/am/ActivityManagerService;->mLruProcesses:Ljava/util/ArrayList;
59073 invoke-virtual {v2}, Ljava/util/ArrayList;->size()I
59080 move/from16 v0, v18
59082 if-ge v0, v9, :cond_4c0
59084 move-object/from16 v0, p0
59086 iget-object v2, v0, Lcom/android/server/am/ActivityManagerService;->mLruProcesses:Ljava/util/ArrayList;
59088 move/from16 v0, v18
59090 invoke-virtual {v2, v0}, Ljava/util/ArrayList;->get(I)Ljava/lang/Object;
59092 move-result-object v3
59094 check-cast v3, Lcom/android/server/am/ProcessRecord;
59096 iget v2, v3, Lcom/android/server/am/ProcessRecord;->nonStoppingAdj:I
59100 if-gt v2, v8, :cond_4a2
59102 iget-boolean v2, v3, Lcom/android/server/am/ProcessRecord;->systemNoUi:Z
59104 if-eqz v2, :cond_4ba
59107 iget-boolean v2, v3, Lcom/android/server/am/ProcessRecord;->pendingUiClean:Z
59109 if-eqz v2, :cond_4ba
59111 iget v2, v3, Lcom/android/server/am/ProcessRecord;->trimMemoryLevel:I
59115 if-ge v2, v8, :cond_4b7
59117 iget-object v2, v3, Lcom/android/server/am/ProcessRecord;->thread:Landroid/app/IApplicationThread;
59119 if-eqz v2, :cond_4b7
59122 iget-object v2, v3, Lcom/android/server/am/ProcessRecord;->thread:Landroid/app/IApplicationThread;
59126 invoke-interface {v2, v8}, Landroid/app/IApplicationThread;->scheduleTrimMemory(I)V
59128 .catch Landroid/os/RemoteException; {:try_start_4b0 .. :try_end_4b7} :catch_4d7
59134 iput-boolean v2, v3, Lcom/android/server/am/ProcessRecord;->pendingUiClean:Z
59139 iput v2, v3, Lcom/android/server/am/ProcessRecord;->trimMemoryLevel:I
59141 add-int/lit8 v18, v18, 0x1
59146 move-object/from16 v0, p0
59148 iget-boolean v2, v0, Lcom/android/server/am/ActivityManagerService;->mAlwaysFinishActivities:Z
59150 if-eqz v2, :cond_4d6
59152 move-object/from16 v0, p0
59154 iget-object v2, v0, Lcom/android/server/am/ActivityManagerService;->mMainStack:Lcom/android/server/am/ActivityStack;
59160 const-string v35, "always-finish"
59162 move/from16 v0, v34
59164 move-object/from16 v1, v35
59166 invoke-virtual {v2, v8, v0, v1}, Lcom/android/server/am/ActivityStack;->scheduleDestroyActivities(Lcom/android/server/am/ProcessRecord;ZLjava/lang/String;)V
59200 0x3c -> :sswitch_42e
59201 0x50 -> :sswitch_42b
59205 .method final updateOomAdjLocked(Lcom/android/server/am/ProcessRecord;)Z
59214 invoke-direct {p0}, Lcom/android/server/am/ActivityManagerService;->resumedAppLocked()Lcom/android/server/am/ActivityRecord;
59216 move-result-object v7
59218 if-eqz v7, :cond_38
59220 iget-object v5, v7, Lcom/android/server/am/ActivityRecord;->app:Lcom/android/server/am/ProcessRecord;
59223 iget v8, p1, Lcom/android/server/am/ProcessRecord;->curAdj:I
59225 sget v0, Lcom/android/server/am/ProcessList;->HIDDEN_APP_MIN_ADJ:I
59227 if-lt v8, v0, :cond_3a
59229 if-gt v8, v13, :cond_3a
59234 iget v0, p0, Lcom/android/server/am/ActivityManagerService;->mAdjSeq:I
59236 add-int/lit8 v0, v0, 0x1
59238 iput v0, p0, Lcom/android/server/am/ActivityManagerService;->mAdjSeq:I
59240 iget v2, p1, Lcom/android/server/am/ProcessRecord;->hiddenAdj:I
59242 iget v3, p1, Lcom/android/server/am/ProcessRecord;->clientHiddenAdj:I
59244 iget v4, p1, Lcom/android/server/am/ProcessRecord;->emptyAdj:I
59250 invoke-direct/range {v0 .. v6}, Lcom/android/server/am/ActivityManagerService;->updateOomAdjLocked(Lcom/android/server/am/ProcessRecord;IIILcom/android/server/am/ProcessRecord;Z)Z
59254 iget v0, p1, Lcom/android/server/am/ProcessRecord;->curAdj:I
59256 sget v1, Lcom/android/server/am/ProcessList;->HIDDEN_APP_MIN_ADJ:I
59258 if-lt v0, v1, :cond_3c
59260 iget v0, p1, Lcom/android/server/am/ProcessRecord;->curAdj:I
59262 if-gt v0, v13, :cond_3c
59267 if-eq v9, v11, :cond_37
59269 invoke-virtual {p0}, Lcom/android/server/am/ActivityManagerService;->updateOomAdjLocked()V
59290 .method public updatePersistentConfiguration(Landroid/content/res/Configuration;)V
59293 const-string v2, "android.permission.CHANGE_CONFIGURATION"
59295 const-string v3, "updateConfiguration()"
59297 invoke-virtual {p0, v2, v3}, Lcom/android/server/am/ActivityManagerService;->enforceCallingPermission(Ljava/lang/String;Ljava/lang/String;)V
59299 const-string v2, "android.permission.WRITE_SETTINGS"
59301 const-string v3, "updateConfiguration()"
59303 invoke-virtual {p0, v2, v3}, Lcom/android/server/am/ActivityManagerService;->enforceCallingPermission(Ljava/lang/String;Ljava/lang/String;)V
59305 if-nez p1, :cond_18
59307 new-instance v2, Ljava/lang/NullPointerException;
59309 const-string v3, "Configuration must not be null"
59311 invoke-direct {v2, v3}, Ljava/lang/NullPointerException;-><init>(Ljava/lang/String;)V
59319 invoke-static {}, Landroid/os/Binder;->clearCallingIdentity()J
59321 move-result-wide v0
59329 invoke-virtual {p0, p1, v2, v3, v4}, Lcom/android/server/am/ActivityManagerService;->updateConfigurationLocked(Landroid/content/res/Configuration;Lcom/android/server/am/ActivityRecord;ZZ)Z
59331 invoke-static {v0, v1}, Landroid/os/Binder;->restoreCallingIdentity(J)V
59342 .catchall {:try_start_19 .. :try_end_2a} :catchall_28
59347 .method updateUsageStats(Lcom/android/server/am/ActivityRecord;Z)V
59352 iget-object v0, p0, Lcom/android/server/am/ActivityManagerService;->mUsageStatsService:Lcom/android/server/am/UsageStatsService;
59354 iget-object v1, p1, Lcom/android/server/am/ActivityRecord;->realActivity:Landroid/content/ComponentName;
59356 invoke-virtual {v0, v1}, Lcom/android/server/am/UsageStatsService;->noteResumeComponent(Landroid/content/ComponentName;)V
59362 iget-object v0, p0, Lcom/android/server/am/ActivityManagerService;->mUsageStatsService:Lcom/android/server/am/UsageStatsService;
59364 iget-object v1, p1, Lcom/android/server/am/ActivityRecord;->realActivity:Landroid/content/ComponentName;
59366 invoke-virtual {v0, v1}, Lcom/android/server/am/UsageStatsService;->notePauseComponent(Landroid/content/ComponentName;)V
59371 .method userInitialized(Lcom/android/server/am/UserStartedState;)V
59377 invoke-virtual {p0}, Lcom/android/server/am/ActivityManagerService;->getUserManagerLocked()Lcom/android/server/pm/UserManagerService;
59379 move-result-object v0
59381 iget-object v1, p1, Lcom/android/server/am/UserStartedState;->mHandle:Landroid/os/UserHandle;
59383 invoke-virtual {v1}, Landroid/os/UserHandle;->getIdentifier()I
59387 invoke-virtual {v0, v1}, Lcom/android/server/pm/UserManagerService;->makeInitialized(I)V
59391 iput-boolean v0, p1, Lcom/android/server/am/UserStartedState;->initializing:Z
59393 invoke-virtual {p0, p1}, Lcom/android/server/am/ActivityManagerService;->completeSwitchAndInitalizeLocked(Lcom/android/server/am/UserStartedState;)V
59404 .catchall {:try_start_1 .. :try_end_18} :catchall_16
59409 .method final verifyBroadcastLocked(Landroid/content/Intent;)Landroid/content/Intent;
59412 const/high16 v4, 0x4000
59414 if-eqz p1, :cond_13
59416 invoke-virtual {p1}, Landroid/content/Intent;->hasFileDescriptors()Z
59422 if-ne v2, v3, :cond_13
59424 new-instance v2, Ljava/lang/IllegalArgumentException;
59426 const-string v3, "File descriptors passed in Intent"
59428 invoke-direct {v2, v3}, Ljava/lang/IllegalArgumentException;-><init>(Ljava/lang/String;)V
59433 invoke-virtual {p1}, Landroid/content/Intent;->getFlags()I
59437 iget-boolean v2, p0, Lcom/android/server/am/ActivityManagerService;->mProcessesReady:Z
59439 if-nez v2, :cond_29
59441 const/high16 v2, 0x800
59443 and-int/2addr v2, v0
59445 if-eqz v2, :cond_36
59447 new-instance v1, Landroid/content/Intent;
59449 invoke-direct {v1, p1}, Landroid/content/Intent;-><init>(Landroid/content/Intent;)V
59451 invoke-virtual {v1, v4}, Landroid/content/Intent;->addFlags(I)Landroid/content/Intent;
59456 const/high16 v2, 0x400
59458 and-int/2addr v2, v0
59460 if-eqz v2, :cond_60
59462 new-instance v2, Ljava/lang/IllegalArgumentException;
59464 const-string v3, "Can\'t use FLAG_RECEIVER_BOOT_UPGRADE here"
59466 invoke-direct {v2, v3}, Ljava/lang/IllegalArgumentException;-><init>(Ljava/lang/String;)V
59473 if-nez v2, :cond_29
59475 const-string v2, "ActivityManager"
59477 new-instance v3, Ljava/lang/StringBuilder;
59479 invoke-direct {v3}, Ljava/lang/StringBuilder;-><init>()V
59481 const-string v4, "Attempt to launch receivers of broadcast intent "
59483 invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
59485 move-result-object v3
59487 invoke-virtual {v3, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
59489 move-result-object v3
59491 const-string v4, " before boot completion"
59493 invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
59495 move-result-object v3
59497 invoke-virtual {v3}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
59499 move-result-object v3
59501 invoke-static {v2, v3}, Landroid/util/Slog;->e(Ljava/lang/String;Ljava/lang/String;)I
59503 new-instance v2, Ljava/lang/IllegalStateException;
59505 const-string v3, "Cannot broadcast before boot completed"
59507 invoke-direct {v2, v3}, Ljava/lang/IllegalStateException;-><init>(Ljava/lang/String;)V
59515 .method public wakingUp()V
59518 const-string v0, "android.permission.DEVICE_POWER"
59520 invoke-virtual {p0, v0}, Lcom/android/server/am/ActivityManagerService;->checkCallingPermission(Ljava/lang/String;)I
59524 if-eqz v0, :cond_10
59526 new-instance v0, Ljava/lang/SecurityException;
59528 const-string v1, "Requires permission android.permission.DEVICE_POWER"
59530 invoke-direct {v0, v1}, Ljava/lang/SecurityException;-><init>(Ljava/lang/String;)V
59540 iput-boolean v0, p0, Lcom/android/server/am/ActivityManagerService;->mWentToSleep:Z
59542 invoke-direct {p0}, Lcom/android/server/am/ActivityManagerService;->updateEventDispatchingLocked()V
59544 invoke-direct {p0}, Lcom/android/server/am/ActivityManagerService;->comeOutOfSleepIfNeededLocked()V
59555 .catchall {:try_start_12 .. :try_end_1e} :catchall_1c
59560 .method public willActivityBeVisible(Landroid/os/IBinder;)Z
59568 iget-object v3, p0, Lcom/android/server/am/ActivityManagerService;->mMainStack:Lcom/android/server/am/ActivityStack;
59570 iget-object v3, v3, Lcom/android/server/am/ActivityStack;->mHistory:Ljava/util/ArrayList;
59572 invoke-virtual {v3}, Ljava/util/ArrayList;->size()I
59576 add-int/lit8 v0, v3, -0x1
59579 if-ltz v0, :cond_2f
59581 iget-object v3, p0, Lcom/android/server/am/ActivityManagerService;->mMainStack:Lcom/android/server/am/ActivityStack;
59583 iget-object v3, v3, Lcom/android/server/am/ActivityStack;->mHistory:Ljava/util/ArrayList;
59585 invoke-virtual {v3, v0}, Ljava/util/ArrayList;->get(I)Ljava/lang/Object;
59587 move-result-object v1
59589 check-cast v1, Lcom/android/server/am/ActivityRecord;
59591 iget-object v3, v1, Lcom/android/server/am/ActivityRecord;->appToken:Landroid/view/IApplicationToken$Stub;
59593 if-ne v3, p1, :cond_1e
59601 iget-boolean v3, v1, Lcom/android/server/am/ActivityRecord;->fullscreen:Z
59603 if-eqz v3, :cond_2c
59605 iget-boolean v3, v1, Lcom/android/server/am/ActivityRecord;->finishing:Z
59607 if-nez v3, :cond_2c
59620 .catchall {:try_start_2 .. :try_end_2b} :catchall_29
59625 add-int/lit8 v0, v0, -0x1
59633 .catchall {:try_start_2f .. :try_end_30} :catchall_29