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$ServiceMap;,
14 Lcom/android/server/am/ActivityManagerService$ServiceRestarter;,
15 Lcom/android/server/am/ActivityManagerService$ServiceLookupResult;,
16 Lcom/android/server/am/ActivityManagerService$MemItem;,
17 Lcom/android/server/am/ActivityManagerService$ItemMatcher;,
18 Lcom/android/server/am/ActivityManagerService$NeededUriGrants;,
19 Lcom/android/server/am/ActivityManagerService$PermissionController;,
20 Lcom/android/server/am/ActivityManagerService$CpuBinder;,
21 Lcom/android/server/am/ActivityManagerService$DbBinder;,
22 Lcom/android/server/am/ActivityManagerService$GraphicsBinder;,
23 Lcom/android/server/am/ActivityManagerService$MemBinder;,
24 Lcom/android/server/am/ActivityManagerService$AThread;,
25 Lcom/android/server/am/ActivityManagerService$AppDeathRecipient;,
26 Lcom/android/server/am/ActivityManagerService$ProcessChangeItem;,
27 Lcom/android/server/am/ActivityManagerService$Identity;,
28 Lcom/android/server/am/ActivityManagerService$ForegroundToken;,
29 Lcom/android/server/am/ActivityManagerService$PendingActivityLaunch;
35 .field static final APP_SWITCH_DELAY_TIME:J = 0x1388L
37 .field static final BATTERY_STATS_TIME:J = 0x1b7740L
39 .field static final BROADCAST_BG_TIMEOUT:I = 0xea60
41 .field static final BROADCAST_FG_TIMEOUT:I = 0x2710
43 .field static final CANCEL_HEAVY_NOTIFICATION_MSG:I = 0x19
45 .field static final CHECK_EXCESSIVE_WAKE_LOCKS_MSG:I = 0x1b
47 .field static final CLEAR_DNS_CACHE:I = 0x1c
49 .field static final CPU_MIN_CHECK_DURATION:I = 0x493e0
51 .field static final DEBUG:Z = false
53 .field static final DEBUG_BACKGROUND_BROADCAST:Z = false
55 .field static final DEBUG_BACKUP:Z = false
57 .field static final DEBUG_BROADCAST:Z = false
59 .field static final DEBUG_BROADCAST_LIGHT:Z = false
61 .field static final DEBUG_CONFIGURATION:Z = false
63 .field static final DEBUG_MU:Z = false
65 .field static final DEBUG_OOM_ADJ:Z = false
67 .field static final DEBUG_PAUSE:Z = false
69 .field static final DEBUG_POWER:Z = false
71 .field static final DEBUG_POWER_QUICK:Z = false
73 .field static final DEBUG_PROCESSES:Z = false
75 .field static final DEBUG_PROCESS_OBSERVERS:Z = false
77 .field static final DEBUG_PROVIDER:Z = false
79 .field static final DEBUG_RESULTS:Z = false
81 .field static final DEBUG_SERVICE:Z = false
83 .field static final DEBUG_SERVICE_EXECUTING:Z = false
85 .field static final DEBUG_SWITCH:Z = false
87 .field static final DEBUG_TASKS:Z = false
89 .field static final DEBUG_TRANSITION:Z = false
91 .field static final DEBUG_URI_PERMISSION:Z = false
93 .field static final DEBUG_USER_LEAVING:Z = false
95 .field static final DEBUG_VISBILITY:Z = false
97 .field static final DISPATCH_PROCESSES_CHANGED:I = 0x1f
99 .field static final DISPATCH_PROCESS_DIED:I = 0x20
101 .field static final DO_PENDING_ACTIVITY_LAUNCHES_MSG:I = 0x15
103 .field static final DUMP_MEM_BUCKETS:[J = null
105 .field static final DUMP_MEM_OOM_ADJ:[I = null
107 .field static final DUMP_MEM_OOM_LABEL:[Ljava/lang/String; = null
109 .field static final EMPTY_STRING_ARRAY:[Ljava/lang/String; = null
111 .field static final FINALIZE_PENDING_INTENT_MSG:I = 0x17
113 .field static final FIRST_ACTIVITY_STACK_MSG:I = 0x64
115 .field static final FIRST_BROADCAST_QUEUE_MSG:I = 0xc8
117 .field static final FIRST_COMPAT_MODE_MSG:I = 0x12c
119 .field static final GC_BACKGROUND_PROCESSES_MSG:I = 0x5
121 .field static final GC_MIN_INTERVAL:I = 0xea60
123 .field static final GC_TIMEOUT:I = 0x1388
125 .field static final IM_FEELING_LUCKY_MSG:I = 0xf
127 .field static final INSTRUMENTATION_KEY_DISPATCHING_TIMEOUT:I = 0xea60
129 #the value of this static final field might be set in the static constructor
130 .field static final IS_USER_BUILD:Z = false
132 .field static final KEY_DISPATCHING_TIMEOUT:I = 0x1388
134 .field static final KILL_APPLICATION_MSG:I = 0x16
136 .field static final LAST_DONE_VERSION:I = 0x2710
138 .field private static final MAX_DUP_SUPPRESSED_STACKS:I = 0x1388
140 .field static final MAX_RECENT_TASKS:I = 0x14
142 .field static final MAX_SERVICE_INACTIVITY:I = 0x1b7740
144 .field static final MONITOR_CPU_MAX_TIME:J = 0xfffffffL
146 .field static final MONITOR_CPU_MIN_TIME:J = 0x1388L
148 .field static final MONITOR_CPU_USAGE:Z = true
150 .field static final MONITOR_THREAD_CPU_USAGE:Z = false
152 #the value of this static final field might be set in the static constructor
153 .field static final MY_PID:I = 0x0
155 .field static final POST_HEAVY_NOTIFICATION_MSG:I = 0x18
157 .field static final POWER_CHECK_DELAY:I = 0xdbba0
159 .field static final PROC_START_TIMEOUT:I = 0x2710
161 .field static final PROC_START_TIMEOUT_MSG:I = 0x14
163 .field static final PROC_START_TIMEOUT_WITH_WRAPPER:I = 0x493e0
165 .field static final REPORT_MEM_USAGE:I = 0x21
167 .field static final SERVICE_MIN_RESTART_TIME_BETWEEN:I = 0x2710
169 .field static final SERVICE_RESET_RUN_DURATION:I = 0xea60
171 .field static final SERVICE_RESTART_DURATION:I = 0x1388
173 .field static final SERVICE_RESTART_DURATION_FACTOR:I = 0x4
175 .field static final SERVICE_TIMEOUT:I = 0x4e20
177 .field static final SERVICE_TIMEOUT_MSG:I = 0xc
179 .field static final SHOW_ACTIVITY_START_TIME:Z = true
181 .field static final SHOW_COMPAT_MODE_DIALOG_MSG:I = 0x1e
183 .field static final SHOW_ERROR_MSG:I = 0x1
185 .field static final SHOW_FACTORY_ERROR_MSG:I = 0x3
187 .field static final SHOW_NOT_RESPONDING_MSG:I = 0x2
189 .field static final SHOW_STRICT_MODE_VIOLATION_MSG:I = 0x1a
191 .field static final SHOW_UID_ERROR_MSG:I = 0xe
193 .field static final STOCK_PM_FLAGS:I = 0x400
195 .field private static final SYSTEM_DEBUGGABLE:Ljava/lang/String; = "ro.debuggable"
197 .field static final TAG:Ljava/lang/String; = "ActivityManager"
199 .field static final TAG_MU:Ljava/lang/String; = "ActivityManagerServiceMU"
201 .field static final UPDATE_CONFIGURATION_MSG:I = 0x4
203 .field static final UPDATE_HTTP_PROXY:I = 0x1d
205 .field static final UPDATE_TIME_ZONE:I = 0xd
207 .field private static final USER_DATA_DIR:Ljava/lang/String; = "/data/user/"
209 .field static final VALIDATE_TOKENS:Z = false
211 .field static final WAIT_FOR_DEBUGGER_MSG:I = 0x6
213 .field static final WAKE_LOCK_MIN_CHECK_DURATION:I = 0x493e0
215 .field static final localLOGV:Z
217 .field static mSelf:Lcom/android/server/am/ActivityManagerService;
219 .field static mSystemThread:Landroid/app/ActivityThread;
221 .field private static sCallerIdentity:Ljava/lang/ThreadLocal;
222 .annotation system Ldalvik/annotation/Signature;
224 "Ljava/lang/ThreadLocal",
226 "Lcom/android/server/am/ActivityManagerService$Identity;",
234 .field final GL_ES_VERSION:I
236 .field mActiveProcessChanges:[Lcom/android/server/am/ActivityManagerService$ProcessChangeItem;
240 .field private final mAlreadyLoggedViolatedStacks:Ljava/util/HashSet;
241 .annotation system Ldalvik/annotation/Signature;
243 "Ljava/util/HashSet",
245 "Ljava/lang/Integer;",
251 .field mAlwaysFinishActivities:Z
253 .field mAppBindArgs:Ljava/util/HashMap;
254 .annotation system Ldalvik/annotation/Signature;
256 "Ljava/util/HashMap",
258 "Ljava/lang/String;",
259 "Landroid/os/IBinder;",
265 .field mAppSwitchesAllowedTime:J
267 .field mAutoStopProfiler:Z
269 .field final mAvailProcessChanges:Ljava/util/ArrayList;
270 .annotation system Ldalvik/annotation/Signature;
272 "Ljava/util/ArrayList",
274 "Lcom/android/server/am/ActivityManagerService$ProcessChangeItem;",
280 .field mBackupAppName:Ljava/lang/String;
282 .field mBackupTarget:Lcom/android/server/am/BackupRecord;
284 .field final mBadProcesses:Lcom/android/server/ProcessMap;
285 .annotation system Ldalvik/annotation/Signature;
287 "Lcom/android/server/ProcessMap",
295 .field final mBatteryStatsService:Lcom/android/server/am/BatteryStatsService;
297 .field mBgBroadcastQueue:Lcom/android/server/am/BroadcastQueue;
303 .field final mBroadcastQueues:[Lcom/android/server/am/BroadcastQueue;
305 .field final mCancelledThumbnails:Ljava/util/ArrayList;
307 .field mCheckedForSetup:Z
309 .field mCompatModeDialog:Lcom/android/server/am/CompatModeDialog;
311 .field final mCompatModePackages:Lcom/android/server/am/CompatModePackages;
313 .field mConfiguration:Landroid/content/res/Configuration;
315 .field mConfigurationSeq:I
317 .field mContext:Landroid/content/Context;
319 .field mController:Landroid/app/IActivityController;
321 .field mCoreSettingsObserver:Lcom/android/server/am/CoreSettingsObserver;
325 .field private mCurrentUserId:I
327 .field mDebugApp:Ljava/lang/String;
329 .field mDebugTransient:Z
331 .field mDidAppSwitch:Z
337 .field mFactoryTest:I
339 .field mFgBroadcastQueue:Lcom/android/server/am/BroadcastQueue;
341 .field mFocusedActivity:Lcom/android/server/am/ActivityRecord;
343 .field final mForegroundProcesses:Landroid/util/SparseArray;
344 .annotation system Ldalvik/annotation/Signature;
346 "Landroid/util/SparseArray",
348 "Lcom/android/server/am/ActivityManagerService$ForegroundToken;",
354 .field private final mGrantedUriPermissions:Landroid/util/SparseArray;
355 .annotation system Ldalvik/annotation/Signature;
357 "Landroid/util/SparseArray",
359 "Ljava/util/HashMap",
362 "Lcom/android/server/am/UriPermission;",
368 .field final mHandler:Landroid/os/Handler;
370 .field private final mHeadless:Z
372 .field mHeavyWeightProcess:Lcom/android/server/am/ProcessRecord;
374 .field mHomeProcess:Lcom/android/server/am/ProcessRecord;
376 .field final mIntentSenderRecords:Ljava/util/HashMap;
377 .annotation system Ldalvik/annotation/Signature;
379 "Ljava/util/HashMap",
381 "Lcom/android/server/am/PendingIntentRecord$Key;",
382 "Ljava/lang/ref/WeakReference",
384 "Lcom/android/server/am/PendingIntentRecord;",
390 .field final mIsolatedProcesses:Landroid/util/SparseArray;
391 .annotation system Ldalvik/annotation/Signature;
393 "Landroid/util/SparseArray",
395 "Lcom/android/server/am/ProcessRecord;",
401 .field final mLastCpuTime:Ljava/util/concurrent/atomic/AtomicLong;
403 .field mLastMemUsageReportTime:J
405 .field mLastPowerCheckRealtime:J
407 .field mLastPowerCheckUptime:J
409 .field mLastWriteTime:J
411 .field mLaunchWarningShown:Z
413 .field final mLaunchingProviders:Ljava/util/ArrayList;
414 .annotation system Ldalvik/annotation/Signature;
416 "Ljava/util/ArrayList",
418 "Lcom/android/server/am/ContentProviderRecord;",
424 .field mLockScreenShown:Z
426 .field private mLoggedInUsers:Landroid/util/SparseIntArray;
428 .field final mLruProcesses:Ljava/util/ArrayList;
429 .annotation system Ldalvik/annotation/Signature;
431 "Ljava/util/ArrayList",
433 "Lcom/android/server/am/ProcessRecord;",
441 .field public mMainStack:Lcom/android/server/am/ActivityStack;
443 .field mNewNumServiceProcs:I
445 .field mNextIsolatedProcessUid:I
447 .field mNumServiceProcs:I
451 .field mOpenGlTraceApp:Ljava/lang/String;
453 .field mOrigDebugApp:Ljava/lang/String;
455 .field mOrigWaitForDebugger:Z
457 .field final mPendingActivityLaunches:Ljava/util/ArrayList;
458 .annotation system Ldalvik/annotation/Signature;
460 "Ljava/util/ArrayList",
462 "Lcom/android/server/am/ActivityManagerService$PendingActivityLaunch;",
468 .field final mPendingProcessChanges:Ljava/util/ArrayList;
469 .annotation system Ldalvik/annotation/Signature;
471 "Ljava/util/ArrayList",
473 "Lcom/android/server/am/ActivityManagerService$ProcessChangeItem;",
479 .field final mPendingResultRecords:Ljava/util/HashSet;
481 .field final mPendingServices:Ljava/util/ArrayList;
482 .annotation system Ldalvik/annotation/Signature;
484 "Ljava/util/ArrayList",
486 "Lcom/android/server/am/ServiceRecord;",
492 .field final mPendingThumbnails:Ljava/util/ArrayList;
494 .field final mPersistentStartingProcesses:Ljava/util/ArrayList;
495 .annotation system Ldalvik/annotation/Signature;
497 "Ljava/util/ArrayList",
499 "Lcom/android/server/am/ProcessRecord;",
505 .field final mPidsSelfLocked:Landroid/util/SparseArray;
506 .annotation system Ldalvik/annotation/Signature;
508 "Landroid/util/SparseArray",
510 "Lcom/android/server/am/ProcessRecord;",
516 .field mPreviousProcess:Lcom/android/server/am/ProcessRecord;
518 .field mPreviousProcessVisibleTime:J
520 .field mProcDeaths:[I
522 .field final mProcessCrashTimes:Lcom/android/server/ProcessMap;
523 .annotation system Ldalvik/annotation/Signature;
525 "Lcom/android/server/ProcessMap",
533 .field mProcessLimit:I
535 .field mProcessLimitOverride:I
537 .field final mProcessList:Lcom/android/server/am/ProcessList;
539 .field final mProcessNames:Lcom/android/server/ProcessMap;
540 .annotation system Ldalvik/annotation/Signature;
542 "Lcom/android/server/ProcessMap",
544 "Lcom/android/server/am/ProcessRecord;",
550 .field final mProcessObservers:Landroid/os/RemoteCallbackList;
551 .annotation system Ldalvik/annotation/Signature;
553 "Landroid/os/RemoteCallbackList",
555 "Landroid/app/IProcessObserver;",
561 .field final mProcessStats:Lcom/android/internal/os/ProcessStats;
563 .field final mProcessStatsMutexFree:Ljava/util/concurrent/atomic/AtomicBoolean;
565 .field final mProcessStatsThread:Ljava/lang/Thread;
567 .field final mProcessesOnHold:Ljava/util/ArrayList;
568 .annotation system Ldalvik/annotation/Signature;
570 "Ljava/util/ArrayList",
572 "Lcom/android/server/am/ProcessRecord;",
578 .field mProcessesReady:Z
580 .field final mProcessesToGc:Ljava/util/ArrayList;
581 .annotation system Ldalvik/annotation/Signature;
583 "Ljava/util/ArrayList",
585 "Lcom/android/server/am/ProcessRecord;",
591 .field mProfileApp:Ljava/lang/String;
593 .field mProfileFd:Landroid/os/ParcelFileDescriptor;
595 .field mProfileFile:Ljava/lang/String;
597 .field mProfileProc:Lcom/android/server/am/ProcessRecord;
599 .field mProfileType:I
601 .field final mProviderMap:Lcom/android/server/am/ProviderMap;
603 .field final mReceiverResolver:Lcom/android/server/IntentResolver;
604 .annotation system Ldalvik/annotation/Signature;
606 "Lcom/android/server/IntentResolver",
608 "Lcom/android/server/am/BroadcastFilter;",
609 "Lcom/android/server/am/BroadcastFilter;",
615 .field final mRecentTasks:Ljava/util/ArrayList;
616 .annotation system Ldalvik/annotation/Signature;
618 "Ljava/util/ArrayList",
620 "Lcom/android/server/am/TaskRecord;",
626 .field final mRegisteredReceivers:Ljava/util/HashMap;
628 .field final mRemovedProcesses:Ljava/util/ArrayList;
629 .annotation system Ldalvik/annotation/Signature;
631 "Ljava/util/ArrayList",
633 "Lcom/android/server/am/ProcessRecord;",
639 .field mRequestPssCallback:Ljava/lang/Runnable;
641 .field final mRequestPssList:Ljava/util/ArrayList;
642 .annotation system Ldalvik/annotation/Signature;
644 "Ljava/util/ArrayList",
646 "Lcom/android/server/am/ProcessRecord;",
652 .field final mRestartingServices:Ljava/util/ArrayList;
653 .annotation system Ldalvik/annotation/Signature;
655 "Ljava/util/ArrayList",
657 "Lcom/android/server/am/ServiceRecord;",
663 .field final mServiceConnections:Ljava/util/HashMap;
664 .annotation system Ldalvik/annotation/Signature;
666 "Ljava/util/HashMap",
668 "Landroid/os/IBinder;",
669 "Ljava/util/ArrayList",
671 "Lcom/android/server/am/ConnectionRecord;",
677 .field final mServiceMap:Lcom/android/server/am/ActivityManagerService$ServiceMap;
679 .field private mShowDialogs:Z
681 .field mShuttingDown:Z
685 .field mStartRunning:Z
687 .field final mStickyBroadcasts:Ljava/util/HashMap;
688 .annotation system Ldalvik/annotation/Signature;
690 "Ljava/util/HashMap",
692 "Ljava/lang/String;",
693 "Ljava/util/ArrayList",
695 "Landroid/content/Intent;",
701 .field final mStoppingServices:Ljava/util/ArrayList;
702 .annotation system Ldalvik/annotation/Signature;
704 "Ljava/util/ArrayList",
706 "Lcom/android/server/am/ServiceRecord;",
712 .field private final mStrictModeBuffer:Ljava/lang/StringBuilder;
714 .field final mStringBuilder:Ljava/lang/StringBuilder;
716 .field mSystemReady:Z
718 .field mTopAction:Ljava/lang/String;
720 .field mTopComponent:Landroid/content/ComponentName;
722 .field mTopData:Ljava/lang/String;
724 .field mUiContext:Landroid/content/Context;
726 .field mUidAlert:Landroid/app/AlertDialog;
728 .field final mUsageStatsService:Lcom/android/server/am/UsageStatsService;
730 .field mWaitForDebugger:Z
732 .field mWaitingUpdate:Z
734 .field mWentToSleep:Z
736 .field mWindowManager:Lcom/android/server/wm/WindowManagerService;
740 .method static constructor <clinit>()V
747 const-string v0, "user"
749 sget-object v1, Landroid/os/Build;->TYPE:Ljava/lang/String;
751 invoke-virtual {v0, v1}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
755 sput-boolean v0, Lcom/android/server/am/ActivityManagerService;->IS_USER_BUILD:Z
757 invoke-static {}, Landroid/os/Process;->myPid()I
761 sput v0, Lcom/android/server/am/ActivityManagerService;->MY_PID:I
763 new-array v0, v2, [Ljava/lang/String;
765 sput-object v0, Lcom/android/server/am/ActivityManagerService;->EMPTY_STRING_ARRAY:[Ljava/lang/String;
767 new-instance v0, Ljava/lang/ThreadLocal;
769 invoke-direct {v0}, Ljava/lang/ThreadLocal;-><init>()V
771 sput-object v0, Lcom/android/server/am/ActivityManagerService;->sCallerIdentity:Ljava/lang/ThreadLocal;
777 fill-array-data v0, :array_72
779 sput-object v0, Lcom/android/server/am/ActivityManagerService;->DUMP_MEM_BUCKETS:[J
783 fill-array-data v0, :array_d2
785 sput-object v0, Lcom/android/server/am/ActivityManagerService;->DUMP_MEM_OOM_ADJ:[I
787 new-array v0, v3, [Ljava/lang/String;
789 const-string v1, "System"
791 aput-object v1, v0, v2
795 const-string v2, "Persistent"
797 aput-object v2, v0, v1
801 const-string v2, "Foreground"
803 aput-object v2, v0, v1
807 const-string v2, "Visible"
809 aput-object v2, v0, v1
813 const-string v2, "Perceptible"
815 aput-object v2, v0, v1
819 const-string v2, "Heavy Weight"
821 aput-object v2, v0, v1
825 const-string v2, "Backup"
827 aput-object v2, v0, v1
831 const-string v2, "A Services"
833 aput-object v2, v0, v1
837 const-string v2, "Home"
839 aput-object v2, v0, v1
843 const-string v2, "Previous"
845 aput-object v2, v0, v1
849 const-string v2, "B Services"
851 aput-object v2, v0, v1
855 const-string v2, "Background"
857 aput-object v2, v0, v1
859 sput-object v0, Lcom/android/server/am/ActivityManagerService;->DUMP_MEM_OOM_LABEL:[Ljava/lang/String;
865 0x0t 0x14t 0x0t 0x0t 0x0t 0x0t 0x0t 0x0t
866 0x0t 0x1ct 0x0t 0x0t 0x0t 0x0t 0x0t 0x0t
867 0x0t 0x28t 0x0t 0x0t 0x0t 0x0t 0x0t 0x0t
868 0x0t 0x3ct 0x0t 0x0t 0x0t 0x0t 0x0t 0x0t
869 0x0t 0x50t 0x0t 0x0t 0x0t 0x0t 0x0t 0x0t
870 0x0t 0x78t 0x0t 0x0t 0x0t 0x0t 0x0t 0x0t
871 0x0t 0xa0t 0x0t 0x0t 0x0t 0x0t 0x0t 0x0t
872 0x0t 0x40t 0x1t 0x0t 0x0t 0x0t 0x0t 0x0t
873 0x0t 0xe0t 0x1t 0x0t 0x0t 0x0t 0x0t 0x0t
874 0x0t 0x80t 0x2t 0x0t 0x0t 0x0t 0x0t 0x0t
875 0x0t 0x20t 0x3t 0x0t 0x0t 0x0t 0x0t 0x0t
876 0x0t 0xe8t 0x3t 0x0t 0x0t 0x0t 0x0t 0x0t
877 0x0t 0xb0t 0x4t 0x0t 0x0t 0x0t 0x0t 0x0t
878 0x0t 0x78t 0x5t 0x0t 0x0t 0x0t 0x0t 0x0t
879 0x0t 0x40t 0x6t 0x0t 0x0t 0x0t 0x0t 0x0t
880 0x0t 0xd0t 0x7t 0x0t 0x0t 0x0t 0x0t 0x0t
881 0x0t 0x60t 0x9t 0x0t 0x0t 0x0t 0x0t 0x0t
882 0x0t 0x80t 0xct 0x0t 0x0t 0x0t 0x0t 0x0t
883 0x0t 0x0t 0x10t 0x0t 0x0t 0x0t 0x0t 0x0t
884 0x0t 0x0t 0x20t 0x0t 0x0t 0x0t 0x0t 0x0t
885 0x0t 0x0t 0x50t 0x0t 0x0t 0x0t 0x0t 0x0t
886 0x0t 0x0t 0xa0t 0x0t 0x0t 0x0t 0x0t 0x0t
887 0x0t 0x0t 0x40t 0x1t 0x0t 0x0t 0x0t 0x0t
892 0xf0t 0xfft 0xfft 0xfft
893 0xf4t 0xfft 0xfft 0xfft
907 .method private constructor <init>()V
912 const-wide/16 v8, 0x0
920 invoke-direct {p0}, Landroid/app/ActivityManagerNative;-><init>()V
922 iput-boolean v7, p0, Lcom/android/server/am/ActivityManagerService;->mShowDialogs:Z
924 new-instance v2, Ljava/util/ArrayList;
926 invoke-direct {v2}, Ljava/util/ArrayList;-><init>()V
928 iput-object v2, p0, Lcom/android/server/am/ActivityManagerService;->mPendingActivityLaunches:Ljava/util/ArrayList;
932 new-array v2, v2, [Lcom/android/server/am/BroadcastQueue;
934 iput-object v2, p0, Lcom/android/server/am/ActivityManagerService;->mBroadcastQueues:[Lcom/android/server/am/BroadcastQueue;
936 iput-object v4, p0, Lcom/android/server/am/ActivityManagerService;->mFocusedActivity:Lcom/android/server/am/ActivityRecord;
938 new-instance v2, Ljava/util/ArrayList;
940 invoke-direct {v2}, Ljava/util/ArrayList;-><init>()V
942 iput-object v2, p0, Lcom/android/server/am/ActivityManagerService;->mRecentTasks:Ljava/util/ArrayList;
944 new-instance v2, Lcom/android/server/am/ProcessList;
946 invoke-direct {v2}, Lcom/android/server/am/ProcessList;-><init>()V
948 iput-object v2, p0, Lcom/android/server/am/ActivityManagerService;->mProcessList:Lcom/android/server/am/ProcessList;
950 new-instance v2, Lcom/android/server/ProcessMap;
952 invoke-direct {v2}, Lcom/android/server/ProcessMap;-><init>()V
954 iput-object v2, p0, Lcom/android/server/am/ActivityManagerService;->mProcessNames:Lcom/android/server/ProcessMap;
956 new-instance v2, Landroid/util/SparseArray;
958 invoke-direct {v2}, Landroid/util/SparseArray;-><init>()V
960 iput-object v2, p0, Lcom/android/server/am/ActivityManagerService;->mIsolatedProcesses:Landroid/util/SparseArray;
962 iput v6, p0, Lcom/android/server/am/ActivityManagerService;->mNextIsolatedProcessUid:I
964 iput-object v4, p0, Lcom/android/server/am/ActivityManagerService;->mHeavyWeightProcess:Lcom/android/server/am/ProcessRecord;
966 new-instance v2, Lcom/android/server/ProcessMap;
968 invoke-direct {v2}, Lcom/android/server/ProcessMap;-><init>()V
970 iput-object v2, p0, Lcom/android/server/am/ActivityManagerService;->mProcessCrashTimes:Lcom/android/server/ProcessMap;
972 new-instance v2, Lcom/android/server/ProcessMap;
974 invoke-direct {v2}, Lcom/android/server/ProcessMap;-><init>()V
976 iput-object v2, p0, Lcom/android/server/am/ActivityManagerService;->mBadProcesses:Lcom/android/server/ProcessMap;
978 new-instance v2, Landroid/util/SparseArray;
980 invoke-direct {v2}, Landroid/util/SparseArray;-><init>()V
982 iput-object v2, p0, Lcom/android/server/am/ActivityManagerService;->mPidsSelfLocked:Landroid/util/SparseArray;
984 new-instance v2, Landroid/util/SparseArray;
986 invoke-direct {v2}, Landroid/util/SparseArray;-><init>()V
988 iput-object v2, p0, Lcom/android/server/am/ActivityManagerService;->mForegroundProcesses:Landroid/util/SparseArray;
990 new-instance v2, Ljava/util/ArrayList;
992 invoke-direct {v2}, Ljava/util/ArrayList;-><init>()V
994 iput-object v2, p0, Lcom/android/server/am/ActivityManagerService;->mProcessesOnHold:Ljava/util/ArrayList;
996 new-instance v2, Ljava/util/ArrayList;
998 invoke-direct {v2}, Ljava/util/ArrayList;-><init>()V
1000 iput-object v2, p0, Lcom/android/server/am/ActivityManagerService;->mPersistentStartingProcesses:Ljava/util/ArrayList;
1002 new-instance v2, Ljava/util/ArrayList;
1004 invoke-direct {v2}, Ljava/util/ArrayList;-><init>()V
1006 iput-object v2, p0, Lcom/android/server/am/ActivityManagerService;->mRemovedProcesses:Ljava/util/ArrayList;
1008 new-instance v2, Ljava/util/ArrayList;
1010 invoke-direct {v2}, Ljava/util/ArrayList;-><init>()V
1012 iput-object v2, p0, Lcom/android/server/am/ActivityManagerService;->mLruProcesses:Ljava/util/ArrayList;
1014 new-instance v2, Ljava/util/ArrayList;
1016 invoke-direct {v2}, Ljava/util/ArrayList;-><init>()V
1018 iput-object v2, p0, Lcom/android/server/am/ActivityManagerService;->mProcessesToGc:Ljava/util/ArrayList;
1020 new-instance v2, Ljava/util/HashSet;
1022 invoke-direct {v2}, Ljava/util/HashSet;-><init>()V
1024 iput-object v2, p0, Lcom/android/server/am/ActivityManagerService;->mPendingResultRecords:Ljava/util/HashSet;
1026 new-instance v2, Ljava/util/HashMap;
1028 invoke-direct {v2}, Ljava/util/HashMap;-><init>()V
1030 iput-object v2, p0, Lcom/android/server/am/ActivityManagerService;->mIntentSenderRecords:Ljava/util/HashMap;
1032 new-instance v2, Ljava/util/HashSet;
1034 invoke-direct {v2}, Ljava/util/HashSet;-><init>()V
1036 iput-object v2, p0, Lcom/android/server/am/ActivityManagerService;->mAlreadyLoggedViolatedStacks:Ljava/util/HashSet;
1038 new-instance v2, Ljava/lang/StringBuilder;
1040 invoke-direct {v2}, Ljava/lang/StringBuilder;-><init>()V
1042 iput-object v2, p0, Lcom/android/server/am/ActivityManagerService;->mStrictModeBuffer:Ljava/lang/StringBuilder;
1044 new-instance v2, Ljava/util/HashMap;
1046 invoke-direct {v2}, Ljava/util/HashMap;-><init>()V
1048 iput-object v2, p0, Lcom/android/server/am/ActivityManagerService;->mRegisteredReceivers:Ljava/util/HashMap;
1050 new-instance v2, Lcom/android/server/am/ActivityManagerService$1;
1052 invoke-direct {v2, p0}, Lcom/android/server/am/ActivityManagerService$1;-><init>(Lcom/android/server/am/ActivityManagerService;)V
1054 iput-object v2, p0, Lcom/android/server/am/ActivityManagerService;->mReceiverResolver:Lcom/android/server/IntentResolver;
1056 new-instance v2, Ljava/util/HashMap;
1058 invoke-direct {v2}, Ljava/util/HashMap;-><init>()V
1060 iput-object v2, p0, Lcom/android/server/am/ActivityManagerService;->mStickyBroadcasts:Ljava/util/HashMap;
1062 new-instance v2, Lcom/android/server/am/ActivityManagerService$ServiceMap;
1064 invoke-direct {v2}, Lcom/android/server/am/ActivityManagerService$ServiceMap;-><init>()V
1066 iput-object v2, p0, Lcom/android/server/am/ActivityManagerService;->mServiceMap:Lcom/android/server/am/ActivityManagerService$ServiceMap;
1068 new-instance v2, Ljava/util/HashMap;
1070 invoke-direct {v2}, Ljava/util/HashMap;-><init>()V
1072 iput-object v2, p0, Lcom/android/server/am/ActivityManagerService;->mServiceConnections:Ljava/util/HashMap;
1074 new-instance v2, Ljava/util/ArrayList;
1076 invoke-direct {v2}, Ljava/util/ArrayList;-><init>()V
1078 iput-object v2, p0, Lcom/android/server/am/ActivityManagerService;->mPendingServices:Ljava/util/ArrayList;
1080 new-instance v2, Ljava/util/ArrayList;
1082 invoke-direct {v2}, Ljava/util/ArrayList;-><init>()V
1084 iput-object v2, p0, Lcom/android/server/am/ActivityManagerService;->mRestartingServices:Ljava/util/ArrayList;
1086 new-instance v2, Ljava/util/ArrayList;
1088 invoke-direct {v2}, Ljava/util/ArrayList;-><init>()V
1090 iput-object v2, p0, Lcom/android/server/am/ActivityManagerService;->mStoppingServices:Ljava/util/ArrayList;
1092 iput-object v4, p0, Lcom/android/server/am/ActivityManagerService;->mBackupAppName:Ljava/lang/String;
1094 iput-object v4, p0, Lcom/android/server/am/ActivityManagerService;->mBackupTarget:Lcom/android/server/am/BackupRecord;
1096 new-instance v2, Ljava/util/ArrayList;
1098 invoke-direct {v2}, Ljava/util/ArrayList;-><init>()V
1100 iput-object v2, p0, Lcom/android/server/am/ActivityManagerService;->mPendingThumbnails:Ljava/util/ArrayList;
1102 new-instance v2, Ljava/util/ArrayList;
1104 invoke-direct {v2}, Ljava/util/ArrayList;-><init>()V
1106 iput-object v2, p0, Lcom/android/server/am/ActivityManagerService;->mCancelledThumbnails:Ljava/util/ArrayList;
1108 new-instance v2, Lcom/android/server/am/ProviderMap;
1110 invoke-direct {v2}, Lcom/android/server/am/ProviderMap;-><init>()V
1112 iput-object v2, p0, Lcom/android/server/am/ActivityManagerService;->mProviderMap:Lcom/android/server/am/ProviderMap;
1114 new-instance v2, Ljava/util/ArrayList;
1116 invoke-direct {v2}, Ljava/util/ArrayList;-><init>()V
1118 iput-object v2, p0, Lcom/android/server/am/ActivityManagerService;->mLaunchingProviders:Ljava/util/ArrayList;
1120 new-instance v2, Landroid/util/SparseArray;
1122 invoke-direct {v2}, Landroid/util/SparseArray;-><init>()V
1124 iput-object v2, p0, Lcom/android/server/am/ActivityManagerService;->mGrantedUriPermissions:Landroid/util/SparseArray;
1126 new-instance v2, Landroid/content/res/Configuration;
1128 invoke-direct {v2}, Landroid/content/res/Configuration;-><init>()V
1130 iput-object v2, p0, Lcom/android/server/am/ActivityManagerService;->mConfiguration:Landroid/content/res/Configuration;
1132 iput v6, p0, Lcom/android/server/am/ActivityManagerService;->mConfigurationSeq:I
1134 new-instance v2, Ljava/lang/StringBuilder;
1138 invoke-direct {v2, v3}, Ljava/lang/StringBuilder;-><init>(I)V
1140 iput-object v2, p0, Lcom/android/server/am/ActivityManagerService;->mStringBuilder:Ljava/lang/StringBuilder;
1142 iput-boolean v6, p0, Lcom/android/server/am/ActivityManagerService;->mStartRunning:Z
1144 iput-boolean v6, p0, Lcom/android/server/am/ActivityManagerService;->mProcessesReady:Z
1146 iput-boolean v6, p0, Lcom/android/server/am/ActivityManagerService;->mSystemReady:Z
1148 iput-boolean v6, p0, Lcom/android/server/am/ActivityManagerService;->mBooting:Z
1150 iput-boolean v6, p0, Lcom/android/server/am/ActivityManagerService;->mWaitingUpdate:Z
1152 iput-boolean v6, p0, Lcom/android/server/am/ActivityManagerService;->mDidUpdate:Z
1154 iput-boolean v6, p0, Lcom/android/server/am/ActivityManagerService;->mOnBattery:Z
1156 iput-boolean v6, p0, Lcom/android/server/am/ActivityManagerService;->mLaunchWarningShown:Z
1158 iput-boolean v6, p0, Lcom/android/server/am/ActivityManagerService;->mSleeping:Z
1160 iput-boolean v6, p0, Lcom/android/server/am/ActivityManagerService;->mWentToSleep:Z
1162 iput-boolean v6, p0, Lcom/android/server/am/ActivityManagerService;->mLockScreenShown:Z
1164 iput-boolean v6, p0, Lcom/android/server/am/ActivityManagerService;->mShuttingDown:Z
1166 iput v7, p0, Lcom/android/server/am/ActivityManagerService;->mCurTask:I
1168 iput v6, p0, Lcom/android/server/am/ActivityManagerService;->mAdjSeq:I
1170 iput v6, p0, Lcom/android/server/am/ActivityManagerService;->mLruSeq:I
1172 iput v6, p0, Lcom/android/server/am/ActivityManagerService;->mNumServiceProcs:I
1174 iput v6, p0, Lcom/android/server/am/ActivityManagerService;->mNewNumServiceProcs:I
1178 new-array v2, v2, [I
1180 iput-object v2, p0, Lcom/android/server/am/ActivityManagerService;->mProcDeaths:[I
1182 iput-object v4, p0, Lcom/android/server/am/ActivityManagerService;->mDebugApp:Ljava/lang/String;
1184 iput-boolean v6, p0, Lcom/android/server/am/ActivityManagerService;->mWaitForDebugger:Z
1186 iput-boolean v6, p0, Lcom/android/server/am/ActivityManagerService;->mDebugTransient:Z
1188 iput-object v4, p0, Lcom/android/server/am/ActivityManagerService;->mOrigDebugApp:Ljava/lang/String;
1190 iput-boolean v6, p0, Lcom/android/server/am/ActivityManagerService;->mOrigWaitForDebugger:Z
1192 iput-boolean v6, p0, Lcom/android/server/am/ActivityManagerService;->mAlwaysFinishActivities:Z
1194 iput-object v4, p0, Lcom/android/server/am/ActivityManagerService;->mController:Landroid/app/IActivityController;
1196 iput-object v4, p0, Lcom/android/server/am/ActivityManagerService;->mProfileApp:Ljava/lang/String;
1198 iput-object v4, p0, Lcom/android/server/am/ActivityManagerService;->mProfileProc:Lcom/android/server/am/ProcessRecord;
1200 iput v6, p0, Lcom/android/server/am/ActivityManagerService;->mProfileType:I
1202 iput-boolean v6, p0, Lcom/android/server/am/ActivityManagerService;->mAutoStopProfiler:Z
1204 iput-object v4, p0, Lcom/android/server/am/ActivityManagerService;->mOpenGlTraceApp:Ljava/lang/String;
1206 new-instance v2, Landroid/os/RemoteCallbackList;
1208 invoke-direct {v2}, Landroid/os/RemoteCallbackList;-><init>()V
1210 iput-object v2, p0, Lcom/android/server/am/ActivityManagerService;->mProcessObservers:Landroid/os/RemoteCallbackList;
1212 new-array v2, v5, [Lcom/android/server/am/ActivityManagerService$ProcessChangeItem;
1214 iput-object v2, p0, Lcom/android/server/am/ActivityManagerService;->mActiveProcessChanges:[Lcom/android/server/am/ActivityManagerService$ProcessChangeItem;
1216 new-instance v2, Ljava/util/ArrayList;
1218 invoke-direct {v2}, Ljava/util/ArrayList;-><init>()V
1220 iput-object v2, p0, Lcom/android/server/am/ActivityManagerService;->mPendingProcessChanges:Ljava/util/ArrayList;
1222 new-instance v2, Ljava/util/ArrayList;
1224 invoke-direct {v2}, Ljava/util/ArrayList;-><init>()V
1226 iput-object v2, p0, Lcom/android/server/am/ActivityManagerService;->mAvailProcessChanges:Ljava/util/ArrayList;
1228 new-instance v2, Ljava/util/ArrayList;
1230 invoke-direct {v2}, Ljava/util/ArrayList;-><init>()V
1232 iput-object v2, p0, Lcom/android/server/am/ActivityManagerService;->mRequestPssList:Ljava/util/ArrayList;
1234 new-instance v2, Lcom/android/internal/os/ProcessStats;
1236 invoke-direct {v2, v6}, Lcom/android/internal/os/ProcessStats;-><init>(Z)V
1238 iput-object v2, p0, Lcom/android/server/am/ActivityManagerService;->mProcessStats:Lcom/android/internal/os/ProcessStats;
1240 new-instance v2, Ljava/util/concurrent/atomic/AtomicLong;
1242 invoke-direct {v2, v8, v9}, Ljava/util/concurrent/atomic/AtomicLong;-><init>(J)V
1244 iput-object v2, p0, Lcom/android/server/am/ActivityManagerService;->mLastCpuTime:Ljava/util/concurrent/atomic/AtomicLong;
1246 new-instance v2, Ljava/util/concurrent/atomic/AtomicBoolean;
1248 invoke-direct {v2, v7}, Ljava/util/concurrent/atomic/AtomicBoolean;-><init>(Z)V
1250 iput-object v2, p0, Lcom/android/server/am/ActivityManagerService;->mProcessStatsMutexFree:Ljava/util/concurrent/atomic/AtomicBoolean;
1252 iput-wide v8, p0, Lcom/android/server/am/ActivityManagerService;->mLastWriteTime:J
1254 iput-boolean v6, p0, Lcom/android/server/am/ActivityManagerService;->mBooted:Z
1258 iput v2, p0, Lcom/android/server/am/ActivityManagerService;->mProcessLimit:I
1262 iput v2, p0, Lcom/android/server/am/ActivityManagerService;->mProcessLimitOverride:I
1264 iput-wide v8, p0, Lcom/android/server/am/ActivityManagerService;->mLastMemUsageReportTime:J
1266 new-instance v2, Lcom/android/server/am/ActivityManagerService$2;
1268 invoke-direct {v2, p0}, Lcom/android/server/am/ActivityManagerService$2;-><init>(Lcom/android/server/am/ActivityManagerService;)V
1270 iput-object v2, p0, Lcom/android/server/am/ActivityManagerService;->mHandler:Landroid/os/Handler;
1272 new-instance v2, Landroid/util/SparseIntArray;
1274 invoke-direct {v2, v5}, Landroid/util/SparseIntArray;-><init>(I)V
1276 iput-object v2, p0, Lcom/android/server/am/ActivityManagerService;->mLoggedInUsers:Landroid/util/SparseIntArray;
1278 const-string v2, "ActivityManager"
1280 new-instance v3, Ljava/lang/StringBuilder;
1282 invoke-direct {v3}, Ljava/lang/StringBuilder;-><init>()V
1284 const-string v4, "Memory class: "
1286 invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
1288 move-result-object v3
1290 invoke-static {}, Landroid/app/ActivityManager;->staticGetMemoryClass()I
1294 invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
1296 move-result-object v3
1298 invoke-virtual {v3}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
1300 move-result-object v3
1302 invoke-static {v2, v3}, Landroid/util/Slog;->i(Ljava/lang/String;Ljava/lang/String;)I
1304 new-instance v2, Lcom/android/server/am/BroadcastQueue;
1306 const-string v3, "foreground"
1308 const-wide/16 v4, 0x2710
1310 invoke-direct {v2, p0, v3, v4, v5}, Lcom/android/server/am/BroadcastQueue;-><init>(Lcom/android/server/am/ActivityManagerService;Ljava/lang/String;J)V
1312 iput-object v2, p0, Lcom/android/server/am/ActivityManagerService;->mFgBroadcastQueue:Lcom/android/server/am/BroadcastQueue;
1314 new-instance v2, Lcom/android/server/am/BroadcastQueue;
1316 const-string v3, "background"
1318 const-wide/32 v4, 0xea60
1320 invoke-direct {v2, p0, v3, v4, v5}, Lcom/android/server/am/BroadcastQueue;-><init>(Lcom/android/server/am/ActivityManagerService;Ljava/lang/String;J)V
1322 iput-object v2, p0, Lcom/android/server/am/ActivityManagerService;->mBgBroadcastQueue:Lcom/android/server/am/BroadcastQueue;
1324 iget-object v2, p0, Lcom/android/server/am/ActivityManagerService;->mBroadcastQueues:[Lcom/android/server/am/BroadcastQueue;
1326 iget-object v3, p0, Lcom/android/server/am/ActivityManagerService;->mFgBroadcastQueue:Lcom/android/server/am/BroadcastQueue;
1328 aput-object v3, v2, v6
1330 iget-object v2, p0, Lcom/android/server/am/ActivityManagerService;->mBroadcastQueues:[Lcom/android/server/am/BroadcastQueue;
1332 iget-object v3, p0, Lcom/android/server/am/ActivityManagerService;->mBgBroadcastQueue:Lcom/android/server/am/BroadcastQueue;
1334 aput-object v3, v2, v7
1336 invoke-static {}, Landroid/os/Environment;->getDataDirectory()Ljava/io/File;
1338 move-result-object v0
1340 new-instance v1, Ljava/io/File;
1342 const-string v2, "system"
1344 invoke-direct {v1, v0, v2}, Ljava/io/File;-><init>(Ljava/io/File;Ljava/lang/String;)V
1346 invoke-virtual {v1}, Ljava/io/File;->mkdirs()Z
1348 new-instance v2, Lcom/android/server/am/BatteryStatsService;
1350 new-instance v3, Ljava/io/File;
1352 const-string v4, "batterystats.bin"
1354 invoke-direct {v3, v1, v4}, Ljava/io/File;-><init>(Ljava/io/File;Ljava/lang/String;)V
1356 invoke-virtual {v3}, Ljava/io/File;->toString()Ljava/lang/String;
1358 move-result-object v3
1360 invoke-direct {v2, v3}, Lcom/android/server/am/BatteryStatsService;-><init>(Ljava/lang/String;)V
1362 iput-object v2, p0, Lcom/android/server/am/ActivityManagerService;->mBatteryStatsService:Lcom/android/server/am/BatteryStatsService;
1364 iget-object v2, p0, Lcom/android/server/am/ActivityManagerService;->mBatteryStatsService:Lcom/android/server/am/BatteryStatsService;
1366 invoke-virtual {v2}, Lcom/android/server/am/BatteryStatsService;->getActiveStatistics()Lcom/android/internal/os/BatteryStatsImpl;
1368 move-result-object v2
1370 invoke-virtual {v2}, Lcom/android/internal/os/BatteryStatsImpl;->readLocked()V
1372 iget-object v2, p0, Lcom/android/server/am/ActivityManagerService;->mBatteryStatsService:Lcom/android/server/am/BatteryStatsService;
1374 invoke-virtual {v2}, Lcom/android/server/am/BatteryStatsService;->getActiveStatistics()Lcom/android/internal/os/BatteryStatsImpl;
1376 move-result-object v2
1378 invoke-virtual {v2}, Lcom/android/internal/os/BatteryStatsImpl;->writeAsyncLocked()V
1380 iget-object v2, p0, Lcom/android/server/am/ActivityManagerService;->mBatteryStatsService:Lcom/android/server/am/BatteryStatsService;
1382 invoke-virtual {v2}, Lcom/android/server/am/BatteryStatsService;->getActiveStatistics()Lcom/android/internal/os/BatteryStatsImpl;
1384 move-result-object v2
1386 invoke-virtual {v2}, Lcom/android/internal/os/BatteryStatsImpl;->getIsOnBattery()Z
1390 iput-boolean v2, p0, Lcom/android/server/am/ActivityManagerService;->mOnBattery:Z
1392 iget-object v2, p0, Lcom/android/server/am/ActivityManagerService;->mBatteryStatsService:Lcom/android/server/am/BatteryStatsService;
1394 invoke-virtual {v2}, Lcom/android/server/am/BatteryStatsService;->getActiveStatistics()Lcom/android/internal/os/BatteryStatsImpl;
1396 move-result-object v2
1398 invoke-virtual {v2, p0}, Lcom/android/internal/os/BatteryStatsImpl;->setCallback(Lcom/android/internal/os/BatteryStatsImpl$BatteryCallback;)V
1400 new-instance v2, Lcom/android/server/am/UsageStatsService;
1402 new-instance v3, Ljava/io/File;
1404 const-string v4, "usagestats"
1406 invoke-direct {v3, v1, v4}, Ljava/io/File;-><init>(Ljava/io/File;Ljava/lang/String;)V
1408 invoke-virtual {v3}, Ljava/io/File;->toString()Ljava/lang/String;
1410 move-result-object v3
1412 invoke-direct {v2, v3}, Lcom/android/server/am/UsageStatsService;-><init>(Ljava/lang/String;)V
1414 iput-object v2, p0, Lcom/android/server/am/ActivityManagerService;->mUsageStatsService:Lcom/android/server/am/UsageStatsService;
1416 const-string v2, "1"
1418 const-string v3, "ro.config.headless"
1420 const-string v4, "0"
1422 invoke-static {v3, v4}, Landroid/os/SystemProperties;->get(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
1424 move-result-object v3
1426 invoke-virtual {v2, v3}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
1430 iput-boolean v2, p0, Lcom/android/server/am/ActivityManagerService;->mHeadless:Z
1432 const-string v2, "ro.opengles.version"
1434 invoke-static {v2, v6}, Landroid/os/SystemProperties;->getInt(Ljava/lang/String;I)I
1438 iput v2, p0, Lcom/android/server/am/ActivityManagerService;->GL_ES_VERSION:I
1440 iget-object v2, p0, Lcom/android/server/am/ActivityManagerService;->mConfiguration:Landroid/content/res/Configuration;
1442 invoke-virtual {v2}, Landroid/content/res/Configuration;->setToDefaults()V
1444 iget-object v2, p0, Lcom/android/server/am/ActivityManagerService;->mConfiguration:Landroid/content/res/Configuration;
1446 invoke-static {}, Ljava/util/Locale;->getDefault()Ljava/util/Locale;
1448 move-result-object v3
1450 iput-object v3, v2, Landroid/content/res/Configuration;->locale:Ljava/util/Locale;
1452 iget-object v2, p0, Lcom/android/server/am/ActivityManagerService;->mConfiguration:Landroid/content/res/Configuration;
1454 iput v7, v2, Landroid/content/res/Configuration;->seq:I
1456 iput v7, p0, Lcom/android/server/am/ActivityManagerService;->mConfigurationSeq:I
1458 iget-object v2, p0, Lcom/android/server/am/ActivityManagerService;->mProcessStats:Lcom/android/internal/os/ProcessStats;
1460 invoke-virtual {v2}, Lcom/android/internal/os/ProcessStats;->init()V
1462 new-instance v2, Lcom/android/server/am/CompatModePackages;
1464 invoke-direct {v2, p0, v1}, Lcom/android/server/am/CompatModePackages;-><init>(Lcom/android/server/am/ActivityManagerService;Ljava/io/File;)V
1466 iput-object v2, p0, Lcom/android/server/am/ActivityManagerService;->mCompatModePackages:Lcom/android/server/am/CompatModePackages;
1468 invoke-static {}, Lcom/android/server/Watchdog;->getInstance()Lcom/android/server/Watchdog;
1470 move-result-object v2
1472 invoke-virtual {v2, p0}, Lcom/android/server/Watchdog;->addMonitor(Lcom/android/server/Watchdog$Monitor;)V
1474 new-instance v2, Lcom/android/server/am/ActivityManagerService$3;
1476 const-string v3, "ProcessStats"
1478 invoke-direct {v2, p0, v3}, Lcom/android/server/am/ActivityManagerService$3;-><init>(Lcom/android/server/am/ActivityManagerService;Ljava/lang/String;)V
1480 iput-object v2, p0, Lcom/android/server/am/ActivityManagerService;->mProcessStatsThread:Ljava/lang/Thread;
1482 iget-object v2, p0, Lcom/android/server/am/ActivityManagerService;->mProcessStatsThread:Ljava/lang/Thread;
1484 invoke-virtual {v2}, Ljava/lang/Thread;->start()V
1489 .method synthetic constructor <init>(Lcom/android/server/am/ActivityManagerService$1;)V
1492 invoke-direct {p0}, Lcom/android/server/am/ActivityManagerService;-><init>()V
1497 .method static synthetic access$000(Lcom/android/server/am/ActivityManagerService;)Z
1500 iget-boolean v0, p0, Lcom/android/server/am/ActivityManagerService;->mShowDialogs:Z
1505 .method static synthetic access$100(Lcom/android/server/am/ActivityManagerService;)Landroid/content/Context;
1508 invoke-direct {p0}, Lcom/android/server/am/ActivityManagerService;->getUiContext()Landroid/content/Context;
1510 move-result-object v0
1515 .method static synthetic access$1000(Lcom/android/server/am/ActivityManagerService;)Ljava/lang/StringBuilder;
1518 iget-object v0, p0, Lcom/android/server/am/ActivityManagerService;->mStrictModeBuffer:Ljava/lang/StringBuilder;
1523 .method static synthetic access$200(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
1526 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
1533 .method static synthetic access$300(Lcom/android/server/am/ActivityManagerService;Lcom/android/server/am/ProcessRecord;)V
1536 invoke-direct {p0, p1}, Lcom/android/server/am/ActivityManagerService;->processStartTimedOutLocked(Lcom/android/server/am/ProcessRecord;)V
1541 .method static synthetic access$400(Lcom/android/server/am/ActivityManagerService;Ljava/lang/String;IZZZZI)Z
1544 invoke-direct/range {p0 .. p7}, Lcom/android/server/am/ActivityManagerService;->forceStopPackageLocked(Ljava/lang/String;IZZZZI)Z
1551 .method static synthetic access$500(Lcom/android/server/am/ActivityManagerService;)V
1554 invoke-direct {p0}, Lcom/android/server/am/ActivityManagerService;->dispatchProcessesChanged()V
1559 .method static synthetic access$600(Lcom/android/server/am/ActivityManagerService;II)V
1562 invoke-direct {p0, p1, p2}, Lcom/android/server/am/ActivityManagerService;->dispatchProcessDied(II)V
1567 .method static synthetic access$800(Lcom/android/server/am/ActivityManagerService;Landroid/content/Intent;)V
1570 invoke-direct {p0, p1}, Lcom/android/server/am/ActivityManagerService;->onUserRemoved(Landroid/content/Intent;)V
1575 .method static synthetic access$900(Ljava/util/ArrayList;)V
1578 invoke-static {p0}, Lcom/android/server/am/ActivityManagerService;->writeLastDonePreBootReceivers(Ljava/util/ArrayList;)V
1583 .method private appendDropBoxProcessHeaders(Lcom/android/server/am/ProcessRecord;Ljava/lang/String;Ljava/lang/StringBuilder;)V
1588 const-string v6, "Process: "
1590 invoke-virtual {p3, v6}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
1592 move-result-object v6
1594 invoke-virtual {v6, p2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
1596 move-result-object v6
1598 const-string v7, "\n"
1600 invoke-virtual {v6, v7}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
1609 const-string v6, "Process: "
1611 invoke-virtual {p3, v6}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
1613 move-result-object v6
1615 invoke-virtual {v6, p2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
1617 move-result-object v6
1619 const-string v7, "\n"
1621 invoke-virtual {v6, v7}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
1623 iget-object v6, p1, Lcom/android/server/am/ProcessRecord;->info:Landroid/content/pm/ApplicationInfo;
1625 iget v1, v6, Landroid/content/pm/ApplicationInfo;->flags:I
1627 invoke-static {}, Landroid/app/AppGlobals;->getPackageManager()Landroid/content/pm/IPackageManager;
1629 move-result-object v5
1631 const-string v6, "Flags: 0x"
1633 invoke-virtual {p3, v6}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
1635 move-result-object v6
1639 invoke-static {v1, v7}, Ljava/lang/Integer;->toString(II)Ljava/lang/String;
1641 move-result-object v7
1643 invoke-virtual {v6, v7}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
1645 move-result-object v6
1647 const-string v7, "\n"
1649 invoke-virtual {v6, v7}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
1651 iget-object v6, p1, Lcom/android/server/am/ProcessRecord;->pkgList:Ljava/util/HashSet;
1653 invoke-virtual {v6}, Ljava/util/HashSet;->iterator()Ljava/util/Iterator;
1655 move-result-object v2
1658 invoke-interface {v2}, Ljava/util/Iterator;->hasNext()Z
1664 invoke-interface {v2}, Ljava/util/Iterator;->next()Ljava/lang/Object;
1666 move-result-object v4
1668 check-cast v4, Ljava/lang/String;
1670 const-string v6, "Package: "
1672 invoke-virtual {p3, v6}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
1674 move-result-object v6
1676 invoke-virtual {v6, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
1678 .catchall {:try_start_13 .. :try_end_5a} :catchall_88
1685 invoke-interface {v5, v4, v6, v7}, Landroid/content/pm/IPackageManager;->getPackageInfo(Ljava/lang/String;II)Landroid/content/pm/PackageInfo;
1687 move-result-object v3
1691 const-string v6, " v"
1693 invoke-virtual {p3, v6}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
1695 move-result-object v6
1697 iget v7, v3, Landroid/content/pm/PackageInfo;->versionCode:I
1699 invoke-virtual {v6, v7}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
1701 iget-object v6, v3, Landroid/content/pm/PackageInfo;->versionName:Ljava/lang/String;
1705 const-string v6, " ("
1707 invoke-virtual {p3, v6}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
1709 move-result-object v6
1711 iget-object v7, v3, Landroid/content/pm/PackageInfo;->versionName:Ljava/lang/String;
1713 invoke-virtual {v6, v7}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
1715 move-result-object v6
1717 const-string v7, ")"
1719 invoke-virtual {v6, v7}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
1721 .catchall {:try_start_5c .. :try_end_82} :catchall_88
1722 .catch Landroid/os/RemoteException; {:try_start_5c .. :try_end_82} :catch_8b
1727 const-string v6, "\n"
1729 invoke-virtual {p3, v6}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
1738 .catchall {:try_start_82 .. :try_end_8a} :catchall_88
1746 const-string v6, "ActivityManager"
1748 new-instance v7, Ljava/lang/StringBuilder;
1750 invoke-direct {v7}, Ljava/lang/StringBuilder;-><init>()V
1752 const-string v8, "Error getting package info: "
1754 invoke-virtual {v7, v8}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
1756 move-result-object v7
1758 invoke-virtual {v7, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
1760 move-result-object v7
1762 invoke-virtual {v7}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
1764 move-result-object v7
1766 invoke-static {v6, v7, v0}, Landroid/util/Slog;->e(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I
1773 .catchall {:try_start_8c .. :try_end_a6} :catchall_88
1778 .method static final appendMemBucket(Ljava/lang/StringBuilder;JLjava/lang/String;Z)V
1781 const-wide/16 v7, 0x400
1785 invoke-virtual {p3, v5}, Ljava/lang/String;->lastIndexOf(I)I
1791 add-int/lit8 v4, v4, 0x1
1794 invoke-virtual {p3}, Ljava/lang/String;->length()I
1801 sget-object v5, Lcom/android/server/am/ActivityManagerService;->DUMP_MEM_BUCKETS:[J
1805 if-ge v3, v5, :cond_3a
1807 sget-object v5, Lcom/android/server/am/ActivityManagerService;->DUMP_MEM_BUCKETS:[J
1809 aget-wide v5, v5, v3
1815 sget-object v5, Lcom/android/server/am/ActivityManagerService;->DUMP_MEM_BUCKETS:[J
1817 aget-wide v5, v5, v3
1821 invoke-virtual {p0, v0, v1}, Ljava/lang/StringBuilder;->append(J)Ljava/lang/StringBuilder;
1825 const-string v5, "MB."
1828 invoke-virtual {p0, v5}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
1830 invoke-virtual {p0, p3, v4, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/CharSequence;II)Ljava/lang/StringBuilder;
1841 const-string v5, "MB "
1846 add-int/lit8 v3, v3, 0x1
1853 invoke-virtual {p0, v5, v6}, Ljava/lang/StringBuilder;->append(J)Ljava/lang/StringBuilder;
1857 const-string v5, "MB."
1860 invoke-virtual {p0, v5}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
1862 invoke-virtual {p0, p3, v4, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/CharSequence;II)Ljava/lang/StringBuilder;
1867 const-string v5, "MB "
1872 .method private applyUserId(II)I
1875 invoke-static {p2, p1}, Landroid/os/UserId;->getUid(II)I
1882 .method private final attachApplicationLocked(Landroid/app/IApplicationThread;I)Z
1885 sget v5, Lcom/android/server/am/ActivityManagerService;->MY_PID:I
1889 if-eq v0, v5, :cond_5f
1893 move-object/from16 v0, p0
1895 iget-object v9, v0, Lcom/android/server/am/ActivityManagerService;->mPidsSelfLocked:Landroid/util/SparseArray;
1900 move-object/from16 v0, p0
1902 iget-object v5, v0, Lcom/android/server/am/ActivityManagerService;->mPidsSelfLocked:Landroid/util/SparseArray;
1906 invoke-virtual {v5, v0}, Landroid/util/SparseArray;->get(I)Ljava/lang/Object;
1908 move-result-object v24
1910 check-cast v24, Lcom/android/server/am/ProcessRecord;
1914 .catchall {:try_start_d .. :try_end_1a} :catchall_5c
1917 if-nez v24, :cond_68
1919 const-string v5, "ActivityManager"
1921 new-instance v9, Ljava/lang/StringBuilder;
1923 invoke-direct {v9}, Ljava/lang/StringBuilder;-><init>()V
1925 const-string v13, "No pending application record for pid "
1927 invoke-virtual {v9, v13}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
1929 move-result-object v9
1933 invoke-virtual {v9, v0}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
1935 move-result-object v9
1937 const-string v13, " (IApplicationThread "
1939 invoke-virtual {v9, v13}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
1941 move-result-object v9
1943 move-object/from16 v0, p1
1945 invoke-virtual {v9, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
1947 move-result-object v9
1949 const-string v13, "); dropping process"
1951 invoke-virtual {v9, v13}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
1953 move-result-object v9
1955 invoke-virtual {v9}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
1957 move-result-object v9
1959 invoke-static {v5, v9}, Landroid/util/Slog;->w(Ljava/lang/String;Ljava/lang/String;)I
1965 invoke-static {v5, v0}, Landroid/util/EventLog;->writeEvent(II)I
1969 sget v5, Lcom/android/server/am/ActivityManagerService;->MY_PID:I
1973 if-eq v0, v5, :cond_62
1975 invoke-static/range {p2 .. p2}, Landroid/os/Process;->killProcessQuiet(I)V
1989 .catchall {:try_start_5d .. :try_end_5e} :catchall_5c
2000 invoke-interface/range {p1 .. p1}, Landroid/app/IApplicationThread;->scheduleExit()V
2002 .catch Ljava/lang/Exception; {:try_start_62 .. :try_end_65} :catch_66
2012 move-object/from16 v0, v24
2014 iget-object v5, v0, Lcom/android/server/am/ProcessRecord;->thread:Landroid/app/IApplicationThread;
2022 move-object/from16 v0, p0
2024 move-object/from16 v1, v24
2026 invoke-direct {v0, v1, v5, v9}, Lcom/android/server/am/ActivityManagerService;->handleAppDiedLocked(Lcom/android/server/am/ProcessRecord;ZZ)V
2029 move-object/from16 v0, v24
2031 iget-object v6, v0, Lcom/android/server/am/ProcessRecord;->processName:Ljava/lang/String;
2034 new-instance v23, Lcom/android/server/am/ActivityManagerService$AppDeathRecipient;
2036 move-object/from16 v0, v23
2038 move-object/from16 v1, p0
2040 move-object/from16 v2, v24
2044 move-object/from16 v4, p1
2046 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
2048 invoke-interface/range {p1 .. p1}, Landroid/app/IApplicationThread;->asBinder()Landroid/os/IBinder;
2050 move-result-object v5
2054 move-object/from16 v0, v23
2056 invoke-interface {v5, v0, v9}, Landroid/os/IBinder;->linkToDeath(Landroid/os/IBinder$DeathRecipient;I)V
2058 move-object/from16 v0, v23
2060 move-object/from16 v1, v24
2062 iput-object v0, v1, Lcom/android/server/am/ProcessRecord;->deathRecipient:Landroid/os/IBinder$DeathRecipient;
2064 .catch Landroid/os/RemoteException; {:try_start_7b .. :try_end_9a} :catch_304
2070 new-array v9, v9, [Ljava/lang/Object;
2074 move-object/from16 v0, v24
2076 iget v14, v0, Lcom/android/server/am/ProcessRecord;->pid:I
2078 invoke-static {v14}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
2080 move-result-object v14
2082 aput-object v14, v9, v13
2086 move-object/from16 v0, v24
2088 iget-object v14, v0, Lcom/android/server/am/ProcessRecord;->processName:Ljava/lang/String;
2090 aput-object v14, v9, v13
2092 invoke-static {v5, v9}, Landroid/util/EventLog;->writeEvent(I[Ljava/lang/Object;)I
2094 move-object/from16 v0, p1
2096 move-object/from16 v1, v24
2098 iput-object v0, v1, Lcom/android/server/am/ProcessRecord;->thread:Landroid/app/IApplicationThread;
2102 move-object/from16 v0, v24
2104 iput v5, v0, Lcom/android/server/am/ProcessRecord;->setAdj:I
2106 move-object/from16 v0, v24
2108 iput v5, v0, Lcom/android/server/am/ProcessRecord;->curAdj:I
2112 move-object/from16 v0, v24
2114 iput v5, v0, Lcom/android/server/am/ProcessRecord;->curSchedGroup:I
2118 move-object/from16 v0, v24
2120 iput v5, v0, Lcom/android/server/am/ProcessRecord;->setSchedGroup:I
2124 move-object/from16 v0, v24
2126 iput-object v5, v0, Lcom/android/server/am/ProcessRecord;->forcingToForeground:Landroid/os/IBinder;
2130 move-object/from16 v0, v24
2132 iput-boolean v5, v0, Lcom/android/server/am/ProcessRecord;->foregroundServices:Z
2136 move-object/from16 v0, v24
2138 iput-boolean v5, v0, Lcom/android/server/am/ProcessRecord;->hasShownUi:Z
2142 move-object/from16 v0, v24
2144 iput-boolean v5, v0, Lcom/android/server/am/ProcessRecord;->debugging:Z
2146 move-object/from16 v0, p0
2148 iget-object v5, v0, Lcom/android/server/am/ActivityManagerService;->mHandler:Landroid/os/Handler;
2152 move-object/from16 v0, v24
2154 invoke-virtual {v5, v9, v0}, Landroid/os/Handler;->removeMessages(ILjava/lang/Object;)V
2156 move-object/from16 v0, p0
2158 iget-boolean v5, v0, Lcom/android/server/am/ActivityManagerService;->mProcessesReady:Z
2162 move-object/from16 v0, v24
2164 iget-object v5, v0, Lcom/android/server/am/ProcessRecord;->info:Landroid/content/pm/ApplicationInfo;
2166 move-object/from16 v0, p0
2168 invoke-virtual {v0, v5}, Lcom/android/server/am/ActivityManagerService;->isAllowedWhileBooting(Landroid/content/pm/ApplicationInfo;)Z
2172 if-eqz v5, :cond_314
2178 if-eqz v31, :cond_318
2180 move-object/from16 v0, p0
2182 move-object/from16 v1, v24
2184 invoke-direct {v0, v1}, Lcom/android/server/am/ActivityManagerService;->generateApplicationProvidersLocked(Lcom/android/server/am/ProcessRecord;)Ljava/util/List;
2186 move-result-object v8
2189 if-nez v31, :cond_127
2191 const-string v5, "ActivityManager"
2193 new-instance v9, Ljava/lang/StringBuilder;
2195 invoke-direct {v9}, Ljava/lang/StringBuilder;-><init>()V
2197 const-string v13, "Launching preboot mode app: "
2199 invoke-virtual {v9, v13}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
2201 move-result-object v9
2203 move-object/from16 v0, v24
2205 invoke-virtual {v9, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
2207 move-result-object v9
2209 invoke-virtual {v9}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
2211 move-result-object v9
2213 invoke-static {v5, v9}, Landroid/util/Slog;->i(Ljava/lang/String;Ljava/lang/String;)I
2219 move-object/from16 v0, p0
2221 iget-object v5, v0, Lcom/android/server/am/ActivityManagerService;->mDebugApp:Ljava/lang/String;
2223 if-eqz v5, :cond_15a
2225 move-object/from16 v0, p0
2227 iget-object v5, v0, Lcom/android/server/am/ActivityManagerService;->mDebugApp:Ljava/lang/String;
2229 invoke-virtual {v5, v6}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
2233 if-eqz v5, :cond_15a
2235 move-object/from16 v0, p0
2237 iget-boolean v5, v0, Lcom/android/server/am/ActivityManagerService;->mWaitForDebugger:Z
2239 if-eqz v5, :cond_31b
2246 move-object/from16 v0, v24
2248 iput-boolean v5, v0, Lcom/android/server/am/ProcessRecord;->debugging:Z
2250 move-object/from16 v0, p0
2252 iget-boolean v5, v0, Lcom/android/server/am/ActivityManagerService;->mDebugTransient:Z
2254 if-eqz v5, :cond_15a
2256 move-object/from16 v0, p0
2258 iget-object v5, v0, Lcom/android/server/am/ActivityManagerService;->mOrigDebugApp:Ljava/lang/String;
2260 move-object/from16 v0, p0
2262 iput-object v5, v0, Lcom/android/server/am/ActivityManagerService;->mDebugApp:Ljava/lang/String;
2264 move-object/from16 v0, p0
2266 iget-boolean v5, v0, Lcom/android/server/am/ActivityManagerService;->mOrigWaitForDebugger:Z
2268 move-object/from16 v0, p0
2270 iput-boolean v5, v0, Lcom/android/server/am/ActivityManagerService;->mWaitForDebugger:Z
2273 move-object/from16 v0, v24
2275 iget-object v10, v0, Lcom/android/server/am/ProcessRecord;->instrumentationProfileFile:Ljava/lang/String;
2281 move-object/from16 v0, p0
2283 iget-object v5, v0, Lcom/android/server/am/ActivityManagerService;->mProfileApp:Ljava/lang/String;
2285 if-eqz v5, :cond_182
2287 move-object/from16 v0, p0
2289 iget-object v5, v0, Lcom/android/server/am/ActivityManagerService;->mProfileApp:Ljava/lang/String;
2291 invoke-virtual {v5, v6}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
2295 if-eqz v5, :cond_182
2297 move-object/from16 v0, v24
2299 move-object/from16 v1, p0
2301 iput-object v0, v1, Lcom/android/server/am/ActivityManagerService;->mProfileProc:Lcom/android/server/am/ProcessRecord;
2303 move-object/from16 v0, p0
2305 iget-object v10, v0, Lcom/android/server/am/ActivityManagerService;->mProfileFile:Ljava/lang/String;
2307 move-object/from16 v0, p0
2309 iget-object v11, v0, Lcom/android/server/am/ActivityManagerService;->mProfileFd:Landroid/os/ParcelFileDescriptor;
2311 move-object/from16 v0, p0
2313 iget-boolean v12, v0, Lcom/android/server/am/ActivityManagerService;->mAutoStopProfiler:Z
2318 move-object/from16 v0, p0
2320 iget-object v5, v0, Lcom/android/server/am/ActivityManagerService;->mOpenGlTraceApp:Ljava/lang/String;
2322 if-eqz v5, :cond_19b
2324 move-object/from16 v0, p0
2326 iget-object v5, v0, Lcom/android/server/am/ActivityManagerService;->mOpenGlTraceApp:Ljava/lang/String;
2328 invoke-virtual {v5, v6}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
2332 if-eqz v5, :cond_19b
2338 move-object/from16 v0, p0
2340 iput-object v5, v0, Lcom/android/server/am/ActivityManagerService;->mOpenGlTraceApp:Ljava/lang/String;
2345 move-object/from16 v0, p0
2347 iget-object v5, v0, Lcom/android/server/am/ActivityManagerService;->mBackupTarget:Lcom/android/server/am/BackupRecord;
2349 if-eqz v5, :cond_1ca
2351 move-object/from16 v0, p0
2353 iget-object v5, v0, Lcom/android/server/am/ActivityManagerService;->mBackupAppName:Ljava/lang/String;
2355 invoke-virtual {v5, v6}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
2359 if-eqz v5, :cond_1ca
2361 move-object/from16 v0, p0
2363 iget-object v5, v0, Lcom/android/server/am/ActivityManagerService;->mBackupTarget:Lcom/android/server/am/BackupRecord;
2365 iget v5, v5, Lcom/android/server/am/BackupRecord;->backupMode:I
2369 if-eq v5, v9, :cond_1c8
2371 move-object/from16 v0, p0
2373 iget-object v5, v0, Lcom/android/server/am/ActivityManagerService;->mBackupTarget:Lcom/android/server/am/BackupRecord;
2375 iget v5, v5, Lcom/android/server/am/BackupRecord;->backupMode:I
2379 if-eq v5, v9, :cond_1c8
2381 move-object/from16 v0, p0
2383 iget-object v5, v0, Lcom/android/server/am/ActivityManagerService;->mBackupTarget:Lcom/android/server/am/BackupRecord;
2385 iget v5, v5, Lcom/android/server/am/BackupRecord;->backupMode:I
2389 if-ne v5, v9, :cond_31e
2396 move-object/from16 v0, v24
2398 iget-object v5, v0, Lcom/android/server/am/ProcessRecord;->instrumentationInfo:Landroid/content/pm/ApplicationInfo;
2400 if-eqz v5, :cond_322
2402 move-object/from16 v0, v24
2404 iget-object v5, v0, Lcom/android/server/am/ProcessRecord;->instrumentationInfo:Landroid/content/pm/ApplicationInfo;
2406 iget-object v5, v5, Landroid/content/pm/ApplicationInfo;->packageName:Ljava/lang/String;
2409 move-object/from16 v0, p0
2411 invoke-virtual {v0, v5}, Lcom/android/server/am/ActivityManagerService;->ensurePackageDexOpt(Ljava/lang/String;)V
2413 move-object/from16 v0, v24
2415 iget-object v5, v0, Lcom/android/server/am/ProcessRecord;->instrumentationClass:Landroid/content/ComponentName;
2417 if-eqz v5, :cond_1ee
2419 move-object/from16 v0, v24
2421 iget-object v5, v0, Lcom/android/server/am/ProcessRecord;->instrumentationClass:Landroid/content/ComponentName;
2423 invoke-virtual {v5}, Landroid/content/ComponentName;->getPackageName()Ljava/lang/String;
2425 move-result-object v5
2427 move-object/from16 v0, p0
2429 invoke-virtual {v0, v5}, Lcom/android/server/am/ActivityManagerService;->ensurePackageDexOpt(Ljava/lang/String;)V
2432 move-object/from16 v0, v24
2434 iget-object v5, v0, Lcom/android/server/am/ProcessRecord;->instrumentationInfo:Landroid/content/pm/ApplicationInfo;
2436 if-eqz v5, :cond_32a
2438 move-object/from16 v0, v24
2440 iget-object v7, v0, Lcom/android/server/am/ProcessRecord;->instrumentationInfo:Landroid/content/pm/ApplicationInfo;
2443 move-object/from16 v0, p0
2445 invoke-virtual {v0, v7}, Lcom/android/server/am/ActivityManagerService;->compatibilityInfoForPackageLocked(Landroid/content/pm/ApplicationInfo;)Landroid/content/res/CompatibilityInfo;
2447 move-result-object v5
2449 move-object/from16 v0, v24
2451 iput-object v5, v0, Lcom/android/server/am/ProcessRecord;->compat:Landroid/content/res/CompatibilityInfo;
2453 if-eqz v11, :cond_208
2455 invoke-virtual {v11}, Landroid/os/ParcelFileDescriptor;->dup()Landroid/os/ParcelFileDescriptor;
2457 move-result-object v11
2460 move-object/from16 v0, v24
2462 iget-object v9, v0, Lcom/android/server/am/ProcessRecord;->instrumentationClass:Landroid/content/ComponentName;
2464 move-object/from16 v0, v24
2466 iget-object v13, v0, Lcom/android/server/am/ProcessRecord;->instrumentationArguments:Landroid/os/Bundle;
2468 move-object/from16 v0, v24
2470 iget-object v14, v0, Lcom/android/server/am/ProcessRecord;->instrumentationWatcher:Landroid/app/IInstrumentationWatcher;
2472 if-nez v30, :cond_218
2474 if-nez v31, :cond_330
2480 move-object/from16 v0, v24
2482 iget-boolean v0, v0, Lcom/android/server/am/ProcessRecord;->persistent:Z
2486 new-instance v19, Landroid/content/res/Configuration;
2488 move-object/from16 v0, p0
2490 iget-object v5, v0, Lcom/android/server/am/ActivityManagerService;->mConfiguration:Landroid/content/res/Configuration;
2492 move-object/from16 v0, v19
2494 invoke-direct {v0, v5}, Landroid/content/res/Configuration;-><init>(Landroid/content/res/Configuration;)V
2496 move-object/from16 v0, v24
2498 iget-object v0, v0, Lcom/android/server/am/ProcessRecord;->compat:Landroid/content/res/CompatibilityInfo;
2500 move-object/from16 v20, v0
2502 invoke-direct/range {p0 .. p0}, Lcom/android/server/am/ActivityManagerService;->getCommonServicesLocked()Ljava/util/HashMap;
2504 move-result-object v21
2506 move-object/from16 v0, p0
2508 iget-object v5, v0, Lcom/android/server/am/ActivityManagerService;->mCoreSettingsObserver:Lcom/android/server/am/CoreSettingsObserver;
2510 invoke-virtual {v5}, Lcom/android/server/am/CoreSettingsObserver;->getCoreSettingsLocked()Landroid/os/Bundle;
2512 move-result-object v22
2514 move-object/from16 v5, p1
2516 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
2522 move-object/from16 v0, p0
2524 move-object/from16 v1, v24
2526 invoke-virtual {v0, v1, v5, v9}, Lcom/android/server/am/ActivityManagerService;->updateLruProcessLocked(Lcom/android/server/am/ProcessRecord;ZZ)V
2528 invoke-static {}, Landroid/os/SystemClock;->uptimeMillis()J
2530 move-result-wide v13
2532 move-object/from16 v0, v24
2534 iput-wide v13, v0, Lcom/android/server/am/ProcessRecord;->lastLowMemory:J
2536 move-object/from16 v0, v24
2538 iput-wide v13, v0, Lcom/android/server/am/ProcessRecord;->lastRequestedGc:J
2540 .catch Ljava/lang/Exception; {:try_start_128 .. :try_end_257} :catch_334
2542 move-object/from16 v0, p0
2544 iget-object v5, v0, Lcom/android/server/am/ActivityManagerService;->mPersistentStartingProcesses:Ljava/util/ArrayList;
2546 move-object/from16 v0, v24
2548 invoke-virtual {v5, v0}, Ljava/util/ArrayList;->remove(Ljava/lang/Object;)Z
2550 move-object/from16 v0, p0
2552 iget-object v5, v0, Lcom/android/server/am/ActivityManagerService;->mProcessesOnHold:Ljava/util/ArrayList;
2554 move-object/from16 v0, v24
2556 invoke-virtual {v5, v0}, Ljava/util/ArrayList;->remove(Ljava/lang/Object;)Z
2562 move-object/from16 v0, p0
2564 iget-object v5, v0, Lcom/android/server/am/ActivityManagerService;->mMainStack:Lcom/android/server/am/ActivityStack;
2568 invoke-virtual {v5, v9}, Lcom/android/server/am/ActivityStack;->topRunningActivityLocked(Lcom/android/server/am/ActivityRecord;)Lcom/android/server/am/ActivityRecord;
2570 move-result-object v28
2572 if-eqz v28, :cond_2b8
2574 if-eqz v31, :cond_2b8
2576 move-object/from16 v0, v28
2578 iget-object v5, v0, Lcom/android/server/am/ActivityRecord;->app:Lcom/android/server/am/ProcessRecord;
2580 if-nez v5, :cond_38f
2582 move-object/from16 v0, v24
2584 iget v5, v0, Lcom/android/server/am/ProcessRecord;->uid:I
2586 move-object/from16 v0, v28
2588 iget-object v9, v0, Lcom/android/server/am/ActivityRecord;->info:Landroid/content/pm/ActivityInfo;
2590 iget-object v9, v9, Landroid/content/pm/ActivityInfo;->applicationInfo:Landroid/content/pm/ApplicationInfo;
2592 iget v9, v9, Landroid/content/pm/ApplicationInfo;->uid:I
2594 if-ne v5, v9, :cond_38f
2596 move-object/from16 v0, v28
2598 iget-object v5, v0, Lcom/android/server/am/ActivityRecord;->processName:Ljava/lang/String;
2600 invoke-virtual {v6, v5}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
2604 if-eqz v5, :cond_38f
2607 move-object/from16 v0, p0
2609 iget-boolean v5, v0, Lcom/android/server/am/ActivityManagerService;->mHeadless:Z
2611 if-eqz v5, :cond_350
2613 const-string v5, "ActivityManager"
2615 new-instance v9, Ljava/lang/StringBuilder;
2617 invoke-direct {v9}, Ljava/lang/StringBuilder;-><init>()V
2619 const-string v13, "Starting activities not supported on headless device: "
2621 invoke-virtual {v9, v13}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
2623 move-result-object v9
2625 move-object/from16 v0, v28
2627 invoke-virtual {v9, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
2629 move-result-object v9
2631 invoke-virtual {v9}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
2633 move-result-object v9
2635 invoke-static {v5, v9}, Landroid/util/Slog;->e(Ljava/lang/String;Ljava/lang/String;)I
2637 .catch Ljava/lang/Exception; {:try_start_298 .. :try_end_2b8} :catch_364
2641 if-nez v25, :cond_3d5
2643 move-object/from16 v0, p0
2645 iget-object v5, v0, Lcom/android/server/am/ActivityManagerService;->mPendingServices:Ljava/util/ArrayList;
2647 invoke-virtual {v5}, Ljava/util/ArrayList;->size()I
2651 if-lez v5, :cond_3d5
2659 move-object/from16 v0, p0
2661 iget-object v5, v0, Lcom/android/server/am/ActivityManagerService;->mPendingServices:Ljava/util/ArrayList;
2663 invoke-virtual {v5}, Ljava/util/ArrayList;->size()I
2669 if-ge v0, v5, :cond_3d5
2671 move-object/from16 v0, p0
2673 iget-object v5, v0, Lcom/android/server/am/ActivityManagerService;->mPendingServices:Ljava/util/ArrayList;
2677 invoke-virtual {v5, v0}, Ljava/util/ArrayList;->get(I)Ljava/lang/Object;
2679 move-result-object v5
2683 check-cast v0, Lcom/android/server/am/ServiceRecord;
2685 move-object/from16 v32, v0
2687 move-object/from16 v0, v32
2689 iget-object v5, v0, Lcom/android/server/am/ServiceRecord;->isolatedProc:Lcom/android/server/am/ProcessRecord;
2691 move-object/from16 v0, v24
2693 if-eq v0, v5, :cond_39c
2695 move-object/from16 v0, v24
2697 iget v5, v0, Lcom/android/server/am/ProcessRecord;->uid:I
2699 move-object/from16 v0, v32
2701 iget-object v9, v0, Lcom/android/server/am/ServiceRecord;->appInfo:Landroid/content/pm/ApplicationInfo;
2703 iget v9, v9, Landroid/content/pm/ApplicationInfo;->uid:I
2705 if-ne v5, v9, :cond_301
2707 move-object/from16 v0, v32
2709 iget-object v5, v0, Lcom/android/server/am/ServiceRecord;->processName:Ljava/lang/String;
2711 invoke-virtual {v6, v5}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
2713 .catch Ljava/lang/Exception; {:try_start_2c8 .. :try_end_2fe} :catch_3b4
2717 if-nez v5, :cond_39c
2721 add-int/lit8 v29, v29, 0x1
2728 invoke-virtual/range {v24 .. v24}, Lcom/android/server/am/ProcessRecord;->resetPackageList()V
2730 const-string v5, "link fail"
2732 move-object/from16 v0, p0
2734 move-object/from16 v1, v24
2736 invoke-direct {v0, v1, v5, v6}, Lcom/android/server/am/ActivityManagerService;->startProcessLocked(Lcom/android/server/am/ProcessRecord;Ljava/lang/String;Ljava/lang/String;)V
2764 move-object/from16 v0, v24
2766 iget-object v5, v0, Lcom/android/server/am/ProcessRecord;->info:Landroid/content/pm/ApplicationInfo;
2768 iget-object v5, v5, Landroid/content/pm/ApplicationInfo;->packageName:Ljava/lang/String;
2773 move-object/from16 v0, v24
2775 iget-object v7, v0, Lcom/android/server/am/ProcessRecord;->info:Landroid/content/pm/ApplicationInfo;
2777 .catch Ljava/lang/Exception; {:try_start_322 .. :try_end_32e} :catch_334
2789 const-string v5, "ActivityManager"
2791 const-string v9, "Exception thrown during bind!"
2793 move-object/from16 v0, v27
2795 invoke-static {v5, v9, v0}, Landroid/util/Slog;->w(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I
2797 invoke-virtual/range {v24 .. v24}, Lcom/android/server/am/ProcessRecord;->resetPackageList()V
2799 invoke-virtual/range {v24 .. v24}, Lcom/android/server/am/ProcessRecord;->unlinkDeathRecipient()V
2801 const-string v5, "bind fail"
2803 move-object/from16 v0, p0
2805 move-object/from16 v1, v24
2807 invoke-direct {v0, v1, v5, v6}, Lcom/android/server/am/ActivityManagerService;->startProcessLocked(Lcom/android/server/am/ProcessRecord;Ljava/lang/String;Ljava/lang/String;)V
2815 move-object/from16 v0, p0
2817 iget-object v5, v0, Lcom/android/server/am/ActivityManagerService;->mMainStack:Lcom/android/server/am/ActivityStack;
2823 move-object/from16 v0, v28
2825 move-object/from16 v1, v24
2827 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
2829 .catch Ljava/lang/Exception; {:try_start_350 .. :try_end_35d} :catch_364
2833 if-eqz v5, :cond_2b8
2842 const-string v5, "ActivityManager"
2844 new-instance v9, Ljava/lang/StringBuilder;
2846 invoke-direct {v9}, Ljava/lang/StringBuilder;-><init>()V
2848 const-string v13, "Exception in new application when starting activity "
2850 invoke-virtual {v9, v13}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
2852 move-result-object v9
2854 move-object/from16 v0, v28
2856 iget-object v13, v0, Lcom/android/server/am/ActivityRecord;->intent:Landroid/content/Intent;
2858 invoke-virtual {v13}, Landroid/content/Intent;->getComponent()Landroid/content/ComponentName;
2860 move-result-object v13
2862 invoke-virtual {v13}, Landroid/content/ComponentName;->flattenToShortString()Ljava/lang/String;
2864 move-result-object v13
2866 invoke-virtual {v9, v13}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
2868 move-result-object v9
2870 invoke-virtual {v9}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
2872 move-result-object v9
2874 move-object/from16 v0, v27
2876 invoke-static {v5, v9, v0}, Landroid/util/Slog;->w(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I
2883 move-object/from16 v0, p0
2885 iget-object v5, v0, Lcom/android/server/am/ActivityManagerService;->mMainStack:Lcom/android/server/am/ActivityStack;
2891 move-object/from16 v0, v28
2893 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
2899 move-object/from16 v0, p0
2901 iget-object v5, v0, Lcom/android/server/am/ActivityManagerService;->mPendingServices:Ljava/util/ArrayList;
2905 invoke-virtual {v5, v0}, Ljava/util/ArrayList;->remove(I)Ljava/lang/Object;
2907 add-int/lit8 v29, v29, -0x1
2909 move-object/from16 v0, p0
2911 move-object/from16 v1, v32
2913 move-object/from16 v2, v24
2915 invoke-direct {v0, v1, v2}, Lcom/android/server/am/ActivityManagerService;->realStartServiceLocked(Lcom/android/server/am/ServiceRecord;Lcom/android/server/am/ProcessRecord;)V
2917 .catch Ljava/lang/Exception; {:try_start_39c .. :try_end_3b0} :catch_3b4
2926 const-string v5, "ActivityManager"
2928 new-instance v9, Ljava/lang/StringBuilder;
2930 invoke-direct {v9}, Ljava/lang/StringBuilder;-><init>()V
2932 const-string v13, "Exception in new application when starting service "
2934 invoke-virtual {v9, v13}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
2936 move-result-object v9
2938 move-object/from16 v0, v32
2940 iget-object v13, v0, Lcom/android/server/am/ServiceRecord;->shortName:Ljava/lang/String;
2942 invoke-virtual {v9, v13}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
2944 move-result-object v9
2946 invoke-virtual {v9}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
2948 move-result-object v9
2950 move-object/from16 v0, v27
2952 invoke-static {v5, v9, v0}, Landroid/util/Slog;->w(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I
2957 if-nez v25, :cond_3e9
2959 move-object/from16 v0, p0
2963 invoke-virtual {v0, v1}, Lcom/android/server/am/ActivityManagerService;->isPendingBroadcastProcessLocked(I)Z
2967 if-eqz v5, :cond_3e9
2970 move-object/from16 v0, p0
2972 move-object/from16 v1, v24
2974 invoke-virtual {v0, v1}, Lcom/android/server/am/ActivityManagerService;->sendPendingBroadcastsLocked(Lcom/android/server/am/ProcessRecord;)Z
2976 .catch Ljava/lang/Exception; {:try_start_3e1 .. :try_end_3e8} :catch_437
2982 if-nez v25, :cond_429
2984 move-object/from16 v0, p0
2986 iget-object v5, v0, Lcom/android/server/am/ActivityManagerService;->mBackupTarget:Lcom/android/server/am/BackupRecord;
2988 if-eqz v5, :cond_429
2990 move-object/from16 v0, p0
2992 iget-object v5, v0, Lcom/android/server/am/ActivityManagerService;->mBackupTarget:Lcom/android/server/am/BackupRecord;
2994 iget-object v5, v5, Lcom/android/server/am/BackupRecord;->appInfo:Landroid/content/pm/ApplicationInfo;
2996 iget v5, v5, Landroid/content/pm/ApplicationInfo;->uid:I
2998 move-object/from16 v0, v24
3000 iget v9, v0, Lcom/android/server/am/ProcessRecord;->uid:I
3002 if-ne v5, v9, :cond_429
3004 move-object/from16 v0, p0
3006 iget-object v5, v0, Lcom/android/server/am/ActivityManagerService;->mBackupTarget:Lcom/android/server/am/BackupRecord;
3008 iget-object v5, v5, Lcom/android/server/am/BackupRecord;->appInfo:Landroid/content/pm/ApplicationInfo;
3010 iget-object v5, v5, Landroid/content/pm/ApplicationInfo;->packageName:Ljava/lang/String;
3012 move-object/from16 v0, p0
3014 invoke-virtual {v0, v5}, Lcom/android/server/am/ActivityManagerService;->ensurePackageDexOpt(Ljava/lang/String;)V
3017 move-object/from16 v0, p0
3019 iget-object v5, v0, Lcom/android/server/am/ActivityManagerService;->mBackupTarget:Lcom/android/server/am/BackupRecord;
3021 iget-object v5, v5, Lcom/android/server/am/BackupRecord;->appInfo:Landroid/content/pm/ApplicationInfo;
3023 move-object/from16 v0, p0
3025 iget-object v9, v0, Lcom/android/server/am/ActivityManagerService;->mBackupTarget:Lcom/android/server/am/BackupRecord;
3027 iget-object v9, v9, Lcom/android/server/am/BackupRecord;->appInfo:Landroid/content/pm/ApplicationInfo;
3029 move-object/from16 v0, p0
3031 invoke-virtual {v0, v9}, Lcom/android/server/am/ActivityManagerService;->compatibilityInfoForPackageLocked(Landroid/content/pm/ApplicationInfo;)Landroid/content/res/CompatibilityInfo;
3033 move-result-object v9
3035 move-object/from16 v0, p0
3037 iget-object v13, v0, Lcom/android/server/am/ActivityManagerService;->mBackupTarget:Lcom/android/server/am/BackupRecord;
3039 iget v13, v13, Lcom/android/server/am/BackupRecord;->backupMode:I
3041 move-object/from16 v0, p1
3043 invoke-interface {v0, v5, v9, v13}, Landroid/app/IApplicationThread;->scheduleCreateBackupAgent(Landroid/content/pm/ApplicationInfo;Landroid/content/res/CompatibilityInfo;I)V
3045 .catch Ljava/lang/Exception; {:try_start_40c .. :try_end_429} :catch_43b
3049 if-eqz v25, :cond_447
3055 move-object/from16 v0, p0
3057 move-object/from16 v1, v24
3059 invoke-direct {v0, v1, v5, v9}, Lcom/android/server/am/ActivityManagerService;->handleAppDiedLocked(Lcom/android/server/am/ProcessRecord;ZZ)V
3075 const-string v5, "ActivityManager"
3077 const-string v9, "Exception scheduling backup agent creation: "
3079 invoke-static {v5, v9}, Landroid/util/Slog;->w(Ljava/lang/String;Ljava/lang/String;)I
3081 invoke-virtual/range {v27 .. v27}, Ljava/lang/Exception;->printStackTrace()V
3086 if-nez v26, :cond_44c
3088 invoke-virtual/range {p0 .. p0}, Lcom/android/server/am/ActivityManagerService;->updateOomAdjLocked()V
3096 .method private final bringDownServiceLocked(Lcom/android/server/am/ServiceRecord;Z)V
3101 iget-boolean v9, p1, Lcom/android/server/am/ServiceRecord;->startRequested:Z
3110 iget-object v9, p1, Lcom/android/server/am/ServiceRecord;->connections:Ljava/util/HashMap;
3112 invoke-virtual {v9}, Ljava/util/HashMap;->size()I
3120 iget-object v9, p1, Lcom/android/server/am/ServiceRecord;->connections:Ljava/util/HashMap;
3122 invoke-virtual {v9}, Ljava/util/HashMap;->values()Ljava/util/Collection;
3124 move-result-object v9
3126 invoke-interface {v9}, Ljava/util/Collection;->iterator()Ljava/util/Iterator;
3128 move-result-object v8
3131 invoke-interface {v8}, Ljava/util/Iterator;->hasNext()Z
3137 invoke-interface {v8}, Ljava/util/Iterator;->next()Ljava/lang/Object;
3139 move-result-object v3
3141 check-cast v3, Ljava/util/ArrayList;
3146 invoke-virtual {v3}, Ljava/util/ArrayList;->size()I
3150 if-ge v5, v9, :cond_1b
3152 invoke-virtual {v3, v5}, Ljava/util/ArrayList;->get(I)Ljava/lang/Object;
3154 move-result-object v9
3156 check-cast v9, Lcom/android/server/am/ConnectionRecord;
3158 iget v9, v9, Lcom/android/server/am/ConnectionRecord;->flags:I
3160 and-int/lit8 v9, v9, 0x1
3164 add-int/lit8 v5, v5, 0x1
3169 iget-object v9, p1, Lcom/android/server/am/ServiceRecord;->connections:Ljava/util/HashMap;
3171 invoke-virtual {v9}, Ljava/util/HashMap;->values()Ljava/util/Collection;
3173 move-result-object v9
3175 invoke-interface {v9}, Ljava/util/Collection;->iterator()Ljava/util/Iterator;
3177 move-result-object v8
3180 invoke-interface {v8}, Ljava/util/Iterator;->hasNext()Z
3186 invoke-interface {v8}, Ljava/util/Iterator;->next()Ljava/lang/Object;
3188 move-result-object v1
3190 check-cast v1, Ljava/util/ArrayList;
3195 invoke-virtual {v1}, Ljava/util/ArrayList;->size()I
3199 if-ge v5, v9, :cond_47
3201 invoke-virtual {v1, v5}, Ljava/util/ArrayList;->get(I)Ljava/lang/Object;
3203 move-result-object v2
3205 check-cast v2, Lcom/android/server/am/ConnectionRecord;
3209 iput-boolean v9, v2, Lcom/android/server/am/ConnectionRecord;->serviceDead:Z
3212 iget-object v9, v2, Lcom/android/server/am/ConnectionRecord;->conn:Landroid/app/IServiceConnection;
3214 iget-object v10, p1, Lcom/android/server/am/ServiceRecord;->name:Landroid/content/ComponentName;
3218 invoke-interface {v9, v10, v11}, Landroid/app/IServiceConnection;->connected(Landroid/content/ComponentName;Landroid/os/IBinder;)V
3220 .catch Ljava/lang/Exception; {:try_start_63 .. :try_end_6b} :catch_6e
3223 add-int/lit8 v5, v5, 0x1
3230 const-string v10, "ActivityManager"
3232 new-instance v9, Ljava/lang/StringBuilder;
3234 invoke-direct {v9}, Ljava/lang/StringBuilder;-><init>()V
3236 const-string v11, "Failure disconnecting service "
3238 invoke-virtual {v9, v11}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
3240 move-result-object v9
3242 iget-object v11, p1, Lcom/android/server/am/ServiceRecord;->name:Landroid/content/ComponentName;
3244 invoke-virtual {v9, v11}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
3246 move-result-object v9
3248 const-string v11, " to connection "
3250 invoke-virtual {v9, v11}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
3252 move-result-object v11
3254 invoke-virtual {v1, v5}, Ljava/util/ArrayList;->get(I)Ljava/lang/Object;
3256 move-result-object v9
3258 check-cast v9, Lcom/android/server/am/ConnectionRecord;
3260 iget-object v9, v9, Lcom/android/server/am/ConnectionRecord;->conn:Landroid/app/IServiceConnection;
3262 invoke-interface {v9}, Landroid/app/IServiceConnection;->asBinder()Landroid/os/IBinder;
3264 move-result-object v9
3266 invoke-virtual {v11, v9}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
3268 move-result-object v9
3270 const-string v11, " (in "
3272 invoke-virtual {v9, v11}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
3274 move-result-object v11
3276 invoke-virtual {v1, v5}, Ljava/util/ArrayList;->get(I)Ljava/lang/Object;
3278 move-result-object v9
3280 check-cast v9, Lcom/android/server/am/ConnectionRecord;
3282 iget-object v9, v9, Lcom/android/server/am/ConnectionRecord;->binding:Lcom/android/server/am/AppBindRecord;
3284 iget-object v9, v9, Lcom/android/server/am/AppBindRecord;->client:Lcom/android/server/am/ProcessRecord;
3286 iget-object v9, v9, Lcom/android/server/am/ProcessRecord;->processName:Ljava/lang/String;
3288 invoke-virtual {v11, v9}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
3290 move-result-object v9
3292 const-string v11, ")"
3294 invoke-virtual {v9, v11}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
3296 move-result-object v9
3298 invoke-virtual {v9}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
3300 move-result-object v9
3302 invoke-static {v10, v9, v4}, Landroid/util/Slog;->w(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I
3307 iget-object v9, p1, Lcom/android/server/am/ServiceRecord;->bindings:Ljava/util/HashMap;
3309 invoke-virtual {v9}, Ljava/util/HashMap;->size()I
3313 if-lez v9, :cond_12d
3315 iget-object v9, p1, Lcom/android/server/am/ServiceRecord;->app:Lcom/android/server/am/ProcessRecord;
3317 if-eqz v9, :cond_12d
3319 iget-object v9, p1, Lcom/android/server/am/ServiceRecord;->app:Lcom/android/server/am/ProcessRecord;
3321 iget-object v9, v9, Lcom/android/server/am/ProcessRecord;->thread:Landroid/app/IApplicationThread;
3323 if-eqz v9, :cond_12d
3325 iget-object v9, p1, Lcom/android/server/am/ServiceRecord;->bindings:Ljava/util/HashMap;
3327 invoke-virtual {v9}, Ljava/util/HashMap;->values()Ljava/util/Collection;
3329 move-result-object v9
3331 invoke-interface {v9}, Ljava/util/Collection;->iterator()Ljava/util/Iterator;
3333 move-result-object v7
3337 invoke-interface {v7}, Ljava/util/Iterator;->hasNext()Z
3341 if-eqz v9, :cond_12d
3343 invoke-interface {v7}, Ljava/util/Iterator;->next()Ljava/lang/Object;
3345 move-result-object v6
3347 check-cast v6, Lcom/android/server/am/IntentBindRecord;
3349 iget-object v9, p1, Lcom/android/server/am/ServiceRecord;->app:Lcom/android/server/am/ProcessRecord;
3353 iget-object v9, p1, Lcom/android/server/am/ServiceRecord;->app:Lcom/android/server/am/ProcessRecord;
3355 iget-object v9, v9, Lcom/android/server/am/ProcessRecord;->thread:Landroid/app/IApplicationThread;
3359 iget-boolean v9, v6, Lcom/android/server/am/IntentBindRecord;->hasBound:Z
3364 const-string v9, "bring down unbind"
3366 invoke-direct {p0, p1, v9}, Lcom/android/server/am/ActivityManagerService;->bumpServiceExecutingLocked(Lcom/android/server/am/ServiceRecord;Ljava/lang/String;)V
3368 iget-object v9, p1, Lcom/android/server/am/ServiceRecord;->app:Lcom/android/server/am/ProcessRecord;
3370 invoke-direct {p0, v9}, Lcom/android/server/am/ActivityManagerService;->updateOomAdjLocked(Lcom/android/server/am/ProcessRecord;)Z
3374 iput-boolean v9, v6, Lcom/android/server/am/IntentBindRecord;->hasBound:Z
3376 iget-object v9, p1, Lcom/android/server/am/ServiceRecord;->app:Lcom/android/server/am/ProcessRecord;
3378 iget-object v9, v9, Lcom/android/server/am/ProcessRecord;->thread:Landroid/app/IApplicationThread;
3380 iget-object v10, v6, Lcom/android/server/am/IntentBindRecord;->intent:Landroid/content/Intent$FilterComparison;
3382 invoke-virtual {v10}, Landroid/content/Intent$FilterComparison;->getIntent()Landroid/content/Intent;
3384 move-result-object v10
3386 invoke-interface {v9, p1, v10}, Landroid/app/IApplicationThread;->scheduleUnbindService(Landroid/os/IBinder;Landroid/content/Intent;)V
3388 .catch Ljava/lang/Exception; {:try_start_f2 .. :try_end_10c} :catch_10d
3395 const-string v9, "ActivityManager"
3397 new-instance v10, Ljava/lang/StringBuilder;
3399 invoke-direct {v10}, Ljava/lang/StringBuilder;-><init>()V
3401 const-string v11, "Exception when unbinding service "
3403 invoke-virtual {v10, v11}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
3405 move-result-object v10
3407 iget-object v11, p1, Lcom/android/server/am/ServiceRecord;->shortName:Ljava/lang/String;
3409 invoke-virtual {v10, v11}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
3411 move-result-object v10
3413 invoke-virtual {v10}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
3415 move-result-object v10
3417 invoke-static {v9, v10, v4}, Landroid/util/Slog;->w(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I
3421 invoke-virtual {p0, p1, v9}, Lcom/android/server/am/ActivityManagerService;->serviceDoneExecutingLocked(Lcom/android/server/am/ServiceRecord;Z)V
3426 const/16 v10, 0x754f
3430 new-array v11, v9, [Ljava/lang/Object;
3434 invoke-static {p1}, Ljava/lang/System;->identityHashCode(Ljava/lang/Object;)I
3438 invoke-static {v12}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
3440 move-result-object v12
3442 aput-object v12, v11, v9
3446 iget-object v12, p1, Lcom/android/server/am/ServiceRecord;->shortName:Ljava/lang/String;
3448 aput-object v12, v11, v9
3452 iget-object v9, p1, Lcom/android/server/am/ServiceRecord;->app:Lcom/android/server/am/ProcessRecord;
3454 if-eqz v9, :cond_189
3456 iget-object v9, p1, Lcom/android/server/am/ServiceRecord;->app:Lcom/android/server/am/ProcessRecord;
3458 iget v9, v9, Lcom/android/server/am/ProcessRecord;->pid:I
3461 invoke-static {v9}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
3463 move-result-object v9
3465 aput-object v9, v11, v12
3467 invoke-static {v10, v11}, Landroid/util/EventLog;->writeEvent(I[Ljava/lang/Object;)I
3469 iget-object v9, p0, Lcom/android/server/am/ActivityManagerService;->mServiceMap:Lcom/android/server/am/ActivityManagerService$ServiceMap;
3471 iget-object v10, p1, Lcom/android/server/am/ServiceRecord;->name:Landroid/content/ComponentName;
3473 iget v11, p1, Lcom/android/server/am/ServiceRecord;->userId:I
3475 invoke-virtual {v9, v10, v11}, Lcom/android/server/am/ActivityManagerService$ServiceMap;->removeServiceByName(Landroid/content/ComponentName;I)V
3477 iget-object v9, p0, Lcom/android/server/am/ActivityManagerService;->mServiceMap:Lcom/android/server/am/ActivityManagerService$ServiceMap;
3479 iget-object v10, p1, Lcom/android/server/am/ServiceRecord;->intent:Landroid/content/Intent$FilterComparison;
3481 iget v11, p1, Lcom/android/server/am/ServiceRecord;->userId:I
3483 invoke-virtual {v9, v10, v11}, Lcom/android/server/am/ActivityManagerService$ServiceMap;->removeServiceByIntent(Landroid/content/Intent$FilterComparison;I)V
3487 iput v9, p1, Lcom/android/server/am/ServiceRecord;->totalRestartCount:I
3489 invoke-direct {p0, p1}, Lcom/android/server/am/ActivityManagerService;->unscheduleServiceRestartLocked(Lcom/android/server/am/ServiceRecord;)Z
3491 iget-object v9, p0, Lcom/android/server/am/ActivityManagerService;->mPendingServices:Ljava/util/ArrayList;
3493 invoke-virtual {v9}, Ljava/util/ArrayList;->size()I
3500 if-ge v5, v0, :cond_18b
3502 iget-object v9, p0, Lcom/android/server/am/ActivityManagerService;->mPendingServices:Ljava/util/ArrayList;
3504 invoke-virtual {v9, v5}, Ljava/util/ArrayList;->get(I)Ljava/lang/Object;
3506 move-result-object v9
3508 if-ne v9, p1, :cond_186
3510 iget-object v9, p0, Lcom/android/server/am/ActivityManagerService;->mPendingServices:Ljava/util/ArrayList;
3512 invoke-virtual {v9, v5}, Ljava/util/ArrayList;->remove(I)Ljava/lang/Object;
3514 add-int/lit8 v5, v5, -0x1
3516 add-int/lit8 v0, v0, -0x1
3519 add-int/lit8 v5, v5, 0x1
3529 invoke-virtual {p1}, Lcom/android/server/am/ServiceRecord;->cancelNotification()V
3533 iput-boolean v9, p1, Lcom/android/server/am/ServiceRecord;->isForeground:Z
3537 iput v9, p1, Lcom/android/server/am/ServiceRecord;->foregroundId:I
3541 iput-object v9, p1, Lcom/android/server/am/ServiceRecord;->foregroundNoti:Landroid/app/Notification;
3543 invoke-virtual {p1}, Lcom/android/server/am/ServiceRecord;->clearDeliveredStartsLocked()V
3545 iget-object v9, p1, Lcom/android/server/am/ServiceRecord;->pendingStarts:Ljava/util/ArrayList;
3547 invoke-virtual {v9}, Ljava/util/ArrayList;->clear()V
3549 iget-object v9, p1, Lcom/android/server/am/ServiceRecord;->app:Lcom/android/server/am/ProcessRecord;
3551 if-eqz v9, :cond_1d9
3553 iget-object v9, p1, Lcom/android/server/am/ServiceRecord;->stats:Lcom/android/internal/os/BatteryStatsImpl$Uid$Pkg$Serv;
3555 invoke-virtual {v9}, Lcom/android/internal/os/BatteryStatsImpl$Uid$Pkg$Serv;->getBatteryStats()Lcom/android/internal/os/BatteryStatsImpl;
3557 move-result-object v10
3562 iget-object v9, p1, Lcom/android/server/am/ServiceRecord;->stats:Lcom/android/internal/os/BatteryStatsImpl$Uid$Pkg$Serv;
3564 invoke-virtual {v9}, Lcom/android/internal/os/BatteryStatsImpl$Uid$Pkg$Serv;->stopLaunchedLocked()V
3568 .catchall {:try_start_1aa .. :try_end_1b0} :catchall_1f6
3570 iget-object v9, p1, Lcom/android/server/am/ServiceRecord;->app:Lcom/android/server/am/ProcessRecord;
3572 iget-object v9, v9, Lcom/android/server/am/ProcessRecord;->services:Ljava/util/HashSet;
3574 invoke-virtual {v9, p1}, Ljava/util/HashSet;->remove(Ljava/lang/Object;)Z
3576 iget-object v9, p1, Lcom/android/server/am/ServiceRecord;->app:Lcom/android/server/am/ProcessRecord;
3578 iget-object v9, v9, Lcom/android/server/am/ProcessRecord;->thread:Landroid/app/IApplicationThread;
3580 if-eqz v9, :cond_1d9
3583 const-string v9, "stop"
3585 invoke-direct {p0, p1, v9}, Lcom/android/server/am/ActivityManagerService;->bumpServiceExecutingLocked(Lcom/android/server/am/ServiceRecord;Ljava/lang/String;)V
3587 iget-object v9, p0, Lcom/android/server/am/ActivityManagerService;->mStoppingServices:Ljava/util/ArrayList;
3589 invoke-virtual {v9, p1}, Ljava/util/ArrayList;->add(Ljava/lang/Object;)Z
3591 iget-object v9, p1, Lcom/android/server/am/ServiceRecord;->app:Lcom/android/server/am/ProcessRecord;
3593 invoke-direct {p0, v9}, Lcom/android/server/am/ActivityManagerService;->updateOomAdjLocked(Lcom/android/server/am/ProcessRecord;)Z
3595 iget-object v9, p1, Lcom/android/server/am/ServiceRecord;->app:Lcom/android/server/am/ProcessRecord;
3597 iget-object v9, v9, Lcom/android/server/am/ProcessRecord;->thread:Landroid/app/IApplicationThread;
3599 invoke-interface {v9, p1}, Landroid/app/IApplicationThread;->scheduleStopService(Landroid/os/IBinder;)V
3601 .catch Ljava/lang/Exception; {:try_start_1bd .. :try_end_1d3} :catch_1f9
3604 iget-object v9, p1, Lcom/android/server/am/ServiceRecord;->app:Lcom/android/server/am/ProcessRecord;
3608 invoke-virtual {p0, v9, v10}, Lcom/android/server/am/ActivityManagerService;->updateServiceForegroundLocked(Lcom/android/server/am/ProcessRecord;Z)V
3611 iget-object v9, p1, Lcom/android/server/am/ServiceRecord;->bindings:Ljava/util/HashMap;
3613 invoke-virtual {v9}, Ljava/util/HashMap;->size()I
3617 if-lez v9, :cond_1e6
3619 iget-object v9, p1, Lcom/android/server/am/ServiceRecord;->bindings:Ljava/util/HashMap;
3621 invoke-virtual {v9}, Ljava/util/HashMap;->clear()V
3624 iget-object v9, p1, Lcom/android/server/am/ServiceRecord;->restarter:Ljava/lang/Runnable;
3626 instance-of v9, v9, Lcom/android/server/am/ActivityManagerService$ServiceRestarter;
3630 iget-object v9, p1, Lcom/android/server/am/ServiceRecord;->restarter:Ljava/lang/Runnable;
3632 check-cast v9, Lcom/android/server/am/ActivityManagerService$ServiceRestarter;
3636 invoke-virtual {v9, v10}, Lcom/android/server/am/ActivityManagerService$ServiceRestarter;->setService(Lcom/android/server/am/ServiceRecord;)V
3646 .catchall {:try_start_1f7 .. :try_end_1f8} :catchall_1f6
3653 const-string v9, "ActivityManager"
3655 new-instance v10, Ljava/lang/StringBuilder;
3657 invoke-direct {v10}, Ljava/lang/StringBuilder;-><init>()V
3659 const-string v11, "Exception when stopping service "
3661 invoke-virtual {v10, v11}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
3663 move-result-object v10
3665 iget-object v11, p1, Lcom/android/server/am/ServiceRecord;->shortName:Ljava/lang/String;
3667 invoke-virtual {v10, v11}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
3669 move-result-object v10
3671 invoke-virtual {v10}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
3673 move-result-object v10
3675 invoke-static {v9, v10, v4}, Landroid/util/Slog;->w(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I
3679 invoke-virtual {p0, p1, v9}, Lcom/android/server/am/ActivityManagerService;->serviceDoneExecutingLocked(Lcom/android/server/am/ServiceRecord;Z)V
3684 .method private final bringUpServiceLocked(Lcom/android/server/am/ServiceRecord;IZ)Z
3687 iget-object v0, p1, Lcom/android/server/am/ServiceRecord;->app:Lcom/android/server/am/ProcessRecord;
3691 iget-object v0, p1, Lcom/android/server/am/ServiceRecord;->app:Lcom/android/server/am/ProcessRecord;
3693 iget-object v0, v0, Lcom/android/server/am/ProcessRecord;->thread:Landroid/app/IApplicationThread;
3699 invoke-direct {p0, p1, v0}, Lcom/android/server/am/ActivityManagerService;->sendServiceArgsLocked(Lcom/android/server/am/ServiceRecord;Z)V
3709 iget-wide v2, p1, Lcom/android/server/am/ServiceRecord;->restartDelay:J
3711 const-wide/16 v4, 0x0
3722 iget-object v0, p0, Lcom/android/server/am/ActivityManagerService;->mRestartingServices:Ljava/util/ArrayList;
3724 invoke-virtual {v0, p1}, Ljava/util/ArrayList;->remove(Ljava/lang/Object;)Z
3727 invoke-static {}, Landroid/app/AppGlobals;->getPackageManager()Landroid/content/pm/IPackageManager;
3729 move-result-object v0
3731 iget-object v2, p1, Lcom/android/server/am/ServiceRecord;->packageName:Ljava/lang/String;
3735 iget v4, p1, Lcom/android/server/am/ServiceRecord;->userId:I
3737 invoke-interface {v0, v2, v3, v4}, Landroid/content/pm/IPackageManager;->setPackageStoppedState(Ljava/lang/String;ZI)V
3739 .catch Landroid/os/RemoteException; {:try_start_21 .. :try_end_2d} :catch_107
3740 .catch Ljava/lang/IllegalArgumentException; {:try_start_21 .. :try_end_2d} :catch_54
3743 iget-object v0, p1, Lcom/android/server/am/ServiceRecord;->serviceInfo:Landroid/content/pm/ServiceInfo;
3745 iget v0, v0, Landroid/content/pm/ServiceInfo;->flags:I
3747 and-int/lit8 v0, v0, 0x2
3754 iget-object v1, p1, Lcom/android/server/am/ServiceRecord;->processName:Ljava/lang/String;
3758 iget-object v0, p1, Lcom/android/server/am/ServiceRecord;->appInfo:Landroid/content/pm/ApplicationInfo;
3760 iget v0, v0, Landroid/content/pm/ApplicationInfo;->uid:I
3762 invoke-virtual {p0, v1, v0}, Lcom/android/server/am/ActivityManagerService;->getProcessRecordLocked(Ljava/lang/String;I)Lcom/android/server/am/ProcessRecord;
3764 move-result-object v9
3768 iget-object v0, v9, Lcom/android/server/am/ProcessRecord;->thread:Landroid/app/IApplicationThread;
3773 iget-object v0, p1, Lcom/android/server/am/ServiceRecord;->appInfo:Landroid/content/pm/ApplicationInfo;
3775 iget-object v0, v0, Landroid/content/pm/ApplicationInfo;->packageName:Ljava/lang/String;
3777 invoke-virtual {v9, v0}, Lcom/android/server/am/ProcessRecord;->addPackage(Ljava/lang/String;)Z
3779 invoke-direct {p0, p1, v9}, Lcom/android/server/am/ActivityManagerService;->realStartServiceLocked(Lcom/android/server/am/ServiceRecord;Lcom/android/server/am/ProcessRecord;)V
3781 .catch Landroid/os/RemoteException; {:try_start_48 .. :try_end_52} :catch_7c
3790 const-string v0, "ActivityManager"
3792 new-instance v2, Ljava/lang/StringBuilder;
3794 invoke-direct {v2}, Ljava/lang/StringBuilder;-><init>()V
3796 const-string v3, "Failed trying to unstop package "
3798 invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
3800 move-result-object v2
3802 iget-object v3, p1, Lcom/android/server/am/ServiceRecord;->packageName:Ljava/lang/String;
3804 invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
3806 move-result-object v2
3808 const-string v3, ": "
3810 invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
3812 move-result-object v2
3814 invoke-virtual {v2, v10}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
3816 move-result-object v2
3818 invoke-virtual {v2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
3820 move-result-object v2
3822 invoke-static {v0, v2}, Landroid/util/Slog;->w(Ljava/lang/String;Ljava/lang/String;)I
3834 const-string v0, "ActivityManager"
3836 new-instance v2, Ljava/lang/StringBuilder;
3838 invoke-direct {v2}, Ljava/lang/StringBuilder;-><init>()V
3840 const-string v3, "Exception when starting service "
3842 invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
3844 move-result-object v2
3846 iget-object v3, p1, Lcom/android/server/am/ServiceRecord;->shortName:Ljava/lang/String;
3848 invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
3850 move-result-object v2
3852 invoke-virtual {v2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
3854 move-result-object v2
3856 invoke-static {v0, v2, v10}, Landroid/util/Slog;->w(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I
3862 iget-object v2, p1, Lcom/android/server/am/ServiceRecord;->appInfo:Landroid/content/pm/ApplicationInfo;
3866 const-string v5, "service"
3868 iget-object v6, p1, Lcom/android/server/am/ServiceRecord;->name:Landroid/content/ComponentName;
3876 invoke-virtual/range {v0 .. v8}, 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;
3878 move-result-object v9
3882 const-string v0, "ActivityManager"
3884 new-instance v2, Ljava/lang/StringBuilder;
3886 invoke-direct {v2}, Ljava/lang/StringBuilder;-><init>()V
3888 const-string v3, "Unable to launch app "
3890 invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
3892 move-result-object v2
3894 iget-object v3, p1, Lcom/android/server/am/ServiceRecord;->appInfo:Landroid/content/pm/ApplicationInfo;
3896 iget-object v3, v3, Landroid/content/pm/ApplicationInfo;->packageName:Ljava/lang/String;
3898 invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
3900 move-result-object v2
3902 const-string v3, "/"
3904 invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
3906 move-result-object v2
3908 iget-object v3, p1, Lcom/android/server/am/ServiceRecord;->appInfo:Landroid/content/pm/ApplicationInfo;
3910 iget v3, v3, Landroid/content/pm/ApplicationInfo;->uid:I
3912 invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
3914 move-result-object v2
3916 const-string v3, " for service "
3918 invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
3920 move-result-object v2
3922 iget-object v3, p1, Lcom/android/server/am/ServiceRecord;->intent:Landroid/content/Intent$FilterComparison;
3924 invoke-virtual {v3}, Landroid/content/Intent$FilterComparison;->getIntent()Landroid/content/Intent;
3926 move-result-object v3
3928 invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
3930 move-result-object v2
3932 const-string v3, ": process is bad"
3934 invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
3936 move-result-object v2
3938 invoke-virtual {v2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
3940 move-result-object v2
3942 invoke-static {v0, v2}, Landroid/util/Slog;->w(Ljava/lang/String;Ljava/lang/String;)I
3946 invoke-direct {p0, p1, v0}, Lcom/android/server/am/ActivityManagerService;->bringDownServiceLocked(Lcom/android/server/am/ServiceRecord;Z)V
3953 iget-object v9, p1, Lcom/android/server/am/ServiceRecord;->isolatedProc:Lcom/android/server/am/ProcessRecord;
3960 iput-object v9, p1, Lcom/android/server/am/ServiceRecord;->isolatedProc:Lcom/android/server/am/ProcessRecord;
3963 iget-object v0, p0, Lcom/android/server/am/ActivityManagerService;->mPendingServices:Ljava/util/ArrayList;
3965 invoke-virtual {v0, p1}, Ljava/util/ArrayList;->contains(Ljava/lang/Object;)Z
3969 if-nez v0, :cond_104
3971 iget-object v0, p0, Lcom/android/server/am/ActivityManagerService;->mPendingServices:Ljava/util/ArrayList;
3973 invoke-virtual {v0, p1}, Ljava/util/ArrayList;->add(Ljava/lang/Object;)Z
3986 .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
3989 new-instance v44, Landroid/content/Intent;
3991 move-object/from16 v0, v44
3993 move-object/from16 v1, p3
3995 invoke-direct {v0, v1}, Landroid/content/Intent;-><init>(Landroid/content/Intent;)V
3999 move-object/from16 v0, v44
4001 invoke-virtual {v0, v3}, Landroid/content/Intent;->addFlags(I)Landroid/content/Intent;
4005 if-nez p10, :cond_34
4007 const-string v3, "ActivityManager"
4009 new-instance v5, Ljava/lang/StringBuilder;
4011 invoke-direct {v5}, Ljava/lang/StringBuilder;-><init>()V
4013 const-string v9, "Broadcast "
4015 invoke-virtual {v5, v9}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
4017 move-result-object v5
4019 move-object/from16 v0, v44
4021 invoke-virtual {v5, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
4023 move-result-object v5
4025 const-string v9, " not ordered but result callback requested!"
4027 invoke-virtual {v5, v9}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
4029 move-result-object v5
4031 invoke-virtual {v5}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
4033 move-result-object v5
4035 invoke-static {v3, v5}, Landroid/util/Slog;->w(Ljava/lang/String;Ljava/lang/String;)I
4038 const-string v3, "android.intent.action.UID_REMOVED"
4040 invoke-virtual/range {v44 .. v44}, Landroid/content/Intent;->getAction()Ljava/lang/String;
4042 move-result-object v5
4044 invoke-virtual {v3, v5}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
4048 const-string v3, "android.intent.action.PACKAGE_REMOVED"
4050 invoke-virtual/range {v44 .. v44}, Landroid/content/Intent;->getAction()Ljava/lang/String;
4052 move-result-object v5
4054 invoke-virtual {v3, v5}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
4060 const-string v3, "android.intent.action.PACKAGE_CHANGED"
4062 invoke-virtual/range {v44 .. v44}, Landroid/content/Intent;->getAction()Ljava/lang/String;
4064 move-result-object v5
4066 invoke-virtual {v3, v5}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
4072 const-string v3, "android.intent.action.EXTERNAL_APPLICATIONS_UNAVAILABLE"
4074 invoke-virtual/range {v44 .. v44}, Landroid/content/Intent;->getAction()Ljava/lang/String;
4076 move-result-object v5
4078 invoke-virtual {v3, v5}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
4084 if-eqz v61, :cond_237
4087 const-string v4, "android.permission.BROADCAST_PACKAGE_REMOVED"
4093 move-object/from16 v3, p0
4099 invoke-virtual/range {v3 .. v8}, Lcom/android/server/am/ActivityManagerService;->checkComponentPermission(Ljava/lang/String;IIIZ)I
4103 if-nez v3, :cond_1db
4105 if-eqz v61, :cond_151
4107 invoke-virtual/range {v44 .. v44}, Landroid/content/Intent;->getExtras()Landroid/os/Bundle;
4109 move-result-object v45
4111 if-eqz v45, :cond_14a
4113 const-string v3, "android.intent.extra.UID"
4115 move-object/from16 v0, v45
4117 invoke-virtual {v0, v3}, Landroid/os/Bundle;->getInt(Ljava/lang/String;)I
4122 if-ltz v60, :cond_97
4124 move-object/from16 v0, p0
4126 iget-object v3, v0, Lcom/android/server/am/ActivityManagerService;->mBatteryStatsService:Lcom/android/server/am/BatteryStatsService;
4128 invoke-virtual {v3}, Lcom/android/server/am/BatteryStatsService;->getActiveStatistics()Lcom/android/internal/os/BatteryStatsImpl;
4130 move-result-object v37
4135 move-object/from16 v0, v37
4139 invoke-virtual {v0, v1}, Lcom/android/internal/os/BatteryStatsImpl;->removeUidStatsLocked(I)V
4143 .catchall {:try_start_8f .. :try_end_97} :catchall_14e
4147 const-string v3, "android.intent.action.TIMEZONE_CHANGED"
4149 invoke-virtual/range {v44 .. v44}, Landroid/content/Intent;->getAction()Ljava/lang/String;
4151 move-result-object v5
4153 invoke-virtual {v3, v5}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
4159 move-object/from16 v0, p0
4161 iget-object v3, v0, Lcom/android/server/am/ActivityManagerService;->mHandler:Landroid/os/Handler;
4165 invoke-virtual {v3, v5}, Landroid/os/Handler;->sendEmptyMessage(I)Z
4168 const-string v3, "android.intent.action.CLEAR_DNS_CACHE"
4170 invoke-virtual/range {v44 .. v44}, Landroid/content/Intent;->getAction()Ljava/lang/String;
4172 move-result-object v5
4174 invoke-virtual {v3, v5}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
4180 move-object/from16 v0, p0
4182 iget-object v3, v0, Lcom/android/server/am/ActivityManagerService;->mHandler:Landroid/os/Handler;
4186 invoke-virtual {v3, v5}, Landroid/os/Handler;->sendEmptyMessage(I)Z
4189 const-string v3, "android.intent.action.PROXY_CHANGE"
4191 invoke-virtual/range {v44 .. v44}, Landroid/content/Intent;->getAction()Ljava/lang/String;
4193 move-result-object v5
4195 invoke-virtual {v3, v5}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
4201 const-string v3, "proxy"
4203 move-object/from16 v0, v44
4205 invoke-virtual {v0, v3}, Landroid/content/Intent;->getParcelableExtra(Ljava/lang/String;)Landroid/os/Parcelable;
4207 move-result-object v53
4209 check-cast v53, Landroid/net/ProxyProperties;
4211 move-object/from16 v0, p0
4213 iget-object v3, v0, Lcom/android/server/am/ActivityManagerService;->mHandler:Landroid/os/Handler;
4215 move-object/from16 v0, p0
4217 iget-object v5, v0, Lcom/android/server/am/ActivityManagerService;->mHandler:Landroid/os/Handler;
4221 move-object/from16 v0, v53
4223 invoke-virtual {v5, v9, v0}, Landroid/os/Handler;->obtainMessage(ILjava/lang/Object;)Landroid/os/Message;
4225 move-result-object v5
4227 invoke-virtual {v3, v5}, Landroid/os/Handler;->sendMessage(Landroid/os/Message;)Z
4234 if-eq v0, v3, :cond_fe
4240 if-eq v0, v3, :cond_fe
4246 if-eq v0, v3, :cond_fe
4248 if-nez p13, :cond_261
4251 if-eqz p11, :cond_359
4253 const-string v3, "android.permission.BROADCAST_STICKY"
4255 move-object/from16 v0, p0
4261 invoke-virtual {v0, v3, v1, v2}, Lcom/android/server/am/ActivityManagerService;->checkPermission(Ljava/lang/String;II)I
4265 if-eqz v3, :cond_2c1
4267 new-instance v3, Ljava/lang/StringBuilder;
4269 invoke-direct {v3}, Ljava/lang/StringBuilder;-><init>()V
4271 const-string v5, "Permission Denial: broadcastIntent() requesting a sticky broadcast from pid="
4273 invoke-virtual {v3, v5}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
4275 move-result-object v3
4279 invoke-virtual {v3, v0}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
4281 move-result-object v3
4283 const-string v5, ", uid="
4285 invoke-virtual {v3, v5}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
4287 move-result-object v3
4291 invoke-virtual {v3, v0}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
4293 move-result-object v3
4295 const-string v5, " requires "
4297 invoke-virtual {v3, v5}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
4299 move-result-object v3
4301 const-string v5, "android.permission.BROADCAST_STICKY"
4303 invoke-virtual {v3, v5}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
4305 move-result-object v3
4307 invoke-virtual {v3}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
4309 move-result-object v51
4311 const-string v3, "ActivityManager"
4313 move-object/from16 v0, v51
4315 invoke-static {v3, v0}, Landroid/util/Slog;->w(Ljava/lang/String;Ljava/lang/String;)I
4317 new-instance v3, Ljava/lang/SecurityException;
4319 move-object/from16 v0, v51
4321 invoke-direct {v3, v0}, Ljava/lang/SecurityException;-><init>(Ljava/lang/String;)V
4336 .catchall {:try_start_14f .. :try_end_150} :catchall_14e
4341 const-string v3, "android.intent.action.EXTERNAL_APPLICATIONS_UNAVAILABLE"
4343 invoke-virtual/range {v44 .. v44}, Landroid/content/Intent;->getAction()Ljava/lang/String;
4345 move-result-object v5
4347 invoke-virtual {v3, v5}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
4351 if-eqz v3, :cond_196
4353 const-string v3, "android.intent.extra.changed_package_list"
4355 move-object/from16 v0, v44
4357 invoke-virtual {v0, v3}, Landroid/content/Intent;->getStringArrayExtra(Ljava/lang/String;)[Ljava/lang/String;
4359 move-result-object v49
4361 if-eqz v49, :cond_97
4363 move-object/from16 v0, v49
4369 move-object/from16 v36, v49
4371 move-object/from16 v0, v36
4384 if-ge v0, v1, :cond_18c
4386 aget-object v4, v36, v43
4398 move-object/from16 v3, p0
4400 move/from16 v10, p14
4402 invoke-direct/range {v3 .. v10}, Lcom/android/server/am/ActivityManagerService;->forceStopPackageLocked(Ljava/lang/String;IZZZZI)Z
4404 add-int/lit8 v43, v43, 0x1
4411 move-object/from16 v0, p0
4413 move-object/from16 v1, v49
4415 invoke-direct {v0, v3, v1}, Lcom/android/server/am/ActivityManagerService;->sendPackageBroadcastLocked(I[Ljava/lang/String;)V
4420 invoke-virtual/range {v44 .. v44}, Landroid/content/Intent;->getData()Landroid/net/Uri;
4422 move-result-object v40
4424 if-eqz v40, :cond_97
4426 invoke-virtual/range {v40 .. v40}, Landroid/net/Uri;->getSchemeSpecificPart()Ljava/lang/String;
4428 move-result-object v6
4432 const-string v3, "android.intent.extra.DONT_KILL_APP"
4436 move-object/from16 v0, v44
4438 invoke-virtual {v0, v3, v5}, Landroid/content/Intent;->getBooleanExtra(Ljava/lang/String;Z)Z
4442 if-nez v3, :cond_1c1
4444 const-string v3, "android.intent.extra.UID"
4448 move-object/from16 v0, v44
4450 invoke-virtual {v0, v3, v5}, Landroid/content/Intent;->getIntExtra(Ljava/lang/String;I)I
4462 move-object/from16 v5, p0
4464 move/from16 v12, p14
4466 invoke-direct/range {v5 .. v12}, Lcom/android/server/am/ActivityManagerService;->forceStopPackageLocked(Ljava/lang/String;IZZZZI)Z
4469 const-string v3, "android.intent.action.PACKAGE_REMOVED"
4471 invoke-virtual/range {v44 .. v44}, Landroid/content/Intent;->getAction()Ljava/lang/String;
4473 move-result-object v5
4475 invoke-virtual {v3, v5}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
4485 new-array v5, v5, [Ljava/lang/String;
4489 aput-object v6, v5, v9
4491 move-object/from16 v0, p0
4493 invoke-direct {v0, v3, v5}, Lcom/android/server/am/ActivityManagerService;->sendPackageBroadcastLocked(I[Ljava/lang/String;)V
4498 new-instance v3, Ljava/lang/StringBuilder;
4500 invoke-direct {v3}, Ljava/lang/StringBuilder;-><init>()V
4502 const-string v5, "Permission Denial: "
4504 invoke-virtual {v3, v5}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
4506 move-result-object v3
4508 invoke-virtual/range {v44 .. v44}, Landroid/content/Intent;->getAction()Ljava/lang/String;
4510 move-result-object v5
4512 invoke-virtual {v3, v5}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
4514 move-result-object v3
4516 const-string v5, " broadcast from "
4518 invoke-virtual {v3, v5}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
4520 move-result-object v3
4522 move-object/from16 v0, p2
4524 invoke-virtual {v3, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
4526 move-result-object v3
4528 const-string v5, " (pid="
4530 invoke-virtual {v3, v5}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
4532 move-result-object v3
4536 invoke-virtual {v3, v0}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
4538 move-result-object v3
4540 const-string v5, ", uid="
4542 invoke-virtual {v3, v5}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
4544 move-result-object v3
4548 invoke-virtual {v3, v0}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
4550 move-result-object v3
4552 const-string v5, ")"
4554 invoke-virtual {v3, v5}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
4556 move-result-object v3
4558 const-string v5, " requires "
4560 invoke-virtual {v3, v5}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
4562 move-result-object v3
4564 const-string v5, "android.permission.BROADCAST_PACKAGE_REMOVED"
4566 invoke-virtual {v3, v5}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
4568 move-result-object v3
4570 invoke-virtual {v3}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
4572 move-result-object v51
4574 const-string v3, "ActivityManager"
4576 move-object/from16 v0, v51
4578 invoke-static {v3, v0}, Landroid/util/Slog;->w(Ljava/lang/String;Ljava/lang/String;)I
4580 new-instance v3, Ljava/lang/SecurityException;
4582 move-object/from16 v0, v51
4584 invoke-direct {v3, v0}, Ljava/lang/SecurityException;-><init>(Ljava/lang/String;)V
4589 const-string v3, "android.intent.action.PACKAGE_ADDED"
4591 invoke-virtual/range {v44 .. v44}, Landroid/content/Intent;->getAction()Ljava/lang/String;
4593 move-result-object v5
4595 invoke-virtual {v3, v5}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
4601 invoke-virtual/range {v44 .. v44}, Landroid/content/Intent;->getData()Landroid/net/Uri;
4603 move-result-object v40
4605 if-eqz v40, :cond_97
4607 invoke-virtual/range {v40 .. v40}, Landroid/net/Uri;->getSchemeSpecificPart()Ljava/lang/String;
4609 move-result-object v6
4613 move-object/from16 v0, p0
4615 iget-object v3, v0, Lcom/android/server/am/ActivityManagerService;->mCompatModePackages:Lcom/android/server/am/CompatModePackages;
4617 const-string v5, "android.intent.extra.REPLACING"
4621 move-object/from16 v0, v44
4623 invoke-virtual {v0, v5, v9}, Landroid/content/Intent;->getBooleanExtra(Ljava/lang/String;Z)Z
4627 invoke-virtual {v3, v6, v5}, Lcom/android/server/am/CompatModePackages;->handlePackageAddedLocked(Ljava/lang/String;Z)V
4632 if-eqz p1, :cond_269
4634 move-object/from16 v0, p1
4636 iget-boolean v3, v0, Lcom/android/server/am/ProcessRecord;->persistent:Z
4642 invoke-static {}, Landroid/app/AppGlobals;->getPackageManager()Landroid/content/pm/IPackageManager;
4644 move-result-object v3
4646 invoke-virtual/range {v44 .. v44}, Landroid/content/Intent;->getAction()Ljava/lang/String;
4648 move-result-object v5
4650 invoke-interface {v3, v5}, Landroid/content/pm/IPackageManager;->isProtectedBroadcast(Ljava/lang/String;)Z
4656 new-instance v3, Ljava/lang/StringBuilder;
4658 invoke-direct {v3}, Ljava/lang/StringBuilder;-><init>()V
4660 const-string v5, "Permission Denial: not allowed to send broadcast "
4662 invoke-virtual {v3, v5}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
4664 move-result-object v3
4666 invoke-virtual/range {v44 .. v44}, Landroid/content/Intent;->getAction()Ljava/lang/String;
4668 move-result-object v5
4670 invoke-virtual {v3, v5}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
4672 move-result-object v3
4674 const-string v5, " from pid="
4676 invoke-virtual {v3, v5}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
4678 move-result-object v3
4682 invoke-virtual {v3, v0}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
4684 move-result-object v3
4686 const-string v5, ", uid="
4688 invoke-virtual {v3, v5}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
4690 move-result-object v3
4694 invoke-virtual {v3, v0}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
4696 move-result-object v3
4698 invoke-virtual {v3}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
4700 move-result-object v51
4702 const-string v3, "ActivityManager"
4704 move-object/from16 v0, v51
4706 invoke-static {v3, v0}, Landroid/util/Slog;->w(Ljava/lang/String;Ljava/lang/String;)I
4708 new-instance v3, Ljava/lang/SecurityException;
4710 move-object/from16 v0, v51
4712 invoke-direct {v3, v0}, Ljava/lang/SecurityException;-><init>(Ljava/lang/String;)V
4716 .catch Landroid/os/RemoteException; {:try_start_269 .. :try_end_2b5} :catch_2b5
4721 const-string v3, "ActivityManager"
4723 const-string v5, "Remote exception"
4725 move-object/from16 v0, v41
4727 invoke-static {v3, v5, v0}, Landroid/util/Slog;->w(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I
4735 if-eqz p9, :cond_2eb
4737 const-string v3, "ActivityManager"
4739 new-instance v5, Ljava/lang/StringBuilder;
4741 invoke-direct {v5}, Ljava/lang/StringBuilder;-><init>()V
4743 const-string v9, "Can\'t broadcast sticky intent "
4745 invoke-virtual {v5, v9}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
4747 move-result-object v5
4749 move-object/from16 v0, v44
4751 invoke-virtual {v5, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
4753 move-result-object v5
4755 const-string v9, " and enforce permission "
4757 invoke-virtual {v5, v9}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
4759 move-result-object v5
4761 move-object/from16 v0, p9
4763 invoke-virtual {v5, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
4765 move-result-object v5
4767 invoke-virtual {v5}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
4769 move-result-object v5
4771 invoke-static {v3, v5}, Landroid/util/Slog;->w(Ljava/lang/String;Ljava/lang/String;)I
4778 invoke-virtual/range {v44 .. v44}, Landroid/content/Intent;->getComponent()Landroid/content/ComponentName;
4780 move-result-object v3
4782 if-eqz v3, :cond_2f9
4784 new-instance v3, Ljava/lang/SecurityException;
4786 const-string v5, "Sticky broadcasts can\'t target a specific component"
4788 invoke-direct {v3, v5}, Ljava/lang/SecurityException;-><init>(Ljava/lang/String;)V
4793 move-object/from16 v0, p0
4795 iget-object v3, v0, Lcom/android/server/am/ActivityManagerService;->mStickyBroadcasts:Ljava/util/HashMap;
4797 invoke-virtual/range {v44 .. v44}, Landroid/content/Intent;->getAction()Ljava/lang/String;
4799 move-result-object v5
4801 invoke-virtual {v3, v5}, Ljava/util/HashMap;->get(Ljava/lang/Object;)Ljava/lang/Object;
4803 move-result-object v50
4805 check-cast v50, Ljava/util/ArrayList;
4807 if-nez v50, :cond_31b
4809 new-instance v50, Ljava/util/ArrayList;
4811 invoke-direct/range {v50 .. v50}, Ljava/util/ArrayList;-><init>()V
4813 move-object/from16 v0, p0
4815 iget-object v3, v0, Lcom/android/server/am/ActivityManagerService;->mStickyBroadcasts:Ljava/util/HashMap;
4817 invoke-virtual/range {v44 .. v44}, Landroid/content/Intent;->getAction()Ljava/lang/String;
4819 move-result-object v5
4821 move-object/from16 v0, v50
4823 invoke-virtual {v3, v5, v0}, Ljava/util/HashMap;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
4826 invoke-virtual/range {v50 .. v50}, Ljava/util/ArrayList;->size()I
4837 if-ge v0, v1, :cond_347
4839 move-object/from16 v0, v50
4843 invoke-virtual {v0, v1}, Ljava/util/ArrayList;->get(I)Ljava/lang/Object;
4845 move-result-object v3
4847 check-cast v3, Landroid/content/Intent;
4849 move-object/from16 v0, v44
4851 invoke-virtual {v0, v3}, Landroid/content/Intent;->filterEquals(Landroid/content/Intent;)Z
4855 if-eqz v3, :cond_47f
4857 new-instance v3, Landroid/content/Intent;
4859 move-object/from16 v0, v44
4861 invoke-direct {v3, v0}, Landroid/content/Intent;-><init>(Landroid/content/Intent;)V
4863 move-object/from16 v0, v50
4867 invoke-virtual {v0, v1, v3}, Ljava/util/ArrayList;->set(ILjava/lang/Object;)Ljava/lang/Object;
4874 if-lt v0, v1, :cond_359
4876 new-instance v3, Landroid/content/Intent;
4878 move-object/from16 v0, v44
4880 invoke-direct {v3, v0}, Landroid/content/Intent;-><init>(Landroid/content/Intent;)V
4882 move-object/from16 v0, v50
4884 invoke-virtual {v0, v3}, Ljava/util/ArrayList;->add(Ljava/lang/Object;)Z
4892 invoke-virtual/range {v44 .. v44}, Landroid/content/Intent;->getComponent()Landroid/content/ComponentName;
4894 move-result-object v3
4896 if-eqz v3, :cond_498
4898 invoke-static {}, Landroid/app/AppGlobals;->getPackageManager()Landroid/content/pm/IPackageManager;
4900 move-result-object v3
4902 invoke-virtual/range {v44 .. v44}, Landroid/content/Intent;->getComponent()Landroid/content/ComponentName;
4904 move-result-object v5
4910 invoke-interface {v3, v5, v9, v0}, Landroid/content/pm/IPackageManager;->getReceiverInfo(Landroid/content/ComponentName;II)Landroid/content/pm/ActivityInfo;
4912 move-result-object v35
4914 if-eqz v35, :cond_3a4
4916 new-instance v54, Ljava/util/ArrayList;
4918 invoke-direct/range {v54 .. v54}, Ljava/util/ArrayList;-><init>()V
4920 .catch Landroid/os/RemoteException; {:try_start_35c .. :try_end_379} :catch_5a2
4923 new-instance v57, Landroid/content/pm/ResolveInfo;
4925 invoke-direct/range {v57 .. v57}, Landroid/content/pm/ResolveInfo;-><init>()V
4927 move-object/from16 v0, v35
4929 iget-object v3, v0, Landroid/content/pm/ActivityInfo;->processName:Ljava/lang/String;
4931 move-object/from16 v0, v35
4933 iget-object v5, v0, Landroid/content/pm/ActivityInfo;->applicationInfo:Landroid/content/pm/ApplicationInfo;
4935 move-object/from16 v0, p0
4937 invoke-virtual {v0, v3, v5}, Lcom/android/server/am/ActivityManagerService;->isSingleton(Ljava/lang/String;Landroid/content/pm/ApplicationInfo;)Z
4941 if-eqz v3, :cond_483
4945 move-object/from16 v0, p0
4947 move-object/from16 v1, v35
4949 invoke-virtual {v0, v1, v3}, Lcom/android/server/am/ActivityManagerService;->getActivityInfoForUser(Landroid/content/pm/ActivityInfo;I)Landroid/content/pm/ActivityInfo;
4951 move-result-object v3
4953 move-object/from16 v0, v57
4955 iput-object v3, v0, Landroid/content/pm/ResolveInfo;->activityInfo:Landroid/content/pm/ActivityInfo;
4958 move-object/from16 v0, v54
4960 move-object/from16 v1, v57
4962 invoke-interface {v0, v1}, Ljava/util/List;->add(Ljava/lang/Object;)Z
4964 .catch Landroid/os/RemoteException; {:try_start_379 .. :try_end_3a2} :catch_493
4966 move-object/from16 v24, v54
4970 invoke-virtual/range {v44 .. v44}, Landroid/content/Intent;->getFlags()I
4974 const/high16 v5, 0x2000
4976 and-int/2addr v3, v5
4978 if-eqz v3, :cond_4c2
4983 if-eqz v15, :cond_4c6
4985 invoke-interface {v15}, Ljava/util/List;->size()I
4990 if-nez p10, :cond_3f5
4992 if-lez v33, :cond_3f5
4994 move-object/from16 v0, p0
4996 move-object/from16 v1, v44
4998 invoke-virtual {v0, v1}, Lcom/android/server/am/ActivityManagerService;->broadcastQueueForIntent(Landroid/content/Intent;)Lcom/android/server/am/BroadcastQueue;
5000 move-result-object v8
5002 new-instance v7, Lcom/android/server/am/BroadcastRecord;
5006 move-object/from16 v9, v44
5008 move-object/from16 v10, p1
5010 move-object/from16 v11, p2
5012 move/from16 v12, p12
5014 move/from16 v13, p13
5016 move-object/from16 v14, p9
5018 move-object/from16 v16, p5
5022 move-object/from16 v18, p7
5024 move-object/from16 v19, p8
5026 move/from16 v20, p10
5028 move/from16 v21, p11
5030 invoke-direct/range {v7 .. v22}, 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;ZZZ)V
5032 if-eqz v55, :cond_4ca
5034 invoke-virtual {v8, v7}, Lcom/android/server/am/BroadcastQueue;->replaceParallelBroadcastLocked(Lcom/android/server/am/BroadcastRecord;)Z
5038 if-eqz v3, :cond_4ca
5043 if-nez v56, :cond_3f2
5045 invoke-virtual {v8, v7}, Lcom/android/server/am/BroadcastQueue;->enqueueParallelBroadcastLocked(Lcom/android/server/am/BroadcastRecord;)V
5047 invoke-virtual {v8}, Lcom/android/server/am/BroadcastQueue;->scheduleBroadcastsLocked()V
5057 if-eqz v24, :cond_53a
5061 const-string v3, "android.intent.action.PACKAGE_ADDED"
5063 invoke-virtual/range {v44 .. v44}, Landroid/content/Intent;->getAction()Ljava/lang/String;
5065 move-result-object v5
5067 invoke-virtual {v3, v5}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
5071 if-nez v3, :cond_41f
5073 const-string v3, "android.intent.action.PACKAGE_RESTARTED"
5075 invoke-virtual/range {v44 .. v44}, Landroid/content/Intent;->getAction()Ljava/lang/String;
5077 move-result-object v5
5079 invoke-virtual {v3, v5}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
5083 if-nez v3, :cond_41f
5085 const-string v3, "android.intent.action.PACKAGE_DATA_CLEARED"
5087 invoke-virtual/range {v44 .. v44}, Landroid/content/Intent;->getAction()Ljava/lang/String;
5089 move-result-object v5
5091 invoke-virtual {v3, v5}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
5095 if-eqz v3, :cond_4ce
5098 invoke-virtual/range {v44 .. v44}, Landroid/content/Intent;->getData()Landroid/net/Uri;
5100 move-result-object v40
5102 if-eqz v40, :cond_433
5104 invoke-virtual/range {v40 .. v40}, Landroid/net/Uri;->getSchemeSpecificPart()Ljava/lang/String;
5106 move-result-object v52
5108 if-eqz v52, :cond_433
5112 new-array v0, v3, [Ljava/lang/String;
5114 move-object/from16 v59, v0
5118 aput-object v52, v59, v3
5122 if-eqz v59, :cond_4e8
5124 move-object/from16 v0, v59
5128 if-lez v3, :cond_4e8
5130 move-object/from16 v36, v59
5132 move-object/from16 v0, v36
5145 if-ge v0, v1, :cond_4e8
5147 aget-object v58, v36, v43
5149 if-eqz v58, :cond_4e4
5151 invoke-interface/range {v24 .. v24}, Ljava/util/List;->size()I
5162 if-ge v0, v1, :cond_4e4
5164 move-object/from16 v0, v24
5168 invoke-interface {v0, v1}, Ljava/util/List;->get(I)Ljava/lang/Object;
5170 move-result-object v39
5172 check-cast v39, Landroid/content/pm/ResolveInfo;
5174 move-object/from16 v0, v39
5176 iget-object v3, v0, Landroid/content/pm/ResolveInfo;->activityInfo:Landroid/content/pm/ActivityInfo;
5178 iget-object v3, v3, Landroid/content/pm/ActivityInfo;->packageName:Ljava/lang/String;
5180 move-object/from16 v0, v58
5182 invoke-virtual {v3, v0}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
5186 if-eqz v3, :cond_47c
5188 move-object/from16 v0, v24
5192 invoke-interface {v0, v1}, Ljava/util/List;->remove(I)Ljava/lang/Object;
5194 add-int/lit8 v47, v47, -0x1
5196 add-int/lit8 v34, v34, -0x1
5199 add-int/lit8 v47, v47, 0x1
5204 add-int/lit8 v42, v42, 0x1
5210 move-object/from16 v0, p0
5212 move-object/from16 v1, v35
5216 invoke-virtual {v0, v1, v2}, Lcom/android/server/am/ActivityManagerService;->getActivityInfoForUser(Landroid/content/pm/ActivityInfo;I)Landroid/content/pm/ActivityInfo;
5218 move-result-object v3
5220 move-object/from16 v0, v57
5222 iput-object v3, v0, Landroid/content/pm/ResolveInfo;->activityInfo:Landroid/content/pm/ActivityInfo;
5224 .catch Landroid/os/RemoteException; {:try_start_483 .. :try_end_491} :catch_493
5231 move-object/from16 v24, v54
5237 invoke-virtual/range {v44 .. v44}, Landroid/content/Intent;->getFlags()I
5241 const/high16 v5, 0x4000
5243 and-int/2addr v3, v5
5245 if-nez v3, :cond_4b1
5247 invoke-static {}, Landroid/app/AppGlobals;->getPackageManager()Landroid/content/pm/IPackageManager;
5249 move-result-object v3
5253 move-object/from16 v0, v44
5255 move-object/from16 v1, p4
5259 invoke-interface {v3, v0, v1, v5, v2}, Landroid/content/pm/IPackageManager;->queryIntentReceivers(Landroid/content/Intent;Ljava/lang/String;II)Ljava/util/List;
5261 move-result-object v24
5264 move-object/from16 v0, p0
5266 iget-object v3, v0, Lcom/android/server/am/ActivityManagerService;->mReceiverResolver:Lcom/android/server/IntentResolver;
5270 move-object/from16 v0, v44
5272 move-object/from16 v1, p4
5276 invoke-virtual {v3, v0, v1, v5, v2}, Lcom/android/server/IntentResolver;->queryIntent(Landroid/content/Intent;Ljava/lang/String;ZI)Ljava/util/List;
5278 .catch Landroid/os/RemoteException; {:try_start_498 .. :try_end_4bf} :catch_5a2
5280 move-result-object v15
5300 const-string v3, "android.intent.action.EXTERNAL_APPLICATIONS_AVAILABLE"
5302 invoke-virtual/range {v44 .. v44}, Landroid/content/Intent;->getAction()Ljava/lang/String;
5304 move-result-object v5
5306 invoke-virtual {v3, v5}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
5310 if-eqz v3, :cond_433
5312 const-string v3, "android.intent.extra.changed_package_list"
5314 move-object/from16 v0, v44
5316 invoke-virtual {v0, v3}, Landroid/content/Intent;->getStringArrayExtra(Ljava/lang/String;)[Ljava/lang/String;
5318 move-result-object v59
5323 add-int/lit8 v43, v43, 0x1
5328 if-eqz v24, :cond_532
5330 invoke-interface/range {v24 .. v24}, Ljava/util/List;->size()I
5346 if-ge v0, v1, :cond_53a
5352 if-ge v0, v1, :cond_53a
5354 if-nez v39, :cond_50c
5356 move-object/from16 v0, v24
5360 invoke-interface {v0, v1}, Ljava/util/List;->get(I)Ljava/lang/Object;
5362 move-result-object v39
5364 check-cast v39, Landroid/content/pm/ResolveInfo;
5367 if-nez v38, :cond_516
5371 invoke-interface {v15, v0}, Ljava/util/List;->get(I)Ljava/lang/Object;
5373 move-result-object v38
5375 check-cast v38, Lcom/android/server/am/BroadcastFilter;
5378 invoke-virtual/range {v38 .. v38}, Lcom/android/server/am/BroadcastFilter;->getPriority()I
5382 move-object/from16 v0, v39
5384 iget v5, v0, Landroid/content/pm/ResolveInfo;->priority:I
5386 if-lt v3, v5, :cond_535
5388 move-object/from16 v0, v24
5392 move-object/from16 v2, v38
5394 invoke-interface {v0, v1, v2}, Ljava/util/List;->add(ILjava/lang/Object;)V
5396 add-int/lit8 v46, v46, 0x1
5400 add-int/lit8 v47, v47, 0x1
5402 add-int/lit8 v34, v34, 0x1
5412 add-int/lit8 v47, v47, 0x1
5424 if-ge v0, v1, :cond_555
5426 if-nez v24, :cond_547
5428 new-instance v24, Ljava/util/ArrayList;
5430 invoke-direct/range {v24 .. v24}, Ljava/util/ArrayList;-><init>()V
5435 invoke-interface {v15, v0}, Ljava/util/List;->get(I)Ljava/lang/Object;
5437 move-result-object v3
5439 move-object/from16 v0, v24
5441 invoke-interface {v0, v3}, Ljava/util/List;->add(Ljava/lang/Object;)Z
5443 add-int/lit8 v46, v46, 0x1
5448 if-eqz v24, :cond_55d
5450 invoke-interface/range {v24 .. v24}, Ljava/util/List;->size()I
5454 if-gtz v3, :cond_55f
5457 if-eqz p5, :cond_59c
5460 move-object/from16 v0, p0
5462 move-object/from16 v1, v44
5464 invoke-virtual {v0, v1}, Lcom/android/server/am/ActivityManagerService;->broadcastQueueForIntent(Landroid/content/Intent;)Lcom/android/server/am/BroadcastQueue;
5466 move-result-object v8
5468 new-instance v7, Lcom/android/server/am/BroadcastRecord;
5472 move-object/from16 v16, v7
5474 move-object/from16 v17, v8
5476 move-object/from16 v18, v44
5478 move-object/from16 v19, p1
5480 move-object/from16 v20, p2
5482 move/from16 v21, p12
5484 move/from16 v22, p13
5486 move-object/from16 v23, p9
5488 move-object/from16 v25, p5
5492 move-object/from16 v27, p7
5494 move-object/from16 v28, p8
5496 move/from16 v29, p10
5498 move/from16 v30, p11
5500 invoke-direct/range {v16 .. v31}, 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;ZZZ)V
5502 if-eqz v55, :cond_59f
5504 invoke-virtual {v8, v7}, Lcom/android/server/am/BroadcastQueue;->replaceOrderedBroadcastLocked(Lcom/android/server/am/BroadcastRecord;)Z
5508 if-eqz v3, :cond_59f
5513 if-nez v56, :cond_59c
5515 invoke-virtual {v8, v7}, Lcom/android/server/am/BroadcastQueue;->enqueueOrderedBroadcastLocked(Lcom/android/server/am/BroadcastRecord;)V
5517 invoke-virtual {v8}, Lcom/android/server/am/BroadcastQueue;->scheduleBroadcastsLocked()V
5535 .method private static buildOomTag(Ljava/lang/String;Ljava/lang/String;II)Ljava/lang/String;
5538 if-ne p2, p3, :cond_19
5546 new-instance v0, Ljava/lang/StringBuilder;
5548 invoke-direct {v0}, Ljava/lang/StringBuilder;-><init>()V
5550 invoke-virtual {v0, p0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
5552 move-result-object v0
5554 const-string v1, " "
5556 invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
5558 move-result-object v0
5560 invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
5562 move-result-object p0
5567 new-instance v0, Ljava/lang/StringBuilder;
5569 invoke-direct {v0}, Ljava/lang/StringBuilder;-><init>()V
5571 invoke-virtual {v0, p0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
5573 move-result-object v0
5575 const-string v1, "+"
5577 invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
5579 move-result-object v0
5583 invoke-static {v1}, Ljava/lang/Integer;->toString(I)Ljava/lang/String;
5585 move-result-object v1
5587 invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
5589 move-result-object v0
5591 invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
5593 move-result-object p0
5598 .method private final bumpServiceExecutingLocked(Lcom/android/server/am/ServiceRecord;Ljava/lang/String;)V
5601 invoke-static {}, Landroid/os/SystemClock;->uptimeMillis()J
5605 iget v3, p1, Lcom/android/server/am/ServiceRecord;->executeNesting:I
5609 iget-object v3, p1, Lcom/android/server/am/ServiceRecord;->app:Lcom/android/server/am/ProcessRecord;
5613 iget-object v3, p1, Lcom/android/server/am/ServiceRecord;->app:Lcom/android/server/am/ProcessRecord;
5615 iget-object v3, v3, Lcom/android/server/am/ProcessRecord;->executingServices:Ljava/util/HashSet;
5617 invoke-virtual {v3}, Ljava/util/HashSet;->size()I
5623 iget-object v3, p0, Lcom/android/server/am/ActivityManagerService;->mHandler:Landroid/os/Handler;
5627 invoke-virtual {v3, v4}, Landroid/os/Handler;->obtainMessage(I)Landroid/os/Message;
5629 move-result-object v0
5631 iget-object v3, p1, Lcom/android/server/am/ServiceRecord;->app:Lcom/android/server/am/ProcessRecord;
5633 iput-object v3, v0, Landroid/os/Message;->obj:Ljava/lang/Object;
5635 iget-object v3, p0, Lcom/android/server/am/ActivityManagerService;->mHandler:Landroid/os/Handler;
5637 const-wide/16 v4, 0x4e20
5639 add-long/2addr v4, v1
5641 invoke-virtual {v3, v0, v4, v5}, Landroid/os/Handler;->sendMessageAtTime(Landroid/os/Message;J)Z
5644 iget-object v3, p1, Lcom/android/server/am/ServiceRecord;->app:Lcom/android/server/am/ProcessRecord;
5646 iget-object v3, v3, Lcom/android/server/am/ProcessRecord;->executingServices:Ljava/util/HashSet;
5648 invoke-virtual {v3, p1}, Ljava/util/HashSet;->add(Ljava/lang/Object;)Z
5651 iget v3, p1, Lcom/android/server/am/ServiceRecord;->executeNesting:I
5653 add-int/lit8 v3, v3, 0x1
5655 iput v3, p1, Lcom/android/server/am/ServiceRecord;->executeNesting:I
5657 iput-wide v1, p1, Lcom/android/server/am/ServiceRecord;->executingStart:J
5662 .method private final canGcNowLocked()Z
5667 iget-object v0, p0, Lcom/android/server/am/ActivityManagerService;->mBroadcastQueues:[Lcom/android/server/am/BroadcastQueue;
5674 if-ge v1, v2, :cond_1d
5676 aget-object v4, v0, v1
5678 iget-object v5, v4, Lcom/android/server/am/BroadcastQueue;->mParallelBroadcasts:Ljava/util/ArrayList;
5680 invoke-virtual {v5}, Ljava/util/ArrayList;->size()I
5686 iget-object v5, v4, Lcom/android/server/am/BroadcastQueue;->mOrderedBroadcasts:Ljava/util/ArrayList;
5688 invoke-virtual {v5}, Ljava/util/ArrayList;->size()I
5698 add-int/lit8 v1, v1, 0x1
5705 iget-boolean v5, p0, Lcom/android/server/am/ActivityManagerService;->mSleeping:Z
5709 iget-object v5, p0, Lcom/android/server/am/ActivityManagerService;->mMainStack:Lcom/android/server/am/ActivityStack;
5711 iget-object v5, v5, Lcom/android/server/am/ActivityStack;->mResumedActivity:Lcom/android/server/am/ActivityRecord;
5715 iget-object v5, p0, Lcom/android/server/am/ActivityManagerService;->mMainStack:Lcom/android/server/am/ActivityStack;
5717 iget-object v5, v5, Lcom/android/server/am/ActivityStack;->mResumedActivity:Lcom/android/server/am/ActivityRecord;
5719 iget-boolean v5, v5, Lcom/android/server/am/ActivityRecord;->idle:Z
5735 .method private final checkContentProviderPermissionLocked(Landroid/content/pm/ProviderInfo;Lcom/android/server/am/ProcessRecord;)Ljava/lang/String;
5742 iget v2, p2, Lcom/android/server/am/ProcessRecord;->pid:I
5747 iget v3, p2, Lcom/android/server/am/ProcessRecord;->uid:I
5750 iget-object v1, p1, Landroid/content/pm/ProviderInfo;->readPermission:Ljava/lang/String;
5752 iget-object v0, p1, Landroid/content/pm/ProviderInfo;->applicationInfo:Landroid/content/pm/ApplicationInfo;
5754 iget v4, v0, Landroid/content/pm/ApplicationInfo;->uid:I
5756 iget-boolean v5, p1, Landroid/content/pm/ProviderInfo;->exported:Z
5760 invoke-virtual/range {v0 .. v5}, Lcom/android/server/am/ActivityManagerService;->checkComponentPermission(Ljava/lang/String;IIIZ)I
5771 invoke-static {}, Landroid/os/Binder;->getCallingPid()I
5778 invoke-static {}, Landroid/os/Binder;->getCallingUid()I
5785 iget-object v1, p1, Landroid/content/pm/ProviderInfo;->writePermission:Ljava/lang/String;
5787 iget-object v0, p1, Landroid/content/pm/ProviderInfo;->applicationInfo:Landroid/content/pm/ApplicationInfo;
5789 iget v4, v0, Landroid/content/pm/ApplicationInfo;->uid:I
5791 iget-boolean v5, p1, Landroid/content/pm/ProviderInfo;->exported:Z
5795 invoke-virtual/range {v0 .. v5}, Lcom/android/server/am/ActivityManagerService;->checkComponentPermission(Ljava/lang/String;IIIZ)I
5801 iget-object v11, p1, Landroid/content/pm/ProviderInfo;->pathPermissions:[Landroid/content/pm/PathPermission;
5803 if-eqz v11, :cond_60
5805 array-length v6, v11
5810 add-int/lit8 v6, v6, -0x1
5812 aget-object v10, v11, v6
5814 invoke-virtual {v10}, Landroid/content/pm/PathPermission;->getReadPermission()Ljava/lang/String;
5816 move-result-object v1
5818 iget-object v0, p1, Landroid/content/pm/ProviderInfo;->applicationInfo:Landroid/content/pm/ApplicationInfo;
5820 iget v4, v0, Landroid/content/pm/ApplicationInfo;->uid:I
5822 iget-boolean v5, p1, Landroid/content/pm/ProviderInfo;->exported:Z
5826 invoke-virtual/range {v0 .. v5}, Lcom/android/server/am/ActivityManagerService;->checkComponentPermission(Ljava/lang/String;IIIZ)I
5832 invoke-virtual {v10}, Landroid/content/pm/PathPermission;->getWritePermission()Ljava/lang/String;
5834 move-result-object v1
5836 iget-object v0, p1, Landroid/content/pm/ProviderInfo;->applicationInfo:Landroid/content/pm/ApplicationInfo;
5838 iget v4, v0, Landroid/content/pm/ApplicationInfo;->uid:I
5840 iget-boolean v5, p1, Landroid/content/pm/ProviderInfo;->exported:Z
5844 invoke-virtual/range {v0 .. v5}, Lcom/android/server/am/ActivityManagerService;->checkComponentPermission(Ljava/lang/String;IIIZ)I
5853 iget-object v0, p0, Lcom/android/server/am/ActivityManagerService;->mGrantedUriPermissions:Landroid/util/SparseArray;
5855 invoke-virtual {v0, v3}, Landroid/util/SparseArray;->get(I)Ljava/lang/Object;
5857 move-result-object v9
5859 check-cast v9, Ljava/util/HashMap;
5863 invoke-virtual {v9}, Ljava/util/HashMap;->entrySet()Ljava/util/Set;
5865 move-result-object v0
5867 invoke-interface {v0}, Ljava/util/Set;->iterator()Ljava/util/Iterator;
5869 move-result-object v7
5872 invoke-interface {v7}, Ljava/util/Iterator;->hasNext()Z
5878 invoke-interface {v7}, Ljava/util/Iterator;->next()Ljava/lang/Object;
5880 move-result-object v12
5882 check-cast v12, Ljava/util/Map$Entry;
5884 invoke-interface {v12}, Ljava/util/Map$Entry;->getKey()Ljava/lang/Object;
5886 move-result-object v0
5888 check-cast v0, Landroid/net/Uri;
5890 invoke-virtual {v0}, Landroid/net/Uri;->getAuthority()Ljava/lang/String;
5892 move-result-object v0
5894 iget-object v1, p1, Landroid/content/pm/ProviderInfo;->authority:Ljava/lang/String;
5896 invoke-virtual {v0, v1}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
5905 iget-boolean v0, p1, Landroid/content/pm/ProviderInfo;->exported:Z
5909 new-instance v0, Ljava/lang/StringBuilder;
5911 invoke-direct {v0}, Ljava/lang/StringBuilder;-><init>()V
5913 const-string v1, "Permission Denial: opening provider "
5915 invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
5917 move-result-object v0
5919 iget-object v1, p1, Landroid/content/pm/ProviderInfo;->name:Ljava/lang/String;
5921 invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
5923 move-result-object v0
5925 const-string v1, " from "
5927 invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
5929 move-result-object v0
5934 invoke-virtual {v0, p2}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
5936 move-result-object v0
5938 const-string v1, " (pid="
5940 invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
5942 move-result-object v0
5944 invoke-virtual {v0, v2}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
5946 move-result-object v0
5948 const-string v1, ", uid="
5950 invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
5952 move-result-object v0
5954 invoke-virtual {v0, v3}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
5956 move-result-object v0
5958 const-string v1, ") that is not exported from uid "
5960 invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
5962 move-result-object v0
5964 iget-object v1, p1, Landroid/content/pm/ProviderInfo;->applicationInfo:Landroid/content/pm/ApplicationInfo;
5966 iget v1, v1, Landroid/content/pm/ApplicationInfo;->uid:I
5968 invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
5970 move-result-object v0
5972 invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
5974 move-result-object v8
5977 const-string v0, "ActivityManager"
5979 invoke-static {v0, v8}, Landroid/util/Slog;->w(Ljava/lang/String;Ljava/lang/String;)I
5984 const-string p2, "(null)"
5989 new-instance v0, Ljava/lang/StringBuilder;
5991 invoke-direct {v0}, Ljava/lang/StringBuilder;-><init>()V
5993 const-string v1, "Permission Denial: opening provider "
5995 invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
5997 move-result-object v0
5999 iget-object v1, p1, Landroid/content/pm/ProviderInfo;->name:Ljava/lang/String;
6001 invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
6003 move-result-object v0
6005 const-string v1, " from "
6007 invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
6009 move-result-object v0
6011 if-eqz p2, :cond_130
6014 invoke-virtual {v0, p2}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
6016 move-result-object v0
6018 const-string v1, " (pid="
6020 invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
6022 move-result-object v0
6024 invoke-virtual {v0, v2}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
6026 move-result-object v0
6028 const-string v1, ", uid="
6030 invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
6032 move-result-object v0
6034 invoke-virtual {v0, v3}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
6036 move-result-object v0
6038 const-string v1, ") requires "
6040 invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
6042 move-result-object v0
6044 iget-object v1, p1, Landroid/content/pm/ProviderInfo;->readPermission:Ljava/lang/String;
6046 invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
6048 move-result-object v0
6050 const-string v1, " or "
6052 invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
6054 move-result-object v0
6056 iget-object v1, p1, Landroid/content/pm/ProviderInfo;->writePermission:Ljava/lang/String;
6058 invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
6060 move-result-object v0
6062 invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
6064 move-result-object v8
6069 const-string p2, "(null)"
6074 .method private final checkHoldingPermissionsLocked(Landroid/content/pm/IPackageManager;Landroid/content/pm/ProviderInfo;Landroid/net/Uri;II)Z
6077 iget-object v12, p2, Landroid/content/pm/ProviderInfo;->applicationInfo:Landroid/content/pm/ApplicationInfo;
6079 iget v12, v12, Landroid/content/pm/ApplicationInfo;->uid:I
6083 if-ne v12, v0, :cond_a
6091 iget-boolean v12, p2, Landroid/content/pm/ProviderInfo;->exported:Z
6093 if-nez v12, :cond_10
6100 and-int/lit8 v12, p5, 0x1
6102 if-nez v12, :cond_82
6107 and-int/lit8 v12, p5, 0x2
6109 if-nez v12, :cond_84
6114 if-nez v10, :cond_2b
6117 iget-object v12, p2, Landroid/content/pm/ProviderInfo;->readPermission:Ljava/lang/String;
6119 if-eqz v12, :cond_2b
6121 iget-object v12, p2, Landroid/content/pm/ProviderInfo;->readPermission:Ljava/lang/String;
6125 invoke-interface {p1, v12, v0}, Landroid/content/pm/IPackageManager;->checkUidPermission(Ljava/lang/String;I)I
6129 if-nez v12, :cond_2b
6134 if-nez v11, :cond_3c
6136 iget-object v12, p2, Landroid/content/pm/ProviderInfo;->writePermission:Ljava/lang/String;
6138 if-eqz v12, :cond_3c
6140 iget-object v12, p2, Landroid/content/pm/ProviderInfo;->writePermission:Ljava/lang/String;
6144 invoke-interface {p1, v12, v0}, Landroid/content/pm/IPackageManager;->checkUidPermission(Ljava/lang/String;I)I
6148 if-nez v12, :cond_3c
6153 iget-object v12, p2, Landroid/content/pm/ProviderInfo;->readPermission:Ljava/lang/String;
6155 if-nez v12, :cond_86
6160 iget-object v12, p2, Landroid/content/pm/ProviderInfo;->writePermission:Ljava/lang/String;
6162 if-nez v12, :cond_88
6167 iget-object v8, p2, Landroid/content/pm/ProviderInfo;->pathPermissions:[Landroid/content/pm/PathPermission;
6171 invoke-virtual/range {p3 .. p3}, Landroid/net/Uri;->getPath()Ljava/lang/String;
6173 move-result-object v5
6181 if-eqz v10, :cond_55
6183 if-nez v11, :cond_8e
6186 add-int/lit8 v4, v4, -0x1
6188 aget-object v6, v8, v4
6190 invoke-virtual {v6, v5}, Landroid/content/pm/PathPermission;->match(Ljava/lang/String;)Z
6194 if-eqz v12, :cond_4f
6196 if-nez v10, :cond_70
6198 invoke-virtual {v6}, Landroid/content/pm/PathPermission;->getReadPermission()Ljava/lang/String;
6200 move-result-object v7
6206 invoke-interface {p1, v7, v0}, Landroid/content/pm/IPackageManager;->checkUidPermission(Ljava/lang/String;I)I
6210 if-nez v12, :cond_8a
6216 if-nez v11, :cond_4f
6218 invoke-virtual {v6}, Landroid/content/pm/PathPermission;->getWritePermission()Ljava/lang/String;
6220 move-result-object v9
6226 invoke-interface {p1, v9, v0}, Landroid/content/pm/IPackageManager;->checkUidPermission(Ljava/lang/String;I)I
6228 .catch Landroid/os/RemoteException; {:try_start_1c .. :try_end_7d} :catch_9b
6232 if-nez v12, :cond_8c
6279 if-eqz v10, :cond_9f
6281 if-eqz v11, :cond_9f
6300 .method private final checkUriPermissionLocked(Landroid/net/Uri;II)Z
6314 iget-object v4, p0, Lcom/android/server/am/ActivityManagerService;->mGrantedUriPermissions:Landroid/util/SparseArray;
6316 invoke-virtual {v4, p2}, Landroid/util/SparseArray;->get(I)Ljava/lang/Object;
6318 move-result-object v1
6320 check-cast v1, Ljava/util/HashMap;
6329 invoke-virtual {v1, p1}, Ljava/util/HashMap;->get(Ljava/lang/Object;)Ljava/lang/Object;
6331 move-result-object v0
6333 check-cast v0, Lcom/android/server/am/UriPermission;
6342 iget v4, v0, Lcom/android/server/am/UriPermission;->modeFlags:I
6344 and-int/2addr v4, p3
6346 if-eq v4, p3, :cond_4
6353 .method private checkValidCaller(II)V
6356 invoke-static {p1}, Landroid/os/UserId;->getUserId(I)I
6360 if-eq v0, p2, :cond_c
6364 if-eq p1, v0, :cond_c
6372 new-instance v0, Ljava/lang/SecurityException;
6374 new-instance v1, Ljava/lang/StringBuilder;
6376 invoke-direct {v1}, Ljava/lang/StringBuilder;-><init>()V
6378 const-string v2, "Caller uid="
6380 invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
6382 move-result-object v1
6384 invoke-virtual {v1, p1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
6386 move-result-object v1
6388 const-string v2, " is not privileged to communicate with user="
6390 invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
6392 move-result-object v1
6394 invoke-virtual {v1, p2}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
6396 move-result-object v1
6398 invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
6400 move-result-object v1
6402 invoke-direct {v0, v1}, Ljava/lang/SecurityException;-><init>(Ljava/lang/String;)V
6407 .method private final cleanUpApplicationRecordLocked(Lcom/android/server/am/ProcessRecord;ZZI)V
6412 move-object/from16 v0, p0
6414 iget-object v12, v0, Lcom/android/server/am/ActivityManagerService;->mLruProcesses:Ljava/util/ArrayList;
6418 invoke-virtual {v12, v0}, Ljava/util/ArrayList;->remove(I)Ljava/lang/Object;
6421 move-object/from16 v0, p0
6423 iget-object v12, v0, Lcom/android/server/am/ActivityManagerService;->mProcessesToGc:Ljava/util/ArrayList;
6425 move-object/from16 v0, p1
6427 invoke-virtual {v12, v0}, Ljava/util/ArrayList;->remove(Ljava/lang/Object;)Z
6429 move-object/from16 v0, p1
6431 iget-object v12, v0, Lcom/android/server/am/ProcessRecord;->crashDialog:Landroid/app/Dialog;
6433 if-eqz v12, :cond_26
6435 move-object/from16 v0, p1
6437 iget-object v12, v0, Lcom/android/server/am/ProcessRecord;->crashDialog:Landroid/app/Dialog;
6439 invoke-virtual {v12}, Landroid/app/Dialog;->dismiss()V
6443 move-object/from16 v0, p1
6445 iput-object v12, v0, Lcom/android/server/am/ProcessRecord;->crashDialog:Landroid/app/Dialog;
6448 move-object/from16 v0, p1
6450 iget-object v12, v0, Lcom/android/server/am/ProcessRecord;->anrDialog:Landroid/app/Dialog;
6452 if-eqz v12, :cond_38
6454 move-object/from16 v0, p1
6456 iget-object v12, v0, Lcom/android/server/am/ProcessRecord;->anrDialog:Landroid/app/Dialog;
6458 invoke-virtual {v12}, Landroid/app/Dialog;->dismiss()V
6462 move-object/from16 v0, p1
6464 iput-object v12, v0, Lcom/android/server/am/ProcessRecord;->anrDialog:Landroid/app/Dialog;
6467 move-object/from16 v0, p1
6469 iget-object v12, v0, Lcom/android/server/am/ProcessRecord;->waitDialog:Landroid/app/Dialog;
6471 if-eqz v12, :cond_4a
6473 move-object/from16 v0, p1
6475 iget-object v12, v0, Lcom/android/server/am/ProcessRecord;->waitDialog:Landroid/app/Dialog;
6477 invoke-virtual {v12}, Landroid/app/Dialog;->dismiss()V
6481 move-object/from16 v0, p1
6483 iput-object v12, v0, Lcom/android/server/am/ProcessRecord;->waitDialog:Landroid/app/Dialog;
6488 move-object/from16 v0, p1
6490 iput-boolean v12, v0, Lcom/android/server/am/ProcessRecord;->crashing:Z
6494 move-object/from16 v0, p1
6496 iput-boolean v12, v0, Lcom/android/server/am/ProcessRecord;->notResponding:Z
6498 invoke-virtual/range {p1 .. p1}, Lcom/android/server/am/ProcessRecord;->resetPackageList()V
6500 invoke-virtual/range {p1 .. p1}, Lcom/android/server/am/ProcessRecord;->unlinkDeathRecipient()V
6504 move-object/from16 v0, p1
6506 iput-object v12, v0, Lcom/android/server/am/ProcessRecord;->thread:Landroid/app/IApplicationThread;
6510 move-object/from16 v0, p1
6512 iput-object v12, v0, Lcom/android/server/am/ProcessRecord;->forcingToForeground:Landroid/os/IBinder;
6516 move-object/from16 v0, p1
6518 iput-boolean v12, v0, Lcom/android/server/am/ProcessRecord;->foregroundServices:Z
6522 move-object/from16 v0, p1
6524 iput-boolean v12, v0, Lcom/android/server/am/ProcessRecord;->foregroundActivities:Z
6528 move-object/from16 v0, p1
6530 iput-boolean v12, v0, Lcom/android/server/am/ProcessRecord;->hasShownUi:Z
6534 move-object/from16 v0, p1
6536 iput-boolean v12, v0, Lcom/android/server/am/ProcessRecord;->hasAboveClient:Z
6538 move-object/from16 v0, p0
6540 move-object/from16 v1, p1
6544 invoke-direct {v0, v1, v2}, Lcom/android/server/am/ActivityManagerService;->killServicesLocked(Lcom/android/server/am/ProcessRecord;Z)V
6548 move-object/from16 v0, p1
6550 iget-object v12, v0, Lcom/android/server/am/ProcessRecord;->pubProviders:Ljava/util/HashMap;
6552 invoke-virtual {v12}, Ljava/util/HashMap;->isEmpty()Z
6556 if-nez v12, :cond_ca
6558 move-object/from16 v0, p1
6560 iget-object v12, v0, Lcom/android/server/am/ProcessRecord;->pubProviders:Ljava/util/HashMap;
6562 invoke-virtual {v12}, Ljava/util/HashMap;->values()Ljava/util/Collection;
6564 move-result-object v12
6566 invoke-interface {v12}, Ljava/util/Collection;->iterator()Ljava/util/Iterator;
6568 move-result-object v8
6571 invoke-interface {v8}, Ljava/util/Iterator;->hasNext()Z
6575 if-eqz v12, :cond_c3
6577 invoke-interface {v8}, Ljava/util/Iterator;->next()Ljava/lang/Object;
6579 move-result-object v6
6581 check-cast v6, Lcom/android/server/am/ContentProviderRecord;
6583 move-object/from16 v0, p1
6585 iget-boolean v12, v0, Lcom/android/server/am/ProcessRecord;->bad:Z
6587 if-nez v12, :cond_ac
6595 move-object/from16 v0, p0
6597 move-object/from16 v1, p1
6599 invoke-direct {v0, v1, v6, v3}, Lcom/android/server/am/ActivityManagerService;->removeDyingProviderLocked(Lcom/android/server/am/ProcessRecord;Lcom/android/server/am/ContentProviderRecord;Z)Z
6603 if-nez v12, :cond_b9
6613 iput-object v12, v6, Lcom/android/server/am/ContentProviderRecord;->provider:Landroid/content/IContentProvider;
6617 iput-object v12, v6, Lcom/android/server/am/ContentProviderRecord;->proc:Lcom/android/server/am/ProcessRecord;
6627 move-object/from16 v0, p1
6629 iget-object v12, v0, Lcom/android/server/am/ProcessRecord;->pubProviders:Ljava/util/HashMap;
6631 invoke-virtual {v12}, Ljava/util/HashMap;->clear()V
6636 move-object/from16 v0, p0
6638 move-object/from16 v1, p1
6640 invoke-virtual {v0, v1, v12}, Lcom/android/server/am/ActivityManagerService;->checkAppInLaunchingProvidersLocked(Lcom/android/server/am/ProcessRecord;Z)Z
6644 if-eqz v12, :cond_d6
6649 move-object/from16 v0, p1
6651 iget-object v12, v0, Lcom/android/server/am/ProcessRecord;->conProviders:Ljava/util/ArrayList;
6653 invoke-virtual {v12}, Ljava/util/ArrayList;->isEmpty()Z
6657 if-nez v12, :cond_106
6662 move-object/from16 v0, p1
6664 iget-object v12, v0, Lcom/android/server/am/ProcessRecord;->conProviders:Ljava/util/ArrayList;
6666 invoke-virtual {v12}, Ljava/util/ArrayList;->size()I
6670 if-ge v7, v12, :cond_ff
6672 move-object/from16 v0, p1
6674 iget-object v12, v0, Lcom/android/server/am/ProcessRecord;->conProviders:Ljava/util/ArrayList;
6676 invoke-virtual {v12, v7}, Ljava/util/ArrayList;->get(I)Ljava/lang/Object;
6678 move-result-object v5
6680 check-cast v5, Lcom/android/server/am/ContentProviderConnection;
6682 iget-object v12, v5, Lcom/android/server/am/ContentProviderConnection;->provider:Lcom/android/server/am/ContentProviderRecord;
6684 iget-object v12, v12, Lcom/android/server/am/ContentProviderRecord;->connections:Ljava/util/ArrayList;
6686 invoke-virtual {v12, v5}, Ljava/util/ArrayList;->remove(Ljava/lang/Object;)Z
6688 add-int/lit8 v7, v7, 0x1
6693 move-object/from16 v0, p1
6695 iget-object v12, v0, Lcom/android/server/am/ProcessRecord;->conProviders:Ljava/util/ArrayList;
6697 invoke-virtual {v12}, Ljava/util/ArrayList;->clear()V
6700 invoke-virtual/range {p0 .. p1}, Lcom/android/server/am/ActivityManagerService;->skipCurrentReceiverLocked(Lcom/android/server/am/ProcessRecord;)V
6702 move-object/from16 v0, p1
6704 iget-object v12, v0, Lcom/android/server/am/ProcessRecord;->receivers:Ljava/util/HashSet;
6706 invoke-virtual {v12}, Ljava/util/HashSet;->size()I
6710 if-lez v12, :cond_134
6712 move-object/from16 v0, p1
6714 iget-object v12, v0, Lcom/android/server/am/ProcessRecord;->receivers:Ljava/util/HashSet;
6716 invoke-virtual {v12}, Ljava/util/HashSet;->iterator()Ljava/util/Iterator;
6718 move-result-object v9
6721 invoke-interface {v9}, Ljava/util/Iterator;->hasNext()Z
6725 if-eqz v12, :cond_12d
6727 invoke-interface {v9}, Ljava/util/Iterator;->next()Ljava/lang/Object;
6729 move-result-object v12
6731 check-cast v12, Lcom/android/server/am/ReceiverList;
6733 move-object/from16 v0, p0
6735 invoke-virtual {v0, v12}, Lcom/android/server/am/ActivityManagerService;->removeReceiverLocked(Lcom/android/server/am/ReceiverList;)V
6740 move-object/from16 v0, p1
6742 iget-object v12, v0, Lcom/android/server/am/ProcessRecord;->receivers:Ljava/util/HashSet;
6744 invoke-virtual {v12}, Ljava/util/HashSet;->clear()V
6747 move-object/from16 v0, p0
6749 iget-object v12, v0, Lcom/android/server/am/ActivityManagerService;->mBackupTarget:Lcom/android/server/am/BackupRecord;
6751 if-eqz v12, :cond_15b
6753 move-object/from16 v0, p1
6755 iget v12, v0, Lcom/android/server/am/ProcessRecord;->pid:I
6757 move-object/from16 v0, p0
6759 iget-object v13, v0, Lcom/android/server/am/ActivityManagerService;->mBackupTarget:Lcom/android/server/am/BackupRecord;
6761 iget-object v13, v13, Lcom/android/server/am/BackupRecord;->app:Lcom/android/server/am/ProcessRecord;
6763 iget v13, v13, Lcom/android/server/am/ProcessRecord;->pid:I
6765 if-ne v12, v13, :cond_15b
6768 const-string v12, "backup"
6770 invoke-static {v12}, Landroid/os/ServiceManager;->getService(Ljava/lang/String;)Landroid/os/IBinder;
6772 move-result-object v12
6774 invoke-static {v12}, Landroid/app/backup/IBackupManager$Stub;->asInterface(Landroid/os/IBinder;)Landroid/app/backup/IBackupManager;
6776 move-result-object v4
6778 move-object/from16 v0, p1
6780 iget-object v12, v0, Lcom/android/server/am/ProcessRecord;->info:Landroid/content/pm/ApplicationInfo;
6782 iget-object v12, v12, Landroid/content/pm/ApplicationInfo;->packageName:Ljava/lang/String;
6784 invoke-interface {v4, v12}, Landroid/app/backup/IBackupManager;->agentDisconnected(Ljava/lang/String;)V
6786 .catch Landroid/os/RemoteException; {:try_start_148 .. :try_end_15b} :catch_27f
6790 move-object/from16 v0, p0
6792 iget-object v12, v0, Lcom/android/server/am/ActivityManagerService;->mPendingProcessChanges:Ljava/util/ArrayList;
6794 invoke-virtual {v12}, Ljava/util/ArrayList;->size()I
6798 add-int/lit8 v7, v12, -0x1
6801 if-ltz v7, :cond_18a
6803 move-object/from16 v0, p0
6805 iget-object v12, v0, Lcom/android/server/am/ActivityManagerService;->mPendingProcessChanges:Ljava/util/ArrayList;
6807 invoke-virtual {v12, v7}, Ljava/util/ArrayList;->get(I)Ljava/lang/Object;
6809 move-result-object v10
6811 check-cast v10, Lcom/android/server/am/ActivityManagerService$ProcessChangeItem;
6813 iget v12, v10, Lcom/android/server/am/ActivityManagerService$ProcessChangeItem;->pid:I
6815 move-object/from16 v0, p1
6817 iget v13, v0, Lcom/android/server/am/ProcessRecord;->pid:I
6819 if-ne v12, v13, :cond_187
6821 move-object/from16 v0, p0
6823 iget-object v12, v0, Lcom/android/server/am/ActivityManagerService;->mPendingProcessChanges:Ljava/util/ArrayList;
6825 invoke-virtual {v12, v7}, Ljava/util/ArrayList;->remove(I)Ljava/lang/Object;
6827 move-object/from16 v0, p0
6829 iget-object v12, v0, Lcom/android/server/am/ActivityManagerService;->mAvailProcessChanges:Ljava/util/ArrayList;
6831 invoke-virtual {v12, v10}, Ljava/util/ArrayList;->add(Ljava/lang/Object;)Z
6834 add-int/lit8 v7, v7, -0x1
6839 move-object/from16 v0, p0
6841 iget-object v12, v0, Lcom/android/server/am/ActivityManagerService;->mHandler:Landroid/os/Handler;
6845 move-object/from16 v0, p1
6847 iget v14, v0, Lcom/android/server/am/ProcessRecord;->pid:I
6849 move-object/from16 v0, p1
6851 iget-object v15, v0, Lcom/android/server/am/ProcessRecord;->info:Landroid/content/pm/ApplicationInfo;
6853 iget v15, v15, Landroid/content/pm/ApplicationInfo;->uid:I
6857 invoke-virtual/range {v12 .. v16}, Landroid/os/Handler;->obtainMessage(IIILjava/lang/Object;)Landroid/os/Message;
6859 move-result-object v12
6861 invoke-virtual {v12}, Landroid/os/Message;->sendToTarget()V
6863 if-eqz p2, :cond_1a6
6870 move-object/from16 v0, p1
6872 iget-boolean v12, v0, Lcom/android/server/am/ProcessRecord;->persistent:Z
6874 if-eqz v12, :cond_1b2
6876 move-object/from16 v0, p1
6878 iget-boolean v12, v0, Lcom/android/server/am/ProcessRecord;->isolated:Z
6880 if-eqz v12, :cond_22d
6883 move-object/from16 v0, p0
6885 iget-object v12, v0, Lcom/android/server/am/ActivityManagerService;->mProcessNames:Lcom/android/server/ProcessMap;
6887 move-object/from16 v0, p1
6889 iget-object v13, v0, Lcom/android/server/am/ProcessRecord;->processName:Ljava/lang/String;
6891 move-object/from16 v0, p1
6893 iget v14, v0, Lcom/android/server/am/ProcessRecord;->uid:I
6895 invoke-virtual {v12, v13, v14}, Lcom/android/server/ProcessMap;->remove(Ljava/lang/String;I)V
6897 move-object/from16 v0, p0
6899 iget-object v12, v0, Lcom/android/server/am/ActivityManagerService;->mIsolatedProcesses:Landroid/util/SparseArray;
6901 move-object/from16 v0, p1
6903 iget v13, v0, Lcom/android/server/am/ProcessRecord;->uid:I
6905 invoke-virtual {v12, v13}, Landroid/util/SparseArray;->remove(I)V
6907 move-object/from16 v0, p0
6909 iget-object v12, v0, Lcom/android/server/am/ActivityManagerService;->mHeavyWeightProcess:Lcom/android/server/am/ProcessRecord;
6911 move-object/from16 v0, p1
6913 if-ne v12, v0, :cond_1e2
6917 move-object/from16 v0, p0
6919 iput-object v12, v0, Lcom/android/server/am/ActivityManagerService;->mHeavyWeightProcess:Lcom/android/server/am/ProcessRecord;
6921 move-object/from16 v0, p0
6923 iget-object v12, v0, Lcom/android/server/am/ActivityManagerService;->mHandler:Landroid/os/Handler;
6927 invoke-virtual {v12, v13}, Landroid/os/Handler;->sendEmptyMessage(I)Z
6931 move-object/from16 v0, p0
6933 iget-object v12, v0, Lcom/android/server/am/ActivityManagerService;->mProcessesOnHold:Ljava/util/ArrayList;
6935 move-object/from16 v0, p1
6937 invoke-virtual {v12, v0}, Ljava/util/ArrayList;->remove(Ljava/lang/Object;)Z
6939 move-object/from16 v0, p0
6941 iget-object v12, v0, Lcom/android/server/am/ActivityManagerService;->mHomeProcess:Lcom/android/server/am/ProcessRecord;
6943 move-object/from16 v0, p1
6945 if-ne v0, v12, :cond_1f8
6949 move-object/from16 v0, p0
6951 iput-object v12, v0, Lcom/android/server/am/ActivityManagerService;->mHomeProcess:Lcom/android/server/am/ProcessRecord;
6954 move-object/from16 v0, p0
6956 iget-object v12, v0, Lcom/android/server/am/ActivityManagerService;->mPreviousProcess:Lcom/android/server/am/ProcessRecord;
6958 move-object/from16 v0, p1
6960 if-ne v0, v12, :cond_205
6964 move-object/from16 v0, p0
6966 iput-object v12, v0, Lcom/android/server/am/ActivityManagerService;->mPreviousProcess:Lcom/android/server/am/ProcessRecord;
6969 if-eqz v11, :cond_24a
6971 move-object/from16 v0, p1
6973 iget-boolean v12, v0, Lcom/android/server/am/ProcessRecord;->isolated:Z
6975 if-nez v12, :cond_24a
6977 move-object/from16 v0, p0
6979 iget-object v12, v0, Lcom/android/server/am/ActivityManagerService;->mProcessNames:Lcom/android/server/ProcessMap;
6981 move-object/from16 v0, p1
6983 iget-object v13, v0, Lcom/android/server/am/ProcessRecord;->processName:Ljava/lang/String;
6985 move-object/from16 v0, p1
6987 iget v14, v0, Lcom/android/server/am/ProcessRecord;->uid:I
6989 move-object/from16 v0, p1
6991 invoke-virtual {v12, v13, v14, v0}, Lcom/android/server/ProcessMap;->put(Ljava/lang/String;ILjava/lang/Object;)Ljava/lang/Object;
6993 const-string v12, "restart"
6995 move-object/from16 v0, p1
6997 iget-object v13, v0, Lcom/android/server/am/ProcessRecord;->processName:Ljava/lang/String;
6999 move-object/from16 v0, p0
7001 move-object/from16 v1, p1
7003 invoke-direct {v0, v1, v12, v13}, Lcom/android/server/am/ActivityManagerService;->startProcessLocked(Lcom/android/server/am/ProcessRecord;Ljava/lang/String;Ljava/lang/String;)V
7008 move-object/from16 v0, p1
7010 iget-boolean v12, v0, Lcom/android/server/am/ProcessRecord;->removed:Z
7012 if-nez v12, :cond_1e2
7014 move-object/from16 v0, p0
7016 iget-object v12, v0, Lcom/android/server/am/ActivityManagerService;->mPersistentStartingProcesses:Ljava/util/ArrayList;
7018 move-object/from16 v0, p1
7020 invoke-virtual {v12, v0}, Ljava/util/ArrayList;->indexOf(Ljava/lang/Object;)I
7024 if-gez v12, :cond_1e2
7026 move-object/from16 v0, p0
7028 iget-object v12, v0, Lcom/android/server/am/ActivityManagerService;->mPersistentStartingProcesses:Ljava/util/ArrayList;
7030 move-object/from16 v0, p1
7032 invoke-virtual {v12, v0}, Ljava/util/ArrayList;->add(Ljava/lang/Object;)Z
7039 move-object/from16 v0, p1
7041 iget v12, v0, Lcom/android/server/am/ProcessRecord;->pid:I
7043 if-lez v12, :cond_1a5
7045 move-object/from16 v0, p1
7047 iget v12, v0, Lcom/android/server/am/ProcessRecord;->pid:I
7049 sget v13, Lcom/android/server/am/ActivityManagerService;->MY_PID:I
7051 if-eq v12, v13, :cond_1a5
7053 move-object/from16 v0, p0
7055 iget-object v13, v0, Lcom/android/server/am/ActivityManagerService;->mPidsSelfLocked:Landroid/util/SparseArray;
7060 move-object/from16 v0, p0
7062 iget-object v12, v0, Lcom/android/server/am/ActivityManagerService;->mPidsSelfLocked:Landroid/util/SparseArray;
7064 move-object/from16 v0, p1
7066 iget v14, v0, Lcom/android/server/am/ProcessRecord;->pid:I
7068 invoke-virtual {v12, v14}, Landroid/util/SparseArray;->remove(I)V
7070 move-object/from16 v0, p0
7072 iget-object v12, v0, Lcom/android/server/am/ActivityManagerService;->mHandler:Landroid/os/Handler;
7076 move-object/from16 v0, p1
7078 invoke-virtual {v12, v14, v0}, Landroid/os/Handler;->removeMessages(ILjava/lang/Object;)V
7082 .catchall {:try_start_25d .. :try_end_274} :catchall_27c
7086 move-object/from16 v0, p1
7088 invoke-virtual {v0, v12}, Lcom/android/server/am/ProcessRecord;->setPid(I)V
7098 .catchall {:try_start_27d .. :try_end_27e} :catchall_27c
7108 .method private cleanUpRemovedTaskLocked(Lcom/android/server/am/TaskRecord;I)V
7111 and-int/lit8 v1, p2, 0x1
7118 new-instance v5, Landroid/content/Intent;
7120 move-object/from16 v0, p1
7122 iget-object v1, v0, Lcom/android/server/am/TaskRecord;->intent:Landroid/content/Intent;
7126 move-object/from16 v0, p1
7128 iget-object v1, v0, Lcom/android/server/am/TaskRecord;->intent:Landroid/content/Intent;
7131 invoke-direct {v5, v1}, Landroid/content/Intent;-><init>(Landroid/content/Intent;)V
7133 invoke-virtual {v5}, Landroid/content/Intent;->getComponent()Landroid/content/ComponentName;
7135 move-result-object v7
7139 const-string v1, "ActivityManager"
7141 new-instance v3, Ljava/lang/StringBuilder;
7143 invoke-direct {v3}, Ljava/lang/StringBuilder;-><init>()V
7145 const-string v4, "Now component for base intent of task: "
7147 invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
7149 move-result-object v3
7151 move-object/from16 v0, p1
7153 invoke-virtual {v3, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
7155 move-result-object v3
7157 invoke-virtual {v3}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
7159 move-result-object v3
7161 invoke-static {v1, v3}, Landroid/util/Slog;->w(Ljava/lang/String;Ljava/lang/String;)I
7172 move-object/from16 v0, p1
7174 iget-object v1, v0, Lcom/android/server/am/TaskRecord;->affinityIntent:Landroid/content/Intent;
7179 new-instance v16, Ljava/util/ArrayList;
7181 invoke-direct/range {v16 .. v16}, Ljava/util/ArrayList;-><init>()V
7183 move-object/from16 v0, p0
7185 iget-object v1, v0, Lcom/android/server/am/ActivityManagerService;->mServiceMap:Lcom/android/server/am/ActivityManagerService$ServiceMap;
7187 move-object/from16 v0, p1
7189 iget v3, v0, Lcom/android/server/am/TaskRecord;->userId:I
7191 invoke-virtual {v1, v3}, Lcom/android/server/am/ActivityManagerService$ServiceMap;->getAllServices(I)Ljava/util/Collection;
7193 move-result-object v1
7195 invoke-interface {v1}, Ljava/util/Collection;->iterator()Ljava/util/Iterator;
7197 move-result-object v9
7201 invoke-interface {v9}, Ljava/util/Iterator;->hasNext()Z
7207 invoke-interface {v9}, Ljava/util/Iterator;->next()Ljava/lang/Object;
7209 move-result-object v2
7211 check-cast v2, Lcom/android/server/am/ServiceRecord;
7213 iget-object v1, v2, Lcom/android/server/am/ServiceRecord;->packageName:Ljava/lang/String;
7215 invoke-virtual {v7}, Landroid/content/ComponentName;->getPackageName()Ljava/lang/String;
7217 move-result-object v3
7219 invoke-virtual {v1, v3}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
7225 move-object/from16 v0, v16
7227 invoke-virtual {v0, v2}, Ljava/util/ArrayList;->add(Ljava/lang/Object;)Z
7235 invoke-virtual/range {v16 .. v16}, Ljava/util/ArrayList;->size()I
7239 if-ge v8, v1, :cond_d7
7241 move-object/from16 v0, v16
7243 invoke-virtual {v0, v8}, Ljava/util/ArrayList;->get(I)Ljava/lang/Object;
7245 move-result-object v2
7247 check-cast v2, Lcom/android/server/am/ServiceRecord;
7249 iget-boolean v1, v2, Lcom/android/server/am/ServiceRecord;->startRequested:Z
7253 iget-object v1, v2, Lcom/android/server/am/ServiceRecord;->serviceInfo:Landroid/content/pm/ServiceInfo;
7255 iget v1, v1, Landroid/content/pm/ServiceInfo;->flags:I
7257 and-int/lit8 v1, v1, 0x1
7261 const-string v1, "ActivityManager"
7263 new-instance v3, Ljava/lang/StringBuilder;
7265 invoke-direct {v3}, Ljava/lang/StringBuilder;-><init>()V
7267 const-string v4, "Stopping service "
7269 invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
7271 move-result-object v3
7273 iget-object v4, v2, Lcom/android/server/am/ServiceRecord;->shortName:Ljava/lang/String;
7275 invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
7277 move-result-object v3
7279 const-string v4, ": remove task"
7281 invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
7283 move-result-object v3
7285 invoke-virtual {v3}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
7287 move-result-object v3
7289 invoke-static {v1, v3}, Landroid/util/Slog;->i(Ljava/lang/String;Ljava/lang/String;)I
7291 move-object/from16 v0, p0
7293 invoke-direct {v0, v2}, Lcom/android/server/am/ActivityManagerService;->stopServiceLocked(Lcom/android/server/am/ServiceRecord;)V
7297 add-int/lit8 v8, v8, 0x1
7302 iget-object v0, v2, Lcom/android/server/am/ServiceRecord;->pendingStarts:Ljava/util/ArrayList;
7304 move-object/from16 v18, v0
7306 new-instance v1, Lcom/android/server/am/ServiceRecord$StartItem;
7310 invoke-virtual {v2}, Lcom/android/server/am/ServiceRecord;->makeNextStartId()I
7316 invoke-direct/range {v1 .. v6}, Lcom/android/server/am/ServiceRecord$StartItem;-><init>(Lcom/android/server/am/ServiceRecord;ZILandroid/content/Intent;Lcom/android/server/am/ActivityManagerService$NeededUriGrants;)V
7318 move-object/from16 v0, v18
7320 invoke-virtual {v0, v1}, Ljava/util/ArrayList;->add(Ljava/lang/Object;)Z
7322 iget-object v1, v2, Lcom/android/server/am/ServiceRecord;->app:Lcom/android/server/am/ProcessRecord;
7326 iget-object v1, v2, Lcom/android/server/am/ServiceRecord;->app:Lcom/android/server/am/ProcessRecord;
7328 iget-object v1, v1, Lcom/android/server/am/ProcessRecord;->thread:Landroid/app/IApplicationThread;
7334 move-object/from16 v0, p0
7336 invoke-direct {v0, v2, v1}, Lcom/android/server/am/ActivityManagerService;->sendServiceArgsLocked(Lcom/android/server/am/ServiceRecord;Z)V
7341 if-eqz v10, :cond_34
7343 invoke-virtual {v7}, Landroid/content/ComponentName;->getPackageName()Ljava/lang/String;
7345 move-result-object v11
7347 new-instance v15, Ljava/util/ArrayList;
7349 invoke-direct {v15}, Ljava/util/ArrayList;-><init>()V
7351 move-object/from16 v0, p0
7353 iget-object v1, v0, Lcom/android/server/am/ActivityManagerService;->mProcessNames:Lcom/android/server/ProcessMap;
7355 invoke-virtual {v1}, Lcom/android/server/ProcessMap;->getMap()Ljava/util/HashMap;
7357 move-result-object v12
7359 invoke-virtual {v12}, Ljava/util/HashMap;->values()Ljava/util/Collection;
7361 move-result-object v1
7363 invoke-interface {v1}, Ljava/util/Collection;->iterator()Ljava/util/Iterator;
7365 move-result-object v9
7368 invoke-interface {v9}, Ljava/util/Iterator;->hasNext()Z
7372 if-eqz v1, :cond_124
7374 invoke-interface {v9}, Ljava/util/Iterator;->next()Ljava/lang/Object;
7376 move-result-object v17
7378 check-cast v17, Landroid/util/SparseArray;
7383 invoke-virtual/range {v17 .. v17}, Landroid/util/SparseArray;->size()I
7387 if-ge v8, v1, :cond_f2
7389 move-object/from16 v0, v17
7391 invoke-virtual {v0, v8}, Landroid/util/SparseArray;->valueAt(I)Ljava/lang/Object;
7393 move-result-object v14
7395 check-cast v14, Lcom/android/server/am/ProcessRecord;
7397 iget v1, v14, Lcom/android/server/am/ProcessRecord;->userId:I
7399 move-object/from16 v0, p1
7401 iget v3, v0, Lcom/android/server/am/TaskRecord;->userId:I
7403 if-eq v1, v3, :cond_118
7407 add-int/lit8 v8, v8, 0x1
7412 iget-object v1, v14, Lcom/android/server/am/ProcessRecord;->pkgList:Ljava/util/HashSet;
7414 invoke-virtual {v1, v11}, Ljava/util/HashSet;->contains(Ljava/lang/Object;)Z
7418 if-eqz v1, :cond_115
7420 invoke-virtual {v15, v14}, Ljava/util/ArrayList;->add(Ljava/lang/Object;)Z
7428 invoke-virtual {v15}, Ljava/util/ArrayList;->size()I
7432 if-ge v8, v1, :cond_34
7434 invoke-virtual {v15, v8}, Ljava/util/ArrayList;->get(I)Ljava/lang/Object;
7436 move-result-object v13
7438 check-cast v13, Lcom/android/server/am/ProcessRecord;
7440 iget v1, v13, Lcom/android/server/am/ProcessRecord;->setSchedGroup:I
7442 if-nez v1, :cond_186
7444 const-string v1, "ActivityManager"
7446 new-instance v3, Ljava/lang/StringBuilder;
7448 invoke-direct {v3}, Ljava/lang/StringBuilder;-><init>()V
7450 const-string v4, "Killing "
7452 invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
7454 move-result-object v3
7456 invoke-virtual {v13}, Lcom/android/server/am/ProcessRecord;->toShortString()Ljava/lang/String;
7458 move-result-object v4
7460 invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
7462 move-result-object v3
7464 const-string v4, ": remove task"
7466 invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
7468 move-result-object v3
7470 invoke-virtual {v3}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
7472 move-result-object v3
7474 invoke-static {v1, v3}, Landroid/util/Slog;->i(Ljava/lang/String;Ljava/lang/String;)I
7480 new-array v3, v3, [Ljava/lang/Object;
7484 iget v6, v13, Lcom/android/server/am/ProcessRecord;->pid:I
7486 invoke-static {v6}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
7488 move-result-object v6
7490 aput-object v6, v3, v4
7494 iget-object v6, v13, Lcom/android/server/am/ProcessRecord;->processName:Ljava/lang/String;
7496 aput-object v6, v3, v4
7500 iget v6, v13, Lcom/android/server/am/ProcessRecord;->setAdj:I
7502 invoke-static {v6}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
7504 move-result-object v6
7506 aput-object v6, v3, v4
7510 const-string v6, "remove task"
7512 aput-object v6, v3, v4
7514 invoke-static {v1, v3}, Landroid/util/EventLog;->writeEvent(I[Ljava/lang/Object;)I
7518 iput-boolean v1, v13, Lcom/android/server/am/ProcessRecord;->killedBackground:Z
7520 iget v1, v13, Lcom/android/server/am/ProcessRecord;->pid:I
7522 invoke-static {v1}, Landroid/os/Process;->killProcessQuiet(I)V
7525 add-int/lit8 v8, v8, 0x1
7530 const-string v1, "remove task"
7532 iput-object v1, v13, Lcom/android/server/am/ProcessRecord;->waitingToKill:Ljava/lang/String;
7537 .method private clearProfilerLocked()V
7544 iget-object v0, p0, Lcom/android/server/am/ActivityManagerService;->mProfileFd:Landroid/os/ParcelFileDescriptor;
7549 iget-object v0, p0, Lcom/android/server/am/ActivityManagerService;->mProfileFd:Landroid/os/ParcelFileDescriptor;
7551 invoke-virtual {v0}, Landroid/os/ParcelFileDescriptor;->close()V
7553 .catch Ljava/io/IOException; {:try_start_6 .. :try_end_b} :catch_16
7557 iput-object v1, p0, Lcom/android/server/am/ActivityManagerService;->mProfileApp:Ljava/lang/String;
7559 iput-object v1, p0, Lcom/android/server/am/ActivityManagerService;->mProfileProc:Lcom/android/server/am/ProcessRecord;
7561 iput-object v1, p0, Lcom/android/server/am/ActivityManagerService;->mProfileFile:Ljava/lang/String;
7563 iput v2, p0, Lcom/android/server/am/ActivityManagerService;->mProfileType:I
7565 iput-boolean v2, p0, Lcom/android/server/am/ActivityManagerService;->mAutoStopProfiler:Z
7575 .method private comeOutOfSleepIfNeededLocked()V
7578 iget-boolean v0, p0, Lcom/android/server/am/ActivityManagerService;->mWentToSleep:Z
7582 iget-boolean v0, p0, Lcom/android/server/am/ActivityManagerService;->mLockScreenShown:Z
7586 iget-boolean v0, p0, Lcom/android/server/am/ActivityManagerService;->mSleeping:Z
7592 iput-boolean v0, p0, Lcom/android/server/am/ActivityManagerService;->mSleeping:Z
7594 iget-object v0, p0, Lcom/android/server/am/ActivityManagerService;->mMainStack:Lcom/android/server/am/ActivityStack;
7596 invoke-virtual {v0}, Lcom/android/server/am/ActivityStack;->awakeFromSleepingLocked()V
7598 iget-object v0, p0, Lcom/android/server/am/ActivityManagerService;->mMainStack:Lcom/android/server/am/ActivityStack;
7602 invoke-virtual {v0, v1}, Lcom/android/server/am/ActivityStack;->resumeTopActivityLocked(Lcom/android/server/am/ActivityRecord;)Z
7608 .method private final computeOomAdjLocked(Lcom/android/server/am/ProcessRecord;ILcom/android/server/am/ProcessRecord;ZZ)I
7611 move-object/from16 v0, p0
7613 iget v2, v0, Lcom/android/server/am/ActivityManagerService;->mAdjSeq:I
7615 move-object/from16 v0, p1
7617 iget v5, v0, Lcom/android/server/am/ProcessRecord;->adjSeq:I
7619 if-ne v2, v5, :cond_29
7623 move-object/from16 v0, p1
7625 iget-boolean v2, v0, Lcom/android/server/am/ProcessRecord;->hidden:Z
7631 move-object/from16 v1, p1
7633 iput v0, v1, Lcom/android/server/am/ProcessRecord;->nonStoppingAdj:I
7637 move-object/from16 v1, p1
7639 iput v0, v1, Lcom/android/server/am/ProcessRecord;->curRawAdj:I
7643 move-object/from16 v1, p1
7645 iput v0, v1, Lcom/android/server/am/ProcessRecord;->curAdj:I
7648 move-object/from16 v0, p1
7650 iget v2, v0, Lcom/android/server/am/ProcessRecord;->curRawAdj:I
7656 move-object/from16 v0, p1
7658 iget-object v2, v0, Lcom/android/server/am/ProcessRecord;->thread:Landroid/app/IApplicationThread;
7662 move-object/from16 v0, p0
7664 iget v2, v0, Lcom/android/server/am/ActivityManagerService;->mAdjSeq:I
7666 move-object/from16 v0, p1
7668 iput v2, v0, Lcom/android/server/am/ProcessRecord;->adjSeq:I
7672 move-object/from16 v0, p1
7674 iput v2, v0, Lcom/android/server/am/ProcessRecord;->curSchedGroup:I
7678 move-object/from16 v0, p1
7680 iput v2, v0, Lcom/android/server/am/ProcessRecord;->curAdj:I
7687 move-object/from16 v0, p1
7689 iput v2, v0, Lcom/android/server/am/ProcessRecord;->adjTypeCode:I
7693 move-object/from16 v0, p1
7695 iput-object v2, v0, Lcom/android/server/am/ProcessRecord;->adjSource:Ljava/lang/Object;
7699 move-object/from16 v0, p1
7701 iput-object v2, v0, Lcom/android/server/am/ProcessRecord;->adjTarget:Ljava/lang/Object;
7705 move-object/from16 v0, p1
7707 iput-boolean v2, v0, Lcom/android/server/am/ProcessRecord;->empty:Z
7711 move-object/from16 v0, p1
7713 iput-boolean v2, v0, Lcom/android/server/am/ProcessRecord;->hidden:Z
7715 move-object/from16 v0, p1
7717 iget-object v2, v0, Lcom/android/server/am/ProcessRecord;->activities:Ljava/util/ArrayList;
7719 invoke-virtual {v2}, Ljava/util/ArrayList;->size()I
7723 move-object/from16 v0, p1
7725 iget v2, v0, Lcom/android/server/am/ProcessRecord;->maxAdj:I
7729 const-string v2, "fixed"
7731 move-object/from16 v0, p1
7733 iput-object v2, v0, Lcom/android/server/am/ProcessRecord;->adjType:Ljava/lang/String;
7735 move-object/from16 v0, p0
7737 iget v2, v0, Lcom/android/server/am/ActivityManagerService;->mAdjSeq:I
7739 move-object/from16 v0, p1
7741 iput v2, v0, Lcom/android/server/am/ProcessRecord;->adjSeq:I
7743 move-object/from16 v0, p1
7745 iget v2, v0, Lcom/android/server/am/ProcessRecord;->maxAdj:I
7747 move-object/from16 v0, p1
7749 iput v2, v0, Lcom/android/server/am/ProcessRecord;->nonStoppingAdj:I
7751 move-object/from16 v0, p1
7753 iput v2, v0, Lcom/android/server/am/ProcessRecord;->curRawAdj:I
7757 move-object/from16 v0, p1
7759 iput-boolean v2, v0, Lcom/android/server/am/ProcessRecord;->foregroundActivities:Z
7763 move-object/from16 v0, p1
7765 iput-boolean v2, v0, Lcom/android/server/am/ProcessRecord;->keeping:Z
7769 move-object/from16 v0, p1
7771 iput v2, v0, Lcom/android/server/am/ProcessRecord;->curSchedGroup:I
7775 move-object/from16 v0, p1
7777 iput-boolean v2, v0, Lcom/android/server/am/ProcessRecord;->systemNoUi:Z
7779 move-object/from16 v0, p1
7781 move-object/from16 v1, p3
7783 if-ne v0, v1, :cond_ad
7787 move-object/from16 v0, p1
7789 iput-boolean v2, v0, Lcom/android/server/am/ProcessRecord;->systemNoUi:Z
7793 move-object/from16 v0, p1
7795 iget v2, v0, Lcom/android/server/am/ProcessRecord;->maxAdj:I
7797 move-object/from16 v0, p1
7799 iput v2, v0, Lcom/android/server/am/ProcessRecord;->curAdj:I
7804 if-lez v10, :cond_a3
7811 if-ge v0, v10, :cond_a3
7813 move-object/from16 v0, p1
7815 iget-object v2, v0, Lcom/android/server/am/ProcessRecord;->activities:Ljava/util/ArrayList;
7819 invoke-virtual {v2, v0}, Ljava/util/ArrayList;->get(I)Ljava/lang/Object;
7821 move-result-object v32
7823 check-cast v32, Lcom/android/server/am/ActivityRecord;
7825 move-object/from16 v0, v32
7827 iget-boolean v2, v0, Lcom/android/server/am/ActivityRecord;->visible:Z
7833 move-object/from16 v0, p1
7835 iput-boolean v2, v0, Lcom/android/server/am/ProcessRecord;->systemNoUi:Z
7840 add-int/lit8 v25, v25, 0x1
7847 move-object/from16 v0, p1
7849 iput-boolean v2, v0, Lcom/android/server/am/ProcessRecord;->keeping:Z
7853 move-object/from16 v0, p1
7855 iput-boolean v2, v0, Lcom/android/server/am/ProcessRecord;->systemNoUi:Z
7861 move-object/from16 v0, p1
7863 move-object/from16 v1, p3
7865 if-ne v0, v1, :cond_258
7871 const-string v2, "top-activity"
7873 move-object/from16 v0, p1
7875 iput-object v2, v0, Lcom/android/server/am/ProcessRecord;->adjType:Ljava/lang/String;
7884 if-nez v19, :cond_122
7886 if-lez v10, :cond_122
7893 if-ge v0, v10, :cond_122
7895 move-object/from16 v0, p1
7897 iget-object v2, v0, Lcom/android/server/am/ProcessRecord;->activities:Ljava/util/ArrayList;
7901 invoke-virtual {v2, v0}, Ljava/util/ArrayList;->get(I)Ljava/lang/Object;
7903 move-result-object v32
7905 check-cast v32, Lcom/android/server/am/ActivityRecord;
7907 move-object/from16 v0, v32
7909 iget-boolean v2, v0, Lcom/android/server/am/ActivityRecord;->visible:Z
7911 if-eqz v2, :cond_2c5
7915 if-le v11, v2, :cond_119
7919 const-string v2, "visible"
7921 move-object/from16 v0, p1
7923 iput-object v2, v0, Lcom/android/server/am/ProcessRecord;->adjType:Ljava/lang/String;
7930 move-object/from16 v0, p1
7932 iput-boolean v2, v0, Lcom/android/server/am/ProcessRecord;->hidden:Z
7939 if-le v11, v2, :cond_139
7941 move-object/from16 v0, p1
7943 iget-boolean v2, v0, Lcom/android/server/am/ProcessRecord;->foregroundServices:Z
7945 if-eqz v2, :cond_2fc
7951 move-object/from16 v0, p1
7953 iput-boolean v2, v0, Lcom/android/server/am/ProcessRecord;->hidden:Z
7955 const-string v2, "foreground-service"
7957 move-object/from16 v0, p1
7959 iput-object v2, v0, Lcom/android/server/am/ProcessRecord;->adjType:Ljava/lang/String;
7965 move-object/from16 v0, p1
7967 iget-boolean v2, v0, Lcom/android/server/am/ProcessRecord;->foregroundServices:Z
7969 if-eqz v2, :cond_141
7976 if-le v11, v2, :cond_15a
7978 move-object/from16 v0, p0
7980 iget-object v2, v0, Lcom/android/server/am/ActivityManagerService;->mHeavyWeightProcess:Lcom/android/server/am/ProcessRecord;
7982 move-object/from16 v0, p1
7984 if-ne v0, v2, :cond_15a
7992 move-object/from16 v0, p1
7994 iput-boolean v2, v0, Lcom/android/server/am/ProcessRecord;->hidden:Z
7996 const-string v2, "heavy"
7998 move-object/from16 v0, p1
8000 iput-object v2, v0, Lcom/android/server/am/ProcessRecord;->adjType:Ljava/lang/String;
8005 if-le v11, v2, :cond_173
8007 move-object/from16 v0, p0
8009 iget-object v2, v0, Lcom/android/server/am/ActivityManagerService;->mHomeProcess:Lcom/android/server/am/ProcessRecord;
8011 move-object/from16 v0, p1
8013 if-ne v0, v2, :cond_173
8021 move-object/from16 v0, p1
8023 iput-boolean v2, v0, Lcom/android/server/am/ProcessRecord;->hidden:Z
8025 const-string v2, "home"
8027 move-object/from16 v0, p1
8029 iput-object v2, v0, Lcom/android/server/am/ProcessRecord;->adjType:Ljava/lang/String;
8034 if-le v11, v2, :cond_196
8036 move-object/from16 v0, p0
8038 iget-object v2, v0, Lcom/android/server/am/ActivityManagerService;->mPreviousProcess:Lcom/android/server/am/ProcessRecord;
8040 move-object/from16 v0, p1
8042 if-ne v0, v2, :cond_196
8044 move-object/from16 v0, p1
8046 iget-object v2, v0, Lcom/android/server/am/ProcessRecord;->activities:Ljava/util/ArrayList;
8048 invoke-virtual {v2}, Ljava/util/ArrayList;->size()I
8052 if-lez v2, :cond_196
8060 move-object/from16 v0, p1
8062 iput-boolean v2, v0, Lcom/android/server/am/ProcessRecord;->hidden:Z
8064 const-string v2, "previous"
8066 move-object/from16 v0, p1
8068 iput-object v2, v0, Lcom/android/server/am/ProcessRecord;->adjType:Ljava/lang/String;
8071 move-object/from16 v0, p0
8073 iget v2, v0, Lcom/android/server/am/ActivityManagerService;->mAdjSeq:I
8075 move-object/from16 v0, p1
8077 iput v2, v0, Lcom/android/server/am/ProcessRecord;->adjSeq:I
8079 move-object/from16 v0, p1
8081 iput v11, v0, Lcom/android/server/am/ProcessRecord;->nonStoppingAdj:I
8083 move-object/from16 v0, p1
8085 iput v11, v0, Lcom/android/server/am/ProcessRecord;->curRawAdj:I
8087 move-object/from16 v0, p0
8089 iget-object v2, v0, Lcom/android/server/am/ActivityManagerService;->mBackupTarget:Lcom/android/server/am/BackupRecord;
8091 if-eqz v2, :cond_1c5
8093 move-object/from16 v0, p0
8095 iget-object v2, v0, Lcom/android/server/am/ActivityManagerService;->mBackupTarget:Lcom/android/server/am/BackupRecord;
8097 iget-object v2, v2, Lcom/android/server/am/BackupRecord;->app:Lcom/android/server/am/ProcessRecord;
8099 move-object/from16 v0, p1
8101 if-ne v0, v2, :cond_1c5
8105 if-le v11, v2, :cond_1c5
8109 const-string v2, "backup"
8111 move-object/from16 v0, p1
8113 iput-object v2, v0, Lcom/android/server/am/ProcessRecord;->adjType:Ljava/lang/String;
8117 move-object/from16 v0, p1
8119 iput-boolean v2, v0, Lcom/android/server/am/ProcessRecord;->hidden:Z
8122 move-object/from16 v0, p1
8124 iget-object v2, v0, Lcom/android/server/am/ProcessRecord;->services:Ljava/util/HashSet;
8126 invoke-virtual {v2}, Ljava/util/HashSet;->size()I
8130 if-eqz v2, :cond_482
8132 if-gtz v11, :cond_1d3
8134 if-nez v34, :cond_482
8137 invoke-static {}, Landroid/os/SystemClock;->uptimeMillis()J
8139 move-result-wide v29
8141 move-object/from16 v0, p1
8143 iget-object v2, v0, Lcom/android/server/am/ProcessRecord;->services:Ljava/util/HashSet;
8145 invoke-virtual {v2}, Ljava/util/HashSet;->iterator()Ljava/util/Iterator;
8147 move-result-object v27
8150 invoke-interface/range {v27 .. v27}, Ljava/util/Iterator;->hasNext()Z
8154 if-eqz v2, :cond_471
8156 if-lez v11, :cond_471
8158 invoke-interface/range {v27 .. v27}, Ljava/util/Iterator;->next()Ljava/lang/Object;
8160 move-result-object v33
8162 check-cast v33, Lcom/android/server/am/ServiceRecord;
8164 move-object/from16 v0, v33
8166 iget-boolean v2, v0, Lcom/android/server/am/ServiceRecord;->startRequested:Z
8168 if-eqz v2, :cond_20f
8170 move-object/from16 v0, p1
8172 iget-boolean v2, v0, Lcom/android/server/am/ProcessRecord;->hasShownUi:Z
8174 if-eqz v2, :cond_31a
8176 move-object/from16 v0, p0
8178 iget-object v2, v0, Lcom/android/server/am/ActivityManagerService;->mHomeProcess:Lcom/android/server/am/ProcessRecord;
8180 move-object/from16 v0, p1
8182 if-eq v0, v2, :cond_31a
8186 if-le v11, v2, :cond_20a
8188 const-string v2, "started-bg-ui-services"
8190 move-object/from16 v0, p1
8192 iput-object v2, v0, Lcom/android/server/am/ProcessRecord;->adjType:Ljava/lang/String;
8198 move-object/from16 v0, p1
8200 iput-boolean v2, v0, Lcom/android/server/am/ProcessRecord;->keeping:Z
8203 move-object/from16 v0, v33
8205 iget-object v2, v0, Lcom/android/server/am/ServiceRecord;->connections:Ljava/util/HashMap;
8207 invoke-virtual {v2}, Ljava/util/HashMap;->size()I
8211 if-lez v2, :cond_1df
8213 if-gtz v11, :cond_21d
8215 if-nez v34, :cond_1df
8218 move-object/from16 v0, v33
8220 iget-object v2, v0, Lcom/android/server/am/ServiceRecord;->connections:Ljava/util/HashMap;
8222 invoke-virtual {v2}, Ljava/util/HashMap;->values()Ljava/util/Collection;
8224 move-result-object v2
8226 invoke-interface {v2}, Ljava/util/Collection;->iterator()Ljava/util/Iterator;
8228 move-result-object v28
8231 invoke-interface/range {v28 .. v28}, Ljava/util/Iterator;->hasNext()Z
8235 if-eqz v2, :cond_1df
8237 if-lez v11, :cond_1df
8239 invoke-interface/range {v28 .. v28}, Ljava/util/Iterator;->next()Ljava/lang/Object;
8241 move-result-object v15
8243 check-cast v15, Ljava/util/ArrayList;
8248 invoke-virtual {v15}, Ljava/util/ArrayList;->size()I
8254 if-ge v0, v2, :cond_229
8256 if-lez v11, :cond_229
8260 invoke-virtual {v15, v0}, Ljava/util/ArrayList;->get(I)Ljava/lang/Object;
8262 move-result-object v18
8264 check-cast v18, Lcom/android/server/am/ConnectionRecord;
8266 move-object/from16 v0, v18
8268 iget-object v2, v0, Lcom/android/server/am/ConnectionRecord;->binding:Lcom/android/server/am/AppBindRecord;
8270 iget-object v2, v2, Lcom/android/server/am/AppBindRecord;->client:Lcom/android/server/am/ProcessRecord;
8272 move-object/from16 v0, p1
8274 if-ne v2, v0, :cond_341
8278 add-int/lit8 v21, v21, 0x1
8283 move-object/from16 v0, p1
8285 iget-object v2, v0, Lcom/android/server/am/ProcessRecord;->instrumentationClass:Landroid/content/ComponentName;
8287 if-eqz v2, :cond_26b
8293 const-string v2, "instrumentation"
8295 move-object/from16 v0, p1
8297 iput-object v2, v0, Lcom/android/server/am/ProcessRecord;->adjType:Ljava/lang/String;
8304 invoke-direct/range {p0 .. p1}, Lcom/android/server/am/ActivityManagerService;->isReceivingBroadcast(Lcom/android/server/am/ProcessRecord;)Lcom/android/server/am/BroadcastQueue;
8306 move-result-object v31
8308 if-eqz v31, :cond_287
8312 move-object/from16 v0, p0
8314 iget-object v2, v0, Lcom/android/server/am/ActivityManagerService;->mFgBroadcastQueue:Lcom/android/server/am/BroadcastQueue;
8316 move-object/from16 v0, v31
8318 if-ne v0, v2, :cond_284
8323 const-string v2, "broadcast"
8325 move-object/from16 v0, p1
8327 iput-object v2, v0, Lcom/android/server/am/ProcessRecord;->adjType:Ljava/lang/String;
8337 move-object/from16 v0, p1
8339 iget-object v2, v0, Lcom/android/server/am/ProcessRecord;->executingServices:Ljava/util/HashSet;
8341 invoke-virtual {v2}, Ljava/util/HashSet;->size()I
8345 if-lez v2, :cond_29c
8351 const-string v2, "exec-service"
8353 move-object/from16 v0, p1
8355 iput-object v2, v0, Lcom/android/server/am/ProcessRecord;->adjType:Ljava/lang/String;
8360 if-lez v10, :cond_2af
8368 move-object/from16 v0, p1
8370 iput-boolean v2, v0, Lcom/android/server/am/ProcessRecord;->hidden:Z
8372 const-string v2, "bg-activities"
8374 move-object/from16 v0, p1
8376 iput-object v2, v0, Lcom/android/server/am/ProcessRecord;->adjType:Ljava/lang/String;
8387 move-object/from16 v0, p1
8389 iput-boolean v2, v0, Lcom/android/server/am/ProcessRecord;->hidden:Z
8393 move-object/from16 v0, p1
8395 iput-boolean v2, v0, Lcom/android/server/am/ProcessRecord;->empty:Z
8397 const-string v2, "bg-empty"
8399 move-object/from16 v0, p1
8401 iput-object v2, v0, Lcom/android/server/am/ProcessRecord;->adjType:Ljava/lang/String;
8406 move-object/from16 v0, v32
8408 iget-object v2, v0, Lcom/android/server/am/ActivityRecord;->state:Lcom/android/server/am/ActivityStack$ActivityState;
8410 sget-object v5, Lcom/android/server/am/ActivityStack$ActivityState;->PAUSING:Lcom/android/server/am/ActivityStack$ActivityState;
8412 if-eq v2, v5, :cond_2d5
8414 move-object/from16 v0, v32
8416 iget-object v2, v0, Lcom/android/server/am/ActivityRecord;->state:Lcom/android/server/am/ActivityStack$ActivityState;
8418 sget-object v5, Lcom/android/server/am/ActivityStack$ActivityState;->PAUSED:Lcom/android/server/am/ActivityStack$ActivityState;
8420 if-ne v2, v5, :cond_2ea
8425 if-le v11, v2, :cond_2df
8429 const-string v2, "pausing"
8431 move-object/from16 v0, p1
8433 iput-object v2, v0, Lcom/android/server/am/ProcessRecord;->adjType:Ljava/lang/String;
8438 move-object/from16 v0, p1
8440 iput-boolean v2, v0, Lcom/android/server/am/ProcessRecord;->hidden:Z
8446 add-int/lit8 v25, v25, 0x1
8451 move-object/from16 v0, v32
8453 iget-object v2, v0, Lcom/android/server/am/ActivityRecord;->state:Lcom/android/server/am/ActivityStack$ActivityState;
8455 sget-object v5, Lcom/android/server/am/ActivityStack$ActivityState;->STOPPING:Lcom/android/server/am/ActivityStack$ActivityState;
8457 if-ne v2, v5, :cond_2e6
8461 move-object/from16 v0, p1
8463 iput-boolean v2, v0, Lcom/android/server/am/ProcessRecord;->hidden:Z
8472 move-object/from16 v0, p1
8474 iget-object v2, v0, Lcom/android/server/am/ProcessRecord;->forcingToForeground:Landroid/os/IBinder;
8476 if-eqz v2, :cond_139
8482 move-object/from16 v0, p1
8484 iput-boolean v2, v0, Lcom/android/server/am/ProcessRecord;->hidden:Z
8486 const-string v2, "force-foreground"
8488 move-object/from16 v0, p1
8490 iput-object v2, v0, Lcom/android/server/am/ProcessRecord;->adjType:Ljava/lang/String;
8492 move-object/from16 v0, p1
8494 iget-object v2, v0, Lcom/android/server/am/ProcessRecord;->forcingToForeground:Landroid/os/IBinder;
8496 move-object/from16 v0, p1
8498 iput-object v2, v0, Lcom/android/server/am/ProcessRecord;->adjSource:Ljava/lang/Object;
8505 move-object/from16 v0, v33
8507 iget-wide v5, v0, Lcom/android/server/am/ServiceRecord;->lastActivity:J
8509 const-wide/32 v35, 0x1b7740
8511 add-long v5, v5, v35
8513 cmp-long v2, v29, v5
8515 if-gez v2, :cond_336
8519 if-le v11, v2, :cond_336
8523 const-string v2, "started-services"
8525 move-object/from16 v0, p1
8527 iput-object v2, v0, Lcom/android/server/am/ProcessRecord;->adjType:Ljava/lang/String;
8531 move-object/from16 v0, p1
8533 iput-boolean v2, v0, Lcom/android/server/am/ProcessRecord;->hidden:Z
8538 if-le v11, v2, :cond_20a
8540 const-string v2, "started-bg-services"
8542 move-object/from16 v0, p1
8544 iput-object v2, v0, Lcom/android/server/am/ProcessRecord;->adjType:Ljava/lang/String;
8549 move-object/from16 v0, v18
8551 iget v2, v0, Lcom/android/server/am/ConnectionRecord;->flags:I
8553 and-int/lit8 v2, v2, 0x20
8555 if-nez v2, :cond_3ce
8557 move-object/from16 v0, v18
8559 iget-object v2, v0, Lcom/android/server/am/ConnectionRecord;->binding:Lcom/android/server/am/AppBindRecord;
8561 iget-object v3, v2, Lcom/android/server/am/AppBindRecord;->client:Lcom/android/server/am/ProcessRecord;
8567 iget v2, v3, Lcom/android/server/am/ProcessRecord;->hiddenAdj:I
8569 if-le v4, v2, :cond_35d
8571 iget v2, v3, Lcom/android/server/am/ProcessRecord;->hiddenAdj:I
8575 if-lt v2, v5, :cond_41b
8577 iget v4, v3, Lcom/android/server/am/ProcessRecord;->hiddenAdj:I
8583 move-object/from16 v2, p0
8585 move-object/from16 v5, p3
8589 invoke-direct/range {v2 .. v7}, Lcom/android/server/am/ActivityManagerService;->computeOomAdjLocked(Lcom/android/server/am/ProcessRecord;ILcom/android/server/am/ProcessRecord;ZZ)I
8595 move-object/from16 v0, v18
8597 iget v2, v0, Lcom/android/server/am/ConnectionRecord;->flags:I
8599 and-int/lit8 v2, v2, 0x10
8601 if-eqz v2, :cond_389
8603 move-object/from16 v0, p1
8605 iget-boolean v2, v0, Lcom/android/server/am/ProcessRecord;->hasShownUi:Z
8607 if-eqz v2, :cond_41e
8609 move-object/from16 v0, p0
8611 iget-object v2, v0, Lcom/android/server/am/ActivityManagerService;->mHomeProcess:Lcom/android/server/am/ProcessRecord;
8613 move-object/from16 v0, p1
8615 if-eq v0, v2, :cond_41e
8617 if-le v11, v14, :cond_383
8619 const-string v12, "bound-bg-ui-services"
8624 move-object/from16 v0, p1
8626 iput-boolean v2, v0, Lcom/android/server/am/ProcessRecord;->hidden:Z
8632 if-le v11, v14, :cond_39e
8634 move-object/from16 v0, p1
8636 iget-boolean v2, v0, Lcom/android/server/am/ProcessRecord;->hasShownUi:Z
8638 if-eqz v2, :cond_432
8640 move-object/from16 v0, p0
8642 iget-object v2, v0, Lcom/android/server/am/ActivityManagerService;->mHomeProcess:Lcom/android/server/am/ProcessRecord;
8644 move-object/from16 v0, p1
8646 if-eq v0, v2, :cond_432
8650 if-le v14, v2, :cond_432
8652 const-string v12, "bound-bg-ui-services"
8656 if-eqz v12, :cond_3bf
8658 move-object/from16 v0, p1
8660 iput-object v12, v0, Lcom/android/server/am/ProcessRecord;->adjType:Ljava/lang/String;
8664 move-object/from16 v0, p1
8666 iput v2, v0, Lcom/android/server/am/ProcessRecord;->adjTypeCode:I
8668 move-object/from16 v0, v18
8670 iget-object v2, v0, Lcom/android/server/am/ConnectionRecord;->binding:Lcom/android/server/am/AppBindRecord;
8672 iget-object v2, v2, Lcom/android/server/am/AppBindRecord;->client:Lcom/android/server/am/ProcessRecord;
8674 move-object/from16 v0, p1
8676 iput-object v2, v0, Lcom/android/server/am/ProcessRecord;->adjSource:Ljava/lang/Object;
8678 move-object/from16 v0, p1
8680 iput v14, v0, Lcom/android/server/am/ProcessRecord;->adjSourceOom:I
8682 move-object/from16 v0, v33
8684 iget-object v2, v0, Lcom/android/server/am/ServiceRecord;->name:Landroid/content/ComponentName;
8686 move-object/from16 v0, p1
8688 iput-object v2, v0, Lcom/android/server/am/ProcessRecord;->adjTarget:Ljava/lang/Object;
8691 move-object/from16 v0, v18
8693 iget v2, v0, Lcom/android/server/am/ConnectionRecord;->flags:I
8695 and-int/lit8 v2, v2, 0x4
8697 if-nez v2, :cond_3ce
8699 iget v2, v3, Lcom/android/server/am/ProcessRecord;->curSchedGroup:I
8703 if-ne v2, v5, :cond_3ce
8708 move-object/from16 v0, v18
8710 iget v2, v0, Lcom/android/server/am/ConnectionRecord;->flags:I
8712 and-int/lit16 v2, v2, 0x80
8714 if-eqz v2, :cond_255
8716 move-object/from16 v0, v18
8718 iget-object v9, v0, Lcom/android/server/am/ConnectionRecord;->activity:Lcom/android/server/am/ActivityRecord;
8720 if-eqz v9, :cond_255
8722 if-lez v11, :cond_255
8724 iget-boolean v2, v9, Lcom/android/server/am/ActivityRecord;->visible:Z
8726 if-nez v2, :cond_3ee
8728 iget-object v2, v9, Lcom/android/server/am/ActivityRecord;->state:Lcom/android/server/am/ActivityStack$ActivityState;
8730 sget-object v5, Lcom/android/server/am/ActivityStack$ActivityState;->RESUMED:Lcom/android/server/am/ActivityStack$ActivityState;
8732 if-eq v2, v5, :cond_3ee
8734 iget-object v2, v9, Lcom/android/server/am/ActivityRecord;->state:Lcom/android/server/am/ActivityStack$ActivityState;
8736 sget-object v5, Lcom/android/server/am/ActivityStack$ActivityState;->PAUSING:Lcom/android/server/am/ActivityStack$ActivityState;
8738 if-ne v2, v5, :cond_255
8743 move-object/from16 v0, v18
8745 iget v2, v0, Lcom/android/server/am/ConnectionRecord;->flags:I
8747 and-int/lit8 v2, v2, 0x4
8749 if-nez v2, :cond_3f9
8756 move-object/from16 v0, p1
8758 iput-boolean v2, v0, Lcom/android/server/am/ProcessRecord;->hidden:Z
8760 const-string v2, "service"
8762 move-object/from16 v0, p1
8764 iput-object v2, v0, Lcom/android/server/am/ProcessRecord;->adjType:Ljava/lang/String;
8768 move-object/from16 v0, p1
8770 iput v2, v0, Lcom/android/server/am/ProcessRecord;->adjTypeCode:I
8772 move-object/from16 v0, p1
8774 iput-object v9, v0, Lcom/android/server/am/ProcessRecord;->adjSource:Ljava/lang/Object;
8776 move-object/from16 v0, p1
8778 iput v11, v0, Lcom/android/server/am/ProcessRecord;->adjSourceOom:I
8780 move-object/from16 v0, v33
8782 iget-object v2, v0, Lcom/android/server/am/ServiceRecord;->name:Landroid/content/ComponentName;
8784 move-object/from16 v0, p1
8786 iput-object v2, v0, Lcom/android/server/am/ProcessRecord;->adjTarget:Ljava/lang/Object;
8796 move-object/from16 v0, v33
8798 iget-wide v5, v0, Lcom/android/server/am/ServiceRecord;->lastActivity:J
8800 const-wide/32 v35, 0x1b7740
8802 add-long v5, v5, v35
8804 cmp-long v2, v29, v5
8806 if-ltz v2, :cond_389
8808 if-le v11, v14, :cond_42f
8810 const-string v12, "bound-bg-services"
8818 move-object/from16 v0, v18
8820 iget v2, v0, Lcom/android/server/am/ConnectionRecord;->flags:I
8822 and-int/lit8 v2, v2, 0x48
8824 if-eqz v2, :cond_451
8830 iget-boolean v2, v3, Lcom/android/server/am/ProcessRecord;->hidden:Z
8832 if-nez v2, :cond_444
8836 move-object/from16 v0, p1
8838 iput-boolean v2, v0, Lcom/android/server/am/ProcessRecord;->hidden:Z
8841 iget-boolean v2, v3, Lcom/android/server/am/ProcessRecord;->keeping:Z
8843 if-eqz v2, :cond_44d
8847 move-object/from16 v0, p1
8849 iput-boolean v2, v0, Lcom/android/server/am/ProcessRecord;->keeping:Z
8852 const-string v12, "service"
8857 move-object/from16 v0, v18
8859 iget v2, v0, Lcom/android/server/am/ConnectionRecord;->flags:I
8861 const/high16 v5, 0x4000
8863 and-int/2addr v2, v5
8865 if-eqz v2, :cond_462
8869 if-ge v14, v2, :cond_462
8873 if-le v11, v2, :cond_462
8882 if-le v14, v2, :cond_467
8891 move-object/from16 v0, p1
8893 iput-boolean v2, v0, Lcom/android/server/am/ProcessRecord;->pendingUiClean:Z
8897 if-le v11, v2, :cond_43b
8906 if-le v11, v0, :cond_482
8912 move-object/from16 v0, p1
8914 iput-boolean v2, v0, Lcom/android/server/am/ProcessRecord;->hidden:Z
8916 const-string v2, "bg-services"
8918 move-object/from16 v0, p1
8920 iput-object v2, v0, Lcom/android/server/am/ProcessRecord;->adjType:Ljava/lang/String;
8923 move-object/from16 v0, p1
8925 iget-object v2, v0, Lcom/android/server/am/ProcessRecord;->pubProviders:Ljava/util/HashMap;
8927 invoke-virtual {v2}, Ljava/util/HashMap;->size()I
8931 if-eqz v2, :cond_565
8933 if-gtz v11, :cond_490
8935 if-nez v34, :cond_565
8938 move-object/from16 v0, p1
8940 iget-object v2, v0, Lcom/android/server/am/ProcessRecord;->pubProviders:Ljava/util/HashMap;
8942 invoke-virtual {v2}, Ljava/util/HashMap;->values()Ljava/util/Collection;
8944 move-result-object v2
8946 invoke-interface {v2}, Ljava/util/Collection;->iterator()Ljava/util/Iterator;
8948 move-result-object v26
8952 invoke-interface/range {v26 .. v26}, Ljava/util/Iterator;->hasNext()Z
8956 if-eqz v2, :cond_565
8958 if-gtz v11, :cond_4a6
8960 if-nez v34, :cond_565
8963 invoke-interface/range {v26 .. v26}, Ljava/util/Iterator;->next()Ljava/lang/Object;
8965 move-result-object v17
8967 check-cast v17, Lcom/android/server/am/ContentProviderRecord;
8969 move-object/from16 v0, v17
8971 iget-object v2, v0, Lcom/android/server/am/ContentProviderRecord;->connections:Ljava/util/ArrayList;
8973 invoke-virtual {v2}, Ljava/util/ArrayList;->size()I
8977 add-int/lit8 v21, v2, -0x1
8980 if-ltz v21, :cond_540
8982 if-gtz v11, :cond_4bc
8984 if-nez v34, :cond_540
8987 move-object/from16 v0, v17
8989 iget-object v2, v0, Lcom/android/server/am/ContentProviderRecord;->connections:Ljava/util/ArrayList;
8993 invoke-virtual {v2, v0}, Ljava/util/ArrayList;->get(I)Ljava/lang/Object;
8995 move-result-object v16
8997 check-cast v16, Lcom/android/server/am/ContentProviderConnection;
8999 move-object/from16 v0, v16
9001 iget-object v3, v0, Lcom/android/server/am/ContentProviderConnection;->client:Lcom/android/server/am/ProcessRecord;
9003 move-object/from16 v0, p1
9005 if-ne v3, v0, :cond_4d3
9009 add-int/lit8 v21, v21, -0x1
9016 iget v2, v3, Lcom/android/server/am/ProcessRecord;->hiddenAdj:I
9018 if-le v4, v2, :cond_4df
9020 iget v2, v3, Lcom/android/server/am/ProcessRecord;->hiddenAdj:I
9022 if-lez v2, :cond_532
9024 iget v4, v3, Lcom/android/server/am/ProcessRecord;->hiddenAdj:I
9030 move-object/from16 v2, p0
9032 move-object/from16 v5, p3
9036 invoke-direct/range {v2 .. v7}, Lcom/android/server/am/ActivityManagerService;->computeOomAdjLocked(Lcom/android/server/am/ProcessRecord;ILcom/android/server/am/ProcessRecord;ZZ)I
9040 if-le v11, v14, :cond_52a
9042 move-object/from16 v0, p1
9044 iget-boolean v2, v0, Lcom/android/server/am/ProcessRecord;->hasShownUi:Z
9046 if-eqz v2, :cond_534
9048 move-object/from16 v0, p0
9050 iget-object v2, v0, Lcom/android/server/am/ActivityManagerService;->mHomeProcess:Lcom/android/server/am/ProcessRecord;
9052 move-object/from16 v0, p1
9054 if-eq v0, v2, :cond_534
9058 if-le v14, v2, :cond_534
9060 const-string v2, "bg-ui-provider"
9062 move-object/from16 v0, p1
9064 iput-object v2, v0, Lcom/android/server/am/ProcessRecord;->adjType:Ljava/lang/String;
9067 iget-boolean v2, v3, Lcom/android/server/am/ProcessRecord;->hidden:Z
9069 if-nez v2, :cond_50c
9073 move-object/from16 v0, p1
9075 iput-boolean v2, v0, Lcom/android/server/am/ProcessRecord;->hidden:Z
9078 iget-boolean v2, v3, Lcom/android/server/am/ProcessRecord;->keeping:Z
9080 if-eqz v2, :cond_515
9084 move-object/from16 v0, p1
9086 iput-boolean v2, v0, Lcom/android/server/am/ProcessRecord;->keeping:Z
9091 move-object/from16 v0, p1
9093 iput v2, v0, Lcom/android/server/am/ProcessRecord;->adjTypeCode:I
9095 move-object/from16 v0, p1
9097 iput-object v3, v0, Lcom/android/server/am/ProcessRecord;->adjSource:Ljava/lang/Object;
9099 move-object/from16 v0, p1
9101 iput v14, v0, Lcom/android/server/am/ProcessRecord;->adjSourceOom:I
9103 move-object/from16 v0, v17
9105 iget-object v2, v0, Lcom/android/server/am/ContentProviderRecord;->name:Landroid/content/ComponentName;
9107 move-object/from16 v0, p1
9109 iput-object v2, v0, Lcom/android/server/am/ProcessRecord;->adjTarget:Ljava/lang/Object;
9112 iget v2, v3, Lcom/android/server/am/ProcessRecord;->curSchedGroup:I
9116 if-ne v2, v5, :cond_4d0
9128 if-lez v14, :cond_53e
9133 const-string v2, "provider"
9135 move-object/from16 v0, p1
9137 iput-object v2, v0, Lcom/android/server/am/ProcessRecord;->adjType:Ljava/lang/String;
9147 invoke-virtual/range {v17 .. v17}, Lcom/android/server/am/ContentProviderRecord;->hasExternalProcessHandles()Z
9151 if-eqz v2, :cond_49c
9153 if-lez v11, :cond_49c
9161 move-object/from16 v0, p1
9163 iput-boolean v2, v0, Lcom/android/server/am/ProcessRecord;->hidden:Z
9167 move-object/from16 v0, p1
9169 iput-boolean v2, v0, Lcom/android/server/am/ProcessRecord;->keeping:Z
9171 const-string v2, "provider"
9173 move-object/from16 v0, p1
9175 iput-object v2, v0, Lcom/android/server/am/ProcessRecord;->adjType:Ljava/lang/String;
9177 move-object/from16 v0, v17
9179 iget-object v2, v0, Lcom/android/server/am/ContentProviderRecord;->name:Landroid/content/ComponentName;
9181 move-object/from16 v0, p1
9183 iput-object v2, v0, Lcom/android/server/am/ProcessRecord;->adjTarget:Ljava/lang/Object;
9190 if-ne v11, v2, :cond_69b
9192 if-eqz p5, :cond_585
9194 move-object/from16 v0, p0
9196 iget v2, v0, Lcom/android/server/am/ActivityManagerService;->mNewNumServiceProcs:I
9198 move-object/from16 v0, p0
9200 iget v5, v0, Lcom/android/server/am/ActivityManagerService;->mNumServiceProcs:I
9202 div-int/lit8 v5, v5, 0x3
9204 if-le v2, v5, :cond_698
9209 move-object/from16 v0, p1
9211 iput-boolean v2, v0, Lcom/android/server/am/ProcessRecord;->serviceb:Z
9213 move-object/from16 v0, p0
9215 iget v2, v0, Lcom/android/server/am/ActivityManagerService;->mNewNumServiceProcs:I
9217 add-int/lit8 v2, v2, 0x1
9219 move-object/from16 v0, p0
9221 iput v2, v0, Lcom/android/server/am/ActivityManagerService;->mNewNumServiceProcs:I
9224 move-object/from16 v0, p1
9226 iget-boolean v2, v0, Lcom/android/server/am/ProcessRecord;->serviceb:Z
9228 if-eqz v2, :cond_58d
9234 move-object/from16 v0, p1
9236 iput v11, v0, Lcom/android/server/am/ProcessRecord;->nonStoppingAdj:I
9238 if-eqz v20, :cond_59d
9242 if-le v11, v2, :cond_59d
9246 const-string v2, "stopping"
9248 move-object/from16 v0, p1
9250 iput-object v2, v0, Lcom/android/server/am/ProcessRecord;->adjType:Ljava/lang/String;
9253 move-object/from16 v0, p1
9255 iput v11, v0, Lcom/android/server/am/ProcessRecord;->curRawAdj:I
9257 move-object/from16 v0, p1
9259 iget v2, v0, Lcom/android/server/am/ProcessRecord;->maxAdj:I
9261 if-le v11, v2, :cond_5b4
9263 move-object/from16 v0, p1
9265 iget v11, v0, Lcom/android/server/am/ProcessRecord;->maxAdj:I
9267 move-object/from16 v0, p1
9269 iget v2, v0, Lcom/android/server/am/ProcessRecord;->maxAdj:I
9273 if-gt v2, v5, :cond_5b4
9278 sget v2, Lcom/android/server/am/ProcessList;->HIDDEN_APP_MIN_ADJ:I
9280 if-ge v11, v2, :cond_5bd
9284 move-object/from16 v0, p1
9286 iput-boolean v2, v0, Lcom/android/server/am/ProcessRecord;->keeping:Z
9289 move-object/from16 v0, p1
9291 iget-boolean v2, v0, Lcom/android/server/am/ProcessRecord;->hasAboveClient:Z
9293 if-eqz v2, :cond_5c5
9295 if-gez v11, :cond_6a2
9299 move-object/from16 v0, p1
9301 iget v0, v0, Lcom/android/server/am/ProcessRecord;->memImportance:I
9305 if-eqz v22, :cond_5db
9307 move-object/from16 v0, p1
9309 iget v2, v0, Lcom/android/server/am/ProcessRecord;->curAdj:I
9311 if-ne v11, v2, :cond_5db
9313 move-object/from16 v0, p1
9315 iget v2, v0, Lcom/android/server/am/ProcessRecord;->curSchedGroup:I
9319 if-eq v0, v2, :cond_5e9
9322 move-object/from16 v0, p1
9324 iput v11, v0, Lcom/android/server/am/ProcessRecord;->curAdj:I
9328 move-object/from16 v1, p1
9330 iput v0, v1, Lcom/android/server/am/ProcessRecord;->curSchedGroup:I
9332 if-nez v23, :cond_6be
9338 move-object/from16 v0, p1
9340 iget v2, v0, Lcom/android/server/am/ProcessRecord;->memImportance:I
9344 if-eq v0, v2, :cond_6fb
9349 move-object/from16 v0, p1
9351 iget-boolean v2, v0, Lcom/android/server/am/ProcessRecord;->foregroundActivities:Z
9355 if-eq v0, v2, :cond_5fc
9357 or-int/lit8 v13, v13, 0x1
9360 if-eqz v13, :cond_692
9364 move-object/from16 v1, p1
9366 iput v0, v1, Lcom/android/server/am/ProcessRecord;->memImportance:I
9370 move-object/from16 v1, p1
9372 iput-boolean v0, v1, Lcom/android/server/am/ProcessRecord;->foregroundActivities:Z
9374 move-object/from16 v0, p0
9376 iget-object v2, v0, Lcom/android/server/am/ActivityManagerService;->mPendingProcessChanges:Ljava/util/ArrayList;
9378 invoke-virtual {v2}, Ljava/util/ArrayList;->size()I
9382 add-int/lit8 v21, v2, -0x1
9387 if-ltz v21, :cond_62e
9389 move-object/from16 v0, p0
9391 iget-object v2, v0, Lcom/android/server/am/ActivityManagerService;->mPendingProcessChanges:Ljava/util/ArrayList;
9395 invoke-virtual {v2, v0}, Ljava/util/ArrayList;->get(I)Ljava/lang/Object;
9397 move-result-object v24
9399 check-cast v24, Lcom/android/server/am/ActivityManagerService$ProcessChangeItem;
9401 move-object/from16 v0, v24
9403 iget v2, v0, Lcom/android/server/am/ActivityManagerService$ProcessChangeItem;->pid:I
9405 move-object/from16 v0, p1
9407 iget v5, v0, Lcom/android/server/am/ProcessRecord;->pid:I
9409 if-ne v2, v5, :cond_6fe
9412 if-gez v21, :cond_67d
9414 move-object/from16 v0, p0
9416 iget-object v2, v0, Lcom/android/server/am/ActivityManagerService;->mAvailProcessChanges:Ljava/util/ArrayList;
9418 invoke-virtual {v2}, Ljava/util/ArrayList;->size()I
9422 if-lez v8, :cond_702
9424 move-object/from16 v0, p0
9426 iget-object v2, v0, Lcom/android/server/am/ActivityManagerService;->mAvailProcessChanges:Ljava/util/ArrayList;
9428 add-int/lit8 v5, v8, -0x1
9430 invoke-virtual {v2, v5}, Ljava/util/ArrayList;->remove(I)Ljava/lang/Object;
9432 move-result-object v24
9434 check-cast v24, Lcom/android/server/am/ActivityManagerService$ProcessChangeItem;
9439 move-object/from16 v0, v24
9441 iput v2, v0, Lcom/android/server/am/ActivityManagerService$ProcessChangeItem;->changes:I
9443 move-object/from16 v0, p1
9445 iget v2, v0, Lcom/android/server/am/ProcessRecord;->pid:I
9447 move-object/from16 v0, v24
9449 iput v2, v0, Lcom/android/server/am/ActivityManagerService$ProcessChangeItem;->pid:I
9451 move-object/from16 v0, p1
9453 iget-object v2, v0, Lcom/android/server/am/ProcessRecord;->info:Landroid/content/pm/ApplicationInfo;
9455 iget v2, v2, Landroid/content/pm/ApplicationInfo;->uid:I
9457 move-object/from16 v0, v24
9459 iput v2, v0, Lcom/android/server/am/ActivityManagerService$ProcessChangeItem;->uid:I
9461 move-object/from16 v0, p0
9463 iget-object v2, v0, Lcom/android/server/am/ActivityManagerService;->mPendingProcessChanges:Ljava/util/ArrayList;
9465 invoke-virtual {v2}, Ljava/util/ArrayList;->size()I
9469 if-nez v2, :cond_674
9471 move-object/from16 v0, p0
9473 iget-object v2, v0, Lcom/android/server/am/ActivityManagerService;->mHandler:Landroid/os/Handler;
9477 invoke-virtual {v2, v5}, Landroid/os/Handler;->obtainMessage(I)Landroid/os/Message;
9479 move-result-object v2
9481 invoke-virtual {v2}, Landroid/os/Message;->sendToTarget()V
9484 move-object/from16 v0, p0
9486 iget-object v2, v0, Lcom/android/server/am/ActivityManagerService;->mPendingProcessChanges:Ljava/util/ArrayList;
9488 move-object/from16 v0, v24
9490 invoke-virtual {v2, v0}, Ljava/util/ArrayList;->add(Ljava/lang/Object;)Z
9493 move-object/from16 v0, v24
9495 iget v2, v0, Lcom/android/server/am/ActivityManagerService$ProcessChangeItem;->changes:I
9497 or-int/2addr v2, v13
9499 move-object/from16 v0, v24
9501 iput v2, v0, Lcom/android/server/am/ActivityManagerService$ProcessChangeItem;->changes:I
9505 move-object/from16 v1, v24
9507 iput v0, v1, Lcom/android/server/am/ActivityManagerService$ProcessChangeItem;->importance:I
9511 move-object/from16 v1, v24
9513 iput-boolean v0, v1, Lcom/android/server/am/ActivityManagerService$ProcessChangeItem;->foregroundActivities:Z
9516 move-object/from16 v0, p1
9518 iget v2, v0, Lcom/android/server/am/ProcessRecord;->curRawAdj:I
9530 move-object/from16 v0, p1
9532 iput-boolean v2, v0, Lcom/android/server/am/ProcessRecord;->serviceb:Z
9539 if-ge v11, v2, :cond_6a8
9548 if-ge v11, v2, :cond_6ae
9555 sget v2, Lcom/android/server/am/ProcessList;->HIDDEN_APP_MIN_ADJ:I
9557 if-ge v11, v2, :cond_6b6
9559 sget v11, Lcom/android/server/am/ProcessList;->HIDDEN_APP_MIN_ADJ:I
9566 if-ge v11, v2, :cond_5c5
9568 add-int/lit8 v11, v11, 0x1
9573 sget v2, Lcom/android/server/am/ProcessList;->HIDDEN_APP_MIN_ADJ:I
9575 if-lt v11, v2, :cond_6c6
9584 if-lt v11, v2, :cond_6ce
9593 if-lt v11, v2, :cond_6d5
9602 if-lt v11, v2, :cond_6dc
9611 if-lt v11, v2, :cond_6e3
9620 if-lt v11, v2, :cond_6ea
9629 if-lt v11, v2, :cond_6f1
9636 if-ltz v11, :cond_6f7
9653 add-int/lit8 v21, v21, -0x1
9658 new-instance v24, Lcom/android/server/am/ActivityManagerService$ProcessChangeItem;
9660 invoke-direct/range {v24 .. v24}, Lcom/android/server/am/ActivityManagerService$ProcessChangeItem;-><init>()V
9665 .method private crashApplication(Lcom/android/server/am/ProcessRecord;Landroid/app/ApplicationErrorReport$CrashInfo;)V
9668 invoke-static {}, Ljava/lang/System;->currentTimeMillis()J
9672 move-object/from16 v0, p2
9674 iget-object v6, v0, Landroid/app/ApplicationErrorReport$CrashInfo;->exceptionClassName:Ljava/lang/String;
9676 move-object/from16 v0, p2
9678 iget-object v7, v0, Landroid/app/ApplicationErrorReport$CrashInfo;->exceptionMessage:Ljava/lang/String;
9680 move-object/from16 v0, p2
9682 iget-object v0, v0, Landroid/app/ApplicationErrorReport$CrashInfo;->stackTrace:Ljava/lang/String;
9684 move-object/from16 v20, v0
9690 new-instance v3, Ljava/lang/StringBuilder;
9692 invoke-direct {v3}, Ljava/lang/StringBuilder;-><init>()V
9694 invoke-virtual {v3, v6}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
9696 move-result-object v3
9698 const-string v10, ": "
9700 invoke-virtual {v3, v10}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
9702 move-result-object v3
9704 invoke-virtual {v3, v7}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
9706 move-result-object v3
9708 invoke-virtual {v3}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
9710 move-result-object v7
9714 new-instance v19, Lcom/android/server/am/AppErrorResult;
9716 invoke-direct/range {v19 .. v19}, Lcom/android/server/am/AppErrorResult;-><init>()V
9721 move-object/from16 v0, p0
9723 iget-object v3, v0, Lcom/android/server/am/ActivityManagerService;->mController:Landroid/app/IActivityController;
9725 .catchall {:try_start_33 .. :try_end_37} :catchall_12a
9732 move-object/from16 v0, p1
9734 iget-object v4, v0, Lcom/android/server/am/ProcessRecord;->processName:Ljava/lang/String;
9739 move-object/from16 v0, p1
9741 iget v5, v0, Lcom/android/server/am/ProcessRecord;->pid:I
9744 move-object/from16 v0, p0
9746 iget-object v3, v0, Lcom/android/server/am/ActivityManagerService;->mController:Landroid/app/IActivityController;
9748 move-object/from16 v0, p2
9750 iget-object v10, v0, Landroid/app/ApplicationErrorReport$CrashInfo;->stackTrace:Ljava/lang/String;
9752 invoke-interface/range {v3 .. v10}, Landroid/app/IActivityController;->appCrashed(Ljava/lang/String;ILjava/lang/String;Ljava/lang/String;JLjava/lang/String;)Z
9758 const-string v3, "ActivityManager"
9760 new-instance v10, Ljava/lang/StringBuilder;
9762 invoke-direct {v10}, Ljava/lang/StringBuilder;-><init>()V
9764 const-string v21, "Force-killing crashed app "
9766 move-object/from16 v0, v21
9768 invoke-virtual {v10, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
9770 move-result-object v10
9772 invoke-virtual {v10, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
9774 move-result-object v10
9776 const-string v21, " at watcher\'s request"
9778 move-object/from16 v0, v21
9780 invoke-virtual {v10, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
9782 move-result-object v10
9784 invoke-virtual {v10}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
9786 move-result-object v10
9788 invoke-static {v3, v10}, Landroid/util/Slog;->w(Ljava/lang/String;Ljava/lang/String;)I
9790 invoke-static {v5}, Landroid/os/Process;->killProcess(I)V
9792 .catchall {:try_start_3b .. :try_end_78} :catchall_12a
9793 .catch Landroid/os/RemoteException; {:try_start_3b .. :try_end_78} :catch_85
9798 .catchall {:try_start_78 .. :try_end_79} :catchall_12a
9818 invoke-static {}, Landroid/os/Binder;->getCallingPid()I
9820 .catchall {:try_start_80 .. :try_end_83} :catchall_12a
9821 .catch Landroid/os/RemoteException; {:try_start_80 .. :try_end_83} :catch_85
9833 move-object/from16 v0, p0
9835 iput-object v3, v0, Lcom/android/server/am/ActivityManagerService;->mController:Landroid/app/IActivityController;
9838 invoke-static {}, Landroid/os/Binder;->clearCallingIdentity()J
9840 move-result-wide v16
9842 if-eqz p1, :cond_12d
9844 move-object/from16 v0, p1
9846 iget-object v3, v0, Lcom/android/server/am/ProcessRecord;->instrumentationClass:Landroid/content/ComponentName;
9848 if-eqz v3, :cond_12d
9850 const-string v3, "ActivityManager"
9852 new-instance v10, Ljava/lang/StringBuilder;
9854 invoke-direct {v10}, Ljava/lang/StringBuilder;-><init>()V
9856 const-string v21, "Error in app "
9858 move-object/from16 v0, v21
9860 invoke-virtual {v10, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
9862 move-result-object v10
9864 move-object/from16 v0, p1
9866 iget-object v0, v0, Lcom/android/server/am/ProcessRecord;->processName:Ljava/lang/String;
9868 move-object/from16 v21, v0
9870 move-object/from16 v0, v21
9872 invoke-virtual {v10, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
9874 move-result-object v10
9876 const-string v21, " running instrumentation "
9878 move-object/from16 v0, v21
9880 invoke-virtual {v10, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
9882 move-result-object v10
9884 move-object/from16 v0, p1
9886 iget-object v0, v0, Lcom/android/server/am/ProcessRecord;->instrumentationClass:Landroid/content/ComponentName;
9888 move-object/from16 v21, v0
9890 move-object/from16 v0, v21
9892 invoke-virtual {v10, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
9894 move-result-object v10
9896 const-string v21, ":"
9898 move-object/from16 v0, v21
9900 invoke-virtual {v10, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
9902 move-result-object v10
9904 invoke-virtual {v10}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
9906 move-result-object v10
9908 invoke-static {v3, v10}, Landroid/util/Slog;->w(Ljava/lang/String;Ljava/lang/String;)I
9912 const-string v3, "ActivityManager"
9914 new-instance v10, Ljava/lang/StringBuilder;
9916 invoke-direct {v10}, Ljava/lang/StringBuilder;-><init>()V
9918 const-string v21, " "
9920 move-object/from16 v0, v21
9922 invoke-virtual {v10, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
9924 move-result-object v10
9926 invoke-virtual {v10, v6}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
9928 move-result-object v10
9930 invoke-virtual {v10}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
9932 move-result-object v10
9934 invoke-static {v3, v10}, Landroid/util/Slog;->w(Ljava/lang/String;Ljava/lang/String;)I
9937 if-eqz v7, :cond_10d
9939 const-string v3, "ActivityManager"
9941 new-instance v10, Ljava/lang/StringBuilder;
9943 invoke-direct {v10}, Ljava/lang/StringBuilder;-><init>()V
9945 const-string v21, " "
9947 move-object/from16 v0, v21
9949 invoke-virtual {v10, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
9951 move-result-object v10
9953 invoke-virtual {v10, v7}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
9955 move-result-object v10
9957 invoke-virtual {v10}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
9959 move-result-object v10
9961 invoke-static {v3, v10}, Landroid/util/Slog;->w(Ljava/lang/String;Ljava/lang/String;)I
9964 new-instance v14, Landroid/os/Bundle;
9966 invoke-direct {v14}, Landroid/os/Bundle;-><init>()V
9968 const-string v3, "shortMsg"
9970 invoke-virtual {v14, v3, v6}, Landroid/os/Bundle;->putString(Ljava/lang/String;Ljava/lang/String;)V
9972 const-string v3, "longMsg"
9974 invoke-virtual {v14, v3, v7}, Landroid/os/Bundle;->putString(Ljava/lang/String;Ljava/lang/String;)V
9978 move-object/from16 v0, p0
9980 move-object/from16 v1, p1
9982 invoke-virtual {v0, v1, v3, v14}, Lcom/android/server/am/ActivityManagerService;->finishInstrumentationLocked(Lcom/android/server/am/ProcessRecord;ILandroid/os/Bundle;)V
9984 invoke-static/range {v16 .. v17}, Landroid/os/Binder;->restoreCallingIdentity(J)V
9995 .catchall {:try_start_87 .. :try_end_12c} :catchall_12a
10000 if-eqz p1, :cond_13b
10003 move-object/from16 v0, p0
10005 move-object/from16 v1, p1
10007 move-object/from16 v2, v20
10009 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
10013 if-nez v3, :cond_141
10016 invoke-static/range {v16 .. v17}, Landroid/os/Binder;->restoreCallingIdentity(J)V
10023 invoke-static {}, Landroid/os/Message;->obtain()Landroid/os/Message;
10025 move-result-object v15
10029 iput v3, v15, Landroid/os/Message;->what:I
10031 new-instance v12, Ljava/util/HashMap;
10033 invoke-direct {v12}, Ljava/util/HashMap;-><init>()V
10035 const-string v3, "result"
10037 move-object/from16 v0, v19
10039 invoke-virtual {v12, v3, v0}, Ljava/util/HashMap;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
10041 const-string v3, "app"
10043 move-object/from16 v0, p1
10045 invoke-virtual {v12, v3, v0}, Ljava/util/HashMap;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
10047 iput-object v12, v15, Landroid/os/Message;->obj:Ljava/lang/Object;
10049 move-object/from16 v0, p0
10051 iget-object v3, v0, Lcom/android/server/am/ActivityManagerService;->mHandler:Landroid/os/Handler;
10053 invoke-virtual {v3, v15}, Landroid/os/Handler;->sendMessage(Landroid/os/Message;)Z
10055 invoke-static/range {v16 .. v17}, Landroid/os/Binder;->restoreCallingIdentity(J)V
10059 .catchall {:try_start_12f .. :try_end_168} :catchall_12a
10061 invoke-virtual/range {v19 .. v19}, Lcom/android/server/am/AppErrorResult;->get()I
10069 if-eqz p1, :cond_195
10072 move-object/from16 v0, p1
10074 iget-boolean v3, v0, Lcom/android/server/am/ProcessRecord;->isolated:Z
10076 if-nez v3, :cond_195
10078 move-object/from16 v0, p0
10080 iget-object v3, v0, Lcom/android/server/am/ActivityManagerService;->mProcessCrashTimes:Lcom/android/server/ProcessMap;
10082 move-object/from16 v0, p1
10084 iget-object v10, v0, Lcom/android/server/am/ProcessRecord;->info:Landroid/content/pm/ApplicationInfo;
10086 iget-object v10, v10, Landroid/content/pm/ApplicationInfo;->processName:Ljava/lang/String;
10088 move-object/from16 v0, p1
10090 iget v0, v0, Lcom/android/server/am/ProcessRecord;->uid:I
10092 move/from16 v21, v0
10094 invoke-static {}, Landroid/os/SystemClock;->uptimeMillis()J
10096 move-result-wide v22
10098 invoke-static/range {v22 .. v23}, Ljava/lang/Long;->valueOf(J)Ljava/lang/Long;
10100 move-result-object v22
10102 move/from16 v0, v21
10104 move-object/from16 v1, v22
10106 invoke-virtual {v3, v10, v0, v1}, Lcom/android/server/ProcessMap;->put(Ljava/lang/String;ILjava/lang/Object;)Ljava/lang/Object;
10111 move/from16 v0, v18
10113 if-ne v0, v3, :cond_1a4
10115 move-object/from16 v0, p0
10117 move-object/from16 v1, p1
10119 move-object/from16 v2, p2
10121 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;
10123 move-result-object v11
10128 .catchall {:try_start_170 .. :try_end_1a5} :catchall_1ba
10130 if-eqz v11, :cond_79
10133 move-object/from16 v0, p0
10135 iget-object v3, v0, Lcom/android/server/am/ActivityManagerService;->mContext:Landroid/content/Context;
10137 invoke-virtual {v3, v11}, Landroid/content/Context;->startActivity(Landroid/content/Intent;)V
10139 .catch Landroid/content/ActivityNotFoundException; {:try_start_1a7 .. :try_end_1ae} :catch_1b0
10146 const-string v3, "ActivityManager"
10148 const-string v10, "bug report receiver dissappeared"
10150 invoke-static {v3, v10, v13}, Landroid/util/Slog;->w(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I
10160 .catchall {:try_start_1bb .. :try_end_1bc} :catchall_1ba
10165 .method private createAppErrorReportLocked(Lcom/android/server/am/ProcessRecord;JLandroid/app/ApplicationErrorReport$CrashInfo;)Landroid/app/ApplicationErrorReport;
10172 iget-object v1, p1, Lcom/android/server/am/ProcessRecord;->errorReportReceiver:Landroid/content/ComponentName;
10181 iget-boolean v1, p1, Lcom/android/server/am/ProcessRecord;->crashing:Z
10185 iget-boolean v1, p1, Lcom/android/server/am/ProcessRecord;->notResponding:Z
10190 new-instance v0, Landroid/app/ApplicationErrorReport;
10192 invoke-direct {v0}, Landroid/app/ApplicationErrorReport;-><init>()V
10194 iget-object v1, p1, Lcom/android/server/am/ProcessRecord;->info:Landroid/content/pm/ApplicationInfo;
10196 iget-object v1, v1, Landroid/content/pm/ApplicationInfo;->packageName:Ljava/lang/String;
10198 iput-object v1, v0, Landroid/app/ApplicationErrorReport;->packageName:Ljava/lang/String;
10200 iget-object v1, p1, Lcom/android/server/am/ProcessRecord;->errorReportReceiver:Landroid/content/ComponentName;
10202 invoke-virtual {v1}, Landroid/content/ComponentName;->getPackageName()Ljava/lang/String;
10204 move-result-object v1
10206 iput-object v1, v0, Landroid/app/ApplicationErrorReport;->installerPackageName:Ljava/lang/String;
10208 iget-object v1, p1, Lcom/android/server/am/ProcessRecord;->processName:Ljava/lang/String;
10210 iput-object v1, v0, Landroid/app/ApplicationErrorReport;->processName:Ljava/lang/String;
10212 iput-wide p2, v0, Landroid/app/ApplicationErrorReport;->time:J
10214 iget-object v1, p1, Lcom/android/server/am/ProcessRecord;->info:Landroid/content/pm/ApplicationInfo;
10216 iget v1, v1, Landroid/content/pm/ApplicationInfo;->flags:I
10218 and-int/lit8 v1, v1, 0x1
10220 if-eqz v1, :cond_3c
10225 iput-boolean v1, v0, Landroid/app/ApplicationErrorReport;->systemApp:Z
10227 iget-boolean v1, p1, Lcom/android/server/am/ProcessRecord;->crashing:Z
10229 if-eqz v1, :cond_3e
10231 iput v2, v0, Landroid/app/ApplicationErrorReport;->type:I
10233 iput-object p4, v0, Landroid/app/ApplicationErrorReport;->crashInfo:Landroid/app/ApplicationErrorReport$CrashInfo;
10243 iget-boolean v1, p1, Lcom/android/server/am/ProcessRecord;->notResponding:Z
10249 iput v1, v0, Landroid/app/ApplicationErrorReport;->type:I
10251 new-instance v1, Landroid/app/ApplicationErrorReport$AnrInfo;
10253 invoke-direct {v1}, Landroid/app/ApplicationErrorReport$AnrInfo;-><init>()V
10255 iput-object v1, v0, Landroid/app/ApplicationErrorReport;->anrInfo:Landroid/app/ApplicationErrorReport$AnrInfo;
10257 iget-object v1, v0, Landroid/app/ApplicationErrorReport;->anrInfo:Landroid/app/ApplicationErrorReport$AnrInfo;
10259 iget-object v2, p1, Lcom/android/server/am/ProcessRecord;->notRespondingReport:Landroid/app/ActivityManager$ProcessErrorStateInfo;
10261 iget-object v2, v2, Landroid/app/ActivityManager$ProcessErrorStateInfo;->tag:Ljava/lang/String;
10263 iput-object v2, v1, Landroid/app/ApplicationErrorReport$AnrInfo;->activity:Ljava/lang/String;
10265 iget-object v1, v0, Landroid/app/ApplicationErrorReport;->anrInfo:Landroid/app/ApplicationErrorReport$AnrInfo;
10267 iget-object v2, p1, Lcom/android/server/am/ProcessRecord;->notRespondingReport:Landroid/app/ActivityManager$ProcessErrorStateInfo;
10269 iget-object v2, v2, Landroid/app/ActivityManager$ProcessErrorStateInfo;->shortMsg:Ljava/lang/String;
10271 iput-object v2, v1, Landroid/app/ApplicationErrorReport$AnrInfo;->cause:Ljava/lang/String;
10273 iget-object v1, v0, Landroid/app/ApplicationErrorReport;->anrInfo:Landroid/app/ApplicationErrorReport$AnrInfo;
10275 iget-object v2, p1, Lcom/android/server/am/ProcessRecord;->notRespondingReport:Landroid/app/ActivityManager$ProcessErrorStateInfo;
10277 iget-object v2, v2, Landroid/app/ActivityManager$ProcessErrorStateInfo;->longMsg:Ljava/lang/String;
10279 iput-object v2, v1, Landroid/app/ApplicationErrorReport$AnrInfo;->info:Ljava/lang/String;
10284 .method private dispatchProcessDied(II)V
10287 iget-object v2, p0, Lcom/android/server/am/ActivityManagerService;->mProcessObservers:Landroid/os/RemoteCallbackList;
10289 invoke-virtual {v2}, Landroid/os/RemoteCallbackList;->beginBroadcast()I
10295 if-lez v0, :cond_1a
10297 add-int/lit8 v0, v0, -0x1
10299 iget-object v2, p0, Lcom/android/server/am/ActivityManagerService;->mProcessObservers:Landroid/os/RemoteCallbackList;
10301 invoke-virtual {v2, v0}, Landroid/os/RemoteCallbackList;->getBroadcastItem(I)Landroid/os/IInterface;
10303 move-result-object v1
10305 check-cast v1, Landroid/app/IProcessObserver;
10310 invoke-interface {v1, p1, p2}, Landroid/app/IProcessObserver;->onProcessDied(II)V
10312 .catch Landroid/os/RemoteException; {:try_start_14 .. :try_end_17} :catch_18
10322 iget-object v2, p0, Lcom/android/server/am/ActivityManagerService;->mProcessObservers:Landroid/os/RemoteCallbackList;
10324 invoke-virtual {v2}, Landroid/os/RemoteCallbackList;->finishBroadcast()V
10329 .method private dispatchProcessesChanged()V
10335 iget-object v5, p0, Lcom/android/server/am/ActivityManagerService;->mPendingProcessChanges:Ljava/util/ArrayList;
10337 invoke-virtual {v5}, Ljava/util/ArrayList;->size()I
10341 iget-object v5, p0, Lcom/android/server/am/ActivityManagerService;->mActiveProcessChanges:[Lcom/android/server/am/ActivityManagerService$ProcessChangeItem;
10343 array-length v5, v5
10345 if-ge v5, v0, :cond_10
10347 new-array v5, v0, [Lcom/android/server/am/ActivityManagerService$ProcessChangeItem;
10349 iput-object v5, p0, Lcom/android/server/am/ActivityManagerService;->mActiveProcessChanges:[Lcom/android/server/am/ActivityManagerService$ProcessChangeItem;
10352 iget-object v5, p0, Lcom/android/server/am/ActivityManagerService;->mPendingProcessChanges:Ljava/util/ArrayList;
10354 iget-object v6, p0, Lcom/android/server/am/ActivityManagerService;->mActiveProcessChanges:[Lcom/android/server/am/ActivityManagerService$ProcessChangeItem;
10356 invoke-virtual {v5, v6}, Ljava/util/ArrayList;->toArray([Ljava/lang/Object;)[Ljava/lang/Object;
10358 iget-object v5, p0, Lcom/android/server/am/ActivityManagerService;->mAvailProcessChanges:Ljava/util/ArrayList;
10360 iget-object v6, p0, Lcom/android/server/am/ActivityManagerService;->mPendingProcessChanges:Ljava/util/ArrayList;
10362 invoke-virtual {v5, v6}, Ljava/util/ArrayList;->addAll(Ljava/util/Collection;)Z
10364 iget-object v5, p0, Lcom/android/server/am/ActivityManagerService;->mPendingProcessChanges:Ljava/util/ArrayList;
10366 invoke-virtual {v5}, Ljava/util/ArrayList;->clear()V
10370 .catchall {:try_start_1 .. :try_end_24} :catchall_60
10372 iget-object v5, p0, Lcom/android/server/am/ActivityManagerService;->mProcessObservers:Landroid/os/RemoteCallbackList;
10374 invoke-virtual {v5}, Landroid/os/RemoteCallbackList;->beginBroadcast()I
10380 if-lez v1, :cond_63
10382 add-int/lit8 v1, v1, -0x1
10384 iget-object v5, p0, Lcom/android/server/am/ActivityManagerService;->mProcessObservers:Landroid/os/RemoteCallbackList;
10386 invoke-virtual {v5, v1}, Landroid/os/RemoteCallbackList;->getBroadcastItem(I)Landroid/os/IInterface;
10388 move-result-object v4
10390 check-cast v4, Landroid/app/IProcessObserver;
10392 if-eqz v4, :cond_2a
10397 if-ge v3, v0, :cond_2a
10400 iget-object v5, p0, Lcom/android/server/am/ActivityManagerService;->mActiveProcessChanges:[Lcom/android/server/am/ActivityManagerService$ProcessChangeItem;
10402 aget-object v2, v5, v3
10404 iget v5, v2, Lcom/android/server/am/ActivityManagerService$ProcessChangeItem;->changes:I
10406 and-int/lit8 v5, v5, 0x1
10408 if-eqz v5, :cond_4e
10410 iget v5, v2, Lcom/android/server/am/ActivityManagerService$ProcessChangeItem;->pid:I
10412 iget v6, v2, Lcom/android/server/am/ActivityManagerService$ProcessChangeItem;->uid:I
10414 iget-boolean v7, v2, Lcom/android/server/am/ActivityManagerService$ProcessChangeItem;->foregroundActivities:Z
10416 invoke-interface {v4, v5, v6, v7}, Landroid/app/IProcessObserver;->onForegroundActivitiesChanged(IIZ)V
10419 iget v5, v2, Lcom/android/server/am/ActivityManagerService$ProcessChangeItem;->changes:I
10421 and-int/lit8 v5, v5, 0x2
10423 if-eqz v5, :cond_5d
10425 iget v5, v2, Lcom/android/server/am/ActivityManagerService$ProcessChangeItem;->pid:I
10427 iget v6, v2, Lcom/android/server/am/ActivityManagerService$ProcessChangeItem;->uid:I
10429 iget v7, v2, Lcom/android/server/am/ActivityManagerService$ProcessChangeItem;->importance:I
10431 invoke-interface {v4, v5, v6, v7}, Landroid/app/IProcessObserver;->onImportanceChanged(III)V
10433 .catch Landroid/os/RemoteException; {:try_start_3b .. :try_end_5d} :catch_69
10436 add-int/lit8 v3, v3, 0x1
10446 .catchall {:try_start_61 .. :try_end_62} :catchall_60
10451 iget-object v5, p0, Lcom/android/server/am/ActivityManagerService;->mProcessObservers:Landroid/os/RemoteCallbackList;
10453 invoke-virtual {v5}, Landroid/os/RemoteCallbackList;->finishBroadcast()V
10463 .method private dumpActivity(Ljava/lang/String;Ljava/io/FileDescriptor;Ljava/io/PrintWriter;Lcom/android/server/am/ActivityRecord;[Ljava/lang/String;Z)V
10466 new-instance v3, Ljava/lang/StringBuilder;
10468 invoke-direct {v3}, Ljava/lang/StringBuilder;-><init>()V
10470 invoke-virtual {v3, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
10472 move-result-object v3
10474 const-string v4, " "
10476 invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
10478 move-result-object v3
10480 invoke-virtual {v3}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
10482 move-result-object v1
10487 invoke-virtual {p3, p1}, Ljava/io/PrintWriter;->print(Ljava/lang/String;)V
10489 const-string v3, "ACTIVITY "
10491 invoke-virtual {p3, v3}, Ljava/io/PrintWriter;->print(Ljava/lang/String;)V
10493 iget-object v3, p4, Lcom/android/server/am/ActivityRecord;->shortComponentName:Ljava/lang/String;
10495 invoke-virtual {p3, v3}, Ljava/io/PrintWriter;->print(Ljava/lang/String;)V
10497 const-string v3, " "
10499 invoke-virtual {p3, v3}, Ljava/io/PrintWriter;->print(Ljava/lang/String;)V
10501 invoke-static {p4}, Ljava/lang/System;->identityHashCode(Ljava/lang/Object;)I
10505 invoke-static {v3}, Ljava/lang/Integer;->toHexString(I)Ljava/lang/String;
10507 move-result-object v3
10509 invoke-virtual {p3, v3}, Ljava/io/PrintWriter;->print(Ljava/lang/String;)V
10511 const-string v3, " pid="
10513 invoke-virtual {p3, v3}, Ljava/io/PrintWriter;->print(Ljava/lang/String;)V
10515 iget-object v3, p4, Lcom/android/server/am/ActivityRecord;->app:Lcom/android/server/am/ProcessRecord;
10517 if-eqz v3, :cond_71
10519 iget-object v3, p4, Lcom/android/server/am/ActivityRecord;->app:Lcom/android/server/am/ProcessRecord;
10521 iget v3, v3, Lcom/android/server/am/ProcessRecord;->pid:I
10523 invoke-virtual {p3, v3}, Ljava/io/PrintWriter;->println(I)V
10526 if-eqz p6, :cond_46
10528 invoke-virtual {p4, p3, v1}, Lcom/android/server/am/ActivityRecord;->dump(Ljava/io/PrintWriter;Ljava/lang/String;)V
10533 .catchall {:try_start_14 .. :try_end_47} :catchall_77
10535 iget-object v3, p4, Lcom/android/server/am/ActivityRecord;->app:Lcom/android/server/am/ProcessRecord;
10537 if-eqz v3, :cond_70
10539 iget-object v3, p4, Lcom/android/server/am/ActivityRecord;->app:Lcom/android/server/am/ProcessRecord;
10541 iget-object v3, v3, Lcom/android/server/am/ProcessRecord;->thread:Landroid/app/IApplicationThread;
10543 if-eqz v3, :cond_70
10545 invoke-virtual {p3}, Ljava/io/PrintWriter;->flush()V
10548 new-instance v2, Lcom/android/server/am/TransferPipe;
10550 invoke-direct {v2}, Lcom/android/server/am/TransferPipe;-><init>()V
10552 .catch Ljava/io/IOException; {:try_start_54 .. :try_end_59} :catch_7f
10553 .catch Landroid/os/RemoteException; {:try_start_54 .. :try_end_59} :catch_9b
10556 iget-object v3, p4, Lcom/android/server/am/ActivityRecord;->app:Lcom/android/server/am/ProcessRecord;
10558 iget-object v3, v3, Lcom/android/server/am/ProcessRecord;->thread:Landroid/app/IApplicationThread;
10560 invoke-virtual {v2}, Lcom/android/server/am/TransferPipe;->getWriteFd()Landroid/os/ParcelFileDescriptor;
10562 move-result-object v4
10564 invoke-virtual {v4}, Landroid/os/ParcelFileDescriptor;->getFileDescriptor()Ljava/io/FileDescriptor;
10566 move-result-object v4
10568 iget-object v5, p4, Lcom/android/server/am/ActivityRecord;->appToken:Landroid/view/IApplicationToken$Stub;
10570 invoke-interface {v3, v4, v5, v1, p5}, Landroid/app/IApplicationThread;->dumpActivity(Ljava/io/FileDescriptor;Landroid/os/IBinder;Ljava/lang/String;[Ljava/lang/String;)V
10572 invoke-virtual {v2, p2}, Lcom/android/server/am/TransferPipe;->go(Ljava/io/FileDescriptor;)V
10574 .catchall {:try_start_59 .. :try_end_6d} :catchall_7a
10577 invoke-virtual {v2}, Lcom/android/server/am/TransferPipe;->kill()V
10579 .catch Ljava/io/IOException; {:try_start_6d .. :try_end_70} :catch_7f
10580 .catch Landroid/os/RemoteException; {:try_start_6d .. :try_end_70} :catch_9b
10588 const-string v3, "(not running)"
10590 invoke-virtual {p3, v3}, Ljava/io/PrintWriter;->println(Ljava/lang/String;)V
10599 .catchall {:try_start_71 .. :try_end_79} :catchall_77
10607 invoke-virtual {v2}, Lcom/android/server/am/TransferPipe;->kill()V
10611 .catch Ljava/io/IOException; {:try_start_7b .. :try_end_7f} :catch_7f
10612 .catch Landroid/os/RemoteException; {:try_start_7b .. :try_end_7f} :catch_9b
10617 new-instance v3, Ljava/lang/StringBuilder;
10619 invoke-direct {v3}, Ljava/lang/StringBuilder;-><init>()V
10621 invoke-virtual {v3, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
10623 move-result-object v3
10625 const-string v4, "Failure while dumping the activity: "
10627 invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
10629 move-result-object v3
10631 invoke-virtual {v3, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
10633 move-result-object v3
10635 invoke-virtual {v3}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
10637 move-result-object v3
10639 invoke-virtual {p3, v3}, Ljava/io/PrintWriter;->println(Ljava/lang/String;)V
10646 new-instance v3, Ljava/lang/StringBuilder;
10648 invoke-direct {v3}, Ljava/lang/StringBuilder;-><init>()V
10650 invoke-virtual {v3, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
10652 move-result-object v3
10654 const-string v4, "Got a RemoteException while dumping the activity"
10656 invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
10658 move-result-object v3
10660 invoke-virtual {v3}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
10662 move-result-object v3
10664 invoke-virtual {p3, v3}, Ljava/io/PrintWriter;->println(Ljava/lang/String;)V
10669 .method private static final dumpHistoryList(Ljava/io/FileDescriptor;Ljava/io/PrintWriter;Ljava/util/List;Ljava/lang/String;Ljava/lang/String;ZZZLjava/lang/String;)V
10676 new-instance v10, Ljava/lang/StringBuilder;
10678 invoke-direct {v10}, Ljava/lang/StringBuilder;-><init>()V
10680 move-object/from16 v0, p3
10682 invoke-virtual {v10, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
10684 move-result-object v10
10686 const-string v11, " "
10688 invoke-virtual {v10, v11}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
10690 move-result-object v10
10692 invoke-virtual {v10}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
10694 move-result-object v5
10698 new-array v1, v10, [Ljava/lang/String;
10700 invoke-interface {p2}, Ljava/util/List;->size()I
10704 add-int/lit8 v4, v10, -0x1
10707 if-ltz v4, :cond_146
10709 invoke-interface {p2, v4}, Ljava/util/List;->get(I)Ljava/lang/Object;
10711 move-result-object v8
10713 check-cast v8, Lcom/android/server/am/ActivityRecord;
10715 if-eqz p8, :cond_37
10717 iget-object v10, v8, Lcom/android/server/am/ActivityRecord;->packageName:Ljava/lang/String;
10719 move-object/from16 v0, p8
10721 invoke-virtual {v0, v10}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
10725 if-nez v10, :cond_37
10729 add-int/lit8 v4, v4, -0x1
10734 if-nez p6, :cond_cf
10736 if-nez p5, :cond_41
10738 invoke-virtual {v8}, Lcom/android/server/am/ActivityRecord;->isInHistory()Z
10742 if-nez v10, :cond_cf
10748 if-eqz v7, :cond_4a
10750 const-string v10, " "
10752 invoke-virtual {p1, v10}, Ljava/io/PrintWriter;->println(Ljava/lang/String;)V
10757 iget-object v10, v8, Lcom/android/server/am/ActivityRecord;->task:Lcom/android/server/am/TaskRecord;
10759 if-eq v6, v10, :cond_79
10761 iget-object v6, v8, Lcom/android/server/am/ActivityRecord;->task:Lcom/android/server/am/TaskRecord;
10763 move-object/from16 v0, p3
10765 invoke-virtual {p1, v0}, Ljava/io/PrintWriter;->print(Ljava/lang/String;)V
10767 if-eqz v3, :cond_d2
10769 const-string v10, "* "
10772 invoke-virtual {p1, v10}, Ljava/io/PrintWriter;->print(Ljava/lang/String;)V
10774 invoke-virtual {p1, v6}, Ljava/io/PrintWriter;->println(Ljava/lang/Object;)V
10776 if-eqz v3, :cond_d5
10778 new-instance v10, Ljava/lang/StringBuilder;
10780 invoke-direct {v10}, Ljava/lang/StringBuilder;-><init>()V
10782 move-object/from16 v0, p3
10784 invoke-virtual {v10, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
10786 move-result-object v10
10788 const-string v11, " "
10790 invoke-virtual {v10, v11}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
10792 move-result-object v10
10794 invoke-virtual {v10}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
10796 move-result-object v10
10798 invoke-virtual {v6, p1, v10}, Lcom/android/server/am/TaskRecord;->dump(Ljava/io/PrintWriter;Ljava/lang/String;)V
10802 move-object/from16 v0, p3
10804 invoke-virtual {p1, v0}, Ljava/io/PrintWriter;->print(Ljava/lang/String;)V
10806 if-eqz v3, :cond_ef
10808 const-string v10, " * "
10811 invoke-virtual {p1, v10}, Ljava/io/PrintWriter;->print(Ljava/lang/String;)V
10813 move-object/from16 v0, p4
10815 invoke-virtual {p1, v0}, Ljava/io/PrintWriter;->print(Ljava/lang/String;)V
10817 const-string v10, " #"
10819 invoke-virtual {p1, v10}, Ljava/io/PrintWriter;->print(Ljava/lang/String;)V
10821 invoke-virtual {p1, v4}, Ljava/io/PrintWriter;->print(I)V
10823 const-string v10, ": "
10825 invoke-virtual {p1, v10}, Ljava/io/PrintWriter;->print(Ljava/lang/String;)V
10827 invoke-virtual {p1, v8}, Ljava/io/PrintWriter;->println(Ljava/lang/Object;)V
10829 if-eqz v3, :cond_f2
10831 invoke-virtual {v8, p1, v5}, Lcom/android/server/am/ActivityRecord;->dump(Ljava/io/PrintWriter;Ljava/lang/String;)V
10835 if-eqz p7, :cond_34
10837 iget-object v10, v8, Lcom/android/server/am/ActivityRecord;->app:Lcom/android/server/am/ProcessRecord;
10839 if-eqz v10, :cond_34
10841 iget-object v10, v8, Lcom/android/server/am/ActivityRecord;->app:Lcom/android/server/am/ProcessRecord;
10843 iget-object v10, v10, Lcom/android/server/am/ProcessRecord;->thread:Landroid/app/IApplicationThread;
10845 if-eqz v10, :cond_34
10847 invoke-virtual {p1}, Ljava/io/PrintWriter;->flush()V
10850 new-instance v9, Lcom/android/server/am/TransferPipe;
10852 invoke-direct {v9}, Lcom/android/server/am/TransferPipe;-><init>()V
10854 .catch Ljava/io/IOException; {:try_start_ae .. :try_end_b3} :catch_112
10855 .catch Landroid/os/RemoteException; {:try_start_ae .. :try_end_b3} :catch_12e
10858 iget-object v10, v8, Lcom/android/server/am/ActivityRecord;->app:Lcom/android/server/am/ProcessRecord;
10860 iget-object v10, v10, Lcom/android/server/am/ProcessRecord;->thread:Landroid/app/IApplicationThread;
10862 invoke-virtual {v9}, Lcom/android/server/am/TransferPipe;->getWriteFd()Landroid/os/ParcelFileDescriptor;
10864 move-result-object v11
10866 invoke-virtual {v11}, Landroid/os/ParcelFileDescriptor;->getFileDescriptor()Ljava/io/FileDescriptor;
10868 move-result-object v11
10870 iget-object v12, v8, Lcom/android/server/am/ActivityRecord;->appToken:Landroid/view/IApplicationToken$Stub;
10872 invoke-interface {v10, v11, v12, v5, v1}, Landroid/app/IApplicationThread;->dumpActivity(Ljava/io/FileDescriptor;Landroid/os/IBinder;Ljava/lang/String;[Ljava/lang/String;)V
10874 const-wide/16 v10, 0x7d0
10876 invoke-virtual {v9, p0, v10, v11}, Lcom/android/server/am/TransferPipe;->go(Ljava/io/FileDescriptor;J)V
10878 .catchall {:try_start_b3 .. :try_end_c9} :catchall_10d
10881 invoke-virtual {v9}, Lcom/android/server/am/TransferPipe;->kill()V
10883 .catch Ljava/io/IOException; {:try_start_c9 .. :try_end_cc} :catch_112
10884 .catch Landroid/os/RemoteException; {:try_start_c9 .. :try_end_cc} :catch_12e
10897 const-string v10, " "
10902 if-eqz p5, :cond_79
10904 iget-object v10, v6, Lcom/android/server/am/TaskRecord;->intent:Landroid/content/Intent;
10906 if-eqz v10, :cond_79
10908 move-object/from16 v0, p3
10910 invoke-virtual {p1, v0}, Ljava/io/PrintWriter;->print(Ljava/lang/String;)V
10912 const-string v10, " "
10914 invoke-virtual {p1, v10}, Ljava/io/PrintWriter;->print(Ljava/lang/String;)V
10916 iget-object v10, v6, Lcom/android/server/am/TaskRecord;->intent:Landroid/content/Intent;
10918 invoke-virtual {v10}, Landroid/content/Intent;->toInsecureStringWithClip()Ljava/lang/String;
10920 move-result-object v10
10922 invoke-virtual {p1, v10}, Ljava/io/PrintWriter;->println(Ljava/lang/String;)V
10927 const-string v10, " "
10932 if-eqz p5, :cond_9f
10934 invoke-virtual {p1, v5}, Ljava/io/PrintWriter;->print(Ljava/lang/String;)V
10936 iget-object v10, v8, Lcom/android/server/am/ActivityRecord;->intent:Landroid/content/Intent;
10938 invoke-virtual {v10}, Landroid/content/Intent;->toInsecureString()Ljava/lang/String;
10940 move-result-object v10
10942 invoke-virtual {p1, v10}, Ljava/io/PrintWriter;->println(Ljava/lang/String;)V
10944 iget-object v10, v8, Lcom/android/server/am/ActivityRecord;->app:Lcom/android/server/am/ProcessRecord;
10946 if-eqz v10, :cond_9f
10948 invoke-virtual {p1, v5}, Ljava/io/PrintWriter;->print(Ljava/lang/String;)V
10950 iget-object v10, v8, Lcom/android/server/am/ActivityRecord;->app:Lcom/android/server/am/ProcessRecord;
10952 invoke-virtual {p1, v10}, Ljava/io/PrintWriter;->println(Ljava/lang/Object;)V
10960 invoke-virtual {v9}, Lcom/android/server/am/TransferPipe;->kill()V
10964 .catch Ljava/io/IOException; {:try_start_10e .. :try_end_112} :catch_112
10965 .catch Landroid/os/RemoteException; {:try_start_10e .. :try_end_112} :catch_12e
10970 new-instance v10, Ljava/lang/StringBuilder;
10972 invoke-direct {v10}, Ljava/lang/StringBuilder;-><init>()V
10974 invoke-virtual {v10, v5}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
10976 move-result-object v10
10978 const-string v11, "Failure while dumping the activity: "
10980 invoke-virtual {v10, v11}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
10982 move-result-object v10
10984 invoke-virtual {v10, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
10986 move-result-object v10
10988 invoke-virtual {v10}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
10990 move-result-object v10
10992 invoke-virtual {p1, v10}, Ljava/io/PrintWriter;->println(Ljava/lang/String;)V
10999 new-instance v10, Ljava/lang/StringBuilder;
11001 invoke-direct {v10}, Ljava/lang/StringBuilder;-><init>()V
11003 invoke-virtual {v10, v5}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
11005 move-result-object v10
11007 const-string v11, "Got a RemoteException while dumping the activity"
11009 invoke-virtual {v10, v11}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
11011 move-result-object v10
11013 invoke-virtual {v10}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
11015 move-result-object v10
11017 invoke-virtual {p1, v10}, Ljava/io/PrintWriter;->println(Ljava/lang/String;)V
11025 .method static final dumpMemItems(Ljava/io/PrintWriter;Ljava/lang/String;Ljava/util/ArrayList;Z)V
11027 .annotation system Ldalvik/annotation/Signature;
11030 "Ljava/io/PrintWriter;",
11031 "Ljava/lang/String;",
11032 "Ljava/util/ArrayList",
11034 "Lcom/android/server/am/ActivityManagerService$MemItem;",
11043 new-instance v2, Lcom/android/server/am/ActivityManagerService$15;
11045 invoke-direct {v2}, Lcom/android/server/am/ActivityManagerService$15;-><init>()V
11047 invoke-static {p2, v2}, Ljava/util/Collections;->sort(Ljava/util/List;Ljava/util/Comparator;)V
11053 invoke-virtual {p2}, Ljava/util/ArrayList;->size()I
11057 if-ge v0, v2, :cond_4f
11059 invoke-virtual {p2, v0}, Ljava/util/ArrayList;->get(I)Ljava/lang/Object;
11061 move-result-object v1
11063 check-cast v1, Lcom/android/server/am/ActivityManagerService$MemItem;
11065 invoke-virtual {p0, p1}, Ljava/io/PrintWriter;->print(Ljava/lang/String;)V
11067 const-string v2, "%7d kB: "
11069 new-array v3, v7, [Ljava/lang/Object;
11073 iget-wide v5, v1, Lcom/android/server/am/ActivityManagerService$MemItem;->pss:J
11075 invoke-static {v5, v6}, Ljava/lang/Long;->valueOf(J)Ljava/lang/Long;
11077 move-result-object v5
11079 aput-object v5, v3, v4
11081 invoke-virtual {p0, v2, v3}, Ljava/io/PrintWriter;->printf(Ljava/lang/String;[Ljava/lang/Object;)Ljava/io/PrintWriter;
11083 iget-object v2, v1, Lcom/android/server/am/ActivityManagerService$MemItem;->label:Ljava/lang/String;
11085 invoke-virtual {p0, v2}, Ljava/io/PrintWriter;->println(Ljava/lang/String;)V
11087 iget-object v2, v1, Lcom/android/server/am/ActivityManagerService$MemItem;->subitems:Ljava/util/ArrayList;
11089 if-eqz v2, :cond_4c
11091 new-instance v2, Ljava/lang/StringBuilder;
11093 invoke-direct {v2}, Ljava/lang/StringBuilder;-><init>()V
11095 invoke-virtual {v2, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
11097 move-result-object v2
11099 const-string v3, " "
11101 invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
11103 move-result-object v2
11105 invoke-virtual {v2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
11107 move-result-object v2
11109 iget-object v3, v1, Lcom/android/server/am/ActivityManagerService$MemItem;->subitems:Ljava/util/ArrayList;
11111 invoke-static {p0, v2, v3, v7}, Lcom/android/server/am/ActivityManagerService;->dumpMemItems(Ljava/io/PrintWriter;Ljava/lang/String;Ljava/util/ArrayList;Z)V
11114 add-int/lit8 v0, v0, 0x1
11122 .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
11127 invoke-interface {p2}, Ljava/util/List;->size()I
11131 add-int/lit8 v0, v4, -0x1
11136 if-ltz v1, :cond_4d
11138 invoke-interface {p2, v1}, Ljava/util/List;->get(I)Ljava/lang/Object;
11140 move-result-object v3
11142 check-cast v3, Lcom/android/server/am/ProcessRecord;
11144 if-eqz p6, :cond_1f
11146 iget-object v4, v3, Lcom/android/server/am/ProcessRecord;->info:Landroid/content/pm/ApplicationInfo;
11148 iget-object v4, v4, Landroid/content/pm/ApplicationInfo;->packageName:Ljava/lang/String;
11150 invoke-virtual {p6, v4}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
11154 if-nez v4, :cond_1f
11158 add-int/lit8 v1, v1, -0x1
11163 const-string v5, "%s%s #%2d: %s"
11167 new-array v6, v4, [Ljava/lang/Object;
11171 aput-object p3, v6, v4
11175 iget-boolean v4, v3, Lcom/android/server/am/ProcessRecord;->persistent:Z
11177 if-eqz v4, :cond_4b
11182 aput-object v4, v6, v7
11186 invoke-static {v1}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
11188 move-result-object v7
11190 aput-object v7, v6, v4
11194 invoke-virtual {v3}, Lcom/android/server/am/ProcessRecord;->toString()Ljava/lang/String;
11196 move-result-object v7
11198 aput-object v7, v6, v4
11200 invoke-static {v5, v6}, Ljava/lang/String;->format(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
11202 move-result-object v4
11204 invoke-virtual {p0, v4}, Ljava/io/PrintWriter;->println(Ljava/lang/String;)V
11206 iget-boolean v4, v3, Lcom/android/server/am/ProcessRecord;->persistent:Z
11208 if-eqz v4, :cond_1c
11210 add-int/lit8 v2, v2, 0x1
11223 .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
11225 .annotation system Ldalvik/annotation/Signature;
11228 "Ljava/io/PrintWriter;",
11229 "Lcom/android/server/am/ActivityManagerService;",
11232 "Lcom/android/server/am/ProcessRecord;",
11234 "Ljava/lang/String;",
11235 "Ljava/lang/String;",
11236 "Ljava/lang/String;",
11238 "Ljava/lang/String;",
11243 new-instance v10, Ljava/util/ArrayList;
11245 invoke-interface/range {p2 .. p2}, Ljava/util/List;->size()I
11249 move/from16 v0, v23
11251 invoke-direct {v10, v0}, Ljava/util/ArrayList;-><init>(I)V
11256 invoke-interface/range {p2 .. p2}, Ljava/util/List;->size()I
11260 move/from16 v0, v23
11262 if-ge v9, v0, :cond_4a
11264 move-object/from16 v0, p2
11266 invoke-interface {v0, v9}, Ljava/util/List;->get(I)Ljava/lang/Object;
11268 move-result-object v12
11270 check-cast v12, Lcom/android/server/am/ProcessRecord;
11272 if-eqz p7, :cond_35
11274 iget-object v0, v12, Lcom/android/server/am/ProcessRecord;->info:Landroid/content/pm/ApplicationInfo;
11276 move-object/from16 v23, v0
11278 move-object/from16 v0, v23
11280 iget-object v0, v0, Landroid/content/pm/ApplicationInfo;->packageName:Ljava/lang/String;
11282 move-object/from16 v23, v0
11284 move-object/from16 v0, p7
11286 move-object/from16 v1, v23
11288 invoke-virtual {v0, v1}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
11292 if-nez v23, :cond_35
11295 add-int/lit8 v9, v9, 0x1
11300 new-instance v23, Landroid/util/Pair;
11302 move-object/from16 v0, p2
11304 invoke-interface {v0, v9}, Ljava/util/List;->get(I)Ljava/lang/Object;
11306 move-result-object v24
11308 invoke-static {v9}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
11310 move-result-object v25
11312 invoke-direct/range {v23 .. v25}, Landroid/util/Pair;-><init>(Ljava/lang/Object;Ljava/lang/Object;)V
11314 move-object/from16 v0, v23
11316 invoke-virtual {v10, v0}, Ljava/util/ArrayList;->add(Ljava/lang/Object;)Z
11321 invoke-virtual {v10}, Ljava/util/ArrayList;->size()I
11325 if-gtz v23, :cond_53
11333 new-instance v3, Lcom/android/server/am/ActivityManagerService$14;
11335 invoke-direct {v3}, Lcom/android/server/am/ActivityManagerService$14;-><init>()V
11337 invoke-static {v10, v3}, Ljava/util/Collections;->sort(Ljava/util/List;Ljava/util/Comparator;)V
11339 invoke-static {}, Landroid/os/SystemClock;->elapsedRealtime()J
11341 move-result-wide v4
11343 move-object/from16 v0, p1
11345 iget-wide v0, v0, Lcom/android/server/am/ActivityManagerService;->mLastPowerCheckRealtime:J
11347 move-wide/from16 v23, v0
11349 sub-long v13, v4, v23
11351 invoke-static {}, Landroid/os/SystemClock;->uptimeMillis()J
11353 move-result-wide v6
11355 move-object/from16 v0, p1
11357 iget-wide v0, v0, Lcom/android/server/am/ActivityManagerService;->mLastPowerCheckUptime:J
11359 move-wide/from16 v23, v0
11361 sub-long v19, v6, v23
11363 invoke-virtual {v10}, Ljava/util/ArrayList;->size()I
11367 add-int/lit8 v9, v23, -0x1
11370 if-ltz v9, :cond_509
11372 invoke-virtual {v10, v9}, Ljava/util/ArrayList;->get(I)Ljava/lang/Object;
11374 move-result-object v23
11376 check-cast v23, Landroid/util/Pair;
11378 move-object/from16 v0, v23
11380 iget-object v12, v0, Landroid/util/Pair;->first:Ljava/lang/Object;
11382 check-cast v12, Lcom/android/server/am/ProcessRecord;
11384 iget v0, v12, Lcom/android/server/am/ProcessRecord;->setAdj:I
11386 move/from16 v23, v0
11388 sget v24, Lcom/android/server/am/ProcessList;->HIDDEN_APP_MIN_ADJ:I
11390 move/from16 v0, v23
11392 move/from16 v1, v24
11394 if-lt v0, v1, :cond_370
11396 const-string v23, "bak"
11398 const-string v24, " "
11400 iget v0, v12, Lcom/android/server/am/ProcessRecord;->setAdj:I
11402 move/from16 v25, v0
11404 sget v26, Lcom/android/server/am/ProcessList;->HIDDEN_APP_MIN_ADJ:I
11406 invoke-static/range {v23 .. v26}, Lcom/android/server/am/ActivityManagerService;->buildOomTag(Ljava/lang/String;Ljava/lang/String;II)Ljava/lang/String;
11408 move-result-object v11
11411 iget v0, v12, Lcom/android/server/am/ProcessRecord;->setSchedGroup:I
11413 move/from16 v23, v0
11415 packed-switch v23, :pswitch_data_50e
11417 iget v0, v12, Lcom/android/server/am/ProcessRecord;->setSchedGroup:I
11419 move/from16 v23, v0
11421 invoke-static/range {v23 .. v23}, Ljava/lang/Integer;->toString(I)Ljava/lang/String;
11423 move-result-object v15
11426 iget-boolean v0, v12, Lcom/android/server/am/ProcessRecord;->foregroundActivities:Z
11428 move/from16 v23, v0
11430 if-eqz v23, :cond_4b0
11432 const-string v8, "A"
11435 const-string v24, "%s%s #%2d: adj=%s/%s%s trm=%2d %s (%s)"
11439 move/from16 v0, v23
11441 new-array v0, v0, [Ljava/lang/Object;
11443 move-object/from16 v25, v0
11447 aput-object p3, v25, v23
11451 iget-boolean v0, v12, Lcom/android/server/am/ProcessRecord;->persistent:Z
11453 move/from16 v23, v0
11455 if-eqz v23, :cond_4be
11457 move-object/from16 v23, p5
11460 aput-object v23, v25, v26
11464 invoke-interface/range {p2 .. p2}, Ljava/util/List;->size()I
11468 add-int/lit8 v27, v23, -0x1
11470 invoke-virtual {v10, v9}, Ljava/util/ArrayList;->get(I)Ljava/lang/Object;
11472 move-result-object v23
11474 check-cast v23, Landroid/util/Pair;
11476 move-object/from16 v0, v23
11478 iget-object v0, v0, Landroid/util/Pair;->second:Ljava/lang/Object;
11480 move-object/from16 v23, v0
11482 check-cast v23, Ljava/lang/Integer;
11484 invoke-virtual/range {v23 .. v23}, Ljava/lang/Integer;->intValue()I
11488 sub-int v23, v27, v23
11490 invoke-static/range {v23 .. v23}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
11492 move-result-object v23
11494 aput-object v23, v25, v26
11498 aput-object v11, v25, v23
11502 aput-object v15, v25, v23
11506 aput-object v8, v25, v23
11510 iget v0, v12, Lcom/android/server/am/ProcessRecord;->trimMemoryLevel:I
11512 move/from16 v26, v0
11514 invoke-static/range {v26 .. v26}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
11516 move-result-object v26
11518 aput-object v26, v25, v23
11522 invoke-virtual {v12}, Lcom/android/server/am/ProcessRecord;->toShortString()Ljava/lang/String;
11524 move-result-object v26
11526 aput-object v26, v25, v23
11530 iget-object v0, v12, Lcom/android/server/am/ProcessRecord;->adjType:Ljava/lang/String;
11532 move-object/from16 v26, v0
11534 aput-object v26, v25, v23
11536 invoke-static/range {v24 .. v25}, Ljava/lang/String;->format(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
11538 move-result-object v23
11540 move-object/from16 v0, p0
11542 move-object/from16 v1, v23
11544 invoke-virtual {v0, v1}, Ljava/io/PrintWriter;->println(Ljava/lang/String;)V
11546 iget-object v0, v12, Lcom/android/server/am/ProcessRecord;->adjSource:Ljava/lang/Object;
11548 move-object/from16 v23, v0
11550 if-nez v23, :cond_133
11552 iget-object v0, v12, Lcom/android/server/am/ProcessRecord;->adjTarget:Ljava/lang/Object;
11554 move-object/from16 v23, v0
11556 if-eqz v23, :cond_198
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 iget-object v0, v12, Lcom/android/server/am/ProcessRecord;->adjTarget:Ljava/lang/Object;
11575 move-object/from16 v23, v0
11577 move-object/from16 v0, v23
11579 instance-of v0, v0, Landroid/content/ComponentName;
11581 move/from16 v23, v0
11583 if-eqz v23, :cond_4c2
11585 iget-object v0, v12, Lcom/android/server/am/ProcessRecord;->adjTarget:Ljava/lang/Object;
11587 move-object/from16 v23, v0
11589 check-cast v23, Landroid/content/ComponentName;
11591 invoke-virtual/range {v23 .. v23}, Landroid/content/ComponentName;->flattenToShortString()Ljava/lang/String;
11593 move-result-object v23
11595 move-object/from16 v0, p0
11597 move-object/from16 v1, v23
11599 invoke-virtual {v0, v1}, Ljava/io/PrintWriter;->print(Ljava/lang/String;)V
11602 const-string v23, "<="
11604 move-object/from16 v0, p0
11606 move-object/from16 v1, v23
11608 invoke-virtual {v0, v1}, Ljava/io/PrintWriter;->print(Ljava/lang/String;)V
11610 iget-object v0, v12, Lcom/android/server/am/ProcessRecord;->adjSource:Ljava/lang/Object;
11612 move-object/from16 v23, v0
11614 move-object/from16 v0, v23
11616 instance-of v0, v0, Lcom/android/server/am/ProcessRecord;
11618 move/from16 v23, v0
11620 if-eqz v23, :cond_4e4
11622 const-string v23, "Proc{"
11624 move-object/from16 v0, p0
11626 move-object/from16 v1, v23
11628 invoke-virtual {v0, v1}, Ljava/io/PrintWriter;->print(Ljava/lang/String;)V
11630 iget-object v0, v12, Lcom/android/server/am/ProcessRecord;->adjSource:Ljava/lang/Object;
11632 move-object/from16 v23, v0
11634 check-cast v23, Lcom/android/server/am/ProcessRecord;
11636 invoke-virtual/range {v23 .. v23}, Lcom/android/server/am/ProcessRecord;->toShortString()Ljava/lang/String;
11638 move-result-object v23
11640 move-object/from16 v0, p0
11642 move-object/from16 v1, v23
11644 invoke-virtual {v0, v1}, Ljava/io/PrintWriter;->print(Ljava/lang/String;)V
11646 const-string v23, "}"
11648 move-object/from16 v0, p0
11650 move-object/from16 v1, v23
11652 invoke-virtual {v0, v1}, Ljava/io/PrintWriter;->println(Ljava/lang/String;)V
11656 if-eqz p6, :cond_36c
11658 move-object/from16 v0, p0
11660 move-object/from16 v1, p3
11662 invoke-virtual {v0, v1}, Ljava/io/PrintWriter;->print(Ljava/lang/String;)V
11664 const-string v23, " "
11666 move-object/from16 v0, p0
11668 move-object/from16 v1, v23
11670 invoke-virtual {v0, v1}, Ljava/io/PrintWriter;->print(Ljava/lang/String;)V
11672 const-string v23, "oom: max="
11674 move-object/from16 v0, p0
11676 move-object/from16 v1, v23
11678 invoke-virtual {v0, v1}, Ljava/io/PrintWriter;->print(Ljava/lang/String;)V
11680 iget v0, v12, Lcom/android/server/am/ProcessRecord;->maxAdj:I
11682 move/from16 v23, v0
11684 move-object/from16 v0, p0
11686 move/from16 v1, v23
11688 invoke-virtual {v0, v1}, Ljava/io/PrintWriter;->print(I)V
11690 const-string v23, " hidden="
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 iget v0, v12, Lcom/android/server/am/ProcessRecord;->hiddenAdj:I
11700 move/from16 v23, v0
11702 move-object/from16 v0, p0
11704 move/from16 v1, v23
11706 invoke-virtual {v0, v1}, Ljava/io/PrintWriter;->print(I)V
11708 const-string v23, " curRaw="
11710 move-object/from16 v0, p0
11712 move-object/from16 v1, v23
11714 invoke-virtual {v0, v1}, Ljava/io/PrintWriter;->print(Ljava/lang/String;)V
11716 iget v0, v12, Lcom/android/server/am/ProcessRecord;->curRawAdj:I
11718 move/from16 v23, v0
11720 move-object/from16 v0, p0
11722 move/from16 v1, v23
11724 invoke-virtual {v0, v1}, Ljava/io/PrintWriter;->print(I)V
11726 const-string v23, " setRaw="
11728 move-object/from16 v0, p0
11730 move-object/from16 v1, v23
11732 invoke-virtual {v0, v1}, Ljava/io/PrintWriter;->print(Ljava/lang/String;)V
11734 iget v0, v12, Lcom/android/server/am/ProcessRecord;->setRawAdj:I
11736 move/from16 v23, v0
11738 move-object/from16 v0, p0
11740 move/from16 v1, v23
11742 invoke-virtual {v0, v1}, Ljava/io/PrintWriter;->print(I)V
11744 const-string v23, " cur="
11746 move-object/from16 v0, p0
11748 move-object/from16 v1, v23
11750 invoke-virtual {v0, v1}, Ljava/io/PrintWriter;->print(Ljava/lang/String;)V
11752 iget v0, v12, Lcom/android/server/am/ProcessRecord;->curAdj:I
11754 move/from16 v23, v0
11756 move-object/from16 v0, p0
11758 move/from16 v1, v23
11760 invoke-virtual {v0, v1}, Ljava/io/PrintWriter;->print(I)V
11762 const-string v23, " set="
11764 move-object/from16 v0, p0
11766 move-object/from16 v1, v23
11768 invoke-virtual {v0, v1}, Ljava/io/PrintWriter;->print(Ljava/lang/String;)V
11770 iget v0, v12, Lcom/android/server/am/ProcessRecord;->setAdj:I
11772 move/from16 v23, v0
11774 move-object/from16 v0, p0
11776 move/from16 v1, v23
11778 invoke-virtual {v0, v1}, Ljava/io/PrintWriter;->println(I)V
11780 move-object/from16 v0, p0
11782 move-object/from16 v1, p3
11784 invoke-virtual {v0, v1}, Ljava/io/PrintWriter;->print(Ljava/lang/String;)V
11786 const-string v23, " "
11788 move-object/from16 v0, p0
11790 move-object/from16 v1, v23
11792 invoke-virtual {v0, v1}, Ljava/io/PrintWriter;->print(Ljava/lang/String;)V
11794 const-string v23, "keeping="
11796 move-object/from16 v0, p0
11798 move-object/from16 v1, v23
11800 invoke-virtual {v0, v1}, Ljava/io/PrintWriter;->print(Ljava/lang/String;)V
11802 iget-boolean v0, v12, Lcom/android/server/am/ProcessRecord;->keeping:Z
11804 move/from16 v23, v0
11806 move-object/from16 v0, p0
11808 move/from16 v1, v23
11810 invoke-virtual {v0, v1}, Ljava/io/PrintWriter;->print(Z)V
11812 const-string v23, " hidden="
11814 move-object/from16 v0, p0
11816 move-object/from16 v1, v23
11818 invoke-virtual {v0, v1}, Ljava/io/PrintWriter;->print(Ljava/lang/String;)V
11820 iget-boolean v0, v12, Lcom/android/server/am/ProcessRecord;->hidden:Z
11822 move/from16 v23, v0
11824 move-object/from16 v0, p0
11826 move/from16 v1, v23
11828 invoke-virtual {v0, v1}, Ljava/io/PrintWriter;->print(Z)V
11830 const-string v23, " empty="
11832 move-object/from16 v0, p0
11834 move-object/from16 v1, v23
11836 invoke-virtual {v0, v1}, Ljava/io/PrintWriter;->print(Ljava/lang/String;)V
11838 iget-boolean v0, v12, Lcom/android/server/am/ProcessRecord;->empty:Z
11840 move/from16 v23, v0
11842 move-object/from16 v0, p0
11844 move/from16 v1, v23
11846 invoke-virtual {v0, v1}, Ljava/io/PrintWriter;->print(Z)V
11848 const-string v23, " hasAboveClient="
11850 move-object/from16 v0, p0
11852 move-object/from16 v1, v23
11854 invoke-virtual {v0, v1}, Ljava/io/PrintWriter;->print(Ljava/lang/String;)V
11856 iget-boolean v0, v12, Lcom/android/server/am/ProcessRecord;->hasAboveClient:Z
11858 move/from16 v23, v0
11860 move-object/from16 v0, p0
11862 move/from16 v1, v23
11864 invoke-virtual {v0, v1}, Ljava/io/PrintWriter;->println(Z)V
11866 iget-boolean v0, v12, Lcom/android/server/am/ProcessRecord;->keeping:Z
11868 move/from16 v23, v0
11870 if-nez v23, :cond_36c
11872 iget-wide v0, v12, Lcom/android/server/am/ProcessRecord;->lastWakeTime:J
11874 move-wide/from16 v23, v0
11876 const-wide/16 v25, 0x0
11878 cmp-long v23, v23, v25
11880 if-eqz v23, :cond_309
11882 move-object/from16 v0, p1
11884 iget-object v0, v0, Lcom/android/server/am/ActivityManagerService;->mBatteryStatsService:Lcom/android/server/am/BatteryStatsService;
11886 move-object/from16 v23, v0
11888 invoke-virtual/range {v23 .. v23}, Lcom/android/server/am/BatteryStatsService;->getActiveStatistics()Lcom/android/internal/os/BatteryStatsImpl;
11890 move-result-object v16
11895 iget-object v0, v12, Lcom/android/server/am/ProcessRecord;->info:Landroid/content/pm/ApplicationInfo;
11897 move-object/from16 v23, v0
11899 move-object/from16 v0, v23
11901 iget v0, v0, Landroid/content/pm/ApplicationInfo;->uid:I
11903 move/from16 v23, v0
11905 iget v0, v12, Lcom/android/server/am/ProcessRecord;->pid:I
11907 move/from16 v24, v0
11909 move-object/from16 v0, v16
11911 move/from16 v1, v23
11913 move/from16 v2, v24
11915 invoke-virtual {v0, v1, v2, v4, v5}, Lcom/android/internal/os/BatteryStatsImpl;->getProcessWakeTime(IIJ)J
11917 move-result-wide v21
11921 .catchall {:try_start_29d .. :try_end_2b6} :catchall_506
11923 iget-wide v0, v12, Lcom/android/server/am/ProcessRecord;->lastWakeTime:J
11925 move-wide/from16 v23, v0
11927 sub-long v17, v21, v23
11929 move-object/from16 v0, p0
11931 move-object/from16 v1, p3
11933 invoke-virtual {v0, v1}, Ljava/io/PrintWriter;->print(Ljava/lang/String;)V
11935 const-string v23, " "
11937 move-object/from16 v0, p0
11939 move-object/from16 v1, v23
11941 invoke-virtual {v0, v1}, Ljava/io/PrintWriter;->print(Ljava/lang/String;)V
11943 const-string v23, "keep awake over "
11945 move-object/from16 v0, p0
11947 move-object/from16 v1, v23
11949 invoke-virtual {v0, v1}, Ljava/io/PrintWriter;->print(Ljava/lang/String;)V
11951 move-object/from16 v0, p0
11953 invoke-static {v13, v14, v0}, Landroid/util/TimeUtils;->formatDuration(JLjava/io/PrintWriter;)V
11955 const-string v23, " used "
11957 move-object/from16 v0, p0
11959 move-object/from16 v1, v23
11961 invoke-virtual {v0, v1}, Ljava/io/PrintWriter;->print(Ljava/lang/String;)V
11963 move-wide/from16 v0, v17
11965 move-object/from16 v2, p0
11967 invoke-static {v0, v1, v2}, Landroid/util/TimeUtils;->formatDuration(JLjava/io/PrintWriter;)V
11969 const-string v23, " ("
11971 move-object/from16 v0, p0
11973 move-object/from16 v1, v23
11975 invoke-virtual {v0, v1}, Ljava/io/PrintWriter;->print(Ljava/lang/String;)V
11977 const-wide/16 v23, 0x64
11979 mul-long v23, v23, v17
11981 div-long v23, v23, v13
11983 move-object/from16 v0, p0
11985 move-wide/from16 v1, v23
11987 invoke-virtual {v0, v1, v2}, Ljava/io/PrintWriter;->print(J)V
11989 const-string v23, "%)"
11991 move-object/from16 v0, p0
11993 move-object/from16 v1, v23
11995 invoke-virtual {v0, v1}, Ljava/io/PrintWriter;->println(Ljava/lang/String;)V
11998 iget-wide v0, v12, Lcom/android/server/am/ProcessRecord;->lastCpuTime:J
12000 move-wide/from16 v23, v0
12002 const-wide/16 v25, 0x0
12004 cmp-long v23, v23, v25
12006 if-eqz v23, :cond_36c
12008 iget-wide v0, v12, Lcom/android/server/am/ProcessRecord;->curCpuTime:J
12010 move-wide/from16 v23, v0
12012 iget-wide v0, v12, Lcom/android/server/am/ProcessRecord;->lastCpuTime:J
12014 move-wide/from16 v25, v0
12016 sub-long v17, v23, v25
12018 move-object/from16 v0, p0
12020 move-object/from16 v1, p3
12022 invoke-virtual {v0, v1}, Ljava/io/PrintWriter;->print(Ljava/lang/String;)V
12024 const-string v23, " "
12026 move-object/from16 v0, p0
12028 move-object/from16 v1, v23
12030 invoke-virtual {v0, v1}, Ljava/io/PrintWriter;->print(Ljava/lang/String;)V
12032 const-string v23, "run cpu over "
12034 move-object/from16 v0, p0
12036 move-object/from16 v1, v23
12038 invoke-virtual {v0, v1}, Ljava/io/PrintWriter;->print(Ljava/lang/String;)V
12040 move-wide/from16 v0, v19
12042 move-object/from16 v2, p0
12044 invoke-static {v0, v1, v2}, Landroid/util/TimeUtils;->formatDuration(JLjava/io/PrintWriter;)V
12046 const-string v23, " used "
12048 move-object/from16 v0, p0
12050 move-object/from16 v1, v23
12052 invoke-virtual {v0, v1}, Ljava/io/PrintWriter;->print(Ljava/lang/String;)V
12054 move-wide/from16 v0, v17
12056 move-object/from16 v2, p0
12058 invoke-static {v0, v1, v2}, Landroid/util/TimeUtils;->formatDuration(JLjava/io/PrintWriter;)V
12060 const-string v23, " ("
12062 move-object/from16 v0, p0
12064 move-object/from16 v1, v23
12066 invoke-virtual {v0, v1}, Ljava/io/PrintWriter;->print(Ljava/lang/String;)V
12068 const-wide/16 v23, 0x64
12070 mul-long v23, v23, v17
12072 div-long v23, v23, v19
12074 move-object/from16 v0, p0
12076 move-wide/from16 v1, v23
12078 invoke-virtual {v0, v1, v2}, Ljava/io/PrintWriter;->print(J)V
12080 const-string v23, "%)"
12082 move-object/from16 v0, p0
12084 move-object/from16 v1, v23
12086 invoke-virtual {v0, v1}, Ljava/io/PrintWriter;->println(Ljava/lang/String;)V
12089 add-int/lit8 v9, v9, -0x1
12094 iget v0, v12, Lcom/android/server/am/ProcessRecord;->setAdj:I
12096 move/from16 v23, v0
12100 move/from16 v0, v23
12102 move/from16 v1, v24
12104 if-lt v0, v1, :cond_38c
12106 const-string v23, "svcb "
12110 iget v0, v12, Lcom/android/server/am/ProcessRecord;->setAdj:I
12112 move/from16 v25, v0
12116 invoke-static/range {v23 .. v26}, Lcom/android/server/am/ActivityManagerService;->buildOomTag(Ljava/lang/String;Ljava/lang/String;II)Ljava/lang/String;
12118 move-result-object v11
12123 iget v0, v12, Lcom/android/server/am/ProcessRecord;->setAdj:I
12125 move/from16 v23, v0
12129 move/from16 v0, v23
12131 move/from16 v1, v24
12133 if-lt v0, v1, :cond_3a8
12135 const-string v23, "prev "
12139 iget v0, v12, Lcom/android/server/am/ProcessRecord;->setAdj:I
12141 move/from16 v25, v0
12145 invoke-static/range {v23 .. v26}, Lcom/android/server/am/ActivityManagerService;->buildOomTag(Ljava/lang/String;Ljava/lang/String;II)Ljava/lang/String;
12147 move-result-object v11
12152 iget v0, v12, Lcom/android/server/am/ProcessRecord;->setAdj:I
12154 move/from16 v23, v0
12158 move/from16 v0, v23
12160 move/from16 v1, v24
12162 if-lt v0, v1, :cond_3c4
12164 const-string v23, "home "
12168 iget v0, v12, Lcom/android/server/am/ProcessRecord;->setAdj:I
12170 move/from16 v25, v0
12174 invoke-static/range {v23 .. v26}, Lcom/android/server/am/ActivityManagerService;->buildOomTag(Ljava/lang/String;Ljava/lang/String;II)Ljava/lang/String;
12176 move-result-object v11
12181 iget v0, v12, Lcom/android/server/am/ProcessRecord;->setAdj:I
12183 move/from16 v23, v0
12187 move/from16 v0, v23
12189 move/from16 v1, v24
12191 if-lt v0, v1, :cond_3e0
12193 const-string v23, "svc "
12197 iget v0, v12, Lcom/android/server/am/ProcessRecord;->setAdj:I
12199 move/from16 v25, v0
12203 invoke-static/range {v23 .. v26}, Lcom/android/server/am/ActivityManagerService;->buildOomTag(Ljava/lang/String;Ljava/lang/String;II)Ljava/lang/String;
12205 move-result-object v11
12210 iget v0, v12, Lcom/android/server/am/ProcessRecord;->setAdj:I
12212 move/from16 v23, v0
12216 move/from16 v0, v23
12218 move/from16 v1, v24
12220 if-lt v0, v1, :cond_3fc
12222 const-string v23, "bkup "
12226 iget v0, v12, Lcom/android/server/am/ProcessRecord;->setAdj:I
12228 move/from16 v25, v0
12232 invoke-static/range {v23 .. v26}, Lcom/android/server/am/ActivityManagerService;->buildOomTag(Ljava/lang/String;Ljava/lang/String;II)Ljava/lang/String;
12234 move-result-object v11
12239 iget v0, v12, Lcom/android/server/am/ProcessRecord;->setAdj:I
12241 move/from16 v23, v0
12245 move/from16 v0, v23
12247 move/from16 v1, v24
12249 if-lt v0, v1, :cond_418
12251 const-string v23, "hvy "
12255 iget v0, v12, Lcom/android/server/am/ProcessRecord;->setAdj:I
12257 move/from16 v25, v0
12261 invoke-static/range {v23 .. v26}, Lcom/android/server/am/ActivityManagerService;->buildOomTag(Ljava/lang/String;Ljava/lang/String;II)Ljava/lang/String;
12263 move-result-object v11
12268 iget v0, v12, Lcom/android/server/am/ProcessRecord;->setAdj:I
12270 move/from16 v23, v0
12274 move/from16 v0, v23
12276 move/from16 v1, v24
12278 if-lt v0, v1, :cond_434
12280 const-string v23, "prcp "
12284 iget v0, v12, Lcom/android/server/am/ProcessRecord;->setAdj:I
12286 move/from16 v25, v0
12290 invoke-static/range {v23 .. v26}, Lcom/android/server/am/ActivityManagerService;->buildOomTag(Ljava/lang/String;Ljava/lang/String;II)Ljava/lang/String;
12292 move-result-object v11
12297 iget v0, v12, Lcom/android/server/am/ProcessRecord;->setAdj:I
12299 move/from16 v23, v0
12303 move/from16 v0, v23
12305 move/from16 v1, v24
12307 if-lt v0, v1, :cond_450
12309 const-string v23, "vis "
12313 iget v0, v12, Lcom/android/server/am/ProcessRecord;->setAdj:I
12315 move/from16 v25, v0
12319 invoke-static/range {v23 .. v26}, Lcom/android/server/am/ActivityManagerService;->buildOomTag(Ljava/lang/String;Ljava/lang/String;II)Ljava/lang/String;
12321 move-result-object v11
12326 iget v0, v12, Lcom/android/server/am/ProcessRecord;->setAdj:I
12328 move/from16 v23, v0
12330 if-ltz v23, :cond_466
12332 const-string v23, "fore "
12336 iget v0, v12, Lcom/android/server/am/ProcessRecord;->setAdj:I
12338 move/from16 v25, v0
12342 invoke-static/range {v23 .. v26}, Lcom/android/server/am/ActivityManagerService;->buildOomTag(Ljava/lang/String;Ljava/lang/String;II)Ljava/lang/String;
12344 move-result-object v11
12349 iget v0, v12, Lcom/android/server/am/ProcessRecord;->setAdj:I
12351 move/from16 v23, v0
12355 move/from16 v0, v23
12357 move/from16 v1, v24
12359 if-lt v0, v1, :cond_482
12361 const-string v23, "pers "
12365 iget v0, v12, Lcom/android/server/am/ProcessRecord;->setAdj:I
12367 move/from16 v25, v0
12371 invoke-static/range {v23 .. v26}, Lcom/android/server/am/ActivityManagerService;->buildOomTag(Ljava/lang/String;Ljava/lang/String;II)Ljava/lang/String;
12373 move-result-object v11
12378 iget v0, v12, Lcom/android/server/am/ProcessRecord;->setAdj:I
12380 move/from16 v23, v0
12382 const/16 v24, -0x10
12384 move/from16 v0, v23
12386 move/from16 v1, v24
12388 if-lt v0, v1, :cond_49e
12390 const-string v23, "sys "
12394 iget v0, v12, Lcom/android/server/am/ProcessRecord;->setAdj:I
12396 move/from16 v25, v0
12398 const/16 v26, -0x10
12400 invoke-static/range {v23 .. v26}, Lcom/android/server/am/ActivityManagerService;->buildOomTag(Ljava/lang/String;Ljava/lang/String;II)Ljava/lang/String;
12402 move-result-object v11
12407 iget v0, v12, Lcom/android/server/am/ProcessRecord;->setAdj:I
12409 move/from16 v23, v0
12411 invoke-static/range {v23 .. v23}, Ljava/lang/Integer;->toString(I)Ljava/lang/String;
12413 move-result-object v11
12418 const-string v15, "B"
12423 const-string v15, "F"
12428 iget-boolean v0, v12, Lcom/android/server/am/ProcessRecord;->foregroundServices:Z
12430 move/from16 v23, v0
12432 if-eqz v23, :cond_4ba
12434 const-string v8, "S"
12439 const-string v8, " "
12444 move-object/from16 v23, p4
12449 iget-object v0, v12, Lcom/android/server/am/ProcessRecord;->adjTarget:Ljava/lang/Object;
12451 move-object/from16 v23, v0
12453 if-eqz v23, :cond_4d9
12455 iget-object v0, v12, Lcom/android/server/am/ProcessRecord;->adjTarget:Ljava/lang/Object;
12457 move-object/from16 v23, v0
12459 invoke-virtual/range {v23 .. v23}, Ljava/lang/Object;->toString()Ljava/lang/String;
12461 move-result-object v23
12463 move-object/from16 v0, p0
12465 move-object/from16 v1, v23
12467 invoke-virtual {v0, v1}, Ljava/io/PrintWriter;->print(Ljava/lang/String;)V
12472 const-string v23, "{null}"
12474 move-object/from16 v0, p0
12476 move-object/from16 v1, v23
12478 invoke-virtual {v0, v1}, Ljava/io/PrintWriter;->print(Ljava/lang/String;)V
12483 iget-object v0, v12, Lcom/android/server/am/ProcessRecord;->adjSource:Ljava/lang/Object;
12485 move-object/from16 v23, v0
12487 if-eqz v23, :cond_4fb
12489 iget-object v0, v12, Lcom/android/server/am/ProcessRecord;->adjSource:Ljava/lang/Object;
12491 move-object/from16 v23, v0
12493 invoke-virtual/range {v23 .. v23}, Ljava/lang/Object;->toString()Ljava/lang/String;
12495 move-result-object v23
12497 move-object/from16 v0, p0
12499 move-object/from16 v1, v23
12501 invoke-virtual {v0, v1}, Ljava/io/PrintWriter;->println(Ljava/lang/String;)V
12506 const-string v23, "{null}"
12508 move-object/from16 v0, p0
12510 move-object/from16 v1, v23
12512 invoke-virtual {v0, v1}, Ljava/io/PrintWriter;->println(Ljava/lang/String;)V
12522 .catchall {:try_start_507 .. :try_end_508} :catchall_506
12534 .packed-switch -0x1
12540 .method private dumpService(Ljava/lang/String;Ljava/io/FileDescriptor;Ljava/io/PrintWriter;Lcom/android/server/am/ServiceRecord;[Ljava/lang/String;Z)V
12543 new-instance v3, Ljava/lang/StringBuilder;
12545 invoke-direct {v3}, Ljava/lang/StringBuilder;-><init>()V
12547 invoke-virtual {v3, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
12549 move-result-object v3
12551 const-string v4, " "
12553 invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
12555 move-result-object v3
12557 invoke-virtual {v3}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
12559 move-result-object v1
12564 invoke-virtual {p3, p1}, Ljava/io/PrintWriter;->print(Ljava/lang/String;)V
12566 const-string v3, "SERVICE "
12568 invoke-virtual {p3, v3}, Ljava/io/PrintWriter;->print(Ljava/lang/String;)V
12570 iget-object v3, p4, Lcom/android/server/am/ServiceRecord;->shortName:Ljava/lang/String;
12572 invoke-virtual {p3, v3}, Ljava/io/PrintWriter;->print(Ljava/lang/String;)V
12574 const-string v3, " "
12576 invoke-virtual {p3, v3}, Ljava/io/PrintWriter;->print(Ljava/lang/String;)V
12578 invoke-static {p4}, Ljava/lang/System;->identityHashCode(Ljava/lang/Object;)I
12582 invoke-static {v3}, Ljava/lang/Integer;->toHexString(I)Ljava/lang/String;
12584 move-result-object v3
12586 invoke-virtual {p3, v3}, Ljava/io/PrintWriter;->print(Ljava/lang/String;)V
12588 const-string v3, " pid="
12590 invoke-virtual {p3, v3}, Ljava/io/PrintWriter;->print(Ljava/lang/String;)V
12592 iget-object v3, p4, Lcom/android/server/am/ServiceRecord;->app:Lcom/android/server/am/ProcessRecord;
12594 if-eqz v3, :cond_8d
12596 iget-object v3, p4, Lcom/android/server/am/ServiceRecord;->app:Lcom/android/server/am/ProcessRecord;
12598 iget v3, v3, Lcom/android/server/am/ProcessRecord;->pid:I
12600 invoke-virtual {p3, v3}, Ljava/io/PrintWriter;->println(I)V
12603 if-eqz p6, :cond_46
12605 invoke-virtual {p4, p3, v1}, Lcom/android/server/am/ServiceRecord;->dump(Ljava/io/PrintWriter;Ljava/lang/String;)V
12610 .catchall {:try_start_14 .. :try_end_47} :catchall_93
12612 iget-object v3, p4, Lcom/android/server/am/ServiceRecord;->app:Lcom/android/server/am/ProcessRecord;
12614 if-eqz v3, :cond_8c
12616 iget-object v3, p4, Lcom/android/server/am/ServiceRecord;->app:Lcom/android/server/am/ProcessRecord;
12618 iget-object v3, v3, Lcom/android/server/am/ProcessRecord;->thread:Landroid/app/IApplicationThread;
12620 if-eqz v3, :cond_8c
12622 invoke-virtual {p3, p1}, Ljava/io/PrintWriter;->print(Ljava/lang/String;)V
12624 const-string v3, " Client:"
12626 invoke-virtual {p3, v3}, Ljava/io/PrintWriter;->println(Ljava/lang/String;)V
12628 invoke-virtual {p3}, Ljava/io/PrintWriter;->flush()V
12631 new-instance v2, Lcom/android/server/am/TransferPipe;
12633 invoke-direct {v2}, Lcom/android/server/am/TransferPipe;-><init>()V
12635 .catch Ljava/io/IOException; {:try_start_5c .. :try_end_61} :catch_9b
12636 .catch Landroid/os/RemoteException; {:try_start_5c .. :try_end_61} :catch_b7
12639 iget-object v3, p4, Lcom/android/server/am/ServiceRecord;->app:Lcom/android/server/am/ProcessRecord;
12641 iget-object v3, v3, Lcom/android/server/am/ProcessRecord;->thread:Landroid/app/IApplicationThread;
12643 invoke-virtual {v2}, Lcom/android/server/am/TransferPipe;->getWriteFd()Landroid/os/ParcelFileDescriptor;
12645 move-result-object v4
12647 invoke-virtual {v4}, Landroid/os/ParcelFileDescriptor;->getFileDescriptor()Ljava/io/FileDescriptor;
12649 move-result-object v4
12651 invoke-interface {v3, v4, p4, p5}, Landroid/app/IApplicationThread;->dumpService(Ljava/io/FileDescriptor;Landroid/os/IBinder;[Ljava/lang/String;)V
12653 new-instance v3, Ljava/lang/StringBuilder;
12655 invoke-direct {v3}, Ljava/lang/StringBuilder;-><init>()V
12657 invoke-virtual {v3, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
12659 move-result-object v3
12661 const-string v4, " "
12663 invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
12665 move-result-object v3
12667 invoke-virtual {v3}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
12669 move-result-object v3
12671 invoke-virtual {v2, v3}, Lcom/android/server/am/TransferPipe;->setBufferPrefix(Ljava/lang/String;)V
12673 invoke-virtual {v2, p2}, Lcom/android/server/am/TransferPipe;->go(Ljava/io/FileDescriptor;)V
12675 .catchall {:try_start_61 .. :try_end_89} :catchall_96
12678 invoke-virtual {v2}, Lcom/android/server/am/TransferPipe;->kill()V
12680 .catch Ljava/io/IOException; {:try_start_89 .. :try_end_8c} :catch_9b
12681 .catch Landroid/os/RemoteException; {:try_start_89 .. :try_end_8c} :catch_b7
12689 const-string v3, "(not running)"
12691 invoke-virtual {p3, v3}, Ljava/io/PrintWriter;->println(Ljava/lang/String;)V
12700 .catchall {:try_start_8d .. :try_end_95} :catchall_93
12708 invoke-virtual {v2}, Lcom/android/server/am/TransferPipe;->kill()V
12712 .catch Ljava/io/IOException; {:try_start_97 .. :try_end_9b} :catch_9b
12713 .catch Landroid/os/RemoteException; {:try_start_97 .. :try_end_9b} :catch_b7
12718 new-instance v3, Ljava/lang/StringBuilder;
12720 invoke-direct {v3}, Ljava/lang/StringBuilder;-><init>()V
12722 invoke-virtual {v3, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
12724 move-result-object v3
12726 const-string v4, " Failure while dumping the service: "
12728 invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
12730 move-result-object v3
12732 invoke-virtual {v3, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
12734 move-result-object v3
12736 invoke-virtual {v3}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
12738 move-result-object v3
12740 invoke-virtual {p3, v3}, Ljava/io/PrintWriter;->println(Ljava/lang/String;)V
12747 new-instance v3, Ljava/lang/StringBuilder;
12749 invoke-direct {v3}, Ljava/lang/StringBuilder;-><init>()V
12751 invoke-virtual {v3, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
12753 move-result-object v3
12755 const-string v4, " Got a RemoteException while dumping the service"
12757 invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
12759 move-result-object v3
12761 invoke-virtual {v3}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
12763 move-result-object v3
12765 invoke-virtual {p3, v3}, Ljava/io/PrintWriter;->println(Ljava/lang/String;)V
12770 .method public static dumpStackTraces(ZLjava/util/ArrayList;Lcom/android/internal/os/ProcessStats;Landroid/util/SparseArray;[Ljava/lang/String;)Ljava/io/File;
12772 .annotation system Ldalvik/annotation/Signature;
12775 "Ljava/util/ArrayList",
12777 "Ljava/lang/Integer;",
12779 "Lcom/android/internal/os/ProcessStats;",
12780 "Landroid/util/SparseArray",
12782 "Ljava/lang/Boolean;",
12784 "Ljava/lang/String;",
12792 const-string v5, "dalvik.vm.stack-trace-file"
12794 invoke-static {v5, v4}, Landroid/os/SystemProperties;->get(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
12796 move-result-object v3
12800 invoke-virtual {v3}, Ljava/lang/String;->length()I
12804 if-nez v5, :cond_11
12813 new-instance v2, Ljava/io/File;
12815 invoke-direct {v2, v3}, Ljava/io/File;-><init>(Ljava/lang/String;)V
12818 invoke-virtual {v2}, Ljava/io/File;->getParentFile()Ljava/io/File;
12820 move-result-object v1
12822 invoke-virtual {v1}, Ljava/io/File;->exists()Z
12826 if-nez v5, :cond_23
12828 invoke-virtual {v2}, Ljava/io/File;->mkdirs()Z
12831 invoke-virtual {v1}, Ljava/io/File;->getPath()Ljava/lang/String;
12833 move-result-object v5
12841 invoke-static {v5, v6, v7, v8}, Landroid/os/FileUtils;->setPermissions(Ljava/lang/String;III)I
12843 if-eqz p0, :cond_39
12845 invoke-virtual {v2}, Ljava/io/File;->exists()Z
12849 if-eqz v5, :cond_39
12851 invoke-virtual {v2}, Ljava/io/File;->delete()Z
12854 invoke-virtual {v2}, Ljava/io/File;->createNewFile()Z
12856 invoke-virtual {v2}, Ljava/io/File;->getPath()Ljava/lang/String;
12858 move-result-object v5
12866 invoke-static {v5, v6, v7, v8}, Landroid/os/FileUtils;->setPermissions(Ljava/lang/String;III)I
12868 .catch Ljava/io/IOException; {:try_start_16 .. :try_end_47} :catch_4b
12870 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
12877 const-string v5, "ActivityManager"
12879 new-instance v6, Ljava/lang/StringBuilder;
12881 invoke-direct {v6}, Ljava/lang/StringBuilder;-><init>()V
12883 const-string v7, "Unable to prepare ANR traces file: "
12885 invoke-virtual {v6, v7}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
12887 move-result-object v6
12889 invoke-virtual {v6, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
12891 move-result-object v6
12893 invoke-virtual {v6}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
12895 move-result-object v6
12897 invoke-static {v5, v6, v0}, Landroid/util/Slog;->w(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I
12904 .method private static dumpStackTraces(Ljava/lang/String;Ljava/util/ArrayList;Lcom/android/internal/os/ProcessStats;Landroid/util/SparseArray;[Ljava/lang/String;)V
12906 .annotation system Ldalvik/annotation/Signature;
12909 "Ljava/lang/String;",
12910 "Ljava/util/ArrayList",
12912 "Ljava/lang/Integer;",
12914 "Lcom/android/internal/os/ProcessStats;",
12915 "Landroid/util/SparseArray",
12917 "Ljava/lang/Boolean;",
12919 "Ljava/lang/String;",
12924 new-instance v9, Lcom/android/server/am/ActivityManagerService$4;
12928 invoke-direct {v9, p0, v13}, Lcom/android/server/am/ActivityManagerService$4;-><init>(Ljava/lang/String;I)V
12931 invoke-virtual {v9}, Landroid/os/FileObserver;->startWatching()V
12933 .catchall {:try_start_7 .. :try_end_a} :catchall_89
12935 if-eqz p1, :cond_36
12938 invoke-virtual/range {p1 .. p1}, Ljava/util/ArrayList;->size()I
12945 if-ge v4, v7, :cond_36
12949 .catchall {:try_start_c .. :try_end_14} :catchall_89
12950 .catch Ljava/lang/InterruptedException; {:try_start_c .. :try_end_14} :catch_30
12953 move-object/from16 v0, p1
12955 invoke-virtual {v0, v4}, Ljava/util/ArrayList;->get(I)Ljava/lang/Object;
12957 move-result-object v13
12959 check-cast v13, Ljava/lang/Integer;
12961 invoke-virtual {v13}, Ljava/lang/Integer;->intValue()I
12967 invoke-static {v13, v14}, Landroid/os/Process;->sendSignal(II)V
12969 const-wide/16 v13, 0xc8
12971 invoke-virtual {v9, v13, v14}, Ljava/lang/Object;->wait(J)V
12975 add-int/lit8 v4, v4, 0x1
12984 .catchall {:try_start_14 .. :try_end_2f} :catchall_2d
12989 .catchall {:try_start_2f .. :try_end_30} :catchall_89
12990 .catch Ljava/lang/InterruptedException; {:try_start_2f .. :try_end_30} :catch_30
12996 const-string v13, "ActivityManager"
12998 invoke-static {v13, v3}, Landroid/util/Log;->wtf(Ljava/lang/String;Ljava/lang/Throwable;)I
13001 if-eqz p2, :cond_8e
13003 invoke-virtual/range {p2 .. p2}, Lcom/android/internal/os/ProcessStats;->init()V
13005 invoke-static {}, Ljava/lang/System;->gc()V
13007 invoke-virtual/range {p2 .. p2}, Lcom/android/internal/os/ProcessStats;->update()V
13009 .catchall {:try_start_31 .. :try_end_41} :catchall_89
13014 .catchall {:try_start_41 .. :try_end_42} :catchall_89
13015 .catch Ljava/lang/InterruptedException; {:try_start_41 .. :try_end_42} :catch_7d
13017 const-wide/16 v13, 0x1f4
13020 move-object/from16 v0, p2
13022 invoke-virtual {v0, v13, v14}, Ljava/lang/Object;->wait(J)V
13026 .catchall {:try_start_44 .. :try_end_4a} :catchall_7a
13030 invoke-virtual/range {p2 .. p2}, Lcom/android/internal/os/ProcessStats;->update()V
13032 invoke-virtual/range {p2 .. p2}, Lcom/android/internal/os/ProcessStats;->countWorkingStats()I
13041 if-ge v4, v1, :cond_8e
13045 if-ge v8, v13, :cond_8e
13047 move-object/from16 v0, p2
13049 invoke-virtual {v0, v4}, Lcom/android/internal/os/ProcessStats;->getWorkingStats(I)Lcom/android/internal/os/ProcessStats$Stats;
13051 move-result-object v12
13053 iget v13, v12, Lcom/android/internal/os/ProcessStats$Stats;->pid:I
13055 move-object/from16 v0, p3
13057 invoke-virtual {v0, v13}, Landroid/util/SparseArray;->indexOfKey(I)I
13059 .catchall {:try_start_4a .. :try_end_65} :catchall_89
13063 if-ltz v13, :cond_77
13065 add-int/lit8 v8, v8, 0x1
13070 .catchall {:try_start_6a .. :try_end_6b} :catchall_89
13071 .catch Ljava/lang/InterruptedException; {:try_start_6a .. :try_end_6b} :catch_82
13074 iget v13, v12, Lcom/android/internal/os/ProcessStats$Stats;->pid:I
13078 invoke-static {v13, v14}, Landroid/os/Process;->sendSignal(II)V
13080 const-wide/16 v13, 0xc8
13082 invoke-virtual {v9, v13, v14}, Ljava/lang/Object;->wait(J)V
13086 .catchall {:try_start_6b .. :try_end_77} :catchall_7f
13090 add-int/lit8 v4, v4, 0x1
13100 .catchall {:try_start_7b .. :try_end_7c} :catchall_7a
13105 .catchall {:try_start_7c .. :try_end_7d} :catchall_89
13106 .catch Ljava/lang/InterruptedException; {:try_start_7c .. :try_end_7d} :catch_7d
13119 .catchall {:try_start_80 .. :try_end_81} :catchall_7f
13124 .catchall {:try_start_81 .. :try_end_82} :catchall_89
13125 .catch Ljava/lang/InterruptedException; {:try_start_81 .. :try_end_82} :catch_82
13131 const-string v13, "ActivityManager"
13133 invoke-static {v13, v3}, Landroid/util/Log;->wtf(Ljava/lang/String;Ljava/lang/Throwable;)I
13135 .catchall {:try_start_83 .. :try_end_88} :catchall_89
13142 invoke-virtual {v9}, Landroid/os/FileObserver;->stopWatching()V
13147 invoke-virtual {v9}, Landroid/os/FileObserver;->stopWatching()V
13149 if-eqz p4, :cond_a6
13151 invoke-static/range {p4 .. p4}, Landroid/os/Process;->getPidsForCommands([Ljava/lang/String;)[I
13153 move-result-object v11
13155 if-eqz v11, :cond_a6
13157 move-object v2, v11
13159 array-length v6, v2
13164 if-ge v5, v6, :cond_a6
13168 invoke-static {v10, p0}, Landroid/os/Debug;->dumpNativeBacktraceToFile(ILjava/lang/String;)V
13170 add-int/lit8 v5, v5, 0x1
13178 .method private fillInProcMemInfo(Lcom/android/server/am/ProcessRecord;Landroid/app/ActivityManager$RunningAppProcessInfo;)V
13181 iget v1, p1, Lcom/android/server/am/ProcessRecord;->pid:I
13183 iput v1, p2, Landroid/app/ActivityManager$RunningAppProcessInfo;->pid:I
13185 iget-object v1, p1, Lcom/android/server/am/ProcessRecord;->info:Landroid/content/pm/ApplicationInfo;
13187 iget v1, v1, Landroid/content/pm/ApplicationInfo;->uid:I
13189 iput v1, p2, Landroid/app/ActivityManager$RunningAppProcessInfo;->uid:I
13191 iget-object v1, p0, Lcom/android/server/am/ActivityManagerService;->mHeavyWeightProcess:Lcom/android/server/am/ProcessRecord;
13193 if-ne v1, p1, :cond_14
13195 iget v1, p2, Landroid/app/ActivityManager$RunningAppProcessInfo;->flags:I
13197 or-int/lit8 v1, v1, 0x1
13199 iput v1, p2, Landroid/app/ActivityManager$RunningAppProcessInfo;->flags:I
13202 iget-boolean v1, p1, Lcom/android/server/am/ProcessRecord;->persistent:Z
13204 if-eqz v1, :cond_1e
13206 iget v1, p2, Landroid/app/ActivityManager$RunningAppProcessInfo;->flags:I
13208 or-int/lit8 v1, v1, 0x2
13210 iput v1, p2, Landroid/app/ActivityManager$RunningAppProcessInfo;->flags:I
13213 iget v1, p1, Lcom/android/server/am/ProcessRecord;->trimMemoryLevel:I
13215 iput v1, p2, Landroid/app/ActivityManager$RunningAppProcessInfo;->lastTrimLevel:I
13217 iget v0, p1, Lcom/android/server/am/ProcessRecord;->curAdj:I
13219 invoke-static {v0, p2}, Lcom/android/server/am/ActivityManagerService;->oomAdjToImportance(ILandroid/app/ActivityManager$RunningAppProcessInfo;)I
13223 iput v1, p2, Landroid/app/ActivityManager$RunningAppProcessInfo;->importance:I
13225 iget v1, p1, Lcom/android/server/am/ProcessRecord;->adjTypeCode:I
13227 iput v1, p2, Landroid/app/ActivityManager$RunningAppProcessInfo;->importanceReasonCode:I
13232 .method private final findAffinityTaskTopLocked(ILjava/lang/String;)I
13235 iget-object v5, p0, Lcom/android/server/am/ActivityManagerService;->mMainStack:Lcom/android/server/am/ActivityStack;
13237 iget-object v5, v5, Lcom/android/server/am/ActivityStack;->mHistory:Ljava/util/ArrayList;
13239 invoke-virtual {v5, p1}, Ljava/util/ArrayList;->get(I)Ljava/lang/Object;
13241 move-result-object v5
13243 check-cast v5, Lcom/android/server/am/ActivityRecord;
13245 iget-object v4, v5, Lcom/android/server/am/ActivityRecord;->task:Lcom/android/server/am/TaskRecord;
13249 add-int/lit8 v1, p1, -0x1
13252 if-ltz v1, :cond_2e
13254 iget-object v5, p0, Lcom/android/server/am/ActivityManagerService;->mMainStack:Lcom/android/server/am/ActivityStack;
13256 iget-object v5, v5, Lcom/android/server/am/ActivityStack;->mHistory:Ljava/util/ArrayList;
13258 invoke-virtual {v5, v1}, Ljava/util/ArrayList;->get(I)Ljava/lang/Object;
13260 move-result-object v3
13262 check-cast v3, Lcom/android/server/am/ActivityRecord;
13264 iget-object v5, v3, Lcom/android/server/am/ActivityRecord;->task:Lcom/android/server/am/TaskRecord;
13266 if-eq v5, v2, :cond_2b
13268 iget-object v2, v3, Lcom/android/server/am/ActivityRecord;->task:Lcom/android/server/am/TaskRecord;
13270 iget-object v5, v2, Lcom/android/server/am/TaskRecord;->affinity:Ljava/lang/String;
13272 invoke-virtual {p2, v5}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
13276 if-eqz v5, :cond_2b
13284 add-int/lit8 v1, v1, -0x1
13289 iget-object v5, p0, Lcom/android/server/am/ActivityManagerService;->mMainStack:Lcom/android/server/am/ActivityStack;
13291 iget-object v5, v5, Lcom/android/server/am/ActivityStack;->mHistory:Ljava/util/ArrayList;
13293 invoke-virtual {v5}, Ljava/util/ArrayList;->size()I
13299 add-int/lit8 v1, p1, 0x1
13302 if-ge v1, v0, :cond_58
13304 iget-object v5, p0, Lcom/android/server/am/ActivityManagerService;->mMainStack:Lcom/android/server/am/ActivityStack;
13306 iget-object v5, v5, Lcom/android/server/am/ActivityStack;->mHistory:Ljava/util/ArrayList;
13308 invoke-virtual {v5, v1}, Ljava/util/ArrayList;->get(I)Ljava/lang/Object;
13310 move-result-object v3
13312 check-cast v3, Lcom/android/server/am/ActivityRecord;
13314 iget-object v5, v3, Lcom/android/server/am/ActivityRecord;->task:Lcom/android/server/am/TaskRecord;
13316 if-eq v5, v2, :cond_55
13318 iget-object v5, v2, Lcom/android/server/am/TaskRecord;->affinity:Ljava/lang/String;
13320 invoke-virtual {p2, v5}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
13324 if-eqz v5, :cond_53
13331 iget-object v2, v3, Lcom/android/server/am/ActivityRecord;->task:Lcom/android/server/am/TaskRecord;
13334 add-int/lit8 v1, v1, 0x1
13339 iget-object v5, p0, Lcom/android/server/am/ActivityManagerService;->mMainStack:Lcom/android/server/am/ActivityStack;
13341 iget-object v5, v5, Lcom/android/server/am/ActivityStack;->mHistory:Ljava/util/ArrayList;
13343 add-int/lit8 v6, v0, -0x1
13345 invoke-virtual {v5, v6}, Ljava/util/ArrayList;->get(I)Ljava/lang/Object;
13347 move-result-object v5
13349 check-cast v5, Lcom/android/server/am/ActivityRecord;
13351 iget-object v5, v5, Lcom/android/server/am/ActivityRecord;->task:Lcom/android/server/am/TaskRecord;
13353 iget-object v5, v5, Lcom/android/server/am/TaskRecord;->affinity:Ljava/lang/String;
13355 invoke-virtual {p2, v5}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
13359 if-eqz v5, :cond_71
13361 add-int/lit8 v5, v0, -0x1
13371 .method private findAppProcess(Landroid/os/IBinder;Ljava/lang/String;)Lcom/android/server/am/ProcessRecord;
13387 iget-object v6, p0, Lcom/android/server/am/ActivityManagerService;->mProcessNames:Lcom/android/server/ProcessMap;
13389 invoke-virtual {v6}, Lcom/android/server/ProcessMap;->getMap()Ljava/util/HashMap;
13391 move-result-object v6
13393 invoke-virtual {v6}, Ljava/util/HashMap;->values()Ljava/util/Collection;
13395 move-result-object v6
13397 invoke-interface {v6}, Ljava/util/Collection;->iterator()Ljava/util/Iterator;
13399 move-result-object v2
13402 invoke-interface {v2}, Ljava/util/Iterator;->hasNext()Z
13406 if-eqz v6, :cond_41
13408 invoke-interface {v2}, Ljava/util/Iterator;->next()Ljava/lang/Object;
13410 move-result-object v1
13412 check-cast v1, Landroid/util/SparseArray;
13414 invoke-virtual {v1}, Landroid/util/SparseArray;->size()I
13421 if-ge v3, v0, :cond_14
13423 invoke-virtual {v1, v3}, Landroid/util/SparseArray;->valueAt(I)Ljava/lang/Object;
13425 move-result-object v4
13427 check-cast v4, Lcom/android/server/am/ProcessRecord;
13429 iget-object v6, v4, Lcom/android/server/am/ProcessRecord;->thread:Landroid/app/IApplicationThread;
13431 if-eqz v6, :cond_3e
13433 iget-object v6, v4, Lcom/android/server/am/ProcessRecord;->thread:Landroid/app/IApplicationThread;
13435 invoke-interface {v6}, Landroid/app/IApplicationThread;->asBinder()Landroid/os/IBinder;
13437 move-result-object v6
13439 if-ne v6, p1, :cond_3e
13450 .catchall {:try_start_6 .. :try_end_3d} :catchall_3b
13455 add-int/lit8 v3, v3, 0x1
13461 const-string v6, "ActivityManager"
13463 new-instance v7, Ljava/lang/StringBuilder;
13465 invoke-direct {v7}, Ljava/lang/StringBuilder;-><init>()V
13467 const-string v8, "Can\'t find mystery application for "
13469 invoke-virtual {v7, v8}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
13471 move-result-object v7
13473 invoke-virtual {v7, p2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
13475 move-result-object v7
13477 const-string v8, " from pid="
13479 invoke-virtual {v7, v8}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
13481 move-result-object v7
13483 invoke-static {}, Landroid/os/Binder;->getCallingPid()I
13487 invoke-virtual {v7, v8}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
13489 move-result-object v7
13491 const-string v8, " uid="
13493 invoke-virtual {v7, v8}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
13495 move-result-object v7
13497 invoke-static {}, Landroid/os/Binder;->getCallingUid()I
13501 invoke-virtual {v7, v8}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
13503 move-result-object v7
13505 const-string v8, ": "
13507 invoke-virtual {v7, v8}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
13509 move-result-object v7
13511 invoke-virtual {v7, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
13513 move-result-object v7
13515 invoke-virtual {v7}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
13517 move-result-object v7
13519 invoke-static {v6, v7}, Landroid/util/Slog;->w(Ljava/lang/String;Ljava/lang/String;)I
13523 .catchall {:try_start_41 .. :try_end_80} :catchall_3b
13530 .method private findServiceLocked(Landroid/content/Intent;Ljava/lang/String;I)Lcom/android/server/am/ActivityManagerService$ServiceLookupResult;
13537 invoke-virtual {p1}, Landroid/content/Intent;->getComponent()Landroid/content/ComponentName;
13539 move-result-object v0
13541 if-eqz v0, :cond_12
13543 iget-object v0, p0, Lcom/android/server/am/ActivityManagerService;->mServiceMap:Lcom/android/server/am/ActivityManagerService$ServiceMap;
13545 invoke-virtual {p1}, Landroid/content/Intent;->getComponent()Landroid/content/ComponentName;
13547 move-result-object v1
13549 invoke-virtual {v0, v1, p3}, Lcom/android/server/am/ActivityManagerService$ServiceMap;->getServiceByName(Landroid/content/ComponentName;I)Lcom/android/server/am/ServiceRecord;
13551 move-result-object v8
13554 if-nez v8, :cond_1f
13556 new-instance v6, Landroid/content/Intent$FilterComparison;
13558 invoke-direct {v6, p1}, Landroid/content/Intent$FilterComparison;-><init>(Landroid/content/Intent;)V
13560 iget-object v0, p0, Lcom/android/server/am/ActivityManagerService;->mServiceMap:Lcom/android/server/am/ActivityManagerService$ServiceMap;
13562 invoke-virtual {v0, v6, p3}, Lcom/android/server/am/ActivityManagerService$ServiceMap;->getServiceByIntent(Landroid/content/Intent$FilterComparison;I)Lcom/android/server/am/ServiceRecord;
13564 move-result-object v8
13567 if-nez v8, :cond_49
13570 invoke-static {}, Landroid/app/AppGlobals;->getPackageManager()Landroid/content/pm/IPackageManager;
13572 move-result-object v0
13576 invoke-interface {v0, p1, p2, v1, p3}, Landroid/content/pm/IPackageManager;->resolveService(Landroid/content/Intent;Ljava/lang/String;II)Landroid/content/pm/ResolveInfo;
13578 move-result-object v9
13580 if-eqz v9, :cond_32
13582 iget-object v10, v9, Landroid/content/pm/ResolveInfo;->serviceInfo:Landroid/content/pm/ServiceInfo;
13585 if-nez v10, :cond_34
13587 move-object v0, v11
13593 move-object v10, v11
13598 new-instance v7, Landroid/content/ComponentName;
13600 iget-object v0, v10, Landroid/content/pm/ServiceInfo;->applicationInfo:Landroid/content/pm/ApplicationInfo;
13602 iget-object v0, v0, Landroid/content/pm/ApplicationInfo;->packageName:Ljava/lang/String;
13604 iget-object v1, v10, Landroid/content/pm/ServiceInfo;->name:Ljava/lang/String;
13606 invoke-direct {v7, v0, v1}, Landroid/content/ComponentName;-><init>(Ljava/lang/String;Ljava/lang/String;)V
13608 iget-object v0, p0, Lcom/android/server/am/ActivityManagerService;->mServiceMap:Lcom/android/server/am/ActivityManagerService$ServiceMap;
13610 invoke-static {}, Landroid/os/Binder;->getOrigCallingUser()I
13614 invoke-virtual {v0, v7, v1}, Lcom/android/server/am/ActivityManagerService$ServiceMap;->getServiceByName(Landroid/content/ComponentName;I)Lcom/android/server/am/ServiceRecord;
13616 .catch Landroid/os/RemoteException; {:try_start_21 .. :try_end_48} :catch_10d
13618 move-result-object v8
13622 if-eqz v8, :cond_10a
13624 invoke-static {}, Landroid/os/Binder;->getCallingPid()I
13628 invoke-static {}, Landroid/os/Binder;->getCallingUid()I
13632 iget-object v1, v8, Lcom/android/server/am/ServiceRecord;->permission:Ljava/lang/String;
13634 iget-object v0, v8, Lcom/android/server/am/ServiceRecord;->appInfo:Landroid/content/pm/ApplicationInfo;
13636 iget v4, v0, Landroid/content/pm/ApplicationInfo;->uid:I
13638 iget-boolean v5, v8, Lcom/android/server/am/ServiceRecord;->exported:Z
13642 invoke-virtual/range {v0 .. v5}, Lcom/android/server/am/ActivityManagerService;->checkComponentPermission(Ljava/lang/String;IIIZ)I
13646 if-eqz v0, :cond_103
13648 iget-boolean v0, v8, Lcom/android/server/am/ServiceRecord;->exported:Z
13650 if-nez v0, :cond_c0
13652 const-string v0, "ActivityManager"
13654 new-instance v1, Ljava/lang/StringBuilder;
13656 invoke-direct {v1}, Ljava/lang/StringBuilder;-><init>()V
13658 const-string v4, "Permission Denial: Accessing service "
13660 invoke-virtual {v1, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
13662 move-result-object v1
13664 iget-object v4, v8, Lcom/android/server/am/ServiceRecord;->name:Landroid/content/ComponentName;
13666 invoke-virtual {v1, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
13668 move-result-object v1
13670 const-string v4, " from pid="
13672 invoke-virtual {v1, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
13674 move-result-object v1
13676 invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
13678 move-result-object v1
13680 const-string v4, ", uid="
13682 invoke-virtual {v1, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
13684 move-result-object v1
13686 invoke-virtual {v1, v3}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
13688 move-result-object v1
13690 const-string v4, " that is not exported from uid "
13692 invoke-virtual {v1, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
13694 move-result-object v1
13696 iget-object v4, v8, Lcom/android/server/am/ServiceRecord;->appInfo:Landroid/content/pm/ApplicationInfo;
13698 iget v4, v4, Landroid/content/pm/ApplicationInfo;->uid:I
13700 invoke-virtual {v1, v4}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
13702 move-result-object v1
13704 invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
13706 move-result-object v1
13708 invoke-static {v0, v1}, Landroid/util/Slog;->w(Ljava/lang/String;Ljava/lang/String;)I
13710 new-instance v0, Lcom/android/server/am/ActivityManagerService$ServiceLookupResult;
13712 new-instance v1, Ljava/lang/StringBuilder;
13714 invoke-direct {v1}, Ljava/lang/StringBuilder;-><init>()V
13716 const-string v4, "not exported from uid "
13718 invoke-virtual {v1, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
13720 move-result-object v1
13722 iget-object v4, v8, Lcom/android/server/am/ServiceRecord;->appInfo:Landroid/content/pm/ApplicationInfo;
13724 iget v4, v4, Landroid/content/pm/ApplicationInfo;->uid:I
13726 invoke-virtual {v1, v4}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
13728 move-result-object v1
13730 invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
13732 move-result-object v1
13734 invoke-direct {v0, p0, v11, v1}, Lcom/android/server/am/ActivityManagerService$ServiceLookupResult;-><init>(Lcom/android/server/am/ActivityManagerService;Lcom/android/server/am/ServiceRecord;Ljava/lang/String;)V
13739 const-string v0, "ActivityManager"
13741 new-instance v1, Ljava/lang/StringBuilder;
13743 invoke-direct {v1}, Ljava/lang/StringBuilder;-><init>()V
13745 const-string v4, "Permission Denial: Accessing service "
13747 invoke-virtual {v1, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
13749 move-result-object v1
13751 iget-object v4, v8, Lcom/android/server/am/ServiceRecord;->name:Landroid/content/ComponentName;
13753 invoke-virtual {v1, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
13755 move-result-object v1
13757 const-string v4, " from pid="
13759 invoke-virtual {v1, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
13761 move-result-object v1
13763 invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
13765 move-result-object v1
13767 const-string v4, ", uid="
13769 invoke-virtual {v1, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
13771 move-result-object v1
13773 invoke-virtual {v1, v3}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
13775 move-result-object v1
13777 const-string v4, " requires "
13779 invoke-virtual {v1, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
13781 move-result-object v1
13783 iget-object v4, v8, Lcom/android/server/am/ServiceRecord;->permission:Ljava/lang/String;
13785 invoke-virtual {v1, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
13787 move-result-object v1
13789 invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
13791 move-result-object v1
13793 invoke-static {v0, v1}, Landroid/util/Slog;->w(Ljava/lang/String;Ljava/lang/String;)I
13795 new-instance v0, Lcom/android/server/am/ActivityManagerService$ServiceLookupResult;
13797 iget-object v1, v8, Lcom/android/server/am/ServiceRecord;->permission:Ljava/lang/String;
13799 invoke-direct {v0, p0, v11, v1}, Lcom/android/server/am/ActivityManagerService$ServiceLookupResult;-><init>(Lcom/android/server/am/ActivityManagerService;Lcom/android/server/am/ServiceRecord;Ljava/lang/String;)V
13804 new-instance v0, Lcom/android/server/am/ActivityManagerService$ServiceLookupResult;
13806 invoke-direct {v0, p0, v8, v11}, Lcom/android/server/am/ActivityManagerService$ServiceLookupResult;-><init>(Lcom/android/server/am/ActivityManagerService;Lcom/android/server/am/ServiceRecord;Ljava/lang/String;)V
13811 move-object v0, v11
13821 .method private final findServiceLocked(Landroid/content/ComponentName;Landroid/os/IBinder;)Lcom/android/server/am/ServiceRecord;
13824 iget-object v1, p0, Lcom/android/server/am/ActivityManagerService;->mServiceMap:Lcom/android/server/am/ActivityManagerService$ServiceMap;
13826 invoke-static {}, Landroid/os/Binder;->getOrigCallingUser()I
13830 invoke-virtual {v1, p1, v2}, Lcom/android/server/am/ActivityManagerService$ServiceMap;->getServiceByName(Landroid/content/ComponentName;I)Lcom/android/server/am/ServiceRecord;
13832 move-result-object v0
13834 if-ne v0, p2, :cond_d
13845 .method private final finishReceiverLocked(Landroid/os/IBinder;ILjava/lang/String;Landroid/os/Bundle;ZZ)Z
13848 invoke-virtual {p0, p1}, Lcom/android/server/am/ActivityManagerService;->broadcastRecordForReceiverLocked(Landroid/os/IBinder;)Lcom/android/server/am/BroadcastRecord;
13850 move-result-object v1
13854 const-string v0, "ActivityManager"
13856 const-string v2, "finishReceiver called but not found on queue"
13858 invoke-static {v0, v2}, Landroid/util/Slog;->w(Ljava/lang/String;Ljava/lang/String;)I
13866 iget-object v0, v1, Lcom/android/server/am/BroadcastRecord;->queue:Lcom/android/server/am/BroadcastQueue;
13878 invoke-virtual/range {v0 .. v6}, Lcom/android/server/am/BroadcastQueue;->finishReceiverLocked(Lcom/android/server/am/BroadcastRecord;ILjava/lang/String;Landroid/os/Bundle;ZZ)Z
13885 .method private forceStopPackageLocked(Ljava/lang/String;I)V
13896 invoke-static/range {p2 .. p2}, Landroid/os/UserId;->getUserId(I)I
13900 move-object/from16 v1, p0
13902 move-object/from16 v2, p1
13906 invoke-direct/range {v1 .. v8}, Lcom/android/server/am/ActivityManagerService;->forceStopPackageLocked(Ljava/lang/String;IZZZZI)Z
13908 new-instance v4, Landroid/content/Intent;
13910 const-string v1, "android.intent.action.PACKAGE_RESTARTED"
13912 const-string v2, "package"
13916 move-object/from16 v0, p1
13918 invoke-static {v2, v0, v3}, Landroid/net/Uri;->fromParts(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Landroid/net/Uri;
13920 move-result-object v2
13922 invoke-direct {v4, v1, v2}, Landroid/content/Intent;-><init>(Ljava/lang/String;Landroid/net/Uri;)V
13924 move-object/from16 v0, p0
13926 iget-boolean v1, v0, Lcom/android/server/am/ActivityManagerService;->mProcessesReady:Z
13928 if-nez v1, :cond_2c
13930 const/high16 v1, 0x4000
13932 invoke-virtual {v4, v1}, Landroid/content/Intent;->addFlags(I)Landroid/content/Intent;
13935 const-string v1, "android.intent.extra.UID"
13939 invoke-virtual {v4, v1, v0}, Landroid/content/Intent;->putExtra(Ljava/lang/String;I)Landroid/content/Intent;
13961 sget v13, Lcom/android/server/am/ActivityManagerService;->MY_PID:I
13963 const/16 v14, 0x3e8
13965 invoke-static/range {p2 .. p2}, Landroid/os/UserId;->getUserId(I)I
13969 move-object/from16 v1, p0
13971 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
13976 .method private final forceStopPackageLocked(Ljava/lang/String;IZZZZI)Z
13982 invoke-static {}, Landroid/app/AppGlobals;->getPackageManager()Landroid/content/pm/IPackageManager;
13984 move-result-object v2
13986 move-object/from16 v0, p1
13990 invoke-interface {v2, v0, v1}, Landroid/content/pm/IPackageManager;->getPackageUid(Ljava/lang/String;I)I
13992 .catch Landroid/os/RemoteException; {:try_start_2 .. :try_end_d} :catch_216
13998 if-eqz p5, :cond_5e
14000 const-string v2, "ActivityManager"
14002 new-instance v5, Ljava/lang/StringBuilder;
14004 invoke-direct {v5}, Ljava/lang/StringBuilder;-><init>()V
14006 const-string v6, "Force stopping package "
14008 invoke-virtual {v5, v6}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
14010 move-result-object v5
14012 move-object/from16 v0, p1
14014 invoke-virtual {v5, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
14016 move-result-object v5
14018 const-string v6, " uid="
14020 invoke-virtual {v5, v6}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
14022 move-result-object v5
14026 invoke-virtual {v5, v0}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
14028 move-result-object v5
14030 invoke-virtual {v5}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
14032 move-result-object v5
14034 invoke-static {v2, v5}, Landroid/util/Slog;->i(Ljava/lang/String;Ljava/lang/String;)I
14036 move-object/from16 v0, p0
14038 iget-object v2, v0, Lcom/android/server/am/ActivityManagerService;->mProcessCrashTimes:Lcom/android/server/ProcessMap;
14040 invoke-virtual {v2}, Lcom/android/server/ProcessMap;->getMap()Ljava/util/HashMap;
14042 move-result-object v2
14044 invoke-virtual {v2}, Ljava/util/HashMap;->values()Ljava/util/Collection;
14046 move-result-object v2
14048 invoke-interface {v2}, Ljava/util/Collection;->iterator()Ljava/util/Iterator;
14050 move-result-object v14
14054 invoke-interface {v14}, Ljava/util/Iterator;->hasNext()Z
14058 if-eqz v2, :cond_5e
14060 invoke-interface {v14}, Ljava/util/Iterator;->next()Ljava/lang/Object;
14062 move-result-object v13
14064 check-cast v13, Landroid/util/SparseArray;
14068 invoke-virtual {v13, v0}, Landroid/util/SparseArray;->get(I)Ljava/lang/Object;
14070 move-result-object v2
14072 if-eqz v2, :cond_46
14074 invoke-interface {v14}, Ljava/util/Iterator;->remove()V
14083 const-string v10, "force stop"
14085 move-object/from16 v2, p0
14087 move-object/from16 v3, p1
14097 invoke-direct/range {v2 .. v10}, Lcom/android/server/am/ActivityManagerService;->killPackageProcessesLocked(Ljava/lang/String;IIZZZZLjava/lang/String;)Z
14106 move-object/from16 v0, p0
14108 iget-object v2, v0, Lcom/android/server/am/ActivityManagerService;->mMainStack:Lcom/android/server/am/ActivityStack;
14110 iget-object v2, v2, Lcom/android/server/am/ActivityStack;->mHistory:Ljava/util/ArrayList;
14112 invoke-virtual {v2}, Ljava/util/ArrayList;->size()I
14116 if-ge v4, v2, :cond_f6
14118 move-object/from16 v0, p0
14120 iget-object v2, v0, Lcom/android/server/am/ActivityManagerService;->mMainStack:Lcom/android/server/am/ActivityStack;
14122 iget-object v2, v2, Lcom/android/server/am/ActivityStack;->mHistory:Ljava/util/ArrayList;
14124 invoke-virtual {v2, v4}, Ljava/util/ArrayList;->get(I)Ljava/lang/Object;
14126 move-result-object v3
14128 check-cast v3, Lcom/android/server/am/ActivityRecord;
14130 iget-object v2, v3, Lcom/android/server/am/ActivityRecord;->packageName:Ljava/lang/String;
14132 move-object/from16 v0, p1
14134 invoke-virtual {v2, v0}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
14138 iget v2, v3, Lcom/android/server/am/ActivityRecord;->userId:I
14142 if-ne v2, v0, :cond_b6
14144 if-nez v20, :cond_a4
14146 iget-object v2, v3, Lcom/android/server/am/ActivityRecord;->task:Lcom/android/server/am/TaskRecord;
14148 move-object/from16 v0, v17
14150 if-ne v2, v0, :cond_b6
14153 iget-object v2, v3, Lcom/android/server/am/ActivityRecord;->app:Lcom/android/server/am/ProcessRecord;
14155 if-eqz v2, :cond_b0
14157 if-nez p6, :cond_b0
14159 iget-object v2, v3, Lcom/android/server/am/ActivityRecord;->app:Lcom/android/server/am/ProcessRecord;
14161 iget-boolean v2, v2, Lcom/android/server/am/ProcessRecord;->persistent:Z
14163 if-nez v2, :cond_b6
14166 if-nez p5, :cond_bb
14168 iget-boolean v2, v3, Lcom/android/server/am/ActivityRecord;->finishing:Z
14170 if-eqz v2, :cond_b9
14174 add-int/lit8 v4, v4, 0x1
14187 const-string v2, "ActivityManager"
14189 new-instance v5, Ljava/lang/StringBuilder;
14191 invoke-direct {v5}, Ljava/lang/StringBuilder;-><init>()V
14193 const-string v6, " Force finishing activity "
14195 invoke-virtual {v5, v6}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
14197 move-result-object v5
14199 invoke-virtual {v5, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
14201 move-result-object v5
14203 invoke-virtual {v5}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
14205 move-result-object v5
14207 invoke-static {v2, v5}, Landroid/util/Slog;->i(Ljava/lang/String;Ljava/lang/String;)I
14209 if-eqz v20, :cond_e2
14211 iget-object v2, v3, Lcom/android/server/am/ActivityRecord;->app:Lcom/android/server/am/ProcessRecord;
14213 if-eqz v2, :cond_df
14215 iget-object v2, v3, Lcom/android/server/am/ActivityRecord;->app:Lcom/android/server/am/ProcessRecord;
14219 iput-boolean v5, v2, Lcom/android/server/am/ProcessRecord;->removed:Z
14224 iput-object v2, v3, Lcom/android/server/am/ActivityRecord;->app:Lcom/android/server/am/ProcessRecord;
14227 iget-object v0, v3, Lcom/android/server/am/ActivityRecord;->task:Lcom/android/server/am/TaskRecord;
14229 move-object/from16 v17, v0
14231 iget-object v2, v3, Lcom/android/server/am/ActivityRecord;->stack:Lcom/android/server/am/ActivityStack;
14237 const-string v7, "force-stop"
14241 invoke-virtual/range {v2 .. v8}, Lcom/android/server/am/ActivityStack;->finishActivityLocked(Lcom/android/server/am/ActivityRecord;IILandroid/content/Intent;Ljava/lang/String;Z)Z
14245 if-eqz v2, :cond_b6
14247 add-int/lit8 v4, v4, -0x1
14252 new-instance v22, Ljava/util/ArrayList;
14254 invoke-direct/range {v22 .. v22}, Ljava/util/ArrayList;-><init>()V
14256 move-object/from16 v0, p0
14258 iget-object v2, v0, Lcom/android/server/am/ActivityManagerService;->mServiceMap:Lcom/android/server/am/ActivityManagerService$ServiceMap;
14262 invoke-virtual {v2, v0}, Lcom/android/server/am/ActivityManagerService$ServiceMap;->getAllServices(I)Ljava/util/Collection;
14264 move-result-object v2
14266 invoke-interface {v2}, Ljava/util/Collection;->iterator()Ljava/util/Iterator;
14268 move-result-object v16
14272 invoke-interface/range {v16 .. v16}, Ljava/util/Iterator;->hasNext()Z
14276 if-eqz v2, :cond_16f
14278 invoke-interface/range {v16 .. v16}, Ljava/util/Iterator;->next()Ljava/lang/Object;
14280 move-result-object v21
14282 check-cast v21, Lcom/android/server/am/ServiceRecord;
14284 move-object/from16 v0, v21
14286 iget-object v2, v0, Lcom/android/server/am/ServiceRecord;->packageName:Ljava/lang/String;
14288 move-object/from16 v0, p1
14290 invoke-virtual {v2, v0}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
14294 if-eqz v2, :cond_109
14296 move-object/from16 v0, v21
14298 iget-object v2, v0, Lcom/android/server/am/ServiceRecord;->app:Lcom/android/server/am/ProcessRecord;
14300 if-eqz v2, :cond_131
14302 if-nez p6, :cond_131
14304 move-object/from16 v0, v21
14306 iget-object v2, v0, Lcom/android/server/am/ServiceRecord;->app:Lcom/android/server/am/ProcessRecord;
14308 iget-boolean v2, v2, Lcom/android/server/am/ProcessRecord;->persistent:Z
14310 if-nez v2, :cond_109
14313 if-nez p5, :cond_135
14322 const-string v2, "ActivityManager"
14324 new-instance v5, Ljava/lang/StringBuilder;
14326 invoke-direct {v5}, Ljava/lang/StringBuilder;-><init>()V
14328 const-string v6, " Force stopping service "
14330 invoke-virtual {v5, v6}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
14332 move-result-object v5
14334 move-object/from16 v0, v21
14336 invoke-virtual {v5, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
14338 move-result-object v5
14340 invoke-virtual {v5}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
14342 move-result-object v5
14344 invoke-static {v2, v5}, Landroid/util/Slog;->i(Ljava/lang/String;Ljava/lang/String;)I
14346 move-object/from16 v0, v21
14348 iget-object v2, v0, Lcom/android/server/am/ServiceRecord;->app:Lcom/android/server/am/ProcessRecord;
14350 if-eqz v2, :cond_15d
14352 move-object/from16 v0, v21
14354 iget-object v2, v0, Lcom/android/server/am/ServiceRecord;->app:Lcom/android/server/am/ProcessRecord;
14358 iput-boolean v5, v2, Lcom/android/server/am/ProcessRecord;->removed:Z
14363 move-object/from16 v0, v21
14365 iput-object v2, v0, Lcom/android/server/am/ServiceRecord;->app:Lcom/android/server/am/ProcessRecord;
14369 move-object/from16 v0, v21
14371 iput-object v2, v0, Lcom/android/server/am/ServiceRecord;->isolatedProc:Lcom/android/server/am/ProcessRecord;
14373 move-object/from16 v0, v22
14375 move-object/from16 v1, v21
14377 invoke-virtual {v0, v1}, Ljava/util/ArrayList;->add(Ljava/lang/Object;)Z
14382 invoke-virtual/range {v22 .. v22}, Ljava/util/ArrayList;->size()I
14389 if-ge v4, v11, :cond_187
14391 move-object/from16 v0, v22
14393 invoke-virtual {v0, v4}, Ljava/util/ArrayList;->get(I)Ljava/lang/Object;
14395 move-result-object v2
14397 check-cast v2, Lcom/android/server/am/ServiceRecord;
14401 move-object/from16 v0, p0
14403 invoke-direct {v0, v2, v5}, Lcom/android/server/am/ActivityManagerService;->bringDownServiceLocked(Lcom/android/server/am/ServiceRecord;Z)V
14405 add-int/lit8 v4, v4, 0x1
14410 new-instance v19, Ljava/util/ArrayList;
14412 invoke-direct/range {v19 .. v19}, Ljava/util/ArrayList;-><init>()V
14414 move-object/from16 v0, p0
14416 iget-object v2, v0, Lcom/android/server/am/ActivityManagerService;->mProviderMap:Lcom/android/server/am/ProviderMap;
14420 invoke-virtual {v2, v0}, Lcom/android/server/am/ProviderMap;->getProvidersByClass(I)Ljava/util/HashMap;
14422 move-result-object v2
14424 invoke-virtual {v2}, Ljava/util/HashMap;->values()Ljava/util/Collection;
14426 move-result-object v2
14428 invoke-interface {v2}, Ljava/util/Collection;->iterator()Ljava/util/Iterator;
14430 move-result-object v16
14434 invoke-interface/range {v16 .. v16}, Ljava/util/Iterator;->hasNext()Z
14438 if-eqz v2, :cond_1d6
14440 invoke-interface/range {v16 .. v16}, Ljava/util/Iterator;->next()Ljava/lang/Object;
14442 move-result-object v18
14444 check-cast v18, Lcom/android/server/am/ContentProviderRecord;
14446 move-object/from16 v0, v18
14448 iget-object v2, v0, Lcom/android/server/am/ContentProviderRecord;->info:Landroid/content/pm/ProviderInfo;
14450 iget-object v2, v2, Landroid/content/pm/ProviderInfo;->packageName:Ljava/lang/String;
14452 move-object/from16 v0, p1
14454 invoke-virtual {v2, v0}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
14458 if-eqz v2, :cond_19e
14460 move-object/from16 v0, v18
14462 iget-object v2, v0, Lcom/android/server/am/ContentProviderRecord;->proc:Lcom/android/server/am/ProcessRecord;
14464 if-eqz v2, :cond_1c8
14466 if-nez p6, :cond_1c8
14468 move-object/from16 v0, v18
14470 iget-object v2, v0, Lcom/android/server/am/ContentProviderRecord;->proc:Lcom/android/server/am/ProcessRecord;
14472 iget-boolean v2, v2, Lcom/android/server/am/ProcessRecord;->persistent:Z
14474 if-nez v2, :cond_19e
14477 if-nez p5, :cond_1cd
14486 move-object/from16 v0, v19
14488 move-object/from16 v1, v18
14490 invoke-virtual {v0, v1}, Ljava/util/ArrayList;->add(Ljava/lang/Object;)Z
14495 invoke-virtual/range {v19 .. v19}, Ljava/util/ArrayList;->size()I
14502 if-ge v4, v11, :cond_1ef
14506 move-object/from16 v0, v19
14508 invoke-virtual {v0, v4}, Ljava/util/ArrayList;->get(I)Ljava/lang/Object;
14510 move-result-object v2
14512 check-cast v2, Lcom/android/server/am/ContentProviderRecord;
14516 move-object/from16 v0, p0
14518 invoke-direct {v0, v5, v2, v6}, Lcom/android/server/am/ActivityManagerService;->removeDyingProviderLocked(Lcom/android/server/am/ProcessRecord;Lcom/android/server/am/ContentProviderRecord;Z)Z
14520 add-int/lit8 v4, v4, 0x1
14525 if-eqz p5, :cond_213
14527 if-eqz p4, :cond_1fe
14529 invoke-static {}, Lcom/android/server/AttributeCache;->instance()Lcom/android/server/AttributeCache;
14531 move-result-object v12
14533 if-eqz v12, :cond_1fe
14535 move-object/from16 v0, p1
14537 invoke-virtual {v12, v0}, Lcom/android/server/AttributeCache;->removePackage(Ljava/lang/String;)V
14540 move-object/from16 v0, p0
14542 iget-boolean v2, v0, Lcom/android/server/am/ActivityManagerService;->mBooted:Z
14544 if-eqz v2, :cond_213
14546 move-object/from16 v0, p0
14548 iget-object v2, v0, Lcom/android/server/am/ActivityManagerService;->mMainStack:Lcom/android/server/am/ActivityStack;
14552 invoke-virtual {v2, v5}, Lcom/android/server/am/ActivityStack;->resumeTopActivityLocked(Lcom/android/server/am/ActivityRecord;)Z
14554 move-object/from16 v0, p0
14556 iget-object v2, v0, Lcom/android/server/am/ActivityManagerService;->mMainStack:Lcom/android/server/am/ActivityStack;
14558 invoke-virtual {v2}, Lcom/android/server/am/ActivityStack;->scheduleIdleLocked()V
14571 .method private final generateApplicationProvidersLocked(Lcom/android/server/am/ProcessRecord;)Ljava/util/List;
14573 .annotation system Ldalvik/annotation/Signature;
14576 "Lcom/android/server/am/ProcessRecord;",
14580 "Landroid/content/pm/ProviderInfo;",
14588 invoke-static {}, Landroid/app/AppGlobals;->getPackageManager()Landroid/content/pm/IPackageManager;
14590 move-result-object v7
14592 iget-object v8, p1, Lcom/android/server/am/ProcessRecord;->processName:Ljava/lang/String;
14594 iget v9, p1, Lcom/android/server/am/ProcessRecord;->uid:I
14596 const/16 v10, 0xc00
14598 invoke-interface {v7, v8, v9, v10}, Landroid/content/pm/IPackageManager;->queryContentProviders(Ljava/lang/String;II)Ljava/util/List;
14600 .catch Landroid/os/RemoteException; {:try_start_1 .. :try_end_e} :catch_56
14602 move-result-object v5
14605 iget v6, p1, Lcom/android/server/am/ProcessRecord;->userId:I
14607 if-eqz v5, :cond_55
14609 invoke-interface {v5}, Ljava/util/List;->size()I
14616 if-ge v4, v0, :cond_55
14618 invoke-interface {v5, v4}, Ljava/util/List;->get(I)Ljava/lang/Object;
14620 move-result-object v2
14622 check-cast v2, Landroid/content/pm/ProviderInfo;
14624 new-instance v1, Landroid/content/ComponentName;
14626 iget-object v7, v2, Landroid/content/pm/ProviderInfo;->packageName:Ljava/lang/String;
14628 iget-object v8, v2, Landroid/content/pm/ProviderInfo;->name:Ljava/lang/String;
14630 invoke-direct {v1, v7, v8}, Landroid/content/ComponentName;-><init>(Ljava/lang/String;Ljava/lang/String;)V
14632 iget-object v7, p0, Lcom/android/server/am/ActivityManagerService;->mProviderMap:Lcom/android/server/am/ProviderMap;
14634 invoke-virtual {v7, v1, v6}, Lcom/android/server/am/ProviderMap;->getProviderByClass(Landroid/content/ComponentName;I)Lcom/android/server/am/ContentProviderRecord;
14636 move-result-object v3
14638 if-nez v3, :cond_3d
14640 new-instance v3, Lcom/android/server/am/ContentProviderRecord;
14642 iget-object v7, p1, Lcom/android/server/am/ProcessRecord;->info:Landroid/content/pm/ApplicationInfo;
14644 invoke-direct {v3, p0, v2, v7, v1}, Lcom/android/server/am/ContentProviderRecord;-><init>(Lcom/android/server/am/ActivityManagerService;Landroid/content/pm/ProviderInfo;Landroid/content/pm/ApplicationInfo;Landroid/content/ComponentName;)V
14646 iget-object v7, p0, Lcom/android/server/am/ActivityManagerService;->mProviderMap:Lcom/android/server/am/ProviderMap;
14648 invoke-virtual {v7, v1, v3}, Lcom/android/server/am/ProviderMap;->putProviderByClass(Landroid/content/ComponentName;Lcom/android/server/am/ContentProviderRecord;)V
14651 iget-object v7, p1, Lcom/android/server/am/ProcessRecord;->pubProviders:Ljava/util/HashMap;
14653 iget-object v8, v2, Landroid/content/pm/ProviderInfo;->name:Ljava/lang/String;
14655 invoke-virtual {v7, v8, v3}, Ljava/util/HashMap;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
14657 iget-object v7, v2, Landroid/content/pm/ProviderInfo;->applicationInfo:Landroid/content/pm/ApplicationInfo;
14659 iget-object v7, v7, Landroid/content/pm/ApplicationInfo;->packageName:Ljava/lang/String;
14661 invoke-virtual {p1, v7}, Lcom/android/server/am/ProcessRecord;->addPackage(Ljava/lang/String;)Z
14663 iget-object v7, v2, Landroid/content/pm/ProviderInfo;->applicationInfo:Landroid/content/pm/ApplicationInfo;
14665 iget-object v7, v7, Landroid/content/pm/ApplicationInfo;->packageName:Ljava/lang/String;
14667 invoke-virtual {p0, v7}, Lcom/android/server/am/ActivityManagerService;->ensurePackageDexOpt(Ljava/lang/String;)V
14669 add-int/lit8 v4, v4, 0x1
14682 .method private generateProcessError(Lcom/android/server/am/ProcessRecord;ILjava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Landroid/app/ActivityManager$ProcessErrorStateInfo;
14685 new-instance v0, Landroid/app/ActivityManager$ProcessErrorStateInfo;
14687 invoke-direct {v0}, Landroid/app/ActivityManager$ProcessErrorStateInfo;-><init>()V
14689 iput p2, v0, Landroid/app/ActivityManager$ProcessErrorStateInfo;->condition:I
14691 iget-object v1, p1, Lcom/android/server/am/ProcessRecord;->processName:Ljava/lang/String;
14693 iput-object v1, v0, Landroid/app/ActivityManager$ProcessErrorStateInfo;->processName:Ljava/lang/String;
14695 iget v1, p1, Lcom/android/server/am/ProcessRecord;->pid:I
14697 iput v1, v0, Landroid/app/ActivityManager$ProcessErrorStateInfo;->pid:I
14699 iget-object v1, p1, Lcom/android/server/am/ProcessRecord;->info:Landroid/content/pm/ApplicationInfo;
14701 iget v1, v1, Landroid/content/pm/ApplicationInfo;->uid:I
14703 iput v1, v0, Landroid/app/ActivityManager$ProcessErrorStateInfo;->uid:I
14705 iput-object p3, v0, Landroid/app/ActivityManager$ProcessErrorStateInfo;->tag:Ljava/lang/String;
14707 iput-object p4, v0, Landroid/app/ActivityManager$ProcessErrorStateInfo;->shortMsg:Ljava/lang/String;
14709 iput-object p5, v0, Landroid/app/ActivityManager$ProcessErrorStateInfo;->longMsg:Ljava/lang/String;
14711 iput-object p6, v0, Landroid/app/ActivityManager$ProcessErrorStateInfo;->stackTrace:Ljava/lang/String;
14716 .method private getAppInfoForUser(Landroid/content/pm/ApplicationInfo;I)Landroid/content/pm/ApplicationInfo;
14727 new-instance v0, Landroid/content/pm/ApplicationInfo;
14729 invoke-direct {v0, p1}, Landroid/content/pm/ApplicationInfo;-><init>(Landroid/content/pm/ApplicationInfo;)V
14731 iget v1, p1, Landroid/content/pm/ApplicationInfo;->uid:I
14733 invoke-direct {p0, v1, p2}, Lcom/android/server/am/ActivityManagerService;->applyUserId(II)I
14737 iput v1, v0, Landroid/content/pm/ApplicationInfo;->uid:I
14739 new-instance v1, Ljava/lang/StringBuilder;
14741 invoke-direct {v1}, Ljava/lang/StringBuilder;-><init>()V
14743 const-string v2, "/data/user/"
14745 invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
14747 move-result-object v1
14749 invoke-virtual {v1, p2}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
14751 move-result-object v1
14753 const-string v2, "/"
14755 invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
14757 move-result-object v1
14759 iget-object v2, p1, Landroid/content/pm/ApplicationInfo;->packageName:Ljava/lang/String;
14761 invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
14763 move-result-object v1
14765 invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
14767 move-result-object v1
14769 iput-object v1, v0, Landroid/content/pm/ApplicationInfo;->dataDir:Ljava/lang/String;
14774 .method private static getCalledPreBootReceiversFile()Ljava/io/File;
14777 invoke-static {}, Landroid/os/Environment;->getDataDirectory()Ljava/io/File;
14779 move-result-object v0
14781 new-instance v2, Ljava/io/File;
14783 const-string v3, "system"
14785 invoke-direct {v2, v0, v3}, Ljava/io/File;-><init>(Ljava/io/File;Ljava/lang/String;)V
14787 new-instance v1, Ljava/io/File;
14789 const-string v3, "called_pre_boots.dat"
14791 invoke-direct {v1, v2, v3}, Ljava/io/File;-><init>(Ljava/io/File;Ljava/lang/String;)V
14796 .method private getCallingRecordLocked(Landroid/os/IBinder;)Lcom/android/server/am/ActivityRecord;
14799 iget-object v1, p0, Lcom/android/server/am/ActivityManagerService;->mMainStack:Lcom/android/server/am/ActivityStack;
14801 invoke-virtual {v1, p1}, Lcom/android/server/am/ActivityStack;->isInStackLocked(Landroid/os/IBinder;)Lcom/android/server/am/ActivityRecord;
14803 move-result-object v0
14813 iget-object v1, v0, Lcom/android/server/am/ActivityRecord;->resultTo:Lcom/android/server/am/ActivityRecord;
14818 .method private getCommonServicesLocked()Ljava/util/HashMap;
14820 .annotation system Ldalvik/annotation/Signature;
14823 "Ljava/util/HashMap",
14825 "Ljava/lang/String;",
14826 "Landroid/os/IBinder;",
14831 iget-object v0, p0, Lcom/android/server/am/ActivityManagerService;->mAppBindArgs:Ljava/util/HashMap;
14833 if-nez v0, :cond_32
14835 new-instance v0, Ljava/util/HashMap;
14837 invoke-direct {v0}, Ljava/util/HashMap;-><init>()V
14839 iput-object v0, p0, Lcom/android/server/am/ActivityManagerService;->mAppBindArgs:Ljava/util/HashMap;
14841 iget-object v0, p0, Lcom/android/server/am/ActivityManagerService;->mAppBindArgs:Ljava/util/HashMap;
14843 const-string v1, "package"
14845 const-string v2, "package"
14847 invoke-static {v2}, Landroid/os/ServiceManager;->getService(Ljava/lang/String;)Landroid/os/IBinder;
14849 move-result-object v2
14851 invoke-virtual {v0, v1, v2}, Ljava/util/HashMap;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
14853 iget-object v0, p0, Lcom/android/server/am/ActivityManagerService;->mAppBindArgs:Ljava/util/HashMap;
14855 const-string v1, "window"
14857 const-string v2, "window"
14859 invoke-static {v2}, Landroid/os/ServiceManager;->getService(Ljava/lang/String;)Landroid/os/IBinder;
14861 move-result-object v2
14863 invoke-virtual {v0, v1, v2}, Ljava/util/HashMap;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
14865 iget-object v0, p0, Lcom/android/server/am/ActivityManagerService;->mAppBindArgs:Ljava/util/HashMap;
14867 const-string v1, "alarm"
14869 const-string v2, "alarm"
14871 invoke-static {v2}, Landroid/os/ServiceManager;->getService(Ljava/lang/String;)Landroid/os/IBinder;
14873 move-result-object v2
14875 invoke-virtual {v0, v1, v2}, Ljava/util/HashMap;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
14878 iget-object v0, p0, Lcom/android/server/am/ActivityManagerService;->mAppBindArgs:Ljava/util/HashMap;
14883 .method private getContentProviderExternalUnchecked(Ljava/lang/String;Landroid/os/IBinder;)Landroid/app/IActivityManager$ContentProviderHolder;
14890 invoke-direct {p0, v0, p1, p2, v1}, Lcom/android/server/am/ActivityManagerService;->getContentProviderImpl(Landroid/app/IApplicationThread;Ljava/lang/String;Landroid/os/IBinder;Z)Landroid/app/IActivityManager$ContentProviderHolder;
14892 move-result-object v0
14897 .method private final getContentProviderImpl(Landroid/app/IApplicationThread;Ljava/lang/String;Landroid/os/IBinder;Z)Landroid/app/IActivityManager$ContentProviderHolder;
14908 if-eqz p1, :cond_47
14911 invoke-virtual/range {p0 .. p1}, Lcom/android/server/am/ActivityManagerService;->getRecordForAppLocked(Landroid/app/IApplicationThread;)Lcom/android/server/am/ProcessRecord;
14913 move-result-object v31
14915 if-nez v31, :cond_47
14917 new-instance v5, Ljava/lang/SecurityException;
14919 new-instance v6, Ljava/lang/StringBuilder;
14921 invoke-direct {v6}, Ljava/lang/StringBuilder;-><init>()V
14923 const-string v7, "Unable to find app for caller "
14925 invoke-virtual {v6, v7}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
14927 move-result-object v6
14929 move-object/from16 v0, p1
14931 invoke-virtual {v6, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
14933 move-result-object v6
14935 const-string v7, " (pid="
14937 invoke-virtual {v6, v7}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
14939 move-result-object v6
14941 invoke-static {}, Landroid/os/Binder;->getCallingPid()I
14945 invoke-virtual {v6, v7}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
14947 move-result-object v6
14949 const-string v7, ") when getting content provider "
14951 invoke-virtual {v6, v7}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
14953 move-result-object v6
14955 move-object/from16 v0, p2
14957 invoke-virtual {v6, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
14959 move-result-object v6
14961 invoke-virtual {v6}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
14963 move-result-object v6
14965 invoke-direct {v5, v6}, Ljava/lang/SecurityException;-><init>(Ljava/lang/String;)V
14974 .catchall {:try_start_9 .. :try_end_46} :catchall_44
14979 if-eqz v31, :cond_7d
14982 move-object/from16 v0, v31
14984 iget v5, v0, Lcom/android/server/am/ProcessRecord;->uid:I
14987 invoke-static {v5}, Landroid/os/UserId;->getUserId(I)I
14991 move-object/from16 v0, p0
14993 iget-object v5, v0, Lcom/android/server/am/ActivityManagerService;->mProviderMap:Lcom/android/server/am/ProviderMap;
14995 move-object/from16 v0, p2
14997 move/from16 v1, v33
14999 invoke-virtual {v5, v0, v1}, Lcom/android/server/am/ProviderMap;->getProviderByName(Ljava/lang/String;I)Lcom/android/server/am/ContentProviderRecord;
15001 move-result-object v19
15003 if-eqz v19, :cond_82
15008 if-eqz v30, :cond_146
15010 move-object/from16 v0, v19
15012 iget-object v0, v0, Lcom/android/server/am/ContentProviderRecord;->info:Landroid/content/pm/ProviderInfo;
15014 move-object/from16 v18, v0
15016 move-object/from16 v0, p0
15018 move-object/from16 v1, v18
15020 move-object/from16 v2, v31
15022 invoke-direct {v0, v1, v2}, Lcom/android/server/am/ActivityManagerService;->checkContentProviderPermissionLocked(Landroid/content/pm/ProviderInfo;Lcom/android/server/am/ProcessRecord;)Ljava/lang/String;
15024 move-result-object v26
15026 if-eqz v26, :cond_85
15028 new-instance v5, Ljava/lang/SecurityException;
15030 move-object/from16 v0, v26
15032 invoke-direct {v5, v0}, Ljava/lang/SecurityException;-><init>(Ljava/lang/String;)V
15037 invoke-static {}, Landroid/os/Binder;->getCallingUid()I
15049 if-eqz v31, :cond_9f
15051 move-object/from16 v0, v19
15053 move-object/from16 v1, v31
15055 invoke-virtual {v0, v1}, Lcom/android/server/am/ContentProviderRecord;->canRunHere(Lcom/android/server/am/ProcessRecord;)Z
15059 if-eqz v5, :cond_9f
15063 move-object/from16 v0, v19
15065 invoke-virtual {v0, v5}, Lcom/android/server/am/ContentProviderRecord;->newHolder(Lcom/android/server/am/ContentProviderConnection;)Landroid/app/IActivityManager$ContentProviderHolder;
15067 move-result-object v23
15071 move-object/from16 v0, v23
15073 iput-object v5, v0, Landroid/app/IActivityManager$ContentProviderHolder;->provider:Landroid/content/IContentProvider;
15081 invoke-static {}, Landroid/os/Binder;->clearCallingIdentity()J
15083 move-result-wide v27
15085 move-object/from16 v0, p0
15087 move-object/from16 v1, v31
15089 move-object/from16 v2, v19
15091 move-object/from16 v3, p3
15095 invoke-virtual {v0, v1, v2, v3, v4}, 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;
15097 move-result-object v17
15099 if-eqz v17, :cond_d7
15101 move-object/from16 v0, v17
15103 iget v5, v0, Lcom/android/server/am/ContentProviderConnection;->stableCount:I
15105 move-object/from16 v0, v17
15107 iget v6, v0, Lcom/android/server/am/ContentProviderConnection;->unstableCount:I
15109 add-int/2addr v5, v6
15113 if-ne v5, v6, :cond_d7
15115 move-object/from16 v0, v19
15117 iget-object v5, v0, Lcom/android/server/am/ContentProviderRecord;->proc:Lcom/android/server/am/ProcessRecord;
15119 if-eqz v5, :cond_d7
15121 move-object/from16 v0, v31
15123 iget v5, v0, Lcom/android/server/am/ProcessRecord;->setAdj:I
15127 if-gt v5, v6, :cond_d7
15129 move-object/from16 v0, v19
15131 iget-object v5, v0, Lcom/android/server/am/ContentProviderRecord;->proc:Lcom/android/server/am/ProcessRecord;
15137 move-object/from16 v0, p0
15139 invoke-virtual {v0, v5, v6, v7}, Lcom/android/server/am/ActivityManagerService;->updateLruProcessLocked(Lcom/android/server/am/ProcessRecord;ZZ)V
15142 move-object/from16 v0, v19
15144 iget-object v5, v0, Lcom/android/server/am/ContentProviderRecord;->proc:Lcom/android/server/am/ProcessRecord;
15146 if-eqz v5, :cond_143
15148 move-object/from16 v0, v19
15150 iget-object v5, v0, Lcom/android/server/am/ContentProviderRecord;->proc:Lcom/android/server/am/ProcessRecord;
15152 move-object/from16 v0, p0
15154 invoke-direct {v0, v5}, Lcom/android/server/am/ActivityManagerService;->updateOomAdjLocked(Lcom/android/server/am/ProcessRecord;)Z
15158 if-nez v32, :cond_143
15160 const-string v5, "ActivityManager"
15162 new-instance v6, Ljava/lang/StringBuilder;
15164 invoke-direct {v6}, Ljava/lang/StringBuilder;-><init>()V
15166 const-string v7, "Existing provider "
15168 invoke-virtual {v6, v7}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
15170 move-result-object v6
15172 move-object/from16 v0, v19
15174 iget-object v7, v0, Lcom/android/server/am/ContentProviderRecord;->name:Landroid/content/ComponentName;
15176 invoke-virtual {v7}, Landroid/content/ComponentName;->flattenToShortString()Ljava/lang/String;
15178 move-result-object v7
15180 invoke-virtual {v6, v7}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
15182 move-result-object v6
15184 const-string v7, " is crashing; detaching "
15186 invoke-virtual {v6, v7}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
15188 move-result-object v6
15190 move-object/from16 v0, v31
15192 invoke-virtual {v6, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
15194 move-result-object v6
15196 invoke-virtual {v6}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
15198 move-result-object v6
15200 invoke-static {v5, v6}, Landroid/util/Slog;->i(Ljava/lang/String;Ljava/lang/String;)I
15202 move-object/from16 v0, p0
15204 move-object/from16 v1, v17
15206 move-object/from16 v2, v19
15208 move-object/from16 v3, p3
15212 invoke-virtual {v0, v1, v2, v3, v4}, Lcom/android/server/am/ActivityManagerService;->decProviderCountLocked(Lcom/android/server/am/ContentProviderConnection;Lcom/android/server/am/ContentProviderRecord;Landroid/os/IBinder;Z)Z
15216 move-object/from16 v0, v19
15218 iget-object v5, v0, Lcom/android/server/am/ContentProviderRecord;->proc:Lcom/android/server/am/ProcessRecord;
15220 move-object/from16 v0, v19
15222 iget-object v6, v0, Lcom/android/server/am/ContentProviderRecord;->proc:Lcom/android/server/am/ProcessRecord;
15224 iget v6, v6, Lcom/android/server/am/ProcessRecord;->pid:I
15226 move-object/from16 v0, v19
15228 iget-object v7, v0, Lcom/android/server/am/ContentProviderRecord;->proc:Lcom/android/server/am/ProcessRecord;
15230 iget-object v7, v7, Lcom/android/server/am/ProcessRecord;->thread:Landroid/app/IApplicationThread;
15232 move-object/from16 v0, p0
15234 invoke-virtual {v0, v5, v6, v7}, Lcom/android/server/am/ActivityManagerService;->appDiedLocked(Lcom/android/server/am/ProcessRecord;ILandroid/app/IApplicationThread;)V
15236 if-nez v25, :cond_13f
15250 invoke-static/range {v27 .. v28}, Landroid/os/Binder;->restoreCallingIdentity(J)V
15252 .catchall {:try_start_49 .. :try_end_146} :catchall_44
15255 if-nez v30, :cond_355
15258 invoke-static {}, Landroid/app/AppGlobals;->getPackageManager()Landroid/content/pm/IPackageManager;
15260 move-result-object v5
15264 move-object/from16 v0, p2
15266 move/from16 v1, v33
15268 invoke-interface {v5, v0, v6, v1}, Landroid/content/pm/IPackageManager;->resolveContentProvider(Ljava/lang/String;II)Landroid/content/pm/ProviderInfo;
15270 .catchall {:try_start_148 .. :try_end_155} :catchall_44
15271 .catch Landroid/os/RemoteException; {:try_start_148 .. :try_end_155} :catch_409
15273 move-result-object v18
15276 if-nez v18, :cond_15d
15286 move-object/from16 v0, v18
15288 iget-object v5, v0, Landroid/content/pm/ProviderInfo;->processName:Ljava/lang/String;
15290 move-object/from16 v0, v18
15292 iget-object v6, v0, Landroid/content/pm/ProviderInfo;->applicationInfo:Landroid/content/pm/ApplicationInfo;
15294 move-object/from16 v0, p0
15296 invoke-virtual {v0, v5, v6}, Lcom/android/server/am/ActivityManagerService;->isSingleton(Ljava/lang/String;Landroid/content/pm/ApplicationInfo;)Z
15300 if-eqz v5, :cond_16f
15305 move-object/from16 v0, v18
15307 iget-object v5, v0, Landroid/content/pm/ProviderInfo;->applicationInfo:Landroid/content/pm/ApplicationInfo;
15309 move-object/from16 v0, p0
15311 move/from16 v1, v33
15313 invoke-direct {v0, v5, v1}, Lcom/android/server/am/ActivityManagerService;->getAppInfoForUser(Landroid/content/pm/ApplicationInfo;I)Landroid/content/pm/ApplicationInfo;
15315 move-result-object v5
15317 move-object/from16 v0, v18
15319 iput-object v5, v0, Landroid/content/pm/ProviderInfo;->applicationInfo:Landroid/content/pm/ApplicationInfo;
15321 move-object/from16 v0, p0
15323 move-object/from16 v1, v18
15325 move-object/from16 v2, v31
15327 invoke-direct {v0, v1, v2}, Lcom/android/server/am/ActivityManagerService;->checkContentProviderPermissionLocked(Landroid/content/pm/ProviderInfo;Lcom/android/server/am/ProcessRecord;)Ljava/lang/String;
15329 move-result-object v26
15331 if-eqz v26, :cond_193
15333 new-instance v5, Ljava/lang/SecurityException;
15335 move-object/from16 v0, v26
15337 invoke-direct {v5, v0}, Ljava/lang/SecurityException;-><init>(Ljava/lang/String;)V
15342 move-object/from16 v0, p0
15344 iget-boolean v5, v0, Lcom/android/server/am/ActivityManagerService;->mProcessesReady:Z
15346 if-nez v5, :cond_1b9
15348 move-object/from16 v0, p0
15350 iget-boolean v5, v0, Lcom/android/server/am/ActivityManagerService;->mDidUpdate:Z
15352 if-nez v5, :cond_1b9
15354 move-object/from16 v0, p0
15356 iget-boolean v5, v0, Lcom/android/server/am/ActivityManagerService;->mWaitingUpdate:Z
15358 if-nez v5, :cond_1b9
15360 move-object/from16 v0, v18
15362 iget-object v5, v0, Landroid/content/pm/ProviderInfo;->processName:Ljava/lang/String;
15364 const-string v6, "system"
15366 invoke-virtual {v5, v6}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
15370 if-nez v5, :cond_1b9
15372 new-instance v5, Ljava/lang/IllegalArgumentException;
15374 const-string v6, "Attempt to launch content provider before system ready"
15376 invoke-direct {v5, v6}, Ljava/lang/IllegalArgumentException;-><init>(Ljava/lang/String;)V
15381 new-instance v16, Landroid/content/ComponentName;
15383 move-object/from16 v0, v18
15385 iget-object v5, v0, Landroid/content/pm/ProviderInfo;->packageName:Ljava/lang/String;
15387 move-object/from16 v0, v18
15389 iget-object v6, v0, Landroid/content/pm/ProviderInfo;->name:Ljava/lang/String;
15391 move-object/from16 v0, v16
15393 invoke-direct {v0, v5, v6}, Landroid/content/ComponentName;-><init>(Ljava/lang/String;Ljava/lang/String;)V
15395 move-object/from16 v0, p0
15397 iget-object v5, v0, Lcom/android/server/am/ActivityManagerService;->mProviderMap:Lcom/android/server/am/ProviderMap;
15399 move-object/from16 v0, v16
15401 move/from16 v1, v33
15403 invoke-virtual {v5, v0, v1}, Lcom/android/server/am/ProviderMap;->getProviderByClass(Landroid/content/ComponentName;I)Lcom/android/server/am/ContentProviderRecord;
15405 .catchall {:try_start_15a .. :try_end_1d3} :catchall_44
15407 move-result-object v19
15409 if-nez v19, :cond_20f
15414 if-eqz v22, :cond_229
15417 invoke-static {}, Landroid/app/AppGlobals;->getPackageManager()Landroid/content/pm/IPackageManager;
15419 move-result-object v5
15421 move-object/from16 v0, v18
15423 iget-object v6, v0, Landroid/content/pm/ProviderInfo;->applicationInfo:Landroid/content/pm/ApplicationInfo;
15425 iget-object v6, v6, Landroid/content/pm/ApplicationInfo;->packageName:Ljava/lang/String;
15429 move/from16 v0, v33
15431 invoke-interface {v5, v6, v7, v0}, Landroid/content/pm/IPackageManager;->getApplicationInfo(Ljava/lang/String;II)Landroid/content/pm/ApplicationInfo;
15433 move-result-object v15
15435 if-nez v15, :cond_212
15437 const-string v5, "ActivityManager"
15439 new-instance v6, Ljava/lang/StringBuilder;
15441 invoke-direct {v6}, Ljava/lang/StringBuilder;-><init>()V
15443 const-string v7, "No package info for content provider "
15445 invoke-virtual {v6, v7}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
15447 move-result-object v6
15449 move-object/from16 v0, v18
15451 iget-object v7, v0, Landroid/content/pm/ProviderInfo;->name:Ljava/lang/String;
15453 invoke-virtual {v6, v7}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
15455 move-result-object v6
15457 invoke-virtual {v6}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
15459 move-result-object v6
15461 invoke-static {v5, v6}, Landroid/util/Slog;->w(Ljava/lang/String;Ljava/lang/String;)I
15463 .catchall {:try_start_1da .. :try_end_20a} :catchall_44
15464 .catch Landroid/os/RemoteException; {:try_start_1da .. :try_end_20a} :catch_406
15471 .catchall {:try_start_20c .. :try_end_20d} :catchall_44
15482 move-object/from16 v0, p0
15484 move/from16 v1, v33
15486 invoke-direct {v0, v15, v1}, Lcom/android/server/am/ActivityManagerService;->getAppInfoForUser(Landroid/content/pm/ApplicationInfo;I)Landroid/content/pm/ApplicationInfo;
15488 move-result-object v15
15490 new-instance v20, Lcom/android/server/am/ContentProviderRecord;
15492 move-object/from16 v0, v20
15494 move-object/from16 v1, p0
15496 move-object/from16 v2, v18
15498 move-object/from16 v3, v16
15500 invoke-direct {v0, v1, v2, v15, v3}, Lcom/android/server/am/ContentProviderRecord;-><init>(Lcom/android/server/am/ActivityManagerService;Landroid/content/pm/ProviderInfo;Landroid/content/pm/ApplicationInfo;Landroid/content/ComponentName;)V
15502 .catchall {:try_start_212 .. :try_end_227} :catchall_44
15503 .catch Landroid/os/RemoteException; {:try_start_212 .. :try_end_227} :catch_406
15505 move-object/from16 v19, v20
15509 if-eqz v31, :cond_23f
15512 move-object/from16 v0, v19
15514 move-object/from16 v1, v31
15516 invoke-virtual {v0, v1}, Lcom/android/server/am/ContentProviderRecord;->canRunHere(Lcom/android/server/am/ProcessRecord;)Z
15520 if-eqz v5, :cond_23f
15524 move-object/from16 v0, v19
15526 invoke-virtual {v0, v5}, Lcom/android/server/am/ContentProviderRecord;->newHolder(Lcom/android/server/am/ContentProviderConnection;)Landroid/app/IActivityManager$ContentProviderHolder;
15528 move-result-object v23
15535 move-object/from16 v0, p0
15537 iget-object v5, v0, Lcom/android/server/am/ActivityManagerService;->mLaunchingProviders:Ljava/util/ArrayList;
15539 invoke-virtual {v5}, Ljava/util/ArrayList;->size()I
15546 move/from16 v0, v24
15548 if-ge v0, v14, :cond_25b
15550 move-object/from16 v0, p0
15552 iget-object v5, v0, Lcom/android/server/am/ActivityManagerService;->mLaunchingProviders:Ljava/util/ArrayList;
15554 move/from16 v0, v24
15556 invoke-virtual {v5, v0}, Ljava/util/ArrayList;->get(I)Ljava/lang/Object;
15558 move-result-object v5
15560 move-object/from16 v0, v19
15562 if-ne v5, v0, :cond_2e0
15565 move/from16 v0, v24
15567 if-lt v0, v14, :cond_328
15569 invoke-static {}, Landroid/os/Binder;->clearCallingIdentity()J
15571 .catchall {:try_start_22b .. :try_end_262} :catchall_44
15573 move-result-wide v27
15576 invoke-static {}, Landroid/app/AppGlobals;->getPackageManager()Landroid/content/pm/IPackageManager;
15578 move-result-object v5
15580 move-object/from16 v0, v19
15582 iget-object v6, v0, Lcom/android/server/am/ContentProviderRecord;->appInfo:Landroid/content/pm/ApplicationInfo;
15584 iget-object v6, v6, Landroid/content/pm/ApplicationInfo;->packageName:Ljava/lang/String;
15588 move/from16 v0, v33
15590 invoke-interface {v5, v6, v7, v0}, Landroid/content/pm/IPackageManager;->setPackageStoppedState(Ljava/lang/String;ZI)V
15592 .catchall {:try_start_263 .. :try_end_273} :catchall_311
15593 .catch Landroid/os/RemoteException; {:try_start_263 .. :try_end_273} :catch_403
15594 .catch Ljava/lang/IllegalArgumentException; {:try_start_263 .. :try_end_273} :catch_2e4
15598 move-object/from16 v0, v18
15600 iget-object v6, v0, Landroid/content/pm/ProviderInfo;->processName:Ljava/lang/String;
15602 move-object/from16 v0, v19
15604 iget-object v7, v0, Lcom/android/server/am/ContentProviderRecord;->appInfo:Landroid/content/pm/ApplicationInfo;
15610 const-string v10, "content provider"
15612 new-instance v11, Landroid/content/ComponentName;
15614 move-object/from16 v0, v18
15616 iget-object v5, v0, Landroid/content/pm/ProviderInfo;->applicationInfo:Landroid/content/pm/ApplicationInfo;
15618 iget-object v5, v5, Landroid/content/pm/ApplicationInfo;->packageName:Ljava/lang/String;
15620 move-object/from16 v0, v18
15622 iget-object v12, v0, Landroid/content/pm/ProviderInfo;->name:Ljava/lang/String;
15624 invoke-direct {v11, v5, v12}, Landroid/content/ComponentName;-><init>(Ljava/lang/String;Ljava/lang/String;)V
15630 move-object/from16 v5, p0
15632 invoke-virtual/range {v5 .. v13}, 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;
15634 move-result-object v29
15636 if-nez v29, :cond_316
15638 const-string v5, "ActivityManager"
15640 new-instance v6, Ljava/lang/StringBuilder;
15642 invoke-direct {v6}, Ljava/lang/StringBuilder;-><init>()V
15644 const-string v7, "Unable to launch app "
15646 invoke-virtual {v6, v7}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
15648 move-result-object v6
15650 move-object/from16 v0, v18
15652 iget-object v7, v0, Landroid/content/pm/ProviderInfo;->applicationInfo:Landroid/content/pm/ApplicationInfo;
15654 iget-object v7, v7, Landroid/content/pm/ApplicationInfo;->packageName:Ljava/lang/String;
15656 invoke-virtual {v6, v7}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
15658 move-result-object v6
15660 const-string v7, "/"
15662 invoke-virtual {v6, v7}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
15664 move-result-object v6
15666 move-object/from16 v0, v18
15668 iget-object v7, v0, Landroid/content/pm/ProviderInfo;->applicationInfo:Landroid/content/pm/ApplicationInfo;
15670 iget v7, v7, Landroid/content/pm/ApplicationInfo;->uid:I
15672 invoke-virtual {v6, v7}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
15674 move-result-object v6
15676 const-string v7, " for provider "
15678 invoke-virtual {v6, v7}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
15680 move-result-object v6
15682 move-object/from16 v0, p2
15684 invoke-virtual {v6, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
15686 move-result-object v6
15688 const-string v7, ": process is bad"
15690 invoke-virtual {v6, v7}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
15692 move-result-object v6
15694 invoke-virtual {v6}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
15696 move-result-object v6
15698 invoke-static {v5, v6}, Landroid/util/Slog;->w(Ljava/lang/String;Ljava/lang/String;)I
15700 .catchall {:try_start_273 .. :try_end_2d8} :catchall_311
15705 invoke-static/range {v27 .. v28}, Landroid/os/Binder;->restoreCallingIdentity(J)V
15709 .catchall {:try_start_2da .. :try_end_2de} :catchall_44
15714 add-int/lit8 v24, v24, 0x1
15722 const-string v5, "ActivityManager"
15724 new-instance v6, Ljava/lang/StringBuilder;
15726 invoke-direct {v6}, Ljava/lang/StringBuilder;-><init>()V
15728 const-string v7, "Failed trying to unstop package "
15730 invoke-virtual {v6, v7}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
15732 move-result-object v6
15734 move-object/from16 v0, v19
15736 iget-object v7, v0, Lcom/android/server/am/ContentProviderRecord;->appInfo:Landroid/content/pm/ApplicationInfo;
15738 iget-object v7, v7, Landroid/content/pm/ApplicationInfo;->packageName:Ljava/lang/String;
15740 invoke-virtual {v6, v7}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
15742 move-result-object v6
15744 const-string v7, ": "
15746 invoke-virtual {v6, v7}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
15748 move-result-object v6
15750 move-object/from16 v0, v21
15752 invoke-virtual {v6, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
15754 move-result-object v6
15756 invoke-virtual {v6}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
15758 move-result-object v6
15760 invoke-static {v5, v6}, Landroid/util/Slog;->w(Ljava/lang/String;Ljava/lang/String;)I
15762 .catchall {:try_start_2e5 .. :try_end_30f} :catchall_311
15770 invoke-static/range {v27 .. v28}, Landroid/os/Binder;->restoreCallingIdentity(J)V
15774 .catchall {:try_start_312 .. :try_end_316} :catchall_44
15778 move-object/from16 v0, v29
15780 move-object/from16 v1, v19
15782 iput-object v0, v1, Lcom/android/server/am/ContentProviderRecord;->launchingApp:Lcom/android/server/am/ProcessRecord;
15784 move-object/from16 v0, p0
15786 iget-object v5, v0, Lcom/android/server/am/ActivityManagerService;->mLaunchingProviders:Ljava/util/ArrayList;
15788 move-object/from16 v0, v19
15790 invoke-virtual {v5, v0}, Ljava/util/ArrayList;->add(Ljava/lang/Object;)Z
15792 .catchall {:try_start_316 .. :try_end_325} :catchall_311
15795 invoke-static/range {v27 .. v28}, Landroid/os/Binder;->restoreCallingIdentity(J)V
15798 if-eqz v22, :cond_335
15800 move-object/from16 v0, p0
15802 iget-object v5, v0, Lcom/android/server/am/ActivityManagerService;->mProviderMap:Lcom/android/server/am/ProviderMap;
15804 move-object/from16 v0, v16
15806 move-object/from16 v1, v19
15808 invoke-virtual {v5, v0, v1}, Lcom/android/server/am/ProviderMap;->putProviderByClass(Landroid/content/ComponentName;Lcom/android/server/am/ContentProviderRecord;)V
15811 move-object/from16 v0, p0
15813 iget-object v5, v0, Lcom/android/server/am/ActivityManagerService;->mProviderMap:Lcom/android/server/am/ProviderMap;
15815 move-object/from16 v0, p2
15817 move-object/from16 v1, v19
15819 invoke-virtual {v5, v0, v1}, Lcom/android/server/am/ProviderMap;->putProviderByName(Ljava/lang/String;Lcom/android/server/am/ContentProviderRecord;)V
15821 move-object/from16 v0, p0
15823 move-object/from16 v1, v31
15825 move-object/from16 v2, v19
15827 move-object/from16 v3, p3
15831 invoke-virtual {v0, v1, v2, v3, v4}, 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;
15833 move-result-object v17
15835 if-eqz v17, :cond_355
15839 move-object/from16 v0, v17
15841 iput-boolean v5, v0, Lcom/android/server/am/ContentProviderConnection;->waiting:Z
15846 .catchall {:try_start_325 .. :try_end_356} :catchall_44
15853 move-object/from16 v0, v19
15855 iget-object v5, v0, Lcom/android/server/am/ContentProviderRecord;->provider:Landroid/content/IContentProvider;
15857 if-nez v5, :cond_3e8
15859 move-object/from16 v0, v19
15861 iget-object v5, v0, Lcom/android/server/am/ContentProviderRecord;->launchingApp:Lcom/android/server/am/ProcessRecord;
15863 if-nez v5, :cond_3cc
15865 const-string v5, "ActivityManager"
15867 new-instance v6, Ljava/lang/StringBuilder;
15869 invoke-direct {v6}, Ljava/lang/StringBuilder;-><init>()V
15871 const-string v7, "Unable to launch app "
15873 invoke-virtual {v6, v7}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
15875 move-result-object v6
15877 move-object/from16 v0, v18
15879 iget-object v7, v0, Landroid/content/pm/ProviderInfo;->applicationInfo:Landroid/content/pm/ApplicationInfo;
15881 iget-object v7, v7, Landroid/content/pm/ApplicationInfo;->packageName:Ljava/lang/String;
15883 invoke-virtual {v6, v7}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
15885 move-result-object v6
15887 const-string v7, "/"
15889 invoke-virtual {v6, v7}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
15891 move-result-object v6
15893 move-object/from16 v0, v18
15895 iget-object v7, v0, Landroid/content/pm/ProviderInfo;->applicationInfo:Landroid/content/pm/ApplicationInfo;
15897 iget v7, v7, Landroid/content/pm/ApplicationInfo;->uid:I
15899 invoke-virtual {v6, v7}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
15901 move-result-object v6
15903 const-string v7, " for provider "
15905 invoke-virtual {v6, v7}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
15907 move-result-object v6
15909 move-object/from16 v0, p2
15911 invoke-virtual {v6, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
15913 move-result-object v6
15915 const-string v7, ": launching app became null"
15917 invoke-virtual {v6, v7}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
15919 move-result-object v6
15921 invoke-virtual {v6}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
15923 move-result-object v6
15925 invoke-static {v5, v6}, Landroid/util/Slog;->w(Ljava/lang/String;Ljava/lang/String;)I
15927 const/16 v5, 0x7554
15931 new-array v6, v6, [Ljava/lang/Object;
15935 move-object/from16 v0, v18
15937 iget-object v8, v0, Landroid/content/pm/ProviderInfo;->applicationInfo:Landroid/content/pm/ApplicationInfo;
15939 iget-object v8, v8, Landroid/content/pm/ApplicationInfo;->packageName:Ljava/lang/String;
15941 aput-object v8, v6, v7
15945 move-object/from16 v0, v18
15947 iget-object v8, v0, Landroid/content/pm/ProviderInfo;->applicationInfo:Landroid/content/pm/ApplicationInfo;
15949 iget v8, v8, Landroid/content/pm/ApplicationInfo;->uid:I
15951 invoke-static {v8}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
15953 move-result-object v8
15955 aput-object v8, v6, v7
15959 aput-object p2, v6, v7
15961 invoke-static {v5, v6}, Landroid/util/EventLog;->writeEvent(I[Ljava/lang/Object;)I
15974 .catchall {:try_start_357 .. :try_end_3cb} :catchall_3c9
15979 if-eqz v17, :cond_3d3
15984 move-object/from16 v0, v17
15986 iput-boolean v5, v0, Lcom/android/server/am/ContentProviderConnection;->waiting:Z
15989 invoke-virtual/range {v19 .. v19}, Ljava/lang/Object;->wait()V
15991 .catchall {:try_start_3cf .. :try_end_3d6} :catchall_3df
15992 .catch Ljava/lang/InterruptedException; {:try_start_3cf .. :try_end_3d6} :catch_3f9
15994 if-eqz v17, :cond_357
15999 move-object/from16 v0, v17
16001 iput-boolean v5, v0, Lcom/android/server/am/ContentProviderConnection;->waiting:Z
16008 if-eqz v17, :cond_3e7
16012 move-object/from16 v0, v17
16014 iput-boolean v6, v0, Lcom/android/server/am/ContentProviderConnection;->waiting:Z
16022 .catchall {:try_start_3d9 .. :try_end_3e9} :catchall_3c9
16024 if-eqz v19, :cond_3f7
16026 move-object/from16 v0, v19
16028 move-object/from16 v1, v17
16030 invoke-virtual {v0, v1}, Lcom/android/server/am/ContentProviderRecord;->newHolder(Lcom/android/server/am/ContentProviderConnection;)Landroid/app/IActivityManager$ContentProviderHolder;
16032 move-result-object v5
16035 move-object/from16 v23, v5
16047 if-eqz v17, :cond_357
16052 move-object/from16 v0, v17
16054 iput-boolean v5, v0, Lcom/android/server/am/ContentProviderConnection;->waiting:Z
16056 .catchall {:try_start_3fd .. :try_end_401} :catchall_3c9
16076 .method private final getLRURecordIndexForAppLocked(Landroid/app/IApplicationThread;)I
16079 invoke-interface {p1}, Landroid/app/IApplicationThread;->asBinder()Landroid/os/IBinder;
16081 move-result-object v2
16083 iget-object v3, p0, Lcom/android/server/am/ActivityManagerService;->mLruProcesses:Ljava/util/ArrayList;
16085 invoke-virtual {v3}, Ljava/util/ArrayList;->size()I
16089 add-int/lit8 v0, v3, -0x1
16092 if-ltz v0, :cond_26
16094 iget-object v3, p0, Lcom/android/server/am/ActivityManagerService;->mLruProcesses:Ljava/util/ArrayList;
16096 invoke-virtual {v3, v0}, Ljava/util/ArrayList;->get(I)Ljava/lang/Object;
16098 move-result-object v1
16100 check-cast v1, Lcom/android/server/am/ProcessRecord;
16102 iget-object v3, v1, Lcom/android/server/am/ProcessRecord;->thread:Landroid/app/IApplicationThread;
16104 if-eqz v3, :cond_23
16106 iget-object v3, v1, Lcom/android/server/am/ProcessRecord;->thread:Landroid/app/IApplicationThread;
16108 invoke-interface {v3}, Landroid/app/IApplicationThread;->asBinder()Landroid/os/IBinder;
16110 move-result-object v3
16112 if-ne v3, v2, :cond_23
16118 add-int/lit8 v0, v0, -0x1
16128 .method private final getStickiesLocked(Ljava/lang/String;Landroid/content/IntentFilter;Ljava/util/List;)Ljava/util/List;
16131 iget-object v6, p0, Lcom/android/server/am/ActivityManagerService;->mContext:Landroid/content/Context;
16133 invoke-virtual {v6}, Landroid/content/Context;->getContentResolver()Landroid/content/ContentResolver;
16135 move-result-object v5
16137 iget-object v6, p0, Lcom/android/server/am/ActivityManagerService;->mStickyBroadcasts:Ljava/util/HashMap;
16139 invoke-virtual {v6, p1}, Ljava/util/HashMap;->get(Ljava/lang/Object;)Ljava/lang/Object;
16141 move-result-object v4
16143 check-cast v4, Ljava/util/ArrayList;
16145 if-nez v4, :cond_12
16153 invoke-virtual {v4}, Ljava/util/ArrayList;->size()I
16160 if-ge v2, v0, :cond_35
16162 invoke-virtual {v4, v2}, Ljava/util/ArrayList;->get(I)Ljava/lang/Object;
16164 move-result-object v3
16166 check-cast v3, Landroid/content/Intent;
16170 const-string v7, "ActivityManager"
16172 invoke-virtual {p2, v5, v3, v6, v7}, Landroid/content/IntentFilter;->match(Landroid/content/ContentResolver;Landroid/content/Intent;ZLjava/lang/String;)I
16176 if-ltz v6, :cond_32
16178 if-nez p3, :cond_2f
16180 new-instance p3, Ljava/util/ArrayList;
16182 invoke-direct {p3}, Ljava/util/ArrayList;-><init>()V
16185 invoke-interface {p3, v3}, Ljava/util/List;->add(Ljava/lang/Object;)Z
16188 add-int/lit8 v2, v2, 0x1
16198 .method private getUiContext()Landroid/content/Context;
16204 iget-object v0, p0, Lcom/android/server/am/ActivityManagerService;->mUiContext:Landroid/content/Context;
16206 if-nez v0, :cond_11
16208 iget-boolean v0, p0, Lcom/android/server/am/ActivityManagerService;->mBooted:Z
16210 if-eqz v0, :cond_11
16212 iget-object v0, p0, Lcom/android/server/am/ActivityManagerService;->mContext:Landroid/content/Context;
16214 invoke-static {v0}, Lcom/android/internal/app/ThemeUtils;->createUiContext(Landroid/content/Context;)Landroid/content/Context;
16216 move-result-object v0
16218 iput-object v0, p0, Lcom/android/server/am/ActivityManagerService;->mUiContext:Landroid/content/Context;
16221 iget-object v0, p0, Lcom/android/server/am/ActivityManagerService;->mUiContext:Landroid/content/Context;
16223 if-eqz v0, :cond_19
16225 iget-object v0, p0, Lcom/android/server/am/ActivityManagerService;->mUiContext:Landroid/content/Context;
16233 iget-object v0, p0, Lcom/android/server/am/ActivityManagerService;->mContext:Landroid/content/Context;
16242 .catchall {:try_start_1 .. :try_end_1e} :catchall_1c
16247 .method private handleAppCrashLocked(Lcom/android/server/am/ProcessRecord;)Z
16250 move-object/from16 v0, p0
16252 iget-boolean v2, v0, Lcom/android/server/am/ActivityManagerService;->mHeadless:Z
16254 if-eqz v2, :cond_24
16256 const-string v2, "ActivityManager"
16258 new-instance v5, Ljava/lang/StringBuilder;
16260 invoke-direct {v5}, Ljava/lang/StringBuilder;-><init>()V
16262 const-string v6, "handleAppCrashLocked: "
16264 invoke-virtual {v5, v6}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
16266 move-result-object v5
16268 move-object/from16 v0, p1
16270 iget-object v6, v0, Lcom/android/server/am/ProcessRecord;->processName:Ljava/lang/String;
16272 invoke-virtual {v5, v6}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
16274 move-result-object v5
16276 invoke-virtual {v5}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
16278 move-result-object v5
16280 invoke-static {v2, v5}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I
16288 invoke-static {}, Landroid/os/SystemClock;->uptimeMillis()J
16290 move-result-wide v14
16292 move-object/from16 v0, p1
16294 iget-boolean v2, v0, Lcom/android/server/am/ProcessRecord;->isolated:Z
16296 if-nez v2, :cond_de
16298 move-object/from16 v0, p0
16300 iget-object v2, v0, Lcom/android/server/am/ActivityManagerService;->mProcessCrashTimes:Lcom/android/server/ProcessMap;
16302 move-object/from16 v0, p1
16304 iget-object v5, v0, Lcom/android/server/am/ProcessRecord;->info:Landroid/content/pm/ApplicationInfo;
16306 iget-object v5, v5, Landroid/content/pm/ApplicationInfo;->processName:Ljava/lang/String;
16308 move-object/from16 v0, p1
16310 iget v6, v0, Lcom/android/server/am/ProcessRecord;->uid:I
16312 invoke-virtual {v2, v5, v6}, Lcom/android/server/ProcessMap;->get(Ljava/lang/String;I)Ljava/lang/Object;
16314 move-result-object v11
16316 check-cast v11, Ljava/lang/Long;
16319 if-eqz v11, :cond_180
16321 invoke-virtual {v11}, Ljava/lang/Long;->longValue()J
16323 move-result-wide v5
16325 const-wide/32 v8, 0xea60
16327 add-long/2addr v5, v8
16329 cmp-long v2, v14, v5
16331 if-gez v2, :cond_180
16333 const-string v2, "ActivityManager"
16335 new-instance v5, Ljava/lang/StringBuilder;
16337 invoke-direct {v5}, Ljava/lang/StringBuilder;-><init>()V
16339 const-string v6, "Process "
16341 invoke-virtual {v5, v6}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
16343 move-result-object v5
16345 move-object/from16 v0, p1
16347 iget-object v6, v0, Lcom/android/server/am/ProcessRecord;->info:Landroid/content/pm/ApplicationInfo;
16349 iget-object v6, v6, Landroid/content/pm/ApplicationInfo;->processName:Ljava/lang/String;
16351 invoke-virtual {v5, v6}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
16353 move-result-object v5
16355 const-string v6, " has crashed too many times: killing!"
16357 invoke-virtual {v5, v6}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
16359 move-result-object v5
16361 invoke-virtual {v5}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
16363 move-result-object v5
16365 invoke-static {v2, v5}, Landroid/util/Slog;->w(Ljava/lang/String;Ljava/lang/String;)I
16367 const/16 v2, 0x7550
16371 new-array v5, v5, [Ljava/lang/Object;
16375 move-object/from16 v0, p1
16377 iget-object v8, v0, Lcom/android/server/am/ProcessRecord;->info:Landroid/content/pm/ApplicationInfo;
16379 iget-object v8, v8, Landroid/content/pm/ApplicationInfo;->processName:Ljava/lang/String;
16381 aput-object v8, v5, v6
16385 move-object/from16 v0, p1
16387 iget v8, v0, Lcom/android/server/am/ProcessRecord;->uid:I
16389 invoke-static {v8}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
16391 move-result-object v8
16393 aput-object v8, v5, v6
16395 invoke-static {v2, v5}, Landroid/util/EventLog;->writeEvent(I[Ljava/lang/Object;)I
16397 move-object/from16 v0, p0
16399 iget-object v2, v0, Lcom/android/server/am/ActivityManagerService;->mMainStack:Lcom/android/server/am/ActivityStack;
16401 iget-object v2, v2, Lcom/android/server/am/ActivityStack;->mHistory:Ljava/util/ArrayList;
16403 invoke-virtual {v2}, Ljava/util/ArrayList;->size()I
16407 add-int/lit8 v4, v2, -0x1
16410 if-ltz v4, :cond_e1
16412 move-object/from16 v0, p0
16414 iget-object v2, v0, Lcom/android/server/am/ActivityManagerService;->mMainStack:Lcom/android/server/am/ActivityStack;
16416 iget-object v2, v2, Lcom/android/server/am/ActivityStack;->mHistory:Ljava/util/ArrayList;
16418 invoke-virtual {v2, v4}, Ljava/util/ArrayList;->get(I)Ljava/lang/Object;
16420 move-result-object v3
16422 check-cast v3, Lcom/android/server/am/ActivityRecord;
16424 iget-object v2, v3, Lcom/android/server/am/ActivityRecord;->app:Lcom/android/server/am/ProcessRecord;
16426 move-object/from16 v0, p1
16428 if-ne v2, v0, :cond_db
16430 const-string v2, "ActivityManager"
16432 new-instance v5, Ljava/lang/StringBuilder;
16434 invoke-direct {v5}, Ljava/lang/StringBuilder;-><init>()V
16436 const-string v6, " Force finishing activity "
16438 invoke-virtual {v5, v6}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
16440 move-result-object v5
16442 iget-object v6, v3, Lcom/android/server/am/ActivityRecord;->intent:Landroid/content/Intent;
16444 invoke-virtual {v6}, Landroid/content/Intent;->getComponent()Landroid/content/ComponentName;
16446 move-result-object v6
16448 invoke-virtual {v6}, Landroid/content/ComponentName;->flattenToShortString()Ljava/lang/String;
16450 move-result-object v6
16452 invoke-virtual {v5, v6}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
16454 move-result-object v5
16456 invoke-virtual {v5}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
16458 move-result-object v5
16460 invoke-static {v2, v5}, Landroid/util/Slog;->w(Ljava/lang/String;Ljava/lang/String;)I
16462 iget-object v2, v3, Lcom/android/server/am/ActivityRecord;->stack:Lcom/android/server/am/ActivityStack;
16468 const-string v7, "crashed"
16470 invoke-virtual/range {v2 .. v7}, Lcom/android/server/am/ActivityStack;->finishActivityLocked(Lcom/android/server/am/ActivityRecord;IILandroid/content/Intent;Ljava/lang/String;)Z
16473 add-int/lit8 v4, v4, -0x1
16483 move-object/from16 v0, p1
16485 iget-boolean v2, v0, Lcom/android/server/am/ProcessRecord;->persistent:Z
16487 if-nez v2, :cond_14f
16489 const/16 v2, 0x753f
16493 new-array v5, v5, [Ljava/lang/Object;
16497 move-object/from16 v0, p1
16499 iget v8, v0, Lcom/android/server/am/ProcessRecord;->uid:I
16501 invoke-static {v8}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
16503 move-result-object v8
16505 aput-object v8, v5, v6
16509 move-object/from16 v0, p1
16511 iget-object v8, v0, Lcom/android/server/am/ProcessRecord;->info:Landroid/content/pm/ApplicationInfo;
16513 iget-object v8, v8, Landroid/content/pm/ApplicationInfo;->processName:Ljava/lang/String;
16515 aput-object v8, v5, v6
16517 invoke-static {v2, v5}, Landroid/util/EventLog;->writeEvent(I[Ljava/lang/Object;)I
16519 move-object/from16 v0, p1
16521 iget-boolean v2, v0, Lcom/android/server/am/ProcessRecord;->isolated:Z
16523 if-nez v2, :cond_12f
16525 move-object/from16 v0, p0
16527 iget-object v2, v0, Lcom/android/server/am/ActivityManagerService;->mBadProcesses:Lcom/android/server/ProcessMap;
16529 move-object/from16 v0, p1
16531 iget-object v5, v0, Lcom/android/server/am/ProcessRecord;->info:Landroid/content/pm/ApplicationInfo;
16533 iget-object v5, v5, Landroid/content/pm/ApplicationInfo;->processName:Ljava/lang/String;
16535 move-object/from16 v0, p1
16537 iget v6, v0, Lcom/android/server/am/ProcessRecord;->uid:I
16539 invoke-static {v14, v15}, Ljava/lang/Long;->valueOf(J)Ljava/lang/Long;
16541 move-result-object v8
16543 invoke-virtual {v2, v5, v6, v8}, Lcom/android/server/ProcessMap;->put(Ljava/lang/String;ILjava/lang/Object;)Ljava/lang/Object;
16545 move-object/from16 v0, p0
16547 iget-object v2, v0, Lcom/android/server/am/ActivityManagerService;->mProcessCrashTimes:Lcom/android/server/ProcessMap;
16549 move-object/from16 v0, p1
16551 iget-object v5, v0, Lcom/android/server/am/ProcessRecord;->info:Landroid/content/pm/ApplicationInfo;
16553 iget-object v5, v5, Landroid/content/pm/ApplicationInfo;->processName:Ljava/lang/String;
16555 move-object/from16 v0, p1
16557 iget v6, v0, Lcom/android/server/am/ProcessRecord;->uid:I
16559 invoke-virtual {v2, v5, v6}, Lcom/android/server/ProcessMap;->remove(Ljava/lang/String;I)V
16564 move-object/from16 v0, p1
16566 iput-boolean v2, v0, Lcom/android/server/am/ProcessRecord;->bad:Z
16570 move-object/from16 v0, p1
16572 iput-boolean v2, v0, Lcom/android/server/am/ProcessRecord;->removed:Z
16578 const-string v6, "crash"
16580 move-object/from16 v0, p0
16582 move-object/from16 v1, p1
16584 invoke-direct {v0, v1, v2, v5, v6}, Lcom/android/server/am/ActivityManagerService;->removeProcessLocked(Lcom/android/server/am/ProcessRecord;ZZLjava/lang/String;)Z
16586 move-object/from16 v0, p0
16588 iget-object v2, v0, Lcom/android/server/am/ActivityManagerService;->mMainStack:Lcom/android/server/am/ActivityStack;
16592 invoke-virtual {v2, v5}, Lcom/android/server/am/ActivityStack;->resumeTopActivityLocked(Lcom/android/server/am/ActivityRecord;)Z
16599 move-object/from16 v0, p0
16601 iget-object v2, v0, Lcom/android/server/am/ActivityManagerService;->mMainStack:Lcom/android/server/am/ActivityStack;
16605 invoke-virtual {v2, v5}, Lcom/android/server/am/ActivityStack;->resumeTopActivityLocked(Lcom/android/server/am/ActivityRecord;)Z
16609 move-object/from16 v0, p1
16611 iget-object v2, v0, Lcom/android/server/am/ProcessRecord;->services:Ljava/util/HashSet;
16613 invoke-virtual {v2}, Ljava/util/HashSet;->size()I
16617 if-eqz v2, :cond_221
16619 move-object/from16 v0, p1
16621 iget-object v2, v0, Lcom/android/server/am/ProcessRecord;->services:Ljava/util/HashSet;
16623 invoke-virtual {v2}, Ljava/util/HashSet;->iterator()Ljava/util/Iterator;
16625 move-result-object v13
16628 invoke-interface {v13}, Ljava/util/Iterator;->hasNext()Z
16632 if-eqz v2, :cond_221
16634 invoke-interface {v13}, Ljava/util/Iterator;->next()Ljava/lang/Object;
16636 move-result-object v16
16638 check-cast v16, Lcom/android/server/am/ServiceRecord;
16640 move-object/from16 v0, v16
16642 iget v2, v0, Lcom/android/server/am/ServiceRecord;->crashCount:I
16644 add-int/lit8 v2, v2, 0x1
16646 move-object/from16 v0, v16
16648 iput v2, v0, Lcom/android/server/am/ServiceRecord;->crashCount:I
16653 move-object/from16 v0, p0
16655 iget-object v2, v0, Lcom/android/server/am/ActivityManagerService;->mMainStack:Lcom/android/server/am/ActivityStack;
16659 invoke-virtual {v2, v5}, Lcom/android/server/am/ActivityStack;->topRunningActivityLocked(Lcom/android/server/am/ActivityRecord;)Lcom/android/server/am/ActivityRecord;
16661 move-result-object v3
16663 if-eqz v3, :cond_157
16665 iget-object v2, v3, Lcom/android/server/am/ActivityRecord;->app:Lcom/android/server/am/ProcessRecord;
16667 move-object/from16 v0, p1
16669 if-ne v2, v0, :cond_157
16671 const-string v2, "ActivityManager"
16673 new-instance v5, Ljava/lang/StringBuilder;
16675 invoke-direct {v5}, Ljava/lang/StringBuilder;-><init>()V
16677 const-string v6, " Force finishing activity "
16679 invoke-virtual {v5, v6}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
16681 move-result-object v5
16683 iget-object v6, v3, Lcom/android/server/am/ActivityRecord;->intent:Landroid/content/Intent;
16685 invoke-virtual {v6}, Landroid/content/Intent;->getComponent()Landroid/content/ComponentName;
16687 move-result-object v6
16689 invoke-virtual {v6}, Landroid/content/ComponentName;->flattenToShortString()Ljava/lang/String;
16691 move-result-object v6
16693 invoke-virtual {v5, v6}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
16695 move-result-object v5
16697 invoke-virtual {v5}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
16699 move-result-object v5
16701 invoke-static {v2, v5}, Landroid/util/Slog;->w(Ljava/lang/String;Ljava/lang/String;)I
16703 move-object/from16 v0, p0
16705 iget-object v2, v0, Lcom/android/server/am/ActivityManagerService;->mMainStack:Lcom/android/server/am/ActivityStack;
16707 invoke-virtual {v2, v3}, Lcom/android/server/am/ActivityStack;->indexOfActivityLocked(Lcom/android/server/am/ActivityRecord;)I
16711 iget-object v5, v3, Lcom/android/server/am/ActivityRecord;->stack:Lcom/android/server/am/ActivityStack;
16717 const-string v10, "crashed"
16721 invoke-virtual/range {v5 .. v10}, Lcom/android/server/am/ActivityStack;->finishActivityLocked(Lcom/android/server/am/ActivityRecord;IILandroid/content/Intent;Ljava/lang/String;)Z
16723 add-int/lit8 v7, v7, -0x1
16725 if-ltz v7, :cond_157
16727 move-object/from16 v0, p0
16729 iget-object v2, v0, Lcom/android/server/am/ActivityManagerService;->mMainStack:Lcom/android/server/am/ActivityStack;
16731 iget-object v2, v2, Lcom/android/server/am/ActivityStack;->mHistory:Ljava/util/ArrayList;
16733 invoke-virtual {v2, v7}, Ljava/util/ArrayList;->get(I)Ljava/lang/Object;
16735 move-result-object v3
16737 check-cast v3, Lcom/android/server/am/ActivityRecord;
16739 iget-object v2, v3, Lcom/android/server/am/ActivityRecord;->state:Lcom/android/server/am/ActivityStack$ActivityState;
16741 sget-object v5, Lcom/android/server/am/ActivityStack$ActivityState;->RESUMED:Lcom/android/server/am/ActivityStack$ActivityState;
16743 if-eq v2, v5, :cond_1e7
16745 iget-object v2, v3, Lcom/android/server/am/ActivityRecord;->state:Lcom/android/server/am/ActivityStack$ActivityState;
16747 sget-object v5, Lcom/android/server/am/ActivityStack$ActivityState;->PAUSING:Lcom/android/server/am/ActivityStack$ActivityState;
16749 if-eq v2, v5, :cond_1e7
16751 iget-object v2, v3, Lcom/android/server/am/ActivityRecord;->state:Lcom/android/server/am/ActivityStack$ActivityState;
16753 sget-object v5, Lcom/android/server/am/ActivityStack$ActivityState;->PAUSED:Lcom/android/server/am/ActivityStack$ActivityState;
16755 if-ne v2, v5, :cond_157
16758 iget-boolean v2, v3, Lcom/android/server/am/ActivityRecord;->isHomeActivity:Z
16760 if-eqz v2, :cond_1f3
16762 move-object/from16 v0, p0
16764 iget-object v2, v0, Lcom/android/server/am/ActivityManagerService;->mHomeProcess:Lcom/android/server/am/ProcessRecord;
16766 iget-object v5, v3, Lcom/android/server/am/ActivityRecord;->app:Lcom/android/server/am/ProcessRecord;
16768 if-eq v2, v5, :cond_157
16771 const-string v2, "ActivityManager"
16773 new-instance v5, Ljava/lang/StringBuilder;
16775 invoke-direct {v5}, Ljava/lang/StringBuilder;-><init>()V
16777 const-string v6, " Force finishing activity "
16779 invoke-virtual {v5, v6}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
16781 move-result-object v5
16783 iget-object v6, v3, Lcom/android/server/am/ActivityRecord;->intent:Landroid/content/Intent;
16785 invoke-virtual {v6}, Landroid/content/Intent;->getComponent()Landroid/content/ComponentName;
16787 move-result-object v6
16789 invoke-virtual {v6}, Landroid/content/ComponentName;->flattenToShortString()Ljava/lang/String;
16791 move-result-object v6
16793 invoke-virtual {v5, v6}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
16795 move-result-object v5
16797 invoke-virtual {v5}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
16799 move-result-object v5
16801 invoke-static {v2, v5}, Landroid/util/Slog;->w(Ljava/lang/String;Ljava/lang/String;)I
16803 iget-object v5, v3, Lcom/android/server/am/ActivityRecord;->stack:Lcom/android/server/am/ActivityStack;
16809 const-string v10, "crashed"
16813 invoke-virtual/range {v5 .. v10}, Lcom/android/server/am/ActivityStack;->finishActivityLocked(Lcom/android/server/am/ActivityRecord;IILandroid/content/Intent;Ljava/lang/String;)Z
16818 move-object/from16 v0, p0
16820 iget-object v2, v0, Lcom/android/server/am/ActivityManagerService;->mHomeProcess:Lcom/android/server/am/ProcessRecord;
16822 move-object/from16 v0, p1
16824 if-ne v0, v2, :cond_281
16826 move-object/from16 v0, p0
16828 iget-object v2, v0, Lcom/android/server/am/ActivityManagerService;->mHomeProcess:Lcom/android/server/am/ProcessRecord;
16830 iget-object v2, v2, Lcom/android/server/am/ProcessRecord;->activities:Ljava/util/ArrayList;
16832 invoke-virtual {v2}, Ljava/util/ArrayList;->size()I
16836 if-lez v2, :cond_281
16838 move-object/from16 v0, p0
16840 iget-object v2, v0, Lcom/android/server/am/ActivityManagerService;->mHomeProcess:Lcom/android/server/am/ProcessRecord;
16842 iget-object v2, v2, Lcom/android/server/am/ProcessRecord;->info:Landroid/content/pm/ApplicationInfo;
16844 iget v2, v2, Landroid/content/pm/ApplicationInfo;->flags:I
16846 and-int/lit8 v2, v2, 0x1
16848 if-nez v2, :cond_281
16850 move-object/from16 v0, p0
16852 iget-object v2, v0, Lcom/android/server/am/ActivityManagerService;->mHomeProcess:Lcom/android/server/am/ProcessRecord;
16854 iget-object v2, v2, Lcom/android/server/am/ProcessRecord;->activities:Ljava/util/ArrayList;
16856 invoke-virtual {v2}, Ljava/util/ArrayList;->iterator()Ljava/util/Iterator;
16858 move-result-object v12
16862 invoke-interface {v12}, Ljava/util/Iterator;->hasNext()Z
16866 if-eqz v2, :cond_281
16868 invoke-interface {v12}, Ljava/util/Iterator;->next()Ljava/lang/Object;
16870 move-result-object v3
16872 check-cast v3, Lcom/android/server/am/ActivityRecord;
16874 iget-boolean v2, v3, Lcom/android/server/am/ActivityRecord;->isHomeActivity:Z
16876 if-eqz v2, :cond_24b
16878 const-string v2, "ActivityManager"
16880 new-instance v5, Ljava/lang/StringBuilder;
16882 invoke-direct {v5}, Ljava/lang/StringBuilder;-><init>()V
16884 const-string v6, "Clearing package preferred activities from "
16886 invoke-virtual {v5, v6}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
16888 move-result-object v5
16890 iget-object v6, v3, Lcom/android/server/am/ActivityRecord;->packageName:Ljava/lang/String;
16892 invoke-virtual {v5, v6}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
16894 move-result-object v5
16896 invoke-virtual {v5}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
16898 move-result-object v5
16900 invoke-static {v2, v5}, Landroid/util/Log;->i(Ljava/lang/String;Ljava/lang/String;)I
16903 invoke-static {}, Landroid/app/ActivityThread;->getPackageManager()Landroid/content/pm/IPackageManager;
16905 move-result-object v2
16907 iget-object v5, v3, Lcom/android/server/am/ActivityRecord;->packageName:Ljava/lang/String;
16909 invoke-interface {v2, v5}, Landroid/content/pm/IPackageManager;->clearPackagePreferredActivities(Ljava/lang/String;)V
16911 .catch Landroid/os/RemoteException; {:try_start_275 .. :try_end_27e} :catch_27f
16921 move-object/from16 v0, p1
16923 iget-boolean v2, v0, Lcom/android/server/am/ProcessRecord;->isolated:Z
16925 if-nez v2, :cond_29c
16927 move-object/from16 v0, p0
16929 iget-object v2, v0, Lcom/android/server/am/ActivityManagerService;->mProcessCrashTimes:Lcom/android/server/ProcessMap;
16931 move-object/from16 v0, p1
16933 iget-object v5, v0, Lcom/android/server/am/ProcessRecord;->info:Landroid/content/pm/ApplicationInfo;
16935 iget-object v5, v5, Landroid/content/pm/ApplicationInfo;->processName:Ljava/lang/String;
16937 move-object/from16 v0, p1
16939 iget v6, v0, Lcom/android/server/am/ProcessRecord;->uid:I
16941 invoke-static {v14, v15}, Ljava/lang/Long;->valueOf(J)Ljava/lang/Long;
16943 move-result-object v8
16945 invoke-virtual {v2, v5, v6, v8}, Lcom/android/server/ProcessMap;->put(Ljava/lang/String;ILjava/lang/Object;)Ljava/lang/Object;
16953 .method private final handleAppDiedLocked(Lcom/android/server/am/ProcessRecord;ZZ)V
16964 invoke-direct {p0, p1, p2, p3, v5}, Lcom/android/server/am/ActivityManagerService;->cleanUpApplicationRecordLocked(Lcom/android/server/am/ProcessRecord;ZZI)V
16968 iget-object v5, p0, Lcom/android/server/am/ActivityManagerService;->mLruProcesses:Ljava/util/ArrayList;
16970 invoke-virtual {v5, p1}, Ljava/util/ArrayList;->remove(Ljava/lang/Object;)Z
16973 iget-object v5, p0, Lcom/android/server/am/ActivityManagerService;->mProfileProc:Lcom/android/server/am/ProcessRecord;
16975 if-ne v5, p1, :cond_15
16977 invoke-direct {p0}, Lcom/android/server/am/ActivityManagerService;->clearProfilerLocked()V
16980 iget-object v5, p0, Lcom/android/server/am/ActivityManagerService;->mMainStack:Lcom/android/server/am/ActivityStack;
16982 iget-object v5, v5, Lcom/android/server/am/ActivityStack;->mPausingActivity:Lcom/android/server/am/ActivityRecord;
16984 if-eqz v5, :cond_27
16986 iget-object v5, p0, Lcom/android/server/am/ActivityManagerService;->mMainStack:Lcom/android/server/am/ActivityStack;
16988 iget-object v5, v5, Lcom/android/server/am/ActivityStack;->mPausingActivity:Lcom/android/server/am/ActivityRecord;
16990 iget-object v5, v5, Lcom/android/server/am/ActivityRecord;->app:Lcom/android/server/am/ProcessRecord;
16992 if-ne v5, p1, :cond_27
16994 iget-object v5, p0, Lcom/android/server/am/ActivityManagerService;->mMainStack:Lcom/android/server/am/ActivityStack;
16996 iput-object v9, v5, Lcom/android/server/am/ActivityStack;->mPausingActivity:Lcom/android/server/am/ActivityRecord;
16999 iget-object v5, p0, Lcom/android/server/am/ActivityManagerService;->mMainStack:Lcom/android/server/am/ActivityStack;
17001 iget-object v5, v5, Lcom/android/server/am/ActivityStack;->mLastPausedActivity:Lcom/android/server/am/ActivityRecord;
17003 if-eqz v5, :cond_39
17005 iget-object v5, p0, Lcom/android/server/am/ActivityManagerService;->mMainStack:Lcom/android/server/am/ActivityStack;
17007 iget-object v5, v5, Lcom/android/server/am/ActivityStack;->mLastPausedActivity:Lcom/android/server/am/ActivityRecord;
17009 iget-object v5, v5, Lcom/android/server/am/ActivityRecord;->app:Lcom/android/server/am/ProcessRecord;
17011 if-ne v5, p1, :cond_39
17013 iget-object v5, p0, Lcom/android/server/am/ActivityManagerService;->mMainStack:Lcom/android/server/am/ActivityStack;
17015 iput-object v9, v5, Lcom/android/server/am/ActivityStack;->mLastPausedActivity:Lcom/android/server/am/ActivityRecord;
17018 iget-object v5, p0, Lcom/android/server/am/ActivityManagerService;->mMainStack:Lcom/android/server/am/ActivityStack;
17020 invoke-virtual {v5, p1}, Lcom/android/server/am/ActivityStack;->removeHistoryRecordsForAppLocked(Lcom/android/server/am/ProcessRecord;)V
17026 iget-object v5, p0, Lcom/android/server/am/ActivityManagerService;->mMainStack:Lcom/android/server/am/ActivityStack;
17028 iget-object v5, v5, Lcom/android/server/am/ActivityStack;->mHistory:Ljava/util/ArrayList;
17030 invoke-virtual {v5}, Ljava/util/ArrayList;->size()I
17035 if-lez v2, :cond_ca
17037 add-int/lit8 v2, v2, -0x1
17039 iget-object v5, p0, Lcom/android/server/am/ActivityManagerService;->mMainStack:Lcom/android/server/am/ActivityStack;
17041 iget-object v5, v5, Lcom/android/server/am/ActivityStack;->mHistory:Ljava/util/ArrayList;
17043 invoke-virtual {v5, v2}, Ljava/util/ArrayList;->get(I)Ljava/lang/Object;
17045 move-result-object v4
17047 check-cast v4, Lcom/android/server/am/ActivityRecord;
17049 iget-object v5, v4, Lcom/android/server/am/ActivityRecord;->app:Lcom/android/server/am/ProcessRecord;
17051 if-ne v5, p1, :cond_b8
17053 iget-boolean v5, v4, Lcom/android/server/am/ActivityRecord;->haveState:Z
17055 if-nez v5, :cond_62
17057 iget-boolean v5, v4, Lcom/android/server/am/ActivityRecord;->stateNotNeeded:Z
17059 if-eqz v5, :cond_66
17062 iget-boolean v5, v4, Lcom/android/server/am/ActivityRecord;->finishing:Z
17064 if-eqz v5, :cond_ba
17067 iget-boolean v5, v4, Lcom/android/server/am/ActivityRecord;->finishing:Z
17069 if-nez v5, :cond_ae
17071 const-string v5, "ActivityManager"
17073 new-instance v6, Ljava/lang/StringBuilder;
17075 invoke-direct {v6}, Ljava/lang/StringBuilder;-><init>()V
17077 const-string v7, "Force removing "
17079 invoke-virtual {v6, v7}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
17081 move-result-object v6
17083 invoke-virtual {v6, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
17085 move-result-object v6
17087 const-string v7, ": app died, no saved state"
17089 invoke-virtual {v6, v7}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
17091 move-result-object v6
17093 invoke-virtual {v6}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
17095 move-result-object v6
17097 invoke-static {v5, v6}, Landroid/util/Slog;->w(Ljava/lang/String;Ljava/lang/String;)I
17099 const/16 v5, 0x7531
17103 new-array v6, v6, [Ljava/lang/Object;
17105 invoke-static {v4}, Ljava/lang/System;->identityHashCode(Ljava/lang/Object;)I
17109 invoke-static {v7}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
17111 move-result-object v7
17113 aput-object v7, v6, v10
17115 iget-object v7, v4, Lcom/android/server/am/ActivityRecord;->task:Lcom/android/server/am/TaskRecord;
17117 iget v7, v7, Lcom/android/server/am/TaskRecord;->taskId:I
17119 invoke-static {v7}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
17121 move-result-object v7
17123 aput-object v7, v6, v11
17127 iget-object v8, v4, Lcom/android/server/am/ActivityRecord;->shortComponentName:Ljava/lang/String;
17129 aput-object v8, v6, v7
17133 const-string v8, "proc died without state saved"
17135 aput-object v8, v6, v7
17137 invoke-static {v5, v6}, Landroid/util/EventLog;->writeEvent(I[Ljava/lang/Object;)I
17140 iget-object v5, p0, Lcom/android/server/am/ActivityManagerService;->mMainStack:Lcom/android/server/am/ActivityStack;
17142 invoke-virtual {v5, v4}, Lcom/android/server/am/ActivityStack;->removeActivityFromHistoryLocked(Lcom/android/server/am/ActivityRecord;)V
17146 iget-object v5, v4, Lcom/android/server/am/ActivityRecord;->stack:Lcom/android/server/am/ActivityStack;
17148 invoke-virtual {v5, v4, v11, v11}, Lcom/android/server/am/ActivityStack;->cleanUpActivityLocked(Lcom/android/server/am/ActivityRecord;ZZ)V
17156 iget-boolean v5, v4, Lcom/android/server/am/ActivityRecord;->visible:Z
17158 if-eqz v5, :cond_bf
17163 iput-object v9, v4, Lcom/android/server/am/ActivityRecord;->app:Lcom/android/server/am/ProcessRecord;
17165 iput-boolean v10, v4, Lcom/android/server/am/ActivityRecord;->nowVisible:Z
17167 iget-boolean v5, v4, Lcom/android/server/am/ActivityRecord;->haveState:Z
17169 if-nez v5, :cond_b3
17171 iput-object v9, v4, Lcom/android/server/am/ActivityRecord;->icicle:Landroid/os/Bundle;
17176 iget-object v5, p1, Lcom/android/server/am/ProcessRecord;->activities:Ljava/util/ArrayList;
17178 invoke-virtual {v5}, Ljava/util/ArrayList;->clear()V
17180 iget-object v5, p1, Lcom/android/server/am/ProcessRecord;->instrumentationClass:Landroid/content/ComponentName;
17182 if-eqz v5, :cond_108
17184 const-string v5, "ActivityManager"
17186 new-instance v6, Ljava/lang/StringBuilder;
17188 invoke-direct {v6}, Ljava/lang/StringBuilder;-><init>()V
17190 const-string v7, "Crash of app "
17192 invoke-virtual {v6, v7}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
17194 move-result-object v6
17196 iget-object v7, p1, Lcom/android/server/am/ProcessRecord;->processName:Ljava/lang/String;
17198 invoke-virtual {v6, v7}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
17200 move-result-object v6
17202 const-string v7, " running instrumentation "
17204 invoke-virtual {v6, v7}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
17206 move-result-object v6
17208 iget-object v7, p1, Lcom/android/server/am/ProcessRecord;->instrumentationClass:Landroid/content/ComponentName;
17210 invoke-virtual {v6, v7}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
17212 move-result-object v6
17214 invoke-virtual {v6}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
17216 move-result-object v6
17218 invoke-static {v5, v6}, Landroid/util/Slog;->w(Ljava/lang/String;Ljava/lang/String;)I
17220 new-instance v3, Landroid/os/Bundle;
17222 invoke-direct {v3}, Landroid/os/Bundle;-><init>()V
17224 const-string v5, "shortMsg"
17226 const-string v6, "Process crashed."
17228 invoke-virtual {v3, v5, v6}, Landroid/os/Bundle;->putString(Ljava/lang/String;Ljava/lang/String;)V
17230 invoke-virtual {p0, p1, v10, v3}, Lcom/android/server/am/ActivityManagerService;->finishInstrumentationLocked(Lcom/android/server/am/ProcessRecord;ILandroid/os/Bundle;)V
17233 if-nez p2, :cond_119
17235 iget-object v5, p0, Lcom/android/server/am/ActivityManagerService;->mMainStack:Lcom/android/server/am/ActivityStack;
17237 invoke-virtual {v5, v9}, Lcom/android/server/am/ActivityStack;->resumeTopActivityLocked(Lcom/android/server/am/ActivityRecord;)Z
17241 if-nez v5, :cond_119
17243 if-eqz v1, :cond_119
17245 iget-object v5, p0, Lcom/android/server/am/ActivityManagerService;->mMainStack:Lcom/android/server/am/ActivityStack;
17247 invoke-virtual {v5, v9, v10}, Lcom/android/server/am/ActivityStack;->ensureActivitiesVisibleLocked(Lcom/android/server/am/ActivityRecord;I)V
17253 .method public static final installSystemProviders()V
17256 sget-object v5, Lcom/android/server/am/ActivityManagerService;->mSelf:Lcom/android/server/am/ActivityManagerService;
17261 sget-object v4, Lcom/android/server/am/ActivityManagerService;->mSelf:Lcom/android/server/am/ActivityManagerService;
17263 iget-object v4, v4, Lcom/android/server/am/ActivityManagerService;->mProcessNames:Lcom/android/server/ProcessMap;
17265 const-string v6, "system"
17269 invoke-virtual {v4, v6, v7}, Lcom/android/server/ProcessMap;->get(Ljava/lang/String;I)Ljava/lang/Object;
17271 move-result-object v0
17273 check-cast v0, Lcom/android/server/am/ProcessRecord;
17275 sget-object v4, Lcom/android/server/am/ActivityManagerService;->mSelf:Lcom/android/server/am/ActivityManagerService;
17277 invoke-direct {v4, v0}, Lcom/android/server/am/ActivityManagerService;->generateApplicationProvidersLocked(Lcom/android/server/am/ProcessRecord;)Ljava/util/List;
17279 move-result-object v3
17281 if-eqz v3, :cond_55
17283 invoke-interface {v3}, Ljava/util/List;->size()I
17287 add-int/lit8 v1, v4, -0x1
17290 if-ltz v1, :cond_55
17292 invoke-interface {v3, v1}, Ljava/util/List;->get(I)Ljava/lang/Object;
17294 move-result-object v2
17296 check-cast v2, Landroid/content/pm/ProviderInfo;
17298 iget-object v4, v2, Landroid/content/pm/ProviderInfo;->applicationInfo:Landroid/content/pm/ApplicationInfo;
17300 iget v4, v4, Landroid/content/pm/ApplicationInfo;->flags:I
17302 and-int/lit8 v4, v4, 0x1
17304 if-nez v4, :cond_52
17306 const-string v4, "ActivityManager"
17308 new-instance v6, Ljava/lang/StringBuilder;
17310 invoke-direct {v6}, Ljava/lang/StringBuilder;-><init>()V
17312 const-string v7, "Not installing system proc provider "
17314 invoke-virtual {v6, v7}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
17316 move-result-object v6
17318 iget-object v7, v2, Landroid/content/pm/ProviderInfo;->name:Ljava/lang/String;
17320 invoke-virtual {v6, v7}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
17322 move-result-object v6
17324 const-string v7, ": not system .apk"
17326 invoke-virtual {v6, v7}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
17328 move-result-object v6
17330 invoke-virtual {v6}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
17332 move-result-object v6
17334 invoke-static {v4, v6}, Landroid/util/Slog;->w(Ljava/lang/String;Ljava/lang/String;)I
17336 invoke-interface {v3, v1}, Ljava/util/List;->remove(I)Ljava/lang/Object;
17339 add-int/lit8 v1, v1, -0x1
17346 .catchall {:try_start_3 .. :try_end_56} :catchall_70
17348 if-eqz v3, :cond_5d
17350 sget-object v4, Lcom/android/server/am/ActivityManagerService;->mSystemThread:Landroid/app/ActivityThread;
17352 invoke-virtual {v4, v3}, Landroid/app/ActivityThread;->installSystemProviders(Ljava/util/List;)V
17355 sget-object v4, Lcom/android/server/am/ActivityManagerService;->mSelf:Lcom/android/server/am/ActivityManagerService;
17357 new-instance v5, Lcom/android/server/am/CoreSettingsObserver;
17359 sget-object v6, Lcom/android/server/am/ActivityManagerService;->mSelf:Lcom/android/server/am/ActivityManagerService;
17361 invoke-direct {v5, v6}, Lcom/android/server/am/CoreSettingsObserver;-><init>(Lcom/android/server/am/ActivityManagerService;)V
17363 iput-object v5, v4, Lcom/android/server/am/ActivityManagerService;->mCoreSettingsObserver:Lcom/android/server/am/CoreSettingsObserver;
17365 sget-object v4, Lcom/android/server/am/ActivityManagerService;->mSelf:Lcom/android/server/am/ActivityManagerService;
17367 iget-object v4, v4, Lcom/android/server/am/ActivityManagerService;->mUsageStatsService:Lcom/android/server/am/UsageStatsService;
17369 invoke-virtual {v4}, Lcom/android/server/am/UsageStatsService;->monitorPackages()V
17379 .catchall {:try_start_71 .. :try_end_72} :catchall_70
17384 .method private isReceivingBroadcast(Lcom/android/server/am/ProcessRecord;)Lcom/android/server/am/BroadcastQueue;
17387 iget-object v4, p1, Lcom/android/server/am/ProcessRecord;->curReceiver:Lcom/android/server/am/BroadcastRecord;
17391 iget-object v3, v4, Lcom/android/server/am/BroadcastRecord;->queue:Lcom/android/server/am/BroadcastQueue;
17400 iget-object v0, p0, Lcom/android/server/am/ActivityManagerService;->mBroadcastQueues:[Lcom/android/server/am/BroadcastQueue;
17402 array-length v2, v0
17407 if-ge v1, v2, :cond_20
17409 aget-object v3, v0, v1
17411 iget-object v4, v3, Lcom/android/server/am/BroadcastQueue;->mPendingBroadcast:Lcom/android/server/am/BroadcastRecord;
17413 if-eqz v4, :cond_1d
17415 iget-object v5, v4, Lcom/android/server/am/BroadcastRecord;->curApp:Lcom/android/server/am/ProcessRecord;
17417 if-ne v5, p1, :cond_1d
17428 .catchall {:try_start_8 .. :try_end_1c} :catchall_1a
17433 add-int/lit8 v1, v1, 0x1
17441 .catchall {:try_start_20 .. :try_end_21} :catchall_1a
17448 .method private final killPackageProcessesLocked(Ljava/lang/String;IIZZZZLjava/lang/String;)Z
17451 new-instance v11, Ljava/util/ArrayList;
17453 invoke-direct {v11}, Ljava/util/ArrayList;-><init>()V
17455 new-instance v12, Ljava/lang/StringBuilder;
17457 invoke-direct {v12}, Ljava/lang/StringBuilder;-><init>()V
17459 invoke-virtual {v12, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
17461 move-result-object v12
17463 const-string v13, ":"
17465 invoke-virtual {v12, v13}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
17467 move-result-object v12
17469 invoke-virtual {v12}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
17471 move-result-object v10
17473 iget-object v12, p0, Lcom/android/server/am/ActivityManagerService;->mProcessNames:Lcom/android/server/ProcessMap;
17475 invoke-virtual {v12}, Lcom/android/server/ProcessMap;->getMap()Ljava/util/HashMap;
17477 move-result-object v12
17479 invoke-virtual {v12}, Ljava/util/HashMap;->values()Ljava/util/Collection;
17481 move-result-object v12
17483 invoke-interface {v12}, Ljava/util/Collection;->iterator()Ljava/util/Iterator;
17485 move-result-object v8
17488 invoke-interface {v8}, Ljava/util/Iterator;->hasNext()Z
17492 if-eqz v12, :cond_85
17494 invoke-interface {v8}, Ljava/util/Iterator;->next()Ljava/lang/Object;
17496 move-result-object v6
17498 check-cast v6, Landroid/util/SparseArray;
17500 invoke-virtual {v6}, Landroid/util/SparseArray;->size()I
17507 if-ge v9, v4, :cond_26
17509 invoke-virtual {v6, v9}, Landroid/util/SparseArray;->valueAt(I)Ljava/lang/Object;
17511 move-result-object v5
17513 check-cast v5, Lcom/android/server/am/ProcessRecord;
17515 iget-boolean v12, v5, Lcom/android/server/am/ProcessRecord;->persistent:Z
17517 if-eqz v12, :cond_48
17519 if-nez p7, :cond_48
17523 add-int/lit8 v9, v9, 0x1
17528 iget-boolean v12, v5, Lcom/android/server/am/ProcessRecord;->removed:Z
17530 if-eqz v12, :cond_52
17532 if-eqz p6, :cond_45
17534 invoke-virtual {v11, v5}, Ljava/util/ArrayList;->add(Ljava/lang/Object;)Z
17539 if-lez p2, :cond_62
17541 const/16 v12, 0x3e8
17545 if-eq v0, v12, :cond_62
17547 iget-object v12, v5, Lcom/android/server/am/ProcessRecord;->info:Landroid/content/pm/ApplicationInfo;
17549 iget v12, v12, Landroid/content/pm/ApplicationInfo;->uid:I
17553 if-eq v12, v0, :cond_74
17556 iget-object v12, v5, Lcom/android/server/am/ProcessRecord;->processName:Ljava/lang/String;
17558 invoke-virtual {v12, p1}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
17562 if-nez v12, :cond_72
17564 iget-object v12, v5, Lcom/android/server/am/ProcessRecord;->processName:Ljava/lang/String;
17566 invoke-virtual {v12, v10}, Ljava/lang/String;->startsWith(Ljava/lang/String;)Z
17570 if-eqz v12, :cond_45
17573 if-gez p2, :cond_45
17576 iget v12, v5, Lcom/android/server/am/ProcessRecord;->setAdj:I
17580 if-lt v12, v0, :cond_45
17582 if-nez p6, :cond_7e
17592 iput-boolean v12, v5, Lcom/android/server/am/ProcessRecord;->removed:Z
17594 invoke-virtual {v11, v5}, Ljava/util/ArrayList;->add(Ljava/lang/Object;)Z
17599 invoke-virtual {v11}, Ljava/util/ArrayList;->size()I
17606 if-ge v7, v3, :cond_9e
17608 invoke-virtual {v11, v7}, Ljava/util/ArrayList;->get(I)Ljava/lang/Object;
17610 move-result-object v12
17612 check-cast v12, Lcom/android/server/am/ProcessRecord;
17618 move-object/from16 v2, p8
17620 invoke-direct {p0, v12, v0, v1, v2}, Lcom/android/server/am/ActivityManagerService;->removeProcessLocked(Lcom/android/server/am/ProcessRecord;ZZLjava/lang/String;)Z
17622 add-int/lit8 v7, v7, 0x1
17627 if-lez v3, :cond_a2
17639 .method private killProcessesBelowAdj(ILjava/lang/String;)Z
17642 invoke-static {}, Landroid/os/Binder;->getCallingUid()I
17648 if-eq v6, v7, :cond_10
17650 new-instance v6, Ljava/lang/SecurityException;
17652 const-string v7, "killProcessesBelowAdj() only available to system"
17654 invoke-direct {v6, v7}, Ljava/lang/SecurityException;-><init>(Ljava/lang/String;)V
17661 iget-object v7, p0, Lcom/android/server/am/ActivityManagerService;->mPidsSelfLocked:Landroid/util/SparseArray;
17666 iget-object v6, p0, Lcom/android/server/am/ActivityManagerService;->mPidsSelfLocked:Landroid/util/SparseArray;
17668 invoke-virtual {v6}, Landroid/util/SparseArray;->size()I
17675 if-ge v1, v5, :cond_8f
17677 iget-object v6, p0, Lcom/android/server/am/ActivityManagerService;->mPidsSelfLocked:Landroid/util/SparseArray;
17679 invoke-virtual {v6, v1}, Landroid/util/SparseArray;->keyAt(I)I
17683 iget-object v6, p0, Lcom/android/server/am/ActivityManagerService;->mPidsSelfLocked:Landroid/util/SparseArray;
17685 invoke-virtual {v6, v1}, Landroid/util/SparseArray;->valueAt(I)Ljava/lang/Object;
17687 move-result-object v4
17689 check-cast v4, Lcom/android/server/am/ProcessRecord;
17691 if-nez v4, :cond_30
17695 add-int/lit8 v1, v1, 0x1
17700 iget v0, v4, Lcom/android/server/am/ProcessRecord;->setAdj:I
17702 if-le v0, p1, :cond_2d
17704 iget-boolean v6, v4, Lcom/android/server/am/ProcessRecord;->killedBackground:Z
17706 if-nez v6, :cond_2d
17708 const-string v6, "ActivityManager"
17710 new-instance v8, Ljava/lang/StringBuilder;
17712 invoke-direct {v8}, Ljava/lang/StringBuilder;-><init>()V
17714 const-string v9, "Killing "
17716 invoke-virtual {v8, v9}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
17718 move-result-object v8
17720 invoke-virtual {v8, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
17722 move-result-object v8
17724 const-string v9, " (adj "
17726 invoke-virtual {v8, v9}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
17728 move-result-object v8
17730 invoke-virtual {v8, v0}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
17732 move-result-object v8
17734 const-string v9, "): "
17736 invoke-virtual {v8, v9}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
17738 move-result-object v8
17740 invoke-virtual {v8, p2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
17742 move-result-object v8
17744 invoke-virtual {v8}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
17746 move-result-object v8
17748 invoke-static {v6, v8}, Landroid/util/Slog;->w(Ljava/lang/String;Ljava/lang/String;)I
17750 const/16 v6, 0x7547
17754 new-array v8, v8, [Ljava/lang/Object;
17758 iget v10, v4, Lcom/android/server/am/ProcessRecord;->pid:I
17760 invoke-static {v10}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
17762 move-result-object v10
17764 aput-object v10, v8, v9
17768 iget-object v10, v4, Lcom/android/server/am/ProcessRecord;->processName:Ljava/lang/String;
17770 aput-object v10, v8, v9
17774 invoke-static {v0}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
17776 move-result-object v10
17778 aput-object v10, v8, v9
17782 aput-object p2, v8, v9
17784 invoke-static {v6, v8}, Landroid/util/EventLog;->writeEvent(I[Ljava/lang/Object;)I
17790 iput-boolean v6, v4, Lcom/android/server/am/ProcessRecord;->killedBackground:Z
17792 invoke-static {v3}, Landroid/os/Process;->killProcessQuiet(I)V
17801 .catchall {:try_start_14 .. :try_end_8e} :catchall_8c
17809 .catchall {:try_start_8f .. :try_end_90} :catchall_8c
17814 .method private final killServicesLocked(Lcom/android/server/am/ProcessRecord;Z)V
17817 iget-object v9, p1, Lcom/android/server/am/ProcessRecord;->connections:Ljava/util/HashSet;
17819 invoke-virtual {v9}, Ljava/util/HashSet;->size()I
17823 if-lez v9, :cond_1f
17825 iget-object v9, p1, Lcom/android/server/am/ProcessRecord;->connections:Ljava/util/HashSet;
17827 invoke-virtual {v9}, Ljava/util/HashSet;->iterator()Ljava/util/Iterator;
17829 move-result-object v5
17832 invoke-interface {v5}, Ljava/util/Iterator;->hasNext()Z
17836 if-eqz v9, :cond_1f
17838 invoke-interface {v5}, Ljava/util/Iterator;->next()Ljava/lang/Object;
17840 move-result-object v7
17842 check-cast v7, Lcom/android/server/am/ConnectionRecord;
17846 invoke-virtual {p0, v7, p1, v9}, Lcom/android/server/am/ActivityManagerService;->removeConnectionLocked(Lcom/android/server/am/ConnectionRecord;Lcom/android/server/am/ProcessRecord;Lcom/android/server/am/ActivityRecord;)V
17851 iget-object v9, p1, Lcom/android/server/am/ProcessRecord;->connections:Ljava/util/HashSet;
17853 invoke-virtual {v9}, Ljava/util/HashSet;->clear()V
17855 iget-object v9, p1, Lcom/android/server/am/ProcessRecord;->services:Ljava/util/HashSet;
17857 invoke-virtual {v9}, Ljava/util/HashSet;->size()I
17861 if-eqz v9, :cond_116
17863 iget-object v9, p1, Lcom/android/server/am/ProcessRecord;->services:Ljava/util/HashSet;
17865 invoke-virtual {v9}, Ljava/util/HashSet;->iterator()Ljava/util/Iterator;
17867 move-result-object v6
17871 invoke-interface {v6}, Ljava/util/Iterator;->hasNext()Z
17875 if-eqz v9, :cond_10f
17877 invoke-interface {v6}, Ljava/util/Iterator;->next()Ljava/lang/Object;
17879 move-result-object v8
17881 check-cast v8, Lcom/android/server/am/ServiceRecord;
17883 iget-object v9, v8, Lcom/android/server/am/ServiceRecord;->stats:Lcom/android/internal/os/BatteryStatsImpl$Uid$Pkg$Serv;
17885 invoke-virtual {v9}, Lcom/android/internal/os/BatteryStatsImpl$Uid$Pkg$Serv;->getBatteryStats()Lcom/android/internal/os/BatteryStatsImpl;
17887 move-result-object v10
17892 iget-object v9, v8, Lcom/android/server/am/ServiceRecord;->stats:Lcom/android/internal/os/BatteryStatsImpl$Uid$Pkg$Serv;
17894 invoke-virtual {v9}, Lcom/android/internal/os/BatteryStatsImpl$Uid$Pkg$Serv;->stopLaunchedLocked()V
17898 .catchall {:try_start_45 .. :try_end_4b} :catchall_88
17902 iput-object v9, v8, Lcom/android/server/am/ServiceRecord;->app:Lcom/android/server/am/ProcessRecord;
17906 iput-object v9, v8, Lcom/android/server/am/ServiceRecord;->isolatedProc:Lcom/android/server/am/ProcessRecord;
17910 iput v9, v8, Lcom/android/server/am/ServiceRecord;->executeNesting:I
17912 iget-object v9, p0, Lcom/android/server/am/ActivityManagerService;->mStoppingServices:Ljava/util/ArrayList;
17914 invoke-virtual {v9, v8}, Ljava/util/ArrayList;->remove(Ljava/lang/Object;)Z
17918 if-eqz v9, :cond_5c
17921 iget-object v9, v8, Lcom/android/server/am/ServiceRecord;->bindings:Ljava/util/HashMap;
17923 invoke-virtual {v9}, Ljava/util/HashMap;->size()I
17927 if-lez v9, :cond_8b
17932 if-eqz v3, :cond_8d
17934 iget-object v9, v8, Lcom/android/server/am/ServiceRecord;->bindings:Ljava/util/HashMap;
17936 invoke-virtual {v9}, Ljava/util/HashMap;->values()Ljava/util/Collection;
17938 move-result-object v9
17940 invoke-interface {v9}, Ljava/util/Collection;->iterator()Ljava/util/Iterator;
17942 move-result-object v1
17945 invoke-interface {v1}, Ljava/util/Iterator;->hasNext()Z
17949 if-eqz v9, :cond_8d
17951 invoke-interface {v1}, Ljava/util/Iterator;->next()Ljava/lang/Object;
17953 move-result-object v0
17955 check-cast v0, Lcom/android/server/am/IntentBindRecord;
17959 iput-object v9, v0, Lcom/android/server/am/IntentBindRecord;->binder:Landroid/os/IBinder;
17963 iput-boolean v9, v0, Lcom/android/server/am/IntentBindRecord;->hasBound:Z
17965 iput-boolean v9, v0, Lcom/android/server/am/IntentBindRecord;->received:Z
17967 iput-boolean v9, v0, Lcom/android/server/am/IntentBindRecord;->requested:Z
17977 .catchall {:try_start_89 .. :try_end_8a} :catchall_88
17987 iget v9, v8, Lcom/android/server/am/ServiceRecord;->crashCount:I
17991 if-lt v9, v10, :cond_e5
17993 iget-object v9, v8, Lcom/android/server/am/ServiceRecord;->serviceInfo:Landroid/content/pm/ServiceInfo;
17995 iget-object v9, v9, Landroid/content/pm/ServiceInfo;->applicationInfo:Landroid/content/pm/ApplicationInfo;
17997 iget v9, v9, Landroid/content/pm/ApplicationInfo;->flags:I
17999 and-int/lit8 v9, v9, 0x8
18001 if-nez v9, :cond_e5
18003 const-string v9, "ActivityManager"
18005 new-instance v10, Ljava/lang/StringBuilder;
18007 invoke-direct {v10}, Ljava/lang/StringBuilder;-><init>()V
18009 const-string v11, "Service crashed "
18011 invoke-virtual {v10, v11}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
18013 move-result-object v10
18015 iget v11, v8, Lcom/android/server/am/ServiceRecord;->crashCount:I
18017 invoke-virtual {v10, v11}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
18019 move-result-object v10
18021 const-string v11, " times, stopping: "
18023 invoke-virtual {v10, v11}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
18025 move-result-object v10
18027 invoke-virtual {v10, v8}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
18029 move-result-object v10
18031 invoke-virtual {v10}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
18033 move-result-object v10
18035 invoke-static {v9, v10}, Landroid/util/Slog;->w(Ljava/lang/String;Ljava/lang/String;)I
18037 const/16 v9, 0x7552
18041 new-array v10, v10, [Ljava/lang/Object;
18045 iget v12, v8, Lcom/android/server/am/ServiceRecord;->crashCount:I
18047 invoke-static {v12}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
18049 move-result-object v12
18051 aput-object v12, v10, v11
18055 iget-object v12, v8, Lcom/android/server/am/ServiceRecord;->shortName:Ljava/lang/String;
18057 aput-object v12, v10, v11
18061 iget v12, p1, Lcom/android/server/am/ProcessRecord;->pid:I
18063 invoke-static {v12}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
18065 move-result-object v12
18067 aput-object v12, v10, v11
18069 invoke-static {v9, v10}, Landroid/util/EventLog;->writeEvent(I[Ljava/lang/Object;)I
18073 invoke-direct {p0, v8, v9}, Lcom/android/server/am/ActivityManagerService;->bringDownServiceLocked(Lcom/android/server/am/ServiceRecord;Z)V
18078 if-nez p2, :cond_ed
18082 invoke-direct {p0, v8, v9}, Lcom/android/server/am/ActivityManagerService;->bringDownServiceLocked(Lcom/android/server/am/ServiceRecord;Z)V
18089 invoke-direct {p0, v8, v9}, Lcom/android/server/am/ActivityManagerService;->scheduleServiceRestartLocked(Lcom/android/server/am/ServiceRecord;Z)Z
18093 iget-boolean v9, v8, Lcom/android/server/am/ServiceRecord;->startRequested:Z
18095 if-eqz v9, :cond_32
18097 iget-boolean v9, v8, Lcom/android/server/am/ServiceRecord;->stopIfKilled:Z
18099 if-nez v9, :cond_fc
18101 if-eqz v2, :cond_32
18104 iget-object v9, v8, Lcom/android/server/am/ServiceRecord;->pendingStarts:Ljava/util/ArrayList;
18106 invoke-virtual {v9}, Ljava/util/ArrayList;->size()I
18110 if-nez v9, :cond_32
18114 iput-boolean v9, v8, Lcom/android/server/am/ServiceRecord;->startRequested:Z
18116 if-nez v3, :cond_32
18120 invoke-direct {p0, v8, v9}, Lcom/android/server/am/ActivityManagerService;->bringDownServiceLocked(Lcom/android/server/am/ServiceRecord;Z)V
18125 if-nez p2, :cond_116
18127 iget-object v9, p1, Lcom/android/server/am/ProcessRecord;->services:Ljava/util/HashSet;
18129 invoke-virtual {v9}, Ljava/util/HashSet;->clear()V
18132 iget-object v9, p0, Lcom/android/server/am/ActivityManagerService;->mStoppingServices:Ljava/util/ArrayList;
18134 invoke-virtual {v9}, Ljava/util/ArrayList;->size()I
18140 if-lez v4, :cond_132
18142 add-int/lit8 v4, v4, -0x1
18144 iget-object v9, p0, Lcom/android/server/am/ActivityManagerService;->mStoppingServices:Ljava/util/ArrayList;
18146 invoke-virtual {v9, v4}, Ljava/util/ArrayList;->get(I)Ljava/lang/Object;
18148 move-result-object v8
18150 check-cast v8, Lcom/android/server/am/ServiceRecord;
18152 iget-object v9, v8, Lcom/android/server/am/ServiceRecord;->app:Lcom/android/server/am/ProcessRecord;
18154 if-ne v9, p1, :cond_11c
18156 iget-object v9, p0, Lcom/android/server/am/ActivityManagerService;->mStoppingServices:Ljava/util/ArrayList;
18158 invoke-virtual {v9, v4}, Ljava/util/ArrayList;->remove(I)Ljava/lang/Object;
18163 iget-object v9, p1, Lcom/android/server/am/ProcessRecord;->executingServices:Ljava/util/HashSet;
18165 invoke-virtual {v9}, Ljava/util/HashSet;->clear()V
18170 .method private logStrictModeViolationToDropBox(Lcom/android/server/am/ProcessRecord;Landroid/os/StrictMode$ViolationInfo;)V
18182 move-object/from16 v0, p1
18184 iget-object v2, v0, Lcom/android/server/am/ProcessRecord;->info:Landroid/content/pm/ApplicationInfo;
18186 iget v2, v2, Landroid/content/pm/ApplicationInfo;->flags:I
18188 and-int/lit16 v2, v2, 0x81
18190 if-eqz v2, :cond_118
18196 if-nez p1, :cond_11b
18198 const-string v14, "unknown"
18201 if-eqz v11, :cond_121
18203 const-string v7, "system_app_strictmode"
18206 move-object/from16 v0, p0
18208 iget-object v2, v0, Lcom/android/server/am/ActivityManagerService;->mContext:Landroid/content/Context;
18210 const-string v3, "dropbox"
18212 invoke-virtual {v2, v3}, Landroid/content/Context;->getSystemService(Ljava/lang/String;)Ljava/lang/Object;
18214 move-result-object v6
18216 check-cast v6, Landroid/os/DropBoxManager;
18220 invoke-virtual {v6, v7}, Landroid/os/DropBoxManager;->isTagEnabled(Ljava/lang/String;)Z
18226 if-eqz v11, :cond_125
18228 move-object/from16 v0, p0
18230 iget-object v5, v0, Lcom/android/server/am/ActivityManagerService;->mStrictModeBuffer:Ljava/lang/StringBuilder;
18236 invoke-virtual {v5}, Ljava/lang/StringBuilder;->length()I
18240 if-nez v2, :cond_12e
18245 move-object/from16 v0, p0
18247 move-object/from16 v1, p1
18249 invoke-direct {v0, v1, v14, v5}, Lcom/android/server/am/ActivityManagerService;->appendDropBoxProcessHeaders(Lcom/android/server/am/ProcessRecord;Ljava/lang/String;Ljava/lang/StringBuilder;)V
18251 const-string v2, "Build: "
18253 invoke-virtual {v5, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
18255 move-result-object v2
18257 sget-object v3, Landroid/os/Build;->FINGERPRINT:Ljava/lang/String;
18259 invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
18261 move-result-object v2
18263 const-string v3, "\n"
18265 invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
18267 const-string v2, "System-App: "
18269 invoke-virtual {v5, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
18271 move-result-object v2
18273 invoke-virtual {v2, v11}, Ljava/lang/StringBuilder;->append(Z)Ljava/lang/StringBuilder;
18275 move-result-object v2
18277 const-string v3, "\n"
18279 invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
18281 const-string v2, "Uptime-Millis: "
18283 invoke-virtual {v5, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
18285 move-result-object v2
18287 move-object/from16 v0, p2
18289 iget-wide v3, v0, Landroid/os/StrictMode$ViolationInfo;->violationUptimeMillis:J
18291 invoke-virtual {v2, v3, v4}, Ljava/lang/StringBuilder;->append(J)Ljava/lang/StringBuilder;
18293 move-result-object v2
18295 const-string v3, "\n"
18297 invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
18299 move-object/from16 v0, p2
18301 iget v2, v0, Landroid/os/StrictMode$ViolationInfo;->violationNumThisLoop:I
18303 if-eqz v2, :cond_8d
18305 const-string v2, "Loop-Violation-Number: "
18307 invoke-virtual {v5, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
18309 move-result-object v2
18311 move-object/from16 v0, p2
18313 iget v3, v0, Landroid/os/StrictMode$ViolationInfo;->violationNumThisLoop:I
18315 invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
18317 move-result-object v2
18319 const-string v3, "\n"
18321 invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
18324 move-object/from16 v0, p2
18326 iget v2, v0, Landroid/os/StrictMode$ViolationInfo;->numAnimationsRunning:I
18328 if-eqz v2, :cond_a6
18330 const-string v2, "Animations-Running: "
18332 invoke-virtual {v5, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
18334 move-result-object v2
18336 move-object/from16 v0, p2
18338 iget v3, v0, Landroid/os/StrictMode$ViolationInfo;->numAnimationsRunning:I
18340 invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
18342 move-result-object v2
18344 const-string v3, "\n"
18346 invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
18349 move-object/from16 v0, p2
18351 iget-object v2, v0, Landroid/os/StrictMode$ViolationInfo;->broadcastIntentAction:Ljava/lang/String;
18353 if-eqz v2, :cond_bf
18355 const-string v2, "Broadcast-Intent-Action: "
18357 invoke-virtual {v5, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
18359 move-result-object v2
18361 move-object/from16 v0, p2
18363 iget-object v3, v0, Landroid/os/StrictMode$ViolationInfo;->broadcastIntentAction:Ljava/lang/String;
18365 invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
18367 move-result-object v2
18369 const-string v3, "\n"
18371 invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
18374 move-object/from16 v0, p2
18376 iget v2, v0, Landroid/os/StrictMode$ViolationInfo;->durationMillis:I
18380 if-eq v2, v3, :cond_d9
18382 const-string v2, "Duration-Millis: "
18384 invoke-virtual {v5, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
18386 move-result-object v2
18388 move-object/from16 v0, p2
18390 iget v3, v0, Landroid/os/StrictMode$ViolationInfo;->durationMillis:I
18392 invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
18394 move-result-object v2
18396 const-string v3, "\n"
18398 invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
18401 move-object/from16 v0, p2
18403 iget-wide v2, v0, Landroid/os/StrictMode$ViolationInfo;->numInstances:J
18405 const-wide/16 v16, -0x1
18407 cmp-long v2, v2, v16
18409 if-eqz v2, :cond_f6
18411 const-string v2, "Instance-Count: "
18413 invoke-virtual {v5, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
18415 move-result-object v2
18417 move-object/from16 v0, p2
18419 iget-wide v3, v0, Landroid/os/StrictMode$ViolationInfo;->numInstances:J
18421 invoke-virtual {v2, v3, v4}, Ljava/lang/StringBuilder;->append(J)Ljava/lang/StringBuilder;
18423 move-result-object v2
18425 const-string v3, "\n"
18427 invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
18430 move-object/from16 v0, p2
18432 iget-object v2, v0, Landroid/os/StrictMode$ViolationInfo;->tags:[Ljava/lang/String;
18434 if-eqz v2, :cond_131
18436 move-object/from16 v0, p2
18438 iget-object v8, v0, Landroid/os/StrictMode$ViolationInfo;->tags:[Ljava/lang/String;
18440 array-length v12, v8
18445 if-ge v10, v12, :cond_131
18447 aget-object v15, v8, v10
18449 const-string v2, "Span-Tag: "
18451 invoke-virtual {v5, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
18453 move-result-object v2
18455 invoke-virtual {v2, v15}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
18457 move-result-object v2
18459 const-string v3, "\n"
18461 invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
18463 .catchall {:try_start_33 .. :try_end_115} :catchall_181
18465 add-int/lit8 v10, v10, 0x1
18475 move-object/from16 v0, p1
18477 iget-object v14, v0, Lcom/android/server/am/ProcessRecord;->processName:Ljava/lang/String;
18482 const-string v7, "data_app_strictmode"
18487 new-instance v5, Ljava/lang/StringBuilder;
18491 invoke-direct {v5, v2}, Ljava/lang/StringBuilder;-><init>(I)V
18502 const-string v2, "\n"
18504 invoke-virtual {v5, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
18506 move-object/from16 v0, p2
18508 iget-object v2, v0, Landroid/os/StrictMode$ViolationInfo;->crashInfo:Landroid/app/ApplicationErrorReport$CrashInfo;
18510 if-eqz v2, :cond_14d
18512 move-object/from16 v0, p2
18514 iget-object v2, v0, Landroid/os/StrictMode$ViolationInfo;->crashInfo:Landroid/app/ApplicationErrorReport$CrashInfo;
18516 iget-object v2, v2, Landroid/app/ApplicationErrorReport$CrashInfo;->stackTrace:Ljava/lang/String;
18518 if-eqz v2, :cond_14d
18520 move-object/from16 v0, p2
18522 iget-object v2, v0, Landroid/os/StrictMode$ViolationInfo;->crashInfo:Landroid/app/ApplicationErrorReport$CrashInfo;
18524 iget-object v2, v2, Landroid/app/ApplicationErrorReport$CrashInfo;->stackTrace:Ljava/lang/String;
18526 invoke-virtual {v5, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
18529 const-string v2, "\n"
18531 invoke-virtual {v5, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
18533 invoke-virtual {v5}, Ljava/lang/StringBuilder;->length()I
18537 const/high16 v3, 0x1
18539 if-le v2, v3, :cond_17f
18546 .catchall {:try_start_131 .. :try_end_15c} :catchall_181
18548 if-eqz v11, :cond_160
18550 if-eqz v13, :cond_184
18553 new-instance v2, Lcom/android/server/am/ActivityManagerService$11;
18555 new-instance v3, Ljava/lang/StringBuilder;
18557 invoke-direct {v3}, Ljava/lang/StringBuilder;-><init>()V
18559 const-string v4, "Error dump: "
18561 invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
18563 move-result-object v3
18565 invoke-virtual {v3, v7}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
18567 move-result-object v3
18569 invoke-virtual {v3}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
18571 move-result-object v4
18573 move-object/from16 v3, p0
18575 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
18577 invoke-virtual {v2}, Lcom/android/server/am/ActivityManagerService$11;->start()V
18592 .catchall {:try_start_182 .. :try_end_183} :catchall_181
18599 new-instance v2, Lcom/android/server/am/ActivityManagerService$12;
18601 new-instance v3, Ljava/lang/StringBuilder;
18603 invoke-direct {v3}, Ljava/lang/StringBuilder;-><init>()V
18605 const-string v4, "Error dump: "
18607 invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
18609 move-result-object v3
18611 invoke-virtual {v3, v7}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
18613 move-result-object v3
18615 invoke-virtual {v3}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
18617 move-result-object v3
18619 move-object/from16 v0, p0
18621 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
18623 invoke-virtual {v2}, Lcom/android/server/am/ActivityManagerService$12;->start()V
18628 .method public static final main(I)Landroid/content/Context;
18635 new-instance v3, Lcom/android/server/am/ActivityManagerService$AThread;
18637 invoke-direct {v3}, Lcom/android/server/am/ActivityManagerService$AThread;-><init>()V
18639 invoke-virtual {v3}, Lcom/android/server/am/ActivityManagerService$AThread;->start()V
18645 iget-object v4, v3, Lcom/android/server/am/ActivityManagerService$AThread;->mService:Lcom/android/server/am/ActivityManagerService;
18647 .catchall {:try_start_b .. :try_end_d} :catchall_4b
18649 if-nez v4, :cond_15
18652 invoke-virtual {v3}, Ljava/lang/Object;->wait()V
18654 .catchall {:try_start_f .. :try_end_12} :catchall_4b
18655 .catch Ljava/lang/InterruptedException; {:try_start_f .. :try_end_12} :catch_13
18668 .catchall {:try_start_15 .. :try_end_16} :catchall_4b
18670 iget-object v2, v3, Lcom/android/server/am/ActivityManagerService$AThread;->mService:Lcom/android/server/am/ActivityManagerService;
18672 sput-object v2, Lcom/android/server/am/ActivityManagerService;->mSelf:Lcom/android/server/am/ActivityManagerService;
18674 invoke-static {}, Landroid/app/ActivityThread;->systemMain()Landroid/app/ActivityThread;
18676 move-result-object v0
18678 sput-object v0, Lcom/android/server/am/ActivityManagerService;->mSystemThread:Landroid/app/ActivityThread;
18680 invoke-virtual {v0}, Landroid/app/ActivityThread;->getSystemContext()Landroid/app/ContextImpl;
18682 move-result-object v1
18684 const v4, 0x103006b
18686 invoke-virtual {v1, v4}, Landroid/content/Context;->setTheme(I)V
18688 iput-object v1, v2, Lcom/android/server/am/ActivityManagerService;->mContext:Landroid/content/Context;
18690 iput p0, v2, Lcom/android/server/am/ActivityManagerService;->mFactoryTest:I
18692 new-instance v4, Lcom/android/server/am/ActivityStack;
18694 invoke-direct {v4, v2, v1, v6}, Lcom/android/server/am/ActivityStack;-><init>(Lcom/android/server/am/ActivityManagerService;Landroid/content/Context;Z)V
18696 iput-object v4, v2, Lcom/android/server/am/ActivityManagerService;->mMainStack:Lcom/android/server/am/ActivityStack;
18698 iget-object v4, v2, Lcom/android/server/am/ActivityManagerService;->mBatteryStatsService:Lcom/android/server/am/BatteryStatsService;
18700 invoke-virtual {v4, v1}, Lcom/android/server/am/BatteryStatsService;->publish(Landroid/content/Context;)V
18702 iget-object v4, v2, Lcom/android/server/am/ActivityManagerService;->mUsageStatsService:Lcom/android/server/am/UsageStatsService;
18704 invoke-virtual {v4, v1}, Lcom/android/server/am/UsageStatsService;->publish(Landroid/content/Context;)V
18711 iput-boolean v4, v3, Lcom/android/server/am/ActivityManagerService$AThread;->mReady:Z
18713 invoke-virtual {v3}, Ljava/lang/Object;->notifyAll()V
18717 .catchall {:try_start_41 .. :try_end_47} :catchall_4e
18719 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
18729 .catchall {:try_start_4c .. :try_end_4d} :catchall_4b
18739 .catchall {:try_start_4f .. :try_end_50} :catchall_4e
18744 .method private makeAppCrashingLocked(Lcom/android/server/am/ProcessRecord;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Z
18749 iput-boolean v2, p1, Lcom/android/server/am/ProcessRecord;->crashing:Z
18763 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;
18765 move-result-object v0
18767 iput-object v0, p1, Lcom/android/server/am/ProcessRecord;->crashingReport:Landroid/app/ActivityManager$ProcessErrorStateInfo;
18769 invoke-virtual {p0, p1}, Lcom/android/server/am/ActivityManagerService;->startAppProblemLocked(Lcom/android/server/am/ProcessRecord;)V
18771 invoke-virtual {p1}, Lcom/android/server/am/ProcessRecord;->stopFreezingAllLocked()V
18773 invoke-direct {p0, p1}, Lcom/android/server/am/ActivityManagerService;->handleAppCrashLocked(Lcom/android/server/am/ProcessRecord;)Z
18780 .method private makeAppNotRespondingLocked(Lcom/android/server/am/ProcessRecord;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
18785 iput-boolean v0, p1, Lcom/android/server/am/ProcessRecord;->notResponding:Z
18801 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;
18803 move-result-object v0
18805 iput-object v0, p1, Lcom/android/server/am/ProcessRecord;->notRespondingReport:Landroid/app/ActivityManager$ProcessErrorStateInfo;
18807 invoke-virtual {p0, p1}, Lcom/android/server/am/ActivityManagerService;->startAppProblemLocked(Lcom/android/server/am/ProcessRecord;)V
18809 invoke-virtual {p1}, Lcom/android/server/am/ProcessRecord;->stopFreezingAllLocked()V
18814 .method private final moveTaskBackwardsLocked(I)V
18817 const-string v0, "ActivityManager"
18819 const-string v1, "moveTaskBackwards not yet implemented!"
18821 invoke-static {v0, v1}, Landroid/util/Slog;->e(Ljava/lang/String;Ljava/lang/String;)I
18826 .method private onUserRemoved(Landroid/content/Intent;)V
18829 const-string v1, "android.intent.extra.user_id"
18833 move-object/from16 v0, p1
18835 invoke-virtual {v0, v1, v2}, Landroid/content/Intent;->getIntExtra(Ljava/lang/String;I)I
18841 if-ge v8, v1, :cond_d
18847 new-instance v13, Ljava/util/ArrayList;
18849 invoke-direct {v13}, Ljava/util/ArrayList;-><init>()V
18854 move-object/from16 v0, p0
18856 iget-object v1, v0, Lcom/android/server/am/ActivityManagerService;->mProcessNames:Lcom/android/server/ProcessMap;
18858 invoke-virtual {v1}, Lcom/android/server/ProcessMap;->getMap()Ljava/util/HashMap;
18860 move-result-object v11
18862 invoke-virtual {v11}, Ljava/util/HashMap;->entrySet()Ljava/util/Set;
18864 move-result-object v1
18866 invoke-interface {v1}, Ljava/util/Set;->iterator()Ljava/util/Iterator;
18868 move-result-object v10
18871 invoke-interface {v10}, Ljava/util/Iterator;->hasNext()Z
18875 if-eqz v1, :cond_5d
18877 invoke-interface {v10}, Ljava/util/Iterator;->next()Ljava/lang/Object;
18879 move-result-object v14
18881 check-cast v14, Ljava/util/Map$Entry;
18883 invoke-interface {v14}, Ljava/util/Map$Entry;->getValue()Ljava/lang/Object;
18885 move-result-object v15
18887 check-cast v15, Landroid/util/SparseArray;
18892 invoke-virtual {v15}, Landroid/util/SparseArray;->size()I
18896 if-ge v9, v1, :cond_23
18898 invoke-virtual {v15, v9}, Landroid/util/SparseArray;->keyAt(I)I
18902 invoke-static {v1}, Landroid/os/UserId;->getUserId(I)I
18906 if-ne v1, v8, :cond_5a
18908 new-instance v1, Landroid/util/Pair;
18910 invoke-interface {v14}, Ljava/util/Map$Entry;->getKey()Ljava/lang/Object;
18912 move-result-object v2
18914 invoke-virtual {v15, v9}, Landroid/util/SparseArray;->keyAt(I)I
18918 invoke-static {v3}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
18920 move-result-object v3
18922 invoke-direct {v1, v2, v3}, Landroid/util/Pair;-><init>(Ljava/lang/Object;Ljava/lang/Object;)V
18924 invoke-virtual {v13, v1}, Ljava/util/ArrayList;->add(Ljava/lang/Object;)Z
18927 add-int/lit8 v9, v9, 0x1
18932 invoke-virtual {v13}, Ljava/util/ArrayList;->iterator()Ljava/util/Iterator;
18934 move-result-object v10
18937 invoke-interface {v10}, Ljava/util/Iterator;->hasNext()Z
18941 if-eqz v1, :cond_86
18943 invoke-interface {v10}, Ljava/util/Iterator;->next()Ljava/lang/Object;
18945 move-result-object v12
18947 check-cast v12, Landroid/util/Pair;
18949 iget-object v2, v12, Landroid/util/Pair;->first:Ljava/lang/Object;
18951 check-cast v2, Ljava/lang/String;
18953 iget-object v1, v12, Landroid/util/Pair;->second:Ljava/lang/Object;
18955 check-cast v1, Ljava/lang/Integer;
18957 invoke-virtual {v1}, Ljava/lang/Integer;->intValue()I
18969 move-object/from16 v1, p0
18971 invoke-direct/range {v1 .. v8}, Lcom/android/server/am/ActivityManagerService;->forceStopPackageLocked(Ljava/lang/String;IZZZZI)Z
18980 .catchall {:try_start_13 .. :try_end_85} :catchall_83
18988 .catchall {:try_start_86 .. :try_end_87} :catchall_83
18993 .method static oomAdjToImportance(ILandroid/app/ActivityManager$RunningAppProcessInfo;)I
19000 sget v2, Lcom/android/server/am/ProcessList;->HIDDEN_APP_MIN_ADJ:I
19002 if-lt p0, v2, :cond_13
19004 if-eqz p1, :cond_12
19006 sget v1, Lcom/android/server/am/ProcessList;->HIDDEN_APP_MIN_ADJ:I
19010 add-int/lit8 v1, v1, 0x1
19012 iput v1, p1, Landroid/app/ActivityManager$RunningAppProcessInfo;->lru:I
19021 if-lt p0, v2, :cond_19
19030 if-lt p0, v2, :cond_22
19032 if-eqz p1, :cond_12
19036 iput v1, p1, Landroid/app/ActivityManager$RunningAppProcessInfo;->lru:I
19043 if-lt p0, v0, :cond_27
19052 if-lt p0, v0, :cond_2d
19061 if-lt p0, v0, :cond_33
19070 if-lt p0, v0, :cond_39
19082 .method private static processClass(Lcom/android/server/am/ProcessRecord;)Ljava/lang/String;
19087 iget v0, p0, Lcom/android/server/am/ProcessRecord;->pid:I
19089 sget v1, Lcom/android/server/am/ActivityManagerService;->MY_PID:I
19091 if-ne v0, v1, :cond_b
19094 const-string v0, "system_server"
19100 iget-object v0, p0, Lcom/android/server/am/ProcessRecord;->info:Landroid/content/pm/ApplicationInfo;
19102 iget v0, v0, Landroid/content/pm/ApplicationInfo;->flags:I
19104 and-int/lit8 v0, v0, 0x1
19106 if-eqz v0, :cond_16
19108 const-string v0, "system_app"
19113 const-string v0, "data_app"
19118 .method private final processStartTimedOutLocked(Lcom/android/server/am/ProcessRecord;)V
19131 iget v4, p1, Lcom/android/server/am/ProcessRecord;->pid:I
19135 iget-object v7, p0, Lcom/android/server/am/ActivityManagerService;->mPidsSelfLocked:Landroid/util/SparseArray;
19140 iget-object v6, p0, Lcom/android/server/am/ActivityManagerService;->mPidsSelfLocked:Landroid/util/SparseArray;
19142 invoke-virtual {v6, v4}, Landroid/util/SparseArray;->get(I)Ljava/lang/Object;
19144 move-result-object v3
19146 check-cast v3, Lcom/android/server/am/ProcessRecord;
19148 if-eqz v3, :cond_1f
19150 iget-object v6, v3, Lcom/android/server/am/ProcessRecord;->thread:Landroid/app/IApplicationThread;
19152 if-nez v6, :cond_1f
19154 iget-object v6, p0, Lcom/android/server/am/ActivityManagerService;->mPidsSelfLocked:Landroid/util/SparseArray;
19156 invoke-virtual {v6, v4}, Landroid/util/SparseArray;->remove(I)V
19163 .catchall {:try_start_b .. :try_end_20} :catchall_c7
19165 if-eqz v1, :cond_120
19167 const-string v6, "ActivityManager"
19169 new-instance v7, Ljava/lang/StringBuilder;
19171 invoke-direct {v7}, Ljava/lang/StringBuilder;-><init>()V
19173 const-string v8, "Process "
19175 invoke-virtual {v7, v8}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
19177 move-result-object v7
19179 invoke-virtual {v7, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
19181 move-result-object v7
19183 const-string v8, " failed to attach"
19185 invoke-virtual {v7, v8}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
19187 move-result-object v7
19189 invoke-virtual {v7}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
19191 move-result-object v7
19193 invoke-static {v6, v7}, Landroid/util/Slog;->w(Ljava/lang/String;Ljava/lang/String;)I
19195 const/16 v6, 0x7555
19197 new-array v7, v12, [Ljava/lang/Object;
19199 invoke-static {v4}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
19201 move-result-object v8
19203 aput-object v8, v7, v10
19205 iget v8, p1, Lcom/android/server/am/ProcessRecord;->uid:I
19207 invoke-static {v8}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
19209 move-result-object v8
19211 aput-object v8, v7, v9
19213 iget-object v8, p1, Lcom/android/server/am/ProcessRecord;->processName:Ljava/lang/String;
19215 aput-object v8, v7, v11
19217 invoke-static {v6, v7}, Landroid/util/EventLog;->writeEvent(I[Ljava/lang/Object;)I
19219 iget-object v6, p0, Lcom/android/server/am/ActivityManagerService;->mProcessNames:Lcom/android/server/ProcessMap;
19221 iget-object v7, p1, Lcom/android/server/am/ProcessRecord;->processName:Ljava/lang/String;
19223 iget v8, p1, Lcom/android/server/am/ProcessRecord;->uid:I
19225 invoke-virtual {v6, v7, v8}, Lcom/android/server/ProcessMap;->remove(Ljava/lang/String;I)V
19227 iget-object v6, p0, Lcom/android/server/am/ActivityManagerService;->mIsolatedProcesses:Landroid/util/SparseArray;
19229 iget v7, p1, Lcom/android/server/am/ProcessRecord;->uid:I
19231 invoke-virtual {v6, v7}, Landroid/util/SparseArray;->remove(I)V
19233 iget-object v6, p0, Lcom/android/server/am/ActivityManagerService;->mHeavyWeightProcess:Lcom/android/server/am/ProcessRecord;
19235 if-ne v6, p1, :cond_76
19237 iput-object v13, p0, Lcom/android/server/am/ActivityManagerService;->mHeavyWeightProcess:Lcom/android/server/am/ProcessRecord;
19239 iget-object v6, p0, Lcom/android/server/am/ActivityManagerService;->mHandler:Landroid/os/Handler;
19243 invoke-virtual {v6, v7}, Landroid/os/Handler;->sendEmptyMessage(I)Z
19246 invoke-virtual {p0, p1, v9}, Lcom/android/server/am/ActivityManagerService;->checkAppInLaunchingProvidersLocked(Lcom/android/server/am/ProcessRecord;Z)Z
19251 iget-object v6, p0, Lcom/android/server/am/ActivityManagerService;->mPendingServices:Ljava/util/ArrayList;
19253 invoke-virtual {v6}, Ljava/util/ArrayList;->size()I
19257 if-ge v2, v6, :cond_ca
19259 iget-object v6, p0, Lcom/android/server/am/ActivityManagerService;->mPendingServices:Ljava/util/ArrayList;
19261 invoke-virtual {v6, v2}, Ljava/util/ArrayList;->get(I)Ljava/lang/Object;
19263 move-result-object v5
19265 check-cast v5, Lcom/android/server/am/ServiceRecord;
19267 iget v6, p1, Lcom/android/server/am/ProcessRecord;->uid:I
19269 iget-object v7, v5, Lcom/android/server/am/ServiceRecord;->appInfo:Landroid/content/pm/ApplicationInfo;
19271 iget v7, v7, Landroid/content/pm/ApplicationInfo;->uid:I
19273 if-ne v6, v7, :cond_9c
19275 iget-object v6, p1, Lcom/android/server/am/ProcessRecord;->processName:Ljava/lang/String;
19277 iget-object v7, v5, Lcom/android/server/am/ServiceRecord;->processName:Ljava/lang/String;
19279 invoke-virtual {v6, v7}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
19283 if-nez v6, :cond_a0
19286 iget-object v6, v5, Lcom/android/server/am/ServiceRecord;->isolatedProc:Lcom/android/server/am/ProcessRecord;
19288 if-ne v6, p1, :cond_c4
19291 const-string v6, "ActivityManager"
19293 new-instance v7, Ljava/lang/StringBuilder;
19295 invoke-direct {v7}, Ljava/lang/StringBuilder;-><init>()V
19297 const-string v8, "Forcing bringing down service: "
19299 invoke-virtual {v7, v8}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
19301 move-result-object v7
19303 invoke-virtual {v7, v5}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
19305 move-result-object v7
19307 invoke-virtual {v7}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
19309 move-result-object v7
19311 invoke-static {v6, v7}, Landroid/util/Slog;->w(Ljava/lang/String;Ljava/lang/String;)I
19313 iput-object v13, v5, Lcom/android/server/am/ServiceRecord;->isolatedProc:Lcom/android/server/am/ProcessRecord;
19315 iget-object v6, p0, Lcom/android/server/am/ActivityManagerService;->mPendingServices:Ljava/util/ArrayList;
19317 invoke-virtual {v6, v2}, Ljava/util/ArrayList;->remove(I)Ljava/lang/Object;
19319 add-int/lit8 v2, v2, -0x1
19321 invoke-direct {p0, v5, v9}, Lcom/android/server/am/ActivityManagerService;->bringDownServiceLocked(Lcom/android/server/am/ServiceRecord;Z)V
19324 add-int/lit8 v2, v2, 0x1
19334 .catchall {:try_start_c8 .. :try_end_c9} :catchall_c7
19339 const/16 v6, 0x7547
19343 new-array v7, v7, [Ljava/lang/Object;
19345 invoke-static {v4}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
19347 move-result-object v8
19349 aput-object v8, v7, v10
19351 iget-object v8, p1, Lcom/android/server/am/ProcessRecord;->processName:Ljava/lang/String;
19353 aput-object v8, v7, v9
19355 iget v8, p1, Lcom/android/server/am/ProcessRecord;->setAdj:I
19357 invoke-static {v8}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
19359 move-result-object v8
19361 aput-object v8, v7, v11
19363 const-string v8, "start timeout"
19365 aput-object v8, v7, v12
19367 invoke-static {v6, v7}, Landroid/util/EventLog;->writeEvent(I[Ljava/lang/Object;)I
19369 invoke-static {v4}, Landroid/os/Process;->killProcessQuiet(I)V
19371 iget-object v6, p0, Lcom/android/server/am/ActivityManagerService;->mBackupTarget:Lcom/android/server/am/BackupRecord;
19373 if-eqz v6, :cond_10f
19375 iget-object v6, p0, Lcom/android/server/am/ActivityManagerService;->mBackupTarget:Lcom/android/server/am/BackupRecord;
19377 iget-object v6, v6, Lcom/android/server/am/BackupRecord;->app:Lcom/android/server/am/ProcessRecord;
19379 iget v6, v6, Lcom/android/server/am/ProcessRecord;->pid:I
19381 if-ne v6, v4, :cond_10f
19383 const-string v6, "ActivityManager"
19385 const-string v7, "Unattached app died before backup, skipping"
19387 invoke-static {v6, v7}, Landroid/util/Slog;->w(Ljava/lang/String;Ljava/lang/String;)I
19390 const-string v6, "backup"
19392 invoke-static {v6}, Landroid/os/ServiceManager;->getService(Ljava/lang/String;)Landroid/os/IBinder;
19394 move-result-object v6
19396 invoke-static {v6}, Landroid/app/backup/IBackupManager$Stub;->asInterface(Landroid/os/IBinder;)Landroid/app/backup/IBackupManager;
19398 move-result-object v0
19400 iget-object v6, p1, Lcom/android/server/am/ProcessRecord;->info:Landroid/content/pm/ApplicationInfo;
19402 iget-object v6, v6, Landroid/content/pm/ApplicationInfo;->packageName:Ljava/lang/String;
19404 invoke-interface {v0, v6}, Landroid/app/backup/IBackupManager;->agentDisconnected(Ljava/lang/String;)V
19406 .catch Landroid/os/RemoteException; {:try_start_fe .. :try_end_10f} :catch_139
19410 invoke-virtual {p0, v4}, Lcom/android/server/am/ActivityManagerService;->isPendingBroadcastProcessLocked(I)Z
19414 if-eqz v6, :cond_11f
19416 const-string v6, "ActivityManager"
19418 const-string v7, "Unattached app died before broadcast acknowledged, skipping"
19420 invoke-static {v6, v7}, Landroid/util/Slog;->w(Ljava/lang/String;Ljava/lang/String;)I
19422 invoke-virtual {p0, v4}, Lcom/android/server/am/ActivityManagerService;->skipPendingBroadcastLocked(I)V
19429 const-string v6, "ActivityManager"
19431 new-instance v7, Ljava/lang/StringBuilder;
19433 invoke-direct {v7}, Ljava/lang/StringBuilder;-><init>()V
19435 const-string v8, "Spurious process start timeout - pid not known for "
19437 invoke-virtual {v7, v8}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
19439 move-result-object v7
19441 invoke-virtual {v7, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
19443 move-result-object v7
19445 invoke-virtual {v7}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
19447 move-result-object v7
19449 invoke-static {v6, v7}, Landroid/util/Slog;->w(Ljava/lang/String;Ljava/lang/String;)I
19459 .method private static readLastDonePreBootReceivers()Ljava/util/ArrayList;
19461 .annotation system Ldalvik/annotation/Signature;
19464 "Ljava/util/ArrayList",
19466 "Landroid/content/ComponentName;",
19471 new-instance v9, Ljava/util/ArrayList;
19473 invoke-direct {v9}, Ljava/util/ArrayList;-><init>()V
19475 invoke-static {}, Lcom/android/server/am/ActivityManagerService;->getCalledPreBootReceiversFile()Ljava/io/File;
19477 move-result-object v5
19482 new-instance v7, Ljava/io/FileInputStream;
19484 invoke-direct {v7, v5}, Ljava/io/FileInputStream;-><init>(Ljava/io/File;)V
19486 .catchall {:try_start_a .. :try_end_f} :catchall_7f
19487 .catch Ljava/io/FileNotFoundException; {:try_start_a .. :try_end_f} :catch_90
19488 .catch Ljava/io/IOException; {:try_start_a .. :try_end_f} :catch_6f
19491 new-instance v3, Ljava/io/DataInputStream;
19493 new-instance v13, Ljava/io/BufferedInputStream;
19495 const/16 v14, 0x800
19497 invoke-direct {v13, v7, v14}, Ljava/io/BufferedInputStream;-><init>(Ljava/io/InputStream;I)V
19499 invoke-direct {v3, v13}, Ljava/io/DataInputStream;-><init>(Ljava/io/InputStream;)V
19501 invoke-virtual {v3}, Ljava/io/DataInputStream;->readInt()I
19505 const/16 v13, 0x2710
19507 if-ne v8, v13, :cond_68
19509 invoke-virtual {v3}, Ljava/io/DataInputStream;->readUTF()Ljava/lang/String;
19511 move-result-object v12
19513 invoke-virtual {v3}, Ljava/io/DataInputStream;->readUTF()Ljava/lang/String;
19515 move-result-object v2
19517 invoke-virtual {v3}, Ljava/io/DataInputStream;->readUTF()Ljava/lang/String;
19519 move-result-object v0
19521 sget-object v13, Landroid/os/Build$VERSION;->RELEASE:Ljava/lang/String;
19523 invoke-virtual {v13, v12}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
19527 if-eqz v13, :cond_68
19529 sget-object v13, Landroid/os/Build$VERSION;->CODENAME:Ljava/lang/String;
19531 invoke-virtual {v13, v2}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
19535 if-eqz v13, :cond_68
19537 sget-object v13, Landroid/os/Build$VERSION;->INCREMENTAL:Ljava/lang/String;
19539 invoke-virtual {v13, v0}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
19543 if-eqz v13, :cond_68
19545 invoke-virtual {v3}, Ljava/io/DataInputStream;->readInt()I
19550 if-lez v10, :cond_68
19552 add-int/lit8 v10, v10, -0x1
19554 invoke-virtual {v3}, Ljava/io/DataInputStream;->readUTF()Ljava/lang/String;
19556 move-result-object v11
19558 invoke-virtual {v3}, Ljava/io/DataInputStream;->readUTF()Ljava/lang/String;
19560 move-result-object v1
19562 new-instance v13, Landroid/content/ComponentName;
19564 invoke-direct {v13, v11, v1}, Landroid/content/ComponentName;-><init>(Ljava/lang/String;Ljava/lang/String;)V
19566 invoke-virtual {v9, v13}, Ljava/util/ArrayList;->add(Ljava/lang/Object;)Z
19568 .catchall {:try_start_f .. :try_end_5f} :catchall_8a
19569 .catch Ljava/io/FileNotFoundException; {:try_start_f .. :try_end_5f} :catch_60
19570 .catch Ljava/io/IOException; {:try_start_f .. :try_end_5f} :catch_8d
19580 if-eqz v6, :cond_67
19583 invoke-virtual {v6}, Ljava/io/FileInputStream;->close()V
19585 .catch Ljava/io/IOException; {:try_start_64 .. :try_end_67} :catch_7d
19592 if-eqz v7, :cond_6d
19595 invoke-virtual {v7}, Ljava/io/FileInputStream;->close()V
19597 .catch Ljava/io/IOException; {:try_start_6a .. :try_end_6d} :catch_88
19610 const-string v13, "ActivityManager"
19612 const-string v14, "Failure reading last done pre-boot receivers"
19614 invoke-static {v13, v14, v4}, Landroid/util/Slog;->w(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I
19616 .catchall {:try_start_70 .. :try_end_77} :catchall_7f
19618 if-eqz v6, :cond_67
19621 invoke-virtual {v6}, Ljava/io/FileInputStream;->close()V
19623 .catch Ljava/io/IOException; {:try_start_79 .. :try_end_7c} :catch_7d
19636 if-eqz v6, :cond_85
19639 invoke-virtual {v6}, Ljava/io/FileInputStream;->close()V
19641 .catch Ljava/io/IOException; {:try_start_82 .. :try_end_85} :catch_86
19677 .method private final realStartServiceLocked(Lcom/android/server/am/ServiceRecord;Lcom/android/server/am/ProcessRecord;)V
19679 .annotation system Ldalvik/annotation/Throws;
19681 Landroid/os/RemoteException;
19691 iget-object v0, p2, Lcom/android/server/am/ProcessRecord;->thread:Landroid/app/IApplicationThread;
19695 new-instance v0, Landroid/os/RemoteException;
19697 invoke-direct {v0}, Landroid/os/RemoteException;-><init>()V
19702 iput-object p2, p1, Lcom/android/server/am/ServiceRecord;->app:Lcom/android/server/am/ProcessRecord;
19704 invoke-static {}, Landroid/os/SystemClock;->uptimeMillis()J
19706 move-result-wide v0
19708 iput-wide v0, p1, Lcom/android/server/am/ServiceRecord;->lastActivity:J
19710 iput-wide v0, p1, Lcom/android/server/am/ServiceRecord;->restartTime:J
19712 iget-object v0, p2, Lcom/android/server/am/ProcessRecord;->services:Ljava/util/HashSet;
19714 invoke-virtual {v0, p1}, Ljava/util/HashSet;->add(Ljava/lang/Object;)Z
19716 const-string v0, "create"
19718 invoke-direct {p0, p1, v0}, Lcom/android/server/am/ActivityManagerService;->bumpServiceExecutingLocked(Lcom/android/server/am/ServiceRecord;Ljava/lang/String;)V
19720 invoke-virtual {p0, p2, v9, v9}, Lcom/android/server/am/ActivityManagerService;->updateLruProcessLocked(Lcom/android/server/am/ProcessRecord;ZZ)V
19725 iget-object v0, p0, Lcom/android/server/am/ActivityManagerService;->mStringBuilder:Ljava/lang/StringBuilder;
19729 invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->setLength(I)V
19731 iget-object v0, p1, Lcom/android/server/am/ServiceRecord;->intent:Landroid/content/Intent$FilterComparison;
19733 invoke-virtual {v0}, Landroid/content/Intent$FilterComparison;->getIntent()Landroid/content/Intent;
19735 move-result-object v0
19737 iget-object v1, p0, Lcom/android/server/am/ActivityManagerService;->mStringBuilder:Ljava/lang/StringBuilder;
19747 invoke-virtual/range {v0 .. v5}, Landroid/content/Intent;->toShortString(Ljava/lang/StringBuilder;ZZZZ)V
19749 const/16 v0, 0x754e
19753 new-array v1, v1, [Ljava/lang/Object;
19757 invoke-static {p1}, Ljava/lang/System;->identityHashCode(Ljava/lang/Object;)I
19761 invoke-static {v3}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
19763 move-result-object v3
19765 aput-object v3, v1, v2
19769 iget-object v3, p1, Lcom/android/server/am/ServiceRecord;->shortName:Ljava/lang/String;
19771 aput-object v3, v1, v2
19775 iget-object v3, p0, Lcom/android/server/am/ActivityManagerService;->mStringBuilder:Ljava/lang/StringBuilder;
19777 invoke-virtual {v3}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
19779 move-result-object v3
19781 aput-object v3, v1, v2
19785 iget-object v3, p1, Lcom/android/server/am/ServiceRecord;->app:Lcom/android/server/am/ProcessRecord;
19787 iget v3, v3, Lcom/android/server/am/ProcessRecord;->pid:I
19789 invoke-static {v3}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
19791 move-result-object v3
19793 aput-object v3, v1, v2
19795 invoke-static {v0, v1}, Landroid/util/EventLog;->writeEvent(I[Ljava/lang/Object;)I
19797 iget-object v0, p1, Lcom/android/server/am/ServiceRecord;->stats:Lcom/android/internal/os/BatteryStatsImpl$Uid$Pkg$Serv;
19799 invoke-virtual {v0}, Lcom/android/internal/os/BatteryStatsImpl$Uid$Pkg$Serv;->getBatteryStats()Lcom/android/internal/os/BatteryStatsImpl;
19801 move-result-object v1
19805 .catchall {:try_start_25 .. :try_end_6d} :catchall_c3
19808 iget-object v0, p1, Lcom/android/server/am/ServiceRecord;->stats:Lcom/android/internal/os/BatteryStatsImpl$Uid$Pkg$Serv;
19810 invoke-virtual {v0}, Lcom/android/internal/os/BatteryStatsImpl$Uid$Pkg$Serv;->startLaunchedLocked()V
19814 .catchall {:try_start_6d .. :try_end_73} :catchall_c0
19817 iget-object v0, p1, Lcom/android/server/am/ServiceRecord;->serviceInfo:Landroid/content/pm/ServiceInfo;
19819 iget-object v0, v0, Landroid/content/pm/ServiceInfo;->packageName:Ljava/lang/String;
19821 invoke-virtual {p0, v0}, Lcom/android/server/am/ActivityManagerService;->ensurePackageDexOpt(Ljava/lang/String;)V
19823 iget-object v0, p2, Lcom/android/server/am/ProcessRecord;->thread:Landroid/app/IApplicationThread;
19825 iget-object v1, p1, Lcom/android/server/am/ServiceRecord;->serviceInfo:Landroid/content/pm/ServiceInfo;
19827 iget-object v2, p1, Lcom/android/server/am/ServiceRecord;->serviceInfo:Landroid/content/pm/ServiceInfo;
19829 iget-object v2, v2, Landroid/content/pm/ServiceInfo;->applicationInfo:Landroid/content/pm/ApplicationInfo;
19831 invoke-virtual {p0, v2}, Lcom/android/server/am/ActivityManagerService;->compatibilityInfoForPackageLocked(Landroid/content/pm/ApplicationInfo;)Landroid/content/res/CompatibilityInfo;
19833 move-result-object v2
19835 invoke-interface {v0, p1, v1, v2}, Landroid/app/IApplicationThread;->scheduleCreateService(Landroid/os/IBinder;Landroid/content/pm/ServiceInfo;Landroid/content/res/CompatibilityInfo;)V
19837 invoke-virtual {p1}, Lcom/android/server/am/ServiceRecord;->postNotification()V
19839 .catchall {:try_start_73 .. :try_end_8c} :catchall_c3
19843 if-nez v6, :cond_97
19845 iget-object v0, p2, Lcom/android/server/am/ProcessRecord;->services:Ljava/util/HashSet;
19847 invoke-virtual {v0, p1}, Ljava/util/HashSet;->remove(Ljava/lang/Object;)Z
19849 invoke-direct {p0, p1, v8}, Lcom/android/server/am/ActivityManagerService;->scheduleServiceRestartLocked(Lcom/android/server/am/ServiceRecord;Z)Z
19852 invoke-direct {p0, p1}, Lcom/android/server/am/ActivityManagerService;->requestServiceBindingsLocked(Lcom/android/server/am/ServiceRecord;)V
19854 iget-boolean v0, p1, Lcom/android/server/am/ServiceRecord;->startRequested:Z
19856 if-eqz v0, :cond_bc
19858 iget-boolean v0, p1, Lcom/android/server/am/ServiceRecord;->callStart:Z
19860 if-eqz v0, :cond_bc
19862 iget-object v0, p1, Lcom/android/server/am/ServiceRecord;->pendingStarts:Ljava/util/ArrayList;
19864 invoke-virtual {v0}, Ljava/util/ArrayList;->size()I
19868 if-nez v0, :cond_bc
19870 iget-object v7, p1, Lcom/android/server/am/ServiceRecord;->pendingStarts:Ljava/util/ArrayList;
19872 new-instance v0, Lcom/android/server/am/ServiceRecord$StartItem;
19874 invoke-virtual {p1}, Lcom/android/server/am/ServiceRecord;->makeNextStartId()I
19882 move-object v4, v10
19884 move-object v5, v10
19886 invoke-direct/range {v0 .. v5}, Lcom/android/server/am/ServiceRecord$StartItem;-><init>(Lcom/android/server/am/ServiceRecord;ZILandroid/content/Intent;Lcom/android/server/am/ActivityManagerService$NeededUriGrants;)V
19888 invoke-virtual {v7, v0}, Ljava/util/ArrayList;->add(Ljava/lang/Object;)Z
19891 invoke-direct {p0, p1, v9}, Lcom/android/server/am/ActivityManagerService;->sendServiceArgsLocked(Lcom/android/server/am/ServiceRecord;Z)V
19901 .catchall {:try_start_c1 .. :try_end_c2} :catchall_c0
19906 .catchall {:try_start_c2 .. :try_end_c3} :catchall_c3
19911 if-nez v6, :cond_ce
19913 iget-object v1, p2, Lcom/android/server/am/ProcessRecord;->services:Ljava/util/HashSet;
19915 invoke-virtual {v1, p1}, Ljava/util/HashSet;->remove(Ljava/lang/Object;)Z
19917 invoke-direct {p0, p1, v8}, Lcom/android/server/am/ActivityManagerService;->scheduleServiceRestartLocked(Lcom/android/server/am/ServiceRecord;Z)Z
19923 .method private removeContentProviderExternalUnchecked(Ljava/lang/String;Landroid/os/IBinder;)V
19929 iget-object v3, p0, Lcom/android/server/am/ActivityManagerService;->mProviderMap:Lcom/android/server/am/ProviderMap;
19931 invoke-static {}, Landroid/os/Binder;->getOrigCallingUser()I
19935 invoke-virtual {v3, p1, v4}, Lcom/android/server/am/ProviderMap;->getProviderByName(Ljava/lang/String;I)Lcom/android/server/am/ContentProviderRecord;
19937 move-result-object v1
19947 new-instance v0, Landroid/content/ComponentName;
19949 iget-object v3, v1, Lcom/android/server/am/ContentProviderRecord;->info:Landroid/content/pm/ProviderInfo;
19951 iget-object v3, v3, Landroid/content/pm/ProviderInfo;->packageName:Ljava/lang/String;
19953 iget-object v4, v1, Lcom/android/server/am/ContentProviderRecord;->info:Landroid/content/pm/ProviderInfo;
19955 iget-object v4, v4, Landroid/content/pm/ProviderInfo;->name:Ljava/lang/String;
19957 invoke-direct {v0, v3, v4}, Landroid/content/ComponentName;-><init>(Ljava/lang/String;Ljava/lang/String;)V
19959 iget-object v3, p0, Lcom/android/server/am/ActivityManagerService;->mProviderMap:Lcom/android/server/am/ProviderMap;
19961 invoke-static {}, Landroid/os/Binder;->getOrigCallingUser()I
19965 invoke-virtual {v3, v0, v4}, Lcom/android/server/am/ProviderMap;->getProviderByClass(Landroid/content/ComponentName;I)Lcom/android/server/am/ContentProviderRecord;
19967 move-result-object v2
19969 invoke-virtual {v2}, Lcom/android/server/am/ContentProviderRecord;->hasExternalProcessHandles()Z
19973 if-eqz v3, :cond_63
19975 invoke-virtual {v2, p2}, Lcom/android/server/am/ContentProviderRecord;->removeExternalProcessHandleLocked(Landroid/os/IBinder;)Z
19979 if-eqz v3, :cond_3a
19981 invoke-virtual {p0}, Lcom/android/server/am/ActivityManagerService;->updateOomAdjLocked()V
19993 .catchall {:try_start_1 .. :try_end_39} :catchall_37
19999 const-string v3, "ActivityManager"
20001 new-instance v4, Ljava/lang/StringBuilder;
20003 invoke-direct {v4}, Ljava/lang/StringBuilder;-><init>()V
20005 const-string v5, "Attmpt to remove content provider "
20007 invoke-virtual {v4, v5}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
20009 move-result-object v4
20011 invoke-virtual {v4, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
20013 move-result-object v4
20015 const-string v5, " with no external reference for token: "
20017 invoke-virtual {v4, v5}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
20019 move-result-object v4
20021 invoke-virtual {v4, p2}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
20023 move-result-object v4
20025 const-string v5, "."
20027 invoke-virtual {v4, v5}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
20029 move-result-object v4
20031 invoke-virtual {v4}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
20033 move-result-object v4
20035 invoke-static {v3, v4}, Landroid/util/Slog;->e(Ljava/lang/String;Ljava/lang/String;)I
20040 const-string v3, "ActivityManager"
20042 new-instance v4, Ljava/lang/StringBuilder;
20044 invoke-direct {v4}, Ljava/lang/StringBuilder;-><init>()V
20046 const-string v5, "Attmpt to remove content provider: "
20048 invoke-virtual {v4, v5}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
20050 move-result-object v4
20052 invoke-virtual {v4, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
20054 move-result-object v4
20056 const-string v5, " with no external references."
20058 invoke-virtual {v4, v5}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
20060 move-result-object v4
20062 invoke-virtual {v4}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
20064 move-result-object v4
20066 invoke-static {v3, v4}, Landroid/util/Slog;->e(Ljava/lang/String;Ljava/lang/String;)I
20068 .catchall {:try_start_3a .. :try_end_81} :catchall_37
20073 .method private final removeDyingProviderLocked(Lcom/android/server/am/ProcessRecord;Lcom/android/server/am/ContentProviderRecord;Z)Z
20078 iget-object v6, p0, Lcom/android/server/am/ActivityManagerService;->mLaunchingProviders:Ljava/util/ArrayList;
20080 invoke-virtual {v6, p2}, Ljava/util/ArrayList;->contains(Ljava/lang/Object;)Z
20086 if-eqz p3, :cond_41
20094 iput-object v6, p2, Lcom/android/server/am/ContentProviderRecord;->launchingApp:Lcom/android/server/am/ProcessRecord;
20096 invoke-virtual {p2}, Ljava/lang/Object;->notifyAll()V
20100 .catchall {:try_start_d .. :try_end_13} :catchall_3e
20102 iget-object v6, p0, Lcom/android/server/am/ActivityManagerService;->mProviderMap:Lcom/android/server/am/ProviderMap;
20104 iget-object v7, p2, Lcom/android/server/am/ContentProviderRecord;->name:Landroid/content/ComponentName;
20106 iget v8, p2, Lcom/android/server/am/ContentProviderRecord;->uid:I
20108 invoke-static {v8}, Landroid/os/UserId;->getUserId(I)I
20112 invoke-virtual {v6, v7, v8}, Lcom/android/server/am/ProviderMap;->removeProviderByClass(Landroid/content/ComponentName;I)V
20114 iget-object v6, p2, Lcom/android/server/am/ContentProviderRecord;->info:Landroid/content/pm/ProviderInfo;
20116 iget-object v6, v6, Landroid/content/pm/ProviderInfo;->authority:Ljava/lang/String;
20118 const-string v7, ";"
20120 invoke-virtual {v6, v7}, Ljava/lang/String;->split(Ljava/lang/String;)[Ljava/lang/String;
20122 move-result-object v5
20127 array-length v6, v5
20129 if-ge v4, v6, :cond_41
20131 iget-object v6, p0, Lcom/android/server/am/ActivityManagerService;->mProviderMap:Lcom/android/server/am/ProviderMap;
20133 aget-object v7, v5, v4
20135 iget v8, p2, Lcom/android/server/am/ContentProviderRecord;->uid:I
20137 invoke-static {v8}, Landroid/os/UserId;->getUserId(I)I
20141 invoke-virtual {v6, v7, v8}, Lcom/android/server/am/ProviderMap;->removeProviderByName(Ljava/lang/String;I)V
20143 add-int/lit8 v4, v4, 0x1
20153 .catchall {:try_start_3f .. :try_end_40} :catchall_3e
20161 iget-object v6, p2, Lcom/android/server/am/ContentProviderRecord;->connections:Ljava/util/ArrayList;
20163 invoke-virtual {v6}, Ljava/util/ArrayList;->size()I
20167 if-ge v2, v6, :cond_122
20169 iget-object v6, p2, Lcom/android/server/am/ContentProviderRecord;->connections:Ljava/util/ArrayList;
20171 invoke-virtual {v6, v2}, Ljava/util/ArrayList;->get(I)Ljava/lang/Object;
20173 move-result-object v1
20175 check-cast v1, Lcom/android/server/am/ContentProviderConnection;
20177 iget-boolean v6, v1, Lcom/android/server/am/ContentProviderConnection;->waiting:Z
20179 if-eqz v6, :cond_5d
20181 if-eqz v3, :cond_5d
20183 if-nez p3, :cond_5d
20187 add-int/lit8 v2, v2, 0x1
20192 iget-object v0, v1, Lcom/android/server/am/ContentProviderConnection;->client:Lcom/android/server/am/ProcessRecord;
20194 iput-boolean v11, v1, Lcom/android/server/am/ContentProviderConnection;->dead:Z
20196 iget v6, v1, Lcom/android/server/am/ContentProviderConnection;->stableCount:I
20198 if-lez v6, :cond_fd
20200 iget-boolean v6, v0, Lcom/android/server/am/ProcessRecord;->persistent:Z
20202 if-nez v6, :cond_5a
20204 iget-object v6, v0, Lcom/android/server/am/ProcessRecord;->thread:Landroid/app/IApplicationThread;
20206 if-eqz v6, :cond_5a
20208 iget v6, v0, Lcom/android/server/am/ProcessRecord;->pid:I
20210 if-eqz v6, :cond_5a
20212 iget v6, v0, Lcom/android/server/am/ProcessRecord;->pid:I
20214 sget v7, Lcom/android/server/am/ActivityManagerService;->MY_PID:I
20216 if-eq v6, v7, :cond_5a
20218 const-string v7, "ActivityManager"
20220 new-instance v6, Ljava/lang/StringBuilder;
20222 invoke-direct {v6}, Ljava/lang/StringBuilder;-><init>()V
20224 const-string v8, "Kill "
20226 invoke-virtual {v6, v8}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
20228 move-result-object v6
20230 iget-object v8, v0, Lcom/android/server/am/ProcessRecord;->processName:Ljava/lang/String;
20232 invoke-virtual {v6, v8}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
20234 move-result-object v6
20236 const-string v8, " (pid "
20238 invoke-virtual {v6, v8}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
20240 move-result-object v6
20242 iget v8, v0, Lcom/android/server/am/ProcessRecord;->pid:I
20244 invoke-virtual {v6, v8}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
20246 move-result-object v6
20248 const-string v8, "): provider "
20250 invoke-virtual {v6, v8}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
20252 move-result-object v6
20254 iget-object v8, p2, Lcom/android/server/am/ContentProviderRecord;->info:Landroid/content/pm/ProviderInfo;
20256 iget-object v8, v8, Landroid/content/pm/ProviderInfo;->name:Ljava/lang/String;
20258 invoke-virtual {v6, v8}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
20260 move-result-object v6
20262 const-string v8, " in dying process "
20264 invoke-virtual {v6, v8}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
20266 move-result-object v8
20268 if-eqz p1, :cond_fa
20270 iget-object v6, p1, Lcom/android/server/am/ProcessRecord;->processName:Ljava/lang/String;
20273 invoke-virtual {v8, v6}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
20275 move-result-object v6
20277 invoke-virtual {v6}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
20279 move-result-object v6
20281 invoke-static {v7, v6}, Landroid/util/Slog;->i(Ljava/lang/String;Ljava/lang/String;)I
20283 const/16 v6, 0x7547
20287 new-array v7, v7, [Ljava/lang/Object;
20291 iget v9, v0, Lcom/android/server/am/ProcessRecord;->pid:I
20293 invoke-static {v9}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
20295 move-result-object v9
20297 aput-object v9, v7, v8
20299 iget-object v8, v0, Lcom/android/server/am/ProcessRecord;->processName:Ljava/lang/String;
20301 aput-object v8, v7, v11
20305 iget v9, v0, Lcom/android/server/am/ProcessRecord;->setAdj:I
20307 invoke-static {v9}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
20309 move-result-object v9
20311 aput-object v9, v7, v8
20315 new-instance v9, Ljava/lang/StringBuilder;
20317 invoke-direct {v9}, Ljava/lang/StringBuilder;-><init>()V
20319 const-string v10, "dying provider "
20321 invoke-virtual {v9, v10}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
20323 move-result-object v9
20325 iget-object v10, p2, Lcom/android/server/am/ContentProviderRecord;->name:Landroid/content/ComponentName;
20327 invoke-virtual {v10}, Landroid/content/ComponentName;->toShortString()Ljava/lang/String;
20329 move-result-object v10
20331 invoke-virtual {v9, v10}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
20333 move-result-object v9
20335 invoke-virtual {v9}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
20337 move-result-object v9
20339 aput-object v9, v7, v8
20341 invoke-static {v6, v7}, Landroid/util/EventLog;->writeEvent(I[Ljava/lang/Object;)I
20343 iget v6, v0, Lcom/android/server/am/ProcessRecord;->pid:I
20345 invoke-static {v6}, Landroid/os/Process;->killProcessQuiet(I)V
20350 const-string v6, "??"
20355 iget-object v6, v0, Lcom/android/server/am/ProcessRecord;->thread:Landroid/app/IApplicationThread;
20357 if-eqz v6, :cond_5a
20359 iget-object v6, v1, Lcom/android/server/am/ContentProviderConnection;->provider:Lcom/android/server/am/ContentProviderRecord;
20361 iget-object v6, v6, Lcom/android/server/am/ContentProviderRecord;->provider:Landroid/content/IContentProvider;
20363 if-eqz v6, :cond_5a
20366 iget-object v6, v0, Lcom/android/server/am/ProcessRecord;->thread:Landroid/app/IApplicationThread;
20368 iget-object v7, v1, Lcom/android/server/am/ContentProviderConnection;->provider:Lcom/android/server/am/ContentProviderRecord;
20370 iget-object v7, v7, Lcom/android/server/am/ContentProviderRecord;->provider:Landroid/content/IContentProvider;
20372 invoke-interface {v7}, Landroid/content/IContentProvider;->asBinder()Landroid/os/IBinder;
20374 move-result-object v7
20376 invoke-interface {v6, v7}, Landroid/app/IApplicationThread;->unstableProviderDied(Landroid/os/IBinder;)V
20378 .catch Landroid/os/RemoteException; {:try_start_107 .. :try_end_114} :catch_12c
20381 iget-object v6, p2, Lcom/android/server/am/ContentProviderRecord;->connections:Ljava/util/ArrayList;
20383 invoke-virtual {v6, v2}, Ljava/util/ArrayList;->remove(I)Ljava/lang/Object;
20385 iget-object v6, v1, Lcom/android/server/am/ContentProviderConnection;->client:Lcom/android/server/am/ProcessRecord;
20387 iget-object v6, v6, Lcom/android/server/am/ProcessRecord;->conProviders:Ljava/util/ArrayList;
20389 invoke-virtual {v6, v1}, Ljava/util/ArrayList;->remove(Ljava/lang/Object;)Z
20394 if-eqz v3, :cond_12b
20396 if-eqz p3, :cond_12b
20398 iget-object v6, p0, Lcom/android/server/am/ActivityManagerService;->mLaunchingProviders:Ljava/util/ArrayList;
20400 invoke-virtual {v6, p2}, Ljava/util/ArrayList;->remove(Ljava/lang/Object;)Z
20411 .method private final removeProcessLocked(Lcom/android/server/am/ProcessRecord;ZZLjava/lang/String;)Z
20414 iget-object v0, p1, Lcom/android/server/am/ProcessRecord;->processName:Ljava/lang/String;
20416 iget v3, p1, Lcom/android/server/am/ProcessRecord;->uid:I
20418 iget-object v4, p0, Lcom/android/server/am/ActivityManagerService;->mProcessNames:Lcom/android/server/ProcessMap;
20420 invoke-virtual {v4, v0, v3}, Lcom/android/server/ProcessMap;->remove(Ljava/lang/String;I)V
20422 iget-object v4, p0, Lcom/android/server/am/ActivityManagerService;->mIsolatedProcesses:Landroid/util/SparseArray;
20424 iget v5, p1, Lcom/android/server/am/ProcessRecord;->uid:I
20426 invoke-virtual {v4, v5}, Landroid/util/SparseArray;->remove(I)V
20428 iget-object v4, p0, Lcom/android/server/am/ActivityManagerService;->mHeavyWeightProcess:Lcom/android/server/am/ProcessRecord;
20430 if-ne v4, p1, :cond_1e
20434 iput-object v4, p0, Lcom/android/server/am/ActivityManagerService;->mHeavyWeightProcess:Lcom/android/server/am/ProcessRecord;
20436 iget-object v4, p0, Lcom/android/server/am/ActivityManagerService;->mHandler:Landroid/os/Handler;
20440 invoke-virtual {v4, v5}, Landroid/os/Handler;->sendEmptyMessage(I)Z
20445 iget v4, p1, Lcom/android/server/am/ProcessRecord;->pid:I
20447 if-lez v4, :cond_83
20449 iget v4, p1, Lcom/android/server/am/ProcessRecord;->pid:I
20451 sget v5, Lcom/android/server/am/ActivityManagerService;->MY_PID:I
20453 if-eq v4, v5, :cond_83
20455 iget v2, p1, Lcom/android/server/am/ProcessRecord;->pid:I
20457 iget-object v5, p0, Lcom/android/server/am/ActivityManagerService;->mPidsSelfLocked:Landroid/util/SparseArray;
20462 iget-object v4, p0, Lcom/android/server/am/ActivityManagerService;->mPidsSelfLocked:Landroid/util/SparseArray;
20464 invoke-virtual {v4, v2}, Landroid/util/SparseArray;->remove(I)V
20466 iget-object v4, p0, Lcom/android/server/am/ActivityManagerService;->mHandler:Landroid/os/Handler;
20470 invoke-virtual {v4, v6, p1}, Landroid/os/Handler;->removeMessages(ILjava/lang/Object;)V
20474 .catchall {:try_start_2e .. :try_end_3b} :catchall_7e
20476 const-string v4, "ActivityManager"
20478 new-instance v5, Ljava/lang/StringBuilder;
20480 invoke-direct {v5}, Ljava/lang/StringBuilder;-><init>()V
20482 const-string v6, "Killing proc "
20484 invoke-virtual {v5, v6}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
20486 move-result-object v5
20488 invoke-virtual {p1}, Lcom/android/server/am/ProcessRecord;->toShortString()Ljava/lang/String;
20490 move-result-object v6
20492 invoke-virtual {v5, v6}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
20494 move-result-object v5
20496 const-string v6, ": "
20498 invoke-virtual {v5, v6}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
20500 move-result-object v5
20502 invoke-virtual {v5, p4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
20504 move-result-object v5
20506 invoke-virtual {v5}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
20508 move-result-object v5
20510 invoke-static {v4, v5}, Landroid/util/Slog;->i(Ljava/lang/String;Ljava/lang/String;)I
20514 invoke-direct {p0, p1, v4, p3}, Lcom/android/server/am/ActivityManagerService;->handleAppDiedLocked(Lcom/android/server/am/ProcessRecord;ZZ)V
20516 iget-object v4, p0, Lcom/android/server/am/ActivityManagerService;->mLruProcesses:Ljava/util/ArrayList;
20518 invoke-virtual {v4, p1}, Ljava/util/ArrayList;->remove(Ljava/lang/Object;)Z
20520 invoke-static {v2}, Landroid/os/Process;->killProcessQuiet(I)V
20522 iget-boolean v4, p1, Lcom/android/server/am/ProcessRecord;->persistent:Z
20524 if-eqz v4, :cond_7d
20526 iget-boolean v4, p1, Lcom/android/server/am/ProcessRecord;->isolated:Z
20528 if-nez v4, :cond_7d
20530 if-nez p2, :cond_81
20532 iget-object v4, p1, Lcom/android/server/am/ProcessRecord;->info:Landroid/content/pm/ApplicationInfo;
20536 invoke-virtual {p0, v4, v5}, Lcom/android/server/am/ActivityManagerService;->addAppLocked(Landroid/content/pm/ApplicationInfo;Z)Lcom/android/server/am/ProcessRecord;
20548 .catchall {:try_start_7f .. :try_end_80} :catchall_7e
20558 iget-object v4, p0, Lcom/android/server/am/ActivityManagerService;->mRemovedProcesses:Ljava/util/ArrayList;
20560 invoke-virtual {v4, p1}, Ljava/util/ArrayList;->add(Ljava/lang/Object;)Z
20565 .method private reportStartInstrumentationFailure(Landroid/app/IInstrumentationWatcher;Landroid/content/ComponentName;Ljava/lang/String;)V
20568 const-string v2, "ActivityManager"
20570 invoke-static {v2, p3}, Landroid/util/Slog;->w(Ljava/lang/String;Ljava/lang/String;)I
20572 if-eqz p1, :cond_1c
20575 new-instance v1, Landroid/os/Bundle;
20577 invoke-direct {v1}, Landroid/os/Bundle;-><init>()V
20579 const-string v2, "id"
20581 const-string v3, "ActivityManagerService"
20583 invoke-virtual {v1, v2, v3}, Landroid/os/Bundle;->putString(Ljava/lang/String;Ljava/lang/String;)V
20585 const-string v2, "Error"
20587 invoke-virtual {v1, v2, p3}, Landroid/os/Bundle;->putString(Ljava/lang/String;Ljava/lang/String;)V
20591 invoke-interface {p1, p2, v2, v1}, Landroid/app/IInstrumentationWatcher;->instrumentationStatus(Landroid/content/ComponentName;ILandroid/os/Bundle;)V
20593 .catch Landroid/os/RemoteException; {:try_start_7 .. :try_end_1c} :catch_1d
20602 const-string v2, "ActivityManager"
20604 invoke-static {v2, v0}, Landroid/util/Slog;->w(Ljava/lang/String;Ljava/lang/Throwable;)I
20609 .method private final requestServiceBindingLocked(Lcom/android/server/am/ServiceRecord;Lcom/android/server/am/IntentBindRecord;Z)Z
20616 iget-object v3, p1, Lcom/android/server/am/ServiceRecord;->app:Lcom/android/server/am/ProcessRecord;
20620 iget-object v3, p1, Lcom/android/server/am/ServiceRecord;->app:Lcom/android/server/am/ProcessRecord;
20622 iget-object v3, v3, Lcom/android/server/am/ProcessRecord;->thread:Landroid/app/IApplicationThread;
20631 iget-boolean v3, p2, Lcom/android/server/am/IntentBindRecord;->requested:Z
20633 if-eqz v3, :cond_13
20635 if-eqz p3, :cond_38
20638 iget-object v3, p2, Lcom/android/server/am/IntentBindRecord;->apps:Ljava/util/HashMap;
20640 invoke-virtual {v3}, Ljava/util/HashMap;->size()I
20644 if-lez v3, :cond_38
20647 const-string v3, "bind"
20649 invoke-direct {p0, p1, v3}, Lcom/android/server/am/ActivityManagerService;->bumpServiceExecutingLocked(Lcom/android/server/am/ServiceRecord;Ljava/lang/String;)V
20651 iget-object v3, p1, Lcom/android/server/am/ServiceRecord;->app:Lcom/android/server/am/ProcessRecord;
20653 iget-object v3, v3, Lcom/android/server/am/ProcessRecord;->thread:Landroid/app/IApplicationThread;
20655 iget-object v4, p2, Lcom/android/server/am/IntentBindRecord;->intent:Landroid/content/Intent$FilterComparison;
20657 invoke-virtual {v4}, Landroid/content/Intent$FilterComparison;->getIntent()Landroid/content/Intent;
20659 move-result-object v4
20661 invoke-interface {v3, p1, v4, p3}, Landroid/app/IApplicationThread;->scheduleBindService(Landroid/os/IBinder;Landroid/content/Intent;Z)V
20663 if-nez p3, :cond_32
20667 iput-boolean v3, p2, Lcom/android/server/am/IntentBindRecord;->requested:Z
20672 iput-boolean v3, p2, Lcom/android/server/am/IntentBindRecord;->hasBound:Z
20676 iput-boolean v3, p2, Lcom/android/server/am/IntentBindRecord;->doRebind:Z
20678 .catch Landroid/os/RemoteException; {:try_start_1b .. :try_end_38} :catch_3a
20691 .method private final requestServiceBindingsLocked(Lcom/android/server/am/ServiceRecord;)V
20694 iget-object v2, p1, Lcom/android/server/am/ServiceRecord;->bindings:Ljava/util/HashMap;
20696 invoke-virtual {v2}, Ljava/util/HashMap;->values()Ljava/util/Collection;
20698 move-result-object v2
20700 invoke-interface {v2}, Ljava/util/Collection;->iterator()Ljava/util/Iterator;
20702 move-result-object v0
20705 invoke-interface {v0}, Ljava/util/Iterator;->hasNext()Z
20709 if-eqz v2, :cond_1d
20711 invoke-interface {v0}, Ljava/util/Iterator;->next()Ljava/lang/Object;
20713 move-result-object v1
20715 check-cast v1, Lcom/android/server/am/IntentBindRecord;
20719 invoke-direct {p0, p1, v1, v2}, Lcom/android/server/am/ActivityManagerService;->requestServiceBindingLocked(Lcom/android/server/am/ServiceRecord;Lcom/android/server/am/IntentBindRecord;Z)Z
20729 .method private final resumedAppLocked()Lcom/android/server/am/ActivityRecord;
20732 iget-object v1, p0, Lcom/android/server/am/ActivityManagerService;->mMainStack:Lcom/android/server/am/ActivityStack;
20734 iget-object v0, v1, Lcom/android/server/am/ActivityStack;->mResumedActivity:Lcom/android/server/am/ActivityRecord;
20738 iget-object v1, v0, Lcom/android/server/am/ActivityRecord;->app:Lcom/android/server/am/ProcessRecord;
20740 if-nez v1, :cond_1b
20743 iget-object v1, p0, Lcom/android/server/am/ActivityManagerService;->mMainStack:Lcom/android/server/am/ActivityStack;
20745 iget-object v0, v1, Lcom/android/server/am/ActivityStack;->mPausingActivity:Lcom/android/server/am/ActivityRecord;
20747 if-eqz v0, :cond_14
20749 iget-object v1, v0, Lcom/android/server/am/ActivityRecord;->app:Lcom/android/server/am/ProcessRecord;
20751 if-nez v1, :cond_1b
20754 iget-object v1, p0, Lcom/android/server/am/ActivityManagerService;->mMainStack:Lcom/android/server/am/ActivityStack;
20758 invoke-virtual {v1, v2}, Lcom/android/server/am/ActivityStack;->topRunningActivityLocked(Lcom/android/server/am/ActivityRecord;)Lcom/android/server/am/ActivityRecord;
20760 move-result-object v0
20766 .method private retrieveServiceLocked(Landroid/content/Intent;Ljava/lang/String;III)Lcom/android/server/am/ActivityManagerService$ServiceLookupResult;
20771 invoke-virtual/range {p1 .. p1}, Landroid/content/Intent;->getComponent()Landroid/content/ComponentName;
20773 move-result-object v4
20775 if-eqz v4, :cond_15
20777 move-object/from16 v0, p0
20779 iget-object v4, v0, Lcom/android/server/am/ActivityManagerService;->mServiceMap:Lcom/android/server/am/ActivityManagerService$ServiceMap;
20781 invoke-virtual/range {p1 .. p1}, Landroid/content/Intent;->getComponent()Landroid/content/ComponentName;
20783 move-result-object v10
20787 invoke-virtual {v4, v10, v0}, Lcom/android/server/am/ActivityManagerService$ServiceMap;->getServiceByName(Landroid/content/ComponentName;I)Lcom/android/server/am/ServiceRecord;
20789 move-result-object v3
20792 if-nez v3, :cond_28
20794 new-instance v7, Landroid/content/Intent$FilterComparison;
20796 move-object/from16 v0, p1
20798 invoke-direct {v7, v0}, Landroid/content/Intent$FilterComparison;-><init>(Landroid/content/Intent;)V
20800 move-object/from16 v0, p0
20802 iget-object v4, v0, Lcom/android/server/am/ActivityManagerService;->mServiceMap:Lcom/android/server/am/ActivityManagerService$ServiceMap;
20806 invoke-virtual {v4, v7, v0}, Lcom/android/server/am/ActivityManagerService$ServiceMap;->getServiceByIntent(Landroid/content/Intent$FilterComparison;I)Lcom/android/server/am/ServiceRecord;
20808 move-result-object v3
20811 if-nez v3, :cond_127
20814 invoke-static {}, Landroid/app/AppGlobals;->getPackageManager()Landroid/content/pm/IPackageManager;
20816 move-result-object v4
20818 const/16 v10, 0x400
20820 move-object/from16 v0, p1
20822 move-object/from16 v1, p2
20826 invoke-interface {v4, v0, v1, v10, v2}, Landroid/content/pm/IPackageManager;->resolveService(Landroid/content/Intent;Ljava/lang/String;II)Landroid/content/pm/ResolveInfo;
20828 move-result-object v20
20830 if-eqz v20, :cond_64
20832 move-object/from16 v0, v20
20834 iget-object v8, v0, Landroid/content/pm/ResolveInfo;->serviceInfo:Landroid/content/pm/ServiceInfo;
20837 if-nez v8, :cond_66
20839 const-string v4, "ActivityManager"
20841 new-instance v10, Ljava/lang/StringBuilder;
20843 invoke-direct {v10}, Ljava/lang/StringBuilder;-><init>()V
20845 const-string v11, "Unable to start service "
20847 invoke-virtual {v10, v11}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
20849 move-result-object v10
20851 move-object/from16 v0, p1
20853 invoke-virtual {v10, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
20855 move-result-object v10
20857 const-string v11, ": not found"
20859 invoke-virtual {v10, v11}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
20861 move-result-object v10
20863 invoke-virtual {v10}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
20865 move-result-object v10
20867 invoke-static {v4, v10}, Landroid/util/Slog;->w(Ljava/lang/String;Ljava/lang/String;)I
20880 if-lez p5, :cond_82
20882 iget-object v4, v8, Landroid/content/pm/ServiceInfo;->processName:Ljava/lang/String;
20884 iget-object v10, v8, Landroid/content/pm/ServiceInfo;->applicationInfo:Landroid/content/pm/ApplicationInfo;
20886 move-object/from16 v0, p0
20888 invoke-virtual {v0, v4, v10}, Lcom/android/server/am/ActivityManagerService;->isSingleton(Ljava/lang/String;Landroid/content/pm/ApplicationInfo;)Z
20892 if-eqz v4, :cond_76
20897 iget-object v4, v8, Landroid/content/pm/ServiceInfo;->applicationInfo:Landroid/content/pm/ApplicationInfo;
20899 move-object/from16 v0, p0
20903 invoke-direct {v0, v4, v1}, Lcom/android/server/am/ActivityManagerService;->getAppInfoForUser(Landroid/content/pm/ApplicationInfo;I)Landroid/content/pm/ApplicationInfo;
20905 move-result-object v4
20907 iput-object v4, v8, Landroid/content/pm/ServiceInfo;->applicationInfo:Landroid/content/pm/ApplicationInfo;
20910 new-instance v6, Landroid/content/ComponentName;
20912 iget-object v4, v8, Landroid/content/pm/ServiceInfo;->applicationInfo:Landroid/content/pm/ApplicationInfo;
20914 iget-object v4, v4, Landroid/content/pm/ApplicationInfo;->packageName:Ljava/lang/String;
20916 iget-object v10, v8, Landroid/content/pm/ServiceInfo;->name:Ljava/lang/String;
20918 invoke-direct {v6, v4, v10}, Landroid/content/ComponentName;-><init>(Ljava/lang/String;Ljava/lang/String;)V
20920 move-object/from16 v0, p0
20922 iget-object v4, v0, Lcom/android/server/am/ActivityManagerService;->mServiceMap:Lcom/android/server/am/ActivityManagerService$ServiceMap;
20926 invoke-virtual {v4, v6, v0}, Lcom/android/server/am/ActivityManagerService$ServiceMap;->getServiceByName(Landroid/content/ComponentName;I)Lcom/android/server/am/ServiceRecord;
20928 .catch Landroid/os/RemoteException; {:try_start_2a .. :try_end_96} :catch_1f9
20930 move-result-object v19
20932 if-nez v19, :cond_1fc
20935 new-instance v7, Landroid/content/Intent$FilterComparison;
20937 invoke-virtual/range {p1 .. p1}, Landroid/content/Intent;->cloneFilter()Landroid/content/Intent;
20939 move-result-object v4
20941 invoke-direct {v7, v4}, Landroid/content/Intent$FilterComparison;-><init>(Landroid/content/Intent;)V
20943 new-instance v9, Lcom/android/server/am/ActivityManagerService$ServiceRestarter;
20947 move-object/from16 v0, p0
20949 invoke-direct {v9, v0, v4}, Lcom/android/server/am/ActivityManagerService$ServiceRestarter;-><init>(Lcom/android/server/am/ActivityManagerService;Lcom/android/server/am/ActivityManagerService$1;)V
20953 move-object/from16 v0, p0
20955 iget-object v4, v0, Lcom/android/server/am/ActivityManagerService;->mBatteryStatsService:Lcom/android/server/am/BatteryStatsService;
20957 invoke-virtual {v4}, Lcom/android/server/am/BatteryStatsService;->getActiveStatistics()Lcom/android/internal/os/BatteryStatsImpl;
20959 move-result-object v21
20963 .catch Landroid/os/RemoteException; {:try_start_99 .. :try_end_b4} :catch_124
20966 iget-object v4, v8, Landroid/content/pm/ServiceInfo;->applicationInfo:Landroid/content/pm/ApplicationInfo;
20968 iget v4, v4, Landroid/content/pm/ApplicationInfo;->uid:I
20970 iget-object v10, v8, Landroid/content/pm/ServiceInfo;->packageName:Ljava/lang/String;
20972 iget-object v11, v8, Landroid/content/pm/ServiceInfo;->name:Ljava/lang/String;
20974 move-object/from16 v0, v21
20976 invoke-virtual {v0, v4, v10, v11}, Lcom/android/internal/os/BatteryStatsImpl;->getServiceStatsLocked(ILjava/lang/String;Ljava/lang/String;)Lcom/android/internal/os/BatteryStatsImpl$Uid$Pkg$Serv;
20978 move-result-object v5
20982 .catchall {:try_start_b4 .. :try_end_c3} :catchall_121
20985 new-instance v3, Lcom/android/server/am/ServiceRecord;
20987 move-object/from16 v4, p0
20989 invoke-direct/range {v3 .. v9}, Lcom/android/server/am/ServiceRecord;-><init>(Lcom/android/server/am/ActivityManagerService;Lcom/android/internal/os/BatteryStatsImpl$Uid$Pkg$Serv;Landroid/content/ComponentName;Landroid/content/Intent$FilterComparison;Landroid/content/pm/ServiceInfo;Ljava/lang/Runnable;)V
20991 .catch Landroid/os/RemoteException; {:try_start_c3 .. :try_end_ca} :catch_124
20994 invoke-virtual {v9, v3}, Lcom/android/server/am/ActivityManagerService$ServiceRestarter;->setService(Lcom/android/server/am/ServiceRecord;)V
20996 move-object/from16 v0, p0
20998 iget-object v4, v0, Lcom/android/server/am/ActivityManagerService;->mServiceMap:Lcom/android/server/am/ActivityManagerService$ServiceMap;
21000 iget-object v10, v3, Lcom/android/server/am/ServiceRecord;->appInfo:Landroid/content/pm/ApplicationInfo;
21002 iget v10, v10, Landroid/content/pm/ApplicationInfo;->uid:I
21004 invoke-static {v10}, Landroid/os/UserId;->getUserId(I)I
21008 invoke-virtual {v4, v6, v10, v3}, Lcom/android/server/am/ActivityManagerService$ServiceMap;->putServiceByName(Landroid/content/ComponentName;ILcom/android/server/am/ServiceRecord;)V
21010 move-object/from16 v0, p0
21012 iget-object v4, v0, Lcom/android/server/am/ActivityManagerService;->mServiceMap:Lcom/android/server/am/ActivityManagerService$ServiceMap;
21014 iget-object v10, v3, Lcom/android/server/am/ServiceRecord;->appInfo:Landroid/content/pm/ApplicationInfo;
21016 iget v10, v10, Landroid/content/pm/ApplicationInfo;->uid:I
21018 invoke-static {v10}, Landroid/os/UserId;->getUserId(I)I
21022 invoke-virtual {v4, v7, v10, v3}, Lcom/android/server/am/ActivityManagerService$ServiceMap;->putServiceByIntent(Landroid/content/Intent$FilterComparison;ILcom/android/server/am/ServiceRecord;)V
21024 move-object/from16 v0, p0
21026 iget-object v4, v0, Lcom/android/server/am/ActivityManagerService;->mPendingServices:Ljava/util/ArrayList;
21028 invoke-virtual {v4}, Ljava/util/ArrayList;->size()I
21035 move/from16 v0, v17
21037 move/from16 v1, v16
21039 if-ge v0, v1, :cond_127
21041 move-object/from16 v0, p0
21043 iget-object v4, v0, Lcom/android/server/am/ActivityManagerService;->mPendingServices:Ljava/util/ArrayList;
21045 move/from16 v0, v17
21047 invoke-virtual {v4, v0}, Ljava/util/ArrayList;->get(I)Ljava/lang/Object;
21049 move-result-object v18
21051 check-cast v18, Lcom/android/server/am/ServiceRecord;
21053 move-object/from16 v0, v18
21055 iget-object v4, v0, Lcom/android/server/am/ServiceRecord;->name:Landroid/content/ComponentName;
21057 invoke-virtual {v4, v6}, Landroid/content/ComponentName;->equals(Ljava/lang/Object;)Z
21061 if-eqz v4, :cond_11e
21063 move-object/from16 v0, p0
21065 iget-object v4, v0, Lcom/android/server/am/ActivityManagerService;->mPendingServices:Ljava/util/ArrayList;
21067 move/from16 v0, v17
21069 invoke-virtual {v4, v0}, Ljava/util/ArrayList;->remove(I)Ljava/lang/Object;
21071 .catch Landroid/os/RemoteException; {:try_start_ca .. :try_end_11a} :catch_1f9
21073 add-int/lit8 v17, v17, -0x1
21075 add-int/lit8 v16, v16, -0x1
21078 add-int/lit8 v17, v17, 0x1
21088 .catchall {:try_start_122 .. :try_end_123} :catchall_121
21093 .catch Landroid/os/RemoteException; {:try_start_123 .. :try_end_124} :catch_124
21098 move-object/from16 v3, v19
21102 if-eqz v3, :cond_1f6
21104 iget-object v11, v3, Lcom/android/server/am/ServiceRecord;->permission:Ljava/lang/String;
21106 iget-object v4, v3, Lcom/android/server/am/ServiceRecord;->appInfo:Landroid/content/pm/ApplicationInfo;
21108 iget v14, v4, Landroid/content/pm/ApplicationInfo;->uid:I
21110 iget-boolean v15, v3, Lcom/android/server/am/ServiceRecord;->exported:Z
21112 move-object/from16 v10, p0
21114 move/from16 v12, p3
21116 move/from16 v13, p4
21118 invoke-virtual/range {v10 .. v15}, Lcom/android/server/am/ActivityManagerService;->checkComponentPermission(Ljava/lang/String;IIIZ)I
21122 if-eqz v4, :cond_1ec
21124 iget-boolean v4, v3, Lcom/android/server/am/ServiceRecord;->exported:Z
21126 if-nez v4, :cond_1a2
21128 const-string v4, "ActivityManager"
21130 new-instance v10, Ljava/lang/StringBuilder;
21132 invoke-direct {v10}, Ljava/lang/StringBuilder;-><init>()V
21134 const-string v11, "Permission Denial: Accessing service "
21136 invoke-virtual {v10, v11}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
21138 move-result-object v10
21140 iget-object v11, v3, Lcom/android/server/am/ServiceRecord;->name:Landroid/content/ComponentName;
21142 invoke-virtual {v10, v11}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
21144 move-result-object v10
21146 const-string v11, " from pid="
21148 invoke-virtual {v10, v11}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
21150 move-result-object v10
21154 invoke-virtual {v10, v0}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
21156 move-result-object v10
21158 const-string v11, ", uid="
21160 invoke-virtual {v10, v11}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
21162 move-result-object v10
21166 invoke-virtual {v10, v0}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
21168 move-result-object v10
21170 const-string v11, " that is not exported from uid "
21172 invoke-virtual {v10, v11}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
21174 move-result-object v10
21176 iget-object v11, v3, Lcom/android/server/am/ServiceRecord;->appInfo:Landroid/content/pm/ApplicationInfo;
21178 iget v11, v11, Landroid/content/pm/ApplicationInfo;->uid:I
21180 invoke-virtual {v10, v11}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
21182 move-result-object v10
21184 invoke-virtual {v10}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
21186 move-result-object v10
21188 invoke-static {v4, v10}, Landroid/util/Slog;->w(Ljava/lang/String;Ljava/lang/String;)I
21190 new-instance v4, Lcom/android/server/am/ActivityManagerService$ServiceLookupResult;
21194 new-instance v11, Ljava/lang/StringBuilder;
21196 invoke-direct {v11}, Ljava/lang/StringBuilder;-><init>()V
21198 const-string v12, "not exported from uid "
21200 invoke-virtual {v11, v12}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
21202 move-result-object v11
21204 iget-object v12, v3, Lcom/android/server/am/ServiceRecord;->appInfo:Landroid/content/pm/ApplicationInfo;
21206 iget v12, v12, Landroid/content/pm/ApplicationInfo;->uid:I
21208 invoke-virtual {v11, v12}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
21210 move-result-object v11
21212 invoke-virtual {v11}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
21214 move-result-object v11
21216 move-object/from16 v0, p0
21218 invoke-direct {v4, v0, v10, v11}, Lcom/android/server/am/ActivityManagerService$ServiceLookupResult;-><init>(Lcom/android/server/am/ActivityManagerService;Lcom/android/server/am/ServiceRecord;Ljava/lang/String;)V
21223 const-string v4, "ActivityManager"
21225 new-instance v10, Ljava/lang/StringBuilder;
21227 invoke-direct {v10}, Ljava/lang/StringBuilder;-><init>()V
21229 const-string v11, "Permission Denial: Accessing service "
21231 invoke-virtual {v10, v11}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
21233 move-result-object v10
21235 iget-object v11, v3, Lcom/android/server/am/ServiceRecord;->name:Landroid/content/ComponentName;
21237 invoke-virtual {v10, v11}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
21239 move-result-object v10
21241 const-string v11, " from pid="
21243 invoke-virtual {v10, v11}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
21245 move-result-object v10
21249 invoke-virtual {v10, v0}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
21251 move-result-object v10
21253 const-string v11, ", uid="
21255 invoke-virtual {v10, v11}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
21257 move-result-object v10
21261 invoke-virtual {v10, v0}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
21263 move-result-object v10
21265 const-string v11, " requires "
21267 invoke-virtual {v10, v11}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
21269 move-result-object v10
21271 iget-object v11, v3, Lcom/android/server/am/ServiceRecord;->permission:Ljava/lang/String;
21273 invoke-virtual {v10, v11}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
21275 move-result-object v10
21277 invoke-virtual {v10}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
21279 move-result-object v10
21281 invoke-static {v4, v10}, Landroid/util/Slog;->w(Ljava/lang/String;Ljava/lang/String;)I
21283 new-instance v4, Lcom/android/server/am/ActivityManagerService$ServiceLookupResult;
21287 iget-object v11, v3, Lcom/android/server/am/ServiceRecord;->permission:Ljava/lang/String;
21289 move-object/from16 v0, p0
21291 invoke-direct {v4, v0, v10, v11}, Lcom/android/server/am/ActivityManagerService$ServiceLookupResult;-><init>(Lcom/android/server/am/ActivityManagerService;Lcom/android/server/am/ServiceRecord;Ljava/lang/String;)V
21296 new-instance v4, Lcom/android/server/am/ActivityManagerService$ServiceLookupResult;
21300 move-object/from16 v0, p0
21302 invoke-direct {v4, v0, v3, v10}, Lcom/android/server/am/ActivityManagerService$ServiceLookupResult;-><init>(Lcom/android/server/am/ActivityManagerService;Lcom/android/server/am/ServiceRecord;Ljava/lang/String;)V
21317 move-object/from16 v3, v19
21322 .method private retrieveSettings()V
21329 iget-object v7, p0, Lcom/android/server/am/ActivityManagerService;->mContext:Landroid/content/Context;
21331 invoke-virtual {v7}, Landroid/content/Context;->getContentResolver()Landroid/content/ContentResolver;
21333 move-result-object v3
21335 const-string v7, "debug_app"
21337 invoke-static {v3, v7}, Landroid/provider/Settings$System;->getString(Landroid/content/ContentResolver;Ljava/lang/String;)Ljava/lang/String;
21339 move-result-object v2
21341 const-string v7, "wait_for_debugger"
21343 invoke-static {v3, v7, v6}, Landroid/provider/Settings$System;->getInt(Landroid/content/ContentResolver;Ljava/lang/String;I)I
21347 if-eqz v7, :cond_3b
21352 const-string v7, "always_finish_activities"
21354 invoke-static {v3, v7, v6}, Landroid/provider/Settings$System;->getInt(Landroid/content/ContentResolver;Ljava/lang/String;I)I
21358 if-eqz v7, :cond_3d
21363 new-instance v1, Landroid/content/res/Configuration;
21365 invoke-direct {v1}, Landroid/content/res/Configuration;-><init>()V
21367 invoke-static {v3, v1}, Landroid/provider/Settings$System;->getConfiguration(Landroid/content/ContentResolver;Landroid/content/res/Configuration;)V
21372 iput-object v2, p0, Lcom/android/server/am/ActivityManagerService;->mOrigDebugApp:Ljava/lang/String;
21374 iput-object v2, p0, Lcom/android/server/am/ActivityManagerService;->mDebugApp:Ljava/lang/String;
21376 iput-boolean v4, p0, Lcom/android/server/am/ActivityManagerService;->mOrigWaitForDebugger:Z
21378 iput-boolean v4, p0, Lcom/android/server/am/ActivityManagerService;->mWaitForDebugger:Z
21380 iput-boolean v0, p0, Lcom/android/server/am/ActivityManagerService;->mAlwaysFinishActivities:Z
21388 invoke-virtual {p0, v1, v5, v6, v7}, Lcom/android/server/am/ActivityManagerService;->updateConfigurationLocked(Landroid/content/res/Configuration;Lcom/android/server/am/ActivityRecord;ZZ)Z
21409 .catchall {:try_start_29 .. :try_end_41} :catchall_3f
21414 .method private revokeUriPermissionLocked(ILandroid/net/Uri;I)V
21417 and-int/lit8 p3, p3, 0x3
21426 invoke-static {}, Landroid/app/AppGlobals;->getPackageManager()Landroid/content/pm/IPackageManager;
21428 move-result-object v2
21430 invoke-virtual/range {p2 .. p2}, Landroid/net/Uri;->getAuthority()Ljava/lang/String;
21432 move-result-object v10
21436 invoke-static/range {p1 .. p1}, Landroid/os/UserId;->getUserId(I)I
21440 move-object/from16 v0, p0
21442 iget-object v1, v0, Lcom/android/server/am/ActivityManagerService;->mProviderMap:Lcom/android/server/am/ProviderMap;
21444 move/from16 v0, v19
21446 invoke-virtual {v1, v10, v0}, Lcom/android/server/am/ProviderMap;->getProviderByName(Ljava/lang/String;I)Lcom/android/server/am/ContentProviderRecord;
21448 move-result-object v11
21450 if-eqz v11, :cond_3f
21452 iget-object v3, v11, Lcom/android/server/am/ContentProviderRecord;->info:Landroid/content/pm/ProviderInfo;
21455 if-nez v3, :cond_48
21457 const-string v1, "ActivityManager"
21459 new-instance v4, Ljava/lang/StringBuilder;
21461 invoke-direct {v4}, Ljava/lang/StringBuilder;-><init>()V
21463 const-string v5, "No content provider found for permission revoke: "
21465 invoke-virtual {v4, v5}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
21467 move-result-object v4
21469 invoke-virtual/range {p2 .. p2}, Landroid/net/Uri;->toSafeString()Ljava/lang/String;
21471 move-result-object v5
21473 invoke-virtual {v4, v5}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
21475 move-result-object v4
21477 invoke-virtual {v4}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
21479 move-result-object v4
21481 invoke-static {v1, v4}, Landroid/util/Slog;->w(Ljava/lang/String;Ljava/lang/String;)I
21489 move/from16 v0, v19
21491 invoke-interface {v2, v10, v1, v0}, Landroid/content/pm/IPackageManager;->resolveContentProvider(Ljava/lang/String;II)Landroid/content/pm/ProviderInfo;
21493 .catch Landroid/os/RemoteException; {:try_start_41 .. :try_end_46} :catch_10b
21495 move-result-object v3
21500 move-object/from16 v1, p0
21502 move-object/from16 v4, p2
21508 invoke-direct/range {v1 .. v6}, Lcom/android/server/am/ActivityManagerService;->checkHoldingPermissionsLocked(Landroid/content/pm/IPackageManager;Landroid/content/pm/ProviderInfo;Landroid/net/Uri;II)Z
21512 if-nez v1, :cond_7d
21514 new-instance v1, Ljava/lang/SecurityException;
21516 new-instance v4, Ljava/lang/StringBuilder;
21518 invoke-direct {v4}, Ljava/lang/StringBuilder;-><init>()V
21520 const-string v5, "Uid "
21522 invoke-virtual {v4, v5}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
21524 move-result-object v4
21528 invoke-virtual {v4, v0}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
21530 move-result-object v4
21532 const-string v5, " does not have permission to uri "
21534 invoke-virtual {v4, v5}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
21536 move-result-object v4
21538 move-object/from16 v0, p2
21540 invoke-virtual {v4, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
21542 move-result-object v4
21544 invoke-virtual {v4}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
21546 move-result-object v4
21548 invoke-direct {v1, v4}, Ljava/lang/SecurityException;-><init>(Ljava/lang/String;)V
21553 invoke-virtual/range {p2 .. p2}, Landroid/net/Uri;->getPathSegments()Ljava/util/List;
21555 move-result-object v9
21559 invoke-interface {v9}, Ljava/util/List;->size()I
21563 move-object/from16 v0, p0
21565 iget-object v1, v0, Lcom/android/server/am/ActivityManagerService;->mGrantedUriPermissions:Landroid/util/SparseArray;
21567 invoke-virtual {v1}, Landroid/util/SparseArray;->size()I
21574 if-ge v12, v7, :cond_4
21576 move-object/from16 v0, p0
21578 iget-object v1, v0, Lcom/android/server/am/ActivityManagerService;->mGrantedUriPermissions:Landroid/util/SparseArray;
21580 invoke-virtual {v1, v12}, Landroid/util/SparseArray;->valueAt(I)Ljava/lang/Object;
21582 move-result-object v16
21584 check-cast v16, Ljava/util/HashMap;
21586 invoke-virtual/range {v16 .. v16}, Ljava/util/HashMap;->values()Ljava/util/Collection;
21588 move-result-object v1
21590 invoke-interface {v1}, Ljava/util/Collection;->iterator()Ljava/util/Iterator;
21592 move-result-object v13
21596 invoke-interface {v13}, Ljava/util/Iterator;->hasNext()Z
21600 if-eqz v1, :cond_ef
21602 invoke-interface {v13}, Ljava/util/Iterator;->next()Ljava/lang/Object;
21604 move-result-object v15
21606 check-cast v15, Lcom/android/server/am/UriPermission;
21608 iget-object v0, v15, Lcom/android/server/am/UriPermission;->uri:Landroid/net/Uri;
21610 move-object/from16 v18, v0
21612 invoke-virtual/range {v18 .. v18}, Landroid/net/Uri;->getAuthority()Ljava/lang/String;
21614 move-result-object v1
21616 invoke-virtual {v10, v1}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
21620 if-eqz v1, :cond_a4
21622 invoke-virtual/range {v18 .. v18}, Landroid/net/Uri;->getPathSegments()Ljava/util/List;
21624 move-result-object v17
21626 if-eqz v17, :cond_a4
21628 invoke-interface/range {v17 .. v17}, Ljava/util/List;->size()I
21632 if-lt v1, v8, :cond_a4
21637 if-ge v14, v8, :cond_e2
21639 invoke-interface {v9, v14}, Ljava/util/List;->get(I)Ljava/lang/Object;
21641 move-result-object v1
21643 check-cast v1, Ljava/lang/String;
21645 move-object/from16 v0, v17
21647 invoke-interface {v0, v14}, Ljava/util/List;->get(I)Ljava/lang/Object;
21649 move-result-object v4
21651 invoke-virtual {v1, v4}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
21655 if-eqz v1, :cond_a4
21657 add-int/lit8 v14, v14, 0x1
21664 invoke-virtual {v15, v0}, Lcom/android/server/am/UriPermission;->clearModes(I)V
21666 iget v1, v15, Lcom/android/server/am/UriPermission;->modeFlags:I
21668 if-nez v1, :cond_a4
21670 invoke-interface {v13}, Ljava/util/Iterator;->remove()V
21675 invoke-virtual/range {v16 .. v16}, Ljava/util/HashMap;->size()I
21679 if-nez v1, :cond_108
21681 move-object/from16 v0, p0
21683 iget-object v1, v0, Lcom/android/server/am/ActivityManagerService;->mGrantedUriPermissions:Landroid/util/SparseArray;
21685 move-object/from16 v0, p0
21687 iget-object v4, v0, Lcom/android/server/am/ActivityManagerService;->mGrantedUriPermissions:Landroid/util/SparseArray;
21689 invoke-virtual {v4, v12}, Landroid/util/SparseArray;->keyAt(I)I
21693 invoke-virtual {v1, v4}, Landroid/util/SparseArray;->remove(I)V
21695 add-int/lit8 v7, v7, -0x1
21697 add-int/lit8 v12, v12, -0x1
21700 add-int/lit8 v12, v12, 0x1
21710 .method private saveLocaleLocked(Ljava/util/Locale;ZZ)V
21713 if-eqz p2, :cond_14
21715 const-string v0, "user.language"
21717 invoke-virtual {p1}, Ljava/util/Locale;->getLanguage()Ljava/lang/String;
21719 move-result-object v1
21721 invoke-static {v0, v1}, Landroid/os/SystemProperties;->set(Ljava/lang/String;Ljava/lang/String;)V
21723 const-string v0, "user.region"
21725 invoke-virtual {p1}, Ljava/util/Locale;->getCountry()Ljava/lang/String;
21727 move-result-object v1
21729 invoke-static {v0, v1}, Landroid/os/SystemProperties;->set(Ljava/lang/String;Ljava/lang/String;)V
21732 if-eqz p3, :cond_31
21734 const-string v0, "persist.sys.language"
21736 invoke-virtual {p1}, Ljava/util/Locale;->getLanguage()Ljava/lang/String;
21738 move-result-object v1
21740 invoke-static {v0, v1}, Landroid/os/SystemProperties;->set(Ljava/lang/String;Ljava/lang/String;)V
21742 const-string v0, "persist.sys.country"
21744 invoke-virtual {p1}, Ljava/util/Locale;->getCountry()Ljava/lang/String;
21746 move-result-object v1
21748 invoke-static {v0, v1}, Landroid/os/SystemProperties;->set(Ljava/lang/String;Ljava/lang/String;)V
21750 const-string v0, "persist.sys.localevar"
21752 invoke-virtual {p1}, Ljava/util/Locale;->getVariant()Ljava/lang/String;
21754 move-result-object v1
21756 invoke-static {v0, v1}, Landroid/os/SystemProperties;->set(Ljava/lang/String;Ljava/lang/String;)V
21762 .method private saveThemeResourceLocked(Landroid/content/res/CustomTheme;Z)V
21765 if-eqz p2, :cond_14
21767 const-string v0, "persist.sys.themeId"
21769 invoke-virtual {p1}, Landroid/content/res/CustomTheme;->getThemeId()Ljava/lang/String;
21771 move-result-object v1
21773 invoke-static {v0, v1}, Landroid/os/SystemProperties;->set(Ljava/lang/String;Ljava/lang/String;)V
21775 const-string v0, "persist.sys.themePackageName"
21777 invoke-virtual {p1}, Landroid/content/res/CustomTheme;->getThemePackageName()Ljava/lang/String;
21779 move-result-object v1
21781 invoke-static {v0, v1}, Landroid/os/SystemProperties;->set(Ljava/lang/String;Ljava/lang/String;)V
21787 .method private static scanArgs([Ljava/lang/String;Ljava/lang/String;)Z
21790 if-eqz p0, :cond_14
21794 array-length v3, v1
21799 if-ge v2, v3, :cond_14
21801 aget-object v0, v1, v2
21803 invoke-virtual {p1, v0}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
21807 if-eqz v4, :cond_11
21815 add-int/lit8 v2, v2, 0x1
21825 .method private final scheduleServiceRestartLocked(Lcom/android/server/am/ServiceRecord;Z)Z
21830 invoke-static {}, Landroid/os/SystemClock;->uptimeMillis()J
21832 move-result-wide v10
21834 const-wide/16 v8, 0x1388
21836 const-wide/32 v14, 0xea60
21838 move-object/from16 v0, p1
21840 iget-object v0, v0, Lcom/android/server/am/ServiceRecord;->serviceInfo:Landroid/content/pm/ServiceInfo;
21842 move-object/from16 v17, v0
21844 move-object/from16 v0, v17
21846 iget-object v0, v0, Landroid/content/pm/ServiceInfo;->applicationInfo:Landroid/content/pm/ApplicationInfo;
21848 move-object/from16 v17, v0
21850 move-object/from16 v0, v17
21852 iget v0, v0, Landroid/content/pm/ApplicationInfo;->flags:I
21854 move/from16 v17, v0
21856 and-int/lit8 v17, v17, 0x8
21858 if-eqz v17, :cond_24
21860 const-wide/16 v17, 0x4
21862 div-long v8, v8, v17
21865 move-object/from16 v0, p1
21867 iget-object v0, v0, Lcom/android/server/am/ServiceRecord;->deliveredStarts:Ljava/util/ArrayList;
21869 move-object/from16 v17, v0
21871 invoke-virtual/range {v17 .. v17}, Ljava/util/ArrayList;->size()I
21875 if-lez v3, :cond_d3
21877 add-int/lit8 v7, v3, -0x1
21880 if-ltz v7, :cond_ca
21882 move-object/from16 v0, p1
21884 iget-object v0, v0, Lcom/android/server/am/ServiceRecord;->deliveredStarts:Ljava/util/ArrayList;
21886 move-object/from16 v17, v0
21888 move-object/from16 v0, v17
21890 invoke-virtual {v0, v7}, Ljava/util/ArrayList;->get(I)Ljava/lang/Object;
21892 move-result-object v16
21894 check-cast v16, Lcom/android/server/am/ServiceRecord$StartItem;
21896 invoke-virtual/range {v16 .. v16}, Lcom/android/server/am/ServiceRecord$StartItem;->removeUriPermissionsLocked()V
21898 move-object/from16 v0, v16
21900 iget-object v0, v0, Lcom/android/server/am/ServiceRecord$StartItem;->intent:Landroid/content/Intent;
21902 move-object/from16 v17, v0
21904 if-nez v17, :cond_50
21908 add-int/lit8 v7, v7, -0x1
21913 if-eqz p2, :cond_6e
21915 move-object/from16 v0, v16
21917 iget v0, v0, Lcom/android/server/am/ServiceRecord$StartItem;->deliveryCount:I
21919 move/from16 v17, v0
21923 move/from16 v0, v17
21925 move/from16 v1, v18
21927 if-ge v0, v1, :cond_9a
21929 move-object/from16 v0, v16
21931 iget v0, v0, Lcom/android/server/am/ServiceRecord$StartItem;->doneExecutingCount:I
21933 move/from16 v17, v0
21937 move/from16 v0, v17
21939 move/from16 v1, v18
21941 if-ge v0, v1, :cond_9a
21944 move-object/from16 v0, p1
21946 iget-object v0, v0, Lcom/android/server/am/ServiceRecord;->pendingStarts:Ljava/util/ArrayList;
21948 move-object/from16 v17, v0
21952 move-object/from16 v0, v17
21954 move/from16 v1, v18
21956 move-object/from16 v2, v16
21958 invoke-virtual {v0, v1, v2}, Ljava/util/ArrayList;->add(ILjava/lang/Object;)V
21960 invoke-static {}, Landroid/os/SystemClock;->uptimeMillis()J
21962 move-result-wide v17
21964 move-object/from16 v0, v16
21966 iget-wide v0, v0, Lcom/android/server/am/ServiceRecord$StartItem;->deliveredTime:J
21968 move-wide/from16 v19, v0
21970 sub-long v5, v17, v19
21972 const-wide/16 v17, 0x2
21974 mul-long v5, v5, v17
21976 cmp-long v17, v8, v5
21978 if-gez v17, :cond_94
21983 cmp-long v17, v14, v5
21985 if-gez v17, :cond_4d
21992 const-string v17, "ActivityManager"
21994 new-instance v18, Ljava/lang/StringBuilder;
21996 invoke-direct/range {v18 .. v18}, Ljava/lang/StringBuilder;-><init>()V
21998 const-string v19, "Canceling start item "
22000 invoke-virtual/range {v18 .. v19}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
22002 move-result-object v18
22004 move-object/from16 v0, v16
22006 iget-object v0, v0, Lcom/android/server/am/ServiceRecord$StartItem;->intent:Landroid/content/Intent;
22008 move-object/from16 v19, v0
22010 invoke-virtual/range {v18 .. v19}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
22012 move-result-object v18
22014 const-string v19, " in service "
22016 invoke-virtual/range {v18 .. v19}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
22018 move-result-object v18
22020 move-object/from16 v0, p1
22022 iget-object v0, v0, Lcom/android/server/am/ServiceRecord;->name:Landroid/content/ComponentName;
22024 move-object/from16 v19, v0
22026 invoke-virtual/range {v18 .. v19}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
22028 move-result-object v18
22030 invoke-virtual/range {v18 .. v18}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
22032 move-result-object v18
22034 invoke-static/range {v17 .. v18}, Landroid/util/Slog;->w(Ljava/lang/String;Ljava/lang/String;)I
22041 move-object/from16 v0, p1
22043 iget-object v0, v0, Lcom/android/server/am/ServiceRecord;->deliveredStarts:Ljava/util/ArrayList;
22045 move-object/from16 v17, v0
22047 invoke-virtual/range {v17 .. v17}, Ljava/util/ArrayList;->clear()V
22050 move-object/from16 v0, p1
22052 iget v0, v0, Lcom/android/server/am/ServiceRecord;->totalRestartCount:I
22054 move/from16 v17, v0
22056 add-int/lit8 v17, v17, 0x1
22058 move/from16 v0, v17
22060 move-object/from16 v1, p1
22062 iput v0, v1, Lcom/android/server/am/ServiceRecord;->totalRestartCount:I
22064 move-object/from16 v0, p1
22066 iget-wide v0, v0, Lcom/android/server/am/ServiceRecord;->restartDelay:J
22068 move-wide/from16 v17, v0
22070 const-wide/16 v19, 0x0
22072 cmp-long v17, v17, v19
22074 if-nez v17, :cond_221
22076 move-object/from16 v0, p1
22078 iget v0, v0, Lcom/android/server/am/ServiceRecord;->restartCount:I
22080 move/from16 v17, v0
22082 add-int/lit8 v17, v17, 0x1
22084 move/from16 v0, v17
22086 move-object/from16 v1, p1
22088 iput v0, v1, Lcom/android/server/am/ServiceRecord;->restartCount:I
22090 move-object/from16 v0, p1
22092 iput-wide v8, v0, Lcom/android/server/am/ServiceRecord;->restartDelay:J
22096 move-object/from16 v0, p1
22098 iget-wide v0, v0, Lcom/android/server/am/ServiceRecord;->restartDelay:J
22100 move-wide/from16 v17, v0
22102 add-long v17, v17, v10
22104 move-wide/from16 v0, v17
22106 move-object/from16 v2, p1
22108 iput-wide v0, v2, Lcom/android/server/am/ServiceRecord;->nextRestartTime:J
22113 move-object/from16 v0, p0
22115 iget-object v0, v0, Lcom/android/server/am/ActivityManagerService;->mRestartingServices:Ljava/util/ArrayList;
22117 move-object/from16 v17, v0
22119 invoke-virtual/range {v17 .. v17}, Ljava/util/ArrayList;->size()I
22123 add-int/lit8 v7, v17, -0x1
22126 if-ltz v7, :cond_16f
22128 move-object/from16 v0, p0
22130 iget-object v0, v0, Lcom/android/server/am/ActivityManagerService;->mRestartingServices:Ljava/util/ArrayList;
22132 move-object/from16 v17, v0
22134 move-object/from16 v0, v17
22136 invoke-virtual {v0, v7}, Ljava/util/ArrayList;->get(I)Ljava/lang/Object;
22138 move-result-object v12
22140 check-cast v12, Lcom/android/server/am/ServiceRecord;
22142 move-object/from16 v0, p1
22144 if-eq v12, v0, :cond_285
22146 move-object/from16 v0, p1
22148 iget-wide v0, v0, Lcom/android/server/am/ServiceRecord;->nextRestartTime:J
22150 move-wide/from16 v17, v0
22152 iget-wide v0, v12, Lcom/android/server/am/ServiceRecord;->nextRestartTime:J
22154 move-wide/from16 v19, v0
22156 const-wide/16 v21, 0x2710
22158 sub-long v19, v19, v21
22160 cmp-long v17, v17, v19
22162 if-ltz v17, :cond_285
22164 move-object/from16 v0, p1
22166 iget-wide v0, v0, Lcom/android/server/am/ServiceRecord;->nextRestartTime:J
22168 move-wide/from16 v17, v0
22170 iget-wide v0, v12, Lcom/android/server/am/ServiceRecord;->nextRestartTime:J
22172 move-wide/from16 v19, v0
22174 const-wide/16 v21, 0x2710
22176 add-long v19, v19, v21
22178 cmp-long v17, v17, v19
22180 if-gez v17, :cond_285
22182 iget-wide v0, v12, Lcom/android/server/am/ServiceRecord;->nextRestartTime:J
22184 move-wide/from16 v17, v0
22186 const-wide/16 v19, 0x2710
22188 add-long v17, v17, v19
22190 move-wide/from16 v0, v17
22192 move-object/from16 v2, p1
22194 iput-wide v0, v2, Lcom/android/server/am/ServiceRecord;->nextRestartTime:J
22196 move-object/from16 v0, p1
22198 iget-wide v0, v0, Lcom/android/server/am/ServiceRecord;->nextRestartTime:J
22200 move-wide/from16 v17, v0
22202 sub-long v17, v17, v10
22204 move-wide/from16 v0, v17
22206 move-object/from16 v2, p1
22208 iput-wide v0, v2, Lcom/android/server/am/ServiceRecord;->restartDelay:J
22213 if-nez v13, :cond_10d
22215 move-object/from16 v0, p0
22217 iget-object v0, v0, Lcom/android/server/am/ActivityManagerService;->mRestartingServices:Ljava/util/ArrayList;
22219 move-object/from16 v17, v0
22221 move-object/from16 v0, v17
22223 move-object/from16 v1, p1
22225 invoke-virtual {v0, v1}, Ljava/util/ArrayList;->contains(Ljava/lang/Object;)Z
22229 if-nez v17, :cond_18e
22231 move-object/from16 v0, p0
22233 iget-object v0, v0, Lcom/android/server/am/ActivityManagerService;->mRestartingServices:Ljava/util/ArrayList;
22235 move-object/from16 v17, v0
22237 move-object/from16 v0, v17
22239 move-object/from16 v1, p1
22241 invoke-virtual {v0, v1}, Ljava/util/ArrayList;->add(Ljava/lang/Object;)Z
22244 invoke-virtual/range {p1 .. p1}, Lcom/android/server/am/ServiceRecord;->cancelNotification()V
22246 move-object/from16 v0, p0
22248 iget-object v0, v0, Lcom/android/server/am/ActivityManagerService;->mHandler:Landroid/os/Handler;
22250 move-object/from16 v17, v0
22252 move-object/from16 v0, p1
22254 iget-object v0, v0, Lcom/android/server/am/ServiceRecord;->restarter:Ljava/lang/Runnable;
22256 move-object/from16 v18, v0
22258 invoke-virtual/range {v17 .. v18}, Landroid/os/Handler;->removeCallbacks(Ljava/lang/Runnable;)V
22260 move-object/from16 v0, p0
22262 iget-object v0, v0, Lcom/android/server/am/ActivityManagerService;->mHandler:Landroid/os/Handler;
22264 move-object/from16 v17, v0
22266 move-object/from16 v0, p1
22268 iget-object v0, v0, Lcom/android/server/am/ServiceRecord;->restarter:Ljava/lang/Runnable;
22270 move-object/from16 v18, v0
22272 move-object/from16 v0, p1
22274 iget-wide v0, v0, Lcom/android/server/am/ServiceRecord;->nextRestartTime:J
22276 move-wide/from16 v19, v0
22278 invoke-virtual/range {v17 .. v20}, Landroid/os/Handler;->postAtTime(Ljava/lang/Runnable;J)Z
22280 invoke-static {}, Landroid/os/SystemClock;->uptimeMillis()J
22282 move-result-wide v17
22284 move-object/from16 v0, p1
22286 iget-wide v0, v0, Lcom/android/server/am/ServiceRecord;->restartDelay:J
22288 move-wide/from16 v19, v0
22290 add-long v17, v17, v19
22292 move-wide/from16 v0, v17
22294 move-object/from16 v2, p1
22296 iput-wide v0, v2, Lcom/android/server/am/ServiceRecord;->nextRestartTime:J
22298 const-string v17, "ActivityManager"
22300 new-instance v18, Ljava/lang/StringBuilder;
22302 invoke-direct/range {v18 .. v18}, Ljava/lang/StringBuilder;-><init>()V
22304 const-string v19, "Scheduling restart of crashed service "
22306 invoke-virtual/range {v18 .. v19}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
22308 move-result-object v18
22310 move-object/from16 v0, p1
22312 iget-object v0, v0, Lcom/android/server/am/ServiceRecord;->shortName:Ljava/lang/String;
22314 move-object/from16 v19, v0
22316 invoke-virtual/range {v18 .. v19}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
22318 move-result-object v18
22320 const-string v19, " in "
22322 invoke-virtual/range {v18 .. v19}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
22324 move-result-object v18
22326 move-object/from16 v0, p1
22328 iget-wide v0, v0, Lcom/android/server/am/ServiceRecord;->restartDelay:J
22330 move-wide/from16 v19, v0
22332 invoke-virtual/range {v18 .. v20}, Ljava/lang/StringBuilder;->append(J)Ljava/lang/StringBuilder;
22334 move-result-object v18
22336 const-string v19, "ms"
22338 invoke-virtual/range {v18 .. v19}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
22340 move-result-object v18
22342 invoke-virtual/range {v18 .. v18}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
22344 move-result-object v18
22346 invoke-static/range {v17 .. v18}, Landroid/util/Slog;->w(Ljava/lang/String;Ljava/lang/String;)I
22348 const/16 v17, 0x7553
22352 move/from16 v0, v18
22354 new-array v0, v0, [Ljava/lang/Object;
22356 move-object/from16 v18, v0
22360 move-object/from16 v0, p1
22362 iget-object v0, v0, Lcom/android/server/am/ServiceRecord;->shortName:Ljava/lang/String;
22364 move-object/from16 v20, v0
22366 aput-object v20, v18, v19
22370 move-object/from16 v0, p1
22372 iget-wide v0, v0, Lcom/android/server/am/ServiceRecord;->restartDelay:J
22374 move-wide/from16 v20, v0
22376 invoke-static/range {v20 .. v21}, Ljava/lang/Long;->valueOf(J)Ljava/lang/Long;
22378 move-result-object v20
22380 aput-object v20, v18, v19
22382 invoke-static/range {v17 .. v18}, Landroid/util/EventLog;->writeEvent(I[Ljava/lang/Object;)I
22387 move-object/from16 v0, p1
22389 iget-wide v0, v0, Lcom/android/server/am/ServiceRecord;->restartTime:J
22391 move-wide/from16 v17, v0
22393 add-long v17, v17, v14
22395 cmp-long v17, v10, v17
22397 if-lez v17, :cond_23b
22401 move/from16 v0, v17
22403 move-object/from16 v1, p1
22405 iput v0, v1, Lcom/android/server/am/ServiceRecord;->restartCount:I
22407 move-object/from16 v0, p1
22409 iput-wide v8, v0, Lcom/android/server/am/ServiceRecord;->restartDelay:J
22414 move-object/from16 v0, p1
22416 iget-object v0, v0, Lcom/android/server/am/ServiceRecord;->serviceInfo:Landroid/content/pm/ServiceInfo;
22418 move-object/from16 v17, v0
22420 move-object/from16 v0, v17
22422 iget-object v0, v0, Landroid/content/pm/ServiceInfo;->applicationInfo:Landroid/content/pm/ApplicationInfo;
22424 move-object/from16 v17, v0
22426 move-object/from16 v0, v17
22428 iget v0, v0, Landroid/content/pm/ApplicationInfo;->flags:I
22430 move/from16 v17, v0
22432 and-int/lit8 v17, v17, 0x8
22434 if-eqz v17, :cond_265
22436 move-object/from16 v0, p1
22438 iget-wide v0, v0, Lcom/android/server/am/ServiceRecord;->restartDelay:J
22440 move-wide/from16 v17, v0
22442 const-wide/16 v19, 0x2
22444 div-long v19, v8, v19
22446 add-long v17, v17, v19
22448 move-wide/from16 v0, v17
22450 move-object/from16 v2, p1
22452 iput-wide v0, v2, Lcom/android/server/am/ServiceRecord;->restartDelay:J
22457 move-object/from16 v0, p1
22459 iget-wide v0, v0, Lcom/android/server/am/ServiceRecord;->restartDelay:J
22461 move-wide/from16 v17, v0
22463 const-wide/16 v19, 0x4
22465 mul-long v17, v17, v19
22467 move-wide/from16 v0, v17
22469 move-object/from16 v2, p1
22471 iput-wide v0, v2, Lcom/android/server/am/ServiceRecord;->restartDelay:J
22473 move-object/from16 v0, p1
22475 iget-wide v0, v0, Lcom/android/server/am/ServiceRecord;->restartDelay:J
22477 move-wide/from16 v17, v0
22479 cmp-long v17, v17, v8
22481 if-gez v17, :cond_ff
22483 move-object/from16 v0, p1
22485 iput-wide v8, v0, Lcom/android/server/am/ServiceRecord;->restartDelay:J
22490 add-int/lit8 v7, v7, -0x1
22495 .method public static self()Lcom/android/server/am/ActivityManagerService;
22498 sget-object v0, Lcom/android/server/am/ActivityManagerService;->mSelf:Lcom/android/server/am/ActivityManagerService;
22503 .method private final sendPackageBroadcastLocked(I[Ljava/lang/String;)V
22506 iget-object v2, p0, Lcom/android/server/am/ActivityManagerService;->mLruProcesses:Ljava/util/ArrayList;
22508 invoke-virtual {v2}, Ljava/util/ArrayList;->size()I
22512 add-int/lit8 v0, v2, -0x1
22515 if-ltz v0, :cond_1e
22517 iget-object v2, p0, Lcom/android/server/am/ActivityManagerService;->mLruProcesses:Ljava/util/ArrayList;
22519 invoke-virtual {v2, v0}, Ljava/util/ArrayList;->get(I)Ljava/lang/Object;
22521 move-result-object v1
22523 check-cast v1, Lcom/android/server/am/ProcessRecord;
22525 iget-object v2, v1, Lcom/android/server/am/ProcessRecord;->thread:Landroid/app/IApplicationThread;
22527 if-eqz v2, :cond_1b
22530 iget-object v2, v1, Lcom/android/server/am/ProcessRecord;->thread:Landroid/app/IApplicationThread;
22532 invoke-interface {v2, p1, p2}, Landroid/app/IApplicationThread;->dispatchPackageBroadcast(I[Ljava/lang/String;)V
22534 .catch Landroid/os/RemoteException; {:try_start_16 .. :try_end_1b} :catch_1f
22538 add-int/lit8 v0, v0, -0x1
22551 .method private final sendServiceArgsLocked(Lcom/android/server/am/ServiceRecord;Z)V
22556 iget-object v0, p1, Lcom/android/server/am/ServiceRecord;->pendingStarts:Ljava/util/ArrayList;
22558 invoke-virtual {v0}, Ljava/util/ArrayList;->size()I
22570 iget-object v0, p1, Lcom/android/server/am/ServiceRecord;->pendingStarts:Ljava/util/ArrayList;
22572 invoke-virtual {v0}, Ljava/util/ArrayList;->size()I
22579 iget-object v0, p1, Lcom/android/server/am/ServiceRecord;->pendingStarts:Ljava/util/ArrayList;
22583 invoke-virtual {v0, v1}, Ljava/util/ArrayList;->remove(I)Ljava/lang/Object;
22585 move-result-object v8
22587 check-cast v8, Lcom/android/server/am/ServiceRecord$StartItem;
22589 iget-object v0, v8, Lcom/android/server/am/ServiceRecord$StartItem;->intent:Landroid/content/Intent;
22591 if-nez v0, :cond_21
22593 if-gt v6, v9, :cond_a
22596 invoke-static {}, Landroid/os/SystemClock;->uptimeMillis()J
22598 move-result-wide v0
22600 iput-wide v0, v8, Lcom/android/server/am/ServiceRecord$StartItem;->deliveredTime:J
22602 iget-object v0, p1, Lcom/android/server/am/ServiceRecord;->deliveredStarts:Ljava/util/ArrayList;
22604 invoke-virtual {v0, v8}, Ljava/util/ArrayList;->add(Ljava/lang/Object;)Z
22606 iget v0, v8, Lcom/android/server/am/ServiceRecord$StartItem;->deliveryCount:I
22608 add-int/lit8 v0, v0, 0x1
22610 iput v0, v8, Lcom/android/server/am/ServiceRecord$StartItem;->deliveryCount:I
22612 iget-object v0, v8, Lcom/android/server/am/ServiceRecord$StartItem;->neededGrants:Lcom/android/server/am/ActivityManagerService$NeededUriGrants;
22614 if-eqz v0, :cond_3f
22616 iget-object v0, v8, Lcom/android/server/am/ServiceRecord$StartItem;->neededGrants:Lcom/android/server/am/ActivityManagerService$NeededUriGrants;
22618 invoke-virtual {v8}, Lcom/android/server/am/ServiceRecord$StartItem;->getUriPermissionsLocked()Lcom/android/server/am/UriPermissionOwner;
22620 move-result-object v1
22622 invoke-virtual {p0, v0, v1}, Lcom/android/server/am/ActivityManagerService;->grantUriPermissionUncheckedFromIntentLocked(Lcom/android/server/am/ActivityManagerService$NeededUriGrants;Lcom/android/server/am/UriPermissionOwner;)V
22625 const-string v0, "start"
22627 invoke-direct {p0, p1, v0}, Lcom/android/server/am/ActivityManagerService;->bumpServiceExecutingLocked(Lcom/android/server/am/ServiceRecord;Ljava/lang/String;)V
22629 if-nez p2, :cond_4c
22633 iget-object v0, p1, Lcom/android/server/am/ServiceRecord;->app:Lcom/android/server/am/ProcessRecord;
22635 invoke-direct {p0, v0}, Lcom/android/server/am/ActivityManagerService;->updateOomAdjLocked(Lcom/android/server/am/ProcessRecord;)Z
22640 iget v0, v8, Lcom/android/server/am/ServiceRecord$StartItem;->deliveryCount:I
22642 if-le v0, v9, :cond_53
22644 or-int/lit8 v4, v4, 0x2
22647 iget v0, v8, Lcom/android/server/am/ServiceRecord$StartItem;->doneExecutingCount:I
22649 if-lez v0, :cond_59
22651 or-int/lit8 v4, v4, 0x1
22654 iget-object v0, p1, Lcom/android/server/am/ServiceRecord;->app:Lcom/android/server/am/ProcessRecord;
22656 iget-object v0, v0, Lcom/android/server/am/ProcessRecord;->thread:Landroid/app/IApplicationThread;
22658 iget-boolean v2, v8, Lcom/android/server/am/ServiceRecord$StartItem;->taskRemoved:Z
22660 iget v3, v8, Lcom/android/server/am/ServiceRecord$StartItem;->id:I
22662 iget-object v5, v8, Lcom/android/server/am/ServiceRecord$StartItem;->intent:Landroid/content/Intent;
22666 invoke-interface/range {v0 .. v5}, Landroid/app/IApplicationThread;->scheduleServiceArgs(Landroid/os/IBinder;ZIILandroid/content/Intent;)V
22668 .catch Landroid/os/RemoteException; {:try_start_12 .. :try_end_67} :catch_68
22669 .catch Ljava/lang/Exception; {:try_start_12 .. :try_end_67} :catch_6a
22681 const-string v0, "ActivityManager"
22683 const-string v1, "Unexpected exception"
22685 invoke-static {v0, v1, v7}, Landroid/util/Slog;->w(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I
22690 .method public static setSystemProcess()V
22694 sget-object v3, Lcom/android/server/am/ActivityManagerService;->mSelf:Lcom/android/server/am/ActivityManagerService;
22696 const-string v4, "activity"
22700 invoke-static {v4, v3, v5}, Landroid/os/ServiceManager;->addService(Ljava/lang/String;Landroid/os/IBinder;Z)V
22702 const-string v4, "meminfo"
22704 new-instance v5, Lcom/android/server/am/ActivityManagerService$MemBinder;
22706 invoke-direct {v5, v3}, Lcom/android/server/am/ActivityManagerService$MemBinder;-><init>(Lcom/android/server/am/ActivityManagerService;)V
22708 invoke-static {v4, v5}, Landroid/os/ServiceManager;->addService(Ljava/lang/String;Landroid/os/IBinder;)V
22710 const-string v4, "gfxinfo"
22712 new-instance v5, Lcom/android/server/am/ActivityManagerService$GraphicsBinder;
22714 invoke-direct {v5, v3}, Lcom/android/server/am/ActivityManagerService$GraphicsBinder;-><init>(Lcom/android/server/am/ActivityManagerService;)V
22716 invoke-static {v4, v5}, Landroid/os/ServiceManager;->addService(Ljava/lang/String;Landroid/os/IBinder;)V
22718 const-string v4, "dbinfo"
22720 new-instance v5, Lcom/android/server/am/ActivityManagerService$DbBinder;
22722 invoke-direct {v5, v3}, Lcom/android/server/am/ActivityManagerService$DbBinder;-><init>(Lcom/android/server/am/ActivityManagerService;)V
22724 invoke-static {v4, v5}, Landroid/os/ServiceManager;->addService(Ljava/lang/String;Landroid/os/IBinder;)V
22726 const-string v4, "cpuinfo"
22728 new-instance v5, Lcom/android/server/am/ActivityManagerService$CpuBinder;
22730 invoke-direct {v5, v3}, Lcom/android/server/am/ActivityManagerService$CpuBinder;-><init>(Lcom/android/server/am/ActivityManagerService;)V
22732 invoke-static {v4, v5}, Landroid/os/ServiceManager;->addService(Ljava/lang/String;Landroid/os/IBinder;)V
22734 const-string v4, "permission"
22736 new-instance v5, Lcom/android/server/am/ActivityManagerService$PermissionController;
22738 invoke-direct {v5, v3}, Lcom/android/server/am/ActivityManagerService$PermissionController;-><init>(Lcom/android/server/am/ActivityManagerService;)V
22740 invoke-static {v4, v5}, Landroid/os/ServiceManager;->addService(Ljava/lang/String;Landroid/os/IBinder;)V
22742 sget-object v4, Lcom/android/server/am/ActivityManagerService;->mSelf:Lcom/android/server/am/ActivityManagerService;
22744 iget-object v4, v4, Lcom/android/server/am/ActivityManagerService;->mContext:Landroid/content/Context;
22746 invoke-virtual {v4}, Landroid/content/Context;->getPackageManager()Landroid/content/pm/PackageManager;
22748 move-result-object v4
22750 const-string v5, "android"
22754 invoke-virtual {v4, v5, v6}, Landroid/content/pm/PackageManager;->getApplicationInfo(Ljava/lang/String;I)Landroid/content/pm/ApplicationInfo;
22756 move-result-object v2
22758 sget-object v4, Lcom/android/server/am/ActivityManagerService;->mSystemThread:Landroid/app/ActivityThread;
22760 invoke-virtual {v4, v2}, Landroid/app/ActivityThread;->installSystemApplicationInfo(Landroid/content/pm/ApplicationInfo;)V
22762 sget-object v5, Lcom/android/server/am/ActivityManagerService;->mSelf:Lcom/android/server/am/ActivityManagerService;
22766 .catch Landroid/content/pm/PackageManager$NameNotFoundException; {:try_start_0 .. :try_end_52} :catch_95
22769 sget-object v4, Lcom/android/server/am/ActivityManagerService;->mSelf:Lcom/android/server/am/ActivityManagerService;
22771 sget-object v6, Lcom/android/server/am/ActivityManagerService;->mSystemThread:Landroid/app/ActivityThread;
22773 invoke-virtual {v6}, Landroid/app/ActivityThread;->getApplicationThread()Landroid/app/ActivityThread$ApplicationThread;
22775 move-result-object v6
22777 iget-object v7, v2, Landroid/content/pm/ApplicationInfo;->processName:Ljava/lang/String;
22781 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;
22783 move-result-object v0
22787 iput-boolean v4, v0, Lcom/android/server/am/ProcessRecord;->persistent:Z
22789 sget v4, Lcom/android/server/am/ActivityManagerService;->MY_PID:I
22791 iput v4, v0, Lcom/android/server/am/ProcessRecord;->pid:I
22795 iput v4, v0, Lcom/android/server/am/ProcessRecord;->maxAdj:I
22797 sget-object v4, Lcom/android/server/am/ActivityManagerService;->mSelf:Lcom/android/server/am/ActivityManagerService;
22799 iget-object v4, v4, Lcom/android/server/am/ActivityManagerService;->mProcessNames:Lcom/android/server/ProcessMap;
22801 iget-object v6, v0, Lcom/android/server/am/ProcessRecord;->processName:Ljava/lang/String;
22803 iget v7, v0, Lcom/android/server/am/ProcessRecord;->uid:I
22805 invoke-virtual {v4, v6, v7, v0}, Lcom/android/server/ProcessMap;->put(Ljava/lang/String;ILjava/lang/Object;)Ljava/lang/Object;
22807 sget-object v4, Lcom/android/server/am/ActivityManagerService;->mSelf:Lcom/android/server/am/ActivityManagerService;
22809 iget-object v6, v4, Lcom/android/server/am/ActivityManagerService;->mPidsSelfLocked:Landroid/util/SparseArray;
22813 .catchall {:try_start_52 .. :try_end_7c} :catchall_92
22816 sget-object v4, Lcom/android/server/am/ActivityManagerService;->mSelf:Lcom/android/server/am/ActivityManagerService;
22818 iget-object v4, v4, Lcom/android/server/am/ActivityManagerService;->mPidsSelfLocked:Landroid/util/SparseArray;
22820 iget v7, v0, Lcom/android/server/am/ProcessRecord;->pid:I
22822 invoke-virtual {v4, v7, v0}, Landroid/util/SparseArray;->put(ILjava/lang/Object;)V
22826 .catchall {:try_start_7c .. :try_end_86} :catchall_8f
22829 sget-object v4, Lcom/android/server/am/ActivityManagerService;->mSelf:Lcom/android/server/am/ActivityManagerService;
22835 invoke-virtual {v4, v0, v6, v7}, Lcom/android/server/am/ActivityManagerService;->updateLruProcessLocked(Lcom/android/server/am/ProcessRecord;ZZ)V
22839 .catchall {:try_start_86 .. :try_end_8e} :catchall_92
22849 .catchall {:try_start_90 .. :try_end_91} :catchall_8f
22859 .catchall {:try_start_91 .. :try_end_94} :catchall_92
22864 .catch Landroid/content/pm/PackageManager$NameNotFoundException; {:try_start_94 .. :try_end_95} :catch_95
22869 new-instance v4, Ljava/lang/RuntimeException;
22871 const-string v5, "Unable to find android system package"
22873 invoke-direct {v4, v5, v1}, Ljava/lang/RuntimeException;-><init>(Ljava/lang/String;Ljava/lang/Throwable;)V
22878 .method private static final shouldShowDialogs(Landroid/content/res/Configuration;)Z
22883 iget v1, p0, Landroid/content/res/Configuration;->keyboard:I
22885 if-ne v1, v0, :cond_9
22887 iget v1, p0, Landroid/content/res/Configuration;->touchscreen:I
22889 if-eq v1, v0, :cond_a
22901 .method private final startProcessLocked(Lcom/android/server/am/ProcessRecord;Ljava/lang/String;Ljava/lang/String;)V
22904 move-object/from16 v0, p1
22906 iget v1, v0, Lcom/android/server/am/ProcessRecord;->pid:I
22908 if-lez v1, :cond_29
22910 move-object/from16 v0, p1
22912 iget v1, v0, Lcom/android/server/am/ProcessRecord;->pid:I
22914 sget v2, Lcom/android/server/am/ActivityManagerService;->MY_PID:I
22916 if-eq v1, v2, :cond_29
22918 iget-object v2, p0, Lcom/android/server/am/ActivityManagerService;->mPidsSelfLocked:Landroid/util/SparseArray;
22923 iget-object v1, p0, Lcom/android/server/am/ActivityManagerService;->mPidsSelfLocked:Landroid/util/SparseArray;
22925 move-object/from16 v0, p1
22927 iget v4, v0, Lcom/android/server/am/ProcessRecord;->pid:I
22929 invoke-virtual {v1, v4}, Landroid/util/SparseArray;->remove(I)V
22931 iget-object v1, p0, Lcom/android/server/am/ActivityManagerService;->mHandler:Landroid/os/Handler;
22935 move-object/from16 v0, p1
22937 invoke-virtual {v1, v4, v0}, Landroid/os/Handler;->removeMessages(ILjava/lang/Object;)V
22941 .catchall {:try_start_11 .. :try_end_24} :catchall_199
22945 move-object/from16 v0, p1
22947 iput v1, v0, Lcom/android/server/am/ProcessRecord;->pid:I
22950 iget-object v1, p0, Lcom/android/server/am/ActivityManagerService;->mProcessesOnHold:Ljava/util/ArrayList;
22952 move-object/from16 v0, p1
22954 invoke-virtual {v1, v0}, Ljava/util/ArrayList;->remove(Ljava/lang/Object;)Z
22956 invoke-virtual {p0}, Lcom/android/server/am/ActivityManagerService;->updateCpuStats()V
22958 iget-object v1, p0, Lcom/android/server/am/ActivityManagerService;->mProcDeaths:[I
22962 iget-object v4, p0, Lcom/android/server/am/ActivityManagerService;->mProcDeaths:[I
22966 iget-object v8, p0, Lcom/android/server/am/ActivityManagerService;->mProcDeaths:[I
22968 array-length v8, v8
22970 add-int/lit8 v8, v8, -0x1
22972 invoke-static {v1, v2, v4, v7, v8}, Ljava/lang/System;->arraycopy(Ljava/lang/Object;ILjava/lang/Object;II)V
22974 iget-object v1, p0, Lcom/android/server/am/ActivityManagerService;->mProcDeaths:[I
22983 move-object/from16 v0, p1
22985 iget v3, v0, Lcom/android/server/am/ProcessRecord;->uid:I
22989 move-object/from16 v0, p1
22991 iget-boolean v1, v0, Lcom/android/server/am/ProcessRecord;->isolated:Z
22993 .catch Ljava/lang/RuntimeException; {:try_start_47 .. :try_end_50} :catch_1a6
22995 if-nez v1, :cond_62
22998 iget-object v1, p0, Lcom/android/server/am/ActivityManagerService;->mContext:Landroid/content/Context;
23000 invoke-virtual {v1}, Landroid/content/Context;->getPackageManager()Landroid/content/pm/PackageManager;
23002 move-result-object v1
23004 move-object/from16 v0, p1
23006 iget-object v2, v0, Lcom/android/server/am/ProcessRecord;->info:Landroid/content/pm/ApplicationInfo;
23008 iget-object v2, v2, Landroid/content/pm/ApplicationInfo;->packageName:Ljava/lang/String;
23010 invoke-virtual {v1, v2}, Landroid/content/pm/PackageManager;->getPackageGids(Ljava/lang/String;)[I
23012 .catch Landroid/content/pm/PackageManager$NameNotFoundException; {:try_start_52 .. :try_end_61} :catch_19c
23013 .catch Ljava/lang/RuntimeException; {:try_start_52 .. :try_end_61} :catch_1a6
23015 move-result-object v5
23020 iget v1, p0, Lcom/android/server/am/ActivityManagerService;->mFactoryTest:I
23022 if-eqz v1, :cond_90
23024 iget v1, p0, Lcom/android/server/am/ActivityManagerService;->mFactoryTest:I
23028 if-ne v1, v2, :cond_80
23030 iget-object v1, p0, Lcom/android/server/am/ActivityManagerService;->mTopComponent:Landroid/content/ComponentName;
23032 if-eqz v1, :cond_80
23034 move-object/from16 v0, p1
23036 iget-object v1, v0, Lcom/android/server/am/ProcessRecord;->processName:Ljava/lang/String;
23038 iget-object v2, p0, Lcom/android/server/am/ActivityManagerService;->mTopComponent:Landroid/content/ComponentName;
23040 invoke-virtual {v2}, Landroid/content/ComponentName;->getPackageName()Ljava/lang/String;
23042 move-result-object v2
23044 invoke-virtual {v1, v2}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
23048 if-eqz v1, :cond_80
23053 iget v1, p0, Lcom/android/server/am/ActivityManagerService;->mFactoryTest:I
23057 if-ne v1, v2, :cond_90
23059 move-object/from16 v0, p1
23061 iget-object v1, v0, Lcom/android/server/am/ProcessRecord;->info:Landroid/content/pm/ApplicationInfo;
23063 iget v1, v1, Landroid/content/pm/ApplicationInfo;->flags:I
23065 and-int/lit8 v1, v1, 0x10
23067 if-eqz v1, :cond_90
23074 move-object/from16 v0, p1
23076 iget-object v1, v0, Lcom/android/server/am/ProcessRecord;->info:Landroid/content/pm/ApplicationInfo;
23078 iget v1, v1, Landroid/content/pm/ApplicationInfo;->flags:I
23080 and-int/lit8 v1, v1, 0x2
23082 if-eqz v1, :cond_9f
23084 or-int/lit8 v6, v6, 0x1
23086 or-int/lit8 v6, v6, 0x2
23089 move-object/from16 v0, p1
23091 iget-object v1, v0, Lcom/android/server/am/ProcessRecord;->info:Landroid/content/pm/ApplicationInfo;
23093 iget v1, v1, Landroid/content/pm/ApplicationInfo;->flags:I
23095 and-int/lit16 v1, v1, 0x4000
23097 if-nez v1, :cond_ae
23099 sget-boolean v1, Ldalvik/system/Zygote;->systemInSafeMode:Z
23103 if-ne v1, v2, :cond_b0
23106 or-int/lit8 v6, v6, 0x8
23109 const-string v1, "1"
23111 const-string v2, "debug.checkjni"
23113 invoke-static {v2}, Landroid/os/SystemProperties;->get(Ljava/lang/String;)Ljava/lang/String;
23115 move-result-object v2
23117 invoke-virtual {v1, v2}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
23121 if-eqz v1, :cond_c0
23123 or-int/lit8 v6, v6, 0x2
23126 const-string v1, "1"
23128 const-string v2, "debug.jni.logging"
23130 invoke-static {v2}, Landroid/os/SystemProperties;->get(Ljava/lang/String;)Ljava/lang/String;
23132 move-result-object v2
23134 invoke-virtual {v1, v2}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
23138 if-eqz v1, :cond_d0
23140 or-int/lit8 v6, v6, 0x10
23143 const-string v1, "1"
23145 const-string v2, "debug.assert"
23147 invoke-static {v2}, Landroid/os/SystemProperties;->get(Ljava/lang/String;)Ljava/lang/String;
23149 move-result-object v2
23151 invoke-virtual {v1, v2}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
23155 if-eqz v1, :cond_e0
23157 or-int/lit8 v6, v6, 0x4
23160 const-string v1, "android.app.ActivityThread"
23162 move-object/from16 v0, p1
23164 iget-object v2, v0, Lcom/android/server/am/ProcessRecord;->processName:Ljava/lang/String;
23166 move-object/from16 v0, p1
23168 iget-object v4, v0, Lcom/android/server/am/ProcessRecord;->info:Landroid/content/pm/ApplicationInfo;
23170 iget v7, v4, Landroid/content/pm/ApplicationInfo;->targetSdkVersion:I
23176 invoke-static/range {v1 .. v8}, Landroid/os/Process;->start(Ljava/lang/String;Ljava/lang/String;II[III[Ljava/lang/String;)Landroid/os/Process$ProcessStartResult;
23178 move-result-object v14
23180 move-object/from16 v0, p1
23182 iget-object v1, v0, Lcom/android/server/am/ProcessRecord;->batteryStats:Lcom/android/internal/os/BatteryStatsImpl$Uid$Proc;
23184 invoke-virtual {v1}, Lcom/android/internal/os/BatteryStatsImpl$Uid$Proc;->getBatteryStats()Lcom/android/internal/os/BatteryStatsImpl;
23186 move-result-object v9
23190 .catch Ljava/lang/RuntimeException; {:try_start_62 .. :try_end_fb} :catch_1a6
23193 invoke-virtual {v9}, Lcom/android/internal/os/BatteryStatsImpl;->isOnBattery()Z
23197 if-eqz v1, :cond_108
23199 move-object/from16 v0, p1
23201 iget-object v1, v0, Lcom/android/server/am/ProcessRecord;->batteryStats:Lcom/android/internal/os/BatteryStatsImpl$Uid$Proc;
23203 invoke-virtual {v1}, Lcom/android/internal/os/BatteryStatsImpl$Uid$Proc;->incStartsLocked()V
23208 .catchall {:try_start_fb .. :try_end_109} :catchall_1c9
23210 const/16 v2, 0x753e
23215 new-array v4, v1, [Ljava/lang/Object;
23219 iget v7, v14, Landroid/os/Process$ProcessStartResult;->pid:I
23221 invoke-static {v7}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
23223 move-result-object v7
23225 aput-object v7, v4, v1
23229 invoke-static {v3}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
23231 move-result-object v7
23233 aput-object v7, v4, v1
23237 move-object/from16 v0, p1
23239 iget-object v7, v0, Lcom/android/server/am/ProcessRecord;->processName:Ljava/lang/String;
23241 aput-object v7, v4, v1
23245 aput-object p2, v4, v1
23249 if-eqz p3, :cond_1cc
23251 move-object/from16 v1, p3
23254 aput-object v1, v4, v7
23256 invoke-static {v2, v4}, Landroid/util/EventLog;->writeEvent(I[Ljava/lang/Object;)I
23258 move-object/from16 v0, p1
23260 iget-boolean v1, v0, Lcom/android/server/am/ProcessRecord;->persistent:Z
23262 if-eqz v1, :cond_145
23264 invoke-static {}, Lcom/android/server/Watchdog;->getInstance()Lcom/android/server/Watchdog;
23266 move-result-object v1
23268 move-object/from16 v0, p1
23270 iget-object v2, v0, Lcom/android/server/am/ProcessRecord;->processName:Ljava/lang/String;
23272 iget v4, v14, Landroid/os/Process$ProcessStartResult;->pid:I
23274 invoke-virtual {v1, v2, v4}, Lcom/android/server/Watchdog;->processStarted(Ljava/lang/String;I)V
23277 iget-object v10, p0, Lcom/android/server/am/ActivityManagerService;->mStringBuilder:Ljava/lang/StringBuilder;
23281 invoke-virtual {v10, v1}, Ljava/lang/StringBuilder;->setLength(I)V
23283 const-string v1, "Start proc "
23285 invoke-virtual {v10, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
23287 move-object/from16 v0, p1
23289 iget-object v1, v0, Lcom/android/server/am/ProcessRecord;->processName:Ljava/lang/String;
23291 invoke-virtual {v10, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
23293 const-string v1, " for "
23295 invoke-virtual {v10, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
23297 move-object/from16 v0, p2
23299 invoke-virtual {v10, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
23301 if-eqz p3, :cond_16d
23303 const-string v1, " "
23305 invoke-virtual {v10, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
23307 move-object/from16 v0, p3
23309 invoke-virtual {v10, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
23312 const-string v1, ": pid="
23314 invoke-virtual {v10, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
23316 iget v1, v14, Landroid/os/Process$ProcessStartResult;->pid:I
23318 invoke-virtual {v10, v1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
23320 const-string v1, " uid="
23322 invoke-virtual {v10, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
23324 invoke-virtual {v10, v3}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
23326 const-string v1, " gids={"
23328 invoke-virtual {v10, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
23330 if-eqz v5, :cond_1d0
23335 array-length v1, v5
23337 if-ge v12, v1, :cond_1d0
23339 if-eqz v12, :cond_191
23341 const-string v1, ", "
23343 invoke-virtual {v10, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
23348 invoke-virtual {v10, v1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
23350 .catch Ljava/lang/RuntimeException; {:try_start_10c .. :try_end_196} :catch_1a6
23352 add-int/lit8 v12, v12, 0x1
23362 .catchall {:try_start_19a .. :try_end_19b} :catchall_199
23370 const-string v1, "ActivityManager"
23372 const-string v2, "Unable to retrieve gids"
23374 invoke-static {v1, v2, v11}, Landroid/util/Slog;->w(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I
23376 .catch Ljava/lang/RuntimeException; {:try_start_19d .. :try_end_1a4} :catch_1a6
23385 move-object/from16 v0, p1
23387 iput v1, v0, Lcom/android/server/am/ProcessRecord;->pid:I
23389 const-string v1, "ActivityManager"
23391 new-instance v2, Ljava/lang/StringBuilder;
23393 invoke-direct {v2}, Ljava/lang/StringBuilder;-><init>()V
23395 const-string v4, "Failure starting process "
23397 invoke-virtual {v2, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
23399 move-result-object v2
23401 move-object/from16 v0, p1
23403 iget-object v4, v0, Lcom/android/server/am/ProcessRecord;->processName:Ljava/lang/String;
23405 invoke-virtual {v2, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
23407 move-result-object v2
23409 invoke-virtual {v2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
23411 move-result-object v2
23413 invoke-static {v1, v2, v11}, Landroid/util/Slog;->e(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I
23424 .catchall {:try_start_1ca .. :try_end_1cb} :catchall_1c9
23430 const-string v1, ""
23435 const-string v1, "}"
23437 invoke-virtual {v10, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
23439 const-string v1, "ActivityManager"
23441 invoke-virtual {v10}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
23443 move-result-object v2
23445 invoke-static {v1, v2}, Landroid/util/Slog;->i(Ljava/lang/String;Ljava/lang/String;)I
23447 iget v1, v14, Landroid/os/Process$ProcessStartResult;->pid:I
23449 move-object/from16 v0, p1
23451 iput v1, v0, Lcom/android/server/am/ProcessRecord;->pid:I
23453 iget-boolean v1, v14, Landroid/os/Process$ProcessStartResult;->usingWrapper:Z
23455 move-object/from16 v0, p1
23457 iput-boolean v1, v0, Lcom/android/server/am/ProcessRecord;->usingWrapper:Z
23461 move-object/from16 v0, p1
23463 iput-boolean v1, v0, Lcom/android/server/am/ProcessRecord;->removed:Z
23465 iget-object v4, p0, Lcom/android/server/am/ActivityManagerService;->mPidsSelfLocked:Landroid/util/SparseArray;
23469 .catch Ljava/lang/RuntimeException; {:try_start_1cb .. :try_end_1f2} :catch_1a6
23472 iget-object v1, p0, Lcom/android/server/am/ActivityManagerService;->mPidsSelfLocked:Landroid/util/SparseArray;
23474 iget v2, v14, Landroid/os/Process$ProcessStartResult;->pid:I
23476 move-object/from16 v0, p1
23478 invoke-virtual {v1, v2, v0}, Landroid/util/SparseArray;->put(ILjava/lang/Object;)V
23480 iget-object v1, p0, Lcom/android/server/am/ActivityManagerService;->mHandler:Landroid/os/Handler;
23484 invoke-virtual {v1, v2}, Landroid/os/Handler;->obtainMessage(I)Landroid/os/Message;
23486 move-result-object v13
23488 move-object/from16 v0, p1
23490 iput-object v0, v13, Landroid/os/Message;->obj:Ljava/lang/Object;
23492 iget-object v7, p0, Lcom/android/server/am/ActivityManagerService;->mHandler:Landroid/os/Handler;
23494 iget-boolean v1, v14, Landroid/os/Process$ProcessStartResult;->usingWrapper:Z
23496 if-eqz v1, :cond_218
23498 const-wide/32 v1, 0x493e0
23501 invoke-virtual {v7, v13, v1, v2}, Landroid/os/Handler;->sendMessageDelayed(Landroid/os/Message;J)Z
23512 .catchall {:try_start_1f2 .. :try_end_217} :catchall_215
23517 .catch Ljava/lang/RuntimeException; {:try_start_217 .. :try_end_218} :catch_1a6
23520 const-wide/16 v1, 0x2710
23525 .method private stopProfilerLocked(Lcom/android/server/am/ProcessRecord;Ljava/lang/String;I)V
23530 iget-object v1, p0, Lcom/android/server/am/ActivityManagerService;->mProfileProc:Lcom/android/server/am/ProcessRecord;
23532 if-ne p1, v1, :cond_f
23535 iget-object p1, p0, Lcom/android/server/am/ActivityManagerService;->mProfileProc:Lcom/android/server/am/ProcessRecord;
23537 iget-object p2, p0, Lcom/android/server/am/ActivityManagerService;->mProfileFile:Ljava/lang/String;
23539 iget p3, p0, Lcom/android/server/am/ActivityManagerService;->mProfileType:I
23541 invoke-direct {p0}, Lcom/android/server/am/ActivityManagerService;->clearProfilerLocked()V
23544 if-nez p1, :cond_12
23551 iget-object v1, p1, Lcom/android/server/am/ProcessRecord;->thread:Landroid/app/IApplicationThread;
23557 invoke-interface {v1, v2, p2, v3, p3}, Landroid/app/IApplicationThread;->profilerControl(ZLjava/lang/String;Landroid/os/ParcelFileDescriptor;I)V
23559 .catch Landroid/os/RemoteException; {:try_start_12 .. :try_end_19} :catch_1a
23566 new-instance v1, Ljava/lang/IllegalStateException;
23568 const-string v2, "Process disappeared"
23570 invoke-direct {v1, v2}, Ljava/lang/IllegalStateException;-><init>(Ljava/lang/String;)V
23575 .method private stopServiceLocked(Lcom/android/server/am/ServiceRecord;)V
23580 iget-object v0, p1, Lcom/android/server/am/ServiceRecord;->stats:Lcom/android/internal/os/BatteryStatsImpl$Uid$Pkg$Serv;
23582 invoke-virtual {v0}, Lcom/android/internal/os/BatteryStatsImpl$Uid$Pkg$Serv;->getBatteryStats()Lcom/android/internal/os/BatteryStatsImpl;
23584 move-result-object v1
23589 iget-object v0, p1, Lcom/android/server/am/ServiceRecord;->stats:Lcom/android/internal/os/BatteryStatsImpl$Uid$Pkg$Serv;
23591 invoke-virtual {v0}, Lcom/android/internal/os/BatteryStatsImpl$Uid$Pkg$Serv;->stopRunningLocked()V
23595 .catchall {:try_start_8 .. :try_end_e} :catchall_16
23597 iput-boolean v2, p1, Lcom/android/server/am/ServiceRecord;->startRequested:Z
23599 iput-boolean v2, p1, Lcom/android/server/am/ServiceRecord;->callStart:Z
23601 invoke-direct {p0, p1, v2}, Lcom/android/server/am/ActivityManagerService;->bringDownServiceLocked(Lcom/android/server/am/ServiceRecord;Z)V
23611 .catchall {:try_start_17 .. :try_end_18} :catchall_16
23616 .method private taskForIdLocked(I)Lcom/android/server/am/TaskRecord;
23619 iget-object v3, p0, Lcom/android/server/am/ActivityManagerService;->mRecentTasks:Ljava/util/ArrayList;
23621 invoke-virtual {v3}, Ljava/util/ArrayList;->size()I
23628 if-ge v1, v0, :cond_19
23630 iget-object v3, p0, Lcom/android/server/am/ActivityManagerService;->mRecentTasks:Ljava/util/ArrayList;
23632 invoke-virtual {v3, v1}, Ljava/util/ArrayList;->get(I)Ljava/lang/Object;
23634 move-result-object v2
23636 check-cast v2, Lcom/android/server/am/TaskRecord;
23638 iget v3, v2, Lcom/android/server/am/TaskRecord;->taskId:I
23640 if-ne v3, p1, :cond_16
23646 add-int/lit8 v1, v1, 0x1
23656 .method private final unscheduleServiceRestartLocked(Lcom/android/server/am/ServiceRecord;)Z
23659 iget-wide v0, p1, Lcom/android/server/am/ServiceRecord;->restartDelay:J
23661 const-wide/16 v2, 0x0
23663 cmp-long v0, v0, v2
23673 invoke-virtual {p1}, Lcom/android/server/am/ServiceRecord;->resetRestartCounter()V
23675 iget-object v0, p0, Lcom/android/server/am/ActivityManagerService;->mRestartingServices:Ljava/util/ArrayList;
23677 invoke-virtual {v0, p1}, Ljava/util/ArrayList;->remove(Ljava/lang/Object;)Z
23679 iget-object v0, p0, Lcom/android/server/am/ActivityManagerService;->mHandler:Landroid/os/Handler;
23681 iget-object v1, p1, Lcom/android/server/am/ServiceRecord;->restarter:Ljava/lang/Runnable;
23683 invoke-virtual {v0, v1}, Landroid/os/Handler;->removeCallbacks(Ljava/lang/Runnable;)V
23690 .method private updateEventDispatchingLocked()V
23693 iget-object v1, p0, Lcom/android/server/am/ActivityManagerService;->mWindowManager:Lcom/android/server/wm/WindowManagerService;
23695 iget-boolean v0, p0, Lcom/android/server/am/ActivityManagerService;->mBooted:Z
23697 if-eqz v0, :cond_13
23699 iget-boolean v0, p0, Lcom/android/server/am/ActivityManagerService;->mWentToSleep:Z
23701 if-nez v0, :cond_13
23703 iget-boolean v0, p0, Lcom/android/server/am/ActivityManagerService;->mShuttingDown:Z
23705 if-nez v0, :cond_13
23710 invoke-virtual {v1, v0}, Lcom/android/server/wm/WindowManagerService;->setEventDispatching(Z)V
23720 .method private final updateLruProcessInternalLocked(Lcom/android/server/am/ProcessRecord;ZZI)V
23723 iget-object v9, p0, Lcom/android/server/am/ActivityManagerService;->mLruProcesses:Ljava/util/ArrayList;
23725 invoke-virtual {v9, p1}, Ljava/util/ArrayList;->indexOf(Ljava/lang/Object;)I
23731 iget-object v9, p0, Lcom/android/server/am/ActivityManagerService;->mLruProcesses:Ljava/util/ArrayList;
23733 invoke-virtual {v9, v6}, Ljava/util/ArrayList;->remove(I)Ljava/lang/Object;
23736 iget-object v9, p0, Lcom/android/server/am/ActivityManagerService;->mLruProcesses:Ljava/util/ArrayList;
23738 invoke-virtual {v9}, Ljava/util/ArrayList;->size()I
23742 add-int/lit8 v3, v9, -0x1
23746 iget v9, p0, Lcom/android/server/am/ActivityManagerService;->mLruSeq:I
23748 iput v9, p1, Lcom/android/server/am/ProcessRecord;->lruSeq:I
23750 if-eqz p3, :cond_22
23752 invoke-static {}, Landroid/os/SystemClock;->uptimeMillis()J
23754 move-result-wide v9
23756 iput-wide v9, p1, Lcom/android/server/am/ProcessRecord;->lastActivityTime:J
23759 iget-object v9, p1, Lcom/android/server/am/ProcessRecord;->activities:Ljava/util/ArrayList;
23761 invoke-virtual {v9}, Ljava/util/ArrayList;->size()I
23765 if-lez v9, :cond_a3
23767 iget-wide v9, p1, Lcom/android/server/am/ProcessRecord;->lastActivityTime:J
23769 iput-wide v9, p1, Lcom/android/server/am/ProcessRecord;->lruWeight:J
23772 if-ltz v3, :cond_55
23774 iget-object v9, p0, Lcom/android/server/am/ActivityManagerService;->mLruProcesses:Ljava/util/ArrayList;
23776 invoke-virtual {v9, v3}, Ljava/util/ArrayList;->get(I)Ljava/lang/Object;
23778 move-result-object v7
23780 check-cast v7, Lcom/android/server/am/ProcessRecord;
23782 if-lez v8, :cond_42
23784 iget v9, v7, Lcom/android/server/am/ProcessRecord;->setAdj:I
23786 sget v10, Lcom/android/server/am/ProcessList;->HIDDEN_APP_MIN_ADJ:I
23788 if-lt v9, v10, :cond_42
23790 add-int/lit8 v8, v8, -0x1
23793 iget-wide v9, v7, Lcom/android/server/am/ProcessRecord;->lruWeight:J
23795 iget-wide v11, p1, Lcom/android/server/am/ProcessRecord;->lruWeight:J
23797 cmp-long v9, v9, v11
23799 if-lez v9, :cond_4e
23803 if-ge v3, v0, :cond_c0
23806 iget-object v9, p0, Lcom/android/server/am/ActivityManagerService;->mLruProcesses:Ljava/util/ArrayList;
23808 add-int/lit8 v10, v3, 0x1
23810 invoke-virtual {v9, v10, p1}, Ljava/util/ArrayList;->add(ILjava/lang/Object;)V
23813 if-gez v3, :cond_5d
23815 iget-object v9, p0, Lcom/android/server/am/ActivityManagerService;->mLruProcesses:Ljava/util/ArrayList;
23819 invoke-virtual {v9, v10, p1}, Ljava/util/ArrayList;->add(ILjava/lang/Object;)V
23822 iget-object v9, p1, Lcom/android/server/am/ProcessRecord;->connections:Ljava/util/HashSet;
23824 invoke-virtual {v9}, Ljava/util/HashSet;->size()I
23828 if-lez v9, :cond_c4
23830 iget-object v9, p1, Lcom/android/server/am/ProcessRecord;->connections:Ljava/util/HashSet;
23832 invoke-virtual {v9}, Ljava/util/HashSet;->iterator()Ljava/util/Iterator;
23834 move-result-object v4
23838 invoke-interface {v4}, Ljava/util/Iterator;->hasNext()Z
23842 if-eqz v9, :cond_c4
23844 invoke-interface {v4}, Ljava/util/Iterator;->next()Ljava/lang/Object;
23846 move-result-object v2
23848 check-cast v2, Lcom/android/server/am/ConnectionRecord;
23850 iget-object v9, v2, Lcom/android/server/am/ConnectionRecord;->binding:Lcom/android/server/am/AppBindRecord;
23852 if-eqz v9, :cond_6b
23854 iget-object v9, v2, Lcom/android/server/am/ConnectionRecord;->binding:Lcom/android/server/am/AppBindRecord;
23856 iget-object v9, v9, Lcom/android/server/am/AppBindRecord;->service:Lcom/android/server/am/ServiceRecord;
23858 if-eqz v9, :cond_6b
23860 iget-object v9, v2, Lcom/android/server/am/ConnectionRecord;->binding:Lcom/android/server/am/AppBindRecord;
23862 iget-object v9, v9, Lcom/android/server/am/AppBindRecord;->service:Lcom/android/server/am/ServiceRecord;
23864 iget-object v9, v9, Lcom/android/server/am/ServiceRecord;->app:Lcom/android/server/am/ProcessRecord;
23866 if-eqz v9, :cond_6b
23868 iget-object v9, v2, Lcom/android/server/am/ConnectionRecord;->binding:Lcom/android/server/am/AppBindRecord;
23870 iget-object v9, v9, Lcom/android/server/am/AppBindRecord;->service:Lcom/android/server/am/ServiceRecord;
23872 iget-object v9, v9, Lcom/android/server/am/ServiceRecord;->app:Lcom/android/server/am/ProcessRecord;
23874 iget v9, v9, Lcom/android/server/am/ProcessRecord;->lruSeq:I
23876 iget v10, p0, Lcom/android/server/am/ActivityManagerService;->mLruSeq:I
23878 if-eq v9, v10, :cond_6b
23880 iget-object v9, v2, Lcom/android/server/am/ConnectionRecord;->binding:Lcom/android/server/am/AppBindRecord;
23882 iget-object v9, v9, Lcom/android/server/am/AppBindRecord;->service:Lcom/android/server/am/ServiceRecord;
23884 iget-object v9, v9, Lcom/android/server/am/ServiceRecord;->app:Lcom/android/server/am/ProcessRecord;
23886 add-int/lit8 v10, v3, 0x1
23890 invoke-direct {p0, v9, p2, v0, v10}, Lcom/android/server/am/ActivityManagerService;->updateLruProcessInternalLocked(Lcom/android/server/am/ProcessRecord;ZZI)V
23895 iget-object v9, p1, Lcom/android/server/am/ProcessRecord;->pubProviders:Ljava/util/HashMap;
23897 invoke-virtual {v9}, Ljava/util/HashMap;->size()I
23901 if-lez v9, :cond_b5
23903 iget-wide v9, p1, Lcom/android/server/am/ProcessRecord;->lastActivityTime:J
23905 const-wide/16 v11, 0x3a98
23907 sub-long/2addr v9, v11
23909 iput-wide v9, p1, Lcom/android/server/am/ProcessRecord;->lruWeight:J
23916 iget-wide v9, p1, Lcom/android/server/am/ProcessRecord;->lastActivityTime:J
23918 const-wide/32 v11, 0x1d4c0
23920 sub-long/2addr v9, v11
23922 iput-wide v9, p1, Lcom/android/server/am/ProcessRecord;->lruWeight:J
23929 add-int/lit8 v3, v3, -0x1
23934 iget-object v9, p1, Lcom/android/server/am/ProcessRecord;->conProviders:Ljava/util/ArrayList;
23936 invoke-virtual {v9}, Ljava/util/ArrayList;->size()I
23940 add-int/lit8 v5, v9, -0x1
23943 if-ltz v5, :cond_f0
23945 iget-object v9, p1, Lcom/android/server/am/ProcessRecord;->conProviders:Ljava/util/ArrayList;
23947 invoke-virtual {v9, v5}, Ljava/util/ArrayList;->get(I)Ljava/lang/Object;
23949 move-result-object v9
23951 check-cast v9, Lcom/android/server/am/ContentProviderConnection;
23953 iget-object v1, v9, Lcom/android/server/am/ContentProviderConnection;->provider:Lcom/android/server/am/ContentProviderRecord;
23955 iget-object v9, v1, Lcom/android/server/am/ContentProviderRecord;->proc:Lcom/android/server/am/ProcessRecord;
23957 if-eqz v9, :cond_ed
23959 iget-object v9, v1, Lcom/android/server/am/ContentProviderRecord;->proc:Lcom/android/server/am/ProcessRecord;
23961 iget v9, v9, Lcom/android/server/am/ProcessRecord;->lruSeq:I
23963 iget v10, p0, Lcom/android/server/am/ActivityManagerService;->mLruSeq:I
23965 if-eq v9, v10, :cond_ed
23967 iget-object v9, v1, Lcom/android/server/am/ContentProviderRecord;->proc:Lcom/android/server/am/ProcessRecord;
23969 add-int/lit8 v10, v3, 0x1
23973 invoke-direct {p0, v9, p2, v0, v10}, Lcom/android/server/am/ActivityManagerService;->updateLruProcessInternalLocked(Lcom/android/server/am/ProcessRecord;ZZI)V
23976 add-int/lit8 v5, v5, -0x1
23981 if-eqz p2, :cond_f5
23983 invoke-virtual {p0}, Lcom/android/server/am/ActivityManagerService;->updateOomAdjLocked()V
23989 .method private final updateOomAdjLocked(Lcom/android/server/am/ProcessRecord;)Z
23998 invoke-direct {p0}, Lcom/android/server/am/ActivityManagerService;->resumedAppLocked()Lcom/android/server/am/ActivityRecord;
24000 move-result-object v0
24002 if-eqz v0, :cond_32
24004 iget-object v1, v0, Lcom/android/server/am/ActivityRecord;->app:Lcom/android/server/am/ProcessRecord;
24007 iget v2, p1, Lcom/android/server/am/ProcessRecord;->curAdj:I
24009 sget v8, Lcom/android/server/am/ProcessList;->HIDDEN_APP_MIN_ADJ:I
24011 if-lt v2, v8, :cond_34
24013 if-gt v2, v10, :cond_34
24018 iget v8, p0, Lcom/android/server/am/ActivityManagerService;->mAdjSeq:I
24020 add-int/lit8 v8, v8, 0x1
24022 iput v8, p0, Lcom/android/server/am/ActivityManagerService;->mAdjSeq:I
24024 iget v8, p1, Lcom/android/server/am/ProcessRecord;->hiddenAdj:I
24026 invoke-direct {p0, p1, v8, v1, v7}, Lcom/android/server/am/ActivityManagerService;->updateOomAdjLocked(Lcom/android/server/am/ProcessRecord;ILcom/android/server/am/ProcessRecord;Z)Z
24030 iget v8, p1, Lcom/android/server/am/ProcessRecord;->curAdj:I
24032 sget v9, Lcom/android/server/am/ProcessList;->HIDDEN_APP_MIN_ADJ:I
24034 if-lt v8, v9, :cond_36
24036 iget v8, p1, Lcom/android/server/am/ProcessRecord;->curAdj:I
24038 if-gt v8, v10, :cond_36
24043 if-eq v3, v5, :cond_31
24045 invoke-virtual {p0}, Lcom/android/server/am/ActivityManagerService;->updateOomAdjLocked()V
24066 .method private final updateOomAdjLocked(Lcom/android/server/am/ProcessRecord;ILcom/android/server/am/ProcessRecord;Z)Z
24069 iput p2, p1, Lcom/android/server/am/ProcessRecord;->hiddenAdj:I
24071 iget-object v0, p1, Lcom/android/server/am/ProcessRecord;->thread:Landroid/app/IApplicationThread;
24082 iget-boolean v11, p1, Lcom/android/server/am/ProcessRecord;->keeping:Z
24098 invoke-direct/range {v0 .. v5}, Lcom/android/server/am/ActivityManagerService;->computeOomAdjLocked(Lcom/android/server/am/ProcessRecord;ILcom/android/server/am/ProcessRecord;ZZ)I
24100 iget v0, p1, Lcom/android/server/am/ProcessRecord;->curRawAdj:I
24102 iget v1, p1, Lcom/android/server/am/ProcessRecord;->setRawAdj:I
24104 if-eq v0, v1, :cond_41
24106 if-eqz v11, :cond_3d
24108 iget-boolean v0, p1, Lcom/android/server/am/ProcessRecord;->keeping:Z
24110 if-nez v0, :cond_3d
24112 iget-object v0, p0, Lcom/android/server/am/ActivityManagerService;->mBatteryStatsService:Lcom/android/server/am/BatteryStatsService;
24114 invoke-virtual {v0}, Lcom/android/server/am/BatteryStatsService;->getActiveStatistics()Lcom/android/internal/os/BatteryStatsImpl;
24116 move-result-object v9
24121 iget-object v0, p1, Lcom/android/server/am/ProcessRecord;->info:Landroid/content/pm/ApplicationInfo;
24123 iget v0, v0, Landroid/content/pm/ApplicationInfo;->uid:I
24125 iget v1, p1, Lcom/android/server/am/ProcessRecord;->pid:I
24127 invoke-static {}, Landroid/os/SystemClock;->elapsedRealtime()J
24129 move-result-wide v2
24131 invoke-virtual {v9, v0, v1, v2, v3}, Lcom/android/internal/os/BatteryStatsImpl;->getProcessWakeTime(IIJ)J
24133 move-result-wide v0
24135 iput-wide v0, p1, Lcom/android/server/am/ProcessRecord;->lastWakeTime:J
24139 .catchall {:try_start_28 .. :try_end_39} :catchall_be
24141 iget-wide v0, p1, Lcom/android/server/am/ProcessRecord;->curCpuTime:J
24143 iput-wide v0, p1, Lcom/android/server/am/ProcessRecord;->lastCpuTime:J
24146 iget v0, p1, Lcom/android/server/am/ProcessRecord;->curRawAdj:I
24148 iput v0, p1, Lcom/android/server/am/ProcessRecord;->setRawAdj:I
24151 iget v0, p1, Lcom/android/server/am/ProcessRecord;->curAdj:I
24153 iget v1, p1, Lcom/android/server/am/ProcessRecord;->setAdj:I
24155 if-eq v0, v1, :cond_55
24157 iget v0, p1, Lcom/android/server/am/ProcessRecord;->pid:I
24159 iget v1, p1, Lcom/android/server/am/ProcessRecord;->curAdj:I
24161 invoke-static {v0, v1}, Landroid/os/Process;->setOomAdj(II)Z
24165 if-eqz v0, :cond_c1
24167 iget v0, p1, Lcom/android/server/am/ProcessRecord;->curAdj:I
24169 iput v0, p1, Lcom/android/server/am/ProcessRecord;->setAdj:I
24173 iget v0, p1, Lcom/android/server/am/ProcessRecord;->setSchedGroup:I
24175 iget v1, p1, Lcom/android/server/am/ProcessRecord;->curSchedGroup:I
24177 if-eq v0, v1, :cond_7
24179 iget v0, p1, Lcom/android/server/am/ProcessRecord;->curSchedGroup:I
24181 iput v0, p1, Lcom/android/server/am/ProcessRecord;->setSchedGroup:I
24183 iget-object v0, p1, Lcom/android/server/am/ProcessRecord;->waitingToKill:Ljava/lang/String;
24185 if-eqz v0, :cond_e8
24187 iget v0, p1, Lcom/android/server/am/ProcessRecord;->setSchedGroup:I
24189 if-nez v0, :cond_e8
24191 const-string v0, "ActivityManager"
24193 new-instance v1, Ljava/lang/StringBuilder;
24195 invoke-direct {v1}, Ljava/lang/StringBuilder;-><init>()V
24197 const-string v2, "Killing "
24199 invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
24201 move-result-object v1
24203 invoke-virtual {p1}, Lcom/android/server/am/ProcessRecord;->toShortString()Ljava/lang/String;
24205 move-result-object v2
24207 invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
24209 move-result-object v1
24211 const-string v2, ": "
24213 invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
24215 move-result-object v1
24217 iget-object v2, p1, Lcom/android/server/am/ProcessRecord;->waitingToKill:Ljava/lang/String;
24219 invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
24221 move-result-object v1
24223 invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
24225 move-result-object v1
24227 invoke-static {v0, v1}, Landroid/util/Slog;->i(Ljava/lang/String;Ljava/lang/String;)I
24229 const/16 v0, 0x7547
24233 new-array v1, v1, [Ljava/lang/Object;
24237 iget v3, p1, Lcom/android/server/am/ProcessRecord;->pid:I
24239 invoke-static {v3}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
24241 move-result-object v3
24243 aput-object v3, v1, v2
24247 iget-object v3, p1, Lcom/android/server/am/ProcessRecord;->processName:Ljava/lang/String;
24249 aput-object v3, v1, v2
24253 iget v3, p1, Lcom/android/server/am/ProcessRecord;->setAdj:I
24255 invoke-static {v3}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
24257 move-result-object v3
24259 aput-object v3, v1, v2
24263 iget-object v3, p1, Lcom/android/server/am/ProcessRecord;->waitingToKill:Ljava/lang/String;
24265 aput-object v3, v1, v2
24267 invoke-static {v0, v1}, Landroid/util/EventLog;->writeEvent(I[Ljava/lang/Object;)I
24271 iput-boolean v0, p1, Lcom/android/server/am/ProcessRecord;->killedBackground:Z
24273 iget v0, p1, Lcom/android/server/am/ProcessRecord;->pid:I
24275 invoke-static {v0}, Landroid/os/Process;->killProcessQuiet(I)V
24287 .catchall {:try_start_bf .. :try_end_c0} :catchall_be
24294 const-string v0, "ActivityManager"
24296 new-instance v1, Ljava/lang/StringBuilder;
24298 invoke-direct {v1}, Ljava/lang/StringBuilder;-><init>()V
24300 const-string v2, "Failed setting oom adj of "
24302 invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
24304 move-result-object v1
24306 invoke-virtual {v1, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
24308 move-result-object v1
24310 const-string v2, " to "
24312 invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
24314 move-result-object v1
24316 iget v2, p1, Lcom/android/server/am/ProcessRecord;->curAdj:I
24318 invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
24320 move-result-object v1
24322 invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
24324 move-result-object v1
24326 invoke-static {v0, v1}, Landroid/util/Slog;->w(Ljava/lang/String;Ljava/lang/String;)I
24331 invoke-static {}, Landroid/os/Binder;->clearCallingIdentity()J
24333 move-result-wide v7
24336 iget v0, p1, Lcom/android/server/am/ProcessRecord;->pid:I
24338 iget v1, p1, Lcom/android/server/am/ProcessRecord;->curSchedGroup:I
24340 invoke-static {v0, v1}, Landroid/os/Process;->setProcessGroup(II)V
24342 .catchall {:try_start_ec .. :try_end_f3} :catchall_123
24343 .catch Ljava/lang/Exception; {:try_start_ec .. :try_end_f3} :catch_f8
24346 invoke-static {v7, v8}, Landroid/os/Binder;->restoreCallingIdentity(J)V
24354 const-string v0, "ActivityManager"
24356 new-instance v1, Ljava/lang/StringBuilder;
24358 invoke-direct {v1}, Ljava/lang/StringBuilder;-><init>()V
24360 const-string v2, "Failed setting process group of "
24362 invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
24364 move-result-object v1
24366 iget v2, p1, Lcom/android/server/am/ProcessRecord;->pid:I
24368 invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
24370 move-result-object v1
24372 const-string v2, " to "
24374 invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
24376 move-result-object v1
24378 iget v2, p1, Lcom/android/server/am/ProcessRecord;->curSchedGroup:I
24380 invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
24382 move-result-object v1
24384 invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
24386 move-result-object v1
24388 invoke-static {v0, v1}, Landroid/util/Slog;->w(Ljava/lang/String;Ljava/lang/String;)I
24390 invoke-virtual {v6}, Ljava/lang/Exception;->printStackTrace()V
24392 .catchall {:try_start_f9 .. :try_end_122} :catchall_123
24399 invoke-static {v7, v8}, Landroid/os/Binder;->restoreCallingIdentity(J)V
24404 .method private userExists(I)Z
24410 invoke-static {}, Landroid/app/AppGlobals;->getPackageManager()Landroid/content/pm/IPackageManager;
24412 move-result-object v2
24414 invoke-interface {v2, p1}, Landroid/content/pm/IPackageManager;->getUser(I)Landroid/content/pm/UserInfo;
24416 .catch Landroid/os/RemoteException; {:try_start_1 .. :try_end_8} :catch_d
24418 move-result-object v0
24434 .method private static writeLastDonePreBootReceivers(Ljava/util/ArrayList;)V
24436 .annotation system Ldalvik/annotation/Signature;
24439 "Ljava/util/ArrayList",
24441 "Landroid/content/ComponentName;",
24446 invoke-static {}, Lcom/android/server/am/ActivityManagerService;->getCalledPreBootReceiversFile()Ljava/io/File;
24448 move-result-object v3
24455 const-string v7, "ActivityManager"
24457 const-string v8, "Writing new set of last done pre-boot receivers..."
24459 invoke-static {v7, v8}, Landroid/util/Slog;->i(Ljava/lang/String;Ljava/lang/String;)I
24461 new-instance v5, Ljava/io/FileOutputStream;
24463 invoke-direct {v5, v3}, Ljava/io/FileOutputStream;-><init>(Ljava/io/File;)V
24465 .catchall {:try_start_6 .. :try_end_12} :catchall_81
24466 .catch Ljava/io/IOException; {:try_start_6 .. :try_end_12} :catch_68
24469 new-instance v1, Ljava/io/DataOutputStream;
24471 new-instance v7, Ljava/io/BufferedOutputStream;
24475 invoke-direct {v7, v5, v8}, Ljava/io/BufferedOutputStream;-><init>(Ljava/io/OutputStream;I)V
24477 invoke-direct {v1, v7}, Ljava/io/DataOutputStream;-><init>(Ljava/io/OutputStream;)V
24479 .catchall {:try_start_12 .. :try_end_1e} :catchall_95
24480 .catch Ljava/io/IOException; {:try_start_12 .. :try_end_1e} :catch_9c
24482 const/16 v7, 0x2710
24485 invoke-virtual {v1, v7}, Ljava/io/DataOutputStream;->writeInt(I)V
24487 sget-object v7, Landroid/os/Build$VERSION;->RELEASE:Ljava/lang/String;
24489 invoke-virtual {v1, v7}, Ljava/io/DataOutputStream;->writeUTF(Ljava/lang/String;)V
24491 sget-object v7, Landroid/os/Build$VERSION;->CODENAME:Ljava/lang/String;
24493 invoke-virtual {v1, v7}, Ljava/io/DataOutputStream;->writeUTF(Ljava/lang/String;)V
24495 sget-object v7, Landroid/os/Build$VERSION;->INCREMENTAL:Ljava/lang/String;
24497 invoke-virtual {v1, v7}, Ljava/io/DataOutputStream;->writeUTF(Ljava/lang/String;)V
24499 invoke-virtual {p0}, Ljava/util/ArrayList;->size()I
24503 invoke-virtual {v1, v7}, Ljava/io/DataOutputStream;->writeInt(I)V
24508 invoke-virtual {p0}, Ljava/util/ArrayList;->size()I
24512 if-ge v6, v7, :cond_5d
24514 invoke-virtual {p0, v6}, Ljava/util/ArrayList;->get(I)Ljava/lang/Object;
24516 move-result-object v7
24518 check-cast v7, Landroid/content/ComponentName;
24520 invoke-virtual {v7}, Landroid/content/ComponentName;->getPackageName()Ljava/lang/String;
24522 move-result-object v7
24524 invoke-virtual {v1, v7}, Ljava/io/DataOutputStream;->writeUTF(Ljava/lang/String;)V
24526 invoke-virtual {p0, v6}, Ljava/util/ArrayList;->get(I)Ljava/lang/Object;
24528 move-result-object v7
24530 check-cast v7, Landroid/content/ComponentName;
24532 invoke-virtual {v7}, Landroid/content/ComponentName;->getClassName()Ljava/lang/String;
24534 move-result-object v7
24536 invoke-virtual {v1, v7}, Ljava/io/DataOutputStream;->writeUTF(Ljava/lang/String;)V
24538 .catchall {:try_start_20 .. :try_end_5a} :catchall_98
24539 .catch Ljava/io/IOException; {:try_start_20 .. :try_end_5a} :catch_9f
24541 add-int/lit8 v6, v6, 0x1
24546 invoke-static {v5}, Landroid/os/FileUtils;->sync(Ljava/io/FileOutputStream;)Z
24548 if-eqz v1, :cond_65
24551 invoke-virtual {v1}, Ljava/io/DataOutputStream;->close()V
24553 .catch Ljava/io/IOException; {:try_start_62 .. :try_end_65} :catch_90
24570 const-string v7, "ActivityManager"
24572 const-string v8, "Failure writing last done pre-boot receivers"
24574 invoke-static {v7, v8, v2}, Landroid/util/Slog;->w(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I
24576 invoke-virtual {v3}, Ljava/io/File;->delete()Z
24578 .catchall {:try_start_69 .. :try_end_73} :catchall_81
24580 invoke-static {v4}, Landroid/os/FileUtils;->sync(Ljava/io/FileOutputStream;)Z
24582 if-eqz v0, :cond_67
24585 invoke-virtual {v0}, Ljava/io/DataOutputStream;->close()V
24587 .catch Ljava/io/IOException; {:try_start_78 .. :try_end_7b} :catch_7c
24594 invoke-virtual {v2}, Ljava/io/IOException;->printStackTrace()V
24602 invoke-static {v4}, Landroid/os/FileUtils;->sync(Ljava/io/FileOutputStream;)Z
24604 if-eqz v0, :cond_8a
24607 invoke-virtual {v0}, Ljava/io/DataOutputStream;->close()V
24609 .catch Ljava/io/IOException; {:try_start_87 .. :try_end_8a} :catch_8b
24618 invoke-virtual {v2}, Ljava/io/IOException;->printStackTrace()V
24625 invoke-virtual {v2}, Ljava/io/IOException;->printStackTrace()V
24664 .method public final activityDestroyed(Landroid/os/IBinder;)V
24667 iget-object v0, p0, Lcom/android/server/am/ActivityManagerService;->mMainStack:Lcom/android/server/am/ActivityStack;
24669 invoke-virtual {v0, p1}, Lcom/android/server/am/ActivityStack;->activityDestroyed(Landroid/os/IBinder;)V
24674 .method public final activityIdle(Landroid/os/IBinder;Landroid/content/res/Configuration;Z)V
24677 invoke-static {}, Landroid/os/Binder;->clearCallingIdentity()J
24679 move-result-wide v0
24681 iget-object v3, p0, Lcom/android/server/am/ActivityManagerService;->mMainStack:Lcom/android/server/am/ActivityStack;
24685 invoke-virtual {v3, p1, v4, p2}, Lcom/android/server/am/ActivityStack;->activityIdleInternal(Landroid/os/IBinder;ZLandroid/content/res/Configuration;)Lcom/android/server/am/ActivityRecord;
24687 move-result-object v2
24689 if-eqz p3, :cond_21
24694 iget-object v3, p0, Lcom/android/server/am/ActivityManagerService;->mProfileProc:Lcom/android/server/am/ProcessRecord;
24696 iget-object v4, v2, Lcom/android/server/am/ActivityRecord;->app:Lcom/android/server/am/ProcessRecord;
24698 if-ne v3, v4, :cond_20
24700 iget-object v3, p0, Lcom/android/server/am/ActivityManagerService;->mProfileFd:Landroid/os/ParcelFileDescriptor;
24702 .catchall {:try_start_e .. :try_end_16} :catchall_25
24704 if-eqz v3, :cond_20
24707 iget-object v3, p0, Lcom/android/server/am/ActivityManagerService;->mProfileFd:Landroid/os/ParcelFileDescriptor;
24709 invoke-virtual {v3}, Landroid/os/ParcelFileDescriptor;->close()V
24711 .catchall {:try_start_18 .. :try_end_1d} :catchall_25
24712 .catch Ljava/io/IOException; {:try_start_18 .. :try_end_1d} :catch_28
24716 invoke-direct {p0}, Lcom/android/server/am/ActivityManagerService;->clearProfilerLocked()V
24721 .catchall {:try_start_1d .. :try_end_21} :catchall_25
24724 invoke-static {v0, v1}, Landroid/os/Binder;->restoreCallingIdentity(J)V
24734 .catchall {:try_start_26 .. :try_end_27} :catchall_25
24744 .method public final activityPaused(Landroid/os/IBinder;)V
24747 invoke-static {}, Landroid/os/Binder;->clearCallingIdentity()J
24749 move-result-wide v0
24751 iget-object v2, p0, Lcom/android/server/am/ActivityManagerService;->mMainStack:Lcom/android/server/am/ActivityStack;
24755 invoke-virtual {v2, p1, v3}, Lcom/android/server/am/ActivityStack;->activityPaused(Landroid/os/IBinder;Z)V
24757 invoke-static {v0, v1}, Landroid/os/Binder;->restoreCallingIdentity(J)V
24762 .method public final activitySlept(Landroid/os/IBinder;)V
24767 invoke-static {}, Landroid/os/Binder;->clearCallingIdentity()J
24769 move-result-wide v0
24774 iget-object v3, p0, Lcom/android/server/am/ActivityManagerService;->mMainStack:Lcom/android/server/am/ActivityStack;
24776 invoke-virtual {v3, p1}, Lcom/android/server/am/ActivityStack;->isInStackLocked(Landroid/os/IBinder;)Lcom/android/server/am/ActivityRecord;
24778 move-result-object v2
24780 if-eqz v2, :cond_13
24782 iget-object v3, p0, Lcom/android/server/am/ActivityManagerService;->mMainStack:Lcom/android/server/am/ActivityStack;
24784 invoke-virtual {v3, v2}, Lcom/android/server/am/ActivityStack;->activitySleptLocked(Lcom/android/server/am/ActivityRecord;)V
24789 .catchall {:try_start_6 .. :try_end_14} :catchall_18
24791 invoke-static {v0, v1}, Landroid/os/Binder;->restoreCallingIdentity(J)V
24801 .catchall {:try_start_19 .. :try_end_1a} :catchall_18
24806 .method public final activityStopped(Landroid/os/IBinder;Landroid/os/Bundle;Landroid/graphics/Bitmap;Ljava/lang/CharSequence;)V
24811 if-eqz p2, :cond_11
24813 invoke-virtual {p2}, Landroid/os/Bundle;->hasFileDescriptors()Z
24817 if-eqz v0, :cond_11
24819 new-instance v0, Ljava/lang/IllegalArgumentException;
24821 const-string v2, "File descriptors passed in Bundle"
24823 invoke-direct {v0, v2}, Ljava/lang/IllegalArgumentException;-><init>(Ljava/lang/String;)V
24830 invoke-static {}, Landroid/os/Binder;->clearCallingIdentity()J
24832 move-result-wide v6
24837 iget-object v0, p0, Lcom/android/server/am/ActivityManagerService;->mMainStack:Lcom/android/server/am/ActivityStack;
24839 invoke-virtual {v0, p1}, Lcom/android/server/am/ActivityStack;->isInStackLocked(Landroid/os/IBinder;)Lcom/android/server/am/ActivityRecord;
24841 move-result-object v1
24843 if-eqz v1, :cond_24
24845 iget-object v0, v1, Lcom/android/server/am/ActivityRecord;->stack:Lcom/android/server/am/ActivityStack;
24847 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
24852 .catchall {:try_start_17 .. :try_end_25} :catchall_35
24854 if-eqz v1, :cond_2e
24864 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
24867 invoke-virtual {p0}, Lcom/android/server/am/ActivityManagerService;->trimApplications()V
24869 invoke-static {v6, v7}, Landroid/os/Binder;->restoreCallingIdentity(J)V
24879 .catchall {:try_start_36 .. :try_end_37} :catchall_35
24884 .method final addAppLocked(Landroid/content/pm/ApplicationInfo;Z)Lcom/android/server/am/ProcessRecord;
24891 if-nez p2, :cond_5e
24893 iget-object v2, p1, Landroid/content/pm/ApplicationInfo;->processName:Ljava/lang/String;
24895 iget v3, p1, Landroid/content/pm/ApplicationInfo;->uid:I
24897 invoke-virtual {p0, v2, v3}, Lcom/android/server/am/ActivityManagerService;->getProcessRecordLocked(Ljava/lang/String;I)Lcom/android/server/am/ProcessRecord;
24899 move-result-object v0
24902 if-nez v0, :cond_27
24904 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;
24906 move-result-object v0
24908 iget-object v2, p0, Lcom/android/server/am/ActivityManagerService;->mProcessNames:Lcom/android/server/ProcessMap;
24910 iget-object v3, p1, Landroid/content/pm/ApplicationInfo;->processName:Ljava/lang/String;
24912 iget v4, v0, Lcom/android/server/am/ProcessRecord;->uid:I
24914 invoke-virtual {v2, v3, v4, v0}, Lcom/android/server/ProcessMap;->put(Ljava/lang/String;ILjava/lang/Object;)Ljava/lang/Object;
24916 if-eqz p2, :cond_24
24918 iget-object v2, p0, Lcom/android/server/am/ActivityManagerService;->mIsolatedProcesses:Landroid/util/SparseArray;
24920 iget v3, v0, Lcom/android/server/am/ProcessRecord;->uid:I
24922 invoke-virtual {v2, v3, v0}, Landroid/util/SparseArray;->put(ILjava/lang/Object;)V
24925 invoke-virtual {p0, v0, v6, v6}, Lcom/android/server/am/ActivityManagerService;->updateLruProcessLocked(Lcom/android/server/am/ProcessRecord;ZZ)V
24929 invoke-static {}, Landroid/app/AppGlobals;->getPackageManager()Landroid/content/pm/IPackageManager;
24931 move-result-object v2
24933 iget-object v3, p1, Landroid/content/pm/ApplicationInfo;->packageName:Ljava/lang/String;
24937 iget v5, v0, Lcom/android/server/am/ProcessRecord;->uid:I
24939 invoke-static {v5}, Landroid/os/UserId;->getUserId(I)I
24943 invoke-interface {v2, v3, v4, v5}, Landroid/content/pm/IPackageManager;->setPackageStoppedState(Ljava/lang/String;ZI)V
24945 .catch Landroid/os/RemoteException; {:try_start_27 .. :try_end_37} :catch_86
24946 .catch Ljava/lang/IllegalArgumentException; {:try_start_27 .. :try_end_37} :catch_60
24949 iget v2, p1, Landroid/content/pm/ApplicationInfo;->flags:I
24951 and-int/lit8 v2, v2, 0x9
24955 if-ne v2, v3, :cond_45
24957 iput-boolean v6, v0, Lcom/android/server/am/ProcessRecord;->persistent:Z
24961 iput v2, v0, Lcom/android/server/am/ProcessRecord;->maxAdj:I
24964 iget-object v2, v0, Lcom/android/server/am/ProcessRecord;->thread:Landroid/app/IApplicationThread;
24966 if-nez v2, :cond_5d
24968 iget-object v2, p0, Lcom/android/server/am/ActivityManagerService;->mPersistentStartingProcesses:Ljava/util/ArrayList;
24970 invoke-virtual {v2, v0}, Ljava/util/ArrayList;->indexOf(Ljava/lang/Object;)I
24974 if-gez v2, :cond_5d
24976 iget-object v2, p0, Lcom/android/server/am/ActivityManagerService;->mPersistentStartingProcesses:Ljava/util/ArrayList;
24978 invoke-virtual {v2, v0}, Ljava/util/ArrayList;->add(Ljava/lang/Object;)Z
24980 const-string v2, "added application"
24982 iget-object v3, v0, Lcom/android/server/am/ProcessRecord;->processName:Ljava/lang/String;
24984 invoke-direct {p0, v0, v2, v3}, Lcom/android/server/am/ActivityManagerService;->startProcessLocked(Lcom/android/server/am/ProcessRecord;Ljava/lang/String;Ljava/lang/String;)V
24997 const-string v2, "ActivityManager"
24999 new-instance v3, Ljava/lang/StringBuilder;
25001 invoke-direct {v3}, Ljava/lang/StringBuilder;-><init>()V
25003 const-string v4, "Failed trying to unstop package "
25005 invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
25007 move-result-object v3
25009 iget-object v4, p1, Landroid/content/pm/ApplicationInfo;->packageName:Ljava/lang/String;
25011 invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
25013 move-result-object v3
25015 const-string v4, ": "
25017 invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
25019 move-result-object v3
25021 invoke-virtual {v3, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
25023 move-result-object v3
25025 invoke-virtual {v3}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
25027 move-result-object v3
25029 invoke-static {v2, v3}, Landroid/util/Slog;->w(Ljava/lang/String;Ljava/lang/String;)I
25039 .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
25042 new-instance v1, Ljava/lang/StringBuilder;
25044 invoke-direct {v1}, Ljava/lang/StringBuilder;-><init>()V
25046 invoke-static {p2}, Lcom/android/server/am/ActivityManagerService;->processClass(Lcom/android/server/am/ProcessRecord;)Ljava/lang/String;
25048 move-result-object v2
25050 invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
25052 move-result-object v1
25054 const-string v2, "_"
25056 invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
25058 move-result-object v1
25060 invoke-virtual {v1, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
25062 move-result-object v1
25064 invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
25066 move-result-object v7
25068 iget-object v1, p0, Lcom/android/server/am/ActivityManagerService;->mContext:Landroid/content/Context;
25070 const-string v2, "dropbox"
25072 invoke-virtual {v1, v2}, Landroid/content/Context;->getSystemService(Ljava/lang/String;)Ljava/lang/Object;
25074 move-result-object v8
25076 check-cast v8, Landroid/os/DropBoxManager;
25078 if-eqz v8, :cond_2d
25080 invoke-virtual {v8, v7}, Landroid/os/DropBoxManager;->isTagEnabled(Ljava/lang/String;)Z
25084 if-nez v1, :cond_2e
25091 new-instance v4, Ljava/lang/StringBuilder;
25095 invoke-direct {v4, v1}, Ljava/lang/StringBuilder;-><init>(I)V
25097 invoke-direct {p0, p2, p3, v4}, Lcom/android/server/am/ActivityManagerService;->appendDropBoxProcessHeaders(Lcom/android/server/am/ProcessRecord;Ljava/lang/String;Ljava/lang/StringBuilder;)V
25099 if-eqz p4, :cond_4b
25101 const-string v1, "Activity: "
25103 invoke-virtual {v4, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
25105 move-result-object v1
25107 iget-object v2, p4, Lcom/android/server/am/ActivityRecord;->shortComponentName:Ljava/lang/String;
25109 invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
25111 move-result-object v1
25113 const-string v2, "\n"
25115 invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
25118 if-eqz p5, :cond_6c
25120 iget-object v1, p5, Lcom/android/server/am/ActivityRecord;->app:Lcom/android/server/am/ProcessRecord;
25122 if-eqz v1, :cond_6c
25124 iget-object v1, p5, Lcom/android/server/am/ActivityRecord;->app:Lcom/android/server/am/ProcessRecord;
25126 iget v1, v1, Lcom/android/server/am/ProcessRecord;->pid:I
25128 iget v2, p2, Lcom/android/server/am/ProcessRecord;->pid:I
25130 if-eq v1, v2, :cond_6c
25132 const-string v1, "Parent-Process: "
25134 invoke-virtual {v4, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
25136 move-result-object v1
25138 iget-object v2, p5, Lcom/android/server/am/ActivityRecord;->app:Lcom/android/server/am/ProcessRecord;
25140 iget-object v2, v2, Lcom/android/server/am/ProcessRecord;->processName:Ljava/lang/String;
25142 invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
25144 move-result-object v1
25146 const-string v2, "\n"
25148 invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
25151 if-eqz p5, :cond_81
25153 if-eq p5, p4, :cond_81
25155 const-string v1, "Parent-Activity: "
25157 invoke-virtual {v4, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
25159 move-result-object v1
25161 iget-object v2, p5, Lcom/android/server/am/ActivityRecord;->shortComponentName:Ljava/lang/String;
25163 invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
25165 move-result-object v1
25167 const-string v2, "\n"
25169 invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
25172 if-eqz p6, :cond_92
25174 const-string v1, "Subject: "
25176 invoke-virtual {v4, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
25178 move-result-object v1
25180 invoke-virtual {v1, p6}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
25182 move-result-object v1
25184 const-string v2, "\n"
25186 invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
25189 const-string v1, "Build: "
25191 invoke-virtual {v4, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
25193 move-result-object v1
25195 sget-object v2, Landroid/os/Build;->FINGERPRINT:Ljava/lang/String;
25197 invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
25199 move-result-object v1
25201 const-string v2, "\n"
25203 invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
25205 invoke-static {}, Landroid/os/Debug;->isDebuggerConnected()Z
25209 if-eqz v1, :cond_ae
25211 const-string v1, "Debugger: Connected\n"
25213 invoke-virtual {v4, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
25216 const-string v1, "\n"
25218 invoke-virtual {v4, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
25220 new-instance v0, Lcom/android/server/am/ActivityManagerService$13;
25222 new-instance v1, Ljava/lang/StringBuilder;
25224 invoke-direct {v1}, Ljava/lang/StringBuilder;-><init>()V
25226 const-string v2, "Error dump: "
25228 invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
25230 move-result-object v1
25232 invoke-virtual {v1, v7}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
25234 move-result-object v1
25236 invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
25238 move-result-object v2
25242 move-object/from16 v3, p7
25244 move-object/from16 v5, p8
25246 move-object/from16 v6, p9
25248 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
25250 if-nez p2, :cond_d9
25252 invoke-virtual {v0}, Ljava/lang/Thread;->run()V
25257 invoke-virtual {v0}, Ljava/lang/Thread;->start()V
25262 .method final addProcessToGcListLocked(Lcom/android/server/am/ProcessRecord;)V
25267 iget-object v2, p0, Lcom/android/server/am/ActivityManagerService;->mProcessesToGc:Ljava/util/ArrayList;
25269 invoke-virtual {v2}, Ljava/util/ArrayList;->size()I
25273 add-int/lit8 v1, v2, -0x1
25276 if-ltz v1, :cond_23
25278 iget-object v2, p0, Lcom/android/server/am/ActivityManagerService;->mProcessesToGc:Ljava/util/ArrayList;
25280 invoke-virtual {v2, v1}, Ljava/util/ArrayList;->get(I)Ljava/lang/Object;
25282 move-result-object v2
25284 check-cast v2, Lcom/android/server/am/ProcessRecord;
25286 iget-wide v2, v2, Lcom/android/server/am/ProcessRecord;->lastRequestedGc:J
25288 iget-wide v4, p1, Lcom/android/server/am/ProcessRecord;->lastRequestedGc:J
25290 cmp-long v2, v2, v4
25292 if-gez v2, :cond_2c
25296 iget-object v2, p0, Lcom/android/server/am/ActivityManagerService;->mProcessesToGc:Ljava/util/ArrayList;
25298 add-int/lit8 v3, v1, 0x1
25300 invoke-virtual {v2, v3, p1}, Ljava/util/ArrayList;->add(ILjava/lang/Object;)V
25303 if-nez v0, :cond_2b
25305 iget-object v2, p0, Lcom/android/server/am/ActivityManagerService;->mProcessesToGc:Ljava/util/ArrayList;
25309 invoke-virtual {v2, v3, p1}, Ljava/util/ArrayList;->add(ILjava/lang/Object;)V
25315 add-int/lit8 v1, v1, -0x1
25320 .method final addRecentTaskLocked(Lcom/android/server/am/TaskRecord;)V
25325 iget-object v3, p0, Lcom/android/server/am/ActivityManagerService;->mRecentTasks:Ljava/util/ArrayList;
25327 invoke-virtual {v3}, Ljava/util/ArrayList;->size()I
25331 if-lez v0, :cond_12
25333 iget-object v3, p0, Lcom/android/server/am/ActivityManagerService;->mRecentTasks:Ljava/util/ArrayList;
25335 invoke-virtual {v3, v5}, Ljava/util/ArrayList;->get(I)Ljava/lang/Object;
25337 move-result-object v3
25339 if-ne v3, p1, :cond_12
25348 if-ge v1, v0, :cond_50
25350 iget-object v3, p0, Lcom/android/server/am/ActivityManagerService;->mRecentTasks:Ljava/util/ArrayList;
25352 invoke-virtual {v3, v1}, Ljava/util/ArrayList;->get(I)Ljava/lang/Object;
25354 move-result-object v2
25356 check-cast v2, Lcom/android/server/am/TaskRecord;
25358 iget v3, p1, Lcom/android/server/am/TaskRecord;->userId:I
25360 iget v4, v2, Lcom/android/server/am/TaskRecord;->userId:I
25362 if-ne v3, v4, :cond_4d
25364 iget-object v3, p1, Lcom/android/server/am/TaskRecord;->affinity:Ljava/lang/String;
25366 if-eqz v3, :cond_31
25368 iget-object v3, p1, Lcom/android/server/am/TaskRecord;->affinity:Ljava/lang/String;
25370 iget-object v4, v2, Lcom/android/server/am/TaskRecord;->affinity:Ljava/lang/String;
25372 invoke-virtual {v3, v4}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
25376 if-nez v3, :cond_3f
25379 iget-object v3, p1, Lcom/android/server/am/TaskRecord;->intent:Landroid/content/Intent;
25381 if-eqz v3, :cond_4d
25383 iget-object v3, p1, Lcom/android/server/am/TaskRecord;->intent:Landroid/content/Intent;
25385 iget-object v4, v2, Lcom/android/server/am/TaskRecord;->intent:Landroid/content/Intent;
25387 invoke-virtual {v3, v4}, Landroid/content/Intent;->filterEquals(Landroid/content/Intent;)Z
25391 if-eqz v3, :cond_4d
25394 iget-object v3, p0, Lcom/android/server/am/ActivityManagerService;->mRecentTasks:Ljava/util/ArrayList;
25396 invoke-virtual {v3, v1}, Ljava/util/ArrayList;->remove(I)Ljava/lang/Object;
25398 add-int/lit8 v1, v1, -0x1
25400 add-int/lit8 v0, v0, -0x1
25402 iget-object v3, p1, Lcom/android/server/am/TaskRecord;->intent:Landroid/content/Intent;
25404 if-nez v3, :cond_4d
25409 add-int/lit8 v1, v1, 0x1
25416 if-lt v0, v3, :cond_5b
25418 iget-object v3, p0, Lcom/android/server/am/ActivityManagerService;->mRecentTasks:Ljava/util/ArrayList;
25420 add-int/lit8 v4, v0, -0x1
25422 invoke-virtual {v3, v4}, Ljava/util/ArrayList;->remove(I)Ljava/lang/Object;
25425 iget-object v3, p0, Lcom/android/server/am/ActivityManagerService;->mRecentTasks:Ljava/util/ArrayList;
25427 invoke-virtual {v3, v5, p1}, Ljava/util/ArrayList;->add(ILjava/lang/Object;)V
25432 .method final appDiedLocked(Lcom/android/server/am/ProcessRecord;ILandroid/app/IApplicationThread;)V
25435 iget-object v7, p0, Lcom/android/server/am/ActivityManagerService;->mProcDeaths:[I
25441 add-int/lit8 v9, v9, 0x1
25445 iget-object v7, p0, Lcom/android/server/am/ActivityManagerService;->mBatteryStatsService:Lcom/android/server/am/BatteryStatsService;
25447 invoke-virtual {v7}, Lcom/android/server/am/BatteryStatsService;->getActiveStatistics()Lcom/android/internal/os/BatteryStatsImpl;
25449 move-result-object v6
25454 iget-object v7, p1, Lcom/android/server/am/ProcessRecord;->info:Landroid/content/pm/ApplicationInfo;
25456 iget v7, v7, Landroid/content/pm/ApplicationInfo;->uid:I
25458 invoke-virtual {v6, v7, p2}, Lcom/android/internal/os/BatteryStatsImpl;->noteProcessDiedLocked(II)V
25462 .catchall {:try_start_10 .. :try_end_18} :catchall_e6
25464 iget v7, p1, Lcom/android/server/am/ProcessRecord;->pid:I
25466 if-ne v7, p2, :cond_fe
25468 iget-object v7, p1, Lcom/android/server/am/ProcessRecord;->thread:Landroid/app/IApplicationThread;
25470 if-eqz v7, :cond_fe
25472 iget-object v7, p1, Lcom/android/server/am/ProcessRecord;->thread:Landroid/app/IApplicationThread;
25474 invoke-interface {v7}, Landroid/app/IApplicationThread;->asBinder()Landroid/os/IBinder;
25476 move-result-object v7
25478 invoke-interface {p3}, Landroid/app/IApplicationThread;->asBinder()Landroid/os/IBinder;
25480 move-result-object v8
25482 if-ne v7, v8, :cond_fe
25484 iget-boolean v7, p1, Lcom/android/server/am/ProcessRecord;->killedBackground:Z
25486 if-nez v7, :cond_5a
25488 const-string v7, "ActivityManager"
25490 new-instance v8, Ljava/lang/StringBuilder;
25492 invoke-direct {v8}, Ljava/lang/StringBuilder;-><init>()V
25494 const-string v9, "Process "
25496 invoke-virtual {v8, v9}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
25498 move-result-object v8
25500 iget-object v9, p1, Lcom/android/server/am/ProcessRecord;->processName:Ljava/lang/String;
25502 invoke-virtual {v8, v9}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
25504 move-result-object v8
25506 const-string v9, " (pid "
25508 invoke-virtual {v8, v9}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
25510 move-result-object v8
25512 invoke-virtual {v8, p2}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
25514 move-result-object v8
25516 const-string v9, ") has died."
25518 invoke-virtual {v8, v9}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
25520 move-result-object v8
25522 invoke-virtual {v8}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
25524 move-result-object v8
25526 invoke-static {v7, v8}, Landroid/util/Slog;->i(Ljava/lang/String;Ljava/lang/String;)I
25529 const/16 v7, 0x753b
25533 new-array v8, v8, [Ljava/lang/Object;
25537 iget v10, p1, Lcom/android/server/am/ProcessRecord;->pid:I
25539 invoke-static {v10}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
25541 move-result-object v10
25543 aput-object v10, v8, v9
25547 iget-object v10, p1, Lcom/android/server/am/ProcessRecord;->processName:Ljava/lang/String;
25549 aput-object v10, v8, v9
25551 invoke-static {v7, v8}, Landroid/util/EventLog;->writeEvent(I[Ljava/lang/Object;)I
25553 iget-object v7, p1, Lcom/android/server/am/ProcessRecord;->instrumentationClass:Landroid/content/ComponentName;
25555 if-nez v7, :cond_e9
25564 invoke-direct {p0, p1, v7, v8}, Lcom/android/server/am/ActivityManagerService;->handleAppDiedLocked(Lcom/android/server/am/ProcessRecord;ZZ)V
25566 if-eqz v0, :cond_fd
25570 iget-object v7, p0, Lcom/android/server/am/ActivityManagerService;->mLruProcesses:Ljava/util/ArrayList;
25572 invoke-virtual {v7}, Ljava/util/ArrayList;->size()I
25576 add-int/lit8 v2, v7, -0x1
25579 if-ltz v2, :cond_9a
25581 iget-object v7, p0, Lcom/android/server/am/ActivityManagerService;->mLruProcesses:Ljava/util/ArrayList;
25583 invoke-virtual {v7, v2}, Ljava/util/ArrayList;->get(I)Ljava/lang/Object;
25585 move-result-object v5
25587 check-cast v5, Lcom/android/server/am/ProcessRecord;
25589 iget-object v7, v5, Lcom/android/server/am/ProcessRecord;->thread:Landroid/app/IApplicationThread;
25591 if-eqz v7, :cond_eb
25593 iget v7, v5, Lcom/android/server/am/ProcessRecord;->setAdj:I
25595 sget v8, Lcom/android/server/am/ProcessList;->HIDDEN_APP_MIN_ADJ:I
25597 if-lt v7, v8, :cond_eb
25602 if-nez v1, :cond_fd
25604 const/16 v7, 0x7541
25606 iget-object v8, p0, Lcom/android/server/am/ActivityManagerService;->mLruProcesses:Ljava/util/ArrayList;
25608 invoke-virtual {v8}, Ljava/util/ArrayList;->size()I
25612 invoke-static {v7, v8}, Landroid/util/EventLog;->writeEvent(II)I
25614 invoke-static {}, Landroid/os/SystemClock;->uptimeMillis()J
25616 move-result-wide v3
25618 iget-object v7, p0, Lcom/android/server/am/ActivityManagerService;->mLruProcesses:Ljava/util/ArrayList;
25620 invoke-virtual {v7}, Ljava/util/ArrayList;->size()I
25624 add-int/lit8 v2, v7, -0x1
25627 if-ltz v2, :cond_f3
25629 iget-object v7, p0, Lcom/android/server/am/ActivityManagerService;->mLruProcesses:Ljava/util/ArrayList;
25631 invoke-virtual {v7, v2}, Ljava/util/ArrayList;->get(I)Ljava/lang/Object;
25633 move-result-object v5
25635 check-cast v5, Lcom/android/server/am/ProcessRecord;
25637 if-eq v5, p1, :cond_e3
25639 iget-object v7, v5, Lcom/android/server/am/ProcessRecord;->thread:Landroid/app/IApplicationThread;
25641 if-eqz v7, :cond_e3
25643 iget-wide v7, v5, Lcom/android/server/am/ProcessRecord;->lastLowMemory:J
25645 const-wide/32 v9, 0xea60
25647 add-long/2addr v7, v9
25649 cmp-long v7, v7, v3
25651 if-gtz v7, :cond_e3
25653 iget v7, v5, Lcom/android/server/am/ProcessRecord;->setAdj:I
25657 if-gt v7, v8, :cond_ee
25659 const-wide/16 v7, 0x0
25661 iput-wide v7, v5, Lcom/android/server/am/ProcessRecord;->lastRequestedGc:J
25666 iput-boolean v7, v5, Lcom/android/server/am/ProcessRecord;->reportLowMemory:Z
25668 iput-wide v3, v5, Lcom/android/server/am/ProcessRecord;->lastLowMemory:J
25670 iget-object v7, p0, Lcom/android/server/am/ActivityManagerService;->mProcessesToGc:Ljava/util/ArrayList;
25672 invoke-virtual {v7, v5}, Ljava/util/ArrayList;->remove(Ljava/lang/Object;)Z
25674 invoke-virtual {p0, v5}, Lcom/android/server/am/ActivityManagerService;->addProcessToGcListLocked(Lcom/android/server/am/ProcessRecord;)V
25677 add-int/lit8 v2, v2, -0x1
25687 .catchall {:try_start_e7 .. :try_end_e8} :catchall_e6
25697 add-int/lit8 v2, v2, -0x1
25702 iget-wide v7, v5, Lcom/android/server/am/ProcessRecord;->lastLowMemory:J
25704 iput-wide v7, v5, Lcom/android/server/am/ProcessRecord;->lastRequestedGc:J
25709 iget-object v7, p0, Lcom/android/server/am/ActivityManagerService;->mHandler:Landroid/os/Handler;
25713 invoke-virtual {v7, v8}, Landroid/os/Handler;->sendEmptyMessage(I)Z
25715 invoke-virtual {p0}, Lcom/android/server/am/ActivityManagerService;->scheduleAppGcsLocked()V
25722 iget v7, p1, Lcom/android/server/am/ProcessRecord;->pid:I
25724 if-eq v7, p2, :cond_fd
25726 const-string v7, "ActivityManager"
25728 new-instance v8, Ljava/lang/StringBuilder;
25730 invoke-direct {v8}, Ljava/lang/StringBuilder;-><init>()V
25732 const-string v9, "Process "
25734 invoke-virtual {v8, v9}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
25736 move-result-object v8
25738 iget-object v9, p1, Lcom/android/server/am/ProcessRecord;->processName:Ljava/lang/String;
25740 invoke-virtual {v8, v9}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
25742 move-result-object v8
25744 const-string v9, " (pid "
25746 invoke-virtual {v8, v9}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
25748 move-result-object v8
25750 invoke-virtual {v8, p2}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
25752 move-result-object v8
25754 const-string v9, ") has died and restarted (pid "
25756 invoke-virtual {v8, v9}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
25758 move-result-object v8
25760 iget v9, p1, Lcom/android/server/am/ProcessRecord;->pid:I
25762 invoke-virtual {v8, v9}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
25764 move-result-object v8
25766 const-string v9, ")."
25768 invoke-virtual {v8, v9}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
25770 move-result-object v8
25772 invoke-virtual {v8}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
25774 move-result-object v8
25776 invoke-static {v7, v8}, Landroid/util/Slog;->i(Ljava/lang/String;Ljava/lang/String;)I
25778 const/16 v7, 0x753b
25782 new-array v8, v8, [Ljava/lang/Object;
25786 iget v10, p1, Lcom/android/server/am/ProcessRecord;->pid:I
25788 invoke-static {v10}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
25790 move-result-object v10
25792 aput-object v10, v8, v9
25796 iget-object v10, p1, Lcom/android/server/am/ProcessRecord;->processName:Ljava/lang/String;
25798 aput-object v10, v8, v9
25800 invoke-static {v7, v8}, Landroid/util/EventLog;->writeEvent(I[Ljava/lang/Object;)I
25805 .method final appNotResponding(Lcom/android/server/am/ProcessRecord;Lcom/android/server/am/ActivityRecord;Lcom/android/server/am/ActivityRecord;Ljava/lang/String;)V
25808 new-instance v15, Ljava/util/ArrayList;
25812 invoke-direct {v15, v2}, Ljava/util/ArrayList;-><init>(I)V
25814 new-instance v18, Landroid/util/SparseArray;
25818 move-object/from16 v0, v18
25820 invoke-direct {v0, v2}, Landroid/util/SparseArray;-><init>(I)V
25822 move-object/from16 v0, p0
25824 iget-object v2, v0, Lcom/android/server/am/ActivityManagerService;->mController:Landroid/app/IActivityController;
25826 if-eqz v2, :cond_38
25829 move-object/from16 v0, p0
25831 iget-object v2, v0, Lcom/android/server/am/ActivityManagerService;->mController:Landroid/app/IActivityController;
25833 move-object/from16 v0, p1
25835 iget-object v3, v0, Lcom/android/server/am/ProcessRecord;->processName:Ljava/lang/String;
25837 move-object/from16 v0, p1
25839 iget v4, v0, Lcom/android/server/am/ProcessRecord;->pid:I
25841 move-object/from16 v0, p4
25843 invoke-interface {v2, v3, v4, v0}, Landroid/app/IActivityController;->appEarlyNotResponding(Ljava/lang/String;ILjava/lang/String;)I
25847 if-gez v25, :cond_38
25849 move-object/from16 v0, p1
25851 iget v2, v0, Lcom/android/server/am/ProcessRecord;->pid:I
25853 sget v3, Lcom/android/server/am/ActivityManagerService;->MY_PID:I
25855 if-eq v2, v3, :cond_38
25857 move-object/from16 v0, p1
25859 iget v2, v0, Lcom/android/server/am/ProcessRecord;->pid:I
25861 invoke-static {v2}, Landroid/os/Process;->killProcess(I)V
25863 .catch Landroid/os/RemoteException; {:try_start_15 .. :try_end_38} :catch_6e
25867 invoke-static {}, Landroid/os/SystemClock;->uptimeMillis()J
25869 move-result-wide v12
25871 invoke-virtual/range {p0 .. p0}, Lcom/android/server/am/ActivityManagerService;->updateCpuStatsNow()V
25876 move-object/from16 v0, p0
25878 iget-boolean v2, v0, Lcom/android/server/am/ActivityManagerService;->mShuttingDown:Z
25880 if-eqz v2, :cond_75
25882 const-string v2, "ActivityManager"
25884 new-instance v3, Ljava/lang/StringBuilder;
25886 invoke-direct {v3}, Ljava/lang/StringBuilder;-><init>()V
25888 const-string v4, "During shutdown skipping ANR: "
25890 invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
25892 move-result-object v3
25894 move-object/from16 v0, p1
25896 invoke-virtual {v3, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
25898 move-result-object v3
25900 const-string v4, " "
25902 invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
25904 move-result-object v3
25906 move-object/from16 v0, p4
25908 invoke-virtual {v3, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
25910 move-result-object v3
25912 invoke-virtual {v3}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
25914 move-result-object v3
25916 invoke-static {v2, v3}, Landroid/util/Slog;->i(Ljava/lang/String;Ljava/lang/String;)I
25920 .catchall {:try_start_40 .. :try_end_6d} :catchall_a3
25931 move-object/from16 v0, p0
25933 iput-object v2, v0, Lcom/android/server/am/ActivityManagerService;->mController:Landroid/app/IActivityController;
25939 move-object/from16 v0, p1
25941 iget-boolean v2, v0, Lcom/android/server/am/ProcessRecord;->notResponding:Z
25943 if-eqz v2, :cond_a6
25945 const-string v2, "ActivityManager"
25947 new-instance v3, Ljava/lang/StringBuilder;
25949 invoke-direct {v3}, Ljava/lang/StringBuilder;-><init>()V
25951 const-string v4, "Skipping duplicate ANR: "
25953 invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
25955 move-result-object v3
25957 move-object/from16 v0, p1
25959 invoke-virtual {v3, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
25961 move-result-object v3
25963 const-string v4, " "
25965 invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
25967 move-result-object v3
25969 move-object/from16 v0, p4
25971 invoke-virtual {v3, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
25973 move-result-object v3
25975 invoke-virtual {v3}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
25977 move-result-object v3
25979 invoke-static {v2, v3}, Landroid/util/Slog;->i(Ljava/lang/String;Ljava/lang/String;)I
25990 .catchall {:try_start_75 .. :try_end_a5} :catchall_a3
25996 move-object/from16 v0, p1
25998 iget-boolean v2, v0, Lcom/android/server/am/ProcessRecord;->crashing:Z
26000 if-eqz v2, :cond_d4
26002 const-string v2, "ActivityManager"
26004 new-instance v3, Ljava/lang/StringBuilder;
26006 invoke-direct {v3}, Ljava/lang/StringBuilder;-><init>()V
26008 const-string v4, "Crashing app skipping ANR: "
26010 invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
26012 move-result-object v3
26014 move-object/from16 v0, p1
26016 invoke-virtual {v3, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
26018 move-result-object v3
26020 const-string v4, " "
26022 invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
26024 move-result-object v3
26026 move-object/from16 v0, p4
26028 invoke-virtual {v3, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
26030 move-result-object v3
26032 invoke-virtual {v3}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
26034 move-result-object v3
26036 invoke-static {v2, v3}, Landroid/util/Slog;->i(Ljava/lang/String;Ljava/lang/String;)I
26045 move-object/from16 v0, p1
26047 iput-boolean v2, v0, Lcom/android/server/am/ProcessRecord;->notResponding:Z
26049 const/16 v2, 0x7538
26053 new-array v3, v3, [Ljava/lang/Object;
26057 move-object/from16 v0, p1
26059 iget v5, v0, Lcom/android/server/am/ProcessRecord;->pid:I
26061 invoke-static {v5}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
26063 move-result-object v5
26065 aput-object v5, v3, v4
26069 move-object/from16 v0, p1
26071 iget-object v5, v0, Lcom/android/server/am/ProcessRecord;->processName:Ljava/lang/String;
26073 aput-object v5, v3, v4
26077 move-object/from16 v0, p1
26079 iget-object v5, v0, Lcom/android/server/am/ProcessRecord;->info:Landroid/content/pm/ApplicationInfo;
26081 iget v5, v5, Landroid/content/pm/ApplicationInfo;->flags:I
26083 invoke-static {v5}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
26085 move-result-object v5
26087 aput-object v5, v3, v4
26091 aput-object p4, v3, v4
26093 invoke-static {v2, v3}, Landroid/util/EventLog;->writeEvent(I[Ljava/lang/Object;)I
26095 move-object/from16 v0, p1
26097 iget v2, v0, Lcom/android/server/am/ProcessRecord;->pid:I
26099 invoke-static {v2}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
26101 move-result-object v2
26103 invoke-virtual {v15, v2}, Ljava/util/ArrayList;->add(Ljava/lang/Object;)Z
26105 move-object/from16 v0, p1
26107 iget v0, v0, Lcom/android/server/am/ProcessRecord;->pid:I
26109 move/from16 v21, v0
26111 if-eqz p3, :cond_12c
26113 move-object/from16 v0, p3
26115 iget-object v2, v0, Lcom/android/server/am/ActivityRecord;->app:Lcom/android/server/am/ProcessRecord;
26117 if-eqz v2, :cond_12c
26119 move-object/from16 v0, p3
26121 iget-object v2, v0, Lcom/android/server/am/ActivityRecord;->app:Lcom/android/server/am/ProcessRecord;
26123 iget v2, v2, Lcom/android/server/am/ProcessRecord;->pid:I
26125 if-lez v2, :cond_12c
26127 move-object/from16 v0, p3
26129 iget-object v2, v0, Lcom/android/server/am/ActivityRecord;->app:Lcom/android/server/am/ProcessRecord;
26131 iget v0, v2, Lcom/android/server/am/ProcessRecord;->pid:I
26133 move/from16 v21, v0
26136 move-object/from16 v0, p1
26138 iget v2, v0, Lcom/android/server/am/ProcessRecord;->pid:I
26140 move/from16 v0, v21
26142 if-eq v0, v2, :cond_13b
26144 invoke-static/range {v21 .. v21}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
26146 move-result-object v2
26148 invoke-virtual {v15, v2}, Ljava/util/ArrayList;->add(Ljava/lang/Object;)Z
26151 sget v2, Lcom/android/server/am/ActivityManagerService;->MY_PID:I
26153 move-object/from16 v0, p1
26155 iget v3, v0, Lcom/android/server/am/ProcessRecord;->pid:I
26157 if-eq v2, v3, :cond_152
26159 sget v2, Lcom/android/server/am/ActivityManagerService;->MY_PID:I
26161 move/from16 v0, v21
26163 if-eq v2, v0, :cond_152
26165 sget v2, Lcom/android/server/am/ActivityManagerService;->MY_PID:I
26167 invoke-static {v2}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
26169 move-result-object v2
26171 invoke-virtual {v15, v2}, Ljava/util/ArrayList;->add(Ljava/lang/Object;)Z
26174 move-object/from16 v0, p0
26176 iget-object v2, v0, Lcom/android/server/am/ActivityManagerService;->mLruProcesses:Ljava/util/ArrayList;
26178 invoke-virtual {v2}, Ljava/util/ArrayList;->size()I
26182 add-int/lit8 v16, v2, -0x1
26185 if-ltz v16, :cond_1a8
26187 move-object/from16 v0, p0
26189 iget-object v2, v0, Lcom/android/server/am/ActivityManagerService;->mLruProcesses:Ljava/util/ArrayList;
26191 move/from16 v0, v16
26193 invoke-virtual {v2, v0}, Ljava/util/ArrayList;->get(I)Ljava/lang/Object;
26195 move-result-object v24
26197 check-cast v24, Lcom/android/server/am/ProcessRecord;
26199 if-eqz v24, :cond_19b
26201 move-object/from16 v0, v24
26203 iget-object v2, v0, Lcom/android/server/am/ProcessRecord;->thread:Landroid/app/IApplicationThread;
26205 if-eqz v2, :cond_19b
26207 move-object/from16 v0, v24
26209 iget v0, v0, Lcom/android/server/am/ProcessRecord;->pid:I
26211 move/from16 v22, v0
26213 if-lez v22, :cond_19b
26215 move-object/from16 v0, p1
26217 iget v2, v0, Lcom/android/server/am/ProcessRecord;->pid:I
26219 move/from16 v0, v22
26221 if-eq v0, v2, :cond_19b
26223 move/from16 v0, v22
26225 move/from16 v1, v21
26227 if-eq v0, v1, :cond_19b
26229 sget v2, Lcom/android/server/am/ActivityManagerService;->MY_PID:I
26231 move/from16 v0, v22
26233 if-eq v0, v2, :cond_19b
26235 move-object/from16 v0, v24
26237 iget-boolean v2, v0, Lcom/android/server/am/ProcessRecord;->persistent:Z
26239 if-eqz v2, :cond_19e
26241 invoke-static/range {v22 .. v22}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
26243 move-result-object v2
26245 invoke-virtual {v15, v2}, Ljava/util/ArrayList;->add(Ljava/lang/Object;)Z
26249 add-int/lit8 v16, v16, -0x1
26254 sget-object v2, Ljava/lang/Boolean;->TRUE:Ljava/lang/Boolean;
26256 move-object/from16 v0, v18
26258 move/from16 v1, v22
26260 invoke-virtual {v0, v1, v2}, Landroid/util/SparseArray;->put(ILjava/lang/Object;)V
26267 .catchall {:try_start_a6 .. :try_end_1a9} :catchall_a3
26269 new-instance v17, Ljava/lang/StringBuilder;
26271 invoke-direct/range {v17 .. v17}, Ljava/lang/StringBuilder;-><init>()V
26275 move-object/from16 v0, v17
26277 invoke-virtual {v0, v2}, Ljava/lang/StringBuilder;->setLength(I)V
26279 const-string v2, "ANR in "
26281 move-object/from16 v0, v17
26283 invoke-virtual {v0, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
26285 move-result-object v2
26287 move-object/from16 v0, p1
26289 iget-object v3, v0, Lcom/android/server/am/ProcessRecord;->processName:Ljava/lang/String;
26291 invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
26293 if-eqz p2, :cond_1e0
26295 move-object/from16 v0, p2
26297 iget-object v2, v0, Lcom/android/server/am/ActivityRecord;->shortComponentName:Ljava/lang/String;
26299 if-eqz v2, :cond_1e0
26301 const-string v2, " ("
26303 move-object/from16 v0, v17
26305 invoke-virtual {v0, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
26307 move-result-object v2
26309 move-object/from16 v0, p2
26311 iget-object v3, v0, Lcom/android/server/am/ActivityRecord;->shortComponentName:Ljava/lang/String;
26313 invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
26315 move-result-object v2
26317 const-string v3, ")"
26319 invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
26322 const-string v2, "\n"
26324 move-object/from16 v0, v17
26326 invoke-virtual {v0, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
26328 if-eqz p4, :cond_1fc
26330 const-string v2, "Reason: "
26332 move-object/from16 v0, v17
26334 invoke-virtual {v0, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
26336 move-result-object v2
26338 move-object/from16 v0, p4
26340 invoke-virtual {v2, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
26342 move-result-object v2
26344 const-string v3, "\n"
26346 invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
26349 if-eqz p3, :cond_219
26351 move-object/from16 v0, p3
26353 move-object/from16 v1, p2
26355 if-eq v0, v1, :cond_219
26357 const-string v2, "Parent: "
26359 move-object/from16 v0, v17
26361 invoke-virtual {v0, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
26363 move-result-object v2
26365 move-object/from16 v0, p3
26367 iget-object v3, v0, Lcom/android/server/am/ActivityRecord;->shortComponentName:Ljava/lang/String;
26369 invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
26371 move-result-object v2
26373 const-string v3, "\n"
26375 invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
26378 new-instance v23, Lcom/android/internal/os/ProcessStats;
26382 move-object/from16 v0, v23
26384 invoke-direct {v0, v2}, Lcom/android/internal/os/ProcessStats;-><init>(Z)V
26390 move-object/from16 v0, v23
26392 move-object/from16 v1, v18
26394 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;
26396 move-result-object v10
26400 invoke-virtual/range {p0 .. p0}, Lcom/android/server/am/ActivityManagerService;->updateCpuStatsNow()V
26402 move-object/from16 v0, p0
26404 iget-object v3, v0, Lcom/android/server/am/ActivityManagerService;->mProcessStatsThread:Ljava/lang/Thread;
26409 move-object/from16 v0, p0
26411 iget-object v2, v0, Lcom/android/server/am/ActivityManagerService;->mProcessStats:Lcom/android/internal/os/ProcessStats;
26413 invoke-virtual {v2, v12, v13}, Lcom/android/internal/os/ProcessStats;->printCurrentState(J)Ljava/lang/String;
26415 move-result-object v9
26419 .catchall {:try_start_234 .. :try_end_23d} :catchall_32d
26421 invoke-virtual/range {v23 .. v23}, Lcom/android/internal/os/ProcessStats;->printCurrentLoad()Ljava/lang/String;
26423 move-result-object v2
26425 move-object/from16 v0, v17
26427 invoke-virtual {v0, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
26429 move-object/from16 v0, v17
26431 invoke-virtual {v0, v9}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
26433 move-object/from16 v0, v23
26435 invoke-virtual {v0, v12, v13}, Lcom/android/internal/os/ProcessStats;->printCurrentState(J)Ljava/lang/String;
26437 move-result-object v2
26439 move-object/from16 v0, v17
26441 invoke-virtual {v0, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
26443 const-string v2, "ActivityManager"
26445 invoke-virtual/range {v17 .. v17}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
26447 move-result-object v3
26449 invoke-static {v2, v3}, Landroid/util/Slog;->e(Ljava/lang/String;Ljava/lang/String;)I
26451 if-nez v10, :cond_269
26453 move-object/from16 v0, p1
26455 iget v2, v0, Lcom/android/server/am/ProcessRecord;->pid:I
26459 invoke-static {v2, v3}, Landroid/os/Process;->sendSignal(II)V
26462 const-string v3, "anr"
26464 move-object/from16 v0, p1
26466 iget-object v5, v0, Lcom/android/server/am/ProcessRecord;->processName:Ljava/lang/String;
26470 move-object/from16 v2, p0
26472 move-object/from16 v4, p1
26474 move-object/from16 v6, p2
26476 move-object/from16 v7, p3
26478 move-object/from16 v8, p4
26480 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
26482 move-object/from16 v0, p0
26484 iget-object v2, v0, Lcom/android/server/am/ActivityManagerService;->mController:Landroid/app/IActivityController;
26486 if-eqz v2, :cond_2b2
26489 move-object/from16 v0, p0
26491 iget-object v2, v0, Lcom/android/server/am/ActivityManagerService;->mController:Landroid/app/IActivityController;
26493 move-object/from16 v0, p1
26495 iget-object v3, v0, Lcom/android/server/am/ProcessRecord;->processName:Ljava/lang/String;
26497 move-object/from16 v0, p1
26499 iget v4, v0, Lcom/android/server/am/ProcessRecord;->pid:I
26501 invoke-virtual/range {v17 .. v17}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
26503 move-result-object v5
26505 invoke-interface {v2, v3, v4, v5}, Landroid/app/IActivityController;->appNotResponding(Ljava/lang/String;ILjava/lang/String;)I
26509 if-eqz v25, :cond_2b2
26511 if-gez v25, :cond_6d
26513 move-object/from16 v0, p1
26515 iget v2, v0, Lcom/android/server/am/ProcessRecord;->pid:I
26517 sget v3, Lcom/android/server/am/ActivityManagerService;->MY_PID:I
26519 if-eq v2, v3, :cond_6d
26521 move-object/from16 v0, p1
26523 iget v2, v0, Lcom/android/server/am/ProcessRecord;->pid:I
26525 invoke-static {v2}, Landroid/os/Process;->killProcess(I)V
26527 .catch Landroid/os/RemoteException; {:try_start_283 .. :try_end_2aa} :catch_2ac
26536 move-object/from16 v0, p0
26538 iput-object v2, v0, Lcom/android/server/am/ActivityManagerService;->mController:Landroid/app/IActivityController;
26541 move-object/from16 v0, p0
26543 iget-object v2, v0, Lcom/android/server/am/ActivityManagerService;->mContext:Landroid/content/Context;
26545 invoke-virtual {v2}, Landroid/content/Context;->getContentResolver()Landroid/content/ContentResolver;
26547 move-result-object v2
26549 const-string v3, "anr_show_background"
26553 invoke-static {v2, v3, v4}, Landroid/provider/Settings$Secure;->getInt(Landroid/content/ContentResolver;Ljava/lang/String;I)I
26557 if-eqz v2, :cond_330
26564 if-nez v26, :cond_333
26567 invoke-virtual/range {p1 .. p1}, Lcom/android/server/am/ProcessRecord;->isInterestingToUserLocked()Z
26571 if-nez v2, :cond_333
26573 move-object/from16 v0, p1
26575 iget v2, v0, Lcom/android/server/am/ProcessRecord;->pid:I
26577 sget v3, Lcom/android/server/am/ActivityManagerService;->MY_PID:I
26579 if-eq v2, v3, :cond_333
26581 const-string v2, "ActivityManager"
26583 new-instance v3, Ljava/lang/StringBuilder;
26585 invoke-direct {v3}, Ljava/lang/StringBuilder;-><init>()V
26587 const-string v4, "Killing "
26589 invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
26591 move-result-object v3
26593 move-object/from16 v0, p1
26595 invoke-virtual {v3, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
26597 move-result-object v3
26599 const-string v4, ": background ANR"
26601 invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
26603 move-result-object v3
26605 invoke-virtual {v3}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
26607 move-result-object v3
26609 invoke-static {v2, v3}, Landroid/util/Slog;->w(Ljava/lang/String;Ljava/lang/String;)I
26611 const/16 v2, 0x7547
26615 new-array v3, v3, [Ljava/lang/Object;
26619 move-object/from16 v0, p1
26621 iget v5, v0, Lcom/android/server/am/ProcessRecord;->pid:I
26623 invoke-static {v5}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
26625 move-result-object v5
26627 aput-object v5, v3, v4
26631 move-object/from16 v0, p1
26633 iget-object v5, v0, Lcom/android/server/am/ProcessRecord;->processName:Ljava/lang/String;
26635 aput-object v5, v3, v4
26639 move-object/from16 v0, p1
26641 iget v5, v0, Lcom/android/server/am/ProcessRecord;->setAdj:I
26643 invoke-static {v5}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
26645 move-result-object v5
26647 aput-object v5, v3, v4
26651 const-string v5, "background ANR"
26653 aput-object v5, v3, v4
26655 invoke-static {v2, v3}, Landroid/util/EventLog;->writeEvent(I[Ljava/lang/Object;)I
26657 move-object/from16 v0, p1
26659 iget v2, v0, Lcom/android/server/am/ProcessRecord;->pid:I
26661 invoke-static {v2}, Landroid/os/Process;->killProcessQuiet(I)V
26672 .catchall {:try_start_2c8 .. :try_end_32c} :catchall_32a
26682 .catchall {:try_start_32e .. :try_end_32f} :catchall_32d
26692 if-eqz p2, :cond_390
26695 move-object/from16 v0, p2
26697 iget-object v2, v0, Lcom/android/server/am/ActivityRecord;->shortComponentName:Ljava/lang/String;
26702 if-eqz p4, :cond_393
26704 new-instance v2, Ljava/lang/StringBuilder;
26706 invoke-direct {v2}, Ljava/lang/StringBuilder;-><init>()V
26708 const-string v4, "ANR "
26710 invoke-virtual {v2, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
26712 move-result-object v2
26714 move-object/from16 v0, p4
26716 invoke-virtual {v2, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
26718 move-result-object v2
26720 invoke-virtual {v2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
26722 move-result-object v2
26725 invoke-virtual/range {v17 .. v17}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
26727 move-result-object v4
26729 move-object/from16 v0, p0
26731 move-object/from16 v1, p1
26733 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
26735 invoke-static {}, Landroid/os/Message;->obtain()Landroid/os/Message;
26737 move-result-object v20
26739 new-instance v19, Ljava/util/HashMap;
26741 invoke-direct/range {v19 .. v19}, Ljava/util/HashMap;-><init>()V
26745 move-object/from16 v0, v20
26747 iput v2, v0, Landroid/os/Message;->what:I
26749 move-object/from16 v0, v19
26751 move-object/from16 v1, v20
26753 iput-object v0, v1, Landroid/os/Message;->obj:Ljava/lang/Object;
26755 const-string v2, "app"
26757 move-object/from16 v0, v19
26759 move-object/from16 v1, p1
26761 invoke-virtual {v0, v2, v1}, Ljava/util/HashMap;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
26763 if-eqz p2, :cond_384
26765 const-string v2, "activity"
26767 move-object/from16 v0, v19
26769 move-object/from16 v1, p2
26771 invoke-virtual {v0, v2, v1}, Ljava/util/HashMap;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
26774 move-object/from16 v0, p0
26776 iget-object v2, v0, Lcom/android/server/am/ActivityManagerService;->mHandler:Landroid/os/Handler;
26778 move-object/from16 v0, v20
26780 invoke-virtual {v2, v0}, Landroid/os/Handler;->sendMessage(Landroid/os/Message;)Z
26794 const-string v2, "ANR"
26796 .catchall {:try_start_335 .. :try_end_395} :catchall_32a
26801 .method public final attachApplication(Landroid/app/IApplicationThread;)V
26807 invoke-static {}, Landroid/os/Binder;->getCallingPid()I
26811 invoke-static {}, Landroid/os/Binder;->clearCallingIdentity()J
26813 move-result-wide v1
26815 invoke-direct {p0, p1, v0}, Lcom/android/server/am/ActivityManagerService;->attachApplicationLocked(Landroid/app/IApplicationThread;I)Z
26817 invoke-static {v1, v2}, Landroid/os/Binder;->restoreCallingIdentity(J)V
26828 .catchall {:try_start_1 .. :try_end_13} :catchall_11
26833 .method public backupAgentCreated(Ljava/lang/String;Landroid/os/IBinder;)V
26839 iget-object v4, p0, Lcom/android/server/am/ActivityManagerService;->mBackupAppName:Ljava/lang/String;
26841 invoke-virtual {p1, v4}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
26845 if-nez v4, :cond_29
26847 const-string v4, "ActivityManager"
26849 new-instance v5, Ljava/lang/StringBuilder;
26851 invoke-direct {v5}, Ljava/lang/StringBuilder;-><init>()V
26853 const-string v6, "Backup agent created for "
26855 invoke-virtual {v5, v6}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
26857 move-result-object v5
26859 invoke-virtual {v5, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
26861 move-result-object v5
26863 const-string v6, " but not requested!"
26865 invoke-virtual {v5, v6}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
26867 move-result-object v5
26869 invoke-virtual {v5}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
26871 move-result-object v5
26873 invoke-static {v4, v5}, Landroid/util/Slog;->e(Ljava/lang/String;Ljava/lang/String;)I
26883 .catchall {:try_start_1 .. :try_end_2a} :catchall_3f
26885 invoke-static {}, Landroid/os/Binder;->clearCallingIdentity()J
26887 move-result-wide v2
26890 const-string v4, "backup"
26892 invoke-static {v4}, Landroid/os/ServiceManager;->getService(Ljava/lang/String;)Landroid/os/IBinder;
26894 move-result-object v4
26896 invoke-static {v4}, Landroid/app/backup/IBackupManager$Stub;->asInterface(Landroid/os/IBinder;)Landroid/app/backup/IBackupManager;
26898 move-result-object v0
26900 invoke-interface {v0, p1, p2}, Landroid/app/backup/IBackupManager;->agentConnected(Ljava/lang/String;Landroid/os/IBinder;)V
26902 .catchall {:try_start_2e .. :try_end_3b} :catchall_4e
26903 .catch Landroid/os/RemoteException; {:try_start_2e .. :try_end_3b} :catch_53
26904 .catch Ljava/lang/Exception; {:try_start_2e .. :try_end_3b} :catch_42
26907 invoke-static {v2, v3}, Landroid/os/Binder;->restoreCallingIdentity(J)V
26917 .catchall {:try_start_40 .. :try_end_41} :catchall_3f
26925 const-string v4, "ActivityManager"
26927 const-string v5, "Exception trying to deliver BackupAgent binding: "
26929 invoke-static {v4, v5}, Landroid/util/Slog;->w(Ljava/lang/String;Ljava/lang/String;)I
26931 invoke-virtual {v1}, Ljava/lang/Exception;->printStackTrace()V
26933 .catchall {:try_start_43 .. :try_end_4d} :catchall_4e
26940 invoke-static {v2, v3}, Landroid/os/Binder;->restoreCallingIdentity(J)V
26950 .method public batteryNeedsCpuUpdate()V
26953 invoke-virtual {p0}, Lcom/android/server/am/ActivityManagerService;->updateCpuStatsNow()V
26958 .method public batteryPowerChanged(Z)V
26961 invoke-virtual {p0}, Lcom/android/server/am/ActivityManagerService;->updateCpuStatsNow()V
26966 iget-object v1, p0, Lcom/android/server/am/ActivityManagerService;->mPidsSelfLocked:Landroid/util/SparseArray;
26970 .catchall {:try_start_4 .. :try_end_7} :catchall_f
26973 iput-boolean p1, p0, Lcom/android/server/am/ActivityManagerService;->mOnBattery:Z
26977 .catchall {:try_start_7 .. :try_end_a} :catchall_c
26982 .catchall {:try_start_a .. :try_end_b} :catchall_f
26992 .catchall {:try_start_d .. :try_end_e} :catchall_c
27002 .catchall {:try_start_e .. :try_end_11} :catchall_f
27007 .method public bindBackupAgent(Landroid/content/pm/ApplicationInfo;I)Z
27010 const-string v2, "android.permission.BACKUP"
27012 const-string v3, "startBackupAgent"
27014 move-object/from16 v0, p0
27016 invoke-virtual {v0, v2, v3}, Lcom/android/server/am/ActivityManagerService;->enforceCallingPermission(Ljava/lang/String;Ljava/lang/String;)V
27023 move-object/from16 v0, p0
27025 iget-object v2, v0, Lcom/android/server/am/ActivityManagerService;->mBatteryStatsService:Lcom/android/server/am/BatteryStatsService;
27027 invoke-virtual {v2}, Lcom/android/server/am/BatteryStatsService;->getActiveStatistics()Lcom/android/internal/os/BatteryStatsImpl;
27029 move-result-object v15
27033 .catchall {:try_start_b .. :try_end_14} :catchall_83
27036 move-object/from16 v0, p1
27038 iget v2, v0, Landroid/content/pm/ApplicationInfo;->uid:I
27040 move-object/from16 v0, p1
27042 iget-object v3, v0, Landroid/content/pm/ApplicationInfo;->packageName:Ljava/lang/String;
27044 move-object/from16 v0, p1
27046 iget-object v4, v0, Landroid/content/pm/ApplicationInfo;->name:Ljava/lang/String;
27048 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;
27050 move-result-object v14
27054 .catchall {:try_start_14 .. :try_end_25} :catchall_80
27057 invoke-static {}, Landroid/app/AppGlobals;->getPackageManager()Landroid/content/pm/IPackageManager;
27059 move-result-object v2
27061 move-object/from16 v0, p1
27063 iget-object v3, v0, Landroid/content/pm/ApplicationInfo;->packageName:Ljava/lang/String;
27067 move-object/from16 v0, p1
27069 iget v5, v0, Landroid/content/pm/ApplicationInfo;->uid:I
27071 invoke-static {v5}, Landroid/os/UserId;->getUserId(I)I
27075 invoke-interface {v2, v3, v4, v5}, Landroid/content/pm/IPackageManager;->setPackageStoppedState(Ljava/lang/String;ZI)V
27077 .catchall {:try_start_25 .. :try_end_39} :catchall_83
27078 .catch Landroid/os/RemoteException; {:try_start_25 .. :try_end_39} :catch_e1
27079 .catch Ljava/lang/IllegalArgumentException; {:try_start_25 .. :try_end_39} :catch_86
27083 new-instance v13, Lcom/android/server/am/BackupRecord;
27085 move-object/from16 v0, p1
27089 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
27091 if-nez p2, :cond_ae
27093 new-instance v8, Landroid/content/ComponentName;
27095 move-object/from16 v0, p1
27097 iget-object v2, v0, Landroid/content/pm/ApplicationInfo;->packageName:Ljava/lang/String;
27099 move-object/from16 v0, p1
27101 iget-object v3, v0, Landroid/content/pm/ApplicationInfo;->backupAgentName:Ljava/lang/String;
27103 invoke-direct {v8, v2, v3}, Landroid/content/ComponentName;-><init>(Ljava/lang/String;Ljava/lang/String;)V
27106 move-object/from16 v0, p1
27108 iget-object v3, v0, Landroid/content/pm/ApplicationInfo;->processName:Ljava/lang/String;
27114 const-string v7, "backup"
27120 move-object/from16 v2, p0
27122 move-object/from16 v4, p1
27124 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;
27126 move-result-object v12
27128 if-nez v12, :cond_b8
27130 const-string v2, "ActivityManager"
27132 new-instance v3, Ljava/lang/StringBuilder;
27134 invoke-direct {v3}, Ljava/lang/StringBuilder;-><init>()V
27136 const-string v4, "Unable to start backup agent process "
27138 invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
27140 move-result-object v3
27142 invoke-virtual {v3, v13}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
27144 move-result-object v3
27146 invoke-virtual {v3}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
27148 move-result-object v3
27150 invoke-static {v2, v3}, Landroid/util/Slog;->e(Ljava/lang/String;Ljava/lang/String;)I
27156 .catchall {:try_start_39 .. :try_end_7f} :catchall_83
27167 .catchall {:try_start_81 .. :try_end_82} :catchall_80
27177 .catchall {:try_start_82 .. :try_end_85} :catchall_83
27185 const-string v2, "ActivityManager"
27187 new-instance v3, Ljava/lang/StringBuilder;
27189 invoke-direct {v3}, Ljava/lang/StringBuilder;-><init>()V
27191 const-string v4, "Failed trying to unstop package "
27193 invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
27195 move-result-object v3
27197 move-object/from16 v0, p1
27199 iget-object v4, v0, Landroid/content/pm/ApplicationInfo;->packageName:Ljava/lang/String;
27201 invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
27203 move-result-object v3
27205 const-string v4, ": "
27207 invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
27209 move-result-object v3
27211 invoke-virtual {v3, v11}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
27213 move-result-object v3
27215 invoke-virtual {v3}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
27217 move-result-object v3
27219 invoke-static {v2, v3}, Landroid/util/Slog;->w(Ljava/lang/String;Ljava/lang/String;)I
27224 new-instance v8, Landroid/content/ComponentName;
27226 const-string v2, "android"
27228 const-string v3, "FullBackupAgent"
27230 invoke-direct {v8, v2, v3}, Landroid/content/ComponentName;-><init>(Ljava/lang/String;Ljava/lang/String;)V
27235 iput-object v12, v13, Lcom/android/server/am/BackupRecord;->app:Lcom/android/server/am/ProcessRecord;
27237 move-object/from16 v0, p0
27239 iput-object v13, v0, Lcom/android/server/am/ActivityManagerService;->mBackupTarget:Lcom/android/server/am/BackupRecord;
27241 move-object/from16 v0, p1
27243 iget-object v2, v0, Landroid/content/pm/ApplicationInfo;->packageName:Ljava/lang/String;
27245 move-object/from16 v0, p0
27247 iput-object v2, v0, Lcom/android/server/am/ActivityManagerService;->mBackupAppName:Ljava/lang/String;
27249 move-object/from16 v0, p0
27251 invoke-direct {v0, v12}, Lcom/android/server/am/ActivityManagerService;->updateOomAdjLocked(Lcom/android/server/am/ProcessRecord;)Z
27253 iget-object v2, v12, Lcom/android/server/am/ProcessRecord;->thread:Landroid/app/IApplicationThread;
27255 .catchall {:try_start_87 .. :try_end_cd} :catchall_83
27257 if-eqz v2, :cond_dc
27260 iget-object v2, v12, Lcom/android/server/am/ProcessRecord;->thread:Landroid/app/IApplicationThread;
27262 invoke-virtual/range {p0 .. p1}, Lcom/android/server/am/ActivityManagerService;->compatibilityInfoForPackageLocked(Landroid/content/pm/ApplicationInfo;)Landroid/content/res/CompatibilityInfo;
27264 move-result-object v3
27266 move-object/from16 v0, p1
27270 invoke-interface {v2, v0, v3, v1}, Landroid/app/IApplicationThread;->scheduleCreateBackupAgent(Landroid/content/pm/ApplicationInfo;Landroid/content/res/CompatibilityInfo;I)V
27272 .catchall {:try_start_cf .. :try_end_dc} :catchall_83
27273 .catch Landroid/os/RemoteException; {:try_start_cf .. :try_end_dc} :catch_df
27280 .catchall {:try_start_dc .. :try_end_dd} :catchall_83
27297 .method public bindService(Landroid/app/IApplicationThread;Landroid/os/IBinder;Landroid/content/Intent;Ljava/lang/String;Landroid/app/IServiceConnection;II)I
27300 const-string v4, "bindService"
27302 move-object/from16 v0, p0
27304 invoke-virtual {v0, v4}, Lcom/android/server/am/ActivityManagerService;->enforceNotIsolatedCaller(Ljava/lang/String;)V
27306 if-eqz p3, :cond_18
27308 invoke-virtual/range {p3 .. p3}, Landroid/content/Intent;->hasFileDescriptors()Z
27314 if-ne v4, v5, :cond_18
27316 new-instance v4, Ljava/lang/IllegalArgumentException;
27318 const-string v5, "File descriptors passed in Intent"
27320 invoke-direct {v4, v5}, Ljava/lang/IllegalArgumentException;-><init>(Ljava/lang/String;)V
27325 invoke-static {}, Landroid/os/Binder;->getCallingUid()I
27329 move-object/from16 v0, p0
27333 invoke-direct {v0, v4, v1}, Lcom/android/server/am/ActivityManagerService;->checkValidCaller(II)V
27338 invoke-virtual/range {p0 .. p1}, Lcom/android/server/am/ActivityManagerService;->getRecordForAppLocked(Landroid/app/IApplicationThread;)Lcom/android/server/am/ProcessRecord;
27340 move-result-object v11
27342 if-nez v11, :cond_62
27344 new-instance v4, Ljava/lang/SecurityException;
27346 new-instance v5, Ljava/lang/StringBuilder;
27348 invoke-direct {v5}, Ljava/lang/StringBuilder;-><init>()V
27350 const-string v6, "Unable to find app for caller "
27352 invoke-virtual {v5, v6}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
27354 move-result-object v5
27356 move-object/from16 v0, p1
27358 invoke-virtual {v5, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
27360 move-result-object v5
27362 const-string v6, " (pid="
27364 invoke-virtual {v5, v6}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
27366 move-result-object v5
27368 invoke-static {}, Landroid/os/Binder;->getCallingPid()I
27372 invoke-virtual {v5, v6}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
27374 move-result-object v5
27376 const-string v6, ") when binding service "
27378 invoke-virtual {v5, v6}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
27380 move-result-object v5
27382 move-object/from16 v0, p3
27384 invoke-virtual {v5, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
27386 move-result-object v5
27388 invoke-virtual {v5}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
27390 move-result-object v5
27392 invoke-direct {v4, v5}, Ljava/lang/SecurityException;-><init>(Ljava/lang/String;)V
27401 .catchall {:try_start_24 .. :try_end_61} :catchall_5f
27408 if-eqz p2, :cond_8e
27411 move-object/from16 v0, p0
27413 iget-object v4, v0, Lcom/android/server/am/ActivityManagerService;->mMainStack:Lcom/android/server/am/ActivityStack;
27415 move-object/from16 v0, p2
27417 invoke-virtual {v4, v0}, Lcom/android/server/am/ActivityStack;->isInStackLocked(Landroid/os/IBinder;)Lcom/android/server/am/ActivityRecord;
27419 move-result-object v9
27421 if-nez v9, :cond_8e
27423 const-string v4, "ActivityManager"
27425 new-instance v5, Ljava/lang/StringBuilder;
27427 invoke-direct {v5}, Ljava/lang/StringBuilder;-><init>()V
27429 const-string v6, "Binding with unknown activity: "
27431 invoke-virtual {v5, v6}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
27433 move-result-object v5
27435 move-object/from16 v0, p2
27437 invoke-virtual {v5, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
27439 move-result-object v5
27441 invoke-virtual {v5}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
27443 move-result-object v5
27445 invoke-static {v4, v5}, Landroid/util/Slog;->w(Ljava/lang/String;Ljava/lang/String;)I
27459 iget-object v4, v11, Lcom/android/server/am/ProcessRecord;->info:Landroid/content/pm/ApplicationInfo;
27461 iget v4, v4, Landroid/content/pm/ApplicationInfo;->uid:I
27463 .catchall {:try_start_65 .. :try_end_94} :catchall_5f
27467 if-ne v4, v5, :cond_b5
27470 const-string v4, "android.intent.extra.client_intent"
27472 move-object/from16 v0, p3
27474 invoke-virtual {v0, v4}, Landroid/content/Intent;->getParcelableExtra(Ljava/lang/String;)Landroid/os/Parcelable;
27476 move-result-object v4
27480 check-cast v0, Landroid/app/PendingIntent;
27484 .catchall {:try_start_98 .. :try_end_a4} :catchall_5f
27485 .catch Ljava/lang/RuntimeException; {:try_start_98 .. :try_end_a4} :catch_248
27488 if-eqz v8, :cond_b5
27491 const-string v4, "android.intent.extra.client_label"
27495 move-object/from16 v0, p3
27497 invoke-virtual {v0, v4, v5}, Landroid/content/Intent;->getIntExtra(Ljava/lang/String;I)I
27501 if-eqz v12, :cond_b5
27503 invoke-virtual/range {p3 .. p3}, Landroid/content/Intent;->cloneFilter()Landroid/content/Intent;
27505 move-result-object p3
27508 invoke-static {}, Landroid/os/Binder;->getCallingPid()I
27512 invoke-static {}, Landroid/os/Binder;->getCallingUid()I
27516 move-object/from16 v2, p0
27518 move-object/from16 v3, p3
27520 move-object/from16 v4, p4
27524 invoke-direct/range {v2 .. v7}, Lcom/android/server/am/ActivityManagerService;->retrieveServiceLocked(Landroid/content/Intent;Ljava/lang/String;III)Lcom/android/server/am/ActivityManagerService$ServiceLookupResult;
27526 move-result-object v17
27528 if-nez v17, :cond_ce
27537 move-object/from16 v0, v17
27539 iget-object v4, v0, Lcom/android/server/am/ActivityManagerService$ServiceLookupResult;->record:Lcom/android/server/am/ServiceRecord;
27541 if-nez v4, :cond_d7
27550 move-object/from16 v0, v17
27552 iget-object v4, v0, Lcom/android/server/am/ActivityManagerService$ServiceLookupResult;->record:Lcom/android/server/am/ServiceRecord;
27554 iget-object v4, v4, Lcom/android/server/am/ServiceRecord;->processName:Ljava/lang/String;
27556 move-object/from16 v0, v17
27558 iget-object v5, v0, Lcom/android/server/am/ActivityManagerService$ServiceLookupResult;->record:Lcom/android/server/am/ServiceRecord;
27560 iget-object v5, v5, Lcom/android/server/am/ServiceRecord;->appInfo:Landroid/content/pm/ApplicationInfo;
27562 move-object/from16 v0, p0
27564 invoke-virtual {v0, v4, v5}, Lcom/android/server/am/ActivityManagerService;->isSingleton(Ljava/lang/String;Landroid/content/pm/ApplicationInfo;)Z
27568 if-eqz v4, :cond_100
27572 invoke-static {}, Landroid/os/Binder;->getCallingPid()I
27576 invoke-static {}, Landroid/os/Binder;->getCallingUid()I
27582 move-object/from16 v2, p0
27584 move-object/from16 v3, p3
27586 move-object/from16 v4, p4
27588 invoke-direct/range {v2 .. v7}, Lcom/android/server/am/ActivityManagerService;->retrieveServiceLocked(Landroid/content/Intent;Ljava/lang/String;III)Lcom/android/server/am/ActivityManagerService$ServiceLookupResult;
27590 move-result-object v17
27593 move-object/from16 v0, v17
27595 iget-object v0, v0, Lcom/android/server/am/ActivityManagerService$ServiceLookupResult;->record:Lcom/android/server/am/ServiceRecord;
27597 move-object/from16 v18, v0
27599 invoke-static {}, Landroid/os/Binder;->clearCallingIdentity()J
27601 move-result-wide v15
27603 move-object/from16 v0, p0
27605 move-object/from16 v1, v18
27607 invoke-direct {v0, v1}, Lcom/android/server/am/ActivityManagerService;->unscheduleServiceRestartLocked(Lcom/android/server/am/ServiceRecord;)Z
27611 if-eqz v4, :cond_114
27614 move-object/from16 v0, v18
27616 move-object/from16 v1, p3
27618 invoke-virtual {v0, v1, v11}, Lcom/android/server/am/ServiceRecord;->retrieveAppBindingLocked(Landroid/content/Intent;Lcom/android/server/am/ProcessRecord;)Lcom/android/server/am/AppBindRecord;
27620 move-result-object v3
27622 new-instance v2, Lcom/android/server/am/ConnectionRecord;
27626 move-object/from16 v5, p5
27632 invoke-direct/range {v2 .. v8}, Lcom/android/server/am/ConnectionRecord;-><init>(Lcom/android/server/am/AppBindRecord;Lcom/android/server/am/ActivityRecord;Landroid/app/IServiceConnection;IILandroid/app/PendingIntent;)V
27634 invoke-interface/range {p5 .. p5}, Landroid/app/IServiceConnection;->asBinder()Landroid/os/IBinder;
27636 move-result-object v10
27638 move-object/from16 v0, v18
27640 iget-object v4, v0, Lcom/android/server/am/ServiceRecord;->connections:Ljava/util/HashMap;
27642 invoke-virtual {v4, v10}, Ljava/util/HashMap;->get(Ljava/lang/Object;)Ljava/lang/Object;
27644 move-result-object v13
27646 check-cast v13, Ljava/util/ArrayList;
27648 if-nez v13, :cond_143
27650 new-instance v13, Ljava/util/ArrayList;
27652 invoke-direct {v13}, Ljava/util/ArrayList;-><init>()V
27654 move-object/from16 v0, v18
27656 iget-object v4, v0, Lcom/android/server/am/ServiceRecord;->connections:Ljava/util/HashMap;
27658 invoke-virtual {v4, v10, v13}, Ljava/util/HashMap;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
27661 invoke-virtual {v13, v2}, Ljava/util/ArrayList;->add(Ljava/lang/Object;)Z
27663 iget-object v4, v3, Lcom/android/server/am/AppBindRecord;->connections:Ljava/util/HashSet;
27665 invoke-virtual {v4, v2}, Ljava/util/HashSet;->add(Ljava/lang/Object;)Z
27667 if-eqz v9, :cond_15d
27669 iget-object v4, v9, Lcom/android/server/am/ActivityRecord;->connections:Ljava/util/HashSet;
27671 if-nez v4, :cond_158
27673 new-instance v4, Ljava/util/HashSet;
27675 invoke-direct {v4}, Ljava/util/HashSet;-><init>()V
27677 iput-object v4, v9, Lcom/android/server/am/ActivityRecord;->connections:Ljava/util/HashSet;
27680 iget-object v4, v9, Lcom/android/server/am/ActivityRecord;->connections:Ljava/util/HashSet;
27682 invoke-virtual {v4, v2}, Ljava/util/HashSet;->add(Ljava/lang/Object;)Z
27685 iget-object v4, v3, Lcom/android/server/am/AppBindRecord;->client:Lcom/android/server/am/ProcessRecord;
27687 iget-object v4, v4, Lcom/android/server/am/ProcessRecord;->connections:Ljava/util/HashSet;
27689 invoke-virtual {v4, v2}, Ljava/util/HashSet;->add(Ljava/lang/Object;)Z
27691 iget v4, v2, Lcom/android/server/am/ConnectionRecord;->flags:I
27693 and-int/lit8 v4, v4, 0x8
27695 if-eqz v4, :cond_16f
27697 iget-object v4, v3, Lcom/android/server/am/AppBindRecord;->client:Lcom/android/server/am/ProcessRecord;
27701 iput-boolean v5, v4, Lcom/android/server/am/ProcessRecord;->hasAboveClient:Z
27704 move-object/from16 v0, p0
27706 iget-object v4, v0, Lcom/android/server/am/ActivityManagerService;->mServiceConnections:Ljava/util/HashMap;
27708 invoke-virtual {v4, v10}, Ljava/util/HashMap;->get(Ljava/lang/Object;)Ljava/lang/Object;
27710 move-result-object v13
27712 check-cast v13, Ljava/util/ArrayList;
27714 if-nez v13, :cond_187
27716 new-instance v13, Ljava/util/ArrayList;
27718 invoke-direct {v13}, Ljava/util/ArrayList;-><init>()V
27720 move-object/from16 v0, p0
27722 iget-object v4, v0, Lcom/android/server/am/ActivityManagerService;->mServiceConnections:Ljava/util/HashMap;
27724 invoke-virtual {v4, v10, v13}, Ljava/util/HashMap;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
27727 invoke-virtual {v13, v2}, Ljava/util/ArrayList;->add(Ljava/lang/Object;)Z
27729 and-int/lit8 v4, p6, 0x1
27731 if-eqz v4, :cond_1a9
27733 invoke-static {}, Landroid/os/SystemClock;->uptimeMillis()J
27735 move-result-wide v4
27737 move-object/from16 v0, v18
27739 iput-wide v4, v0, Lcom/android/server/am/ServiceRecord;->lastActivity:J
27741 invoke-virtual/range {p3 .. p3}, Landroid/content/Intent;->getFlags()I
27747 move-object/from16 v0, p0
27749 move-object/from16 v1, v18
27751 invoke-direct {v0, v1, v4, v5}, Lcom/android/server/am/ActivityManagerService;->bringUpServiceLocked(Lcom/android/server/am/ServiceRecord;IZ)Z
27755 if-nez v4, :cond_1a9
27764 move-object/from16 v0, v18
27766 iget-object v4, v0, Lcom/android/server/am/ServiceRecord;->app:Lcom/android/server/am/ProcessRecord;
27768 if-eqz v4, :cond_1b8
27770 move-object/from16 v0, v18
27772 iget-object v4, v0, Lcom/android/server/am/ServiceRecord;->app:Lcom/android/server/am/ProcessRecord;
27774 move-object/from16 v0, p0
27776 invoke-direct {v0, v4}, Lcom/android/server/am/ActivityManagerService;->updateOomAdjLocked(Lcom/android/server/am/ProcessRecord;)Z
27779 move-object/from16 v0, v18
27781 iget-object v4, v0, Lcom/android/server/am/ServiceRecord;->app:Lcom/android/server/am/ProcessRecord;
27783 if-eqz v4, :cond_237
27785 iget-object v4, v3, Lcom/android/server/am/AppBindRecord;->intent:Lcom/android/server/am/IntentBindRecord;
27787 iget-boolean v4, v4, Lcom/android/server/am/IntentBindRecord;->received:Z
27789 .catchall {:try_start_a6 .. :try_end_1c2} :catchall_5f
27791 if-eqz v4, :cond_237
27794 iget-object v4, v2, Lcom/android/server/am/ConnectionRecord;->conn:Landroid/app/IServiceConnection;
27796 move-object/from16 v0, v18
27798 iget-object v5, v0, Lcom/android/server/am/ServiceRecord;->name:Landroid/content/ComponentName;
27800 iget-object v6, v3, Lcom/android/server/am/AppBindRecord;->intent:Lcom/android/server/am/IntentBindRecord;
27802 iget-object v6, v6, Lcom/android/server/am/IntentBindRecord;->binder:Landroid/os/IBinder;
27804 invoke-interface {v4, v5, v6}, Landroid/app/IServiceConnection;->connected(Landroid/content/ComponentName;Landroid/os/IBinder;)V
27806 .catchall {:try_start_1c4 .. :try_end_1d1} :catchall_5f
27807 .catch Ljava/lang/Exception; {:try_start_1c4 .. :try_end_1d1} :catch_1f3
27811 iget-object v4, v3, Lcom/android/server/am/AppBindRecord;->intent:Lcom/android/server/am/IntentBindRecord;
27813 iget-object v4, v4, Lcom/android/server/am/IntentBindRecord;->apps:Ljava/util/HashMap;
27815 invoke-virtual {v4}, Ljava/util/HashMap;->size()I
27821 if-ne v4, v5, :cond_1ec
27823 iget-object v4, v3, Lcom/android/server/am/AppBindRecord;->intent:Lcom/android/server/am/IntentBindRecord;
27825 iget-boolean v4, v4, Lcom/android/server/am/IntentBindRecord;->doRebind:Z
27827 if-eqz v4, :cond_1ec
27829 iget-object v4, v3, Lcom/android/server/am/AppBindRecord;->intent:Lcom/android/server/am/IntentBindRecord;
27833 move-object/from16 v0, p0
27835 move-object/from16 v1, v18
27837 invoke-direct {v0, v1, v4, v5}, Lcom/android/server/am/ActivityManagerService;->requestServiceBindingLocked(Lcom/android/server/am/ServiceRecord;Lcom/android/server/am/IntentBindRecord;Z)Z
27841 invoke-static/range {v15 .. v16}, Landroid/os/Binder;->restoreCallingIdentity(J)V
27852 const-string v4, "ActivityManager"
27854 new-instance v5, Ljava/lang/StringBuilder;
27856 invoke-direct {v5}, Ljava/lang/StringBuilder;-><init>()V
27858 const-string v6, "Failure sending service "
27860 invoke-virtual {v5, v6}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
27862 move-result-object v5
27864 move-object/from16 v0, v18
27866 iget-object v6, v0, Lcom/android/server/am/ServiceRecord;->shortName:Ljava/lang/String;
27868 invoke-virtual {v5, v6}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
27870 move-result-object v5
27872 const-string v6, " to connection "
27874 invoke-virtual {v5, v6}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
27876 move-result-object v5
27878 iget-object v6, v2, Lcom/android/server/am/ConnectionRecord;->conn:Landroid/app/IServiceConnection;
27880 invoke-interface {v6}, Landroid/app/IServiceConnection;->asBinder()Landroid/os/IBinder;
27882 move-result-object v6
27884 invoke-virtual {v5, v6}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
27886 move-result-object v5
27888 const-string v6, " (in "
27890 invoke-virtual {v5, v6}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
27892 move-result-object v5
27894 iget-object v6, v2, Lcom/android/server/am/ConnectionRecord;->binding:Lcom/android/server/am/AppBindRecord;
27896 iget-object v6, v6, Lcom/android/server/am/AppBindRecord;->client:Lcom/android/server/am/ProcessRecord;
27898 iget-object v6, v6, Lcom/android/server/am/ProcessRecord;->processName:Ljava/lang/String;
27900 invoke-virtual {v5, v6}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
27902 move-result-object v5
27904 const-string v6, ")"
27906 invoke-virtual {v5, v6}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
27908 move-result-object v5
27910 invoke-virtual {v5}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
27912 move-result-object v5
27914 invoke-static {v4, v5, v14}, Landroid/util/Slog;->w(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I
27919 iget-object v4, v3, Lcom/android/server/am/AppBindRecord;->intent:Lcom/android/server/am/IntentBindRecord;
27921 iget-boolean v4, v4, Lcom/android/server/am/IntentBindRecord;->requested:Z
27923 if-nez v4, :cond_1ec
27925 iget-object v4, v3, Lcom/android/server/am/AppBindRecord;->intent:Lcom/android/server/am/IntentBindRecord;
27929 move-object/from16 v0, p0
27931 move-object/from16 v1, v18
27933 invoke-direct {v0, v1, v4, v5}, Lcom/android/server/am/ActivityManagerService;->requestServiceBindingLocked(Lcom/android/server/am/ServiceRecord;Lcom/android/server/am/IntentBindRecord;Z)Z
27935 .catchall {:try_start_1d1 .. :try_end_247} :catchall_5f
27945 .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
27948 const-string v2, "broadcastIntent"
27950 move-object/from16 v0, p0
27952 invoke-virtual {v0, v2}, Lcom/android/server/am/ActivityManagerService;->enforceNotIsolatedCaller(Ljava/lang/String;)V
27957 move-object/from16 v0, p0
27959 move-object/from16 v1, p2
27961 invoke-virtual {v0, v1}, Lcom/android/server/am/ActivityManagerService;->verifyBroadcastLocked(Landroid/content/Intent;)Landroid/content/Intent;
27963 move-result-object p2
27965 invoke-virtual/range {p0 .. p1}, Lcom/android/server/am/ActivityManagerService;->getRecordForAppLocked(Landroid/app/IApplicationThread;)Lcom/android/server/am/ProcessRecord;
27967 move-result-object v3
27969 invoke-static {}, Landroid/os/Binder;->getCallingPid()I
27973 invoke-static {}, Landroid/os/Binder;->getCallingUid()I
27977 invoke-static {}, Landroid/os/Binder;->clearCallingIdentity()J
27979 move-result-wide v17
27981 if-eqz v3, :cond_45
27983 iget-object v2, v3, Lcom/android/server/am/ProcessRecord;->info:Landroid/content/pm/ApplicationInfo;
27985 iget-object v4, v2, Landroid/content/pm/ApplicationInfo;->packageName:Ljava/lang/String;
27988 move-object/from16 v2, p0
27990 move-object/from16 v5, p2
27992 move-object/from16 v6, p3
27994 move-object/from16 v7, p4
27998 move-object/from16 v9, p6
28000 move-object/from16 v10, p7
28002 move-object/from16 v11, p8
28004 move/from16 v12, p9
28006 move/from16 v13, p10
28008 move/from16 v16, p11
28010 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
28014 invoke-static/range {v17 .. v18}, Landroid/os/Binder;->restoreCallingIdentity(J)V
28030 .catchall {:try_start_8 .. :try_end_49} :catchall_47
28035 .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
28041 move-object/from16 v0, p0
28043 move-object/from16 v1, p3
28045 invoke-virtual {v0, v1}, Lcom/android/server/am/ActivityManagerService;->verifyBroadcastLocked(Landroid/content/Intent;)Landroid/content/Intent;
28047 move-result-object p3
28049 invoke-static {}, Landroid/os/Binder;->clearCallingIdentity()J
28051 move-result-wide v17
28057 move-object/from16 v2, p0
28059 move-object/from16 v4, p1
28061 move-object/from16 v5, p3
28063 move-object/from16 v6, p4
28065 move-object/from16 v7, p5
28069 move-object/from16 v9, p7
28071 move-object/from16 v10, p8
28073 move-object/from16 v11, p9
28075 move/from16 v12, p10
28077 move/from16 v13, p11
28079 move/from16 v15, p2
28081 move/from16 v16, p12
28083 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
28087 invoke-static/range {v17 .. v18}, Landroid/os/Binder;->restoreCallingIdentity(J)V
28098 .catchall {:try_start_1 .. :try_end_34} :catchall_32
28103 .method broadcastQueueForIntent(Landroid/content/Intent;)Lcom/android/server/am/BroadcastQueue;
28106 invoke-virtual {p1}, Landroid/content/Intent;->getFlags()I
28110 const/high16 v2, 0x1000
28112 and-int/2addr v1, v2
28119 if-eqz v0, :cond_11
28121 iget-object v1, p0, Lcom/android/server/am/ActivityManagerService;->mFgBroadcastQueue:Lcom/android/server/am/BroadcastQueue;
28132 iget-object v1, p0, Lcom/android/server/am/ActivityManagerService;->mBgBroadcastQueue:Lcom/android/server/am/BroadcastQueue;
28137 .method broadcastRecordForReceiverLocked(Landroid/os/IBinder;)Lcom/android/server/am/BroadcastRecord;
28140 iget-object v0, p0, Lcom/android/server/am/ActivityManagerService;->mBroadcastQueues:[Lcom/android/server/am/BroadcastQueue;
28142 array-length v2, v0
28147 if-ge v1, v2, :cond_12
28149 aget-object v3, v0, v1
28151 invoke-virtual {v3, p1}, Lcom/android/server/am/BroadcastQueue;->getMatchingOrderedReceiver(Landroid/os/IBinder;)Lcom/android/server/am/BroadcastRecord;
28153 move-result-object v4
28161 add-int/lit8 v1, v1, 0x1
28171 .method public cancelIntentSender(Landroid/content/IIntentSender;)V
28174 instance-of v5, p1, Lcom/android/server/am/PendingIntentRecord;
28187 check-cast v0, Lcom/android/server/am/PendingIntentRecord;
28191 .catchall {:try_start_6 .. :try_end_a} :catchall_69
28194 invoke-static {}, Landroid/app/AppGlobals;->getPackageManager()Landroid/content/pm/IPackageManager;
28196 move-result-object v5
28198 iget-object v6, v3, Lcom/android/server/am/PendingIntentRecord;->key:Lcom/android/server/am/PendingIntentRecord$Key;
28200 iget-object v6, v6, Lcom/android/server/am/PendingIntentRecord$Key;->packageName:Ljava/lang/String;
28202 invoke-static {}, Landroid/os/UserId;->getCallingUserId()I
28206 invoke-interface {v5, v6, v7}, Landroid/content/pm/IPackageManager;->getPackageUid(Ljava/lang/String;I)I
28210 invoke-static {}, Landroid/os/Binder;->getCallingUid()I
28214 invoke-static {v4, v5}, Landroid/os/UserId;->isSameApp(II)Z
28218 if-nez v5, :cond_6c
28220 new-instance v5, Ljava/lang/StringBuilder;
28222 invoke-direct {v5}, Ljava/lang/StringBuilder;-><init>()V
28224 const-string v6, "Permission Denial: cancelIntentSender() from pid="
28226 invoke-virtual {v5, v6}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
28228 move-result-object v5
28230 invoke-static {}, Landroid/os/Binder;->getCallingPid()I
28234 invoke-virtual {v5, v6}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
28236 move-result-object v5
28238 const-string v6, ", uid="
28240 invoke-virtual {v5, v6}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
28242 move-result-object v5
28244 invoke-static {}, Landroid/os/Binder;->getCallingUid()I
28248 invoke-virtual {v5, v6}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
28250 move-result-object v5
28252 const-string v6, " is not allowed to cancel packges "
28254 invoke-virtual {v5, v6}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
28256 move-result-object v5
28258 iget-object v6, v3, Lcom/android/server/am/PendingIntentRecord;->key:Lcom/android/server/am/PendingIntentRecord$Key;
28260 iget-object v6, v6, Lcom/android/server/am/PendingIntentRecord$Key;->packageName:Ljava/lang/String;
28262 invoke-virtual {v5, v6}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
28264 move-result-object v5
28266 invoke-virtual {v5}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
28268 move-result-object v2
28270 const-string v5, "ActivityManager"
28272 invoke-static {v5, v2}, Landroid/util/Slog;->w(Ljava/lang/String;Ljava/lang/String;)I
28274 new-instance v5, Ljava/lang/SecurityException;
28276 invoke-direct {v5, v2}, Ljava/lang/SecurityException;-><init>(Ljava/lang/String;)V
28280 .catchall {:try_start_a .. :try_end_62} :catchall_69
28281 .catch Landroid/os/RemoteException; {:try_start_a .. :try_end_62} :catch_62
28287 new-instance v5, Ljava/lang/SecurityException;
28289 invoke-direct {v5, v1}, Ljava/lang/SecurityException;-><init>(Ljava/lang/Throwable;)V
28298 .catchall {:try_start_63 .. :try_end_6b} :catchall_69
28306 invoke-virtual {p0, v3, v5}, Lcom/android/server/am/ActivityManagerService;->cancelIntentSenderLocked(Lcom/android/server/am/PendingIntentRecord;Z)V
28310 .catchall {:try_start_6d .. :try_end_71} :catchall_69
28315 .method cancelIntentSenderLocked(Lcom/android/server/am/PendingIntentRecord;Z)V
28320 iput-boolean v0, p1, Lcom/android/server/am/PendingIntentRecord;->canceled:Z
28322 iget-object v0, p0, Lcom/android/server/am/ActivityManagerService;->mIntentSenderRecords:Ljava/util/HashMap;
28324 iget-object v1, p1, Lcom/android/server/am/PendingIntentRecord;->key:Lcom/android/server/am/PendingIntentRecord$Key;
28326 invoke-virtual {v0, v1}, Ljava/util/HashMap;->remove(Ljava/lang/Object;)Ljava/lang/Object;
28328 if-eqz p2, :cond_1d
28330 iget-object v0, p1, Lcom/android/server/am/PendingIntentRecord;->key:Lcom/android/server/am/PendingIntentRecord$Key;
28332 iget-object v0, v0, Lcom/android/server/am/PendingIntentRecord$Key;->activity:Lcom/android/server/am/ActivityRecord;
28334 if-eqz v0, :cond_1d
28336 iget-object v0, p1, Lcom/android/server/am/PendingIntentRecord;->key:Lcom/android/server/am/PendingIntentRecord$Key;
28338 iget-object v0, v0, Lcom/android/server/am/PendingIntentRecord$Key;->activity:Lcom/android/server/am/ActivityRecord;
28340 iget-object v0, v0, Lcom/android/server/am/ActivityRecord;->pendingResults:Ljava/util/HashSet;
28342 iget-object v1, p1, Lcom/android/server/am/PendingIntentRecord;->ref:Ljava/lang/ref/WeakReference;
28344 invoke-virtual {v0, v1}, Ljava/util/HashSet;->remove(Ljava/lang/Object;)Z
28350 .method checkAppInLaunchingProvidersLocked(Lcom/android/server/am/ProcessRecord;Z)Z
28353 iget-object v4, p0, Lcom/android/server/am/ActivityManagerService;->mLaunchingProviders:Ljava/util/ArrayList;
28355 invoke-virtual {v4}, Ljava/util/ArrayList;->size()I
28364 if-ge v2, v0, :cond_2b
28366 iget-object v4, p0, Lcom/android/server/am/ActivityManagerService;->mLaunchingProviders:Ljava/util/ArrayList;
28368 invoke-virtual {v4, v2}, Ljava/util/ArrayList;->get(I)Ljava/lang/Object;
28370 move-result-object v1
28372 check-cast v1, Lcom/android/server/am/ContentProviderRecord;
28374 iget-object v4, v1, Lcom/android/server/am/ContentProviderRecord;->launchingApp:Lcom/android/server/am/ProcessRecord;
28376 if-ne v4, p1, :cond_1d
28378 if-nez p2, :cond_20
28380 iget-boolean v4, p1, Lcom/android/server/am/ProcessRecord;->bad:Z
28382 if-nez v4, :cond_20
28388 add-int/lit8 v2, v2, 0x1
28395 invoke-direct {p0, p1, v1, v4}, Lcom/android/server/am/ActivityManagerService;->removeDyingProviderLocked(Lcom/android/server/am/ProcessRecord;Lcom/android/server/am/ContentProviderRecord;Z)Z
28397 iget-object v4, p0, Lcom/android/server/am/ActivityManagerService;->mLaunchingProviders:Ljava/util/ArrayList;
28399 invoke-virtual {v4}, Ljava/util/ArrayList;->size()I
28409 .method checkAppSwitchAllowedLocked(IILjava/lang/String;)Z
28414 iget-wide v0, p0, Lcom/android/server/am/ActivityManagerService;->mAppSwitchesAllowedTime:J
28416 invoke-static {}, Landroid/os/SystemClock;->uptimeMillis()J
28418 move-result-wide v2
28420 cmp-long v0, v0, v2
28429 const-string v1, "android.permission.STOP_APP_SWITCHES"
28439 invoke-virtual/range {v0 .. v5}, Lcom/android/server/am/ActivityManagerService;->checkComponentPermission(Ljava/lang/String;IIIZ)I
28445 const-string v0, "ActivityManager"
28447 new-instance v1, Ljava/lang/StringBuilder;
28449 invoke-direct {v1}, Ljava/lang/StringBuilder;-><init>()V
28451 invoke-virtual {v1, p3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
28453 move-result-object v1
28455 const-string v2, " request from "
28457 invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
28459 move-result-object v1
28461 invoke-virtual {v1, p2}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
28463 move-result-object v1
28465 const-string v2, " stopped"
28467 invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
28469 move-result-object v1
28471 invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
28473 move-result-object v1
28475 invoke-static {v0, v1}, Landroid/util/Slog;->w(Ljava/lang/String;Ljava/lang/String;)I
28482 .method checkCallingPermission(Ljava/lang/String;)I
28485 invoke-static {}, Landroid/os/Binder;->getCallingPid()I
28489 invoke-static {}, Landroid/os/Binder;->getCallingUid()I
28493 invoke-static {v1}, Landroid/os/UserId;->getAppId(I)I
28497 invoke-virtual {p0, p1, v0, v1}, Lcom/android/server/am/ActivityManagerService;->checkPermission(Ljava/lang/String;II)I
28504 .method checkComponentPermission(Ljava/lang/String;IIIZ)I
28507 sget-object v1, Lcom/android/server/am/ActivityManagerService;->sCallerIdentity:Ljava/lang/ThreadLocal;
28509 invoke-virtual {v1}, Ljava/lang/ThreadLocal;->get()Ljava/lang/Object;
28511 move-result-object v0
28513 check-cast v0, Lcom/android/server/am/ActivityManagerService$Identity;
28515 if-eqz v0, :cond_3a
28517 const-string v1, "ActivityManager"
28519 new-instance v2, Ljava/lang/StringBuilder;
28521 invoke-direct {v2}, Ljava/lang/StringBuilder;-><init>()V
28523 const-string v3, "checkComponentPermission() adjusting {pid,uid} to {"
28525 invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
28527 move-result-object v2
28529 iget v3, v0, Lcom/android/server/am/ActivityManagerService$Identity;->pid:I
28531 invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
28533 move-result-object v2
28535 const-string v3, ","
28537 invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
28539 move-result-object v2
28541 iget v3, v0, Lcom/android/server/am/ActivityManagerService$Identity;->uid:I
28543 invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
28545 move-result-object v2
28547 const-string v3, "}"
28549 invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
28551 move-result-object v2
28553 invoke-virtual {v2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
28555 move-result-object v2
28557 invoke-static {v1, v2}, Landroid/util/Slog;->d(Ljava/lang/String;Ljava/lang/String;)I
28559 iget p3, v0, Lcom/android/server/am/ActivityManagerService$Identity;->uid:I
28561 iget p2, v0, Lcom/android/server/am/ActivityManagerService$Identity;->pid:I
28564 sget v1, Lcom/android/server/am/ActivityManagerService;->MY_PID:I
28566 if-ne p2, v1, :cond_40
28574 invoke-static {p1, p3, p4, p5}, Landroid/app/ActivityManager;->checkComponentPermission(Ljava/lang/String;IIZ)I
28581 .method final checkExcessivePowerUsageLocked(Z)V
28584 invoke-virtual/range {p0 .. p0}, Lcom/android/server/am/ActivityManagerService;->updateCpuStatsNow()V
28586 move-object/from16 v0, p0
28588 iget-object v4, v0, Lcom/android/server/am/ActivityManagerService;->mBatteryStatsService:Lcom/android/server/am/BatteryStatsService;
28590 invoke-virtual {v4}, Lcom/android/server/am/BatteryStatsService;->getActiveStatistics()Lcom/android/internal/os/BatteryStatsImpl;
28592 move-result-object v3
28594 move/from16 v23, p1
28596 move/from16 v22, p1
28598 move-object/from16 v0, p0
28600 iget-wide v4, v0, Lcom/android/server/am/ActivityManagerService;->mLastPowerCheckRealtime:J
28602 const-wide/16 v10, 0x0
28604 cmp-long v4, v4, v10
28606 if-nez v4, :cond_1b
28611 move-object/from16 v0, p0
28613 iget-wide v4, v0, Lcom/android/server/am/ActivityManagerService;->mLastPowerCheckUptime:J
28615 const-wide/16 v10, 0x0
28617 cmp-long v4, v4, v10
28619 if-nez v4, :cond_27
28624 invoke-virtual {v3}, Lcom/android/internal/os/BatteryStatsImpl;->isScreenOn()Z
28628 if-eqz v4, :cond_2f
28633 invoke-static {}, Landroid/os/SystemClock;->elapsedRealtime()J
28635 move-result-wide v18
28637 move-object/from16 v0, p0
28639 iget-wide v4, v0, Lcom/android/server/am/ActivityManagerService;->mLastPowerCheckRealtime:J
28641 sub-long v6, v18, v4
28643 invoke-static {}, Landroid/os/SystemClock;->uptimeMillis()J
28645 move-result-wide v20
28647 move-object/from16 v0, p0
28649 iget-wide v4, v0, Lcom/android/server/am/ActivityManagerService;->mLastPowerCheckUptime:J
28651 sub-long v13, v20, v4
28653 move-wide/from16 v0, v18
28655 move-object/from16 v2, p0
28657 iput-wide v0, v2, Lcom/android/server/am/ActivityManagerService;->mLastPowerCheckRealtime:J
28659 move-wide/from16 v0, v20
28661 move-object/from16 v2, p0
28663 iput-wide v0, v2, Lcom/android/server/am/ActivityManagerService;->mLastPowerCheckUptime:J
28665 const-wide/32 v4, 0x493e0
28667 cmp-long v4, v6, v4
28669 if-gez v4, :cond_58
28674 const-wide/32 v4, 0x493e0
28676 cmp-long v4, v13, v4
28678 if-gez v4, :cond_61
28683 move-object/from16 v0, p0
28685 iget-object v4, v0, Lcom/android/server/am/ActivityManagerService;->mLruProcesses:Ljava/util/ArrayList;
28687 invoke-virtual {v4}, Ljava/util/ArrayList;->size()I
28693 if-lez v24, :cond_1e0
28695 add-int/lit8 v24, v24, -0x1
28697 move-object/from16 v0, p0
28699 iget-object v4, v0, Lcom/android/server/am/ActivityManagerService;->mLruProcesses:Ljava/util/ArrayList;
28701 move/from16 v0, v24
28703 invoke-virtual {v4, v0}, Ljava/util/ArrayList;->get(I)Ljava/lang/Object;
28705 move-result-object v17
28707 check-cast v17, Lcom/android/server/am/ProcessRecord;
28709 move-object/from16 v0, v17
28711 iget-boolean v4, v0, Lcom/android/server/am/ProcessRecord;->keeping:Z
28713 if-nez v4, :cond_69
28718 move-object/from16 v0, v17
28720 iget-object v4, v0, Lcom/android/server/am/ProcessRecord;->info:Landroid/content/pm/ApplicationInfo;
28722 iget v4, v4, Landroid/content/pm/ApplicationInfo;->uid:I
28724 move-object/from16 v0, v17
28726 iget v5, v0, Lcom/android/server/am/ProcessRecord;->pid:I
28728 move-wide/from16 v0, v18
28730 invoke-virtual {v3, v4, v5, v0, v1}, Lcom/android/internal/os/BatteryStatsImpl;->getProcessWakeTime(IIJ)J
28732 move-result-wide v25
28736 .catchall {:try_start_80 .. :try_end_91} :catchall_133
28738 move-object/from16 v0, v17
28740 iget-wide v4, v0, Lcom/android/server/am/ProcessRecord;->lastWakeTime:J
28742 sub-long v8, v25, v4
28744 move-object/from16 v0, v17
28746 iget-wide v4, v0, Lcom/android/server/am/ProcessRecord;->curCpuTime:J
28748 move-object/from16 v0, v17
28750 iget-wide v10, v0, Lcom/android/server/am/ProcessRecord;->lastCpuTime:J
28752 sub-long v15, v4, v10
28754 if-eqz v23, :cond_139
28756 const-wide/16 v4, 0x0
28758 cmp-long v4, v6, v4
28760 if-lez v4, :cond_139
28762 const-wide/16 v4, 0x64
28764 mul-long/2addr v4, v8
28766 div-long/2addr v4, v6
28768 const-wide/16 v10, 0x32
28770 cmp-long v4, v4, v10
28772 if-ltz v4, :cond_139
28777 move-object/from16 v0, v17
28779 iget-object v4, v0, Lcom/android/server/am/ProcessRecord;->info:Landroid/content/pm/ApplicationInfo;
28781 iget v4, v4, Landroid/content/pm/ApplicationInfo;->uid:I
28783 move-object/from16 v0, v17
28785 iget-object v5, v0, Lcom/android/server/am/ProcessRecord;->processName:Ljava/lang/String;
28787 invoke-virtual/range {v3 .. v9}, Lcom/android/internal/os/BatteryStatsImpl;->reportExcessiveWakeLocked(ILjava/lang/String;JJ)V
28791 .catchall {:try_start_b4 .. :try_end_c2} :catchall_136
28793 const-string v4, "ActivityManager"
28795 new-instance v5, Ljava/lang/StringBuilder;
28797 invoke-direct {v5}, Ljava/lang/StringBuilder;-><init>()V
28799 const-string v10, "Excessive wake lock in "
28801 invoke-virtual {v5, v10}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
28803 move-result-object v5
28805 move-object/from16 v0, v17
28807 iget-object v10, v0, Lcom/android/server/am/ProcessRecord;->processName:Ljava/lang/String;
28809 invoke-virtual {v5, v10}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
28811 move-result-object v5
28813 const-string v10, " (pid "
28815 invoke-virtual {v5, v10}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
28817 move-result-object v5
28819 move-object/from16 v0, v17
28821 iget v10, v0, Lcom/android/server/am/ProcessRecord;->pid:I
28823 invoke-virtual {v5, v10}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
28825 move-result-object v5
28827 const-string v10, "): held "
28829 invoke-virtual {v5, v10}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
28831 move-result-object v5
28833 invoke-virtual {v5, v8, v9}, Ljava/lang/StringBuilder;->append(J)Ljava/lang/StringBuilder;
28835 move-result-object v5
28837 const-string v10, " during "
28839 invoke-virtual {v5, v10}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
28841 move-result-object v5
28843 invoke-virtual {v5, v6, v7}, Ljava/lang/StringBuilder;->append(J)Ljava/lang/StringBuilder;
28845 move-result-object v5
28847 invoke-virtual {v5}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
28849 move-result-object v5
28851 invoke-static {v4, v5}, Landroid/util/Slog;->w(Ljava/lang/String;Ljava/lang/String;)I
28853 const/16 v4, 0x7547
28857 new-array v5, v5, [Ljava/lang/Object;
28861 move-object/from16 v0, v17
28863 iget v11, v0, Lcom/android/server/am/ProcessRecord;->pid:I
28865 invoke-static {v11}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
28867 move-result-object v11
28869 aput-object v11, v5, v10
28873 move-object/from16 v0, v17
28875 iget-object v11, v0, Lcom/android/server/am/ProcessRecord;->processName:Ljava/lang/String;
28877 aput-object v11, v5, v10
28881 move-object/from16 v0, v17
28883 iget v11, v0, Lcom/android/server/am/ProcessRecord;->setAdj:I
28885 invoke-static {v11}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
28887 move-result-object v11
28889 aput-object v11, v5, v10
28893 const-string v11, "excessive wake lock"
28895 aput-object v11, v5, v10
28897 invoke-static {v4, v5}, Landroid/util/EventLog;->writeEvent(I[Ljava/lang/Object;)I
28899 move-object/from16 v0, v17
28901 iget v4, v0, Lcom/android/server/am/ProcessRecord;->pid:I
28903 invoke-static {v4}, Landroid/os/Process;->killProcessQuiet(I)V
28913 .catchall {:try_start_134 .. :try_end_135} :catchall_133
28923 .catchall {:try_start_137 .. :try_end_138} :catchall_136
28928 if-eqz v22, :cond_1d0
28930 const-wide/16 v4, 0x0
28932 cmp-long v4, v13, v4
28934 if-lez v4, :cond_1d0
28936 const-wide/16 v4, 0x64
28938 mul-long/2addr v4, v15
28940 div-long/2addr v4, v13
28942 const-wide/16 v10, 0x32
28944 cmp-long v4, v4, v10
28946 if-ltz v4, :cond_1d0
28951 move-object/from16 v0, v17
28953 iget-object v4, v0, Lcom/android/server/am/ProcessRecord;->info:Landroid/content/pm/ApplicationInfo;
28955 iget v11, v4, Landroid/content/pm/ApplicationInfo;->uid:I
28957 move-object/from16 v0, v17
28959 iget-object v12, v0, Lcom/android/server/am/ProcessRecord;->processName:Ljava/lang/String;
28961 move-object v10, v3
28963 invoke-virtual/range {v10 .. v16}, Lcom/android/internal/os/BatteryStatsImpl;->reportExcessiveCpuLocked(ILjava/lang/String;JJ)V
28967 .catchall {:try_start_14c .. :try_end_15b} :catchall_1cd
28969 const-string v4, "ActivityManager"
28971 new-instance v5, Ljava/lang/StringBuilder;
28973 invoke-direct {v5}, Ljava/lang/StringBuilder;-><init>()V
28975 const-string v10, "Excessive CPU in "
28977 invoke-virtual {v5, v10}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
28979 move-result-object v5
28981 move-object/from16 v0, v17
28983 iget-object v10, v0, Lcom/android/server/am/ProcessRecord;->processName:Ljava/lang/String;
28985 invoke-virtual {v5, v10}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
28987 move-result-object v5
28989 const-string v10, " (pid "
28991 invoke-virtual {v5, v10}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
28993 move-result-object v5
28995 move-object/from16 v0, v17
28997 iget v10, v0, Lcom/android/server/am/ProcessRecord;->pid:I
28999 invoke-virtual {v5, v10}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
29001 move-result-object v5
29003 const-string v10, "): used "
29005 invoke-virtual {v5, v10}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
29007 move-result-object v5
29011 invoke-virtual {v5, v0, v1}, Ljava/lang/StringBuilder;->append(J)Ljava/lang/StringBuilder;
29013 move-result-object v5
29015 const-string v10, " during "
29017 invoke-virtual {v5, v10}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
29019 move-result-object v5
29021 invoke-virtual {v5, v13, v14}, Ljava/lang/StringBuilder;->append(J)Ljava/lang/StringBuilder;
29023 move-result-object v5
29025 invoke-virtual {v5}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
29027 move-result-object v5
29029 invoke-static {v4, v5}, Landroid/util/Slog;->w(Ljava/lang/String;Ljava/lang/String;)I
29031 const/16 v4, 0x7547
29035 new-array v5, v5, [Ljava/lang/Object;
29039 move-object/from16 v0, v17
29041 iget v11, v0, Lcom/android/server/am/ProcessRecord;->pid:I
29043 invoke-static {v11}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
29045 move-result-object v11
29047 aput-object v11, v5, v10
29051 move-object/from16 v0, v17
29053 iget-object v11, v0, Lcom/android/server/am/ProcessRecord;->processName:Ljava/lang/String;
29055 aput-object v11, v5, v10
29059 move-object/from16 v0, v17
29061 iget v11, v0, Lcom/android/server/am/ProcessRecord;->setAdj:I
29063 invoke-static {v11}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
29065 move-result-object v11
29067 aput-object v11, v5, v10
29071 const-string v11, "excessive cpu"
29073 aput-object v11, v5, v10
29075 invoke-static {v4, v5}, Landroid/util/EventLog;->writeEvent(I[Ljava/lang/Object;)I
29077 move-object/from16 v0, v17
29079 iget v4, v0, Lcom/android/server/am/ProcessRecord;->pid:I
29081 invoke-static {v4}, Landroid/os/Process;->killProcessQuiet(I)V
29091 .catchall {:try_start_1ce .. :try_end_1cf} :catchall_1cd
29096 move-wide/from16 v0, v25
29098 move-object/from16 v2, v17
29100 iput-wide v0, v2, Lcom/android/server/am/ProcessRecord;->lastWakeTime:J
29102 move-object/from16 v0, v17
29104 iget-wide v4, v0, Lcom/android/server/am/ProcessRecord;->curCpuTime:J
29106 move-object/from16 v0, v17
29108 iput-wide v4, v0, Lcom/android/server/am/ProcessRecord;->lastCpuTime:J
29116 .method public checkGrantUriPermission(ILjava/lang/String;Landroid/net/Uri;I)I
29119 const-string v0, "checkGrantUriPermission"
29121 invoke-virtual {p0, v0}, Lcom/android/server/am/ActivityManagerService;->enforceNotIsolatedCaller(Ljava/lang/String;)V
29138 invoke-virtual/range {v0 .. v5}, Lcom/android/server/am/ActivityManagerService;->checkGrantUriPermissionLocked(ILjava/lang/String;Landroid/net/Uri;II)I
29151 .catchall {:try_start_c .. :try_end_14} :catchall_12
29156 .method checkGrantUriPermissionFromIntentLocked(ILjava/lang/String;Landroid/content/Intent;ILcom/android/server/am/ActivityManagerService$NeededUriGrants;)Lcom/android/server/am/ActivityManagerService$NeededUriGrants;
29161 new-instance v4, Ljava/lang/NullPointerException;
29163 const-string v5, "targetPkg"
29165 invoke-direct {v4, v5}, Ljava/lang/NullPointerException;-><init>(Ljava/lang/String;)V
29178 invoke-virtual/range {p3 .. p3}, Landroid/content/Intent;->getData()Landroid/net/Uri;
29180 move-result-object v7
29182 invoke-virtual/range {p3 .. p3}, Landroid/content/Intent;->getClipData()Landroid/content/ClipData;
29184 move-result-object v18
29186 if-nez v7, :cond_1c
29188 if-nez v18, :cond_1c
29195 if-eqz v7, :cond_46
29197 if-eqz p5, :cond_89
29199 move-object/from16 v0, p5
29201 iget v9, v0, Lcom/android/server/am/ActivityManagerService$NeededUriGrants;->targetUid:I
29204 move-object/from16 v4, p0
29208 move-object/from16 v6, p2
29212 invoke-virtual/range {v4 .. v9}, Lcom/android/server/am/ActivityManagerService;->checkGrantUriPermissionLocked(ILjava/lang/String;Landroid/net/Uri;II)I
29216 if-lez v21, :cond_46
29218 if-nez p5, :cond_41
29220 new-instance p5, Lcom/android/server/am/ActivityManagerService$NeededUriGrants;
29222 move-object/from16 v0, p5
29224 move-object/from16 v1, p2
29226 move/from16 v2, v21
29230 invoke-direct {v0, v1, v2, v3}, Lcom/android/server/am/ActivityManagerService$NeededUriGrants;-><init>(Ljava/lang/String;II)V
29233 move-object/from16 v0, p5
29235 invoke-virtual {v0, v7}, Lcom/android/server/am/ActivityManagerService$NeededUriGrants;->add(Ljava/lang/Object;)Z
29238 if-eqz v18, :cond_aa
29243 invoke-virtual/range {v18 .. v18}, Landroid/content/ClipData;->getItemCount()I
29247 move/from16 v0, v19
29249 if-ge v0, v4, :cond_aa
29251 invoke-virtual/range {v18 .. v19}, Landroid/content/ClipData;->getItemAt(I)Landroid/content/ClipData$Item;
29253 move-result-object v4
29255 invoke-virtual {v4}, Landroid/content/ClipData$Item;->getUri()Landroid/net/Uri;
29257 move-result-object v11
29259 if-eqz v11, :cond_8d
29263 if-eqz p5, :cond_8b
29265 move-object/from16 v0, p5
29267 iget v13, v0, Lcom/android/server/am/ActivityManagerService$NeededUriGrants;->targetUid:I
29270 move-object/from16 v8, p0
29274 move-object/from16 v10, p2
29276 move/from16 v12, p4
29278 invoke-virtual/range {v8 .. v13}, Lcom/android/server/am/ActivityManagerService;->checkGrantUriPermissionLocked(ILjava/lang/String;Landroid/net/Uri;II)I
29282 if-lez v21, :cond_86
29284 if-nez p5, :cond_81
29286 new-instance p5, Lcom/android/server/am/ActivityManagerService$NeededUriGrants;
29288 move-object/from16 v0, p5
29290 move-object/from16 v1, p2
29292 move/from16 v2, v21
29296 invoke-direct {v0, v1, v2, v3}, Lcom/android/server/am/ActivityManagerService$NeededUriGrants;-><init>(Ljava/lang/String;II)V
29299 move-object/from16 v0, p5
29301 invoke-virtual {v0, v11}, Lcom/android/server/am/ActivityManagerService$NeededUriGrants;->add(Ljava/lang/Object;)Z
29305 add-int/lit8 v19, v19, 0x1
29320 invoke-virtual/range {v18 .. v19}, Landroid/content/ClipData;->getItemAt(I)Landroid/content/ClipData$Item;
29322 move-result-object v4
29324 invoke-virtual {v4}, Landroid/content/ClipData$Item;->getIntent()Landroid/content/Intent;
29326 move-result-object v15
29328 if-eqz v15, :cond_86
29330 move-object/from16 v12, p0
29332 move/from16 v13, p1
29334 move-object/from16 v14, p2
29336 move/from16 v16, p4
29338 move-object/from16 v17, p5
29340 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;
29342 move-result-object v20
29344 if-eqz v20, :cond_86
29346 move-object/from16 p5, v20
29351 move-object/from16 v4, p5
29356 .method checkGrantUriPermissionLocked(ILjava/lang/String;Landroid/net/Uri;II)I
29359 and-int/lit8 p4, p4, 0x3
29373 invoke-static {}, Landroid/app/AppGlobals;->getPackageManager()Landroid/content/pm/IPackageManager;
29375 move-result-object v5
29377 const-string v4, "content"
29379 invoke-virtual/range {p3 .. p3}, Landroid/net/Uri;->getScheme()Ljava/lang/String;
29381 move-result-object v7
29383 invoke-virtual {v4, v7}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
29387 if-nez v4, :cond_1a
29394 invoke-virtual/range {p3 .. p3}, Landroid/net/Uri;->getAuthority()Ljava/lang/String;
29396 move-result-object v20
29400 move-object/from16 v0, p0
29402 iget-object v4, v0, Lcom/android/server/am/ActivityManagerService;->mProviderMap:Lcom/android/server/am/ProviderMap;
29404 invoke-static/range {p1 .. p1}, Landroid/os/UserId;->getUserId(I)I
29408 move-object/from16 v0, v20
29410 invoke-virtual {v4, v0, v7}, Lcom/android/server/am/ProviderMap;->getProviderByName(Ljava/lang/String;I)Lcom/android/server/am/ContentProviderRecord;
29412 move-result-object v17
29414 if-eqz v17, :cond_53
29416 move-object/from16 v0, v17
29418 iget-object v6, v0, Lcom/android/server/am/ContentProviderRecord;->info:Landroid/content/pm/ProviderInfo;
29421 if-nez v6, :cond_60
29423 const-string v4, "ActivityManager"
29425 new-instance v7, Ljava/lang/StringBuilder;
29427 invoke-direct {v7}, Ljava/lang/StringBuilder;-><init>()V
29429 const-string v9, "No content provider found for permission check: "
29431 invoke-virtual {v7, v9}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
29433 move-result-object v7
29435 invoke-virtual/range {p3 .. p3}, Landroid/net/Uri;->toSafeString()Ljava/lang/String;
29437 move-result-object v9
29439 invoke-virtual {v7, v9}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
29441 move-result-object v7
29443 invoke-virtual {v7}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
29445 move-result-object v7
29447 invoke-static {v4, v7}, Landroid/util/Slog;->w(Ljava/lang/String;Ljava/lang/String;)I
29457 invoke-static/range {p1 .. p1}, Landroid/os/UserId;->getUserId(I)I
29461 move-object/from16 v0, v20
29463 invoke-interface {v5, v0, v4, v7}, Landroid/content/pm/IPackageManager;->resolveContentProvider(Ljava/lang/String;II)Landroid/content/pm/ProviderInfo;
29465 .catch Landroid/os/RemoteException; {:try_start_55 .. :try_end_5e} :catch_18c
29467 move-result-object v6
29474 if-gez v8, :cond_77
29476 if-eqz p2, :cond_77
29479 invoke-static/range {p1 .. p1}, Landroid/os/UserId;->getUserId(I)I
29483 move-object/from16 v0, p2
29485 invoke-interface {v5, v0, v4}, Landroid/content/pm/IPackageManager;->getPackageUid(Ljava/lang/String;I)I
29487 .catch Landroid/os/RemoteException; {:try_start_66 .. :try_end_6f} :catch_74
29491 if-gez v8, :cond_77
29505 if-ltz v8, :cond_88
29507 move-object/from16 v4, p0
29509 move-object/from16 v7, p3
29513 invoke-direct/range {v4 .. v9}, Lcom/android/server/am/ActivityManagerService;->checkHoldingPermissionsLocked(Landroid/content/pm/IPackageManager;Landroid/content/pm/ProviderInfo;Landroid/net/Uri;II)Z
29517 if-eqz v4, :cond_a5
29524 iget-boolean v0, v6, Landroid/content/pm/ProviderInfo;->exported:Z
29526 move/from16 v16, v0
29528 and-int/lit8 v4, p4, 0x1
29530 if-eqz v4, :cond_96
29532 iget-object v4, v6, Landroid/content/pm/ProviderInfo;->readPermission:Ljava/lang/String;
29534 if-eqz v4, :cond_96
29539 and-int/lit8 v4, p4, 0x2
29541 if-eqz v4, :cond_a0
29543 iget-object v4, v6, Landroid/content/pm/ProviderInfo;->writePermission:Ljava/lang/String;
29545 if-eqz v4, :cond_a0
29550 if-eqz v16, :cond_a5
29557 iget-boolean v4, v6, Landroid/content/pm/ProviderInfo;->grantUriPermissions:Z
29559 if-nez v4, :cond_e2
29561 new-instance v4, Ljava/lang/SecurityException;
29563 new-instance v7, Ljava/lang/StringBuilder;
29565 invoke-direct {v7}, Ljava/lang/StringBuilder;-><init>()V
29567 const-string v9, "Provider "
29569 invoke-virtual {v7, v9}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
29571 move-result-object v7
29573 iget-object v9, v6, Landroid/content/pm/ProviderInfo;->packageName:Ljava/lang/String;
29575 invoke-virtual {v7, v9}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
29577 move-result-object v7
29579 const-string v9, "/"
29581 invoke-virtual {v7, v9}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
29583 move-result-object v7
29585 iget-object v9, v6, Landroid/content/pm/ProviderInfo;->name:Ljava/lang/String;
29587 invoke-virtual {v7, v9}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
29589 move-result-object v7
29591 const-string v9, " does not allow granting of Uri permissions (uri "
29593 invoke-virtual {v7, v9}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
29595 move-result-object v7
29597 move-object/from16 v0, p3
29599 invoke-virtual {v7, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
29601 move-result-object v7
29603 const-string v9, ")"
29605 invoke-virtual {v7, v9}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
29607 move-result-object v7
29609 invoke-virtual {v7}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
29611 move-result-object v7
29613 invoke-direct {v4, v7}, Ljava/lang/SecurityException;-><init>(Ljava/lang/String;)V
29618 iget-object v4, v6, Landroid/content/pm/ProviderInfo;->uriPermissionPatterns:[Landroid/os/PatternMatcher;
29620 if-eqz v4, :cond_13f
29622 iget-object v4, v6, Landroid/content/pm/ProviderInfo;->uriPermissionPatterns:[Landroid/os/PatternMatcher;
29624 array-length v15, v4
29631 move/from16 v0, v19
29633 if-ge v0, v15, :cond_107
29635 iget-object v4, v6, Landroid/content/pm/ProviderInfo;->uriPermissionPatterns:[Landroid/os/PatternMatcher;
29637 aget-object v4, v4, v19
29639 if-eqz v4, :cond_13c
29641 iget-object v4, v6, Landroid/content/pm/ProviderInfo;->uriPermissionPatterns:[Landroid/os/PatternMatcher;
29643 aget-object v4, v4, v19
29645 invoke-virtual/range {p3 .. p3}, Landroid/net/Uri;->getPath()Ljava/lang/String;
29647 move-result-object v7
29649 invoke-virtual {v4, v7}, Landroid/os/PatternMatcher;->match(Ljava/lang/String;)Z
29653 if-eqz v4, :cond_13c
29658 if-nez v16, :cond_13f
29660 new-instance v4, Ljava/lang/SecurityException;
29662 new-instance v7, Ljava/lang/StringBuilder;
29664 invoke-direct {v7}, Ljava/lang/StringBuilder;-><init>()V
29666 const-string v9, "Provider "
29668 invoke-virtual {v7, v9}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
29670 move-result-object v7
29672 iget-object v9, v6, Landroid/content/pm/ProviderInfo;->packageName:Ljava/lang/String;
29674 invoke-virtual {v7, v9}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
29676 move-result-object v7
29678 const-string v9, "/"
29680 invoke-virtual {v7, v9}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
29682 move-result-object v7
29684 iget-object v9, v6, Landroid/content/pm/ProviderInfo;->name:Ljava/lang/String;
29686 invoke-virtual {v7, v9}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
29688 move-result-object v7
29690 const-string v9, " does not allow granting of permission to path of Uri "
29692 invoke-virtual {v7, v9}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
29694 move-result-object v7
29696 move-object/from16 v0, p3
29698 invoke-virtual {v7, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
29700 move-result-object v7
29702 invoke-virtual {v7}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
29704 move-result-object v7
29706 invoke-direct {v4, v7}, Ljava/lang/SecurityException;-><init>(Ljava/lang/String;)V
29711 add-int/lit8 v19, v19, 0x1
29716 invoke-static {}, Landroid/os/Process;->myUid()I
29722 if-eq v0, v4, :cond_5
29724 move-object/from16 v9, p0
29726 move-object v10, v5
29728 move-object v11, v6
29730 move-object/from16 v12, p3
29732 move/from16 v13, p1
29734 move/from16 v14, p4
29736 invoke-direct/range {v9 .. v14}, Lcom/android/server/am/ActivityManagerService;->checkHoldingPermissionsLocked(Landroid/content/pm/IPackageManager;Landroid/content/pm/ProviderInfo;Landroid/net/Uri;II)Z
29742 move-object/from16 v0, p0
29744 move-object/from16 v1, p3
29750 invoke-direct {v0, v1, v2, v3}, Lcom/android/server/am/ActivityManagerService;->checkUriPermissionLocked(Landroid/net/Uri;II)Z
29756 new-instance v4, Ljava/lang/SecurityException;
29758 new-instance v7, Ljava/lang/StringBuilder;
29760 invoke-direct {v7}, Ljava/lang/StringBuilder;-><init>()V
29762 const-string v9, "Uid "
29764 invoke-virtual {v7, v9}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
29766 move-result-object v7
29770 invoke-virtual {v7, v0}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
29772 move-result-object v7
29774 const-string v9, " does not have permission to uri "
29776 invoke-virtual {v7, v9}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
29778 move-result-object v7
29780 move-object/from16 v0, p3
29782 invoke-virtual {v7, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
29784 move-result-object v7
29786 invoke-virtual {v7}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
29788 move-result-object v7
29790 invoke-direct {v4, v7}, Ljava/lang/SecurityException;-><init>(Ljava/lang/String;)V
29800 .method public checkPermission(Ljava/lang/String;II)I
29811 invoke-static {p3}, Landroid/os/UserId;->getAppId(I)I
29823 invoke-virtual/range {v0 .. v5}, Lcom/android/server/am/ActivityManagerService;->checkComponentPermission(Ljava/lang/String;IIIZ)I
29830 .method public checkUriPermission(Landroid/net/Uri;III)I
29835 const-string v2, "checkUriPermission"
29837 invoke-virtual {p0, v2}, Lcom/android/server/am/ActivityManagerService;->enforceNotIsolatedCaller(Ljava/lang/String;)V
29839 sget-object v2, Lcom/android/server/am/ActivityManagerService;->sCallerIdentity:Ljava/lang/ThreadLocal;
29841 invoke-virtual {v2}, Ljava/lang/ThreadLocal;->get()Ljava/lang/Object;
29843 move-result-object v0
29845 check-cast v0, Lcom/android/server/am/ActivityManagerService$Identity;
29847 if-eqz v0, :cond_14
29849 iget p3, v0, Lcom/android/server/am/ActivityManagerService$Identity;->uid:I
29851 iget p2, v0, Lcom/android/server/am/ActivityManagerService$Identity;->pid:I
29854 invoke-static {p3}, Landroid/os/UserId;->getAppId(I)I
29858 sget v2, Lcom/android/server/am/ActivityManagerService;->MY_PID:I
29860 if-ne p2, v2, :cond_1d
29869 invoke-direct {p0, p1, p3, p4}, Lcom/android/server/am/ActivityManagerService;->checkUriPermissionLocked(Landroid/net/Uri;II)Z
29873 if-eqz v2, :cond_29
29885 .catchall {:try_start_1e .. :try_end_28} :catchall_26
29895 .method public clearApplicationUserData(Ljava/lang/String;Landroid/content/pm/IPackageDataObserver;I)Z
29898 const-string v4, "clearApplicationUserData"
29900 move-object/from16 v0, p0
29902 invoke-virtual {v0, v4}, Lcom/android/server/am/ActivityManagerService;->enforceNotIsolatedCaller(Ljava/lang/String;)V
29904 invoke-static {}, Landroid/os/Binder;->getCallingUid()I
29908 invoke-static {}, Landroid/os/Binder;->getCallingPid()I
29912 invoke-static {}, Landroid/os/Binder;->clearCallingIdentity()J
29914 move-result-wide v21
29917 invoke-static {}, Landroid/app/AppGlobals;->getPackageManager()Landroid/content/pm/IPackageManager;
29919 move-result-object v24
29925 .catchall {:try_start_13 .. :try_end_1a} :catchall_d5
29928 move-object/from16 v0, v24
29930 move-object/from16 v1, p1
29934 invoke-interface {v0, v1, v2}, Landroid/content/pm/IPackageManager;->getPackageUid(Ljava/lang/String;I)I
29936 .catchall {:try_start_1a .. :try_end_23} :catchall_d2
29937 .catch Landroid/os/RemoteException; {:try_start_1a .. :try_end_23} :catch_da
29944 move/from16 v0, v23
29946 if-ne v0, v4, :cond_49
29949 const-string v4, "ActivityManager"
29951 new-instance v5, Ljava/lang/StringBuilder;
29953 invoke-direct {v5}, Ljava/lang/StringBuilder;-><init>()V
29955 const-string v8, "Invalid packageName:"
29957 invoke-virtual {v5, v8}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
29959 move-result-object v5
29961 move-object/from16 v0, p1
29963 invoke-virtual {v5, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
29965 move-result-object v5
29967 invoke-virtual {v5}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
29969 move-result-object v5
29971 invoke-static {v4, v5}, Landroid/util/Slog;->w(Ljava/lang/String;Ljava/lang/String;)I
29977 .catchall {:try_start_29 .. :try_end_45} :catchall_d2
29979 invoke-static/range {v21 .. v22}, Landroid/os/Binder;->restoreCallingIdentity(J)V
29985 move/from16 v0, v23
29987 if-eq v7, v0, :cond_59
29990 const-string v5, "android.permission.CLEAR_APP_USER_DATA"
29996 move-object/from16 v4, p0
29998 invoke-virtual/range {v4 .. v9}, Lcom/android/server/am/ActivityManagerService;->checkComponentPermission(Ljava/lang/String;IIIZ)I
30002 if-nez v4, :cond_a1
30005 move-object/from16 v0, p0
30007 move-object/from16 v1, p1
30009 move/from16 v2, v23
30011 invoke-direct {v0, v1, v2}, Lcom/android/server/am/ActivityManagerService;->forceStopPackageLocked(Ljava/lang/String;I)V
30015 .catchall {:try_start_4d .. :try_end_63} :catchall_d2
30018 move-object/from16 v0, v24
30020 move-object/from16 v1, p1
30022 move-object/from16 v2, p2
30026 invoke-interface {v0, v1, v2, v3}, Landroid/content/pm/IPackageManager;->clearApplicationUserData(Ljava/lang/String;Landroid/content/pm/IPackageDataObserver;I)V
30028 new-instance v11, Landroid/content/Intent;
30030 const-string v4, "android.intent.action.PACKAGE_DATA_CLEARED"
30032 const-string v5, "package"
30036 move-object/from16 v0, p1
30038 invoke-static {v5, v0, v8}, Landroid/net/Uri;->fromParts(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Landroid/net/Uri;
30040 move-result-object v5
30042 invoke-direct {v11, v4, v5}, Landroid/content/Intent;-><init>(Ljava/lang/String;Landroid/net/Uri;)V
30044 const-string v4, "android.intent.extra.UID"
30046 move/from16 v0, v23
30048 invoke-virtual {v11, v4, v0}, Landroid/content/Intent;->putExtra(Ljava/lang/String;I)Landroid/content/Intent;
30050 const-string v9, "android"
30052 const/16 v10, 0x3e8
30070 move-object/from16 v8, p0
30072 move/from16 v20, p3
30074 invoke-virtual/range {v8 .. v20}, 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
30076 .catchall {:try_start_63 .. :try_end_9c} :catchall_d5
30077 .catch Landroid/os/RemoteException; {:try_start_63 .. :try_end_9c} :catch_dd
30080 invoke-static/range {v21 .. v22}, Landroid/os/Binder;->restoreCallingIdentity(J)V
30088 new-instance v4, Ljava/lang/SecurityException;
30090 new-instance v5, Ljava/lang/StringBuilder;
30092 invoke-direct {v5}, Ljava/lang/StringBuilder;-><init>()V
30094 invoke-virtual {v5, v6}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
30096 move-result-object v5
30098 const-string v8, " does not have permission:"
30100 invoke-virtual {v5, v8}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
30102 move-result-object v5
30104 const-string v8, "android.permission.CLEAR_APP_USER_DATA"
30106 invoke-virtual {v5, v8}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
30108 move-result-object v5
30110 const-string v8, " to clear data"
30112 invoke-virtual {v5, v8}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
30114 move-result-object v5
30116 const-string v8, "for process:"
30118 invoke-virtual {v5, v8}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
30120 move-result-object v5
30122 move-object/from16 v0, p1
30124 invoke-virtual {v5, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
30126 move-result-object v5
30128 invoke-virtual {v5}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
30130 move-result-object v5
30132 invoke-direct {v4, v5}, Ljava/lang/SecurityException;-><init>(Ljava/lang/String;)V
30141 .catchall {:try_start_a1 .. :try_end_d4} :catchall_d2
30146 .catchall {:try_start_d4 .. :try_end_d5} :catchall_d5
30151 invoke-static/range {v21 .. v22}, Landroid/os/Binder;->restoreCallingIdentity(J)V
30166 .method public closeSystemDialogs(Ljava/lang/String;)V
30169 const-string v3, "closeSystemDialogs"
30171 invoke-virtual {p0, v3}, Lcom/android/server/am/ActivityManagerService;->enforceNotIsolatedCaller(Ljava/lang/String;)V
30173 invoke-static {}, Landroid/os/Binder;->getCallingUid()I
30177 invoke-static {}, Landroid/os/Binder;->clearCallingIdentity()J
30179 move-result-wide v0
30184 invoke-virtual {p0, v2, p1}, Lcom/android/server/am/ActivityManagerService;->closeSystemDialogsLocked(ILjava/lang/String;)V
30188 .catchall {:try_start_e .. :try_end_12} :catchall_16
30190 invoke-static {v0, v1}, Landroid/os/Binder;->restoreCallingIdentity(J)V
30200 .catchall {:try_start_17 .. :try_end_18} :catchall_16
30205 .method closeSystemDialogsLocked(ILjava/lang/String;)V
30208 new-instance v7, Landroid/content/Intent;
30210 const-string v1, "android.intent.action.CLOSE_SYSTEM_DIALOGS"
30212 invoke-direct {v7, v1}, Landroid/content/Intent;-><init>(Ljava/lang/String;)V
30214 const/high16 v1, 0x4000
30216 invoke-virtual {v7, v1}, Landroid/content/Intent;->addFlags(I)Landroid/content/Intent;
30218 if-eqz p2, :cond_15
30220 const-string v1, "reason"
30222 move-object/from16 v0, p2
30224 invoke-virtual {v7, v1, v0}, Landroid/content/Intent;->putExtra(Ljava/lang/String;Ljava/lang/String;)Landroid/content/Intent;
30227 move-object/from16 v0, p0
30229 iget-object v1, v0, Lcom/android/server/am/ActivityManagerService;->mWindowManager:Lcom/android/server/wm/WindowManagerService;
30231 move-object/from16 v0, p2
30233 invoke-virtual {v1, v0}, Lcom/android/server/wm/WindowManagerService;->closeSystemDialogs(Ljava/lang/String;)V
30235 move-object/from16 v0, p0
30237 iget-object v1, v0, Lcom/android/server/am/ActivityManagerService;->mMainStack:Lcom/android/server/am/ActivityStack;
30239 iget-object v1, v1, Lcom/android/server/am/ActivityStack;->mHistory:Ljava/util/ArrayList;
30241 invoke-virtual {v1}, Ljava/util/ArrayList;->size()I
30245 add-int/lit8 v3, v1, -0x1
30248 if-ltz v3, :cond_4c
30250 move-object/from16 v0, p0
30252 iget-object v1, v0, Lcom/android/server/am/ActivityManagerService;->mMainStack:Lcom/android/server/am/ActivityStack;
30254 iget-object v1, v1, Lcom/android/server/am/ActivityStack;->mHistory:Ljava/util/ArrayList;
30256 invoke-virtual {v1, v3}, Ljava/util/ArrayList;->get(I)Ljava/lang/Object;
30258 move-result-object v2
30260 check-cast v2, Lcom/android/server/am/ActivityRecord;
30262 iget-object v1, v2, Lcom/android/server/am/ActivityRecord;->info:Landroid/content/pm/ActivityInfo;
30264 iget v1, v1, Landroid/content/pm/ActivityInfo;->flags:I
30266 and-int/lit16 v1, v1, 0x100
30268 if-eqz v1, :cond_49
30270 iget-object v1, v2, Lcom/android/server/am/ActivityRecord;->stack:Lcom/android/server/am/ActivityStack;
30276 const-string v6, "close-sys"
30278 invoke-virtual/range {v1 .. v6}, Lcom/android/server/am/ActivityStack;->finishActivityLocked(Lcom/android/server/am/ActivityRecord;IILandroid/content/Intent;Ljava/lang/String;)Z
30281 add-int/lit8 v3, v3, -0x1
30310 move-object/from16 v4, p0
30312 move/from16 v17, p1
30314 invoke-direct/range {v4 .. v18}, 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
30319 .method collectProcesses(Ljava/io/PrintWriter;I[Ljava/lang/String;)Ljava/util/ArrayList;
30321 .annotation system Ldalvik/annotation/Signature;
30324 "Ljava/io/PrintWriter;",
30326 "Ljava/lang/String;",
30328 "Ljava/util/ArrayList",
30330 "Lcom/android/server/am/ProcessRecord;",
30337 if-eqz p3, :cond_6b
30340 array-length v4, p3
30342 if-le v4, p2, :cond_6b
30344 aget-object v4, p3, p2
30348 invoke-virtual {v4, v5}, Ljava/lang/String;->charAt(I)C
30354 if-eq v4, v5, :cond_6b
30356 new-instance v3, Ljava/util/ArrayList;
30358 invoke-direct {v3}, Ljava/util/ArrayList;-><init>()V
30360 .catchall {:try_start_3 .. :try_end_16} :catchall_47
30365 aget-object v4, p3, p2
30367 invoke-static {v4}, Ljava/lang/Integer;->parseInt(Ljava/lang/String;)I
30369 .catchall {:try_start_17 .. :try_end_1c} :catchall_47
30370 .catch Ljava/lang/NumberFormatException; {:try_start_17 .. :try_end_1c} :catch_75
30376 iget-object v4, p0, Lcom/android/server/am/ActivityManagerService;->mLruProcesses:Ljava/util/ArrayList;
30378 invoke-virtual {v4}, Ljava/util/ArrayList;->size()I
30382 add-int/lit8 v0, v4, -0x1
30385 if-ltz v0, :cond_4a
30387 iget-object v4, p0, Lcom/android/server/am/ActivityManagerService;->mLruProcesses:Ljava/util/ArrayList;
30389 invoke-virtual {v4, v0}, Ljava/util/ArrayList;->get(I)Ljava/lang/Object;
30391 move-result-object v2
30393 check-cast v2, Lcom/android/server/am/ProcessRecord;
30395 iget v4, v2, Lcom/android/server/am/ProcessRecord;->pid:I
30397 if-ne v4, v1, :cond_39
30399 invoke-virtual {v3, v2}, Ljava/util/ArrayList;->add(Ljava/lang/Object;)Z
30403 add-int/lit8 v0, v0, -0x1
30408 iget-object v4, v2, Lcom/android/server/am/ProcessRecord;->processName:Ljava/lang/String;
30410 aget-object v5, p3, p2
30412 invoke-virtual {v4, v5}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
30416 if-eqz v4, :cond_36
30418 invoke-virtual {v3, v2}, Ljava/util/ArrayList;->add(Ljava/lang/Object;)Z
30427 .catchall {:try_start_1d .. :try_end_49} :catchall_47
30433 invoke-virtual {v3}, Ljava/util/ArrayList;->size()I
30437 if-gtz v4, :cond_72
30439 new-instance v4, Ljava/lang/StringBuilder;
30441 invoke-direct {v4}, Ljava/lang/StringBuilder;-><init>()V
30443 const-string v5, "No process found for: "
30445 invoke-virtual {v4, v5}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
30447 move-result-object v4
30449 aget-object v5, p3, p2
30451 invoke-virtual {v4, v5}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
30453 move-result-object v4
30455 invoke-virtual {v4}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
30457 move-result-object v4
30459 invoke-virtual {p1, v4}, Ljava/io/PrintWriter;->println(Ljava/lang/String;)V
30469 new-instance v3, Ljava/util/ArrayList;
30471 iget-object v4, p0, Lcom/android/server/am/ActivityManagerService;->mLruProcesses:Ljava/util/ArrayList;
30473 invoke-direct {v3, v4}, Ljava/util/ArrayList;-><init>(Ljava/util/Collection;)V
30478 .catchall {:try_start_4a .. :try_end_73} :catchall_47
30490 .method compatibilityInfoForPackageLocked(Landroid/content/pm/ApplicationInfo;)Landroid/content/res/CompatibilityInfo;
30493 iget-object v0, p0, Lcom/android/server/am/ActivityManagerService;->mCompatModePackages:Lcom/android/server/am/CompatModePackages;
30495 invoke-virtual {v0, p1}, Lcom/android/server/am/CompatModePackages;->compatibilityInfoForPackageLocked(Landroid/content/pm/ApplicationInfo;)Landroid/content/res/CompatibilityInfo;
30497 move-result-object v0
30502 .method public crashApplication(IILjava/lang/String;Ljava/lang/String;)V
30505 const-string v8, "android.permission.FORCE_STOP_PACKAGES"
30507 invoke-virtual {p0, v8}, Lcom/android/server/am/ActivityManagerService;->checkCallingPermission(Ljava/lang/String;)I
30511 if-eqz v8, :cond_44
30513 new-instance v8, Ljava/lang/StringBuilder;
30515 invoke-direct {v8}, Ljava/lang/StringBuilder;-><init>()V
30517 const-string v9, "Permission Denial: crashApplication() from pid="
30519 invoke-virtual {v8, v9}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
30521 move-result-object v8
30523 invoke-static {}, Landroid/os/Binder;->getCallingPid()I
30527 invoke-virtual {v8, v9}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
30529 move-result-object v8
30531 const-string v9, ", uid="
30533 invoke-virtual {v8, v9}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
30535 move-result-object v8
30537 invoke-static {}, Landroid/os/Binder;->getCallingUid()I
30541 invoke-virtual {v8, v9}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
30543 move-result-object v8
30545 const-string v9, " requires "
30547 invoke-virtual {v8, v9}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
30549 move-result-object v8
30551 const-string v9, "android.permission.FORCE_STOP_PACKAGES"
30553 invoke-virtual {v8, v9}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
30555 move-result-object v8
30557 invoke-virtual {v8}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
30559 move-result-object v4
30561 const-string v8, "ActivityManager"
30563 invoke-static {v8, v4}, Landroid/util/Slog;->w(Ljava/lang/String;Ljava/lang/String;)I
30565 new-instance v8, Ljava/lang/SecurityException;
30567 invoke-direct {v8, v4}, Ljava/lang/SecurityException;-><init>(Ljava/lang/String;)V
30577 iget-object v9, p0, Lcom/android/server/am/ActivityManagerService;->mPidsSelfLocked:Landroid/util/SparseArray;
30581 .catchall {:try_start_46 .. :try_end_49} :catchall_b4
30587 iget-object v8, p0, Lcom/android/server/am/ActivityManagerService;->mPidsSelfLocked:Landroid/util/SparseArray;
30589 invoke-virtual {v8}, Landroid/util/SparseArray;->size()I
30593 if-ge v0, v8, :cond_66
30595 iget-object v8, p0, Lcom/android/server/am/ActivityManagerService;->mPidsSelfLocked:Landroid/util/SparseArray;
30597 invoke-virtual {v8, v0}, Landroid/util/SparseArray;->valueAt(I)Ljava/lang/Object;
30599 move-result-object v5
30601 check-cast v5, Lcom/android/server/am/ProcessRecord;
30603 iget v8, v5, Lcom/android/server/am/ProcessRecord;->uid:I
30605 if-eq v8, p1, :cond_61
30608 add-int/lit8 v0, v0, 0x1
30613 iget v8, v5, Lcom/android/server/am/ProcessRecord;->pid:I
30615 if-ne v8, p2, :cond_97
30622 .catchall {:try_start_4a .. :try_end_67} :catchall_b1
30624 if-nez v6, :cond_b7
30627 const-string v8, "ActivityManager"
30629 new-instance v9, Ljava/lang/StringBuilder;
30631 invoke-direct {v9}, Ljava/lang/StringBuilder;-><init>()V
30633 const-string v10, "crashApplication: nothing for uid="
30635 invoke-virtual {v9, v10}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
30637 move-result-object v9
30639 invoke-virtual {v9, p1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
30641 move-result-object v9
30643 const-string v10, " initialPid="
30645 invoke-virtual {v9, v10}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
30647 move-result-object v9
30649 invoke-virtual {v9, p2}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
30651 move-result-object v9
30653 const-string v10, " packageName="
30655 invoke-virtual {v9, v10}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
30657 move-result-object v9
30659 invoke-virtual {v9, p3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
30661 move-result-object v9
30663 invoke-virtual {v9}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
30665 move-result-object v9
30667 invoke-static {v8, v9}, Landroid/util/Slog;->w(Ljava/lang/String;Ljava/lang/String;)I
30671 .catchall {:try_start_69 .. :try_end_96} :catchall_b4
30678 iget-object v8, v5, Lcom/android/server/am/ProcessRecord;->pkgList:Ljava/util/HashSet;
30680 invoke-virtual {v8}, Ljava/util/HashSet;->iterator()Ljava/util/Iterator;
30682 move-result-object v1
30686 invoke-interface {v1}, Ljava/util/Iterator;->hasNext()Z
30690 if-eqz v8, :cond_5e
30692 invoke-interface {v1}, Ljava/util/Iterator;->next()Ljava/lang/Object;
30694 move-result-object v7
30696 check-cast v7, Ljava/lang/String;
30698 invoke-virtual {v7, p3}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
30702 if-eqz v8, :cond_9d
30713 .catchall {:try_start_97 .. :try_end_b3} :catchall_b1
30723 .catchall {:try_start_b3 .. :try_end_b6} :catchall_b4
30729 iget-object v8, v6, Lcom/android/server/am/ProcessRecord;->thread:Landroid/app/IApplicationThread;
30731 if-eqz v8, :cond_d8
30733 iget v8, v6, Lcom/android/server/am/ProcessRecord;->pid:I
30735 invoke-static {}, Landroid/os/Process;->myPid()I
30739 if-ne v8, v9, :cond_cc
30741 const-string v8, "ActivityManager"
30743 const-string v9, "crashApplication: trying to crash self!"
30745 invoke-static {v8, v9}, Landroid/util/Log;->w(Ljava/lang/String;Ljava/lang/String;)I
30752 invoke-static {}, Landroid/os/Binder;->clearCallingIdentity()J
30754 .catchall {:try_start_b7 .. :try_end_cf} :catchall_b4
30756 move-result-wide v2
30759 iget-object v8, v6, Lcom/android/server/am/ProcessRecord;->thread:Landroid/app/IApplicationThread;
30761 invoke-interface {v8, p4}, Landroid/app/IApplicationThread;->scheduleCrash(Ljava/lang/String;)V
30763 .catchall {:try_start_d0 .. :try_end_d5} :catchall_b4
30764 .catch Landroid/os/RemoteException; {:try_start_d0 .. :try_end_d5} :catch_da
30768 invoke-static {v2, v3}, Landroid/os/Binder;->restoreCallingIdentity(J)V
30773 .catchall {:try_start_d5 .. :try_end_d9} :catchall_b4
30783 .method createAppErrorIntentLocked(Lcom/android/server/am/ProcessRecord;JLandroid/app/ApplicationErrorReport$CrashInfo;)Landroid/content/Intent;
30786 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;
30788 move-result-object v0
30798 new-instance v1, Landroid/content/Intent;
30800 const-string v2, "android.intent.action.APP_ERROR"
30802 invoke-direct {v1, v2}, Landroid/content/Intent;-><init>(Ljava/lang/String;)V
30804 iget-object v2, p1, Lcom/android/server/am/ProcessRecord;->errorReportReceiver:Landroid/content/ComponentName;
30806 invoke-virtual {v1, v2}, Landroid/content/Intent;->setComponent(Landroid/content/ComponentName;)Landroid/content/Intent;
30808 const-string v2, "android.intent.extra.BUG_REPORT"
30810 invoke-virtual {v1, v2, v0}, Landroid/content/Intent;->putExtra(Ljava/lang/String;Landroid/os/Parcelable;)Landroid/content/Intent;
30812 const/high16 v2, 0x1000
30814 invoke-virtual {v1, v2}, Landroid/content/Intent;->addFlags(I)Landroid/content/Intent;
30819 .method decProviderCountLocked(Lcom/android/server/am/ContentProviderConnection;Lcom/android/server/am/ContentProviderRecord;Landroid/os/IBinder;Z)Z
30824 if-eqz p1, :cond_2a
30826 iget-object p2, p1, Lcom/android/server/am/ContentProviderConnection;->provider:Lcom/android/server/am/ContentProviderRecord;
30828 if-eqz p4, :cond_23
30830 iget v1, p1, Lcom/android/server/am/ContentProviderConnection;->stableCount:I
30832 add-int/lit8 v1, v1, -0x1
30834 iput v1, p1, Lcom/android/server/am/ContentProviderConnection;->stableCount:I
30837 iget v1, p1, Lcom/android/server/am/ContentProviderConnection;->stableCount:I
30839 if-nez v1, :cond_22
30841 iget v1, p1, Lcom/android/server/am/ContentProviderConnection;->unstableCount:I
30843 if-nez v1, :cond_22
30845 iget-object v0, p2, Lcom/android/server/am/ContentProviderRecord;->connections:Ljava/util/ArrayList;
30847 invoke-virtual {v0, p1}, Ljava/util/ArrayList;->remove(Ljava/lang/Object;)Z
30849 iget-object v0, p1, Lcom/android/server/am/ContentProviderConnection;->client:Lcom/android/server/am/ProcessRecord;
30851 iget-object v0, v0, Lcom/android/server/am/ProcessRecord;->conProviders:Ljava/util/ArrayList;
30853 invoke-virtual {v0, p1}, Ljava/util/ArrayList;->remove(Ljava/lang/Object;)Z
30862 iget v1, p1, Lcom/android/server/am/ContentProviderConnection;->unstableCount:I
30864 add-int/lit8 v1, v1, -0x1
30866 iput v1, p1, Lcom/android/server/am/ContentProviderConnection;->unstableCount:I
30871 invoke-virtual {p2, p3}, Lcom/android/server/am/ContentProviderRecord;->removeExternalProcessHandleLocked(Landroid/os/IBinder;)Z
30876 .method public dismissKeyguardOnNextActivity()V
30879 const-string v2, "dismissKeyguardOnNextActivity"
30881 invoke-virtual {p0, v2}, Lcom/android/server/am/ActivityManagerService;->enforceNotIsolatedCaller(Ljava/lang/String;)V
30883 invoke-static {}, Landroid/os/Binder;->clearCallingIdentity()J
30885 move-result-wide v0
30890 .catchall {:try_start_9 .. :try_end_a} :catchall_21
30893 iget-boolean v2, p0, Lcom/android/server/am/ActivityManagerService;->mLockScreenShown:Z
30895 if-eqz v2, :cond_14
30899 iput-boolean v2, p0, Lcom/android/server/am/ActivityManagerService;->mLockScreenShown:Z
30901 invoke-direct {p0}, Lcom/android/server/am/ActivityManagerService;->comeOutOfSleepIfNeededLocked()V
30904 iget-object v2, p0, Lcom/android/server/am/ActivityManagerService;->mMainStack:Lcom/android/server/am/ActivityStack;
30906 invoke-virtual {v2}, Lcom/android/server/am/ActivityStack;->dismissKeyguardOnNextActivityLocked()V
30910 .catchall {:try_start_a .. :try_end_1a} :catchall_1e
30912 invoke-static {v0, v1}, Landroid/os/Binder;->restoreCallingIdentity(J)V
30922 .catchall {:try_start_1f .. :try_end_20} :catchall_1e
30927 .catchall {:try_start_20 .. :try_end_21} :catchall_21
30932 invoke-static {v0, v1}, Landroid/os/Binder;->restoreCallingIdentity(J)V
30937 .method final doPendingActivityLaunchesLocked(Z)V
30940 iget-object v0, p0, Lcom/android/server/am/ActivityManagerService;->mPendingActivityLaunches:Ljava/util/ArrayList;
30942 invoke-virtual {v0}, Ljava/util/ArrayList;->size()I
30955 if-ge v7, v6, :cond_2c
30957 iget-object v0, p0, Lcom/android/server/am/ActivityManagerService;->mPendingActivityLaunches:Ljava/util/ArrayList;
30959 invoke-virtual {v0, v7}, Ljava/util/ArrayList;->get(I)Ljava/lang/Object;
30961 move-result-object v8
30963 check-cast v8, Lcom/android/server/am/ActivityManagerService$PendingActivityLaunch;
30965 iget-object v0, p0, Lcom/android/server/am/ActivityManagerService;->mMainStack:Lcom/android/server/am/ActivityStack;
30967 iget-object v1, v8, Lcom/android/server/am/ActivityManagerService$PendingActivityLaunch;->r:Lcom/android/server/am/ActivityRecord;
30969 iget-object v2, v8, Lcom/android/server/am/ActivityManagerService$PendingActivityLaunch;->sourceRecord:Lcom/android/server/am/ActivityRecord;
30971 iget v3, v8, Lcom/android/server/am/ActivityManagerService$PendingActivityLaunch;->startFlags:I
30973 if-eqz p1, :cond_2a
30975 add-int/lit8 v4, v6, -0x1
30977 if-ne v7, v4, :cond_2a
30984 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
30986 add-int/lit8 v7, v7, 0x1
30996 iget-object v0, p0, Lcom/android/server/am/ActivityManagerService;->mPendingActivityLaunches:Ljava/util/ArrayList;
30998 invoke-virtual {v0}, Ljava/util/ArrayList;->clear()V
31003 .method protected dump(Ljava/io/FileDescriptor;Ljava/io/PrintWriter;[Ljava/lang/String;)V
31006 const-string v1, "android.permission.DUMP"
31008 move-object/from16 v0, p0
31010 invoke-virtual {v0, v1}, Lcom/android/server/am/ActivityManagerService;->checkCallingPermission(Ljava/lang/String;)I
31014 if-eqz v1, :cond_41
31016 new-instance v1, Ljava/lang/StringBuilder;
31018 invoke-direct {v1}, Ljava/lang/StringBuilder;-><init>()V
31020 const-string v2, "Permission Denial: can\'t dump ActivityManager from from pid="
31022 invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
31024 move-result-object v1
31026 invoke-static {}, Landroid/os/Binder;->getCallingPid()I
31030 invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
31032 move-result-object v1
31034 const-string v2, ", uid="
31036 invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
31038 move-result-object v1
31040 invoke-static {}, Landroid/os/Binder;->getCallingUid()I
31044 invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
31046 move-result-object v1
31048 const-string v2, " without permission "
31050 invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
31052 move-result-object v1
31054 const-string v2, "android.permission.DUMP"
31056 invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
31058 move-result-object v1
31060 invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
31062 move-result-object v1
31064 move-object/from16 v0, p2
31066 invoke-virtual {v0, v1}, Ljava/io/PrintWriter;->println(Ljava/lang/String;)V
31081 move-object/from16 v0, p3
31083 array-length v1, v0
31085 if-ge v5, v1, :cond_61
31087 aget-object v31, p3, v5
31089 if-eqz v31, :cond_61
31091 invoke-virtual/range {v31 .. v31}, Ljava/lang/String;->length()I
31095 if-lez v1, :cond_61
31099 move-object/from16 v0, v31
31101 invoke-virtual {v0, v1}, Ljava/lang/String;->charAt(I)C
31107 if-eq v1, v2, :cond_99
31110 invoke-static {}, Landroid/os/Binder;->clearCallingIdentity()J
31112 move-result-wide v32
31116 move-object/from16 v0, p3
31118 array-length v1, v0
31120 if-ge v5, v1, :cond_401
31122 aget-object v21, p3, v5
31124 add-int/lit8 v5, v5, 0x1
31126 const-string v1, "activities"
31128 move-object/from16 v0, v21
31130 invoke-virtual {v1, v0}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
31134 if-nez v1, :cond_84
31136 const-string v1, "a"
31138 move-object/from16 v0, v21
31140 invoke-virtual {v1, v0}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
31144 if-eqz v1, :cond_178
31153 move-object/from16 v1, p0
31155 move-object/from16 v2, p1
31157 move-object/from16 v3, p2
31159 move-object/from16 v4, p3
31162 invoke-virtual/range {v1 .. v8}, Lcom/android/server/am/ActivityManagerService;->dumpActivitiesLocked(Ljava/io/FileDescriptor;Ljava/io/PrintWriter;[Ljava/lang/String;IZZLjava/lang/String;)Z
31166 .catchall {:try_start_8f .. :try_end_93} :catchall_175
31170 if-nez v29, :cond_401
31172 invoke-static/range {v32 .. v33}, Landroid/os/Binder;->restoreCallingIdentity(J)V
31177 add-int/lit8 v5, v5, 0x1
31179 const-string v1, "-a"
31181 move-object/from16 v0, v31
31183 invoke-virtual {v1, v0}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
31187 if-eqz v1, :cond_a8
31194 const-string v1, "-c"
31196 move-object/from16 v0, v31
31198 invoke-virtual {v1, v0}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
31202 if-eqz v1, :cond_b4
31209 const-string v1, "-h"
31211 move-object/from16 v0, v31
31213 invoke-virtual {v1, v0}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
31217 if-eqz v1, :cond_153
31219 const-string v1, "Activity manager dump options:"
31221 move-object/from16 v0, p2
31223 invoke-virtual {v0, v1}, Ljava/io/PrintWriter;->println(Ljava/lang/String;)V
31225 const-string v1, " [-a] [-c] [-h] [cmd] ..."
31227 move-object/from16 v0, p2
31229 invoke-virtual {v0, v1}, Ljava/io/PrintWriter;->println(Ljava/lang/String;)V
31231 const-string v1, " cmd may be one of:"
31233 move-object/from16 v0, p2
31235 invoke-virtual {v0, v1}, Ljava/io/PrintWriter;->println(Ljava/lang/String;)V
31237 const-string v1, " a[ctivities]: activity stack state"
31239 move-object/from16 v0, p2
31241 invoke-virtual {v0, v1}, Ljava/io/PrintWriter;->println(Ljava/lang/String;)V
31243 const-string v1, " b[roadcasts] [PACKAGE_NAME]: broadcast state"
31245 move-object/from16 v0, p2
31247 invoke-virtual {v0, v1}, Ljava/io/PrintWriter;->println(Ljava/lang/String;)V
31249 const-string v1, " i[ntents] [PACKAGE_NAME]: pending intent state"
31251 move-object/from16 v0, p2
31253 invoke-virtual {v0, v1}, Ljava/io/PrintWriter;->println(Ljava/lang/String;)V
31255 const-string v1, " p[rocesses] [PACKAGE_NAME]: process state"
31257 move-object/from16 v0, p2
31259 invoke-virtual {v0, v1}, Ljava/io/PrintWriter;->println(Ljava/lang/String;)V
31261 const-string v1, " o[om]: out of memory management"
31263 move-object/from16 v0, p2
31265 invoke-virtual {v0, v1}, Ljava/io/PrintWriter;->println(Ljava/lang/String;)V
31267 const-string v1, " prov[iders] [COMP_SPEC ...]: content provider state"
31269 move-object/from16 v0, p2
31271 invoke-virtual {v0, v1}, Ljava/io/PrintWriter;->println(Ljava/lang/String;)V
31273 const-string v1, " provider [COMP_SPEC]: provider client-side state"
31275 move-object/from16 v0, p2
31277 invoke-virtual {v0, v1}, Ljava/io/PrintWriter;->println(Ljava/lang/String;)V
31279 const-string v1, " s[ervices] [COMP_SPEC ...]: service state"
31281 move-object/from16 v0, p2
31283 invoke-virtual {v0, v1}, Ljava/io/PrintWriter;->println(Ljava/lang/String;)V
31285 const-string v1, " service [COMP_SPEC]: service client-side state"
31287 move-object/from16 v0, p2
31289 invoke-virtual {v0, v1}, Ljava/io/PrintWriter;->println(Ljava/lang/String;)V
31291 const-string v1, " package [PACKAGE_NAME]: all state related to given package"
31293 move-object/from16 v0, p2
31295 invoke-virtual {v0, v1}, Ljava/io/PrintWriter;->println(Ljava/lang/String;)V
31297 const-string v1, " all: dump all activities"
31299 move-object/from16 v0, p2
31301 invoke-virtual {v0, v1}, Ljava/io/PrintWriter;->println(Ljava/lang/String;)V
31303 const-string v1, " top: dump the top activity"
31305 move-object/from16 v0, p2
31307 invoke-virtual {v0, v1}, Ljava/io/PrintWriter;->println(Ljava/lang/String;)V
31309 const-string v1, " cmd may also be a COMP_SPEC to dump activities."
31311 move-object/from16 v0, p2
31313 invoke-virtual {v0, v1}, Ljava/io/PrintWriter;->println(Ljava/lang/String;)V
31315 const-string v1, " COMP_SPEC may be a component name (com.foo/.myApp),"
31317 move-object/from16 v0, p2
31319 invoke-virtual {v0, v1}, Ljava/io/PrintWriter;->println(Ljava/lang/String;)V
31321 const-string v1, " a partial substring in a component name, a"
31323 move-object/from16 v0, p2
31325 invoke-virtual {v0, v1}, Ljava/io/PrintWriter;->println(Ljava/lang/String;)V
31327 const-string v1, " hex object identifier."
31329 move-object/from16 v0, p2
31331 invoke-virtual {v0, v1}, Ljava/io/PrintWriter;->println(Ljava/lang/String;)V
31333 const-string v1, " -a: include all available server state."
31335 move-object/from16 v0, p2
31337 invoke-virtual {v0, v1}, Ljava/io/PrintWriter;->println(Ljava/lang/String;)V
31339 const-string v1, " -c: include client state."
31341 move-object/from16 v0, p2
31343 invoke-virtual {v0, v1}, Ljava/io/PrintWriter;->println(Ljava/lang/String;)V
31348 new-instance v1, Ljava/lang/StringBuilder;
31350 invoke-direct {v1}, Ljava/lang/StringBuilder;-><init>()V
31352 const-string v2, "Unknown argument: "
31354 invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
31356 move-result-object v1
31358 move-object/from16 v0, v31
31360 invoke-virtual {v1, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
31362 move-result-object v1
31364 const-string v2, "; use -h for help"
31366 invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
31368 move-result-object v1
31370 invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
31372 move-result-object v1
31374 move-object/from16 v0, p2
31376 invoke-virtual {v0, v1}, Ljava/io/PrintWriter;->println(Ljava/lang/String;)V
31386 .catchall {:try_start_176 .. :try_end_177} :catchall_175
31391 const-string v1, "broadcasts"
31393 move-object/from16 v0, v21
31395 invoke-virtual {v1, v0}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
31399 if-nez v1, :cond_18c
31401 const-string v1, "b"
31403 move-object/from16 v0, v21
31405 invoke-virtual {v1, v0}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
31409 if-eqz v1, :cond_1c3
31412 move-object/from16 v0, p3
31414 array-length v1, v0
31416 if-lt v5, v1, :cond_1a8
31420 sget-object v15, Lcom/android/server/am/ActivityManagerService;->EMPTY_STRING_ARRAY:[Ljava/lang/String;
31428 move-object/from16 v8, p0
31430 move-object/from16 v9, p1
31432 move-object/from16 v10, p2
31434 move-object/from16 v11, p3
31439 invoke-virtual/range {v8 .. v14}, Lcom/android/server/am/ActivityManagerService;->dumpBroadcastsLocked(Ljava/io/FileDescriptor;Ljava/io/PrintWriter;[Ljava/lang/String;IZLjava/lang/String;)Z
31450 .catchall {:try_start_19f .. :try_end_1a7} :catchall_1a5
31455 aget-object v14, p3, v5
31457 add-int/lit8 v5, v5, 0x1
31459 move-object/from16 v0, p3
31461 array-length v1, v0
31463 sub-int/2addr v1, v5
31465 new-array v15, v1, [Ljava/lang/String;
31467 move-object/from16 v0, p3
31469 array-length v1, v0
31473 if-le v1, v2, :cond_194
31477 move-object/from16 v0, p3
31479 array-length v2, v0
31481 sub-int/2addr v2, v5
31483 move-object/from16 v0, p3
31485 invoke-static {v0, v5, v15, v1, v2}, Ljava/lang/System;->arraycopy(Ljava/lang/Object;ILjava/lang/Object;II)V
31490 const-string v1, "intents"
31492 move-object/from16 v0, v21
31494 invoke-virtual {v1, v0}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
31498 if-nez v1, :cond_1d7
31500 const-string v1, "i"
31502 move-object/from16 v0, v21
31504 invoke-virtual {v1, v0}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
31508 if-eqz v1, :cond_20e
31511 move-object/from16 v0, p3
31513 array-length v1, v0
31515 if-lt v5, v1, :cond_1f3
31519 sget-object v15, Lcom/android/server/am/ActivityManagerService;->EMPTY_STRING_ARRAY:[Ljava/lang/String;
31527 move-object/from16 v8, p0
31529 move-object/from16 v9, p1
31531 move-object/from16 v10, p2
31533 move-object/from16 v11, p3
31538 invoke-virtual/range {v8 .. v14}, Lcom/android/server/am/ActivityManagerService;->dumpPendingIntentsLocked(Ljava/io/FileDescriptor;Ljava/io/PrintWriter;[Ljava/lang/String;IZLjava/lang/String;)Z
31549 .catchall {:try_start_1ea .. :try_end_1f2} :catchall_1f0
31554 aget-object v14, p3, v5
31556 add-int/lit8 v5, v5, 0x1
31558 move-object/from16 v0, p3
31560 array-length v1, v0
31562 sub-int/2addr v1, v5
31564 new-array v15, v1, [Ljava/lang/String;
31566 move-object/from16 v0, p3
31568 array-length v1, v0
31572 if-le v1, v2, :cond_1df
31576 move-object/from16 v0, p3
31578 array-length v2, v0
31580 sub-int/2addr v2, v5
31582 move-object/from16 v0, p3
31584 invoke-static {v0, v5, v15, v1, v2}, Ljava/lang/System;->arraycopy(Ljava/lang/Object;ILjava/lang/Object;II)V
31589 const-string v1, "processes"
31591 move-object/from16 v0, v21
31593 invoke-virtual {v1, v0}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
31597 if-nez v1, :cond_222
31599 const-string v1, "p"
31601 move-object/from16 v0, v21
31603 invoke-virtual {v1, v0}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
31607 if-eqz v1, :cond_259
31610 move-object/from16 v0, p3
31612 array-length v1, v0
31614 if-lt v5, v1, :cond_23e
31618 sget-object v15, Lcom/android/server/am/ActivityManagerService;->EMPTY_STRING_ARRAY:[Ljava/lang/String;
31626 move-object/from16 v8, p0
31628 move-object/from16 v9, p1
31630 move-object/from16 v10, p2
31632 move-object/from16 v11, p3
31637 invoke-virtual/range {v8 .. v14}, Lcom/android/server/am/ActivityManagerService;->dumpProcessesLocked(Ljava/io/FileDescriptor;Ljava/io/PrintWriter;[Ljava/lang/String;IZLjava/lang/String;)Z
31648 .catchall {:try_start_235 .. :try_end_23d} :catchall_23b
31653 aget-object v14, p3, v5
31655 add-int/lit8 v5, v5, 0x1
31657 move-object/from16 v0, p3
31659 array-length v1, v0
31661 sub-int/2addr v1, v5
31663 new-array v15, v1, [Ljava/lang/String;
31665 move-object/from16 v0, p3
31667 array-length v1, v0
31671 if-le v1, v2, :cond_22a
31675 move-object/from16 v0, p3
31677 array-length v2, v0
31679 sub-int/2addr v2, v5
31681 move-object/from16 v0, p3
31683 invoke-static {v0, v5, v15, v1, v2}, Ljava/lang/System;->arraycopy(Ljava/lang/Object;ILjava/lang/Object;II)V
31688 const-string v1, "oom"
31690 move-object/from16 v0, v21
31692 invoke-virtual {v1, v0}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
31696 if-nez v1, :cond_26d
31698 const-string v1, "o"
31700 move-object/from16 v0, v21
31702 invoke-virtual {v1, v0}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
31706 if-eqz v1, :cond_280
31713 move-object/from16 v1, p0
31715 move-object/from16 v2, p1
31717 move-object/from16 v3, p2
31719 move-object/from16 v4, p3
31722 invoke-virtual/range {v1 .. v6}, Lcom/android/server/am/ActivityManagerService;->dumpOomLocked(Ljava/io/FileDescriptor;Ljava/io/PrintWriter;[Ljava/lang/String;IZ)Z
31733 .catchall {:try_start_277 .. :try_end_27f} :catchall_27d
31738 const-string v1, "provider"
31740 move-object/from16 v0, v21
31742 invoke-virtual {v1, v0}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
31746 if-eqz v1, :cond_2dc
31748 move-object/from16 v0, p3
31750 array-length v1, v0
31752 if-lt v5, v1, :cond_2c1
31756 sget-object v15, Lcom/android/server/am/ActivityManagerService;->EMPTY_STRING_ARRAY:[Ljava/lang/String;
31762 move-object/from16 v11, p0
31764 move-object/from16 v12, p1
31766 move-object/from16 v13, p2
31768 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
31772 if-nez v1, :cond_93
31774 new-instance v1, Ljava/lang/StringBuilder;
31776 invoke-direct {v1}, Ljava/lang/StringBuilder;-><init>()V
31778 const-string v2, "No providers match: "
31780 invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
31782 move-result-object v1
31784 invoke-virtual {v1, v14}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
31786 move-result-object v1
31788 invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
31790 move-result-object v1
31792 move-object/from16 v0, p2
31794 invoke-virtual {v0, v1}, Ljava/io/PrintWriter;->println(Ljava/lang/String;)V
31796 const-string v1, "Use -h for help."
31798 move-object/from16 v0, p2
31800 invoke-virtual {v0, v1}, Ljava/io/PrintWriter;->println(Ljava/lang/String;)V
31805 aget-object v14, p3, v5
31807 add-int/lit8 v5, v5, 0x1
31809 move-object/from16 v0, p3
31811 array-length v1, v0
31813 sub-int/2addr v1, v5
31815 new-array v15, v1, [Ljava/lang/String;
31817 move-object/from16 v0, p3
31819 array-length v1, v0
31823 if-le v1, v2, :cond_292
31827 move-object/from16 v0, p3
31829 array-length v2, v0
31831 sub-int/2addr v2, v5
31833 move-object/from16 v0, p3
31835 invoke-static {v0, v5, v15, v1, v2}, Ljava/lang/System;->arraycopy(Ljava/lang/Object;ILjava/lang/Object;II)V
31840 const-string v1, "providers"
31842 move-object/from16 v0, v21
31844 invoke-virtual {v1, v0}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
31848 if-nez v1, :cond_2f0
31850 const-string v1, "prov"
31852 move-object/from16 v0, v21
31854 invoke-virtual {v1, v0}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
31858 if-eqz v1, :cond_308
31867 move-object/from16 v18, p0
31869 move-object/from16 v19, p1
31871 move-object/from16 v20, p2
31873 move-object/from16 v21, p3
31875 move/from16 v22, v5
31878 invoke-virtual/range {v18 .. v24}, Lcom/android/server/am/ActivityManagerService;->dumpProvidersLocked(Ljava/io/FileDescriptor;Ljava/io/PrintWriter;[Ljava/lang/String;IZLjava/lang/String;)Z
31889 .catchall {:try_start_2ff .. :try_end_307} :catchall_305
31894 const-string v1, "service"
31896 move-object/from16 v0, v21
31898 invoke-virtual {v1, v0}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
31902 if-eqz v1, :cond_364
31904 move-object/from16 v0, p3
31906 array-length v1, v0
31908 if-lt v5, v1, :cond_349
31912 sget-object v15, Lcom/android/server/am/ActivityManagerService;->EMPTY_STRING_ARRAY:[Ljava/lang/String;
31918 move-object/from16 v11, p0
31920 move-object/from16 v12, p1
31922 move-object/from16 v13, p2
31924 invoke-virtual/range {v11 .. v17}, Lcom/android/server/am/ActivityManagerService;->dumpService(Ljava/io/FileDescriptor;Ljava/io/PrintWriter;Ljava/lang/String;[Ljava/lang/String;IZ)Z
31928 if-nez v1, :cond_93
31930 new-instance v1, Ljava/lang/StringBuilder;
31932 invoke-direct {v1}, Ljava/lang/StringBuilder;-><init>()V
31934 const-string v2, "No services match: "
31936 invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
31938 move-result-object v1
31940 invoke-virtual {v1, v14}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
31942 move-result-object v1
31944 invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
31946 move-result-object v1
31948 move-object/from16 v0, p2
31950 invoke-virtual {v0, v1}, Ljava/io/PrintWriter;->println(Ljava/lang/String;)V
31952 const-string v1, "Use -h for help."
31954 move-object/from16 v0, p2
31956 invoke-virtual {v0, v1}, Ljava/io/PrintWriter;->println(Ljava/lang/String;)V
31961 aget-object v14, p3, v5
31963 add-int/lit8 v5, v5, 0x1
31965 move-object/from16 v0, p3
31967 array-length v1, v0
31969 sub-int/2addr v1, v5
31971 new-array v15, v1, [Ljava/lang/String;
31973 move-object/from16 v0, p3
31975 array-length v1, v0
31979 if-le v1, v2, :cond_31a
31983 move-object/from16 v0, p3
31985 array-length v2, v0
31987 sub-int/2addr v2, v5
31989 move-object/from16 v0, p3
31991 invoke-static {v0, v5, v15, v1, v2}, Ljava/lang/System;->arraycopy(Ljava/lang/Object;ILjava/lang/Object;II)V
31996 const-string v1, "package"
31998 move-object/from16 v0, v21
32000 invoke-virtual {v1, v0}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
32004 if-eqz v1, :cond_3a4
32006 move-object/from16 v0, p3
32008 array-length v1, v0
32010 if-lt v5, v1, :cond_383
32012 const-string v1, "package: no package name specified"
32014 move-object/from16 v0, p2
32016 invoke-virtual {v0, v1}, Ljava/io/PrintWriter;->println(Ljava/lang/String;)V
32018 const-string v1, "Use -h for help."
32020 move-object/from16 v0, p2
32022 invoke-virtual {v0, v1}, Ljava/io/PrintWriter;->println(Ljava/lang/String;)V
32027 aget-object v28, p3, v5
32029 add-int/lit8 v5, v5, 0x1
32031 move-object/from16 v0, p3
32033 array-length v1, v0
32035 sub-int/2addr v1, v5
32037 new-array v15, v1, [Ljava/lang/String;
32039 move-object/from16 v0, p3
32041 array-length v1, v0
32045 if-le v1, v2, :cond_39d
32049 move-object/from16 v0, p3
32051 array-length v2, v0
32053 sub-int/2addr v2, v5
32055 move-object/from16 v0, p3
32057 invoke-static {v0, v5, v15, v1, v2}, Ljava/lang/System;->arraycopy(Ljava/lang/Object;ILjava/lang/Object;II)V
32060 move-object/from16 p3, v15
32069 const-string v1, "services"
32071 move-object/from16 v0, v21
32073 invoke-virtual {v1, v0}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
32077 if-nez v1, :cond_3b8
32079 const-string v1, "s"
32081 move-object/from16 v0, v21
32083 invoke-virtual {v1, v0}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
32087 if-eqz v1, :cond_3cc
32096 move-object/from16 v1, p0
32098 move-object/from16 v2, p1
32100 move-object/from16 v3, p2
32102 move-object/from16 v4, p3
32105 invoke-virtual/range {v1 .. v8}, Lcom/android/server/am/ActivityManagerService;->dumpServicesLocked(Ljava/io/FileDescriptor;Ljava/io/PrintWriter;[Ljava/lang/String;IZZLjava/lang/String;)Z
32116 .catchall {:try_start_3c3 .. :try_end_3cb} :catchall_3c9
32121 move-object/from16 v18, p0
32123 move-object/from16 v19, p1
32125 move-object/from16 v20, p2
32127 move-object/from16 v22, p3
32129 move/from16 v23, v5
32131 move/from16 v24, v17
32133 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
32137 if-nez v1, :cond_93
32139 new-instance v1, Ljava/lang/StringBuilder;
32141 invoke-direct {v1}, Ljava/lang/StringBuilder;-><init>()V
32143 const-string v2, "Bad activity command, or no activities match: "
32145 invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
32147 move-result-object v1
32149 move-object/from16 v0, v21
32151 invoke-virtual {v1, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
32153 move-result-object v1
32155 invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
32157 move-result-object v1
32159 move-object/from16 v0, p2
32161 invoke-virtual {v0, v1}, Ljava/io/PrintWriter;->println(Ljava/lang/String;)V
32163 const-string v1, "Use -h for help."
32165 move-object/from16 v0, p2
32167 invoke-virtual {v0, v1}, Ljava/io/PrintWriter;->println(Ljava/lang/String;)V
32174 move-object/from16 v22, p0
32176 move-object/from16 v23, p1
32178 move-object/from16 v24, p2
32180 move-object/from16 v25, p3
32182 move/from16 v26, v5
32184 move/from16 v27, v17
32187 invoke-virtual/range {v22 .. v28}, Lcom/android/server/am/ActivityManagerService;->dumpPendingIntentsLocked(Ljava/io/FileDescriptor;Ljava/io/PrintWriter;[Ljava/lang/String;IZLjava/lang/String;)Z
32191 if-eqz v30, :cond_41b
32193 const-string v1, " "
32195 move-object/from16 v0, p2
32197 invoke-virtual {v0, v1}, Ljava/io/PrintWriter;->println(Ljava/lang/String;)V
32200 if-eqz v17, :cond_424
32202 const-string v1, "-------------------------------------------------------------------------------"
32204 move-object/from16 v0, p2
32206 invoke-virtual {v0, v1}, Ljava/io/PrintWriter;->println(Ljava/lang/String;)V
32209 move-object/from16 v22, p0
32211 move-object/from16 v23, p1
32213 move-object/from16 v24, p2
32215 move-object/from16 v25, p3
32217 move/from16 v26, v5
32219 move/from16 v27, v17
32221 invoke-virtual/range {v22 .. v28}, Lcom/android/server/am/ActivityManagerService;->dumpBroadcastsLocked(Ljava/io/FileDescriptor;Ljava/io/PrintWriter;[Ljava/lang/String;IZLjava/lang/String;)Z
32225 if-eqz v30, :cond_43d
32227 const-string v1, " "
32229 move-object/from16 v0, p2
32231 invoke-virtual {v0, v1}, Ljava/io/PrintWriter;->println(Ljava/lang/String;)V
32234 if-eqz v17, :cond_446
32236 const-string v1, "-------------------------------------------------------------------------------"
32238 move-object/from16 v0, p2
32240 invoke-virtual {v0, v1}, Ljava/io/PrintWriter;->println(Ljava/lang/String;)V
32243 move-object/from16 v22, p0
32245 move-object/from16 v23, p1
32247 move-object/from16 v24, p2
32249 move-object/from16 v25, p3
32251 move/from16 v26, v5
32253 move/from16 v27, v17
32255 invoke-virtual/range {v22 .. v28}, Lcom/android/server/am/ActivityManagerService;->dumpProvidersLocked(Ljava/io/FileDescriptor;Ljava/io/PrintWriter;[Ljava/lang/String;IZLjava/lang/String;)Z
32259 if-eqz v30, :cond_45f
32261 const-string v1, " "
32263 move-object/from16 v0, p2
32265 invoke-virtual {v0, v1}, Ljava/io/PrintWriter;->println(Ljava/lang/String;)V
32268 if-eqz v17, :cond_468
32270 const-string v1, "-------------------------------------------------------------------------------"
32272 move-object/from16 v0, p2
32274 invoke-virtual {v0, v1}, Ljava/io/PrintWriter;->println(Ljava/lang/String;)V
32277 move-object/from16 v1, p0
32279 move-object/from16 v2, p1
32281 move-object/from16 v3, p2
32283 move-object/from16 v4, p3
32285 move/from16 v6, v17
32287 move-object/from16 v8, v28
32289 invoke-virtual/range {v1 .. v8}, Lcom/android/server/am/ActivityManagerService;->dumpServicesLocked(Ljava/io/FileDescriptor;Ljava/io/PrintWriter;[Ljava/lang/String;IZZLjava/lang/String;)Z
32293 if-eqz v30, :cond_481
32295 const-string v1, " "
32297 move-object/from16 v0, p2
32299 invoke-virtual {v0, v1}, Ljava/io/PrintWriter;->println(Ljava/lang/String;)V
32302 if-eqz v17, :cond_48a
32304 const-string v1, "-------------------------------------------------------------------------------"
32306 move-object/from16 v0, p2
32308 invoke-virtual {v0, v1}, Ljava/io/PrintWriter;->println(Ljava/lang/String;)V
32311 move-object/from16 v1, p0
32313 move-object/from16 v2, p1
32315 move-object/from16 v3, p2
32317 move-object/from16 v4, p3
32319 move/from16 v6, v17
32321 move-object/from16 v8, v28
32323 invoke-virtual/range {v1 .. v8}, Lcom/android/server/am/ActivityManagerService;->dumpActivitiesLocked(Ljava/io/FileDescriptor;Ljava/io/PrintWriter;[Ljava/lang/String;IZZLjava/lang/String;)Z
32327 if-eqz v30, :cond_4a3
32329 const-string v1, " "
32331 move-object/from16 v0, p2
32333 invoke-virtual {v0, v1}, Ljava/io/PrintWriter;->println(Ljava/lang/String;)V
32336 if-eqz v17, :cond_4ac
32338 const-string v1, "-------------------------------------------------------------------------------"
32340 move-object/from16 v0, p2
32342 invoke-virtual {v0, v1}, Ljava/io/PrintWriter;->println(Ljava/lang/String;)V
32345 move-object/from16 v22, p0
32347 move-object/from16 v23, p1
32349 move-object/from16 v24, p2
32351 move-object/from16 v25, p3
32353 move/from16 v26, v5
32355 move/from16 v27, v17
32357 invoke-virtual/range {v22 .. v28}, Lcom/android/server/am/ActivityManagerService;->dumpProcessesLocked(Ljava/io/FileDescriptor;Ljava/io/PrintWriter;[Ljava/lang/String;IZLjava/lang/String;)Z
32361 .catchall {:try_start_40e .. :try_end_4bc} :catchall_4c1
32363 invoke-static/range {v32 .. v33}, Landroid/os/Binder;->restoreCallingIdentity(J)V
32373 .catchall {:try_start_4c2 .. :try_end_4c3} :catchall_4c1
32378 .method dumpActivitiesLocked(Ljava/io/FileDescriptor;Ljava/io/PrintWriter;[Ljava/lang/String;IZZLjava/lang/String;)Z
32381 const-string v1, "ACTIVITY MANAGER ACTIVITIES (dumpsys activity activities)"
32383 invoke-virtual {p2, v1}, Ljava/io/PrintWriter;->println(Ljava/lang/String;)V
32385 const-string v1, " Main stack:"
32387 invoke-virtual {p2, v1}, Ljava/io/PrintWriter;->println(Ljava/lang/String;)V
32389 iget-object v1, p0, Lcom/android/server/am/ActivityManagerService;->mMainStack:Lcom/android/server/am/ActivityStack;
32391 iget-object v3, v1, Lcom/android/server/am/ActivityStack;->mHistory:Ljava/util/ArrayList;
32393 const-string v4, " "
32395 const-string v5, "Hist"
32399 if-nez p5, :cond_1b8
32410 move-object/from16 v9, p7
32412 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
32414 const-string v1, " "
32416 invoke-virtual {p2, v1}, Ljava/io/PrintWriter;->println(Ljava/lang/String;)V
32418 const-string v1, " Running activities (most recent first):"
32420 invoke-virtual {p2, v1}, Ljava/io/PrintWriter;->println(Ljava/lang/String;)V
32422 iget-object v1, p0, Lcom/android/server/am/ActivityManagerService;->mMainStack:Lcom/android/server/am/ActivityStack;
32424 iget-object v3, v1, Lcom/android/server/am/ActivityStack;->mLRUActivities:Ljava/util/ArrayList;
32426 const-string v4, " "
32428 const-string v5, "Run"
32432 if-nez p5, :cond_1bb
32443 move-object/from16 v9, p7
32445 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
32447 iget-object v1, p0, Lcom/android/server/am/ActivityManagerService;->mMainStack:Lcom/android/server/am/ActivityStack;
32449 iget-object v1, v1, Lcom/android/server/am/ActivityStack;->mWaitingVisibleActivities:Ljava/util/ArrayList;
32451 invoke-virtual {v1}, Ljava/util/ArrayList;->size()I
32455 if-lez v1, :cond_65
32457 const-string v1, " "
32459 invoke-virtual {p2, v1}, Ljava/io/PrintWriter;->println(Ljava/lang/String;)V
32461 const-string v1, " Activities waiting for another to become visible:"
32463 invoke-virtual {p2, v1}, Ljava/io/PrintWriter;->println(Ljava/lang/String;)V
32465 iget-object v1, p0, Lcom/android/server/am/ActivityManagerService;->mMainStack:Lcom/android/server/am/ActivityStack;
32467 iget-object v3, v1, Lcom/android/server/am/ActivityStack;->mWaitingVisibleActivities:Ljava/util/ArrayList;
32469 const-string v4, " "
32471 const-string v5, "Wait"
32475 if-nez p5, :cond_1be
32486 move-object/from16 v9, p7
32488 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
32491 iget-object v1, p0, Lcom/android/server/am/ActivityManagerService;->mMainStack:Lcom/android/server/am/ActivityStack;
32493 iget-object v1, v1, Lcom/android/server/am/ActivityStack;->mStoppingActivities:Ljava/util/ArrayList;
32495 invoke-virtual {v1}, Ljava/util/ArrayList;->size()I
32499 if-lez v1, :cond_8d
32501 const-string v1, " "
32503 invoke-virtual {p2, v1}, Ljava/io/PrintWriter;->println(Ljava/lang/String;)V
32505 const-string v1, " Activities waiting to stop:"
32507 invoke-virtual {p2, v1}, Ljava/io/PrintWriter;->println(Ljava/lang/String;)V
32509 iget-object v1, p0, Lcom/android/server/am/ActivityManagerService;->mMainStack:Lcom/android/server/am/ActivityStack;
32511 iget-object v3, v1, Lcom/android/server/am/ActivityStack;->mStoppingActivities:Ljava/util/ArrayList;
32513 const-string v4, " "
32515 const-string v5, "Stop"
32519 if-nez p5, :cond_1c1
32530 move-object/from16 v9, p7
32532 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
32535 iget-object v1, p0, Lcom/android/server/am/ActivityManagerService;->mMainStack:Lcom/android/server/am/ActivityStack;
32537 iget-object v1, v1, Lcom/android/server/am/ActivityStack;->mGoingToSleepActivities:Ljava/util/ArrayList;
32539 invoke-virtual {v1}, Ljava/util/ArrayList;->size()I
32543 if-lez v1, :cond_b5
32545 const-string v1, " "
32547 invoke-virtual {p2, v1}, Ljava/io/PrintWriter;->println(Ljava/lang/String;)V
32549 const-string v1, " Activities waiting to sleep:"
32551 invoke-virtual {p2, v1}, Ljava/io/PrintWriter;->println(Ljava/lang/String;)V
32553 iget-object v1, p0, Lcom/android/server/am/ActivityManagerService;->mMainStack:Lcom/android/server/am/ActivityStack;
32555 iget-object v3, v1, Lcom/android/server/am/ActivityStack;->mGoingToSleepActivities:Ljava/util/ArrayList;
32557 const-string v4, " "
32559 const-string v5, "Sleep"
32563 if-nez p5, :cond_1c4
32574 move-object/from16 v9, p7
32576 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
32579 iget-object v1, p0, Lcom/android/server/am/ActivityManagerService;->mMainStack:Lcom/android/server/am/ActivityStack;
32581 iget-object v1, v1, Lcom/android/server/am/ActivityStack;->mFinishingActivities:Ljava/util/ArrayList;
32583 invoke-virtual {v1}, Ljava/util/ArrayList;->size()I
32587 if-lez v1, :cond_dd
32589 const-string v1, " "
32591 invoke-virtual {p2, v1}, Ljava/io/PrintWriter;->println(Ljava/lang/String;)V
32593 const-string v1, " Activities waiting to finish:"
32595 invoke-virtual {p2, v1}, Ljava/io/PrintWriter;->println(Ljava/lang/String;)V
32597 iget-object v1, p0, Lcom/android/server/am/ActivityManagerService;->mMainStack:Lcom/android/server/am/ActivityStack;
32599 iget-object v3, v1, Lcom/android/server/am/ActivityStack;->mFinishingActivities:Ljava/util/ArrayList;
32601 const-string v4, " "
32603 const-string v5, "Fin"
32607 if-nez p5, :cond_1c7
32618 move-object/from16 v9, p7
32620 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
32623 const-string v1, " "
32625 invoke-virtual {p2, v1}, Ljava/io/PrintWriter;->println(Ljava/lang/String;)V
32627 iget-object v1, p0, Lcom/android/server/am/ActivityManagerService;->mMainStack:Lcom/android/server/am/ActivityStack;
32629 iget-object v1, v1, Lcom/android/server/am/ActivityStack;->mPausingActivity:Lcom/android/server/am/ActivityRecord;
32631 if-eqz v1, :cond_102
32633 new-instance v1, Ljava/lang/StringBuilder;
32635 invoke-direct {v1}, Ljava/lang/StringBuilder;-><init>()V
32637 const-string v2, " mPausingActivity: "
32639 invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
32641 move-result-object v1
32643 iget-object v2, p0, Lcom/android/server/am/ActivityManagerService;->mMainStack:Lcom/android/server/am/ActivityStack;
32645 iget-object v2, v2, Lcom/android/server/am/ActivityStack;->mPausingActivity:Lcom/android/server/am/ActivityRecord;
32647 invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
32649 move-result-object v1
32651 invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
32653 move-result-object v1
32655 invoke-virtual {p2, v1}, Ljava/io/PrintWriter;->println(Ljava/lang/String;)V
32658 new-instance v1, Ljava/lang/StringBuilder;
32660 invoke-direct {v1}, Ljava/lang/StringBuilder;-><init>()V
32662 const-string v2, " mResumedActivity: "
32664 invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
32666 move-result-object v1
32668 iget-object v2, p0, Lcom/android/server/am/ActivityManagerService;->mMainStack:Lcom/android/server/am/ActivityStack;
32670 iget-object v2, v2, Lcom/android/server/am/ActivityStack;->mResumedActivity:Lcom/android/server/am/ActivityRecord;
32672 invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
32674 move-result-object v1
32676 invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
32678 move-result-object v1
32680 invoke-virtual {p2, v1}, Ljava/io/PrintWriter;->println(Ljava/lang/String;)V
32682 new-instance v1, Ljava/lang/StringBuilder;
32684 invoke-direct {v1}, Ljava/lang/StringBuilder;-><init>()V
32686 const-string v2, " mFocusedActivity: "
32688 invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
32690 move-result-object v1
32692 iget-object v2, p0, Lcom/android/server/am/ActivityManagerService;->mFocusedActivity:Lcom/android/server/am/ActivityRecord;
32694 invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
32696 move-result-object v1
32698 invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
32700 move-result-object v1
32702 invoke-virtual {p2, v1}, Ljava/io/PrintWriter;->println(Ljava/lang/String;)V
32704 if-eqz p5, :cond_184
32706 new-instance v1, Ljava/lang/StringBuilder;
32708 invoke-direct {v1}, Ljava/lang/StringBuilder;-><init>()V
32710 const-string v2, " mLastPausedActivity: "
32712 invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
32714 move-result-object v1
32716 iget-object v2, p0, Lcom/android/server/am/ActivityManagerService;->mMainStack:Lcom/android/server/am/ActivityStack;
32718 iget-object v2, v2, Lcom/android/server/am/ActivityStack;->mLastPausedActivity:Lcom/android/server/am/ActivityRecord;
32720 invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
32722 move-result-object v1
32724 invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
32726 move-result-object v1
32728 invoke-virtual {p2, v1}, Ljava/io/PrintWriter;->println(Ljava/lang/String;)V
32730 new-instance v1, Ljava/lang/StringBuilder;
32732 invoke-direct {v1}, Ljava/lang/StringBuilder;-><init>()V
32734 const-string v2, " mSleepTimeout: "
32736 invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
32738 move-result-object v1
32740 iget-object v2, p0, Lcom/android/server/am/ActivityManagerService;->mMainStack:Lcom/android/server/am/ActivityStack;
32742 iget-boolean v2, v2, Lcom/android/server/am/ActivityStack;->mSleepTimeout:Z
32744 invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Z)Ljava/lang/StringBuilder;
32746 move-result-object v1
32748 invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
32750 move-result-object v1
32752 invoke-virtual {p2, v1}, Ljava/io/PrintWriter;->println(Ljava/lang/String;)V
32754 new-instance v1, Ljava/lang/StringBuilder;
32756 invoke-direct {v1}, Ljava/lang/StringBuilder;-><init>()V
32758 const-string v2, " mDismissKeyguardOnNextActivity: "
32760 invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
32762 move-result-object v1
32764 iget-object v2, p0, Lcom/android/server/am/ActivityManagerService;->mMainStack:Lcom/android/server/am/ActivityStack;
32766 iget-boolean v2, v2, Lcom/android/server/am/ActivityStack;->mDismissKeyguardOnNextActivity:Z
32768 invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Z)Ljava/lang/StringBuilder;
32770 move-result-object v1
32772 invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
32774 move-result-object v1
32776 invoke-virtual {p2, v1}, Ljava/io/PrintWriter;->println(Ljava/lang/String;)V
32779 iget-object v1, p0, Lcom/android/server/am/ActivityManagerService;->mRecentTasks:Ljava/util/ArrayList;
32781 invoke-virtual {v1}, Ljava/util/ArrayList;->size()I
32785 if-lez v1, :cond_1ea
32787 invoke-virtual {p2}, Ljava/io/PrintWriter;->println()V
32789 const-string v1, " Recent tasks:"
32791 invoke-virtual {p2, v1}, Ljava/io/PrintWriter;->println(Ljava/lang/String;)V
32793 iget-object v1, p0, Lcom/android/server/am/ActivityManagerService;->mRecentTasks:Ljava/util/ArrayList;
32795 invoke-virtual {v1}, Ljava/util/ArrayList;->size()I
32802 if-ge v11, v10, :cond_1ea
32804 iget-object v1, p0, Lcom/android/server/am/ActivityManagerService;->mRecentTasks:Ljava/util/ArrayList;
32806 invoke-virtual {v1, v11}, Ljava/util/ArrayList;->get(I)Ljava/lang/Object;
32808 move-result-object v12
32810 check-cast v12, Lcom/android/server/am/TaskRecord;
32812 if-eqz p7, :cond_1ca
32814 iget-object v1, v12, Lcom/android/server/am/TaskRecord;->realActivity:Landroid/content/ComponentName;
32816 if-eqz v1, :cond_1b5
32818 iget-object v1, v12, Lcom/android/server/am/TaskRecord;->realActivity:Landroid/content/ComponentName;
32820 move-object/from16 v0, p7
32822 invoke-virtual {v0, v1}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
32826 if-nez v1, :cond_1ca
32830 add-int/lit8 v11, v11, 0x1
32865 const-string v1, " * Recent #"
32867 invoke-virtual {p2, v1}, Ljava/io/PrintWriter;->print(Ljava/lang/String;)V
32869 invoke-virtual {p2, v11}, Ljava/io/PrintWriter;->print(I)V
32871 const-string v1, ": "
32873 invoke-virtual {p2, v1}, Ljava/io/PrintWriter;->print(Ljava/lang/String;)V
32875 invoke-virtual {p2, v12}, Ljava/io/PrintWriter;->println(Ljava/lang/Object;)V
32877 if-eqz p5, :cond_1b5
32879 iget-object v1, p0, Lcom/android/server/am/ActivityManagerService;->mRecentTasks:Ljava/util/ArrayList;
32881 invoke-virtual {v1, v11}, Ljava/util/ArrayList;->get(I)Ljava/lang/Object;
32883 move-result-object v1
32885 check-cast v1, Lcom/android/server/am/TaskRecord;
32887 const-string v2, " "
32889 invoke-virtual {v1, p2, v2}, Lcom/android/server/am/TaskRecord;->dump(Ljava/io/PrintWriter;Ljava/lang/String;)V
32894 if-eqz p5, :cond_209
32896 const-string v1, " "
32898 invoke-virtual {p2, v1}, Ljava/io/PrintWriter;->println(Ljava/lang/String;)V
32900 new-instance v1, Ljava/lang/StringBuilder;
32902 invoke-direct {v1}, Ljava/lang/StringBuilder;-><init>()V
32904 const-string v2, " mCurTask: "
32906 invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
32908 move-result-object v1
32910 iget v2, p0, Lcom/android/server/am/ActivityManagerService;->mCurTask:I
32912 invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
32914 move-result-object v1
32916 invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
32918 move-result-object v1
32920 invoke-virtual {p2, v1}, Ljava/io/PrintWriter;->println(Ljava/lang/String;)V
32928 .method protected dumpActivity(Ljava/io/FileDescriptor;Ljava/io/PrintWriter;Ljava/lang/String;[Ljava/lang/String;IZ)Z
32931 new-instance v10, Ljava/util/ArrayList;
32933 invoke-direct {v10}, Ljava/util/ArrayList;-><init>()V
32935 const-string v2, "all"
32937 move-object/from16 v0, p3
32939 invoke-virtual {v2, v0}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
32943 if-eqz v2, :cond_38
32948 move-object/from16 v0, p0
32950 iget-object v2, v0, Lcom/android/server/am/ActivityManagerService;->mMainStack:Lcom/android/server/am/ActivityStack;
32952 iget-object v2, v2, Lcom/android/server/am/ActivityStack;->mHistory:Ljava/util/ArrayList;
32954 invoke-virtual {v2}, Ljava/util/ArrayList;->iterator()Ljava/util/Iterator;
32956 move-result-object v12
32959 invoke-interface {v12}, Ljava/util/Iterator;->hasNext()Z
32963 if-eqz v2, :cond_2f
32965 invoke-interface {v12}, Ljava/util/Iterator;->next()Ljava/lang/Object;
32967 move-result-object v17
32969 check-cast v17, Lcom/android/server/am/ActivityRecord;
32971 move-object/from16 v0, v17
32973 invoke-virtual {v10, v0}, Ljava/util/ArrayList;->add(Ljava/lang/Object;)Z
32982 .catchall {:try_start_10 .. :try_end_2e} :catchall_2c
32990 .catchall {:try_start_2f .. :try_end_30} :catchall_2c
32993 invoke-virtual {v10}, Ljava/util/ArrayList;->size()I
32997 if-gtz v2, :cond_a1
33005 const-string v2, "top"
33007 move-object/from16 v0, p3
33009 invoke-virtual {v2, v0}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
33013 if-eqz v2, :cond_65
33018 move-object/from16 v0, p0
33020 iget-object v2, v0, Lcom/android/server/am/ActivityManagerService;->mMainStack:Lcom/android/server/am/ActivityStack;
33022 iget-object v2, v2, Lcom/android/server/am/ActivityStack;->mHistory:Ljava/util/ArrayList;
33024 invoke-virtual {v2}, Ljava/util/ArrayList;->size()I
33028 if-lez v9, :cond_60
33030 move-object/from16 v0, p0
33032 iget-object v2, v0, Lcom/android/server/am/ActivityManagerService;->mMainStack:Lcom/android/server/am/ActivityStack;
33034 iget-object v2, v2, Lcom/android/server/am/ActivityStack;->mHistory:Ljava/util/ArrayList;
33036 add-int/lit8 v3, v9, -0x1
33038 invoke-virtual {v2, v3}, Ljava/util/ArrayList;->get(I)Ljava/lang/Object;
33040 move-result-object v2
33042 check-cast v2, Lcom/android/server/am/ActivityRecord;
33044 invoke-virtual {v10, v2}, Ljava/util/ArrayList;->add(Ljava/lang/Object;)Z
33056 .catchall {:try_start_43 .. :try_end_64} :catchall_62
33061 new-instance v14, Lcom/android/server/am/ActivityManagerService$ItemMatcher;
33063 invoke-direct {v14}, Lcom/android/server/am/ActivityManagerService$ItemMatcher;-><init>()V
33065 move-object/from16 v0, p3
33067 invoke-virtual {v14, v0}, Lcom/android/server/am/ActivityManagerService$ItemMatcher;->build(Ljava/lang/String;)V
33072 move-object/from16 v0, p0
33074 iget-object v2, v0, Lcom/android/server/am/ActivityManagerService;->mMainStack:Lcom/android/server/am/ActivityStack;
33076 iget-object v2, v2, Lcom/android/server/am/ActivityStack;->mHistory:Ljava/util/ArrayList;
33078 invoke-virtual {v2}, Ljava/util/ArrayList;->iterator()Ljava/util/Iterator;
33080 move-result-object v12
33084 invoke-interface {v12}, Ljava/util/Iterator;->hasNext()Z
33088 if-eqz v2, :cond_9f
33090 invoke-interface {v12}, Ljava/util/Iterator;->next()Ljava/lang/Object;
33092 move-result-object v17
33094 check-cast v17, Lcom/android/server/am/ActivityRecord;
33096 move-object/from16 v0, v17
33098 iget-object v2, v0, Lcom/android/server/am/ActivityRecord;->intent:Landroid/content/Intent;
33100 invoke-virtual {v2}, Landroid/content/Intent;->getComponent()Landroid/content/ComponentName;
33102 move-result-object v2
33104 move-object/from16 v0, v17
33106 invoke-virtual {v14, v0, v2}, Lcom/android/server/am/ActivityManagerService$ItemMatcher;->match(Ljava/lang/Object;Landroid/content/ComponentName;)Z
33110 if-eqz v2, :cond_7a
33112 move-object/from16 v0, v17
33114 invoke-virtual {v10, v0}, Ljava/util/ArrayList;->add(Ljava/lang/Object;)Z
33123 .catchall {:try_start_70 .. :try_end_9e} :catchall_9c
33131 .catchall {:try_start_9f .. :try_end_a0} :catchall_9c
33136 move-object/from16 v0, p4
33138 array-length v2, v0
33142 new-array v7, v2, [Ljava/lang/String;
33144 move-object/from16 v0, p4
33146 array-length v2, v0
33150 if-le v2, v3, :cond_bb
33154 move-object/from16 v0, p4
33156 array-length v3, v0
33160 move-object/from16 v0, p4
33164 invoke-static {v0, v1, v7, v2, v3}, Ljava/lang/System;->arraycopy(Ljava/lang/Object;ILjava/lang/Object;II)V
33171 invoke-virtual {v10}, Ljava/util/ArrayList;->size()I
33175 add-int/lit8 v11, v2, -0x1
33178 if-ltz v11, :cond_11b
33180 invoke-virtual {v10, v11}, Ljava/util/ArrayList;->get(I)Ljava/lang/Object;
33182 move-result-object v16
33184 check-cast v16, Lcom/android/server/am/ActivityRecord;
33186 if-eqz v15, :cond_d0
33188 invoke-virtual/range {p2 .. p2}, Ljava/io/PrintWriter;->println()V
33196 move-object/from16 v0, v16
33198 iget-object v2, v0, Lcom/android/server/am/ActivityRecord;->task:Lcom/android/server/am/TaskRecord;
33200 if-eq v13, v2, :cond_101
33202 move-object/from16 v0, v16
33204 iget-object v13, v0, Lcom/android/server/am/ActivityRecord;->task:Lcom/android/server/am/TaskRecord;
33206 const-string v2, "TASK "
33208 move-object/from16 v0, p2
33210 invoke-virtual {v0, v2}, Ljava/io/PrintWriter;->print(Ljava/lang/String;)V
33212 iget-object v2, v13, Lcom/android/server/am/TaskRecord;->affinity:Ljava/lang/String;
33214 move-object/from16 v0, p2
33216 invoke-virtual {v0, v2}, Ljava/io/PrintWriter;->print(Ljava/lang/String;)V
33218 const-string v2, " id="
33220 move-object/from16 v0, p2
33222 invoke-virtual {v0, v2}, Ljava/io/PrintWriter;->print(Ljava/lang/String;)V
33224 iget v2, v13, Lcom/android/server/am/TaskRecord;->taskId:I
33226 move-object/from16 v0, p2
33228 invoke-virtual {v0, v2}, Ljava/io/PrintWriter;->println(I)V
33230 if-eqz p6, :cond_101
33232 const-string v2, " "
33234 move-object/from16 v0, p2
33236 invoke-virtual {v13, v0, v2}, Lcom/android/server/am/TaskRecord;->dump(Ljava/io/PrintWriter;Ljava/lang/String;)V
33241 .catchall {:try_start_d2 .. :try_end_102} :catchall_118
33243 const-string v3, " "
33245 invoke-virtual {v10, v11}, Ljava/util/ArrayList;->get(I)Ljava/lang/Object;
33247 move-result-object v6
33249 check-cast v6, Lcom/android/server/am/ActivityRecord;
33251 move-object/from16 v2, p0
33253 move-object/from16 v4, p1
33255 move-object/from16 v5, p2
33259 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
33261 add-int/lit8 v11, v11, -0x1
33271 .catchall {:try_start_119 .. :try_end_11a} :catchall_118
33281 .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
33291 move-object/from16 v0, p4
33293 array-length v5, v0
33295 move/from16 v0, v57
33297 if-ge v0, v5, :cond_22
33299 aget-object v56, p4, v57
33301 if-eqz v56, :cond_22
33303 invoke-virtual/range {v56 .. v56}, Ljava/lang/String;->length()I
33307 if-lez v5, :cond_22
33311 move-object/from16 v0, v56
33313 invoke-virtual {v0, v5}, Ljava/lang/String;->charAt(I)C
33319 if-eq v5, v6, :cond_31
33322 move-object/from16 v0, p0
33324 move-object/from16 v1, p2
33326 move/from16 v2, v57
33328 move-object/from16 v3, p4
33330 invoke-virtual {v0, v1, v2, v3}, Lcom/android/server/am/ActivityManagerService;->collectProcesses(Ljava/io/PrintWriter;I[Ljava/lang/String;)Ljava/util/ArrayList;
33332 move-result-object v60
33334 if-nez v60, :cond_9d
33341 add-int/lit8 v57, v57, 0x1
33343 const-string v5, "-a"
33345 move-object/from16 v0, v56
33347 invoke-virtual {v5, v0}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
33351 if-eqz v5, :cond_40
33358 const-string v5, "--oom"
33360 move-object/from16 v0, v56
33362 invoke-virtual {v5, v0}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
33366 if-eqz v5, :cond_4d
33373 const-string v5, "-h"
33375 move-object/from16 v0, v56
33377 invoke-virtual {v5, v0}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
33381 if-eqz v5, :cond_7b
33383 const-string v5, "meminfo dump options: [-a] [--oom] [process]"
33385 move-object/from16 v0, p2
33387 invoke-virtual {v0, v5}, Ljava/io/PrintWriter;->println(Ljava/lang/String;)V
33389 const-string v5, " -a: include all available information for each process."
33391 move-object/from16 v0, p2
33393 invoke-virtual {v0, v5}, Ljava/io/PrintWriter;->println(Ljava/lang/String;)V
33395 const-string v5, " --oom: only show processes organized by oom adj."
33397 move-object/from16 v0, p2
33399 invoke-virtual {v0, v5}, Ljava/io/PrintWriter;->println(Ljava/lang/String;)V
33401 const-string v5, "If [process] is specified it can be the name or "
33403 move-object/from16 v0, p2
33405 invoke-virtual {v0, v5}, Ljava/io/PrintWriter;->println(Ljava/lang/String;)V
33407 const-string v5, "pid of a specific process to dump."
33409 move-object/from16 v0, p2
33411 invoke-virtual {v0, v5}, Ljava/io/PrintWriter;->println(Ljava/lang/String;)V
33416 new-instance v5, Ljava/lang/StringBuilder;
33418 invoke-direct {v5}, Ljava/lang/StringBuilder;-><init>()V
33420 const-string v6, "Unknown argument: "
33422 invoke-virtual {v5, v6}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
33424 move-result-object v5
33426 move-object/from16 v0, v56
33428 invoke-virtual {v5, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
33430 move-result-object v5
33432 const-string v6, "; use -h for help"
33434 invoke-virtual {v5, v6}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
33436 move-result-object v5
33438 invoke-virtual {v5}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
33440 move-result-object v5
33442 move-object/from16 v0, p2
33444 invoke-virtual {v0, v5}, Ljava/io/PrintWriter;->println(Ljava/lang/String;)V
33449 const-string v5, "--checkin"
33451 move-object/from16 v0, p4
33453 invoke-static {v0, v5}, Lcom/android/server/am/ActivityManagerService;->scanArgs([Ljava/lang/String;Ljava/lang/String;)Z
33457 invoke-static {}, Landroid/os/SystemClock;->uptimeMillis()J
33459 move-result-wide v72
33461 invoke-static {}, Landroid/os/SystemClock;->elapsedRealtime()J
33463 move-result-wide v62
33465 invoke-virtual/range {v60 .. v60}, Ljava/util/ArrayList;->size()I
33471 if-eq v5, v6, :cond_b6
33473 if-eqz v43, :cond_b8
33479 if-eqz v43, :cond_1ec
33481 new-instance v5, Ljava/lang/StringBuilder;
33483 invoke-direct {v5}, Ljava/lang/StringBuilder;-><init>()V
33485 move-wide/from16 v0, v72
33487 invoke-virtual {v5, v0, v1}, Ljava/lang/StringBuilder;->append(J)Ljava/lang/StringBuilder;
33489 move-result-object v5
33491 const-string v6, ","
33493 invoke-virtual {v5, v6}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
33495 move-result-object v5
33497 move-wide/from16 v0, v62
33499 invoke-virtual {v5, v0, v1}, Ljava/lang/StringBuilder;->append(J)Ljava/lang/StringBuilder;
33501 move-result-object v5
33503 invoke-virtual {v5}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
33505 move-result-object v5
33507 move-object/from16 v0, p2
33509 invoke-virtual {v0, v5}, Ljava/io/PrintWriter;->println(Ljava/lang/String;)V
33511 invoke-virtual/range {p2 .. p2}, Ljava/io/PrintWriter;->flush()V
33514 move-object/from16 v0, p4
33516 array-length v5, v0
33518 sub-int v5, v5, v57
33520 new-array v0, v5, [Ljava/lang/String;
33522 move-object/from16 v42, v0
33526 move-object/from16 v0, p4
33528 array-length v6, v0
33530 sub-int v6, v6, v57
33532 move-object/from16 v0, p4
33534 move/from16 v1, v57
33536 move-object/from16 v2, v42
33538 invoke-static {v0, v1, v2, v5, v6}, Ljava/lang/System;->arraycopy(Ljava/lang/Object;ILjava/lang/Object;II)V
33540 new-instance v59, Ljava/util/ArrayList;
33542 invoke-direct/range {v59 .. v59}, Ljava/util/ArrayList;-><init>()V
33544 const-wide/16 v12, 0x0
33546 const-wide/16 v17, 0x0
33548 const-wide/16 v22, 0x0
33552 new-array v0, v5, [J
33554 move-object/from16 v50, v0
33556 sget-object v5, Lcom/android/server/am/ActivityManagerService;->DUMP_MEM_OOM_LABEL:[Ljava/lang/String;
33558 array-length v5, v5
33560 new-array v0, v5, [J
33562 move-object/from16 v55, v0
33564 sget-object v5, Lcom/android/server/am/ActivityManagerService;->DUMP_MEM_OOM_LABEL:[Ljava/lang/String;
33566 array-length v5, v5
33568 new-array v0, v5, [Ljava/util/ArrayList;
33570 move-object/from16 v54, v0
33572 check-cast v54, [Ljava/util/ArrayList;
33574 const-wide/16 v68, 0x0
33576 invoke-virtual/range {v60 .. v60}, Ljava/util/ArrayList;->size()I
33580 add-int/lit8 v41, v5, -0x1
33583 if-ltz v41, :cond_272
33585 move-object/from16 v0, v60
33587 move/from16 v1, v41
33589 invoke-virtual {v0, v1}, Ljava/util/ArrayList;->get(I)Ljava/lang/Object;
33591 move-result-object v61
33593 check-cast v61, Lcom/android/server/am/ProcessRecord;
33595 move-object/from16 v0, v61
33597 iget-object v5, v0, Lcom/android/server/am/ProcessRecord;->thread:Landroid/app/IApplicationThread;
33599 if-eqz v5, :cond_26b
33601 if-nez v43, :cond_167
33603 if-eqz v38, :cond_167
33605 new-instance v5, Ljava/lang/StringBuilder;
33607 invoke-direct {v5}, Ljava/lang/StringBuilder;-><init>()V
33609 const-string v6, "\n** MEMINFO in pid "
33611 invoke-virtual {v5, v6}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
33613 move-result-object v5
33615 move-object/from16 v0, v61
33617 iget v6, v0, Lcom/android/server/am/ProcessRecord;->pid:I
33619 invoke-virtual {v5, v6}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
33621 move-result-object v5
33623 const-string v6, " ["
33625 invoke-virtual {v5, v6}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
33627 move-result-object v5
33629 move-object/from16 v0, v61
33631 iget-object v6, v0, Lcom/android/server/am/ProcessRecord;->processName:Ljava/lang/String;
33633 invoke-virtual {v5, v6}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
33635 move-result-object v5
33637 const-string v6, "] **"
33639 invoke-virtual {v5, v6}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
33641 move-result-object v5
33643 invoke-virtual {v5}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
33645 move-result-object v5
33647 move-object/from16 v0, p2
33649 invoke-virtual {v0, v5}, Ljava/io/PrintWriter;->println(Ljava/lang/String;)V
33651 invoke-virtual/range {p2 .. p2}, Ljava/io/PrintWriter;->flush()V
33656 if-eqz v38, :cond_22a
33659 move-object/from16 v0, v61
33661 iget-object v5, v0, Lcom/android/server/am/ProcessRecord;->thread:Landroid/app/IApplicationThread;
33663 move-object/from16 v0, p1
33665 move/from16 v1, v43
33667 move/from16 v2, v38
33669 move-object/from16 v3, v42
33671 invoke-interface {v5, v0, v1, v2, v3}, Landroid/app/IApplicationThread;->dumpMemInfo(Ljava/io/FileDescriptor;ZZ[Ljava/lang/String;)Landroid/os/Debug$MemoryInfo;
33673 .catch Landroid/os/RemoteException; {:try_start_16b .. :try_end_17a} :catch_21b
33675 move-result-object v48
33679 if-nez v43, :cond_26b
33681 if-eqz v48, :cond_26b
33683 invoke-virtual/range {v48 .. v48}, Landroid/os/Debug$MemoryInfo;->getTotalPss()I
33689 add-long v68, v68, v7
33691 new-instance v4, Lcom/android/server/am/ActivityManagerService$MemItem;
33693 new-instance v5, Ljava/lang/StringBuilder;
33695 invoke-direct {v5}, Ljava/lang/StringBuilder;-><init>()V
33697 move-object/from16 v0, v61
33699 iget-object v6, v0, Lcom/android/server/am/ProcessRecord;->processName:Ljava/lang/String;
33701 invoke-virtual {v5, v6}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
33703 move-result-object v5
33705 const-string v6, " (pid "
33707 invoke-virtual {v5, v6}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
33709 move-result-object v5
33711 move-object/from16 v0, v61
33713 iget v6, v0, Lcom/android/server/am/ProcessRecord;->pid:I
33715 invoke-virtual {v5, v6}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
33717 move-result-object v5
33719 const-string v6, ")"
33721 invoke-virtual {v5, v6}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
33723 move-result-object v5
33725 invoke-virtual {v5}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
33727 move-result-object v5
33729 move-object/from16 v0, v61
33731 iget-object v6, v0, Lcom/android/server/am/ProcessRecord;->processName:Ljava/lang/String;
33735 invoke-direct/range {v4 .. v9}, Lcom/android/server/am/ActivityManagerService$MemItem;-><init>(Ljava/lang/String;Ljava/lang/String;JI)V
33737 move-object/from16 v0, v59
33739 invoke-virtual {v0, v4}, Ljava/util/ArrayList;->add(Ljava/lang/Object;)Z
33741 move-object/from16 v0, v48
33743 iget v5, v0, Landroid/os/Debug$MemoryInfo;->nativePss:I
33747 add-long/2addr v12, v5
33749 move-object/from16 v0, v48
33751 iget v5, v0, Landroid/os/Debug$MemoryInfo;->dalvikPss:I
33755 add-long v17, v17, v5
33757 move-object/from16 v0, v48
33759 iget v5, v0, Landroid/os/Debug$MemoryInfo;->otherPss:I
33763 add-long v22, v22, v5
33770 move/from16 v0, v29
33772 if-ge v0, v5, :cond_23a
33774 move-object/from16 v0, v48
33776 move/from16 v1, v29
33778 invoke-virtual {v0, v1}, Landroid/os/Debug$MemoryInfo;->getOtherPss(I)I
33784 move-wide/from16 v46, v0
33786 aget-wide v5, v50, v29
33788 add-long v5, v5, v46
33790 aput-wide v5, v50, v29
33792 sub-long v22, v22, v46
33794 add-int/lit8 v29, v29, 0x1
33799 const-string v5, "Applications Memory Usage (kB):"
33801 move-object/from16 v0, p2
33803 invoke-virtual {v0, v5}, Ljava/io/PrintWriter;->println(Ljava/lang/String;)V
33805 new-instance v5, Ljava/lang/StringBuilder;
33807 invoke-direct {v5}, Ljava/lang/StringBuilder;-><init>()V
33809 const-string v6, "Uptime: "
33811 invoke-virtual {v5, v6}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
33813 move-result-object v5
33815 move-wide/from16 v0, v72
33817 invoke-virtual {v5, v0, v1}, Ljava/lang/StringBuilder;->append(J)Ljava/lang/StringBuilder;
33819 move-result-object v5
33821 const-string v6, " Realtime: "
33823 invoke-virtual {v5, v6}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
33825 move-result-object v5
33827 move-wide/from16 v0, v62
33829 invoke-virtual {v5, v0, v1}, Ljava/lang/StringBuilder;->append(J)Ljava/lang/StringBuilder;
33831 move-result-object v5
33833 invoke-virtual {v5}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
33835 move-result-object v5
33837 move-object/from16 v0, p2
33839 invoke-virtual {v0, v5}, Ljava/io/PrintWriter;->println(Ljava/lang/String;)V
33846 if-nez v43, :cond_17b
33848 const-string v5, "Got RemoteException!"
33850 move-object/from16 v0, p2
33852 invoke-virtual {v0, v5}, Ljava/io/PrintWriter;->println(Ljava/lang/String;)V
33854 invoke-virtual/range {p2 .. p2}, Ljava/io/PrintWriter;->flush()V
33859 new-instance v48, Landroid/os/Debug$MemoryInfo;
33861 invoke-direct/range {v48 .. v48}, Landroid/os/Debug$MemoryInfo;-><init>()V
33863 move-object/from16 v0, v61
33865 iget v5, v0, Lcom/android/server/am/ProcessRecord;->pid:I
33867 move-object/from16 v0, v48
33869 invoke-static {v5, v0}, Landroid/os/Debug;->getMemoryInfo(ILandroid/os/Debug$MemoryInfo;)V
33877 move-object/from16 v0, v55
33879 array-length v5, v0
33881 move/from16 v0, v51
33883 if-ge v0, v5, :cond_26b
33885 move-object/from16 v0, v61
33887 iget v5, v0, Lcom/android/server/am/ProcessRecord;->setAdj:I
33889 sget-object v6, Lcom/android/server/am/ActivityManagerService;->DUMP_MEM_OOM_ADJ:[I
33893 if-le v5, v6, :cond_256
33895 move-object/from16 v0, v55
33897 array-length v5, v0
33899 add-int/lit8 v5, v5, -0x1
33901 move/from16 v0, v51
33903 if-ne v0, v5, :cond_26f
33906 aget-wide v5, v55, v51
33908 add-long/2addr v5, v7
33910 aput-wide v5, v55, v51
33912 aget-object v5, v54, v51
33914 if-nez v5, :cond_266
33916 new-instance v5, Ljava/util/ArrayList;
33918 invoke-direct {v5}, Ljava/util/ArrayList;-><init>()V
33920 aput-object v5, v54, v51
33923 aget-object v5, v54, v51
33925 invoke-virtual {v5, v4}, Ljava/util/ArrayList;->add(Ljava/lang/Object;)Z
33928 add-int/lit8 v41, v41, -0x1
33933 add-int/lit8 v51, v51, 0x1
33938 if-nez v43, :cond_30
33940 invoke-virtual/range {v60 .. v60}, Ljava/util/ArrayList;->size()I
33946 if-le v5, v6, :cond_30
33948 new-instance v37, Ljava/util/ArrayList;
33950 invoke-direct/range {v37 .. v37}, Ljava/util/ArrayList;-><init>()V
33952 new-instance v9, Lcom/android/server/am/ActivityManagerService$MemItem;
33954 const-string v10, "Native"
33956 const-string v11, "Native"
33960 invoke-direct/range {v9 .. v14}, Lcom/android/server/am/ActivityManagerService$MemItem;-><init>(Ljava/lang/String;Ljava/lang/String;JI)V
33962 move-object/from16 v0, v37
33964 invoke-virtual {v0, v9}, Ljava/util/ArrayList;->add(Ljava/lang/Object;)Z
33966 new-instance v14, Lcom/android/server/am/ActivityManagerService$MemItem;
33968 const-string v15, "Dalvik"
33970 const-string v16, "Dalvik"
33974 invoke-direct/range {v14 .. v19}, Lcom/android/server/am/ActivityManagerService$MemItem;-><init>(Ljava/lang/String;Ljava/lang/String;JI)V
33976 move-object/from16 v0, v37
33978 invoke-virtual {v0, v14}, Ljava/util/ArrayList;->add(Ljava/lang/Object;)Z
33980 new-instance v19, Lcom/android/server/am/ActivityManagerService$MemItem;
33982 const-string v20, "Unknown"
33984 const-string v21, "Unknown"
33988 invoke-direct/range {v19 .. v24}, Lcom/android/server/am/ActivityManagerService$MemItem;-><init>(Ljava/lang/String;Ljava/lang/String;JI)V
33990 move-object/from16 v0, v37
33992 move-object/from16 v1, v19
33994 invoke-virtual {v0, v1}, Ljava/util/ArrayList;->add(Ljava/lang/Object;)Z
34001 move/from16 v0, v29
34003 if-ge v0, v5, :cond_2d0
34005 invoke-static/range {v29 .. v29}, Landroid/os/Debug$MemoryInfo;->getOtherLabel(I)Ljava/lang/String;
34007 move-result-object v25
34009 new-instance v24, Lcom/android/server/am/ActivityManagerService$MemItem;
34011 aget-wide v27, v50, v29
34013 move-object/from16 v26, v25
34015 invoke-direct/range {v24 .. v29}, Lcom/android/server/am/ActivityManagerService$MemItem;-><init>(Ljava/lang/String;Ljava/lang/String;JI)V
34017 move-object/from16 v0, v37
34019 move-object/from16 v1, v24
34021 invoke-virtual {v0, v1}, Ljava/util/ArrayList;->add(Ljava/lang/Object;)Z
34023 add-int/lit8 v29, v29, 0x1
34028 new-instance v52, Ljava/util/ArrayList;
34030 invoke-direct/range {v52 .. v52}, Ljava/util/ArrayList;-><init>()V
34035 move-object/from16 v0, v55
34037 array-length v5, v0
34039 move/from16 v0, v29
34041 if-ge v0, v5, :cond_309
34043 aget-wide v5, v55, v29
34045 const-wide/16 v9, 0x0
34047 cmp-long v5, v5, v9
34049 if-eqz v5, :cond_306
34051 sget-object v5, Lcom/android/server/am/ActivityManagerService;->DUMP_MEM_OOM_LABEL:[Ljava/lang/String;
34053 aget-object v25, v5, v29
34055 new-instance v30, Lcom/android/server/am/ActivityManagerService$MemItem;
34057 aget-wide v33, v55, v29
34059 sget-object v5, Lcom/android/server/am/ActivityManagerService;->DUMP_MEM_OOM_ADJ:[I
34063 move-object/from16 v31, v25
34065 move-object/from16 v32, v25
34067 invoke-direct/range {v30 .. v35}, Lcom/android/server/am/ActivityManagerService$MemItem;-><init>(Ljava/lang/String;Ljava/lang/String;JI)V
34069 aget-object v5, v54, v29
34071 move-object/from16 v0, v30
34073 iput-object v5, v0, Lcom/android/server/am/ActivityManagerService$MemItem;->subitems:Ljava/util/ArrayList;
34075 move-object/from16 v0, v52
34077 move-object/from16 v1, v30
34079 invoke-virtual {v0, v1}, Ljava/util/ArrayList;->add(Ljava/lang/Object;)Z
34082 add-int/lit8 v29, v29, 0x1
34087 if-nez p7, :cond_30d
34089 if-eqz p8, :cond_433
34092 if-eqz p7, :cond_319
34094 const-string v5, "total"
34098 move-object/from16 v0, p7
34100 move-wide/from16 v1, v68
34102 invoke-static {v0, v1, v2, v5, v6}, Lcom/android/server/am/ActivityManagerService;->appendMemBucket(Ljava/lang/StringBuilder;JLjava/lang/String;Z)V
34105 if-eqz p8, :cond_325
34107 const-string v5, "total"
34111 move-object/from16 v0, p8
34113 move-wide/from16 v1, v68
34115 invoke-static {v0, v1, v2, v5, v6}, Lcom/android/server/am/ActivityManagerService;->appendMemBucket(Ljava/lang/StringBuilder;JLjava/lang/String;Z)V
34123 invoke-virtual/range {v52 .. v52}, Ljava/util/ArrayList;->size()I
34127 move/from16 v0, v41
34129 if-ge v0, v5, :cond_433
34131 move-object/from16 v0, v52
34133 move/from16 v1, v41
34135 invoke-virtual {v0, v1}, Ljava/util/ArrayList;->get(I)Ljava/lang/Object;
34137 move-result-object v49
34139 check-cast v49, Lcom/android/server/am/ActivityManagerService$MemItem;
34141 move-object/from16 v0, v49
34143 iget-object v5, v0, Lcom/android/server/am/ActivityManagerService$MemItem;->subitems:Ljava/util/ArrayList;
34145 if-eqz v5, :cond_34c
34147 move-object/from16 v0, v49
34149 iget-object v5, v0, Lcom/android/server/am/ActivityManagerService$MemItem;->subitems:Ljava/util/ArrayList;
34151 invoke-virtual {v5}, Ljava/util/ArrayList;->size()I
34157 if-ge v5, v6, :cond_34f
34161 add-int/lit8 v41, v41, 0x1
34166 move-object/from16 v0, v49
34168 iget v5, v0, Lcom/android/server/am/ActivityManagerService$MemItem;->id:I
34172 if-lt v5, v6, :cond_364
34174 move-object/from16 v0, v49
34176 iget v5, v0, Lcom/android/server/am/ActivityManagerService$MemItem;->id:I
34180 if-eq v5, v6, :cond_364
34182 move-object/from16 v0, v49
34184 iget v5, v0, Lcom/android/server/am/ActivityManagerService$MemItem;->id:I
34188 if-ne v5, v6, :cond_34c
34191 if-eqz p7, :cond_373
34193 move-object/from16 v0, v49
34195 iget v5, v0, Lcom/android/server/am/ActivityManagerService$MemItem;->id:I
34197 if-gtz v5, :cond_373
34199 const-string v5, " / "
34201 move-object/from16 v0, p7
34203 invoke-virtual {v0, v5}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
34206 if-eqz p8, :cond_38d
34208 move-object/from16 v0, v49
34210 iget v5, v0, Lcom/android/server/am/ActivityManagerService$MemItem;->id:I
34212 if-ltz v5, :cond_3e4
34214 if-eqz v40, :cond_386
34216 const-string v5, ":"
34218 move-object/from16 v0, p8
34220 invoke-virtual {v0, v5}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
34225 const-string v5, "\n\t at "
34227 move-object/from16 v0, p8
34229 invoke-virtual {v0, v5}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
34236 move-object/from16 v0, v49
34238 iget-object v5, v0, Lcom/android/server/am/ActivityManagerService$MemItem;->subitems:Ljava/util/ArrayList;
34240 invoke-virtual {v5}, Ljava/util/ArrayList;->size()I
34244 move/from16 v0, v29
34246 if-ge v0, v5, :cond_3ec
34248 move-object/from16 v0, v49
34250 iget-object v5, v0, Lcom/android/server/am/ActivityManagerService$MemItem;->subitems:Ljava/util/ArrayList;
34252 move/from16 v0, v29
34254 invoke-virtual {v5, v0}, Ljava/util/ArrayList;->get(I)Ljava/lang/Object;
34256 move-result-object v48
34258 check-cast v48, Lcom/android/server/am/ActivityManagerService$MemItem;
34260 if-lez v29, :cond_3bb
34262 if-eqz p7, :cond_3b2
34264 const-string v5, " "
34266 move-object/from16 v0, p7
34268 invoke-virtual {v0, v5}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
34271 if-eqz p8, :cond_3bb
34273 const-string v5, "$"
34275 move-object/from16 v0, p8
34277 invoke-virtual {v0, v5}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
34280 if-eqz p7, :cond_3d1
34282 move-object/from16 v0, v49
34284 iget v5, v0, Lcom/android/server/am/ActivityManagerService$MemItem;->id:I
34286 if-gtz v5, :cond_3d1
34288 move-object/from16 v0, v48
34290 iget-wide v5, v0, Lcom/android/server/am/ActivityManagerService$MemItem;->pss:J
34292 move-object/from16 v0, v48
34294 iget-object v9, v0, Lcom/android/server/am/ActivityManagerService$MemItem;->shortLabel:Ljava/lang/String;
34298 move-object/from16 v0, p7
34300 invoke-static {v0, v5, v6, v9, v10}, Lcom/android/server/am/ActivityManagerService;->appendMemBucket(Ljava/lang/StringBuilder;JLjava/lang/String;Z)V
34303 if-eqz p8, :cond_3e1
34305 move-object/from16 v0, v48
34307 iget-wide v5, v0, Lcom/android/server/am/ActivityManagerService$MemItem;->pss:J
34309 move-object/from16 v0, v48
34311 iget-object v9, v0, Lcom/android/server/am/ActivityManagerService$MemItem;->shortLabel:Ljava/lang/String;
34315 move-object/from16 v0, p8
34317 invoke-static {v0, v5, v6, v9, v10}, Lcom/android/server/am/ActivityManagerService;->appendMemBucket(Ljava/lang/StringBuilder;JLjava/lang/String;Z)V
34320 add-int/lit8 v29, v29, 0x1
34325 const-string v5, "$"
34327 move-object/from16 v0, p8
34329 invoke-virtual {v0, v5}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
34334 if-eqz p8, :cond_34c
34336 move-object/from16 v0, v49
34338 iget v5, v0, Lcom/android/server/am/ActivityManagerService$MemItem;->id:I
34340 if-ltz v5, :cond_34c
34342 const-string v5, "("
34344 move-object/from16 v0, p8
34346 invoke-virtual {v0, v5}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
34351 sget-object v5, Lcom/android/server/am/ActivityManagerService;->DUMP_MEM_OOM_ADJ:[I
34353 array-length v5, v5
34355 move/from16 v0, v44
34357 if-ge v0, v5, :cond_42a
34359 sget-object v5, Lcom/android/server/am/ActivityManagerService;->DUMP_MEM_OOM_ADJ:[I
34363 move-object/from16 v0, v49
34365 iget v6, v0, Lcom/android/server/am/ActivityManagerService$MemItem;->id:I
34367 if-ne v5, v6, :cond_427
34369 sget-object v5, Lcom/android/server/am/ActivityManagerService;->DUMP_MEM_OOM_LABEL:[Ljava/lang/String;
34371 aget-object v5, v5, v44
34373 move-object/from16 v0, p8
34375 invoke-virtual {v0, v5}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
34377 const-string v5, ":"
34379 move-object/from16 v0, p8
34381 invoke-virtual {v0, v5}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
34383 sget-object v5, Lcom/android/server/am/ActivityManagerService;->DUMP_MEM_OOM_ADJ:[I
34387 move-object/from16 v0, p8
34389 invoke-virtual {v0, v5}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
34392 add-int/lit8 v44, v44, 0x1
34397 const-string v5, ")"
34399 move-object/from16 v0, p8
34401 invoke-virtual {v0, v5}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
34406 if-nez p5, :cond_44e
34408 if-nez v53, :cond_44e
34410 invoke-virtual/range {p2 .. p2}, Ljava/io/PrintWriter;->println()V
34412 const-string v5, "Total PSS by process:"
34414 move-object/from16 v0, p2
34416 invoke-virtual {v0, v5}, Ljava/io/PrintWriter;->println(Ljava/lang/String;)V
34418 const-string v5, " "
34422 move-object/from16 v0, p2
34424 move-object/from16 v1, v59
34426 invoke-static {v0, v5, v1, v6}, Lcom/android/server/am/ActivityManagerService;->dumpMemItems(Ljava/io/PrintWriter;Ljava/lang/String;Ljava/util/ArrayList;Z)V
34428 invoke-virtual/range {p2 .. p2}, Ljava/io/PrintWriter;->println()V
34431 const-string v5, "Total PSS by OOM adjustment:"
34433 move-object/from16 v0, p2
34435 invoke-virtual {v0, v5}, Ljava/io/PrintWriter;->println(Ljava/lang/String;)V
34437 const-string v5, " "
34441 move-object/from16 v0, p2
34443 move-object/from16 v1, v52
34445 invoke-static {v0, v5, v1, v6}, Lcom/android/server/am/ActivityManagerService;->dumpMemItems(Ljava/io/PrintWriter;Ljava/lang/String;Ljava/util/ArrayList;Z)V
34447 if-nez v53, :cond_479
34449 if-eqz p6, :cond_54b
34451 move-object/from16 v58, p6
34454 invoke-virtual/range {v58 .. v58}, Ljava/io/PrintWriter;->println()V
34456 const-string v5, "Total PSS by category:"
34458 move-object/from16 v0, v58
34460 invoke-virtual {v0, v5}, Ljava/io/PrintWriter;->println(Ljava/lang/String;)V
34462 const-string v5, " "
34466 move-object/from16 v0, v58
34468 move-object/from16 v1, v37
34470 invoke-static {v0, v5, v1, v6}, Lcom/android/server/am/ActivityManagerService;->dumpMemItems(Ljava/io/PrintWriter;Ljava/lang/String;Ljava/util/ArrayList;Z)V
34473 invoke-virtual/range {p2 .. p2}, Ljava/io/PrintWriter;->println()V
34475 const-string v5, "Total PSS: "
34477 move-object/from16 v0, p2
34479 invoke-virtual {v0, v5}, Ljava/io/PrintWriter;->print(Ljava/lang/String;)V
34481 move-object/from16 v0, p2
34483 move-wide/from16 v1, v68
34485 invoke-virtual {v0, v1, v2}, Ljava/io/PrintWriter;->print(J)V
34487 const-string v5, " kB"
34489 move-object/from16 v0, p2
34491 invoke-virtual {v0, v5}, Ljava/io/PrintWriter;->println(Ljava/lang/String;)V
34495 new-array v0, v5, [I
34497 move-object/from16 v36, v0
34501 const/16 v6, 0x2020
34507 new-array v0, v5, [J
34509 move-object/from16 v45, v0
34511 const-string v5, "/sys/kernel/mm/ksm/pages_shared"
34517 move-object/from16 v0, v36
34519 move-object/from16 v1, v45
34521 invoke-static {v5, v0, v6, v1, v9}, Landroid/os/Process;->readProcFile(Ljava/lang/String;[I[Ljava/lang/String;[J[F)Z
34525 aget-wide v5, v45, v5
34527 const-wide/16 v9, 0x1000
34529 mul-long/2addr v5, v9
34531 const-wide/16 v9, 0x400
34533 div-long v64, v5, v9
34537 const-wide/16 v9, 0x0
34539 aput-wide v9, v45, v5
34541 const-string v5, "/sys/kernel/mm/ksm/pages_sharing"
34547 move-object/from16 v0, v36
34549 move-object/from16 v1, v45
34551 invoke-static {v5, v0, v6, v1, v9}, Landroid/os/Process;->readProcFile(Ljava/lang/String;[I[Ljava/lang/String;[J[F)Z
34555 aget-wide v5, v45, v5
34557 const-wide/16 v9, 0x1000
34559 mul-long/2addr v5, v9
34561 const-wide/16 v9, 0x400
34563 div-long v66, v5, v9
34567 const-wide/16 v9, 0x0
34569 aput-wide v9, v45, v5
34571 const-string v5, "/sys/kernel/mm/ksm/pages_unshared"
34577 move-object/from16 v0, v36
34579 move-object/from16 v1, v45
34581 invoke-static {v5, v0, v6, v1, v9}, Landroid/os/Process;->readProcFile(Ljava/lang/String;[I[Ljava/lang/String;[J[F)Z
34585 aget-wide v5, v45, v5
34587 const-wide/16 v9, 0x1000
34589 mul-long/2addr v5, v9
34591 const-wide/16 v9, 0x400
34593 div-long v70, v5, v9
34597 const-wide/16 v9, 0x0
34599 aput-wide v9, v45, v5
34601 const-string v5, "/sys/kernel/mm/ksm/pages_volatile"
34607 move-object/from16 v0, v36
34609 move-object/from16 v1, v45
34611 invoke-static {v5, v0, v6, v1, v9}, Landroid/os/Process;->readProcFile(Ljava/lang/String;[I[Ljava/lang/String;[J[F)Z
34615 aget-wide v5, v45, v5
34617 const-wide/16 v9, 0x1000
34619 mul-long/2addr v5, v9
34621 const-wide/16 v9, 0x400
34623 div-long v74, v5, v9
34625 const-string v5, " KSM: "
34627 move-object/from16 v0, p2
34629 invoke-virtual {v0, v5}, Ljava/io/PrintWriter;->print(Ljava/lang/String;)V
34631 move-object/from16 v0, p2
34633 move-wide/from16 v1, v66
34635 invoke-virtual {v0, v1, v2}, Ljava/io/PrintWriter;->print(J)V
34637 const-string v5, " kB saved from shared "
34639 move-object/from16 v0, p2
34641 invoke-virtual {v0, v5}, Ljava/io/PrintWriter;->print(Ljava/lang/String;)V
34643 move-object/from16 v0, p2
34645 move-wide/from16 v1, v64
34647 invoke-virtual {v0, v1, v2}, Ljava/io/PrintWriter;->print(J)V
34649 const-string v5, " kB"
34651 move-object/from16 v0, p2
34653 invoke-virtual {v0, v5}, Ljava/io/PrintWriter;->println(Ljava/lang/String;)V
34655 const-string v5, " "
34657 move-object/from16 v0, p2
34659 invoke-virtual {v0, v5}, Ljava/io/PrintWriter;->print(Ljava/lang/String;)V
34661 move-object/from16 v0, p2
34663 move-wide/from16 v1, v70
34665 invoke-virtual {v0, v1, v2}, Ljava/io/PrintWriter;->print(J)V
34667 const-string v5, " kB unshared; "
34669 move-object/from16 v0, p2
34671 invoke-virtual {v0, v5}, Ljava/io/PrintWriter;->print(Ljava/lang/String;)V
34673 move-object/from16 v0, p2
34675 move-wide/from16 v1, v74
34677 invoke-virtual {v0, v1, v2}, Ljava/io/PrintWriter;->print(J)V
34679 const-string v5, " kB volatile"
34681 move-object/from16 v0, p2
34683 invoke-virtual {v0, v5}, Ljava/io/PrintWriter;->println(Ljava/lang/String;)V
34688 move-object/from16 v58, p2
34693 .method dumpBroadcastsLocked(Ljava/io/FileDescriptor;Ljava/io/PrintWriter;[Ljava/lang/String;IZLjava/lang/String;)Z
34698 const-string v3, "ACTIVITY MANAGER BROADCAST STATE (dumpsys activity broadcasts)"
34700 move-object/from16 v0, p2
34702 invoke-virtual {v0, v3}, Ljava/io/PrintWriter;->println(Ljava/lang/String;)V
34704 if-eqz p5, :cond_80
34706 move-object/from16 v0, p0
34708 iget-object v3, v0, Lcom/android/server/am/ActivityManagerService;->mRegisteredReceivers:Ljava/util/HashMap;
34710 invoke-virtual {v3}, Ljava/util/HashMap;->size()I
34714 if-lez v3, :cond_6a
34718 move-object/from16 v0, p0
34720 iget-object v3, v0, Lcom/android/server/am/ActivityManagerService;->mRegisteredReceivers:Ljava/util/HashMap;
34722 invoke-virtual {v3}, Ljava/util/HashMap;->values()Ljava/util/Collection;
34724 move-result-object v3
34726 invoke-interface {v3}, Ljava/util/Collection;->iterator()Ljava/util/Iterator;
34728 move-result-object v17
34732 invoke-interface/range {v17 .. v17}, Ljava/util/Iterator;->hasNext()Z
34736 if-eqz v3, :cond_6a
34738 invoke-interface/range {v17 .. v17}, Ljava/util/Iterator;->next()Ljava/lang/Object;
34740 move-result-object v21
34742 check-cast v21, Lcom/android/server/am/ReceiverList;
34744 if-eqz p6, :cond_46
34746 move-object/from16 v0, v21
34748 iget-object v3, v0, Lcom/android/server/am/ReceiverList;->app:Lcom/android/server/am/ProcessRecord;
34750 if-eqz v3, :cond_22
34752 move-object/from16 v0, v21
34754 iget-object v3, v0, Lcom/android/server/am/ReceiverList;->app:Lcom/android/server/am/ProcessRecord;
34756 iget-object v3, v3, Lcom/android/server/am/ProcessRecord;->info:Landroid/content/pm/ApplicationInfo;
34758 iget-object v3, v3, Landroid/content/pm/ApplicationInfo;->packageName:Ljava/lang/String;
34760 move-object/from16 v0, p6
34762 invoke-virtual {v0, v3}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
34766 if-eqz v3, :cond_22
34769 if-nez v19, :cond_52
34771 const-string v3, " Registered Receivers:"
34773 move-object/from16 v0, p2
34775 invoke-virtual {v0, v3}, Ljava/io/PrintWriter;->println(Ljava/lang/String;)V
34782 const-string v3, " * "
34784 move-object/from16 v0, p2
34786 invoke-virtual {v0, v3}, Ljava/io/PrintWriter;->print(Ljava/lang/String;)V
34788 move-object/from16 v0, p2
34790 move-object/from16 v1, v21
34792 invoke-virtual {v0, v1}, Ljava/io/PrintWriter;->println(Ljava/lang/Object;)V
34794 const-string v3, " "
34796 move-object/from16 v0, v21
34798 move-object/from16 v1, p2
34800 invoke-virtual {v0, v1, v3}, Lcom/android/server/am/ReceiverList;->dump(Ljava/io/PrintWriter;Ljava/lang/String;)V
34805 move-object/from16 v0, p0
34807 iget-object v2, v0, Lcom/android/server/am/ActivityManagerService;->mReceiverResolver:Lcom/android/server/IntentResolver;
34809 if-eqz v9, :cond_a1
34811 const-string v4, "\n Receiver Resolver Table:"
34814 const-string v5, " "
34818 move-object/from16 v3, p2
34820 move-object/from16 v6, p6
34822 invoke-virtual/range {v2 .. v7}, Lcom/android/server/IntentResolver;->dump(Ljava/io/PrintWriter;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Z)Z
34826 if-eqz v3, :cond_80
34831 move-object/from16 v0, p0
34833 iget-object v11, v0, Lcom/android/server/am/ActivityManagerService;->mBroadcastQueues:[Lcom/android/server/am/BroadcastQueue;
34835 array-length v0, v11
34837 move/from16 v18, v0
34842 move/from16 v0, v18
34844 if-ge v15, v0, :cond_a4
34846 aget-object v2, v11, v15
34848 move-object/from16 v3, p1
34850 move-object/from16 v4, p2
34852 move-object/from16 v5, p3
34858 move-object/from16 v8, p6
34860 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
34864 add-int/lit8 v15, v15, 0x1
34869 const-string v4, " Receiver Resolver Table:"
34876 move-object/from16 v0, p0
34878 iget-object v3, v0, Lcom/android/server/am/ActivityManagerService;->mStickyBroadcasts:Ljava/util/HashMap;
34880 if-eqz v3, :cond_14c
34882 if-nez p6, :cond_14c
34884 if-eqz v9, :cond_b2
34886 invoke-virtual/range {p2 .. p2}, Ljava/io/PrintWriter;->println()V
34891 const-string v3, " Sticky broadcasts:"
34893 move-object/from16 v0, p2
34895 invoke-virtual {v0, v3}, Ljava/io/PrintWriter;->println(Ljava/lang/String;)V
34897 new-instance v4, Ljava/lang/StringBuilder;
34901 invoke-direct {v4, v3}, Ljava/lang/StringBuilder;-><init>(I)V
34903 move-object/from16 v0, p0
34905 iget-object v3, v0, Lcom/android/server/am/ActivityManagerService;->mStickyBroadcasts:Ljava/util/HashMap;
34907 invoke-virtual {v3}, Ljava/util/HashMap;->entrySet()Ljava/util/Set;
34909 move-result-object v3
34911 invoke-interface {v3}, Ljava/util/Set;->iterator()Ljava/util/Iterator;
34913 move-result-object v15
34917 invoke-interface {v15}, Ljava/util/Iterator;->hasNext()Z
34921 if-eqz v3, :cond_14b
34923 invoke-interface {v15}, Ljava/util/Iterator;->next()Ljava/lang/Object;
34925 move-result-object v13
34927 check-cast v13, Ljava/util/Map$Entry;
34929 const-string v3, " * Sticky action "
34931 move-object/from16 v0, p2
34933 invoke-virtual {v0, v3}, Ljava/io/PrintWriter;->print(Ljava/lang/String;)V
34935 invoke-interface {v13}, Ljava/util/Map$Entry;->getKey()Ljava/lang/Object;
34937 move-result-object v3
34939 check-cast v3, Ljava/lang/String;
34941 move-object/from16 v0, p2
34943 invoke-virtual {v0, v3}, Ljava/io/PrintWriter;->print(Ljava/lang/String;)V
34945 if-eqz p5, :cond_143
34947 const-string v3, ":"
34949 move-object/from16 v0, p2
34951 invoke-virtual {v0, v3}, Ljava/io/PrintWriter;->println(Ljava/lang/String;)V
34953 invoke-interface {v13}, Ljava/util/Map$Entry;->getValue()Ljava/lang/Object;
34955 move-result-object v16
34957 check-cast v16, Ljava/util/ArrayList;
34959 invoke-virtual/range {v16 .. v16}, Ljava/util/ArrayList;->size()I
34966 if-ge v14, v10, :cond_cd
34970 invoke-virtual {v4, v3}, Ljava/lang/StringBuilder;->setLength(I)V
34972 const-string v3, " Intent: "
34974 invoke-virtual {v4, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
34976 move-object/from16 v0, v16
34978 invoke-virtual {v0, v14}, Ljava/util/ArrayList;->get(I)Ljava/lang/Object;
34980 move-result-object v3
34982 check-cast v3, Landroid/content/Intent;
34992 invoke-virtual/range {v3 .. v8}, Landroid/content/Intent;->toShortString(Ljava/lang/StringBuilder;ZZZZ)V
34994 invoke-virtual {v4}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
34996 move-result-object v3
34998 move-object/from16 v0, p2
35000 invoke-virtual {v0, v3}, Ljava/io/PrintWriter;->println(Ljava/lang/String;)V
35002 move-object/from16 v0, v16
35004 invoke-virtual {v0, v14}, Ljava/util/ArrayList;->get(I)Ljava/lang/Object;
35006 move-result-object v3
35008 check-cast v3, Landroid/content/Intent;
35010 invoke-virtual {v3}, Landroid/content/Intent;->getExtras()Landroid/os/Bundle;
35012 move-result-object v12
35014 if-eqz v12, :cond_140
35016 const-string v3, " "
35018 move-object/from16 v0, p2
35020 invoke-virtual {v0, v3}, Ljava/io/PrintWriter;->print(Ljava/lang/String;)V
35022 invoke-virtual {v12}, Landroid/os/Bundle;->toString()Ljava/lang/String;
35024 move-result-object v3
35026 move-object/from16 v0, p2
35028 invoke-virtual {v0, v3}, Ljava/io/PrintWriter;->println(Ljava/lang/String;)V
35031 add-int/lit8 v14, v14, 0x1
35036 const-string v3, ""
35038 move-object/from16 v0, p2
35040 invoke-virtual {v0, v3}, Ljava/io/PrintWriter;->println(Ljava/lang/String;)V
35048 if-eqz p5, :cond_1a4
35050 invoke-virtual/range {p2 .. p2}, Ljava/io/PrintWriter;->println()V
35052 move-object/from16 v0, p0
35054 iget-object v11, v0, Lcom/android/server/am/ActivityManagerService;->mBroadcastQueues:[Lcom/android/server/am/BroadcastQueue;
35056 array-length v0, v11
35058 move/from16 v18, v0
35063 move/from16 v0, v18
35065 if-ge v15, v0, :cond_18c
35067 aget-object v20, v11, v15
35069 new-instance v3, Ljava/lang/StringBuilder;
35071 invoke-direct {v3}, Ljava/lang/StringBuilder;-><init>()V
35073 const-string v5, " mBroadcastsScheduled ["
35075 invoke-virtual {v3, v5}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
35077 move-result-object v3
35079 move-object/from16 v0, v20
35081 iget-object v5, v0, Lcom/android/server/am/BroadcastQueue;->mQueueName:Ljava/lang/String;
35083 invoke-virtual {v3, v5}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
35085 move-result-object v3
35087 const-string v5, "]="
35089 invoke-virtual {v3, v5}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
35091 move-result-object v3
35093 move-object/from16 v0, v20
35095 iget-boolean v5, v0, Lcom/android/server/am/BroadcastQueue;->mBroadcastsScheduled:Z
35097 invoke-virtual {v3, v5}, Ljava/lang/StringBuilder;->append(Z)Ljava/lang/StringBuilder;
35099 move-result-object v3
35101 invoke-virtual {v3}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
35103 move-result-object v3
35105 move-object/from16 v0, p2
35107 invoke-virtual {v0, v3}, Ljava/io/PrintWriter;->println(Ljava/lang/String;)V
35109 add-int/lit8 v15, v15, 0x1
35114 const-string v3, " mHandler:"
35116 move-object/from16 v0, p2
35118 invoke-virtual {v0, v3}, Ljava/io/PrintWriter;->println(Ljava/lang/String;)V
35120 move-object/from16 v0, p0
35122 iget-object v3, v0, Lcom/android/server/am/ActivityManagerService;->mHandler:Landroid/os/Handler;
35124 new-instance v5, Landroid/util/PrintWriterPrinter;
35126 move-object/from16 v0, p2
35128 invoke-direct {v5, v0}, Landroid/util/PrintWriterPrinter;-><init>(Ljava/io/PrintWriter;)V
35130 const-string v6, " "
35132 invoke-virtual {v3, v5, v6}, Landroid/os/Handler;->dump(Landroid/util/Printer;Ljava/lang/String;)V
35140 .method final dumpDbInfo(Ljava/io/FileDescriptor;Ljava/io/PrintWriter;[Ljava/lang/String;)V
35145 invoke-virtual {p0, p2, v5, p3}, Lcom/android/server/am/ActivityManagerService;->collectProcesses(Ljava/io/PrintWriter;I[Ljava/lang/String;)Ljava/util/ArrayList;
35147 move-result-object v2
35155 const-string v5, "Applications Database Info:"
35157 invoke-virtual {p2, v5}, Ljava/io/PrintWriter;->println(Ljava/lang/String;)V
35159 invoke-virtual {v2}, Ljava/util/ArrayList;->size()I
35163 add-int/lit8 v1, v5, -0x1
35168 invoke-virtual {v2, v1}, Ljava/util/ArrayList;->get(I)Ljava/lang/Object;
35170 move-result-object v3
35172 check-cast v3, Lcom/android/server/am/ProcessRecord;
35174 iget-object v5, v3, Lcom/android/server/am/ProcessRecord;->thread:Landroid/app/IApplicationThread;
35176 if-eqz v5, :cond_64
35178 new-instance v5, Ljava/lang/StringBuilder;
35180 invoke-direct {v5}, Ljava/lang/StringBuilder;-><init>()V
35182 const-string v6, "\n** Database info for pid "
35184 invoke-virtual {v5, v6}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
35186 move-result-object v5
35188 iget v6, v3, Lcom/android/server/am/ProcessRecord;->pid:I
35190 invoke-virtual {v5, v6}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
35192 move-result-object v5
35194 const-string v6, " ["
35196 invoke-virtual {v5, v6}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
35198 move-result-object v5
35200 iget-object v6, v3, Lcom/android/server/am/ProcessRecord;->processName:Ljava/lang/String;
35202 invoke-virtual {v5, v6}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
35204 move-result-object v5
35206 const-string v6, "] **"
35208 invoke-virtual {v5, v6}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
35210 move-result-object v5
35212 invoke-virtual {v5}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
35214 move-result-object v5
35216 invoke-virtual {p2, v5}, Ljava/io/PrintWriter;->println(Ljava/lang/String;)V
35218 invoke-virtual {p2}, Ljava/io/PrintWriter;->flush()V
35221 new-instance v4, Lcom/android/server/am/TransferPipe;
35223 invoke-direct {v4}, Lcom/android/server/am/TransferPipe;-><init>()V
35225 .catch Ljava/io/IOException; {:try_start_4c .. :try_end_51} :catch_6c
35226 .catch Landroid/os/RemoteException; {:try_start_4c .. :try_end_51} :catch_87
35229 iget-object v5, v3, Lcom/android/server/am/ProcessRecord;->thread:Landroid/app/IApplicationThread;
35231 invoke-virtual {v4}, Lcom/android/server/am/TransferPipe;->getWriteFd()Landroid/os/ParcelFileDescriptor;
35233 move-result-object v6
35235 invoke-virtual {v6}, Landroid/os/ParcelFileDescriptor;->getFileDescriptor()Ljava/io/FileDescriptor;
35237 move-result-object v6
35239 invoke-interface {v5, v6, p3}, Landroid/app/IApplicationThread;->dumpDbInfo(Ljava/io/FileDescriptor;[Ljava/lang/String;)V
35241 invoke-virtual {v4, p1}, Lcom/android/server/am/TransferPipe;->go(Ljava/io/FileDescriptor;)V
35243 .catchall {:try_start_51 .. :try_end_61} :catchall_67
35246 invoke-virtual {v4}, Lcom/android/server/am/TransferPipe;->kill()V
35250 add-int/lit8 v1, v1, -0x1
35257 invoke-virtual {v4}, Lcom/android/server/am/TransferPipe;->kill()V
35261 .catch Ljava/io/IOException; {:try_start_61 .. :try_end_6c} :catch_6c
35262 .catch Landroid/os/RemoteException; {:try_start_61 .. :try_end_6c} :catch_87
35267 new-instance v5, Ljava/lang/StringBuilder;
35269 invoke-direct {v5}, Ljava/lang/StringBuilder;-><init>()V
35271 const-string v6, "Failure while dumping the app: "
35273 invoke-virtual {v5, v6}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
35275 move-result-object v5
35277 invoke-virtual {v5, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
35279 move-result-object v5
35281 invoke-virtual {v5}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
35283 move-result-object v5
35285 invoke-virtual {p2, v5}, Ljava/io/PrintWriter;->println(Ljava/lang/String;)V
35287 invoke-virtual {p2}, Ljava/io/PrintWriter;->flush()V
35294 new-instance v5, Ljava/lang/StringBuilder;
35296 invoke-direct {v5}, Ljava/lang/StringBuilder;-><init>()V
35298 const-string v6, "Got a RemoteException while dumping the app "
35300 invoke-virtual {v5, v6}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
35302 move-result-object v5
35304 invoke-virtual {v5, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
35306 move-result-object v5
35308 invoke-virtual {v5}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
35310 move-result-object v5
35312 invoke-virtual {p2, v5}, Ljava/io/PrintWriter;->println(Ljava/lang/String;)V
35314 invoke-virtual {p2}, Ljava/io/PrintWriter;->flush()V
35319 .method final dumpGraphicsHardwareUsage(Ljava/io/FileDescriptor;Ljava/io/PrintWriter;[Ljava/lang/String;)V
35324 invoke-virtual {p0, p2, v9, p3}, Lcom/android/server/am/ActivityManagerService;->collectProcesses(Ljava/io/PrintWriter;I[Ljava/lang/String;)Ljava/util/ArrayList;
35326 move-result-object v2
35334 invoke-static {}, Landroid/os/SystemClock;->uptimeMillis()J
35336 move-result-wide v7
35338 invoke-static {}, Landroid/os/SystemClock;->elapsedRealtime()J
35340 move-result-wide v4
35342 const-string v9, "Applications Graphics Acceleration Info:"
35344 invoke-virtual {p2, v9}, Ljava/io/PrintWriter;->println(Ljava/lang/String;)V
35346 new-instance v9, Ljava/lang/StringBuilder;
35348 invoke-direct {v9}, Ljava/lang/StringBuilder;-><init>()V
35350 const-string v10, "Uptime: "
35352 invoke-virtual {v9, v10}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
35354 move-result-object v9
35356 invoke-virtual {v9, v7, v8}, Ljava/lang/StringBuilder;->append(J)Ljava/lang/StringBuilder;
35358 move-result-object v9
35360 const-string v10, " Realtime: "
35362 invoke-virtual {v9, v10}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
35364 move-result-object v9
35366 invoke-virtual {v9, v4, v5}, Ljava/lang/StringBuilder;->append(J)Ljava/lang/StringBuilder;
35368 move-result-object v9
35370 invoke-virtual {v9}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
35372 move-result-object v9
35374 invoke-virtual {p2, v9}, Ljava/io/PrintWriter;->println(Ljava/lang/String;)V
35376 invoke-virtual {v2}, Ljava/util/ArrayList;->size()I
35380 add-int/lit8 v1, v9, -0x1
35385 invoke-virtual {v2, v1}, Ljava/util/ArrayList;->get(I)Ljava/lang/Object;
35387 move-result-object v3
35389 check-cast v3, Lcom/android/server/am/ProcessRecord;
35391 iget-object v9, v3, Lcom/android/server/am/ProcessRecord;->thread:Landroid/app/IApplicationThread;
35393 if-eqz v9, :cond_8c
35395 new-instance v9, Ljava/lang/StringBuilder;
35397 invoke-direct {v9}, Ljava/lang/StringBuilder;-><init>()V
35399 const-string v10, "\n** Graphics info for pid "
35401 invoke-virtual {v9, v10}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
35403 move-result-object v9
35405 iget v10, v3, Lcom/android/server/am/ProcessRecord;->pid:I
35407 invoke-virtual {v9, v10}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
35409 move-result-object v9
35411 const-string v10, " ["
35413 invoke-virtual {v9, v10}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
35415 move-result-object v9
35417 iget-object v10, v3, Lcom/android/server/am/ProcessRecord;->processName:Ljava/lang/String;
35419 invoke-virtual {v9, v10}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
35421 move-result-object v9
35423 const-string v10, "] **"
35425 invoke-virtual {v9, v10}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
35427 move-result-object v9
35429 invoke-virtual {v9}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
35431 move-result-object v9
35433 invoke-virtual {p2, v9}, Ljava/io/PrintWriter;->println(Ljava/lang/String;)V
35435 invoke-virtual {p2}, Ljava/io/PrintWriter;->flush()V
35438 new-instance v6, Lcom/android/server/am/TransferPipe;
35440 invoke-direct {v6}, Lcom/android/server/am/TransferPipe;-><init>()V
35442 .catch Ljava/io/IOException; {:try_start_74 .. :try_end_79} :catch_94
35443 .catch Landroid/os/RemoteException; {:try_start_74 .. :try_end_79} :catch_af
35446 iget-object v9, v3, Lcom/android/server/am/ProcessRecord;->thread:Landroid/app/IApplicationThread;
35448 invoke-virtual {v6}, Lcom/android/server/am/TransferPipe;->getWriteFd()Landroid/os/ParcelFileDescriptor;
35450 move-result-object v10
35452 invoke-virtual {v10}, Landroid/os/ParcelFileDescriptor;->getFileDescriptor()Ljava/io/FileDescriptor;
35454 move-result-object v10
35456 invoke-interface {v9, v10, p3}, Landroid/app/IApplicationThread;->dumpGfxInfo(Ljava/io/FileDescriptor;[Ljava/lang/String;)V
35458 invoke-virtual {v6, p1}, Lcom/android/server/am/TransferPipe;->go(Ljava/io/FileDescriptor;)V
35460 .catchall {:try_start_79 .. :try_end_89} :catchall_8f
35463 invoke-virtual {v6}, Lcom/android/server/am/TransferPipe;->kill()V
35467 add-int/lit8 v1, v1, -0x1
35474 invoke-virtual {v6}, Lcom/android/server/am/TransferPipe;->kill()V
35478 .catch Ljava/io/IOException; {:try_start_89 .. :try_end_94} :catch_94
35479 .catch Landroid/os/RemoteException; {:try_start_89 .. :try_end_94} :catch_af
35484 new-instance v9, Ljava/lang/StringBuilder;
35486 invoke-direct {v9}, Ljava/lang/StringBuilder;-><init>()V
35488 const-string v10, "Failure while dumping the app: "
35490 invoke-virtual {v9, v10}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
35492 move-result-object v9
35494 invoke-virtual {v9, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
35496 move-result-object v9
35498 invoke-virtual {v9}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
35500 move-result-object v9
35502 invoke-virtual {p2, v9}, Ljava/io/PrintWriter;->println(Ljava/lang/String;)V
35504 invoke-virtual {p2}, Ljava/io/PrintWriter;->flush()V
35511 new-instance v9, Ljava/lang/StringBuilder;
35513 invoke-direct {v9}, Ljava/lang/StringBuilder;-><init>()V
35515 const-string v10, "Got a RemoteException while dumping the app "
35517 invoke-virtual {v9, v10}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
35519 move-result-object v9
35521 invoke-virtual {v9, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
35523 move-result-object v9
35525 invoke-virtual {v9}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
35527 move-result-object v9
35529 invoke-virtual {p2, v9}, Ljava/io/PrintWriter;->println(Ljava/lang/String;)V
35531 invoke-virtual {p2}, Ljava/io/PrintWriter;->flush()V
35536 .method public dumpHeap(Ljava/lang/String;ZLjava/lang/String;Landroid/os/ParcelFileDescriptor;)Z
35538 .annotation system Ldalvik/annotation/Throws;
35540 Landroid/os/RemoteException;
35547 .catchall {:try_start_0 .. :try_end_1} :catchall_1d
35548 .catch Landroid/os/RemoteException; {:try_start_0 .. :try_end_1} :catch_14
35551 const-string v7, "android.permission.SET_ACTIVITY_WATCHER"
35553 invoke-virtual {p0, v7}, Lcom/android/server/am/ActivityManagerService;->checkCallingPermission(Ljava/lang/String;)I
35557 if-eqz v7, :cond_24
35559 new-instance v7, Ljava/lang/SecurityException;
35561 const-string v8, "Requires permission android.permission.SET_ACTIVITY_WATCHER"
35563 invoke-direct {v7, v8}, Ljava/lang/SecurityException;-><init>(Ljava/lang/String;)V
35572 .catchall {:try_start_1 .. :try_end_13} :catchall_11
35577 .catchall {:try_start_13 .. :try_end_14} :catchall_1d
35578 .catch Landroid/os/RemoteException; {:try_start_13 .. :try_end_14} :catch_14
35584 new-instance v7, Ljava/lang/IllegalStateException;
35586 const-string v8, "Process disappeared"
35588 invoke-direct {v7, v8}, Ljava/lang/IllegalStateException;-><init>(Ljava/lang/String;)V
35592 .catchall {:try_start_15 .. :try_end_1d} :catchall_1d
35597 if-eqz p4, :cond_23
35600 invoke-virtual {p4}, Landroid/os/ParcelFileDescriptor;->close()V
35602 .catch Ljava/io/IOException; {:try_start_20 .. :try_end_23} :catch_c1
35609 if-nez p4, :cond_2e
35612 new-instance v7, Ljava/lang/IllegalArgumentException;
35614 const-string v8, "null fd"
35616 invoke-direct {v7, v8}, Ljava/lang/IllegalArgumentException;-><init>(Ljava/lang/String;)V
35620 .catchall {:try_start_26 .. :try_end_2e} :catchall_11
35626 invoke-static {p1}, Ljava/lang/Integer;->parseInt(Ljava/lang/String;)I
35630 iget-object v8, p0, Lcom/android/server/am/ActivityManagerService;->mPidsSelfLocked:Landroid/util/SparseArray;
35634 .catchall {:try_start_2f .. :try_end_36} :catchall_11
35635 .catch Ljava/lang/NumberFormatException; {:try_start_2f .. :try_end_36} :catch_80
35638 iget-object v7, p0, Lcom/android/server/am/ActivityManagerService;->mPidsSelfLocked:Landroid/util/SparseArray;
35640 invoke-virtual {v7, v4}, Landroid/util/SparseArray;->get(I)Ljava/lang/Object;
35642 move-result-object v7
35646 check-cast v0, Lcom/android/server/am/ProcessRecord;
35652 .catchall {:try_start_36 .. :try_end_41} :catchall_7d
35655 if-nez v5, :cond_5e
35658 iget-object v7, p0, Lcom/android/server/am/ActivityManagerService;->mProcessNames:Lcom/android/server/ProcessMap;
35660 invoke-virtual {v7}, Lcom/android/server/ProcessMap;->getMap()Ljava/util/HashMap;
35662 move-result-object v1
35664 invoke-virtual {v1, p1}, Ljava/util/HashMap;->get(Ljava/lang/Object;)Ljava/lang/Object;
35666 move-result-object v6
35668 check-cast v6, Landroid/util/SparseArray;
35670 if-eqz v6, :cond_5e
35672 invoke-virtual {v6}, Landroid/util/SparseArray;->size()I
35676 if-lez v7, :cond_5e
35680 invoke-virtual {v6, v7}, Landroid/util/SparseArray;->valueAt(I)Ljava/lang/Object;
35682 move-result-object v5
35684 check-cast v5, Lcom/android/server/am/ProcessRecord;
35687 if-eqz v5, :cond_64
35689 iget-object v7, v5, Lcom/android/server/am/ProcessRecord;->thread:Landroid/app/IApplicationThread;
35691 if-nez v7, :cond_82
35694 new-instance v7, Ljava/lang/IllegalArgumentException;
35696 new-instance v8, Ljava/lang/StringBuilder;
35698 invoke-direct {v8}, Ljava/lang/StringBuilder;-><init>()V
35700 const-string v9, "Unknown process: "
35702 invoke-virtual {v8, v9}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
35704 move-result-object v8
35706 invoke-virtual {v8, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
35708 move-result-object v8
35710 invoke-virtual {v8}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
35712 move-result-object v8
35714 invoke-direct {v7, v8}, Ljava/lang/IllegalArgumentException;-><init>(Ljava/lang/String;)V
35718 .catchall {:try_start_43 .. :try_end_7d} :catchall_11
35726 .catchall {:try_start_7e .. :try_end_7f} :catchall_7d
35731 .catchall {:try_start_7f .. :try_end_80} :catchall_11
35732 .catch Ljava/lang/NumberFormatException; {:try_start_7f .. :try_end_80} :catch_80
35741 const-string v7, "1"
35743 const-string v8, "ro.debuggable"
35745 const-string v9, "0"
35747 invoke-static {v8, v9}, Landroid/os/SystemProperties;->get(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
35749 move-result-object v8
35751 invoke-virtual {v7, v8}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
35755 if-nez v3, :cond_b3
35757 iget-object v7, v5, Lcom/android/server/am/ProcessRecord;->info:Landroid/content/pm/ApplicationInfo;
35759 iget v7, v7, Landroid/content/pm/ApplicationInfo;->flags:I
35761 and-int/lit8 v7, v7, 0x2
35763 if-nez v7, :cond_b3
35765 new-instance v7, Ljava/lang/SecurityException;
35767 new-instance v8, Ljava/lang/StringBuilder;
35769 invoke-direct {v8}, Ljava/lang/StringBuilder;-><init>()V
35771 const-string v9, "Process not debuggable: "
35773 invoke-virtual {v8, v9}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
35775 move-result-object v8
35777 invoke-virtual {v8, v5}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
35779 move-result-object v8
35781 invoke-virtual {v8}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
35783 move-result-object v8
35785 invoke-direct {v7, v8}, Ljava/lang/SecurityException;-><init>(Ljava/lang/String;)V
35790 iget-object v7, v5, Lcom/android/server/am/ProcessRecord;->thread:Landroid/app/IApplicationThread;
35792 invoke-interface {v7, p2, p3, p4}, Landroid/app/IApplicationThread;->dumpHeap(ZLjava/lang/String;Landroid/os/ParcelFileDescriptor;)V
35800 .catchall {:try_start_82 .. :try_end_bb} :catchall_11
35802 if-eqz p4, :cond_c0
35805 invoke-virtual {p4}, Landroid/os/ParcelFileDescriptor;->close()V
35807 .catch Ljava/io/IOException; {:try_start_bd .. :try_end_c0} :catch_c4
35824 .method dumpOomLocked(Ljava/io/FileDescriptor;Ljava/io/PrintWriter;[Ljava/lang/String;IZ)Z
35829 iget-object v0, p0, Lcom/android/server/am/ActivityManagerService;->mLruProcesses:Ljava/util/ArrayList;
35831 invoke-virtual {v0}, Ljava/util/ArrayList;->size()I
35835 if-lez v0, :cond_ad
35837 if-eqz v5, :cond_10
35839 const-string v0, " "
35841 invoke-virtual {p2, v0}, Ljava/io/PrintWriter;->println(Ljava/lang/String;)V
35846 const-string v0, " OOM levels:"
35848 invoke-virtual {p2, v0}, Ljava/io/PrintWriter;->println(Ljava/lang/String;)V
35850 const-string v0, " SYSTEM_ADJ: "
35852 invoke-virtual {p2, v0}, Ljava/io/PrintWriter;->print(Ljava/lang/String;)V
35856 invoke-virtual {p2, v0}, Ljava/io/PrintWriter;->println(I)V
35858 const-string v0, " PERSISTENT_PROC_ADJ: "
35860 invoke-virtual {p2, v0}, Ljava/io/PrintWriter;->print(Ljava/lang/String;)V
35864 invoke-virtual {p2, v0}, Ljava/io/PrintWriter;->println(I)V
35866 const-string v0, " FOREGROUND_APP_ADJ: "
35868 invoke-virtual {p2, v0}, Ljava/io/PrintWriter;->print(Ljava/lang/String;)V
35872 invoke-virtual {p2, v0}, Ljava/io/PrintWriter;->println(I)V
35874 const-string v0, " VISIBLE_APP_ADJ: "
35876 invoke-virtual {p2, v0}, Ljava/io/PrintWriter;->print(Ljava/lang/String;)V
35880 invoke-virtual {p2, v0}, Ljava/io/PrintWriter;->println(I)V
35882 const-string v0, " PERCEPTIBLE_APP_ADJ: "
35884 invoke-virtual {p2, v0}, Ljava/io/PrintWriter;->print(Ljava/lang/String;)V
35888 invoke-virtual {p2, v0}, Ljava/io/PrintWriter;->println(I)V
35890 const-string v0, " HEAVY_WEIGHT_APP_ADJ: "
35892 invoke-virtual {p2, v0}, Ljava/io/PrintWriter;->print(Ljava/lang/String;)V
35896 invoke-virtual {p2, v0}, Ljava/io/PrintWriter;->println(I)V
35898 const-string v0, " BACKUP_APP_ADJ: "
35900 invoke-virtual {p2, v0}, Ljava/io/PrintWriter;->print(Ljava/lang/String;)V
35904 invoke-virtual {p2, v0}, Ljava/io/PrintWriter;->println(I)V
35906 const-string v0, " SERVICE_ADJ: "
35908 invoke-virtual {p2, v0}, Ljava/io/PrintWriter;->print(Ljava/lang/String;)V
35912 invoke-virtual {p2, v0}, Ljava/io/PrintWriter;->println(I)V
35914 const-string v0, " HOME_APP_ADJ: "
35916 invoke-virtual {p2, v0}, Ljava/io/PrintWriter;->print(Ljava/lang/String;)V
35920 invoke-virtual {p2, v0}, Ljava/io/PrintWriter;->println(I)V
35922 const-string v0, " PREVIOUS_APP_ADJ: "
35924 invoke-virtual {p2, v0}, Ljava/io/PrintWriter;->print(Ljava/lang/String;)V
35928 invoke-virtual {p2, v0}, Ljava/io/PrintWriter;->println(I)V
35930 const-string v0, " SERVICE_B_ADJ: "
35932 invoke-virtual {p2, v0}, Ljava/io/PrintWriter;->print(Ljava/lang/String;)V
35936 invoke-virtual {p2, v0}, Ljava/io/PrintWriter;->println(I)V
35938 const-string v0, " HIDDEN_APP_MIN_ADJ: "
35940 invoke-virtual {p2, v0}, Ljava/io/PrintWriter;->print(Ljava/lang/String;)V
35942 sget v0, Lcom/android/server/am/ProcessList;->HIDDEN_APP_MIN_ADJ:I
35944 invoke-virtual {p2, v0}, Ljava/io/PrintWriter;->println(I)V
35946 const-string v0, " HIDDEN_APP_MAX_ADJ: "
35948 invoke-virtual {p2, v0}, Ljava/io/PrintWriter;->print(Ljava/lang/String;)V
35952 invoke-virtual {p2, v0}, Ljava/io/PrintWriter;->println(I)V
35954 if-eqz v5, :cond_97
35956 const-string v0, " "
35958 invoke-virtual {p2, v0}, Ljava/io/PrintWriter;->println(Ljava/lang/String;)V
35963 const-string v0, " Process OOM control:"
35965 invoke-virtual {p2, v0}, Ljava/io/PrintWriter;->println(Ljava/lang/String;)V
35967 iget-object v2, p0, Lcom/android/server/am/ActivityManagerService;->mLruProcesses:Ljava/util/ArrayList;
35969 const-string v3, " "
35971 const-string v4, "Proc"
35973 const-string v5, "PERS"
35983 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
36002 invoke-virtual/range {v0 .. v7}, Lcom/android/server/am/ActivityManagerService;->dumpProcessesToGc(Ljava/io/FileDescriptor;Ljava/io/PrintWriter;[Ljava/lang/String;IZZLjava/lang/String;)Z
36006 invoke-virtual {p2}, Ljava/io/PrintWriter;->println()V
36008 new-instance v0, Ljava/lang/StringBuilder;
36010 invoke-direct {v0}, Ljava/lang/StringBuilder;-><init>()V
36012 const-string v1, " mHomeProcess: "
36014 invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
36016 move-result-object v0
36018 iget-object v1, p0, Lcom/android/server/am/ActivityManagerService;->mHomeProcess:Lcom/android/server/am/ProcessRecord;
36020 invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
36022 move-result-object v0
36024 invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
36026 move-result-object v0
36028 invoke-virtual {p2, v0}, Ljava/io/PrintWriter;->println(Ljava/lang/String;)V
36030 new-instance v0, Ljava/lang/StringBuilder;
36032 invoke-direct {v0}, Ljava/lang/StringBuilder;-><init>()V
36034 const-string v1, " mPreviousProcess: "
36036 invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
36038 move-result-object v0
36040 iget-object v1, p0, Lcom/android/server/am/ActivityManagerService;->mPreviousProcess:Lcom/android/server/am/ProcessRecord;
36042 invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
36044 move-result-object v0
36046 invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
36048 move-result-object v0
36050 invoke-virtual {p2, v0}, Ljava/io/PrintWriter;->println(Ljava/lang/String;)V
36052 iget-object v0, p0, Lcom/android/server/am/ActivityManagerService;->mHeavyWeightProcess:Lcom/android/server/am/ProcessRecord;
36054 if-eqz v0, :cond_107
36056 new-instance v0, Ljava/lang/StringBuilder;
36058 invoke-direct {v0}, Ljava/lang/StringBuilder;-><init>()V
36060 const-string v1, " mHeavyWeightProcess: "
36062 invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
36064 move-result-object v0
36066 iget-object v1, p0, Lcom/android/server/am/ActivityManagerService;->mHeavyWeightProcess:Lcom/android/server/am/ProcessRecord;
36068 invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
36070 move-result-object v0
36072 invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
36074 move-result-object v0
36076 invoke-virtual {p2, v0}, Ljava/io/PrintWriter;->println(Ljava/lang/String;)V
36084 .method dumpPendingIntentsLocked(Ljava/io/FileDescriptor;Ljava/io/PrintWriter;[Ljava/lang/String;IZLjava/lang/String;)Z
36089 iget-object v5, p0, Lcom/android/server/am/ActivityManagerService;->mIntentSenderRecords:Ljava/util/HashMap;
36091 invoke-virtual {v5}, Ljava/util/HashMap;->size()I
36095 if-lez v5, :cond_5d
36099 iget-object v5, p0, Lcom/android/server/am/ActivityManagerService;->mIntentSenderRecords:Ljava/util/HashMap;
36101 invoke-virtual {v5}, Ljava/util/HashMap;->values()Ljava/util/Collection;
36103 move-result-object v5
36105 invoke-interface {v5}, Ljava/util/Collection;->iterator()Ljava/util/Iterator;
36107 move-result-object v0
36111 invoke-interface {v0}, Ljava/util/Iterator;->hasNext()Z
36115 if-eqz v5, :cond_5d
36117 invoke-interface {v0}, Ljava/util/Iterator;->next()Ljava/lang/Object;
36119 move-result-object v4
36121 check-cast v4, Ljava/lang/ref/WeakReference;
36123 if-eqz v4, :cond_52
36125 invoke-virtual {v4}, Ljava/lang/ref/WeakReference;->get()Ljava/lang/Object;
36127 move-result-object v5
36129 check-cast v5, Lcom/android/server/am/PendingIntentRecord;
36134 if-eqz p6, :cond_37
36136 if-eqz v3, :cond_14
36138 iget-object v5, v3, Lcom/android/server/am/PendingIntentRecord;->key:Lcom/android/server/am/PendingIntentRecord$Key;
36140 iget-object v5, v5, Lcom/android/server/am/PendingIntentRecord$Key;->packageName:Ljava/lang/String;
36142 invoke-virtual {p6, v5}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
36146 if-eqz v5, :cond_14
36149 if-nez v2, :cond_3f
36151 const-string v5, "ACTIVITY MANAGER PENDING INTENTS (dumpsys activity intents)"
36153 invoke-virtual {p2, v5}, Ljava/io/PrintWriter;->println(Ljava/lang/String;)V
36160 if-eqz v3, :cond_54
36162 const-string v5, " * "
36164 invoke-virtual {p2, v5}, Ljava/io/PrintWriter;->print(Ljava/lang/String;)V
36166 invoke-virtual {p2, v3}, Ljava/io/PrintWriter;->println(Ljava/lang/Object;)V
36168 if-eqz p5, :cond_14
36170 const-string v5, " "
36172 invoke-virtual {v3, p2, v5}, Lcom/android/server/am/PendingIntentRecord;->dump(Ljava/io/PrintWriter;Ljava/lang/String;)V
36182 const-string v5, " * "
36184 invoke-virtual {p2, v5}, Ljava/io/PrintWriter;->print(Ljava/lang/String;)V
36186 invoke-virtual {p2, v4}, Ljava/io/PrintWriter;->println(Ljava/lang/Object;)V
36194 .method dumpProcessesLocked(Ljava/io/FileDescriptor;Ljava/io/PrintWriter;[Ljava/lang/String;IZLjava/lang/String;)Z
36201 const-string v2, "ACTIVITY MANAGER RUNNING PROCESSES (dumpsys activity processes)"
36203 move-object/from16 v0, p2
36205 invoke-virtual {v0, v2}, Ljava/io/PrintWriter;->println(Ljava/lang/String;)V
36207 if-eqz p5, :cond_96
36209 move-object/from16 v0, p0
36211 iget-object v2, v0, Lcom/android/server/am/ActivityManagerService;->mProcessNames:Lcom/android/server/ProcessMap;
36213 invoke-virtual {v2}, Lcom/android/server/ProcessMap;->getMap()Ljava/util/HashMap;
36215 move-result-object v2
36217 invoke-virtual {v2}, Ljava/util/HashMap;->values()Ljava/util/Collection;
36219 move-result-object v2
36221 invoke-interface {v2}, Ljava/util/Collection;->iterator()Ljava/util/Iterator;
36223 move-result-object v14
36226 invoke-interface {v14}, Ljava/util/Iterator;->hasNext()Z
36230 if-eqz v2, :cond_96
36232 invoke-interface {v14}, Ljava/util/Iterator;->next()Ljava/lang/Object;
36234 move-result-object v24
36236 check-cast v24, Landroid/util/SparseArray;
36238 invoke-virtual/range {v24 .. v24}, Landroid/util/SparseArray;->size()I
36245 if-ge v15, v11, :cond_1c
36247 move-object/from16 v0, v24
36249 invoke-virtual {v0, v15}, Landroid/util/SparseArray;->valueAt(I)Ljava/lang/Object;
36251 move-result-object v27
36253 check-cast v27, Lcom/android/server/am/ProcessRecord;
36255 if-eqz p6, :cond_4a
36257 move-object/from16 v0, v27
36259 iget-object v2, v0, Lcom/android/server/am/ProcessRecord;->info:Landroid/content/pm/ApplicationInfo;
36261 iget-object v2, v2, Landroid/content/pm/ApplicationInfo;->packageName:Ljava/lang/String;
36263 move-object/from16 v0, p6
36265 invoke-virtual {v0, v2}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
36269 if-nez v2, :cond_4a
36273 add-int/lit8 v15, v15, 0x1
36278 if-nez v7, :cond_54
36280 const-string v2, " All known processes:"
36282 move-object/from16 v0, p2
36284 invoke-virtual {v0, v2}, Ljava/io/PrintWriter;->println(Ljava/lang/String;)V
36289 move-object/from16 v0, v27
36291 iget-boolean v2, v0, Lcom/android/server/am/ProcessRecord;->persistent:Z
36293 if-eqz v2, :cond_93
36295 const-string v2, " *PERS*"
36298 move-object/from16 v0, p2
36300 invoke-virtual {v0, v2}, Ljava/io/PrintWriter;->print(Ljava/lang/String;)V
36302 const-string v2, " UID "
36304 move-object/from16 v0, p2
36306 invoke-virtual {v0, v2}, Ljava/io/PrintWriter;->print(Ljava/lang/String;)V
36308 move-object/from16 v0, v24
36310 invoke-virtual {v0, v15}, Landroid/util/SparseArray;->keyAt(I)I
36314 move-object/from16 v0, p2
36316 invoke-virtual {v0, v2}, Ljava/io/PrintWriter;->print(I)V
36318 const-string v2, " "
36320 move-object/from16 v0, p2
36322 invoke-virtual {v0, v2}, Ljava/io/PrintWriter;->print(Ljava/lang/String;)V
36324 move-object/from16 v0, p2
36326 move-object/from16 v1, v27
36328 invoke-virtual {v0, v1}, Ljava/io/PrintWriter;->println(Ljava/lang/Object;)V
36330 const-string v2, " "
36332 move-object/from16 v0, v27
36334 move-object/from16 v1, p2
36336 invoke-virtual {v0, v1, v2}, Lcom/android/server/am/ProcessRecord;->dump(Ljava/io/PrintWriter;Ljava/lang/String;)V
36338 move-object/from16 v0, v27
36340 iget-boolean v2, v0, Lcom/android/server/am/ProcessRecord;->persistent:Z
36342 if-eqz v2, :cond_47
36344 add-int/lit8 v20, v20, 0x1
36349 const-string v2, " *APP*"
36354 move-object/from16 v0, p0
36356 iget-object v2, v0, Lcom/android/server/am/ActivityManagerService;->mIsolatedProcesses:Landroid/util/SparseArray;
36358 invoke-virtual {v2}, Landroid/util/SparseArray;->size()I
36362 if-lez v2, :cond_fb
36364 if-eqz v7, :cond_a9
36366 const-string v2, " "
36368 move-object/from16 v0, p2
36370 invoke-virtual {v0, v2}, Ljava/io/PrintWriter;->println(Ljava/lang/String;)V
36375 const-string v2, " Isolated process list (sorted by uid):"
36377 move-object/from16 v0, p2
36379 invoke-virtual {v0, v2}, Ljava/io/PrintWriter;->println(Ljava/lang/String;)V
36384 move-object/from16 v0, p0
36386 iget-object v2, v0, Lcom/android/server/am/ActivityManagerService;->mIsolatedProcesses:Landroid/util/SparseArray;
36388 invoke-virtual {v2}, Landroid/util/SparseArray;->size()I
36392 if-ge v13, v2, :cond_fb
36394 move-object/from16 v0, p0
36396 iget-object v2, v0, Lcom/android/server/am/ActivityManagerService;->mIsolatedProcesses:Landroid/util/SparseArray;
36398 invoke-virtual {v2, v13}, Landroid/util/SparseArray;->valueAt(I)Ljava/lang/Object;
36400 move-result-object v27
36402 check-cast v27, Lcom/android/server/am/ProcessRecord;
36404 if-eqz p6, :cond_d9
36406 move-object/from16 v0, v27
36408 iget-object v2, v0, Lcom/android/server/am/ProcessRecord;->info:Landroid/content/pm/ApplicationInfo;
36410 iget-object v2, v2, Landroid/content/pm/ApplicationInfo;->packageName:Ljava/lang/String;
36412 move-object/from16 v0, p6
36414 invoke-virtual {v0, v2}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
36418 if-nez v2, :cond_d9
36421 add-int/lit8 v13, v13, 0x1
36426 const-string v2, "%sIsolated #%2d: %s"
36430 new-array v3, v3, [Ljava/lang/Object;
36434 const-string v5, " "
36436 aput-object v5, v3, v4
36440 invoke-static {v13}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
36442 move-result-object v5
36444 aput-object v5, v3, v4
36448 invoke-virtual/range {v27 .. v27}, Lcom/android/server/am/ProcessRecord;->toString()Ljava/lang/String;
36450 move-result-object v5
36452 aput-object v5, v3, v4
36454 invoke-static {v2, v3}, Ljava/lang/String;->format(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
36456 move-result-object v2
36458 move-object/from16 v0, p2
36460 invoke-virtual {v0, v2}, Ljava/io/PrintWriter;->println(Ljava/lang/String;)V
36465 move-object/from16 v0, p0
36467 iget-object v2, v0, Lcom/android/server/am/ActivityManagerService;->mLruProcesses:Ljava/util/ArrayList;
36469 invoke-virtual {v2}, Ljava/util/ArrayList;->size()I
36473 if-lez v2, :cond_12b
36475 if-eqz v7, :cond_10e
36477 const-string v2, " "
36479 move-object/from16 v0, p2
36481 invoke-virtual {v0, v2}, Ljava/io/PrintWriter;->println(Ljava/lang/String;)V
36486 const-string v2, " Process LRU list (sorted by oom_adj):"
36488 move-object/from16 v0, p2
36490 invoke-virtual {v0, v2}, Ljava/io/PrintWriter;->println(Ljava/lang/String;)V
36492 move-object/from16 v0, p0
36494 iget-object v4, v0, Lcom/android/server/am/ActivityManagerService;->mLruProcesses:Ljava/util/ArrayList;
36496 const-string v5, " "
36498 const-string v6, "Proc"
36500 const-string v7, "PERS"
36504 move-object/from16 v2, p2
36506 move-object/from16 v3, p0
36508 move-object/from16 v9, p6
36510 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
36515 if-eqz p5, :cond_19e
36517 move-object/from16 v0, p0
36519 iget-object v3, v0, Lcom/android/server/am/ActivityManagerService;->mPidsSelfLocked:Landroid/util/SparseArray;
36529 move-object/from16 v0, p0
36531 iget-object v2, v0, Lcom/android/server/am/ActivityManagerService;->mPidsSelfLocked:Landroid/util/SparseArray;
36533 invoke-virtual {v2}, Landroid/util/SparseArray;->size()I
36537 if-ge v13, v2, :cond_19d
36539 move-object/from16 v0, p0
36541 iget-object v2, v0, Lcom/android/server/am/ActivityManagerService;->mPidsSelfLocked:Landroid/util/SparseArray;
36543 invoke-virtual {v2, v13}, Landroid/util/SparseArray;->valueAt(I)Ljava/lang/Object;
36545 move-result-object v27
36547 check-cast v27, Lcom/android/server/am/ProcessRecord;
36549 if-eqz p6, :cond_15c
36551 move-object/from16 v0, v27
36553 iget-object v2, v0, Lcom/android/server/am/ProcessRecord;->info:Landroid/content/pm/ApplicationInfo;
36555 iget-object v2, v2, Landroid/content/pm/ApplicationInfo;->packageName:Ljava/lang/String;
36557 move-object/from16 v0, p6
36559 invoke-virtual {v0, v2}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
36563 if-nez v2, :cond_15c
36566 add-int/lit8 v13, v13, 0x1
36571 if-nez v23, :cond_171
36573 if-eqz v7, :cond_167
36575 const-string v2, " "
36577 move-object/from16 v0, p2
36579 invoke-virtual {v0, v2}, Ljava/io/PrintWriter;->println(Ljava/lang/String;)V
36584 const-string v2, " PID mappings:"
36586 move-object/from16 v0, p2
36588 invoke-virtual {v0, v2}, Ljava/io/PrintWriter;->println(Ljava/lang/String;)V
36593 const-string v2, " PID #"
36595 move-object/from16 v0, p2
36597 invoke-virtual {v0, v2}, Ljava/io/PrintWriter;->print(Ljava/lang/String;)V
36599 move-object/from16 v0, p0
36601 iget-object v2, v0, Lcom/android/server/am/ActivityManagerService;->mPidsSelfLocked:Landroid/util/SparseArray;
36603 invoke-virtual {v2, v13}, Landroid/util/SparseArray;->keyAt(I)I
36607 move-object/from16 v0, p2
36609 invoke-virtual {v0, v2}, Ljava/io/PrintWriter;->print(I)V
36611 const-string v2, ": "
36613 move-object/from16 v0, p2
36615 invoke-virtual {v0, v2}, Ljava/io/PrintWriter;->print(Ljava/lang/String;)V
36617 move-object/from16 v0, p0
36619 iget-object v2, v0, Lcom/android/server/am/ActivityManagerService;->mPidsSelfLocked:Landroid/util/SparseArray;
36621 invoke-virtual {v2, v13}, Landroid/util/SparseArray;->valueAt(I)Ljava/lang/Object;
36623 move-result-object v2
36625 move-object/from16 v0, p2
36627 invoke-virtual {v0, v2}, Ljava/io/PrintWriter;->println(Ljava/lang/Object;)V
36636 .catchall {:try_start_135 .. :try_end_19c} :catchall_19a
36644 .catchall {:try_start_19d .. :try_end_19e} :catchall_19a
36647 move-object/from16 v0, p0
36649 iget-object v2, v0, Lcom/android/server/am/ActivityManagerService;->mForegroundProcesses:Landroid/util/SparseArray;
36651 invoke-virtual {v2}, Landroid/util/SparseArray;->size()I
36655 if-lez v2, :cond_227
36657 move-object/from16 v0, p0
36659 iget-object v3, v0, Lcom/android/server/am/ActivityManagerService;->mPidsSelfLocked:Landroid/util/SparseArray;
36669 move-object/from16 v0, p0
36671 iget-object v2, v0, Lcom/android/server/am/ActivityManagerService;->mForegroundProcesses:Landroid/util/SparseArray;
36673 invoke-virtual {v2}, Landroid/util/SparseArray;->size()I
36677 if-ge v13, v2, :cond_226
36679 move-object/from16 v0, p0
36681 iget-object v4, v0, Lcom/android/server/am/ActivityManagerService;->mPidsSelfLocked:Landroid/util/SparseArray;
36683 move-object/from16 v0, p0
36685 iget-object v2, v0, Lcom/android/server/am/ActivityManagerService;->mForegroundProcesses:Landroid/util/SparseArray;
36687 invoke-virtual {v2, v13}, Landroid/util/SparseArray;->valueAt(I)Ljava/lang/Object;
36689 move-result-object v2
36691 check-cast v2, Lcom/android/server/am/ActivityManagerService$ForegroundToken;
36693 iget v2, v2, Lcom/android/server/am/ActivityManagerService$ForegroundToken;->pid:I
36695 invoke-virtual {v4, v2}, Landroid/util/SparseArray;->get(I)Ljava/lang/Object;
36697 move-result-object v27
36699 check-cast v27, Lcom/android/server/am/ProcessRecord;
36701 if-eqz p6, :cond_1e5
36703 if-eqz v27, :cond_1e2
36705 move-object/from16 v0, v27
36707 iget-object v2, v0, Lcom/android/server/am/ProcessRecord;->info:Landroid/content/pm/ApplicationInfo;
36709 iget-object v2, v2, Landroid/content/pm/ApplicationInfo;->packageName:Ljava/lang/String;
36711 move-object/from16 v0, p6
36713 invoke-virtual {v0, v2}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
36717 if-nez v2, :cond_1e5
36721 add-int/lit8 v13, v13, 0x1
36726 if-nez v23, :cond_1fa
36728 if-eqz v7, :cond_1f0
36730 const-string v2, " "
36732 move-object/from16 v0, p2
36734 invoke-virtual {v0, v2}, Ljava/io/PrintWriter;->println(Ljava/lang/String;)V
36739 const-string v2, " Foreground Processes:"
36741 move-object/from16 v0, p2
36743 invoke-virtual {v0, v2}, Ljava/io/PrintWriter;->println(Ljava/lang/String;)V
36748 const-string v2, " PID #"
36750 move-object/from16 v0, p2
36752 invoke-virtual {v0, v2}, Ljava/io/PrintWriter;->print(Ljava/lang/String;)V
36754 move-object/from16 v0, p0
36756 iget-object v2, v0, Lcom/android/server/am/ActivityManagerService;->mForegroundProcesses:Landroid/util/SparseArray;
36758 invoke-virtual {v2, v13}, Landroid/util/SparseArray;->keyAt(I)I
36762 move-object/from16 v0, p2
36764 invoke-virtual {v0, v2}, Ljava/io/PrintWriter;->print(I)V
36766 const-string v2, ": "
36768 move-object/from16 v0, p2
36770 invoke-virtual {v0, v2}, Ljava/io/PrintWriter;->print(Ljava/lang/String;)V
36772 move-object/from16 v0, p0
36774 iget-object v2, v0, Lcom/android/server/am/ActivityManagerService;->mForegroundProcesses:Landroid/util/SparseArray;
36776 invoke-virtual {v2, v13}, Landroid/util/SparseArray;->valueAt(I)Ljava/lang/Object;
36778 move-result-object v2
36780 move-object/from16 v0, p2
36782 invoke-virtual {v0, v2}, Ljava/io/PrintWriter;->println(Ljava/lang/Object;)V
36791 .catchall {:try_start_1b0 .. :try_end_225} :catchall_223
36799 .catchall {:try_start_226 .. :try_end_227} :catchall_223
36802 move-object/from16 v0, p0
36804 iget-object v2, v0, Lcom/android/server/am/ActivityManagerService;->mPersistentStartingProcesses:Ljava/util/ArrayList;
36806 invoke-virtual {v2}, Ljava/util/ArrayList;->size()I
36810 if-lez v2, :cond_258
36812 if-eqz v7, :cond_23a
36814 const-string v2, " "
36816 move-object/from16 v0, p2
36818 invoke-virtual {v0, v2}, Ljava/io/PrintWriter;->println(Ljava/lang/String;)V
36823 const-string v2, " Persisent processes that are starting:"
36825 move-object/from16 v0, p2
36827 invoke-virtual {v0, v2}, Ljava/io/PrintWriter;->println(Ljava/lang/String;)V
36829 move-object/from16 v0, p0
36831 iget-object v4, v0, Lcom/android/server/am/ActivityManagerService;->mPersistentStartingProcesses:Ljava/util/ArrayList;
36833 const-string v5, " "
36835 const-string v6, "Starting Norm"
36837 const-string v7, "Restarting PERS"
36839 move-object/from16 v2, p2
36841 move-object/from16 v3, p0
36843 move-object/from16 v8, p6
36845 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
36847 move/from16 v7, v17
36850 move-object/from16 v0, p0
36852 iget-object v2, v0, Lcom/android/server/am/ActivityManagerService;->mRemovedProcesses:Ljava/util/ArrayList;
36854 invoke-virtual {v2}, Ljava/util/ArrayList;->size()I
36858 if-lez v2, :cond_289
36860 if-eqz v7, :cond_26b
36862 const-string v2, " "
36864 move-object/from16 v0, p2
36866 invoke-virtual {v0, v2}, Ljava/io/PrintWriter;->println(Ljava/lang/String;)V
36871 const-string v2, " Processes that are being removed:"
36873 move-object/from16 v0, p2
36875 invoke-virtual {v0, v2}, Ljava/io/PrintWriter;->println(Ljava/lang/String;)V
36877 move-object/from16 v0, p0
36879 iget-object v4, v0, Lcom/android/server/am/ActivityManagerService;->mRemovedProcesses:Ljava/util/ArrayList;
36881 const-string v5, " "
36883 const-string v6, "Removed Norm"
36885 const-string v7, "Removed PERS"
36887 move-object/from16 v2, p2
36889 move-object/from16 v3, p0
36891 move-object/from16 v8, p6
36893 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
36895 move/from16 v7, v17
36898 move-object/from16 v0, p0
36900 iget-object v2, v0, Lcom/android/server/am/ActivityManagerService;->mProcessesOnHold:Ljava/util/ArrayList;
36902 invoke-virtual {v2}, Ljava/util/ArrayList;->size()I
36906 if-lez v2, :cond_2ba
36908 if-eqz v7, :cond_29c
36910 const-string v2, " "
36912 move-object/from16 v0, p2
36914 invoke-virtual {v0, v2}, Ljava/io/PrintWriter;->println(Ljava/lang/String;)V
36919 const-string v2, " Processes that are on old until the system is ready:"
36921 move-object/from16 v0, p2
36923 invoke-virtual {v0, v2}, Ljava/io/PrintWriter;->println(Ljava/lang/String;)V
36925 move-object/from16 v0, p0
36927 iget-object v4, v0, Lcom/android/server/am/ActivityManagerService;->mProcessesOnHold:Ljava/util/ArrayList;
36929 const-string v5, " "
36931 const-string v6, "OnHold Norm"
36933 const-string v7, "OnHold PERS"
36935 move-object/from16 v2, p2
36937 move-object/from16 v3, p0
36939 move-object/from16 v8, p6
36941 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
36943 move/from16 v7, v17
36946 move-object/from16 v2, p0
36948 move-object/from16 v3, p1
36950 move-object/from16 v4, p2
36952 move-object/from16 v5, p3
36958 move-object/from16 v9, p6
36960 invoke-virtual/range {v2 .. v9}, Lcom/android/server/am/ActivityManagerService;->dumpProcessesToGc(Ljava/io/FileDescriptor;Ljava/io/PrintWriter;[Ljava/lang/String;IZZLjava/lang/String;)Z
36964 move-object/from16 v0, p0
36966 iget-object v2, v0, Lcom/android/server/am/ActivityManagerService;->mProcessCrashTimes:Lcom/android/server/ProcessMap;
36968 invoke-virtual {v2}, Lcom/android/server/ProcessMap;->getMap()Ljava/util/HashMap;
36970 move-result-object v2
36972 invoke-virtual {v2}, Ljava/util/HashMap;->size()I
36976 if-lez v2, :cond_38b
36980 invoke-static {}, Landroid/os/SystemClock;->uptimeMillis()J
36982 move-result-wide v18
36984 move-object/from16 v0, p0
36986 iget-object v2, v0, Lcom/android/server/am/ActivityManagerService;->mProcessCrashTimes:Lcom/android/server/ProcessMap;
36988 invoke-virtual {v2}, Lcom/android/server/ProcessMap;->getMap()Ljava/util/HashMap;
36990 move-result-object v2
36992 invoke-virtual {v2}, Ljava/util/HashMap;->entrySet()Ljava/util/Set;
36994 move-result-object v2
36996 invoke-interface {v2}, Ljava/util/Set;->iterator()Ljava/util/Iterator;
36998 move-result-object v14
37001 invoke-interface {v14}, Ljava/util/Iterator;->hasNext()Z
37005 if-eqz v2, :cond_38b
37007 invoke-interface {v14}, Ljava/util/Iterator;->next()Ljava/lang/Object;
37009 move-result-object v25
37011 check-cast v25, Ljava/util/Map$Entry;
37013 invoke-interface/range {v25 .. v25}, Ljava/util/Map$Entry;->getKey()Ljava/lang/Object;
37015 move-result-object v22
37017 check-cast v22, Ljava/lang/String;
37019 invoke-interface/range {v25 .. v25}, Ljava/util/Map$Entry;->getValue()Ljava/lang/Object;
37021 move-result-object v29
37023 check-cast v29, Landroid/util/SparseArray;
37025 invoke-virtual/range {v29 .. v29}, Landroid/util/SparseArray;->size()I
37032 if-ge v13, v10, :cond_2f0
37034 move-object/from16 v0, v29
37036 invoke-virtual {v0, v13}, Landroid/util/SparseArray;->keyAt(I)I
37040 move-object/from16 v0, p0
37042 iget-object v2, v0, Lcom/android/server/am/ActivityManagerService;->mProcessNames:Lcom/android/server/ProcessMap;
37044 move-object/from16 v0, v22
37046 move/from16 v1, v26
37048 invoke-virtual {v2, v0, v1}, Lcom/android/server/ProcessMap;->get(Ljava/lang/String;I)Ljava/lang/Object;
37050 move-result-object v27
37052 check-cast v27, Lcom/android/server/am/ProcessRecord;
37054 if-eqz p6, :cond_338
37056 if-eqz v27, :cond_335
37058 move-object/from16 v0, v27
37060 iget-object v2, v0, Lcom/android/server/am/ProcessRecord;->info:Landroid/content/pm/ApplicationInfo;
37062 iget-object v2, v2, Landroid/content/pm/ApplicationInfo;->packageName:Ljava/lang/String;
37064 move-object/from16 v0, p6
37066 invoke-virtual {v0, v2}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
37070 if-nez v2, :cond_338
37074 add-int/lit8 v13, v13, 0x1
37079 if-nez v23, :cond_34d
37081 if-eqz v7, :cond_343
37083 const-string v2, " "
37085 move-object/from16 v0, p2
37087 invoke-virtual {v0, v2}, Ljava/io/PrintWriter;->println(Ljava/lang/String;)V
37092 const-string v2, " Time since processes crashed:"
37094 move-object/from16 v0, p2
37096 invoke-virtual {v0, v2}, Ljava/io/PrintWriter;->println(Ljava/lang/String;)V
37101 const-string v2, " Process "
37103 move-object/from16 v0, p2
37105 invoke-virtual {v0, v2}, Ljava/io/PrintWriter;->print(Ljava/lang/String;)V
37107 move-object/from16 v0, p2
37109 move-object/from16 v1, v22
37111 invoke-virtual {v0, v1}, Ljava/io/PrintWriter;->print(Ljava/lang/String;)V
37113 const-string v2, " uid "
37115 move-object/from16 v0, p2
37117 invoke-virtual {v0, v2}, Ljava/io/PrintWriter;->print(Ljava/lang/String;)V
37119 move-object/from16 v0, p2
37121 move/from16 v1, v26
37123 invoke-virtual {v0, v1}, Ljava/io/PrintWriter;->print(I)V
37125 const-string v2, ": last crashed "
37127 move-object/from16 v0, p2
37129 invoke-virtual {v0, v2}, Ljava/io/PrintWriter;->print(Ljava/lang/String;)V
37131 move-object/from16 v0, v29
37133 invoke-virtual {v0, v13}, Landroid/util/SparseArray;->valueAt(I)Ljava/lang/Object;
37135 move-result-object v2
37137 check-cast v2, Ljava/lang/Long;
37139 invoke-virtual {v2}, Ljava/lang/Long;->longValue()J
37141 move-result-wide v2
37143 sub-long v2, v18, v2
37145 move-object/from16 v0, p2
37147 invoke-static {v2, v3, v0}, Landroid/util/TimeUtils;->formatDuration(JLjava/io/PrintWriter;)V
37149 const-string v2, " ago"
37151 move-object/from16 v0, p2
37153 invoke-virtual {v0, v2}, Ljava/io/PrintWriter;->println(Ljava/lang/String;)V
37158 move-object/from16 v0, p0
37160 iget-object v2, v0, Lcom/android/server/am/ActivityManagerService;->mBadProcesses:Lcom/android/server/ProcessMap;
37162 invoke-virtual {v2}, Lcom/android/server/ProcessMap;->getMap()Ljava/util/HashMap;
37164 move-result-object v2
37166 invoke-virtual {v2}, Ljava/util/HashMap;->size()I
37170 if-lez v2, :cond_435
37174 move-object/from16 v0, p0
37176 iget-object v2, v0, Lcom/android/server/am/ActivityManagerService;->mBadProcesses:Lcom/android/server/ProcessMap;
37178 invoke-virtual {v2}, Lcom/android/server/ProcessMap;->getMap()Ljava/util/HashMap;
37180 move-result-object v2
37182 invoke-virtual {v2}, Ljava/util/HashMap;->entrySet()Ljava/util/Set;
37184 move-result-object v2
37186 invoke-interface {v2}, Ljava/util/Set;->iterator()Ljava/util/Iterator;
37188 move-result-object v14
37191 invoke-interface {v14}, Ljava/util/Iterator;->hasNext()Z
37195 if-eqz v2, :cond_435
37197 invoke-interface {v14}, Ljava/util/Iterator;->next()Ljava/lang/Object;
37199 move-result-object v25
37201 check-cast v25, Ljava/util/Map$Entry;
37203 invoke-interface/range {v25 .. v25}, Ljava/util/Map$Entry;->getKey()Ljava/lang/Object;
37205 move-result-object v22
37207 check-cast v22, Ljava/lang/String;
37209 invoke-interface/range {v25 .. v25}, Ljava/util/Map$Entry;->getValue()Ljava/lang/Object;
37211 move-result-object v29
37213 check-cast v29, Landroid/util/SparseArray;
37215 invoke-virtual/range {v29 .. v29}, Landroid/util/SparseArray;->size()I
37222 if-ge v13, v10, :cond_3ab
37224 move-object/from16 v0, v29
37226 invoke-virtual {v0, v13}, Landroid/util/SparseArray;->keyAt(I)I
37230 move-object/from16 v0, p0
37232 iget-object v2, v0, Lcom/android/server/am/ActivityManagerService;->mProcessNames:Lcom/android/server/ProcessMap;
37234 move-object/from16 v0, v22
37236 move/from16 v1, v26
37238 invoke-virtual {v2, v0, v1}, Lcom/android/server/ProcessMap;->get(Ljava/lang/String;I)Ljava/lang/Object;
37240 move-result-object v27
37242 check-cast v27, Lcom/android/server/am/ProcessRecord;
37244 if-eqz p6, :cond_3f3
37246 if-eqz v27, :cond_3f0
37248 move-object/from16 v0, v27
37250 iget-object v2, v0, Lcom/android/server/am/ProcessRecord;->info:Landroid/content/pm/ApplicationInfo;
37252 iget-object v2, v2, Landroid/content/pm/ApplicationInfo;->packageName:Ljava/lang/String;
37254 move-object/from16 v0, p6
37256 invoke-virtual {v0, v2}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
37260 if-nez v2, :cond_3f3
37264 add-int/lit8 v13, v13, 0x1
37269 if-nez v23, :cond_406
37271 if-eqz v7, :cond_3fe
37273 const-string v2, " "
37275 move-object/from16 v0, p2
37277 invoke-virtual {v0, v2}, Ljava/io/PrintWriter;->println(Ljava/lang/String;)V
37282 const-string v2, " Bad processes:"
37284 move-object/from16 v0, p2
37286 invoke-virtual {v0, v2}, Ljava/io/PrintWriter;->println(Ljava/lang/String;)V
37289 const-string v2, " Bad process "
37291 move-object/from16 v0, p2
37293 invoke-virtual {v0, v2}, Ljava/io/PrintWriter;->print(Ljava/lang/String;)V
37295 move-object/from16 v0, p2
37297 move-object/from16 v1, v22
37299 invoke-virtual {v0, v1}, Ljava/io/PrintWriter;->print(Ljava/lang/String;)V
37301 const-string v2, " uid "
37303 move-object/from16 v0, p2
37305 invoke-virtual {v0, v2}, Ljava/io/PrintWriter;->print(Ljava/lang/String;)V
37307 move-object/from16 v0, p2
37309 move/from16 v1, v26
37311 invoke-virtual {v0, v1}, Ljava/io/PrintWriter;->print(I)V
37313 const-string v2, ": crashed at time "
37315 move-object/from16 v0, p2
37317 invoke-virtual {v0, v2}, Ljava/io/PrintWriter;->print(Ljava/lang/String;)V
37319 move-object/from16 v0, v29
37321 invoke-virtual {v0, v13}, Landroid/util/SparseArray;->valueAt(I)Ljava/lang/Object;
37323 move-result-object v2
37325 move-object/from16 v0, p2
37327 invoke-virtual {v0, v2}, Ljava/io/PrintWriter;->println(Ljava/lang/Object;)V
37332 invoke-virtual/range {p2 .. p2}, Ljava/io/PrintWriter;->println()V
37334 new-instance v2, Ljava/lang/StringBuilder;
37336 invoke-direct {v2}, Ljava/lang/StringBuilder;-><init>()V
37338 const-string v3, " mHomeProcess: "
37340 invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
37342 move-result-object v2
37344 move-object/from16 v0, p0
37346 iget-object v3, v0, Lcom/android/server/am/ActivityManagerService;->mHomeProcess:Lcom/android/server/am/ProcessRecord;
37348 invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
37350 move-result-object v2
37352 invoke-virtual {v2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
37354 move-result-object v2
37356 move-object/from16 v0, p2
37358 invoke-virtual {v0, v2}, Ljava/io/PrintWriter;->println(Ljava/lang/String;)V
37360 new-instance v2, Ljava/lang/StringBuilder;
37362 invoke-direct {v2}, Ljava/lang/StringBuilder;-><init>()V
37364 const-string v3, " mPreviousProcess: "
37366 invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
37368 move-result-object v2
37370 move-object/from16 v0, p0
37372 iget-object v3, v0, Lcom/android/server/am/ActivityManagerService;->mPreviousProcess:Lcom/android/server/am/ProcessRecord;
37374 invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
37376 move-result-object v2
37378 invoke-virtual {v2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
37380 move-result-object v2
37382 move-object/from16 v0, p2
37384 invoke-virtual {v0, v2}, Ljava/io/PrintWriter;->println(Ljava/lang/String;)V
37386 if-eqz p5, :cond_492
37388 new-instance v28, Ljava/lang/StringBuilder;
37392 move-object/from16 v0, v28
37394 invoke-direct {v0, v2}, Ljava/lang/StringBuilder;-><init>(I)V
37396 const-string v2, " mPreviousProcessVisibleTime: "
37398 move-object/from16 v0, v28
37400 invoke-virtual {v0, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
37402 move-object/from16 v0, p0
37404 iget-wide v2, v0, Lcom/android/server/am/ActivityManagerService;->mPreviousProcessVisibleTime:J
37406 move-object/from16 v0, v28
37408 invoke-static {v2, v3, v0}, Landroid/util/TimeUtils;->formatDuration(JLjava/lang/StringBuilder;)V
37410 move-object/from16 v0, p2
37412 move-object/from16 v1, v28
37414 invoke-virtual {v0, v1}, Ljava/io/PrintWriter;->println(Ljava/lang/Object;)V
37417 move-object/from16 v0, p0
37419 iget-object v2, v0, Lcom/android/server/am/ActivityManagerService;->mHeavyWeightProcess:Lcom/android/server/am/ProcessRecord;
37421 if-eqz v2, :cond_4b4
37423 new-instance v2, Ljava/lang/StringBuilder;
37425 invoke-direct {v2}, Ljava/lang/StringBuilder;-><init>()V
37427 const-string v3, " mHeavyWeightProcess: "
37429 invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
37431 move-result-object v2
37433 move-object/from16 v0, p0
37435 iget-object v3, v0, Lcom/android/server/am/ActivityManagerService;->mHeavyWeightProcess:Lcom/android/server/am/ProcessRecord;
37437 invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
37439 move-result-object v2
37441 invoke-virtual {v2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
37443 move-result-object v2
37445 move-object/from16 v0, p2
37447 invoke-virtual {v0, v2}, Ljava/io/PrintWriter;->println(Ljava/lang/String;)V
37450 new-instance v2, Ljava/lang/StringBuilder;
37452 invoke-direct {v2}, Ljava/lang/StringBuilder;-><init>()V
37454 const-string v3, " mConfiguration: "
37456 invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
37458 move-result-object v2
37460 move-object/from16 v0, p0
37462 iget-object v3, v0, Lcom/android/server/am/ActivityManagerService;->mConfiguration:Landroid/content/res/Configuration;
37464 invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
37466 move-result-object v2
37468 invoke-virtual {v2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
37470 move-result-object v2
37472 move-object/from16 v0, p2
37474 invoke-virtual {v0, v2}, Ljava/io/PrintWriter;->println(Ljava/lang/String;)V
37476 if-eqz p5, :cond_563
37478 new-instance v2, Ljava/lang/StringBuilder;
37480 invoke-direct {v2}, Ljava/lang/StringBuilder;-><init>()V
37482 const-string v3, " mConfigWillChange: "
37484 invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
37486 move-result-object v2
37488 move-object/from16 v0, p0
37490 iget-object v3, v0, Lcom/android/server/am/ActivityManagerService;->mMainStack:Lcom/android/server/am/ActivityStack;
37492 iget-boolean v3, v3, Lcom/android/server/am/ActivityStack;->mConfigWillChange:Z
37494 invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Z)Ljava/lang/StringBuilder;
37496 move-result-object v2
37498 invoke-virtual {v2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
37500 move-result-object v2
37502 move-object/from16 v0, p2
37504 invoke-virtual {v0, v2}, Ljava/io/PrintWriter;->println(Ljava/lang/String;)V
37506 move-object/from16 v0, p0
37508 iget-object v2, v0, Lcom/android/server/am/ActivityManagerService;->mCompatModePackages:Lcom/android/server/am/CompatModePackages;
37510 invoke-virtual {v2}, Lcom/android/server/am/CompatModePackages;->getPackages()Ljava/util/HashMap;
37512 move-result-object v2
37514 invoke-virtual {v2}, Ljava/util/HashMap;->size()I
37518 if-lez v2, :cond_563
37522 move-object/from16 v0, p0
37524 iget-object v2, v0, Lcom/android/server/am/ActivityManagerService;->mCompatModePackages:Lcom/android/server/am/CompatModePackages;
37526 invoke-virtual {v2}, Lcom/android/server/am/CompatModePackages;->getPackages()Ljava/util/HashMap;
37528 move-result-object v2
37530 invoke-virtual {v2}, Ljava/util/HashMap;->entrySet()Ljava/util/Set;
37532 move-result-object v2
37534 invoke-interface {v2}, Ljava/util/Set;->iterator()Ljava/util/Iterator;
37536 move-result-object v14
37540 invoke-interface {v14}, Ljava/util/Iterator;->hasNext()Z
37544 if-eqz v2, :cond_563
37546 invoke-interface {v14}, Ljava/util/Iterator;->next()Ljava/lang/Object;
37548 move-result-object v12
37550 check-cast v12, Ljava/util/Map$Entry;
37552 invoke-interface {v12}, Ljava/util/Map$Entry;->getKey()Ljava/lang/Object;
37554 move-result-object v21
37556 check-cast v21, Ljava/lang/String;
37558 invoke-interface {v12}, Ljava/util/Map$Entry;->getValue()Ljava/lang/Object;
37560 move-result-object v2
37562 check-cast v2, Ljava/lang/Integer;
37564 invoke-virtual {v2}, Ljava/lang/Integer;->intValue()I
37568 if-eqz p6, :cond_538
37570 move-object/from16 v0, p6
37572 move-object/from16 v1, v21
37574 invoke-virtual {v0, v1}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
37578 if-eqz v2, :cond_510
37581 if-nez v23, :cond_543
37583 const-string v2, " mScreenCompatPackages:"
37585 move-object/from16 v0, p2
37587 invoke-virtual {v0, v2}, Ljava/io/PrintWriter;->println(Ljava/lang/String;)V
37592 const-string v2, " "
37594 move-object/from16 v0, p2
37596 invoke-virtual {v0, v2}, Ljava/io/PrintWriter;->print(Ljava/lang/String;)V
37598 move-object/from16 v0, p2
37600 move-object/from16 v1, v21
37602 invoke-virtual {v0, v1}, Ljava/io/PrintWriter;->print(Ljava/lang/String;)V
37604 const-string v2, ": "
37606 move-object/from16 v0, p2
37608 invoke-virtual {v0, v2}, Ljava/io/PrintWriter;->print(Ljava/lang/String;)V
37610 move-object/from16 v0, p2
37612 move/from16 v1, v16
37614 invoke-virtual {v0, v1}, Ljava/io/PrintWriter;->print(I)V
37616 invoke-virtual/range {p2 .. p2}, Ljava/io/PrintWriter;->println()V
37621 move-object/from16 v0, p0
37623 iget-boolean v2, v0, Lcom/android/server/am/ActivityManagerService;->mSleeping:Z
37625 if-nez v2, :cond_575
37627 move-object/from16 v0, p0
37629 iget-boolean v2, v0, Lcom/android/server/am/ActivityManagerService;->mWentToSleep:Z
37631 if-nez v2, :cond_575
37633 move-object/from16 v0, p0
37635 iget-boolean v2, v0, Lcom/android/server/am/ActivityManagerService;->mLockScreenShown:Z
37637 if-eqz v2, :cond_5ad
37640 new-instance v2, Ljava/lang/StringBuilder;
37642 invoke-direct {v2}, Ljava/lang/StringBuilder;-><init>()V
37644 const-string v3, " mSleeping="
37646 invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
37648 move-result-object v2
37650 move-object/from16 v0, p0
37652 iget-boolean v3, v0, Lcom/android/server/am/ActivityManagerService;->mSleeping:Z
37654 invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Z)Ljava/lang/StringBuilder;
37656 move-result-object v2
37658 const-string v3, " mWentToSleep="
37660 invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
37662 move-result-object v2
37664 move-object/from16 v0, p0
37666 iget-boolean v3, v0, Lcom/android/server/am/ActivityManagerService;->mWentToSleep:Z
37668 invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Z)Ljava/lang/StringBuilder;
37670 move-result-object v2
37672 const-string v3, " mLockScreenShown "
37674 invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
37676 move-result-object v2
37678 move-object/from16 v0, p0
37680 iget-boolean v3, v0, Lcom/android/server/am/ActivityManagerService;->mLockScreenShown:Z
37682 invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Z)Ljava/lang/StringBuilder;
37684 move-result-object v2
37686 invoke-virtual {v2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
37688 move-result-object v2
37690 move-object/from16 v0, p2
37692 invoke-virtual {v0, v2}, Ljava/io/PrintWriter;->println(Ljava/lang/String;)V
37695 move-object/from16 v0, p0
37697 iget-boolean v2, v0, Lcom/android/server/am/ActivityManagerService;->mShuttingDown:Z
37699 if-eqz v2, :cond_5cf
37701 new-instance v2, Ljava/lang/StringBuilder;
37703 invoke-direct {v2}, Ljava/lang/StringBuilder;-><init>()V
37705 const-string v3, " mShuttingDown="
37707 invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
37709 move-result-object v2
37711 move-object/from16 v0, p0
37713 iget-boolean v3, v0, Lcom/android/server/am/ActivityManagerService;->mShuttingDown:Z
37715 invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Z)Ljava/lang/StringBuilder;
37717 move-result-object v2
37719 invoke-virtual {v2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
37721 move-result-object v2
37723 move-object/from16 v0, p2
37725 invoke-virtual {v0, v2}, Ljava/io/PrintWriter;->println(Ljava/lang/String;)V
37728 move-object/from16 v0, p0
37730 iget-object v2, v0, Lcom/android/server/am/ActivityManagerService;->mDebugApp:Ljava/lang/String;
37732 if-nez v2, :cond_5e7
37734 move-object/from16 v0, p0
37736 iget-object v2, v0, Lcom/android/server/am/ActivityManagerService;->mOrigDebugApp:Ljava/lang/String;
37738 if-nez v2, :cond_5e7
37740 move-object/from16 v0, p0
37742 iget-boolean v2, v0, Lcom/android/server/am/ActivityManagerService;->mDebugTransient:Z
37744 if-nez v2, :cond_5e7
37746 move-object/from16 v0, p0
37748 iget-boolean v2, v0, Lcom/android/server/am/ActivityManagerService;->mOrigWaitForDebugger:Z
37750 if-eqz v2, :cond_62d
37753 new-instance v2, Ljava/lang/StringBuilder;
37755 invoke-direct {v2}, Ljava/lang/StringBuilder;-><init>()V
37757 const-string v3, " mDebugApp="
37759 invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
37761 move-result-object v2
37763 move-object/from16 v0, p0
37765 iget-object v3, v0, Lcom/android/server/am/ActivityManagerService;->mDebugApp:Ljava/lang/String;
37767 invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
37769 move-result-object v2
37771 const-string v3, "/orig="
37773 invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
37775 move-result-object v2
37777 move-object/from16 v0, p0
37779 iget-object v3, v0, Lcom/android/server/am/ActivityManagerService;->mOrigDebugApp:Ljava/lang/String;
37781 invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
37783 move-result-object v2
37785 const-string v3, " mDebugTransient="
37787 invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
37789 move-result-object v2
37791 move-object/from16 v0, p0
37793 iget-boolean v3, v0, Lcom/android/server/am/ActivityManagerService;->mDebugTransient:Z
37795 invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Z)Ljava/lang/StringBuilder;
37797 move-result-object v2
37799 const-string v3, " mOrigWaitForDebugger="
37801 invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
37803 move-result-object v2
37805 move-object/from16 v0, p0
37807 iget-boolean v3, v0, Lcom/android/server/am/ActivityManagerService;->mOrigWaitForDebugger:Z
37809 invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Z)Ljava/lang/StringBuilder;
37811 move-result-object v2
37813 invoke-virtual {v2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
37815 move-result-object v2
37817 move-object/from16 v0, p2
37819 invoke-virtual {v0, v2}, Ljava/io/PrintWriter;->println(Ljava/lang/String;)V
37822 move-object/from16 v0, p0
37824 iget-object v2, v0, Lcom/android/server/am/ActivityManagerService;->mOpenGlTraceApp:Ljava/lang/String;
37826 if-eqz v2, :cond_64f
37828 new-instance v2, Ljava/lang/StringBuilder;
37830 invoke-direct {v2}, Ljava/lang/StringBuilder;-><init>()V
37832 const-string v3, " mOpenGlTraceApp="
37834 invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
37836 move-result-object v2
37838 move-object/from16 v0, p0
37840 iget-object v3, v0, Lcom/android/server/am/ActivityManagerService;->mOpenGlTraceApp:Ljava/lang/String;
37842 invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
37844 move-result-object v2
37846 invoke-virtual {v2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
37848 move-result-object v2
37850 move-object/from16 v0, p2
37852 invoke-virtual {v0, v2}, Ljava/io/PrintWriter;->println(Ljava/lang/String;)V
37855 move-object/from16 v0, p0
37857 iget-object v2, v0, Lcom/android/server/am/ActivityManagerService;->mProfileApp:Ljava/lang/String;
37859 if-nez v2, :cond_667
37861 move-object/from16 v0, p0
37863 iget-object v2, v0, Lcom/android/server/am/ActivityManagerService;->mProfileProc:Lcom/android/server/am/ProcessRecord;
37865 if-nez v2, :cond_667
37867 move-object/from16 v0, p0
37869 iget-object v2, v0, Lcom/android/server/am/ActivityManagerService;->mProfileFile:Ljava/lang/String;
37871 if-nez v2, :cond_667
37873 move-object/from16 v0, p0
37875 iget-object v2, v0, Lcom/android/server/am/ActivityManagerService;->mProfileFd:Landroid/os/ParcelFileDescriptor;
37877 if-eqz v2, :cond_6e5
37880 new-instance v2, Ljava/lang/StringBuilder;
37882 invoke-direct {v2}, Ljava/lang/StringBuilder;-><init>()V
37884 const-string v3, " mProfileApp="
37886 invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
37888 move-result-object v2
37890 move-object/from16 v0, p0
37892 iget-object v3, v0, Lcom/android/server/am/ActivityManagerService;->mProfileApp:Ljava/lang/String;
37894 invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
37896 move-result-object v2
37898 const-string v3, " mProfileProc="
37900 invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
37902 move-result-object v2
37904 move-object/from16 v0, p0
37906 iget-object v3, v0, Lcom/android/server/am/ActivityManagerService;->mProfileProc:Lcom/android/server/am/ProcessRecord;
37908 invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
37910 move-result-object v2
37912 invoke-virtual {v2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
37914 move-result-object v2
37916 move-object/from16 v0, p2
37918 invoke-virtual {v0, v2}, Ljava/io/PrintWriter;->println(Ljava/lang/String;)V
37920 new-instance v2, Ljava/lang/StringBuilder;
37922 invoke-direct {v2}, Ljava/lang/StringBuilder;-><init>()V
37924 const-string v3, " mProfileFile="
37926 invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
37928 move-result-object v2
37930 move-object/from16 v0, p0
37932 iget-object v3, v0, Lcom/android/server/am/ActivityManagerService;->mProfileFile:Ljava/lang/String;
37934 invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
37936 move-result-object v2
37938 const-string v3, " mProfileFd="
37940 invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
37942 move-result-object v2
37944 move-object/from16 v0, p0
37946 iget-object v3, v0, Lcom/android/server/am/ActivityManagerService;->mProfileFd:Landroid/os/ParcelFileDescriptor;
37948 invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
37950 move-result-object v2
37952 invoke-virtual {v2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
37954 move-result-object v2
37956 move-object/from16 v0, p2
37958 invoke-virtual {v0, v2}, Ljava/io/PrintWriter;->println(Ljava/lang/String;)V
37960 new-instance v2, Ljava/lang/StringBuilder;
37962 invoke-direct {v2}, Ljava/lang/StringBuilder;-><init>()V
37964 const-string v3, " mProfileType="
37966 invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
37968 move-result-object v2
37970 move-object/from16 v0, p0
37972 iget v3, v0, Lcom/android/server/am/ActivityManagerService;->mProfileType:I
37974 invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
37976 move-result-object v2
37978 const-string v3, " mAutoStopProfiler="
37980 invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
37982 move-result-object v2
37984 move-object/from16 v0, p0
37986 iget-boolean v3, v0, Lcom/android/server/am/ActivityManagerService;->mAutoStopProfiler:Z
37988 invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Z)Ljava/lang/StringBuilder;
37990 move-result-object v2
37992 invoke-virtual {v2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
37994 move-result-object v2
37996 move-object/from16 v0, p2
37998 invoke-virtual {v0, v2}, Ljava/io/PrintWriter;->println(Ljava/lang/String;)V
38001 move-object/from16 v0, p0
38003 iget-boolean v2, v0, Lcom/android/server/am/ActivityManagerService;->mAlwaysFinishActivities:Z
38005 if-nez v2, :cond_6f1
38007 move-object/from16 v0, p0
38009 iget-object v2, v0, Lcom/android/server/am/ActivityManagerService;->mController:Landroid/app/IActivityController;
38011 if-eqz v2, :cond_71b
38014 new-instance v2, Ljava/lang/StringBuilder;
38016 invoke-direct {v2}, Ljava/lang/StringBuilder;-><init>()V
38018 const-string v3, " mAlwaysFinishActivities="
38020 invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
38022 move-result-object v2
38024 move-object/from16 v0, p0
38026 iget-boolean v3, v0, Lcom/android/server/am/ActivityManagerService;->mAlwaysFinishActivities:Z
38028 invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Z)Ljava/lang/StringBuilder;
38030 move-result-object v2
38032 const-string v3, " mController="
38034 invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
38036 move-result-object v2
38038 move-object/from16 v0, p0
38040 iget-object v3, v0, Lcom/android/server/am/ActivityManagerService;->mController:Landroid/app/IActivityController;
38042 invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
38044 move-result-object v2
38046 invoke-virtual {v2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
38048 move-result-object v2
38050 move-object/from16 v0, p2
38052 invoke-virtual {v0, v2}, Ljava/io/PrintWriter;->println(Ljava/lang/String;)V
38055 if-eqz p5, :cond_865
38057 new-instance v2, Ljava/lang/StringBuilder;
38059 invoke-direct {v2}, Ljava/lang/StringBuilder;-><init>()V
38061 const-string v3, " Total persistent processes: "
38063 invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
38065 move-result-object v2
38067 move/from16 v0, v20
38069 invoke-virtual {v2, v0}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
38071 move-result-object v2
38073 invoke-virtual {v2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
38075 move-result-object v2
38077 move-object/from16 v0, p2
38079 invoke-virtual {v0, v2}, Ljava/io/PrintWriter;->println(Ljava/lang/String;)V
38081 new-instance v2, Ljava/lang/StringBuilder;
38083 invoke-direct {v2}, Ljava/lang/StringBuilder;-><init>()V
38085 const-string v3, " mStartRunning="
38087 invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
38089 move-result-object v2
38091 move-object/from16 v0, p0
38093 iget-boolean v3, v0, Lcom/android/server/am/ActivityManagerService;->mStartRunning:Z
38095 invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Z)Ljava/lang/StringBuilder;
38097 move-result-object v2
38099 const-string v3, " mProcessesReady="
38101 invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
38103 move-result-object v2
38105 move-object/from16 v0, p0
38107 iget-boolean v3, v0, Lcom/android/server/am/ActivityManagerService;->mProcessesReady:Z
38109 invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Z)Ljava/lang/StringBuilder;
38111 move-result-object v2
38113 const-string v3, " mSystemReady="
38115 invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
38117 move-result-object v2
38119 move-object/from16 v0, p0
38121 iget-boolean v3, v0, Lcom/android/server/am/ActivityManagerService;->mSystemReady:Z
38123 invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Z)Ljava/lang/StringBuilder;
38125 move-result-object v2
38127 invoke-virtual {v2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
38129 move-result-object v2
38131 move-object/from16 v0, p2
38133 invoke-virtual {v0, v2}, Ljava/io/PrintWriter;->println(Ljava/lang/String;)V
38135 new-instance v2, Ljava/lang/StringBuilder;
38137 invoke-direct {v2}, Ljava/lang/StringBuilder;-><init>()V
38139 const-string v3, " mBooting="
38141 invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
38143 move-result-object v2
38145 move-object/from16 v0, p0
38147 iget-boolean v3, v0, Lcom/android/server/am/ActivityManagerService;->mBooting:Z
38149 invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Z)Ljava/lang/StringBuilder;
38151 move-result-object v2
38153 const-string v3, " mBooted="
38155 invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
38157 move-result-object v2
38159 move-object/from16 v0, p0
38161 iget-boolean v3, v0, Lcom/android/server/am/ActivityManagerService;->mBooted:Z
38163 invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Z)Ljava/lang/StringBuilder;
38165 move-result-object v2
38167 const-string v3, " mFactoryTest="
38169 invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
38171 move-result-object v2
38173 move-object/from16 v0, p0
38175 iget v3, v0, Lcom/android/server/am/ActivityManagerService;->mFactoryTest:I
38177 invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
38179 move-result-object v2
38181 invoke-virtual {v2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
38183 move-result-object v2
38185 move-object/from16 v0, p2
38187 invoke-virtual {v0, v2}, Ljava/io/PrintWriter;->println(Ljava/lang/String;)V
38189 const-string v2, " mLastPowerCheckRealtime="
38191 move-object/from16 v0, p2
38193 invoke-virtual {v0, v2}, Ljava/io/PrintWriter;->print(Ljava/lang/String;)V
38195 move-object/from16 v0, p0
38197 iget-wide v2, v0, Lcom/android/server/am/ActivityManagerService;->mLastPowerCheckRealtime:J
38199 move-object/from16 v0, p2
38201 invoke-static {v2, v3, v0}, Landroid/util/TimeUtils;->formatDuration(JLjava/io/PrintWriter;)V
38203 const-string v2, ""
38205 move-object/from16 v0, p2
38207 invoke-virtual {v0, v2}, Ljava/io/PrintWriter;->println(Ljava/lang/String;)V
38209 const-string v2, " mLastPowerCheckUptime="
38211 move-object/from16 v0, p2
38213 invoke-virtual {v0, v2}, Ljava/io/PrintWriter;->print(Ljava/lang/String;)V
38215 move-object/from16 v0, p0
38217 iget-wide v2, v0, Lcom/android/server/am/ActivityManagerService;->mLastPowerCheckUptime:J
38219 move-object/from16 v0, p2
38221 invoke-static {v2, v3, v0}, Landroid/util/TimeUtils;->formatDuration(JLjava/io/PrintWriter;)V
38223 const-string v2, ""
38225 move-object/from16 v0, p2
38227 invoke-virtual {v0, v2}, Ljava/io/PrintWriter;->println(Ljava/lang/String;)V
38229 new-instance v2, Ljava/lang/StringBuilder;
38231 invoke-direct {v2}, Ljava/lang/StringBuilder;-><init>()V
38233 const-string v3, " mGoingToSleep="
38235 invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
38237 move-result-object v2
38239 move-object/from16 v0, p0
38241 iget-object v3, v0, Lcom/android/server/am/ActivityManagerService;->mMainStack:Lcom/android/server/am/ActivityStack;
38243 iget-object v3, v3, Lcom/android/server/am/ActivityStack;->mGoingToSleep:Landroid/os/PowerManager$WakeLock;
38245 invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
38247 move-result-object v2
38249 invoke-virtual {v2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
38251 move-result-object v2
38253 move-object/from16 v0, p2
38255 invoke-virtual {v0, v2}, Ljava/io/PrintWriter;->println(Ljava/lang/String;)V
38257 new-instance v2, Ljava/lang/StringBuilder;
38259 invoke-direct {v2}, Ljava/lang/StringBuilder;-><init>()V
38261 const-string v3, " mLaunchingActivity="
38263 invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
38265 move-result-object v2
38267 move-object/from16 v0, p0
38269 iget-object v3, v0, Lcom/android/server/am/ActivityManagerService;->mMainStack:Lcom/android/server/am/ActivityStack;
38271 iget-object v3, v3, Lcom/android/server/am/ActivityStack;->mLaunchingActivity:Landroid/os/PowerManager$WakeLock;
38273 invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
38275 move-result-object v2
38277 invoke-virtual {v2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
38279 move-result-object v2
38281 move-object/from16 v0, p2
38283 invoke-virtual {v0, v2}, Ljava/io/PrintWriter;->println(Ljava/lang/String;)V
38285 new-instance v2, Ljava/lang/StringBuilder;
38287 invoke-direct {v2}, Ljava/lang/StringBuilder;-><init>()V
38289 const-string v3, " mAdjSeq="
38291 invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
38293 move-result-object v2
38295 move-object/from16 v0, p0
38297 iget v3, v0, Lcom/android/server/am/ActivityManagerService;->mAdjSeq:I
38299 invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
38301 move-result-object v2
38303 const-string v3, " mLruSeq="
38305 invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
38307 move-result-object v2
38309 move-object/from16 v0, p0
38311 iget v3, v0, Lcom/android/server/am/ActivityManagerService;->mLruSeq:I
38313 invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
38315 move-result-object v2
38317 invoke-virtual {v2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
38319 move-result-object v2
38321 move-object/from16 v0, p2
38323 invoke-virtual {v0, v2}, Ljava/io/PrintWriter;->println(Ljava/lang/String;)V
38325 new-instance v2, Ljava/lang/StringBuilder;
38327 invoke-direct {v2}, Ljava/lang/StringBuilder;-><init>()V
38329 const-string v3, " mNumServiceProcs="
38331 invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
38333 move-result-object v2
38335 move-object/from16 v0, p0
38337 iget v3, v0, Lcom/android/server/am/ActivityManagerService;->mNumServiceProcs:I
38339 invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
38341 move-result-object v2
38343 const-string v3, " mNewNumServiceProcs="
38345 invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
38347 move-result-object v2
38349 move-object/from16 v0, p0
38351 iget v3, v0, Lcom/android/server/am/ActivityManagerService;->mNewNumServiceProcs:I
38353 invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
38355 move-result-object v2
38357 invoke-virtual {v2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
38359 move-result-object v2
38361 move-object/from16 v0, p2
38363 invoke-virtual {v0, v2}, Ljava/io/PrintWriter;->println(Ljava/lang/String;)V
38371 .method dumpProcessesToGc(Ljava/io/FileDescriptor;Ljava/io/PrintWriter;[Ljava/lang/String;IZZLjava/lang/String;)Z
38374 iget-object v5, p0, Lcom/android/server/am/ActivityManagerService;->mProcessesToGc:Ljava/util/ArrayList;
38376 invoke-virtual {v5}, Ljava/util/ArrayList;->size()I
38380 if-lez v5, :cond_6d
38384 invoke-static {}, Landroid/os/SystemClock;->uptimeMillis()J
38386 move-result-wide v1
38391 iget-object v5, p0, Lcom/android/server/am/ActivityManagerService;->mProcessesToGc:Ljava/util/ArrayList;
38393 invoke-virtual {v5}, Ljava/util/ArrayList;->size()I
38397 if-ge v0, v5, :cond_6d
38399 iget-object v5, p0, Lcom/android/server/am/ActivityManagerService;->mProcessesToGc:Ljava/util/ArrayList;
38401 invoke-virtual {v5, v0}, Ljava/util/ArrayList;->get(I)Ljava/lang/Object;
38403 move-result-object v4
38405 check-cast v4, Lcom/android/server/am/ProcessRecord;
38407 if-eqz p7, :cond_2d
38409 iget-object v5, v4, Lcom/android/server/am/ProcessRecord;->info:Landroid/content/pm/ApplicationInfo;
38411 iget-object v5, v5, Landroid/content/pm/ApplicationInfo;->packageName:Ljava/lang/String;
38413 invoke-virtual {p7, v5}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
38417 if-nez v5, :cond_2d
38420 add-int/lit8 v0, v0, 0x1
38425 if-nez v3, :cond_3d
38427 if-eqz p5, :cond_36
38429 const-string v5, " "
38431 invoke-virtual {p2, v5}, Ljava/io/PrintWriter;->println(Ljava/lang/String;)V
38436 const-string v5, " Processes that are waiting to GC:"
38438 invoke-virtual {p2, v5}, Ljava/io/PrintWriter;->println(Ljava/lang/String;)V
38443 const-string v5, " Process "
38445 invoke-virtual {p2, v5}, Ljava/io/PrintWriter;->print(Ljava/lang/String;)V
38447 invoke-virtual {p2, v4}, Ljava/io/PrintWriter;->println(Ljava/lang/Object;)V
38449 const-string v5, " lowMem="
38451 invoke-virtual {p2, v5}, Ljava/io/PrintWriter;->print(Ljava/lang/String;)V
38453 iget-boolean v5, v4, Lcom/android/server/am/ProcessRecord;->reportLowMemory:Z
38455 invoke-virtual {p2, v5}, Ljava/io/PrintWriter;->print(Z)V
38457 const-string v5, ", last gced="
38459 invoke-virtual {p2, v5}, Ljava/io/PrintWriter;->print(Ljava/lang/String;)V
38461 iget-wide v5, v4, Lcom/android/server/am/ProcessRecord;->lastRequestedGc:J
38463 sub-long v5, v1, v5
38465 invoke-virtual {p2, v5, v6}, Ljava/io/PrintWriter;->print(J)V
38467 const-string v5, " ms ago, last lowMem="
38469 invoke-virtual {p2, v5}, Ljava/io/PrintWriter;->print(Ljava/lang/String;)V
38471 iget-wide v5, v4, Lcom/android/server/am/ProcessRecord;->lastLowMemory:J
38473 sub-long v5, v1, v5
38475 invoke-virtual {p2, v5, v6}, Ljava/io/PrintWriter;->print(J)V
38477 const-string v5, " ms ago"
38479 invoke-virtual {p2, v5}, Ljava/io/PrintWriter;->println(Ljava/lang/String;)V
38487 .method protected dumpProvider(Ljava/io/FileDescriptor;Ljava/io/PrintWriter;Ljava/lang/String;[Ljava/lang/String;IZ)Z
38490 iget-object v0, p0, Lcom/android/server/am/ActivityManagerService;->mProviderMap:Lcom/android/server/am/ProviderMap;
38504 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
38511 .method dumpProvidersLocked(Ljava/io/FileDescriptor;Ljava/io/PrintWriter;[Ljava/lang/String;IZLjava/lang/String;)Z
38516 new-instance v3, Lcom/android/server/am/ActivityManagerService$ItemMatcher;
38518 invoke-direct {v3}, Lcom/android/server/am/ActivityManagerService$ItemMatcher;-><init>()V
38520 invoke-virtual {v3, p3, p4}, Lcom/android/server/am/ActivityManagerService$ItemMatcher;->build([Ljava/lang/String;I)I
38522 const-string v10, "ACTIVITY MANAGER CONTENT PROVIDERS (dumpsys activity providers)"
38524 invoke-virtual {p2, v10}, Ljava/io/PrintWriter;->println(Ljava/lang/String;)V
38526 iget-object v10, p0, Lcom/android/server/am/ActivityManagerService;->mProviderMap:Lcom/android/server/am/ProviderMap;
38530 invoke-virtual {v10, p2, v0}, Lcom/android/server/am/ProviderMap;->dumpProvidersLocked(Ljava/io/PrintWriter;Z)V
38532 iget-object v10, p0, Lcom/android/server/am/ActivityManagerService;->mLaunchingProviders:Ljava/util/ArrayList;
38534 invoke-virtual {v10}, Ljava/util/ArrayList;->size()I
38538 if-lez v10, :cond_64
38542 iget-object v10, p0, Lcom/android/server/am/ActivityManagerService;->mLaunchingProviders:Ljava/util/ArrayList;
38544 invoke-virtual {v10}, Ljava/util/ArrayList;->size()I
38548 add-int/lit8 v1, v10, -0x1
38551 if-ltz v1, :cond_64
38553 iget-object v10, p0, Lcom/android/server/am/ActivityManagerService;->mLaunchingProviders:Ljava/util/ArrayList;
38555 invoke-virtual {v10, v1}, Ljava/util/ArrayList;->get(I)Ljava/lang/Object;
38557 move-result-object v8
38559 check-cast v8, Lcom/android/server/am/ContentProviderRecord;
38561 if-eqz p6, :cond_43
38563 iget-object v10, v8, Lcom/android/server/am/ContentProviderRecord;->name:Landroid/content/ComponentName;
38565 invoke-virtual {v10}, Landroid/content/ComponentName;->getPackageName()Ljava/lang/String;
38567 move-result-object v10
38569 move-object/from16 v0, p6
38571 invoke-virtual {v0, v10}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
38575 if-nez v10, :cond_43
38578 add-int/lit8 v1, v1, -0x1
38583 if-nez v7, :cond_53
38585 if-eqz v4, :cond_4c
38587 const-string v10, " "
38589 invoke-virtual {p2, v10}, Ljava/io/PrintWriter;->println(Ljava/lang/String;)V
38594 const-string v10, " Launching content providers:"
38596 invoke-virtual {p2, v10}, Ljava/io/PrintWriter;->println(Ljava/lang/String;)V
38601 const-string v10, " Launching #"
38603 invoke-virtual {p2, v10}, Ljava/io/PrintWriter;->print(Ljava/lang/String;)V
38605 invoke-virtual {p2, v1}, Ljava/io/PrintWriter;->print(I)V
38607 const-string v10, ": "
38609 invoke-virtual {p2, v10}, Ljava/io/PrintWriter;->print(Ljava/lang/String;)V
38611 invoke-virtual {p2, v8}, Ljava/io/PrintWriter;->println(Ljava/lang/Object;)V
38616 iget-object v10, p0, Lcom/android/server/am/ActivityManagerService;->mGrantedUriPermissions:Landroid/util/SparseArray;
38618 invoke-virtual {v10}, Landroid/util/SparseArray;->size()I
38622 if-lez v10, :cond_c3
38624 if-eqz v4, :cond_71
38626 invoke-virtual {p2}, Ljava/io/PrintWriter;->println()V
38631 const-string v10, "Granted Uri Permissions:"
38633 invoke-virtual {p2, v10}, Ljava/io/PrintWriter;->println(Ljava/lang/String;)V
38638 iget-object v10, p0, Lcom/android/server/am/ActivityManagerService;->mGrantedUriPermissions:Landroid/util/SparseArray;
38640 invoke-virtual {v10}, Landroid/util/SparseArray;->size()I
38644 if-ge v1, v10, :cond_c2
38646 iget-object v10, p0, Lcom/android/server/am/ActivityManagerService;->mGrantedUriPermissions:Landroid/util/SparseArray;
38648 invoke-virtual {v10, v1}, Landroid/util/SparseArray;->keyAt(I)I
38652 iget-object v10, p0, Lcom/android/server/am/ActivityManagerService;->mGrantedUriPermissions:Landroid/util/SparseArray;
38654 invoke-virtual {v10, v1}, Landroid/util/SparseArray;->valueAt(I)Ljava/lang/Object;
38656 move-result-object v6
38658 check-cast v6, Ljava/util/HashMap;
38660 const-string v10, " * UID "
38662 invoke-virtual {p2, v10}, Ljava/io/PrintWriter;->print(Ljava/lang/String;)V
38664 invoke-virtual {p2, v9}, Ljava/io/PrintWriter;->print(I)V
38666 const-string v10, " holds:"
38668 invoke-virtual {p2, v10}, Ljava/io/PrintWriter;->println(Ljava/lang/String;)V
38670 invoke-virtual {v6}, Ljava/util/HashMap;->values()Ljava/util/Collection;
38672 move-result-object v10
38674 invoke-interface {v10}, Ljava/util/Collection;->iterator()Ljava/util/Iterator;
38676 move-result-object v2
38680 invoke-interface {v2}, Ljava/util/Iterator;->hasNext()Z
38684 if-eqz v10, :cond_bf
38686 invoke-interface {v2}, Ljava/util/Iterator;->next()Ljava/lang/Object;
38688 move-result-object v5
38690 check-cast v5, Lcom/android/server/am/UriPermission;
38692 const-string v10, " "
38694 invoke-virtual {p2, v10}, Ljava/io/PrintWriter;->print(Ljava/lang/String;)V
38696 invoke-virtual {p2, v5}, Ljava/io/PrintWriter;->println(Ljava/lang/Object;)V
38698 if-eqz p5, :cond_a3
38700 const-string v10, " "
38702 invoke-virtual {v5, p2, v10}, Lcom/android/server/am/UriPermission;->dump(Ljava/io/PrintWriter;Ljava/lang/String;)V
38707 add-int/lit8 v1, v1, 0x1
38718 .method protected dumpService(Ljava/io/FileDescriptor;Ljava/io/PrintWriter;Ljava/lang/String;[Ljava/lang/String;IZ)Z
38721 new-instance v15, Ljava/util/ArrayList;
38723 invoke-direct {v15}, Ljava/util/ArrayList;-><init>()V
38725 const-string v1, "all"
38727 move-object/from16 v0, p3
38729 invoke-virtual {v1, v0}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
38733 if-eqz v1, :cond_55
38738 invoke-static {}, Landroid/app/AppGlobals;->getPackageManager()Landroid/content/pm/IPackageManager;
38740 move-result-object v1
38742 invoke-interface {v1}, Landroid/content/pm/IPackageManager;->getUsers()Ljava/util/List;
38744 move-result-object v17
38746 invoke-interface/range {v17 .. v17}, Ljava/util/List;->iterator()Ljava/util/Iterator;
38748 move-result-object v10
38751 invoke-interface {v10}, Ljava/util/Iterator;->hasNext()Z
38755 if-eqz v1, :cond_49
38757 invoke-interface {v10}, Ljava/util/Iterator;->next()Ljava/lang/Object;
38759 move-result-object v16
38761 check-cast v16, Landroid/content/pm/UserInfo;
38763 move-object/from16 v0, p0
38765 iget-object v1, v0, Lcom/android/server/am/ActivityManagerService;->mServiceMap:Lcom/android/server/am/ActivityManagerService$ServiceMap;
38767 move-object/from16 v0, v16
38769 iget v2, v0, Landroid/content/pm/UserInfo;->id:I
38771 invoke-virtual {v1, v2}, Lcom/android/server/am/ActivityManagerService$ServiceMap;->getAllServices(I)Ljava/util/Collection;
38773 move-result-object v1
38775 invoke-interface {v1}, Ljava/util/Collection;->iterator()Ljava/util/Iterator;
38777 move-result-object v11
38780 invoke-interface {v11}, Ljava/util/Iterator;->hasNext()Z
38784 if-eqz v1, :cond_1c
38786 invoke-interface {v11}, Ljava/util/Iterator;->next()Ljava/lang/Object;
38788 move-result-object v14
38790 check-cast v14, Lcom/android/server/am/ServiceRecord;
38792 invoke-virtual {v15, v14}, Ljava/util/ArrayList;->add(Ljava/lang/Object;)Z
38794 .catchall {:try_start_10 .. :try_end_47} :catchall_52
38795 .catch Landroid/os/RemoteException; {:try_start_10 .. :try_end_47} :catch_48
38806 .catchall {:try_start_49 .. :try_end_4a} :catchall_52
38809 invoke-virtual {v15}, Ljava/util/ArrayList;->size()I
38813 if-gtz v1, :cond_d2
38826 .catchall {:try_start_53 .. :try_end_54} :catchall_52
38831 if-eqz p3, :cond_b2
38833 invoke-static/range {p3 .. p3}, Landroid/content/ComponentName;->unflattenFromString(Ljava/lang/String;)Landroid/content/ComponentName;
38835 move-result-object v8
38840 if-nez v8, :cond_69
38845 move-object/from16 v0, p3
38847 invoke-static {v0, v1}, Ljava/lang/Integer;->parseInt(Ljava/lang/String;I)I
38849 .catch Ljava/lang/RuntimeException; {:try_start_60 .. :try_end_65} :catch_fb
38862 invoke-static {}, Landroid/app/AppGlobals;->getPackageManager()Landroid/content/pm/IPackageManager;
38864 move-result-object v1
38866 invoke-interface {v1}, Landroid/content/pm/IPackageManager;->getUsers()Ljava/util/List;
38868 move-result-object v17
38870 invoke-interface/range {v17 .. v17}, Ljava/util/List;->iterator()Ljava/util/Iterator;
38872 move-result-object v10
38875 invoke-interface {v10}, Ljava/util/Iterator;->hasNext()Z
38879 if-eqz v1, :cond_ad
38881 invoke-interface {v10}, Ljava/util/Iterator;->next()Ljava/lang/Object;
38883 move-result-object v16
38885 check-cast v16, Landroid/content/pm/UserInfo;
38887 move-object/from16 v0, p0
38889 iget-object v1, v0, Lcom/android/server/am/ActivityManagerService;->mServiceMap:Lcom/android/server/am/ActivityManagerService$ServiceMap;
38891 move-object/from16 v0, v16
38893 iget v2, v0, Landroid/content/pm/UserInfo;->id:I
38895 invoke-virtual {v1, v2}, Lcom/android/server/am/ActivityManagerService$ServiceMap;->getAllServices(I)Ljava/util/Collection;
38897 move-result-object v1
38899 invoke-interface {v1}, Ljava/util/Collection;->iterator()Ljava/util/Iterator;
38901 move-result-object v11
38905 invoke-interface {v11}, Ljava/util/Iterator;->hasNext()Z
38909 if-eqz v1, :cond_76
38911 invoke-interface {v11}, Ljava/util/Iterator;->next()Ljava/lang/Object;
38913 move-result-object v14
38915 check-cast v14, Lcom/android/server/am/ServiceRecord;
38917 if-eqz v8, :cond_b4
38919 iget-object v1, v14, Lcom/android/server/am/ServiceRecord;->name:Landroid/content/ComponentName;
38921 invoke-virtual {v1, v8}, Landroid/content/ComponentName;->equals(Ljava/lang/Object;)Z
38925 if-eqz v1, :cond_92
38927 invoke-virtual {v15, v14}, Ljava/util/ArrayList;->add(Ljava/lang/Object;)Z
38929 .catchall {:try_start_6a .. :try_end_ab} :catchall_af
38930 .catch Landroid/os/RemoteException; {:try_start_6a .. :try_end_ab} :catch_ac
38948 .catchall {:try_start_ad .. :try_end_b1} :catchall_af
38958 if-eqz p3, :cond_c8
38961 iget-object v1, v14, Lcom/android/server/am/ServiceRecord;->name:Landroid/content/ComponentName;
38963 invoke-virtual {v1}, Landroid/content/ComponentName;->flattenToString()Ljava/lang/String;
38965 move-result-object v1
38967 move-object/from16 v0, p3
38969 invoke-virtual {v1, v0}, Ljava/lang/String;->contains(Ljava/lang/CharSequence;)Z
38973 if-eqz v1, :cond_92
38975 invoke-virtual {v15, v14}, Ljava/util/ArrayList;->add(Ljava/lang/Object;)Z
38980 invoke-static {v14}, Ljava/lang/System;->identityHashCode(Ljava/lang/Object;)I
38984 if-ne v1, v13, :cond_92
38986 invoke-virtual {v15, v14}, Ljava/util/ArrayList;->add(Ljava/lang/Object;)Z
38988 .catchall {:try_start_b6 .. :try_end_d1} :catchall_af
38989 .catch Landroid/os/RemoteException; {:try_start_b6 .. :try_end_d1} :catch_ac
38999 invoke-virtual {v15}, Ljava/util/ArrayList;->size()I
39003 if-ge v9, v1, :cond_f8
39005 if-eqz v12, :cond_df
39007 invoke-virtual/range {p2 .. p2}, Ljava/io/PrintWriter;->println()V
39012 const-string v2, ""
39014 invoke-virtual {v15, v9}, Ljava/util/ArrayList;->get(I)Ljava/lang/Object;
39016 move-result-object v5
39018 check-cast v5, Lcom/android/server/am/ServiceRecord;
39020 move-object/from16 v1, p0
39022 move-object/from16 v3, p1
39024 move-object/from16 v4, p2
39026 move-object/from16 v6, p4
39030 invoke-direct/range {v1 .. v7}, Lcom/android/server/am/ActivityManagerService;->dumpService(Ljava/lang/String;Ljava/io/FileDescriptor;Ljava/io/PrintWriter;Lcom/android/server/am/ServiceRecord;[Ljava/lang/String;Z)V
39032 add-int/lit8 v9, v9, 0x1
39047 .method dumpServicesLocked(Ljava/io/FileDescriptor;Ljava/io/PrintWriter;[Ljava/lang/String;IZZLjava/lang/String;)Z
39052 new-instance v14, Lcom/android/server/am/ActivityManagerService$ItemMatcher;
39054 invoke-direct {v14}, Lcom/android/server/am/ActivityManagerService$ItemMatcher;-><init>()V
39056 move-object/from16 v0, p3
39060 invoke-virtual {v14, v0, v1}, Lcom/android/server/am/ActivityManagerService$ItemMatcher;->build([Ljava/lang/String;I)I
39062 const-string v25, "ACTIVITY MANAGER SERVICES (dumpsys activity services)"
39064 move-object/from16 v0, p2
39066 move-object/from16 v1, v25
39068 invoke-virtual {v0, v1}, Ljava/io/PrintWriter;->println(Ljava/lang/String;)V
39071 invoke-static {}, Landroid/app/AppGlobals;->getPackageManager()Landroid/content/pm/IPackageManager;
39073 move-result-object v25
39075 invoke-interface/range {v25 .. v25}, Landroid/content/pm/IPackageManager;->getUsers()Ljava/util/List;
39077 move-result-object v24
39079 invoke-interface/range {v24 .. v24}, Ljava/util/List;->iterator()Ljava/util/Iterator;
39081 move-result-object v10
39085 invoke-interface {v10}, Ljava/util/Iterator;->hasNext()Z
39089 if-eqz v25, :cond_23c
39091 invoke-interface {v10}, Ljava/util/Iterator;->next()Ljava/lang/Object;
39093 move-result-object v23
39095 check-cast v23, Landroid/content/pm/UserInfo;
39097 move-object/from16 v0, p0
39099 iget-object v0, v0, Lcom/android/server/am/ActivityManagerService;->mServiceMap:Lcom/android/server/am/ActivityManagerService$ServiceMap;
39101 move-object/from16 v25, v0
39103 move-object/from16 v0, v23
39105 iget v0, v0, Landroid/content/pm/UserInfo;->id:I
39107 move/from16 v26, v0
39109 invoke-virtual/range {v25 .. v26}, Lcom/android/server/am/ActivityManagerService$ServiceMap;->getAllServices(I)Ljava/util/Collection;
39111 move-result-object v25
39113 invoke-interface/range {v25 .. v25}, Ljava/util/Collection;->size()I
39117 if-lez v25, :cond_22
39121 invoke-static {}, Landroid/os/SystemClock;->elapsedRealtime()J
39123 move-result-wide v16
39125 move-object/from16 v0, p0
39127 iget-object v0, v0, Lcom/android/server/am/ActivityManagerService;->mServiceMap:Lcom/android/server/am/ActivityManagerService$ServiceMap;
39129 move-object/from16 v25, v0
39131 move-object/from16 v0, v23
39133 iget v0, v0, Landroid/content/pm/UserInfo;->id:I
39135 move/from16 v26, v0
39137 invoke-virtual/range {v25 .. v26}, Lcom/android/server/am/ActivityManagerService$ServiceMap;->getAllServices(I)Ljava/util/Collection;
39139 move-result-object v25
39141 invoke-interface/range {v25 .. v25}, Ljava/util/Collection;->iterator()Ljava/util/Iterator;
39143 move-result-object v12
39149 invoke-interface {v12}, Ljava/util/Iterator;->hasNext()Z
39153 if-eqz v25, :cond_286
39155 invoke-interface {v12}, Ljava/util/Iterator;->next()Ljava/lang/Object;
39157 move-result-object v20
39159 check-cast v20, Lcom/android/server/am/ServiceRecord;
39161 move-object/from16 v0, v20
39163 iget-object v0, v0, Lcom/android/server/am/ServiceRecord;->name:Landroid/content/ComponentName;
39165 move-object/from16 v25, v0
39167 move-object/from16 v0, v20
39169 move-object/from16 v1, v25
39171 invoke-virtual {v14, v0, v1}, Lcom/android/server/am/ActivityManagerService$ItemMatcher;->match(Ljava/lang/Object;Landroid/content/ComponentName;)Z
39175 if-eqz v25, :cond_5f
39177 if-eqz p7, :cond_93
39179 move-object/from16 v0, v20
39181 iget-object v0, v0, Lcom/android/server/am/ServiceRecord;->appInfo:Landroid/content/pm/ApplicationInfo;
39183 move-object/from16 v25, v0
39185 move-object/from16 v0, v25
39187 iget-object v0, v0, Landroid/content/pm/ApplicationInfo;->packageName:Ljava/lang/String;
39189 move-object/from16 v25, v0
39191 move-object/from16 v0, p7
39193 move-object/from16 v1, v25
39195 invoke-virtual {v0, v1}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
39199 if-eqz v25, :cond_5f
39202 if-nez v18, :cond_a0
39204 const-string v25, " Active services:"
39206 move-object/from16 v0, p2
39208 move-object/from16 v1, v25
39210 invoke-virtual {v0, v1}, Ljava/io/PrintWriter;->println(Ljava/lang/String;)V
39215 if-eqz v15, :cond_a5
39217 invoke-virtual/range {p2 .. p2}, Ljava/io/PrintWriter;->println()V
39220 const-string v25, " * "
39222 move-object/from16 v0, p2
39224 move-object/from16 v1, v25
39226 invoke-virtual {v0, v1}, Ljava/io/PrintWriter;->print(Ljava/lang/String;)V
39228 move-object/from16 v0, p2
39230 move-object/from16 v1, v20
39232 invoke-virtual {v0, v1}, Ljava/io/PrintWriter;->println(Ljava/lang/Object;)V
39234 if-eqz p5, :cond_125
39236 const-string v25, " "
39238 move-object/from16 v0, v20
39240 move-object/from16 v1, p2
39242 move-object/from16 v2, v25
39244 invoke-virtual {v0, v1, v2}, Lcom/android/server/am/ServiceRecord;->dump(Ljava/io/PrintWriter;Ljava/lang/String;)V
39249 if-eqz p6, :cond_5f
39251 move-object/from16 v0, v20
39253 iget-object v0, v0, Lcom/android/server/am/ServiceRecord;->app:Lcom/android/server/am/ProcessRecord;
39255 move-object/from16 v25, v0
39257 if-eqz v25, :cond_5f
39259 move-object/from16 v0, v20
39261 iget-object v0, v0, Lcom/android/server/am/ServiceRecord;->app:Lcom/android/server/am/ProcessRecord;
39263 move-object/from16 v25, v0
39265 move-object/from16 v0, v25
39267 iget-object v0, v0, Lcom/android/server/am/ProcessRecord;->thread:Landroid/app/IApplicationThread;
39269 move-object/from16 v25, v0
39271 if-eqz v25, :cond_5f
39273 const-string v25, " Client:"
39275 move-object/from16 v0, p2
39277 move-object/from16 v1, v25
39279 invoke-virtual {v0, v1}, Ljava/io/PrintWriter;->println(Ljava/lang/String;)V
39281 invoke-virtual/range {p2 .. p2}, Ljava/io/PrintWriter;->flush()V
39283 .catch Landroid/os/RemoteException; {:try_start_16 .. :try_end_e7} :catch_23b
39286 new-instance v22, Lcom/android/server/am/TransferPipe;
39288 invoke-direct/range {v22 .. v22}, Lcom/android/server/am/TransferPipe;-><init>()V
39290 .catch Ljava/io/IOException; {:try_start_e7 .. :try_end_ec} :catch_21c
39291 .catch Landroid/os/RemoteException; {:try_start_e7 .. :try_end_ec} :catch_27a
39294 move-object/from16 v0, v20
39296 iget-object v0, v0, Lcom/android/server/am/ServiceRecord;->app:Lcom/android/server/am/ProcessRecord;
39298 move-object/from16 v25, v0
39300 move-object/from16 v0, v25
39302 iget-object v0, v0, Lcom/android/server/am/ProcessRecord;->thread:Landroid/app/IApplicationThread;
39304 move-object/from16 v25, v0
39306 invoke-virtual/range {v22 .. v22}, Lcom/android/server/am/TransferPipe;->getWriteFd()Landroid/os/ParcelFileDescriptor;
39308 move-result-object v26
39310 invoke-virtual/range {v26 .. v26}, Landroid/os/ParcelFileDescriptor;->getFileDescriptor()Ljava/io/FileDescriptor;
39312 move-result-object v26
39314 move-object/from16 v0, v25
39316 move-object/from16 v1, v26
39318 move-object/from16 v2, v20
39320 move-object/from16 v3, p3
39322 invoke-interface {v0, v1, v2, v3}, Landroid/app/IApplicationThread;->dumpService(Ljava/io/FileDescriptor;Landroid/os/IBinder;[Ljava/lang/String;)V
39324 const-string v25, " "
39326 move-object/from16 v0, v22
39328 move-object/from16 v1, v25
39330 invoke-virtual {v0, v1}, Lcom/android/server/am/TransferPipe;->setBufferPrefix(Ljava/lang/String;)V
39332 const-wide/16 v25, 0x7d0
39334 move-object/from16 v0, v22
39336 move-object/from16 v1, p1
39338 move-wide/from16 v2, v25
39340 invoke-virtual {v0, v1, v2, v3}, Lcom/android/server/am/TransferPipe;->go(Ljava/io/FileDescriptor;J)V
39342 .catchall {:try_start_ec .. :try_end_11f} :catchall_217
39345 invoke-virtual/range {v22 .. v22}, Lcom/android/server/am/TransferPipe;->kill()V
39347 .catch Ljava/io/IOException; {:try_start_11f .. :try_end_122} :catch_21c
39348 .catch Landroid/os/RemoteException; {:try_start_11f .. :try_end_122} :catch_27a
39357 const-string v25, " app="
39359 move-object/from16 v0, p2
39361 move-object/from16 v1, v25
39363 invoke-virtual {v0, v1}, Ljava/io/PrintWriter;->print(Ljava/lang/String;)V
39365 move-object/from16 v0, v20
39367 iget-object v0, v0, Lcom/android/server/am/ServiceRecord;->app:Lcom/android/server/am/ProcessRecord;
39369 move-object/from16 v25, v0
39371 move-object/from16 v0, p2
39373 move-object/from16 v1, v25
39375 invoke-virtual {v0, v1}, Ljava/io/PrintWriter;->println(Ljava/lang/Object;)V
39377 const-string v25, " created="
39379 move-object/from16 v0, p2
39381 move-object/from16 v1, v25
39383 invoke-virtual {v0, v1}, Ljava/io/PrintWriter;->print(Ljava/lang/String;)V
39385 move-object/from16 v0, v20
39387 iget-wide v0, v0, Lcom/android/server/am/ServiceRecord;->createTime:J
39389 move-wide/from16 v25, v0
39391 move-wide/from16 v0, v25
39393 move-wide/from16 v2, v16
39395 move-object/from16 v4, p2
39397 invoke-static {v0, v1, v2, v3, v4}, Landroid/util/TimeUtils;->formatDuration(JJLjava/io/PrintWriter;)V
39399 const-string v25, " started="
39401 move-object/from16 v0, p2
39403 move-object/from16 v1, v25
39405 invoke-virtual {v0, v1}, Ljava/io/PrintWriter;->print(Ljava/lang/String;)V
39407 move-object/from16 v0, v20
39409 iget-boolean v0, v0, Lcom/android/server/am/ServiceRecord;->startRequested:Z
39411 move/from16 v25, v0
39413 move-object/from16 v0, p2
39415 move/from16 v1, v25
39417 invoke-virtual {v0, v1}, Ljava/io/PrintWriter;->print(Z)V
39419 const-string v25, " connections="
39421 move-object/from16 v0, p2
39423 move-object/from16 v1, v25
39425 invoke-virtual {v0, v1}, Ljava/io/PrintWriter;->print(Ljava/lang/String;)V
39427 move-object/from16 v0, v20
39429 iget-object v0, v0, Lcom/android/server/am/ServiceRecord;->connections:Ljava/util/HashMap;
39431 move-object/from16 v25, v0
39433 invoke-virtual/range {v25 .. v25}, Ljava/util/HashMap;->size()I
39437 move-object/from16 v0, p2
39439 move/from16 v1, v25
39441 invoke-virtual {v0, v1}, Ljava/io/PrintWriter;->println(I)V
39443 move-object/from16 v0, v20
39445 iget-object v0, v0, Lcom/android/server/am/ServiceRecord;->connections:Ljava/util/HashMap;
39447 move-object/from16 v25, v0
39449 invoke-virtual/range {v25 .. v25}, Ljava/util/HashMap;->size()I
39453 if-lez v25, :cond_c3
39455 const-string v25, " Connections:"
39457 move-object/from16 v0, p2
39459 move-object/from16 v1, v25
39461 invoke-virtual {v0, v1}, Ljava/io/PrintWriter;->println(Ljava/lang/String;)V
39463 move-object/from16 v0, v20
39465 iget-object v0, v0, Lcom/android/server/am/ServiceRecord;->connections:Ljava/util/HashMap;
39467 move-object/from16 v25, v0
39469 invoke-virtual/range {v25 .. v25}, Ljava/util/HashMap;->values()Ljava/util/Collection;
39471 move-result-object v25
39473 invoke-interface/range {v25 .. v25}, Ljava/util/Collection;->iterator()Ljava/util/Iterator;
39475 move-result-object v11
39478 invoke-interface {v11}, Ljava/util/Iterator;->hasNext()Z
39482 if-eqz v25, :cond_c3
39484 invoke-interface {v11}, Ljava/util/Iterator;->next()Ljava/lang/Object;
39486 move-result-object v5
39488 check-cast v5, Ljava/util/ArrayList;
39493 invoke-virtual {v5}, Ljava/util/ArrayList;->size()I
39497 move/from16 v0, v25
39499 if-ge v9, v0, :cond_1a6
39501 invoke-virtual {v5, v9}, Ljava/util/ArrayList;->get(I)Ljava/lang/Object;
39503 move-result-object v6
39505 check-cast v6, Lcom/android/server/am/ConnectionRecord;
39507 const-string v25, " "
39509 move-object/from16 v0, p2
39511 move-object/from16 v1, v25
39513 invoke-virtual {v0, v1}, Ljava/io/PrintWriter;->print(Ljava/lang/String;)V
39515 iget-object v0, v6, Lcom/android/server/am/ConnectionRecord;->binding:Lcom/android/server/am/AppBindRecord;
39517 move-object/from16 v25, v0
39519 move-object/from16 v0, v25
39521 iget-object v0, v0, Lcom/android/server/am/AppBindRecord;->intent:Lcom/android/server/am/IntentBindRecord;
39523 move-object/from16 v25, v0
39525 move-object/from16 v0, v25
39527 iget-object v0, v0, Lcom/android/server/am/IntentBindRecord;->intent:Landroid/content/Intent$FilterComparison;
39529 move-object/from16 v25, v0
39531 invoke-virtual/range {v25 .. v25}, Landroid/content/Intent$FilterComparison;->getIntent()Landroid/content/Intent;
39533 move-result-object v25
39543 invoke-virtual/range {v25 .. v29}, Landroid/content/Intent;->toShortString(ZZZZ)Ljava/lang/String;
39545 move-result-object v25
39547 move-object/from16 v0, p2
39549 move-object/from16 v1, v25
39551 invoke-virtual {v0, v1}, Ljava/io/PrintWriter;->print(Ljava/lang/String;)V
39553 const-string v25, " -> "
39555 move-object/from16 v0, p2
39557 move-object/from16 v1, v25
39559 invoke-virtual {v0, v1}, Ljava/io/PrintWriter;->print(Ljava/lang/String;)V
39561 iget-object v0, v6, Lcom/android/server/am/ConnectionRecord;->binding:Lcom/android/server/am/AppBindRecord;
39563 move-object/from16 v25, v0
39565 move-object/from16 v0, v25
39567 iget-object v0, v0, Lcom/android/server/am/AppBindRecord;->client:Lcom/android/server/am/ProcessRecord;
39569 move-object/from16 v19, v0
39571 if-eqz v19, :cond_214
39573 invoke-virtual/range {v19 .. v19}, Lcom/android/server/am/ProcessRecord;->toShortString()Ljava/lang/String;
39575 move-result-object v25
39578 move-object/from16 v0, p2
39580 move-object/from16 v1, v25
39582 invoke-virtual {v0, v1}, Ljava/io/PrintWriter;->println(Ljava/lang/String;)V
39584 add-int/lit8 v9, v9, 0x1
39589 const-string v25, "null"
39591 .catch Landroid/os/RemoteException; {:try_start_125 .. :try_end_216} :catch_23b
39599 invoke-virtual/range {v22 .. v22}, Lcom/android/server/am/TransferPipe;->kill()V
39603 .catch Ljava/io/IOException; {:try_start_218 .. :try_end_21c} :catch_21c
39604 .catch Landroid/os/RemoteException; {:try_start_218 .. :try_end_21c} :catch_27a
39610 new-instance v25, Ljava/lang/StringBuilder;
39612 invoke-direct/range {v25 .. v25}, Ljava/lang/StringBuilder;-><init>()V
39614 const-string v26, " Failure while dumping the service: "
39616 invoke-virtual/range {v25 .. v26}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
39618 move-result-object v25
39620 move-object/from16 v0, v25
39622 invoke-virtual {v0, v8}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
39624 move-result-object v25
39626 invoke-virtual/range {v25 .. v25}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
39628 move-result-object v25
39630 move-object/from16 v0, p2
39632 move-object/from16 v1, v25
39634 invoke-virtual {v0, v1}, Ljava/io/PrintWriter;->println(Ljava/lang/String;)V
39636 .catch Landroid/os/RemoteException; {:try_start_21d .. :try_end_239} :catch_23b
39644 move-object/from16 v0, p0
39646 iget-object v0, v0, Lcom/android/server/am/ActivityManagerService;->mPendingServices:Ljava/util/ArrayList;
39648 move-object/from16 v25, v0
39650 invoke-virtual/range {v25 .. v25}, Ljava/util/ArrayList;->size()I
39654 if-lez v25, :cond_2d8
39661 move-object/from16 v0, p0
39663 iget-object v0, v0, Lcom/android/server/am/ActivityManagerService;->mPendingServices:Ljava/util/ArrayList;
39665 move-object/from16 v25, v0
39667 invoke-virtual/range {v25 .. v25}, Ljava/util/ArrayList;->size()I
39671 move/from16 v0, v25
39673 if-ge v9, v0, :cond_2d7
39675 move-object/from16 v0, p0
39677 iget-object v0, v0, Lcom/android/server/am/ActivityManagerService;->mPendingServices:Ljava/util/ArrayList;
39679 move-object/from16 v25, v0
39681 move-object/from16 v0, v25
39683 invoke-virtual {v0, v9}, Ljava/util/ArrayList;->get(I)Ljava/lang/Object;
39685 move-result-object v20
39687 check-cast v20, Lcom/android/server/am/ServiceRecord;
39689 move-object/from16 v0, v20
39691 iget-object v0, v0, Lcom/android/server/am/ServiceRecord;->name:Landroid/content/ComponentName;
39693 move-object/from16 v25, v0
39695 move-object/from16 v0, v20
39697 move-object/from16 v1, v25
39699 invoke-virtual {v14, v0, v1}, Lcom/android/server/am/ActivityManagerService$ItemMatcher;->match(Ljava/lang/Object;Landroid/content/ComponentName;)Z
39703 if-nez v25, :cond_28a
39707 add-int/lit8 v9, v9, 0x1
39715 const-string v25, " Got a RemoteException while dumping the service"
39717 move-object/from16 v0, p2
39719 move-object/from16 v1, v25
39721 invoke-virtual {v0, v1}, Ljava/io/PrintWriter;->println(Ljava/lang/String;)V
39723 .catch Landroid/os/RemoteException; {:try_start_27b .. :try_end_284} :catch_23b
39728 move/from16 v15, v18
39733 if-eqz p7, :cond_2a2
39735 move-object/from16 v0, v20
39737 iget-object v0, v0, Lcom/android/server/am/ServiceRecord;->appInfo:Landroid/content/pm/ApplicationInfo;
39739 move-object/from16 v25, v0
39741 move-object/from16 v0, v25
39743 iget-object v0, v0, Landroid/content/pm/ApplicationInfo;->packageName:Ljava/lang/String;
39745 move-object/from16 v25, v0
39747 move-object/from16 v0, p7
39749 move-object/from16 v1, v25
39751 invoke-virtual {v0, v1}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
39755 if-eqz v25, :cond_277
39758 if-nez v18, :cond_2bb
39760 if-eqz v15, :cond_2af
39762 const-string v25, " "
39764 move-object/from16 v0, p2
39766 move-object/from16 v1, v25
39768 invoke-virtual {v0, v1}, Ljava/io/PrintWriter;->println(Ljava/lang/String;)V
39773 const-string v25, " Pending services:"
39775 move-object/from16 v0, p2
39777 move-object/from16 v1, v25
39779 invoke-virtual {v0, v1}, Ljava/io/PrintWriter;->println(Ljava/lang/String;)V
39784 const-string v25, " * Pending "
39786 move-object/from16 v0, p2
39788 move-object/from16 v1, v25
39790 invoke-virtual {v0, v1}, Ljava/io/PrintWriter;->print(Ljava/lang/String;)V
39792 move-object/from16 v0, p2
39794 move-object/from16 v1, v20
39796 invoke-virtual {v0, v1}, Ljava/io/PrintWriter;->println(Ljava/lang/Object;)V
39798 const-string v25, " "
39800 move-object/from16 v0, v20
39802 move-object/from16 v1, p2
39804 move-object/from16 v2, v25
39806 invoke-virtual {v0, v1, v2}, Lcom/android/server/am/ServiceRecord;->dump(Ljava/io/PrintWriter;Ljava/lang/String;)V
39814 move-object/from16 v0, p0
39816 iget-object v0, v0, Lcom/android/server/am/ActivityManagerService;->mRestartingServices:Ljava/util/ArrayList;
39818 move-object/from16 v25, v0
39820 invoke-virtual/range {v25 .. v25}, Ljava/util/ArrayList;->size()I
39824 if-lez v25, :cond_364
39831 move-object/from16 v0, p0
39833 iget-object v0, v0, Lcom/android/server/am/ActivityManagerService;->mRestartingServices:Ljava/util/ArrayList;
39835 move-object/from16 v25, v0
39837 invoke-virtual/range {v25 .. v25}, Ljava/util/ArrayList;->size()I
39841 move/from16 v0, v25
39843 if-ge v9, v0, :cond_363
39845 move-object/from16 v0, p0
39847 iget-object v0, v0, Lcom/android/server/am/ActivityManagerService;->mRestartingServices:Ljava/util/ArrayList;
39849 move-object/from16 v25, v0
39851 move-object/from16 v0, v25
39853 invoke-virtual {v0, v9}, Ljava/util/ArrayList;->get(I)Ljava/lang/Object;
39855 move-result-object v20
39857 check-cast v20, Lcom/android/server/am/ServiceRecord;
39859 move-object/from16 v0, v20
39861 iget-object v0, v0, Lcom/android/server/am/ServiceRecord;->name:Landroid/content/ComponentName;
39863 move-object/from16 v25, v0
39865 move-object/from16 v0, v20
39867 move-object/from16 v1, v25
39869 invoke-virtual {v14, v0, v1}, Lcom/android/server/am/ActivityManagerService$ItemMatcher;->match(Ljava/lang/Object;Landroid/content/ComponentName;)Z
39873 if-nez v25, :cond_316
39877 add-int/lit8 v9, v9, 0x1
39882 if-eqz p7, :cond_32e
39884 move-object/from16 v0, v20
39886 iget-object v0, v0, Lcom/android/server/am/ServiceRecord;->appInfo:Landroid/content/pm/ApplicationInfo;
39888 move-object/from16 v25, v0
39890 move-object/from16 v0, v25
39892 iget-object v0, v0, Landroid/content/pm/ApplicationInfo;->packageName:Ljava/lang/String;
39894 move-object/from16 v25, v0
39896 move-object/from16 v0, p7
39898 move-object/from16 v1, v25
39900 invoke-virtual {v0, v1}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
39904 if-eqz v25, :cond_313
39907 if-nez v18, :cond_347
39909 if-eqz v15, :cond_33b
39911 const-string v25, " "
39913 move-object/from16 v0, p2
39915 move-object/from16 v1, v25
39917 invoke-virtual {v0, v1}, Ljava/io/PrintWriter;->println(Ljava/lang/String;)V
39922 const-string v25, " Restarting services:"
39924 move-object/from16 v0, p2
39926 move-object/from16 v1, v25
39928 invoke-virtual {v0, v1}, Ljava/io/PrintWriter;->println(Ljava/lang/String;)V
39933 const-string v25, " * Restarting "
39935 move-object/from16 v0, p2
39937 move-object/from16 v1, v25
39939 invoke-virtual {v0, v1}, Ljava/io/PrintWriter;->print(Ljava/lang/String;)V
39941 move-object/from16 v0, p2
39943 move-object/from16 v1, v20
39945 invoke-virtual {v0, v1}, Ljava/io/PrintWriter;->println(Ljava/lang/Object;)V
39947 const-string v25, " "
39949 move-object/from16 v0, v20
39951 move-object/from16 v1, p2
39953 move-object/from16 v2, v25
39955 invoke-virtual {v0, v1, v2}, Lcom/android/server/am/ServiceRecord;->dump(Ljava/io/PrintWriter;Ljava/lang/String;)V
39963 move-object/from16 v0, p0
39965 iget-object v0, v0, Lcom/android/server/am/ActivityManagerService;->mStoppingServices:Ljava/util/ArrayList;
39967 move-object/from16 v25, v0
39969 invoke-virtual/range {v25 .. v25}, Ljava/util/ArrayList;->size()I
39973 if-lez v25, :cond_3f0
39980 move-object/from16 v0, p0
39982 iget-object v0, v0, Lcom/android/server/am/ActivityManagerService;->mStoppingServices:Ljava/util/ArrayList;
39984 move-object/from16 v25, v0
39986 invoke-virtual/range {v25 .. v25}, Ljava/util/ArrayList;->size()I
39990 move/from16 v0, v25
39992 if-ge v9, v0, :cond_3ef
39994 move-object/from16 v0, p0
39996 iget-object v0, v0, Lcom/android/server/am/ActivityManagerService;->mStoppingServices:Ljava/util/ArrayList;
39998 move-object/from16 v25, v0
40000 move-object/from16 v0, v25
40002 invoke-virtual {v0, v9}, Ljava/util/ArrayList;->get(I)Ljava/lang/Object;
40004 move-result-object v20
40006 check-cast v20, Lcom/android/server/am/ServiceRecord;
40008 move-object/from16 v0, v20
40010 iget-object v0, v0, Lcom/android/server/am/ServiceRecord;->name:Landroid/content/ComponentName;
40012 move-object/from16 v25, v0
40014 move-object/from16 v0, v20
40016 move-object/from16 v1, v25
40018 invoke-virtual {v14, v0, v1}, Lcom/android/server/am/ActivityManagerService$ItemMatcher;->match(Ljava/lang/Object;Landroid/content/ComponentName;)Z
40022 if-nez v25, :cond_3a2
40026 add-int/lit8 v9, v9, 0x1
40031 if-eqz p7, :cond_3ba
40033 move-object/from16 v0, v20
40035 iget-object v0, v0, Lcom/android/server/am/ServiceRecord;->appInfo:Landroid/content/pm/ApplicationInfo;
40037 move-object/from16 v25, v0
40039 move-object/from16 v0, v25
40041 iget-object v0, v0, Landroid/content/pm/ApplicationInfo;->packageName:Ljava/lang/String;
40043 move-object/from16 v25, v0
40045 move-object/from16 v0, p7
40047 move-object/from16 v1, v25
40049 invoke-virtual {v0, v1}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
40053 if-eqz v25, :cond_39f
40056 if-nez v18, :cond_3d3
40058 if-eqz v15, :cond_3c7
40060 const-string v25, " "
40062 move-object/from16 v0, p2
40064 move-object/from16 v1, v25
40066 invoke-virtual {v0, v1}, Ljava/io/PrintWriter;->println(Ljava/lang/String;)V
40071 const-string v25, " Stopping services:"
40073 move-object/from16 v0, p2
40075 move-object/from16 v1, v25
40077 invoke-virtual {v0, v1}, Ljava/io/PrintWriter;->println(Ljava/lang/String;)V
40082 const-string v25, " * Stopping "
40084 move-object/from16 v0, p2
40086 move-object/from16 v1, v25
40088 invoke-virtual {v0, v1}, Ljava/io/PrintWriter;->print(Ljava/lang/String;)V
40090 move-object/from16 v0, p2
40092 move-object/from16 v1, v20
40094 invoke-virtual {v0, v1}, Ljava/io/PrintWriter;->println(Ljava/lang/Object;)V
40096 const-string v25, " "
40098 move-object/from16 v0, v20
40100 move-object/from16 v1, p2
40102 move-object/from16 v2, v25
40104 invoke-virtual {v0, v1, v2}, Lcom/android/server/am/ServiceRecord;->dump(Ljava/io/PrintWriter;Ljava/lang/String;)V
40112 if-eqz p5, :cond_4b2
40114 move-object/from16 v0, p0
40116 iget-object v0, v0, Lcom/android/server/am/ActivityManagerService;->mServiceConnections:Ljava/util/HashMap;
40118 move-object/from16 v25, v0
40120 invoke-virtual/range {v25 .. v25}, Ljava/util/HashMap;->size()I
40124 if-lez v25, :cond_4b2
40128 move-object/from16 v0, p0
40130 iget-object v0, v0, Lcom/android/server/am/ActivityManagerService;->mServiceConnections:Ljava/util/HashMap;
40132 move-object/from16 v25, v0
40134 invoke-virtual/range {v25 .. v25}, Ljava/util/HashMap;->values()Ljava/util/Collection;
40136 move-result-object v25
40138 invoke-interface/range {v25 .. v25}, Ljava/util/Collection;->iterator()Ljava/util/Iterator;
40140 move-result-object v13
40143 invoke-interface {v13}, Ljava/util/Iterator;->hasNext()Z
40147 if-eqz v25, :cond_4b1
40149 invoke-interface {v13}, Ljava/util/Iterator;->next()Ljava/lang/Object;
40151 move-result-object v21
40153 check-cast v21, Ljava/util/ArrayList;
40158 invoke-virtual/range {v21 .. v21}, Ljava/util/ArrayList;->size()I
40162 move/from16 v0, v25
40164 if-ge v9, v0, :cond_40e
40166 move-object/from16 v0, v21
40168 invoke-virtual {v0, v9}, Ljava/util/ArrayList;->get(I)Ljava/lang/Object;
40170 move-result-object v7
40172 check-cast v7, Lcom/android/server/am/ConnectionRecord;
40174 iget-object v0, v7, Lcom/android/server/am/ConnectionRecord;->binding:Lcom/android/server/am/AppBindRecord;
40176 move-object/from16 v25, v0
40178 move-object/from16 v0, v25
40180 iget-object v0, v0, Lcom/android/server/am/AppBindRecord;->service:Lcom/android/server/am/ServiceRecord;
40182 move-object/from16 v25, v0
40184 iget-object v0, v7, Lcom/android/server/am/ConnectionRecord;->binding:Lcom/android/server/am/AppBindRecord;
40186 move-object/from16 v26, v0
40188 move-object/from16 v0, v26
40190 iget-object v0, v0, Lcom/android/server/am/AppBindRecord;->service:Lcom/android/server/am/ServiceRecord;
40192 move-object/from16 v26, v0
40194 move-object/from16 v0, v26
40196 iget-object v0, v0, Lcom/android/server/am/ServiceRecord;->name:Landroid/content/ComponentName;
40198 move-object/from16 v26, v0
40200 move-object/from16 v0, v25
40202 move-object/from16 v1, v26
40204 invoke-virtual {v14, v0, v1}, Lcom/android/server/am/ActivityManagerService$ItemMatcher;->match(Ljava/lang/Object;Landroid/content/ComponentName;)Z
40208 if-nez v25, :cond_452
40212 add-int/lit8 v9, v9, 0x1
40217 if-eqz p7, :cond_480
40219 iget-object v0, v7, Lcom/android/server/am/ConnectionRecord;->binding:Lcom/android/server/am/AppBindRecord;
40221 move-object/from16 v25, v0
40223 move-object/from16 v0, v25
40225 iget-object v0, v0, Lcom/android/server/am/AppBindRecord;->client:Lcom/android/server/am/ProcessRecord;
40227 move-object/from16 v25, v0
40229 if-eqz v25, :cond_44f
40231 iget-object v0, v7, Lcom/android/server/am/ConnectionRecord;->binding:Lcom/android/server/am/AppBindRecord;
40233 move-object/from16 v25, v0
40235 move-object/from16 v0, v25
40237 iget-object v0, v0, Lcom/android/server/am/AppBindRecord;->client:Lcom/android/server/am/ProcessRecord;
40239 move-object/from16 v25, v0
40241 move-object/from16 v0, v25
40243 iget-object v0, v0, Lcom/android/server/am/ProcessRecord;->info:Landroid/content/pm/ApplicationInfo;
40245 move-object/from16 v25, v0
40247 move-object/from16 v0, v25
40249 iget-object v0, v0, Landroid/content/pm/ApplicationInfo;->packageName:Ljava/lang/String;
40251 move-object/from16 v25, v0
40253 move-object/from16 v0, p7
40255 move-object/from16 v1, v25
40257 invoke-virtual {v0, v1}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
40261 if-eqz v25, :cond_44f
40264 if-nez v18, :cond_499
40266 if-eqz v15, :cond_48d
40268 const-string v25, " "
40270 move-object/from16 v0, p2
40272 move-object/from16 v1, v25
40274 invoke-virtual {v0, v1}, Ljava/io/PrintWriter;->println(Ljava/lang/String;)V
40279 const-string v25, " Connection bindings to services:"
40281 move-object/from16 v0, p2
40283 move-object/from16 v1, v25
40285 invoke-virtual {v0, v1}, Ljava/io/PrintWriter;->println(Ljava/lang/String;)V
40290 const-string v25, " * "
40292 move-object/from16 v0, p2
40294 move-object/from16 v1, v25
40296 invoke-virtual {v0, v1}, Ljava/io/PrintWriter;->print(Ljava/lang/String;)V
40298 move-object/from16 v0, p2
40300 invoke-virtual {v0, v7}, Ljava/io/PrintWriter;->println(Ljava/lang/Object;)V
40302 const-string v25, " "
40304 move-object/from16 v0, p2
40306 move-object/from16 v1, v25
40308 invoke-virtual {v7, v0, v1}, Lcom/android/server/am/ConnectionRecord;->dump(Ljava/io/PrintWriter;Ljava/lang/String;)V
40319 .method enableScreenAfterBoot()V
40324 invoke-static {}, Landroid/os/SystemClock;->uptimeMillis()J
40326 move-result-wide v1
40328 invoke-static {v0, v1, v2}, Landroid/util/EventLog;->writeEvent(IJ)I
40330 iget-object v0, p0, Lcom/android/server/am/ActivityManagerService;->mWindowManager:Lcom/android/server/wm/WindowManagerService;
40332 invoke-virtual {v0}, Lcom/android/server/wm/WindowManagerService;->enableScreenAfterBoot()V
40337 invoke-direct {p0}, Lcom/android/server/am/ActivityManagerService;->updateEventDispatchingLocked()V
40348 .catchall {:try_start_f .. :try_end_16} :catchall_14
40353 .method enforceCallingPermission(Ljava/lang/String;Ljava/lang/String;)V
40356 invoke-virtual {p0, p1}, Lcom/android/server/am/ActivityManagerService;->checkCallingPermission(Ljava/lang/String;)I
40365 new-instance v1, Ljava/lang/StringBuilder;
40367 invoke-direct {v1}, Ljava/lang/StringBuilder;-><init>()V
40369 const-string v2, "Permission Denial: "
40371 invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
40373 move-result-object v1
40375 invoke-virtual {v1, p2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
40377 move-result-object v1
40379 const-string v2, " from pid="
40381 invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
40383 move-result-object v1
40385 invoke-static {}, Landroid/os/Binder;->getCallingPid()I
40389 invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
40391 move-result-object v1
40393 const-string v2, ", uid="
40395 invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
40397 move-result-object v1
40399 invoke-static {}, Landroid/os/Binder;->getCallingUid()I
40403 invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
40405 move-result-object v1
40407 const-string v2, " requires "
40409 invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
40411 move-result-object v1
40413 invoke-virtual {v1, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
40415 move-result-object v1
40417 invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
40419 move-result-object v0
40421 const-string v1, "ActivityManager"
40423 invoke-static {v1, v0}, Landroid/util/Slog;->w(Ljava/lang/String;Ljava/lang/String;)I
40425 new-instance v1, Ljava/lang/SecurityException;
40427 invoke-direct {v1, v0}, Ljava/lang/SecurityException;-><init>(Ljava/lang/String;)V
40432 .method enforceNotIsolatedCaller(Ljava/lang/String;)V
40435 invoke-static {}, Landroid/os/Binder;->getCallingUid()I
40439 invoke-static {v0}, Landroid/os/UserId;->isIsolated(I)Z
40443 if-eqz v0, :cond_23
40445 new-instance v0, Ljava/lang/SecurityException;
40447 new-instance v1, Ljava/lang/StringBuilder;
40449 invoke-direct {v1}, Ljava/lang/StringBuilder;-><init>()V
40451 const-string v2, "Isolated process not allowed to call "
40453 invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
40455 move-result-object v1
40457 invoke-virtual {v1, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
40459 move-result-object v1
40461 invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
40463 move-result-object v1
40465 invoke-direct {v0, v1}, Ljava/lang/SecurityException;-><init>(Ljava/lang/String;)V
40473 .method final ensureBootCompleted()V
40483 iget-boolean v0, p0, Lcom/android/server/am/ActivityManagerService;->mBooting:Z
40487 iput-boolean v3, p0, Lcom/android/server/am/ActivityManagerService;->mBooting:Z
40489 iget-boolean v3, p0, Lcom/android/server/am/ActivityManagerService;->mBooted:Z
40491 if-nez v3, :cond_1b
40496 iput-boolean v2, p0, Lcom/android/server/am/ActivityManagerService;->mBooted:Z
40500 .catchall {:try_start_3 .. :try_end_10} :catchall_1d
40502 if-eqz v0, :cond_15
40504 invoke-virtual {p0}, Lcom/android/server/am/ActivityManagerService;->finishBooting()V
40507 if-eqz v1, :cond_1a
40509 invoke-virtual {p0}, Lcom/android/server/am/ActivityManagerService;->enableScreenAfterBoot()V
40525 .catchall {:try_start_1e .. :try_end_1f} :catchall_1d
40530 .method ensurePackageDexOpt(Ljava/lang/String;)V
40533 invoke-static {}, Landroid/app/AppGlobals;->getPackageManager()Landroid/content/pm/IPackageManager;
40535 move-result-object v0
40538 invoke-interface {v0, p1}, Landroid/content/pm/IPackageManager;->performDexOpt(Ljava/lang/String;)Z
40546 iput-boolean v1, p0, Lcom/android/server/am/ActivityManagerService;->mDidDexOpt:Z
40548 .catch Landroid/os/RemoteException; {:try_start_4 .. :try_end_d} :catch_e
40560 .method public final enterSafeMode()V
40566 iget-boolean v0, p0, Lcom/android/server/am/ActivityManagerService;->mSystemReady:Z
40568 .catchall {:try_start_1 .. :try_end_3} :catchall_e
40573 invoke-static {}, Landroid/app/AppGlobals;->getPackageManager()Landroid/content/pm/IPackageManager;
40575 move-result-object v0
40577 invoke-interface {v0}, Landroid/content/pm/IPackageManager;->enterSafeMode()V
40579 .catchall {:try_start_5 .. :try_end_c} :catchall_e
40580 .catch Landroid/os/RemoteException; {:try_start_5 .. :try_end_c} :catch_11
40594 .catchall {:try_start_c .. :try_end_10} :catchall_e
40604 .method public final finishActivity(Landroid/os/IBinder;ILandroid/content/Intent;)Z
40609 if-eqz p3, :cond_12
40611 invoke-virtual {p3}, Landroid/content/Intent;->hasFileDescriptors()Z
40617 if-ne v6, v7, :cond_12
40619 new-instance v6, Ljava/lang/IllegalArgumentException;
40621 const-string v7, "File descriptors passed in Intent"
40623 invoke-direct {v6, v7}, Ljava/lang/IllegalArgumentException;-><init>(Ljava/lang/String;)V
40631 iget-object v6, p0, Lcom/android/server/am/ActivityManagerService;->mController:Landroid/app/IActivityController;
40633 if-eqz v6, :cond_35
40635 iget-object v6, p0, Lcom/android/server/am/ActivityManagerService;->mMainStack:Lcom/android/server/am/ActivityStack;
40639 invoke-virtual {v6, p1, v7}, Lcom/android/server/am/ActivityStack;->topRunningActivityLocked(Landroid/os/IBinder;I)Lcom/android/server/am/ActivityRecord;
40641 .catchall {:try_start_13 .. :try_end_1d} :catchall_32
40643 move-result-object v1
40645 if-eqz v1, :cond_35
40650 iget-object v6, p0, Lcom/android/server/am/ActivityManagerService;->mController:Landroid/app/IActivityController;
40652 iget-object v7, v1, Lcom/android/server/am/ActivityRecord;->packageName:Ljava/lang/String;
40654 invoke-interface {v6, v7}, Landroid/app/IActivityController;->activityResuming(Ljava/lang/String;)Z
40656 .catchall {:try_start_21 .. :try_end_28} :catchall_32
40657 .catch Landroid/os/RemoteException; {:try_start_21 .. :try_end_28} :catch_2d
40662 if-nez v5, :cond_35
40675 iput-object v6, p0, Lcom/android/server/am/ActivityManagerService;->mController:Landroid/app/IActivityController;
40684 .catchall {:try_start_2b .. :try_end_34} :catchall_32
40690 invoke-static {}, Landroid/os/Binder;->clearCallingIdentity()J
40692 move-result-wide v2
40694 iget-object v6, p0, Lcom/android/server/am/ActivityManagerService;->mMainStack:Lcom/android/server/am/ActivityStack;
40696 const-string v7, "app-request"
40698 invoke-virtual {v6, p1, p2, p3, v7}, Lcom/android/server/am/ActivityStack;->requestFinishActivityLocked(Landroid/os/IBinder;ILandroid/content/Intent;Ljava/lang/String;)Z
40702 invoke-static {v2, v3}, Landroid/os/Binder;->restoreCallingIdentity(J)V
40706 .catchall {:try_start_35 .. :try_end_45} :catchall_32
40711 .method public finishActivityAffinity(Landroid/os/IBinder;)Z
40717 invoke-static {}, Landroid/os/Binder;->clearCallingIdentity()J
40719 move-result-wide v0
40721 iget-object v3, p0, Lcom/android/server/am/ActivityManagerService;->mMainStack:Lcom/android/server/am/ActivityStack;
40723 invoke-virtual {v3, p1}, Lcom/android/server/am/ActivityStack;->finishActivityAffinityLocked(Landroid/os/IBinder;)Z
40727 invoke-static {v0, v1}, Landroid/os/Binder;->restoreCallingIdentity(J)V
40738 .catchall {:try_start_1 .. :try_end_12} :catchall_10
40743 .method final finishBooting()V
40746 new-instance v20, Landroid/content/IntentFilter;
40748 invoke-direct/range {v20 .. v20}, Landroid/content/IntentFilter;-><init>()V
40750 const-string v2, "android.intent.action.QUERY_PACKAGE_RESTART"
40752 move-object/from16 v0, v20
40754 invoke-virtual {v0, v2}, Landroid/content/IntentFilter;->addAction(Ljava/lang/String;)V
40756 const-string v2, "package"
40758 move-object/from16 v0, v20
40760 invoke-virtual {v0, v2}, Landroid/content/IntentFilter;->addDataScheme(Ljava/lang/String;)V
40762 move-object/from16 v0, p0
40764 iget-object v2, v0, Lcom/android/server/am/ActivityManagerService;->mContext:Landroid/content/Context;
40766 new-instance v3, Lcom/android/server/am/ActivityManagerService$6;
40768 move-object/from16 v0, p0
40770 invoke-direct {v3, v0}, Lcom/android/server/am/ActivityManagerService$6;-><init>(Lcom/android/server/am/ActivityManagerService;)V
40772 move-object/from16 v0, v20
40774 invoke-virtual {v2, v3, v0}, Landroid/content/Context;->registerReceiver(Landroid/content/BroadcastReceiver;Landroid/content/IntentFilter;)Landroid/content/Intent;
40776 new-instance v22, Landroid/content/IntentFilter;
40778 invoke-direct/range {v22 .. v22}, Landroid/content/IntentFilter;-><init>()V
40780 const-string v2, "android.intent.action.USER_REMOVED"
40782 move-object/from16 v0, v22
40784 invoke-virtual {v0, v2}, Landroid/content/IntentFilter;->addAction(Ljava/lang/String;)V
40786 move-object/from16 v0, p0
40788 iget-object v2, v0, Lcom/android/server/am/ActivityManagerService;->mContext:Landroid/content/Context;
40790 new-instance v3, Lcom/android/server/am/ActivityManagerService$7;
40792 move-object/from16 v0, p0
40794 invoke-direct {v3, v0}, Lcom/android/server/am/ActivityManagerService$7;-><init>(Lcom/android/server/am/ActivityManagerService;)V
40796 move-object/from16 v0, v22
40798 invoke-virtual {v2, v3, v0}, Landroid/content/Context;->registerReceiver(Landroid/content/BroadcastReceiver;Landroid/content/IntentFilter;)Landroid/content/Intent;
40800 move-object/from16 v0, p0
40802 iget-object v2, v0, Lcom/android/server/am/ActivityManagerService;->mContext:Landroid/content/Context;
40804 new-instance v3, Lcom/android/server/am/ActivityManagerService$8;
40806 move-object/from16 v0, p0
40808 invoke-direct {v3, v0}, Lcom/android/server/am/ActivityManagerService$8;-><init>(Lcom/android/server/am/ActivityManagerService;)V
40810 invoke-static {v2, v3}, Lcom/android/internal/app/ThemeUtils;->registerThemeChangeReceiver(Landroid/content/Context;Landroid/content/BroadcastReceiver;)V
40815 move-object/from16 v0, p0
40817 iget-object v2, v0, Lcom/android/server/am/ActivityManagerService;->mProcessesOnHold:Ljava/util/ArrayList;
40819 invoke-virtual {v2}, Ljava/util/ArrayList;->size()I
40823 if-lez v17, :cond_80
40825 new-instance v21, Ljava/util/ArrayList;
40827 move-object/from16 v0, p0
40829 iget-object v2, v0, Lcom/android/server/am/ActivityManagerService;->mProcessesOnHold:Ljava/util/ArrayList;
40831 move-object/from16 v0, v21
40833 invoke-direct {v0, v2}, Ljava/util/ArrayList;-><init>(Ljava/util/Collection;)V
40838 move/from16 v0, v18
40840 move/from16 v1, v17
40842 if-ge v0, v1, :cond_80
40844 move-object/from16 v0, v21
40846 move/from16 v1, v18
40848 invoke-virtual {v0, v1}, Ljava/util/ArrayList;->get(I)Ljava/lang/Object;
40850 move-result-object v2
40852 check-cast v2, Lcom/android/server/am/ProcessRecord;
40854 const-string v3, "on-hold"
40858 move-object/from16 v0, p0
40860 invoke-direct {v0, v2, v3, v4}, Lcom/android/server/am/ActivityManagerService;->startProcessLocked(Lcom/android/server/am/ProcessRecord;Ljava/lang/String;Ljava/lang/String;)V
40862 add-int/lit8 v18, v18, 0x1
40867 move-object/from16 v0, p0
40869 iget v2, v0, Lcom/android/server/am/ActivityManagerService;->mFactoryTest:I
40873 if-eq v2, v3, :cond_cb
40875 move-object/from16 v0, p0
40877 iget-object v2, v0, Lcom/android/server/am/ActivityManagerService;->mHandler:Landroid/os/Handler;
40881 invoke-virtual {v2, v3}, Landroid/os/Handler;->obtainMessage(I)Landroid/os/Message;
40883 move-result-object v19
40885 move-object/from16 v0, p0
40887 iget-object v2, v0, Lcom/android/server/am/ActivityManagerService;->mHandler:Landroid/os/Handler;
40889 const-wide/32 v3, 0xdbba0
40891 move-object/from16 v0, v19
40893 invoke-virtual {v2, v0, v3, v4}, Landroid/os/Handler;->sendMessageDelayed(Landroid/os/Message;J)Z
40895 const-string v2, "sys.boot_completed"
40897 const-string v3, "1"
40899 invoke-static {v2, v3}, Landroid/os/SystemProperties;->set(Ljava/lang/String;Ljava/lang/String;)V
40901 const-string v2, "dev.bootcomplete"
40903 const-string v3, "1"
40905 invoke-static {v2, v3}, Landroid/os/SystemProperties;->set(Ljava/lang/String;Ljava/lang/String;)V
40911 new-instance v5, Landroid/content/Intent;
40913 const-string v2, "android.intent.action.BOOT_COMPLETED"
40917 invoke-direct {v5, v2, v6}, Landroid/content/Intent;-><init>(Ljava/lang/String;Landroid/net/Uri;)V
40929 const-string v11, "android.permission.RECEIVE_BOOT_COMPLETED"
40935 sget v14, Lcom/android/server/am/ActivityManagerService;->MY_PID:I
40937 const/16 v15, 0x3e8
40939 invoke-static {}, Landroid/os/Binder;->getOrigCallingUser()I
40943 move-object/from16 v2, p0
40945 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
40957 .catchall {:try_start_4e .. :try_end_cf} :catchall_cd
40962 .method public final finishHeavyWeightApp()V
40965 const-string v0, "android.permission.FORCE_STOP_PACKAGES"
40967 invoke-virtual {p0, v0}, Lcom/android/server/am/ActivityManagerService;->checkCallingPermission(Ljava/lang/String;)I
40971 if-eqz v0, :cond_44
40973 new-instance v0, Ljava/lang/StringBuilder;
40975 invoke-direct {v0}, Ljava/lang/StringBuilder;-><init>()V
40977 const-string v3, "Permission Denial: finishHeavyWeightApp() from pid="
40979 invoke-virtual {v0, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
40981 move-result-object v0
40983 invoke-static {}, Landroid/os/Binder;->getCallingPid()I
40987 invoke-virtual {v0, v3}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
40989 move-result-object v0
40991 const-string v3, ", uid="
40993 invoke-virtual {v0, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
40995 move-result-object v0
40997 invoke-static {}, Landroid/os/Binder;->getCallingUid()I
41001 invoke-virtual {v0, v3}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
41003 move-result-object v0
41005 const-string v3, " requires "
41007 invoke-virtual {v0, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
41009 move-result-object v0
41011 const-string v3, "android.permission.FORCE_STOP_PACKAGES"
41013 invoke-virtual {v0, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
41015 move-result-object v0
41017 invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
41019 move-result-object v8
41021 const-string v0, "ActivityManager"
41023 invoke-static {v0, v8}, Landroid/util/Slog;->w(Ljava/lang/String;Ljava/lang/String;)I
41025 new-instance v0, Ljava/lang/SecurityException;
41027 invoke-direct {v0, v8}, Ljava/lang/SecurityException;-><init>(Ljava/lang/String;)V
41035 iget-object v0, p0, Lcom/android/server/am/ActivityManagerService;->mHeavyWeightProcess:Lcom/android/server/am/ProcessRecord;
41037 if-nez v0, :cond_4b
41045 new-instance v6, Ljava/util/ArrayList;
41047 iget-object v0, p0, Lcom/android/server/am/ActivityManagerService;->mHeavyWeightProcess:Lcom/android/server/am/ProcessRecord;
41049 iget-object v0, v0, Lcom/android/server/am/ProcessRecord;->activities:Ljava/util/ArrayList;
41051 invoke-direct {v6, v0}, Ljava/util/ArrayList;-><init>(Ljava/util/Collection;)V
41056 invoke-virtual {v6}, Ljava/util/ArrayList;->size()I
41060 if-ge v7, v0, :cond_7b
41062 invoke-virtual {v6, v7}, Ljava/util/ArrayList;->get(I)Ljava/lang/Object;
41064 move-result-object v1
41066 check-cast v1, Lcom/android/server/am/ActivityRecord;
41068 iget-boolean v0, v1, Lcom/android/server/am/ActivityRecord;->finishing:Z
41070 if-nez v0, :cond_78
41072 iget-object v0, p0, Lcom/android/server/am/ActivityManagerService;->mMainStack:Lcom/android/server/am/ActivityStack;
41074 iget-object v3, v1, Lcom/android/server/am/ActivityRecord;->appToken:Landroid/view/IApplicationToken$Stub;
41076 invoke-virtual {v0, v3}, Lcom/android/server/am/ActivityStack;->indexOfTokenLocked(Landroid/os/IBinder;)I
41080 if-ltz v2, :cond_78
41082 iget-object v0, p0, Lcom/android/server/am/ActivityManagerService;->mMainStack:Lcom/android/server/am/ActivityStack;
41088 const-string v5, "finish-heavy"
41090 invoke-virtual/range {v0 .. v5}, Lcom/android/server/am/ActivityStack;->finishActivityLocked(Lcom/android/server/am/ActivityRecord;IILandroid/content/Intent;Ljava/lang/String;)Z
41093 add-int/lit8 v7, v7, 0x1
41100 iput-object v0, p0, Lcom/android/server/am/ActivityManagerService;->mHeavyWeightProcess:Lcom/android/server/am/ProcessRecord;
41102 iget-object v0, p0, Lcom/android/server/am/ActivityManagerService;->mHandler:Landroid/os/Handler;
41106 invoke-virtual {v0, v3}, Landroid/os/Handler;->sendEmptyMessage(I)Z
41117 .catchall {:try_start_45 .. :try_end_89} :catchall_87
41122 .method public finishInstrumentation(Landroid/app/IApplicationThread;ILandroid/os/Bundle;)V
41125 invoke-static {}, Landroid/os/UserId;->getCallingUserId()I
41129 if-eqz p3, :cond_14
41131 invoke-virtual {p3}, Landroid/os/Bundle;->hasFileDescriptors()Z
41135 if-eqz v4, :cond_14
41137 new-instance v4, Ljava/lang/IllegalArgumentException;
41139 const-string v5, "File descriptors passed in Intent"
41141 invoke-direct {v4, v5}, Ljava/lang/IllegalArgumentException;-><init>(Ljava/lang/String;)V
41149 invoke-virtual {p0, p1}, Lcom/android/server/am/ActivityManagerService;->getRecordForAppLocked(Landroid/app/IApplicationThread;)Lcom/android/server/am/ProcessRecord;
41151 move-result-object v0
41153 if-nez v0, :cond_35
41155 const-string v4, "ActivityManager"
41157 new-instance v5, Ljava/lang/StringBuilder;
41159 invoke-direct {v5}, Ljava/lang/StringBuilder;-><init>()V
41161 const-string v6, "finishInstrumentation: no app for "
41163 invoke-virtual {v5, v6}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
41165 move-result-object v5
41167 invoke-virtual {v5, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
41169 move-result-object v5
41171 invoke-virtual {v5}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
41173 move-result-object v5
41175 invoke-static {v4, v5}, Landroid/util/Slog;->w(Ljava/lang/String;Ljava/lang/String;)I
41183 invoke-static {}, Landroid/os/Binder;->clearCallingIdentity()J
41185 move-result-wide v1
41187 invoke-virtual {p0, v0, p2, p3}, Lcom/android/server/am/ActivityManagerService;->finishInstrumentationLocked(Lcom/android/server/am/ProcessRecord;ILandroid/os/Bundle;)V
41189 invoke-static {v1, v2}, Landroid/os/Binder;->restoreCallingIdentity(J)V
41200 .catchall {:try_start_15 .. :try_end_43} :catchall_41
41205 .method finishInstrumentationLocked(Lcom/android/server/am/ProcessRecord;ILandroid/os/Bundle;)V
41214 iget-object v0, p1, Lcom/android/server/am/ProcessRecord;->instrumentationWatcher:Landroid/app/IInstrumentationWatcher;
41219 iget-object v0, p1, Lcom/android/server/am/ProcessRecord;->instrumentationWatcher:Landroid/app/IInstrumentationWatcher;
41221 iget-object v1, p1, Lcom/android/server/am/ProcessRecord;->instrumentationClass:Landroid/content/ComponentName;
41223 invoke-interface {v0, v1, p2, p3}, Landroid/app/IInstrumentationWatcher;->instrumentationFinished(Landroid/content/ComponentName;ILandroid/os/Bundle;)V
41225 .catch Landroid/os/RemoteException; {:try_start_7 .. :try_end_e} :catch_24
41229 iput-object v2, p1, Lcom/android/server/am/ProcessRecord;->instrumentationWatcher:Landroid/app/IInstrumentationWatcher;
41231 iput-object v2, p1, Lcom/android/server/am/ProcessRecord;->instrumentationClass:Landroid/content/ComponentName;
41233 iput-object v2, p1, Lcom/android/server/am/ProcessRecord;->instrumentationInfo:Landroid/content/pm/ApplicationInfo;
41235 iput-object v2, p1, Lcom/android/server/am/ProcessRecord;->instrumentationProfileFile:Ljava/lang/String;
41237 iput-object v2, p1, Lcom/android/server/am/ProcessRecord;->instrumentationArguments:Landroid/os/Bundle;
41239 iget-object v1, p1, Lcom/android/server/am/ProcessRecord;->processName:Ljava/lang/String;
41243 iget v7, p1, Lcom/android/server/am/ProcessRecord;->userId:I
41251 invoke-direct/range {v0 .. v7}, Lcom/android/server/am/ActivityManagerService;->forceStopPackageLocked(Ljava/lang/String;IZZZZI)Z
41261 .method public finishReceiver(Landroid/os/IBinder;ILjava/lang/String;Landroid/os/Bundle;Z)V
41264 if-eqz p4, :cond_10
41266 invoke-virtual {p4}, Landroid/os/Bundle;->hasFileDescriptors()Z
41270 if-eqz v0, :cond_10
41272 new-instance v0, Ljava/lang/IllegalArgumentException;
41274 const-string v2, "File descriptors passed in Bundle"
41276 invoke-direct {v0, v2}, Ljava/lang/IllegalArgumentException;-><init>(Ljava/lang/String;)V
41281 invoke-static {}, Landroid/os/Binder;->clearCallingIdentity()J
41283 move-result-wide v8
41292 .catchall {:try_start_16 .. :try_end_17} :catchall_3b
41295 invoke-virtual {p0, p1}, Lcom/android/server/am/ActivityManagerService;->broadcastRecordForReceiverLocked(Landroid/os/IBinder;)Lcom/android/server/am/BroadcastRecord;
41297 move-result-object v1
41299 if-eqz v1, :cond_28
41301 iget-object v0, v1, Lcom/android/server/am/BroadcastRecord;->queue:Lcom/android/server/am/BroadcastQueue;
41313 invoke-virtual/range {v0 .. v6}, Lcom/android/server/am/BroadcastQueue;->finishReceiverLocked(Lcom/android/server/am/BroadcastRecord;ILjava/lang/String;Landroid/os/Bundle;ZZ)Z
41320 .catchall {:try_start_17 .. :try_end_29} :catchall_38
41322 if-eqz v7, :cond_31
41325 iget-object v0, v1, Lcom/android/server/am/BroadcastRecord;->queue:Lcom/android/server/am/BroadcastQueue;
41329 invoke-virtual {v0, v2}, Lcom/android/server/am/BroadcastQueue;->processNextBroadcast(Z)V
41332 invoke-virtual {p0}, Lcom/android/server/am/ActivityManagerService;->trimApplications()V
41334 .catchall {:try_start_2b .. :try_end_34} :catchall_3b
41336 invoke-static {v8, v9}, Landroid/os/Binder;->restoreCallingIdentity(J)V
41346 .catchall {:try_start_39 .. :try_end_3a} :catchall_38
41351 .catchall {:try_start_3a .. :try_end_3b} :catchall_3b
41356 invoke-static {v8, v9}, Landroid/os/Binder;->restoreCallingIdentity(J)V
41361 .method public final finishSubActivity(Landroid/os/IBinder;Ljava/lang/String;I)V
41367 invoke-static {}, Landroid/os/Binder;->clearCallingIdentity()J
41369 move-result-wide v0
41371 iget-object v2, p0, Lcom/android/server/am/ActivityManagerService;->mMainStack:Lcom/android/server/am/ActivityStack;
41373 invoke-virtual {v2, p1, p2, p3}, Lcom/android/server/am/ActivityStack;->finishSubActivityLocked(Landroid/os/IBinder;Ljava/lang/String;I)V
41375 invoke-static {v0, v1}, Landroid/os/Binder;->restoreCallingIdentity(J)V
41386 .catchall {:try_start_1 .. :try_end_11} :catchall_f
41391 .method public forceStopPackage(Ljava/lang/String;)V
41394 const-string v7, "android.permission.FORCE_STOP_PACKAGES"
41396 invoke-virtual {p0, v7}, Lcom/android/server/am/ActivityManagerService;->checkCallingPermission(Ljava/lang/String;)I
41400 if-eqz v7, :cond_44
41402 new-instance v7, Ljava/lang/StringBuilder;
41404 invoke-direct {v7}, Ljava/lang/StringBuilder;-><init>()V
41406 const-string v8, "Permission Denial: forceStopPackage() from pid="
41408 invoke-virtual {v7, v8}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
41410 move-result-object v7
41412 invoke-static {}, Landroid/os/Binder;->getCallingPid()I
41416 invoke-virtual {v7, v8}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
41418 move-result-object v7
41420 const-string v8, ", uid="
41422 invoke-virtual {v7, v8}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
41424 move-result-object v7
41426 invoke-static {}, Landroid/os/Binder;->getCallingUid()I
41430 invoke-virtual {v7, v8}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
41432 move-result-object v7
41434 const-string v8, " requires "
41436 invoke-virtual {v7, v8}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
41438 move-result-object v7
41440 const-string v8, "android.permission.FORCE_STOP_PACKAGES"
41442 invoke-virtual {v7, v8}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
41444 move-result-object v7
41446 invoke-virtual {v7}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
41448 move-result-object v3
41450 const-string v7, "ActivityManager"
41452 invoke-static {v7, v3}, Landroid/util/Slog;->w(Ljava/lang/String;Ljava/lang/String;)I
41454 new-instance v7, Ljava/lang/SecurityException;
41456 invoke-direct {v7, v3}, Ljava/lang/SecurityException;-><init>(Ljava/lang/String;)V
41461 invoke-static {}, Landroid/os/UserId;->getCallingUserId()I
41465 invoke-static {}, Landroid/os/Binder;->clearCallingIdentity()J
41467 move-result-wide v0
41470 invoke-static {}, Landroid/app/AppGlobals;->getPackageManager()Landroid/content/pm/IPackageManager;
41472 move-result-object v5
41478 .catchall {:try_start_4c .. :try_end_52} :catchall_82
41481 invoke-interface {v5, p1, v6}, Landroid/content/pm/IPackageManager;->getPackageUid(Ljava/lang/String;I)I
41483 .catchall {:try_start_52 .. :try_end_55} :catchall_7f
41484 .catch Landroid/os/RemoteException; {:try_start_52 .. :try_end_55} :catch_ab
41491 if-ne v4, v7, :cond_76
41494 const-string v7, "ActivityManager"
41496 new-instance v8, Ljava/lang/StringBuilder;
41498 invoke-direct {v8}, Ljava/lang/StringBuilder;-><init>()V
41500 const-string v9, "Invalid packageName: "
41502 invoke-virtual {v8, v9}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
41504 move-result-object v8
41506 invoke-virtual {v8, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
41508 move-result-object v8
41510 invoke-virtual {v8}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
41512 move-result-object v8
41514 invoke-static {v7, v8}, Landroid/util/Slog;->w(Ljava/lang/String;Ljava/lang/String;)I
41518 .catchall {:try_start_59 .. :try_end_72} :catchall_7f
41521 invoke-static {v0, v1}, Landroid/os/Binder;->restoreCallingIdentity(J)V
41527 invoke-direct {p0, p1, v4}, Lcom/android/server/am/ActivityManagerService;->forceStopPackageLocked(Ljava/lang/String;I)V
41529 .catchall {:try_start_76 .. :try_end_79} :catchall_7f
41534 invoke-interface {v5, p1, v7, v6}, Landroid/content/pm/IPackageManager;->setPackageStoppedState(Ljava/lang/String;ZI)V
41536 .catchall {:try_start_7a .. :try_end_7d} :catchall_7f
41537 .catch Landroid/os/RemoteException; {:try_start_7a .. :try_end_7d} :catch_ad
41538 .catch Ljava/lang/IllegalArgumentException; {:try_start_7a .. :try_end_7d} :catch_87
41551 .catchall {:try_start_7d .. :try_end_81} :catchall_7f
41556 .catchall {:try_start_81 .. :try_end_82} :catchall_82
41561 invoke-static {v0, v1}, Landroid/os/Binder;->restoreCallingIdentity(J)V
41569 const-string v7, "ActivityManager"
41571 new-instance v8, Ljava/lang/StringBuilder;
41573 invoke-direct {v8}, Ljava/lang/StringBuilder;-><init>()V
41575 const-string v9, "Failed trying to unstop package "
41577 invoke-virtual {v8, v9}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
41579 move-result-object v8
41581 invoke-virtual {v8, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
41583 move-result-object v8
41585 const-string v9, ": "
41587 invoke-virtual {v8, v9}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
41589 move-result-object v8
41591 invoke-virtual {v8, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
41593 move-result-object v8
41595 invoke-virtual {v8}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
41597 move-result-object v8
41599 invoke-static {v7, v8}, Landroid/util/Slog;->w(Ljava/lang/String;Ljava/lang/String;)I
41601 .catchall {:try_start_88 .. :try_end_aa} :catchall_7f
41616 .method foregroundTokenDied(Lcom/android/server/am/ActivityManagerService$ForegroundToken;)V
41622 iget-object v3, p0, Lcom/android/server/am/ActivityManagerService;->mPidsSelfLocked:Landroid/util/SparseArray;
41626 .catchall {:try_start_1 .. :try_end_4} :catchall_29
41629 iget-object v2, p0, Lcom/android/server/am/ActivityManagerService;->mForegroundProcesses:Landroid/util/SparseArray;
41631 iget v4, p1, Lcom/android/server/am/ActivityManagerService$ForegroundToken;->pid:I
41633 invoke-virtual {v2, v4}, Landroid/util/SparseArray;->get(I)Ljava/lang/Object;
41635 move-result-object v0
41637 check-cast v0, Lcom/android/server/am/ActivityManagerService$ForegroundToken;
41639 if-eq v0, p1, :cond_13
41643 .catchall {:try_start_4 .. :try_end_11} :catchall_38
41648 .catchall {:try_start_11 .. :try_end_12} :catchall_29
41655 iget-object v2, p0, Lcom/android/server/am/ActivityManagerService;->mForegroundProcesses:Landroid/util/SparseArray;
41657 iget v4, p1, Lcom/android/server/am/ActivityManagerService$ForegroundToken;->pid:I
41659 invoke-virtual {v2, v4}, Landroid/util/SparseArray;->remove(I)V
41661 iget-object v2, p0, Lcom/android/server/am/ActivityManagerService;->mPidsSelfLocked:Landroid/util/SparseArray;
41663 iget v4, p1, Lcom/android/server/am/ActivityManagerService$ForegroundToken;->pid:I
41665 invoke-virtual {v2, v4}, Landroid/util/SparseArray;->get(I)Ljava/lang/Object;
41667 move-result-object v1
41669 check-cast v1, Lcom/android/server/am/ProcessRecord;
41671 if-nez v1, :cond_2c
41675 .catchall {:try_start_13 .. :try_end_27} :catchall_38
41687 .catchall {:try_start_27 .. :try_end_2b} :catchall_29
41695 iput-object v2, v1, Lcom/android/server/am/ProcessRecord;->forcingToForeground:Landroid/os/IBinder;
41699 iput-boolean v2, v1, Lcom/android/server/am/ProcessRecord;->foregroundServices:Z
41703 .catchall {:try_start_2d .. :try_end_33} :catchall_38
41706 invoke-virtual {p0}, Lcom/android/server/am/ActivityManagerService;->updateOomAdjLocked()V
41710 .catchall {:try_start_33 .. :try_end_37} :catchall_29
41720 .catchall {:try_start_39 .. :try_end_3a} :catchall_38
41725 .catchall {:try_start_3a .. :try_end_3b} :catchall_29
41728 .method public getActivityClassForToken(Landroid/os/IBinder;)Landroid/content/ComponentName;
41734 iget-object v1, p0, Lcom/android/server/am/ActivityManagerService;->mMainStack:Lcom/android/server/am/ActivityStack;
41736 invoke-virtual {v1, p1}, Lcom/android/server/am/ActivityStack;->isInStackLocked(Landroid/os/IBinder;)Lcom/android/server/am/ActivityRecord;
41738 move-result-object v0
41750 iget-object v1, v0, Lcom/android/server/am/ActivityRecord;->intent:Landroid/content/Intent;
41752 invoke-virtual {v1}, Landroid/content/Intent;->getComponent()Landroid/content/ComponentName;
41754 move-result-object v1
41765 .catchall {:try_start_1 .. :try_end_16} :catchall_14
41770 .method getActivityInfoForUser(Landroid/content/pm/ActivityInfo;I)Landroid/content/pm/ActivityInfo;
41777 if-ge p2, v1, :cond_10
41779 iget-object v1, p1, Landroid/content/pm/ActivityInfo;->applicationInfo:Landroid/content/pm/ApplicationInfo;
41781 iget v1, v1, Landroid/content/pm/ApplicationInfo;->uid:I
41785 if-ge v1, v2, :cond_10
41794 new-instance v0, Landroid/content/pm/ActivityInfo;
41796 invoke-direct {v0, p1}, Landroid/content/pm/ActivityInfo;-><init>(Landroid/content/pm/ActivityInfo;)V
41798 iget-object v1, v0, Landroid/content/pm/ActivityInfo;->applicationInfo:Landroid/content/pm/ApplicationInfo;
41800 invoke-direct {p0, v1, p2}, Lcom/android/server/am/ActivityManagerService;->getAppInfoForUser(Landroid/content/pm/ApplicationInfo;I)Landroid/content/pm/ApplicationInfo;
41802 move-result-object v1
41804 iput-object v1, v0, Landroid/content/pm/ActivityInfo;->applicationInfo:Landroid/content/pm/ApplicationInfo;
41809 .method public getCallingActivity(Landroid/os/IBinder;)Landroid/content/ComponentName;
41815 invoke-direct {p0, p1}, Lcom/android/server/am/ActivityManagerService;->getCallingRecordLocked(Landroid/os/IBinder;)Lcom/android/server/am/ActivityRecord;
41817 move-result-object v0
41821 iget-object v1, v0, Lcom/android/server/am/ActivityRecord;->intent:Landroid/content/Intent;
41823 invoke-virtual {v1}, Landroid/content/Intent;->getComponent()Landroid/content/ComponentName;
41825 move-result-object v1
41842 .catchall {:try_start_1 .. :try_end_13} :catchall_11
41847 .method public getCallingPackage(Landroid/os/IBinder;)Ljava/lang/String;
41853 invoke-direct {p0, p1}, Lcom/android/server/am/ActivityManagerService;->getCallingRecordLocked(Landroid/os/IBinder;)Lcom/android/server/am/ActivityRecord;
41855 move-result-object v0
41857 if-eqz v0, :cond_11
41859 iget-object v1, v0, Lcom/android/server/am/ActivityRecord;->app:Lcom/android/server/am/ProcessRecord;
41861 if-eqz v1, :cond_11
41863 iget-object v1, v0, Lcom/android/server/am/ActivityRecord;->info:Landroid/content/pm/ActivityInfo;
41865 iget-object v1, v1, Landroid/content/pm/ActivityInfo;->packageName:Ljava/lang/String;
41882 .catchall {:try_start_1 .. :try_end_15} :catchall_13
41887 .method public getConfiguration()Landroid/content/res/Configuration;
41893 new-instance v0, Landroid/content/res/Configuration;
41895 iget-object v1, p0, Lcom/android/server/am/ActivityManagerService;->mConfiguration:Landroid/content/res/Configuration;
41897 invoke-direct {v0, v1}, Landroid/content/res/Configuration;-><init>(Landroid/content/res/Configuration;)V
41908 .catchall {:try_start_1 .. :try_end_c} :catchall_a
41913 .method public final getContentProvider(Landroid/app/IApplicationThread;Ljava/lang/String;Z)Landroid/app/IActivityManager$ContentProviderHolder;
41916 const-string v1, "getContentProvider"
41918 invoke-virtual {p0, v1}, Lcom/android/server/am/ActivityManagerService;->enforceNotIsolatedCaller(Ljava/lang/String;)V
41920 if-nez p1, :cond_25
41922 new-instance v1, Ljava/lang/StringBuilder;
41924 invoke-direct {v1}, Ljava/lang/StringBuilder;-><init>()V
41926 const-string v2, "null IApplicationThread when getting content provider "
41928 invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
41930 move-result-object v1
41932 invoke-virtual {v1, p2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
41934 move-result-object v1
41936 invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
41938 move-result-object v0
41940 const-string v1, "ActivityManager"
41942 invoke-static {v1, v0}, Landroid/util/Slog;->w(Ljava/lang/String;Ljava/lang/String;)I
41944 new-instance v1, Ljava/lang/SecurityException;
41946 invoke-direct {v1, v0}, Ljava/lang/SecurityException;-><init>(Ljava/lang/String;)V
41953 invoke-direct {p0, p1, p2, v1, p3}, Lcom/android/server/am/ActivityManagerService;->getContentProviderImpl(Landroid/app/IApplicationThread;Ljava/lang/String;Landroid/os/IBinder;Z)Landroid/app/IActivityManager$ContentProviderHolder;
41955 move-result-object v1
41960 .method public getContentProviderExternal(Ljava/lang/String;Landroid/os/IBinder;)Landroid/app/IActivityManager$ContentProviderHolder;
41963 const-string v0, "android.permission.ACCESS_CONTENT_PROVIDERS_EXTERNALLY"
41965 const-string v1, "Do not have permission in call getContentProviderExternal()"
41967 invoke-virtual {p0, v0, v1}, Lcom/android/server/am/ActivityManagerService;->enforceCallingPermission(Ljava/lang/String;Ljava/lang/String;)V
41969 invoke-direct {p0, p1, p2}, Lcom/android/server/am/ActivityManagerService;->getContentProviderExternalUnchecked(Ljava/lang/String;Landroid/os/IBinder;)Landroid/app/IActivityManager$ContentProviderHolder;
41971 move-result-object v0
41976 .method public getCurrentUser()Landroid/content/pm/UserInfo;
41978 .annotation system Ldalvik/annotation/Throws;
41980 Landroid/os/RemoteException;
41984 invoke-static {}, Landroid/os/Binder;->getCallingUid()I
41988 if-eqz v0, :cond_15
41990 invoke-static {}, Landroid/os/Process;->myUid()I
41994 if-eq v0, v1, :cond_15
41996 const-string v1, "ActivityManager"
41998 const-string v2, "Trying to get user from unauthorized app"
42000 invoke-static {v1, v2}, Landroid/util/Slog;->e(Ljava/lang/String;Ljava/lang/String;)I
42008 invoke-static {}, Landroid/app/AppGlobals;->getPackageManager()Landroid/content/pm/IPackageManager;
42010 move-result-object v1
42012 iget v2, p0, Lcom/android/server/am/ActivityManagerService;->mCurrentUserId:I
42014 invoke-interface {v1, v2}, Landroid/content/pm/IPackageManager;->getUser(I)Landroid/content/pm/UserInfo;
42016 move-result-object v1
42021 .method public getDeviceConfigurationInfo()Landroid/content/pm/ConfigurationInfo;
42024 new-instance v0, Landroid/content/pm/ConfigurationInfo;
42026 invoke-direct {v0}, Landroid/content/pm/ConfigurationInfo;-><init>()V
42031 iget-object v1, p0, Lcom/android/server/am/ActivityManagerService;->mConfiguration:Landroid/content/res/Configuration;
42033 iget v1, v1, Landroid/content/res/Configuration;->touchscreen:I
42035 iput v1, v0, Landroid/content/pm/ConfigurationInfo;->reqTouchScreen:I
42037 iget-object v1, p0, Lcom/android/server/am/ActivityManagerService;->mConfiguration:Landroid/content/res/Configuration;
42039 iget v1, v1, Landroid/content/res/Configuration;->keyboard:I
42041 iput v1, v0, Landroid/content/pm/ConfigurationInfo;->reqKeyboardType:I
42043 iget-object v1, p0, Lcom/android/server/am/ActivityManagerService;->mConfiguration:Landroid/content/res/Configuration;
42045 iget v1, v1, Landroid/content/res/Configuration;->navigation:I
42047 iput v1, v0, Landroid/content/pm/ConfigurationInfo;->reqNavigation:I
42049 iget-object v1, p0, Lcom/android/server/am/ActivityManagerService;->mConfiguration:Landroid/content/res/Configuration;
42051 iget v1, v1, Landroid/content/res/Configuration;->navigation:I
42055 if-eq v1, v2, :cond_26
42057 iget-object v1, p0, Lcom/android/server/am/ActivityManagerService;->mConfiguration:Landroid/content/res/Configuration;
42059 iget v1, v1, Landroid/content/res/Configuration;->navigation:I
42063 if-ne v1, v2, :cond_2c
42066 iget v1, v0, Landroid/content/pm/ConfigurationInfo;->reqInputFeatures:I
42068 or-int/lit8 v1, v1, 0x2
42070 iput v1, v0, Landroid/content/pm/ConfigurationInfo;->reqInputFeatures:I
42073 iget-object v1, p0, Lcom/android/server/am/ActivityManagerService;->mConfiguration:Landroid/content/res/Configuration;
42075 iget v1, v1, Landroid/content/res/Configuration;->keyboard:I
42077 if-eqz v1, :cond_3f
42079 iget-object v1, p0, Lcom/android/server/am/ActivityManagerService;->mConfiguration:Landroid/content/res/Configuration;
42081 iget v1, v1, Landroid/content/res/Configuration;->keyboard:I
42085 if-eq v1, v2, :cond_3f
42087 iget v1, v0, Landroid/content/pm/ConfigurationInfo;->reqInputFeatures:I
42089 or-int/lit8 v1, v1, 0x1
42091 iput v1, v0, Landroid/content/pm/ConfigurationInfo;->reqInputFeatures:I
42094 iget v1, p0, Lcom/android/server/am/ActivityManagerService;->GL_ES_VERSION:I
42096 iput v1, v0, Landroid/content/pm/ConfigurationInfo;->reqGlEsVersion:I
42107 .catchall {:try_start_6 .. :try_end_47} :catchall_45
42112 .method public getFrontActivityScreenCompatMode()I
42115 const-string v0, "getFrontActivityScreenCompatMode"
42117 invoke-virtual {p0, v0}, Lcom/android/server/am/ActivityManagerService;->enforceNotIsolatedCaller(Ljava/lang/String;)V
42122 iget-object v0, p0, Lcom/android/server/am/ActivityManagerService;->mCompatModePackages:Lcom/android/server/am/CompatModePackages;
42124 invoke-virtual {v0}, Lcom/android/server/am/CompatModePackages;->getFrontActivityScreenCompatModeLocked()I
42137 .catchall {:try_start_6 .. :try_end_10} :catchall_e
42142 .method public getIntentSender(ILjava/lang/String;Landroid/os/IBinder;Ljava/lang/String;I[Landroid/content/Intent;[Ljava/lang/String;ILandroid/os/Bundle;)Landroid/content/IIntentSender;
42145 const-string v1, "getIntentSender"
42147 move-object/from16 v0, p0
42149 invoke-virtual {v0, v1}, Lcom/android/server/am/ActivityManagerService;->enforceNotIsolatedCaller(Ljava/lang/String;)V
42151 if-eqz p6, :cond_61
42153 move-object/from16 v0, p6
42155 array-length v1, v0
42159 if-ge v1, v2, :cond_17
42161 new-instance v1, Ljava/lang/IllegalArgumentException;
42163 const-string v2, "Intents array length must be >= 1"
42165 invoke-direct {v1, v2}, Ljava/lang/IllegalArgumentException;-><init>(Ljava/lang/String;)V
42173 move-object/from16 v0, p6
42175 array-length v1, v0
42177 if-ge v14, v1, :cond_4f
42179 aget-object v15, p6, v14
42181 if-eqz v15, :cond_4c
42183 invoke-virtual {v15}, Landroid/content/Intent;->hasFileDescriptors()Z
42187 if-eqz v1, :cond_2f
42189 new-instance v1, Ljava/lang/IllegalArgumentException;
42191 const-string v2, "File descriptors passed in Intent"
42193 invoke-direct {v1, v2}, Ljava/lang/IllegalArgumentException;-><init>(Ljava/lang/String;)V
42202 if-ne v0, v1, :cond_45
42204 invoke-virtual {v15}, Landroid/content/Intent;->getFlags()I
42208 const/high16 v2, 0x400
42210 and-int/2addr v1, v2
42212 if-eqz v1, :cond_45
42214 new-instance v1, Ljava/lang/IllegalArgumentException;
42216 const-string v2, "Can\'t use FLAG_RECEIVER_BOOT_UPGRADE here"
42218 invoke-direct {v1, v2}, Ljava/lang/IllegalArgumentException;-><init>(Ljava/lang/String;)V
42223 new-instance v1, Landroid/content/Intent;
42225 invoke-direct {v1, v15}, Landroid/content/Intent;-><init>(Landroid/content/Intent;)V
42227 aput-object v1, p6, v14
42230 add-int/lit8 v14, v14, 0x1
42235 if-eqz p7, :cond_61
42237 move-object/from16 v0, p7
42239 array-length v1, v0
42241 move-object/from16 v0, p6
42243 array-length v2, v0
42245 if-eq v1, v2, :cond_61
42247 new-instance v1, Ljava/lang/IllegalArgumentException;
42249 const-string v2, "Intent array length does not match resolvedTypes length"
42251 invoke-direct {v1, v2}, Ljava/lang/IllegalArgumentException;-><init>(Ljava/lang/String;)V
42256 if-eqz p9, :cond_71
42258 invoke-virtual/range {p9 .. p9}, Landroid/os/Bundle;->hasFileDescriptors()Z
42262 if-eqz v1, :cond_71
42264 new-instance v1, Ljava/lang/IllegalArgumentException;
42266 const-string v2, "File descriptors passed in options"
42268 invoke-direct {v1, v2}, Ljava/lang/IllegalArgumentException;-><init>(Ljava/lang/String;)V
42276 invoke-static {}, Landroid/os/Binder;->getCallingUid()I
42278 .catchall {:try_start_72 .. :try_end_75} :catchall_eb
42282 if-eqz v12, :cond_ee
42286 if-eq v12, v1, :cond_ee
42289 invoke-static {}, Landroid/app/AppGlobals;->getPackageManager()Landroid/content/pm/IPackageManager;
42291 move-result-object v1
42293 invoke-static {v12}, Landroid/os/UserId;->getUserId(I)I
42297 move-object/from16 v0, p2
42299 invoke-interface {v1, v0, v2}, Landroid/content/pm/IPackageManager;->getPackageUid(Ljava/lang/String;I)I
42303 move/from16 v0, v17
42305 invoke-static {v12, v0}, Landroid/os/UserId;->isSameApp(II)Z
42309 if-nez v1, :cond_ee
42311 new-instance v1, Ljava/lang/StringBuilder;
42313 invoke-direct {v1}, Ljava/lang/StringBuilder;-><init>()V
42315 const-string v2, "Permission Denial: getIntentSender() from pid="
42317 invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
42319 move-result-object v1
42321 invoke-static {}, Landroid/os/Binder;->getCallingPid()I
42325 invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
42327 move-result-object v1
42329 const-string v2, ", uid="
42331 invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
42333 move-result-object v1
42335 invoke-static {}, Landroid/os/Binder;->getCallingUid()I
42339 invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
42341 move-result-object v1
42343 const-string v2, ", (need uid="
42345 invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
42347 move-result-object v1
42349 move/from16 v0, v17
42351 invoke-virtual {v1, v0}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
42353 move-result-object v1
42355 const-string v2, ")"
42357 invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
42359 move-result-object v1
42361 const-string v2, " is not allowed to send as package "
42363 invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
42365 move-result-object v1
42367 move-object/from16 v0, p2
42369 invoke-virtual {v1, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
42371 move-result-object v1
42373 invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
42375 move-result-object v16
42377 const-string v1, "ActivityManager"
42379 move-object/from16 v0, v16
42381 invoke-static {v1, v0}, Landroid/util/Slog;->w(Ljava/lang/String;Ljava/lang/String;)I
42383 new-instance v1, Ljava/lang/SecurityException;
42385 move-object/from16 v0, v16
42387 invoke-direct {v1, v0}, Ljava/lang/SecurityException;-><init>(Ljava/lang/String;)V
42391 .catchall {:try_start_7c .. :try_end_e4} :catchall_eb
42392 .catch Landroid/os/RemoteException; {:try_start_7c .. :try_end_e4} :catch_e4
42398 new-instance v1, Ljava/lang/SecurityException;
42400 invoke-direct {v1, v13}, Ljava/lang/SecurityException;-><init>(Ljava/lang/Throwable;)V
42409 .catchall {:try_start_e5 .. :try_end_ed} :catchall_eb
42415 invoke-static {}, Landroid/os/Binder;->getOrigCallingUid()I
42419 move-object/from16 v1, p0
42423 move-object/from16 v3, p2
42425 move-object/from16 v5, p3
42427 move-object/from16 v6, p4
42431 move-object/from16 v8, p6
42433 move-object/from16 v9, p7
42435 move/from16 v10, p8
42437 move-object/from16 v11, p9
42439 invoke-virtual/range {v1 .. v11}, Lcom/android/server/am/ActivityManagerService;->getIntentSenderLocked(ILjava/lang/String;ILandroid/os/IBinder;Ljava/lang/String;I[Landroid/content/Intent;[Ljava/lang/String;ILandroid/os/Bundle;)Landroid/content/IIntentSender;
42441 .catchall {:try_start_ee .. :try_end_109} :catchall_eb
42442 .catch Landroid/os/RemoteException; {:try_start_ee .. :try_end_109} :catch_e4
42444 move-result-object v1
42449 .catchall {:try_start_10a .. :try_end_10b} :catchall_eb
42454 .method getIntentSenderLocked(ILjava/lang/String;ILandroid/os/IBinder;Ljava/lang/String;I[Landroid/content/Intent;[Ljava/lang/String;ILandroid/os/Bundle;)Landroid/content/IIntentSender;
42463 if-ne v0, v3, :cond_1a
42465 move-object/from16 v0, p0
42467 iget-object v3, v0, Lcom/android/server/am/ActivityManagerService;->mMainStack:Lcom/android/server/am/ActivityStack;
42469 move-object/from16 v0, p4
42471 invoke-virtual {v3, v0}, Lcom/android/server/am/ActivityStack;->isInStackLocked(Landroid/os/IBinder;)Lcom/android/server/am/ActivityRecord;
42473 move-result-object v5
42475 if-nez v5, :cond_14
42484 iget-boolean v3, v5, Lcom/android/server/am/ActivityRecord;->finishing:Z
42486 if-eqz v3, :cond_1a
42493 const/high16 v3, 0x2000
42497 if-eqz v3, :cond_93
42502 const/high16 v3, 0x1000
42506 if-eqz v3, :cond_95
42511 const/high16 v3, 0x800
42515 if-eqz v3, :cond_97
42520 const v3, -0x38000001
42524 new-instance v2, Lcom/android/server/am/PendingIntentRecord$Key;
42528 move-object/from16 v4, p2
42530 move-object/from16 v6, p5
42534 move-object/from16 v8, p7
42536 move-object/from16 v9, p8
42538 move/from16 v10, p9
42540 move-object/from16 v11, p10
42542 invoke-direct/range {v2 .. v11}, 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;)V
42544 move-object/from16 v0, p0
42546 iget-object v3, v0, Lcom/android/server/am/ActivityManagerService;->mIntentSenderRecords:Ljava/util/HashMap;
42548 invoke-virtual {v3, v2}, Ljava/util/HashMap;->get(Ljava/lang/Object;)Ljava/lang/Object;
42550 move-result-object v15
42552 check-cast v15, Ljava/lang/ref/WeakReference;
42554 if-eqz v15, :cond_9a
42556 invoke-virtual {v15}, Ljava/lang/ref/WeakReference;->get()Ljava/lang/Object;
42558 move-result-object v3
42560 check-cast v3, Lcom/android/server/am/PendingIntentRecord;
42562 move-object v14, v3
42565 if-eqz v14, :cond_b4
42567 if-nez v12, :cond_aa
42569 if-eqz v16, :cond_13
42571 iget-object v3, v14, Lcom/android/server/am/PendingIntentRecord;->key:Lcom/android/server/am/PendingIntentRecord$Key;
42573 iget-object v3, v3, Lcom/android/server/am/PendingIntentRecord$Key;->requestIntent:Landroid/content/Intent;
42575 if-eqz v3, :cond_79
42577 iget-object v3, v14, Lcom/android/server/am/PendingIntentRecord;->key:Lcom/android/server/am/PendingIntentRecord$Key;
42579 iget-object v4, v3, Lcom/android/server/am/PendingIntentRecord$Key;->requestIntent:Landroid/content/Intent;
42581 if-eqz p7, :cond_9c
42583 move-object/from16 v0, p7
42585 array-length v3, v0
42587 add-int/lit8 v3, v3, -0x1
42589 aget-object v3, p7, v3
42592 invoke-virtual {v4, v3}, Landroid/content/Intent;->replaceExtras(Landroid/content/Intent;)Landroid/content/Intent;
42595 if-eqz p7, :cond_9e
42597 move-object/from16 v0, p7
42599 array-length v3, v0
42601 add-int/lit8 v3, v3, -0x1
42603 iget-object v4, v14, Lcom/android/server/am/PendingIntentRecord;->key:Lcom/android/server/am/PendingIntentRecord$Key;
42605 iget-object v4, v4, Lcom/android/server/am/PendingIntentRecord$Key;->requestIntent:Landroid/content/Intent;
42607 aput-object v4, p7, v3
42609 iget-object v3, v14, Lcom/android/server/am/PendingIntentRecord;->key:Lcom/android/server/am/PendingIntentRecord$Key;
42611 move-object/from16 v0, p7
42613 iput-object v0, v3, Lcom/android/server/am/PendingIntentRecord$Key;->allIntents:[Landroid/content/Intent;
42615 iget-object v3, v14, Lcom/android/server/am/PendingIntentRecord;->key:Lcom/android/server/am/PendingIntentRecord$Key;
42617 move-object/from16 v0, p8
42619 iput-object v0, v3, Lcom/android/server/am/PendingIntentRecord$Key;->allResolvedTypes:[Ljava/lang/String;
42649 iget-object v3, v14, Lcom/android/server/am/PendingIntentRecord;->key:Lcom/android/server/am/PendingIntentRecord$Key;
42653 iput-object v4, v3, Lcom/android/server/am/PendingIntentRecord$Key;->allIntents:[Landroid/content/Intent;
42655 iget-object v3, v14, Lcom/android/server/am/PendingIntentRecord;->key:Lcom/android/server/am/PendingIntentRecord$Key;
42659 iput-object v4, v3, Lcom/android/server/am/PendingIntentRecord$Key;->allResolvedTypes:[Ljava/lang/String;
42666 iput-boolean v3, v14, Lcom/android/server/am/PendingIntentRecord;->canceled:Z
42668 move-object/from16 v0, p0
42670 iget-object v3, v0, Lcom/android/server/am/ActivityManagerService;->mIntentSenderRecords:Ljava/util/HashMap;
42672 invoke-virtual {v3, v2}, Ljava/util/HashMap;->remove(Ljava/lang/Object;)Ljava/lang/Object;
42675 if-nez v13, :cond_13
42677 new-instance v14, Lcom/android/server/am/PendingIntentRecord;
42679 move-object/from16 v0, p0
42683 invoke-direct {v14, v0, v2, v1}, Lcom/android/server/am/PendingIntentRecord;-><init>(Lcom/android/server/am/ActivityManagerService;Lcom/android/server/am/PendingIntentRecord$Key;I)V
42685 move-object/from16 v0, p0
42687 iget-object v3, v0, Lcom/android/server/am/ActivityManagerService;->mIntentSenderRecords:Ljava/util/HashMap;
42689 iget-object v4, v14, Lcom/android/server/am/PendingIntentRecord;->ref:Ljava/lang/ref/WeakReference;
42691 invoke-virtual {v3, v2, v4}, Ljava/util/HashMap;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
42697 if-ne v0, v3, :cond_13
42699 iget-object v3, v5, Lcom/android/server/am/ActivityRecord;->pendingResults:Ljava/util/HashSet;
42701 if-nez v3, :cond_d8
42703 new-instance v3, Ljava/util/HashSet;
42705 invoke-direct {v3}, Ljava/util/HashSet;-><init>()V
42707 iput-object v3, v5, Lcom/android/server/am/ActivityRecord;->pendingResults:Ljava/util/HashSet;
42710 iget-object v3, v5, Lcom/android/server/am/ActivityRecord;->pendingResults:Ljava/util/HashSet;
42712 iget-object v4, v14, Lcom/android/server/am/PendingIntentRecord;->ref:Ljava/lang/ref/WeakReference;
42714 invoke-virtual {v3, v4}, Ljava/util/HashSet;->add(Ljava/lang/Object;)Z
42719 .method public getLaunchedFromUid(Landroid/os/IBinder;)I
42722 invoke-static {p1}, Lcom/android/server/am/ActivityRecord;->forToken(Landroid/os/IBinder;)Lcom/android/server/am/ActivityRecord;
42724 move-result-object v0
42734 iget v1, v0, Lcom/android/server/am/ActivityRecord;->launchedFromUid:I
42739 .method public getMemoryInfo(Landroid/app/ActivityManager$MemoryInfo;)V
42746 iget-object v4, p0, Lcom/android/server/am/ActivityManagerService;->mProcessList:Lcom/android/server/am/ProcessList;
42750 invoke-virtual {v4, v7}, Lcom/android/server/am/ProcessList;->getMemLevel(I)J
42752 move-result-wide v2
42754 iget-object v4, p0, Lcom/android/server/am/ActivityManagerService;->mProcessList:Lcom/android/server/am/ProcessList;
42756 sget v7, Lcom/android/server/am/ProcessList;->HIDDEN_APP_MIN_ADJ:I
42758 invoke-virtual {v4, v7}, Lcom/android/server/am/ProcessList;->getMemLevel(I)J
42760 move-result-wide v0
42762 invoke-static {}, Landroid/os/Process;->getFreeMemory()J
42764 move-result-wide v7
42766 iput-wide v7, p1, Landroid/app/ActivityManager$MemoryInfo;->availMem:J
42768 invoke-static {}, Landroid/os/Process;->getTotalMemory()J
42770 move-result-wide v7
42772 iput-wide v7, p1, Landroid/app/ActivityManager$MemoryInfo;->totalMem:J
42774 iput-wide v2, p1, Landroid/app/ActivityManager$MemoryInfo;->threshold:J
42776 iget-wide v7, p1, Landroid/app/ActivityManager$MemoryInfo;->availMem:J
42778 sub-long v9, v0, v2
42780 const-wide/16 v11, 0x2
42782 div-long/2addr v9, v11
42784 add-long/2addr v9, v2
42786 cmp-long v4, v7, v9
42788 if-gez v4, :cond_4a
42793 iput-boolean v4, p1, Landroid/app/ActivityManager$MemoryInfo;->lowMemory:Z
42795 iput-wide v0, p1, Landroid/app/ActivityManager$MemoryInfo;->hiddenAppThreshold:J
42797 iget-object v4, p0, Lcom/android/server/am/ActivityManagerService;->mProcessList:Lcom/android/server/am/ProcessList;
42801 invoke-virtual {v4, v7}, Lcom/android/server/am/ProcessList;->getMemLevel(I)J
42803 move-result-wide v7
42805 iput-wide v7, p1, Landroid/app/ActivityManager$MemoryInfo;->secondaryServerThreshold:J
42807 iget-object v4, p0, Lcom/android/server/am/ActivityManagerService;->mProcessList:Lcom/android/server/am/ProcessList;
42809 invoke-virtual {v4, v5}, Lcom/android/server/am/ProcessList;->getMemLevel(I)J
42811 move-result-wide v4
42813 iput-wide v4, p1, Landroid/app/ActivityManager$MemoryInfo;->visibleAppThreshold:J
42815 iget-object v4, p0, Lcom/android/server/am/ActivityManagerService;->mProcessList:Lcom/android/server/am/ProcessList;
42817 invoke-virtual {v4, v6}, Lcom/android/server/am/ProcessList;->getMemLevel(I)J
42819 move-result-wide v4
42821 iput-wide v4, p1, Landroid/app/ActivityManager$MemoryInfo;->foregroundAppThreshold:J
42831 .method public getMyMemoryState(Landroid/app/ActivityManager$RunningAppProcessInfo;)V
42834 const-string v1, "getMyMemoryState"
42836 invoke-virtual {p0, v1}, Lcom/android/server/am/ActivityManagerService;->enforceNotIsolatedCaller(Ljava/lang/String;)V
42841 iget-object v2, p0, Lcom/android/server/am/ActivityManagerService;->mPidsSelfLocked:Landroid/util/SparseArray;
42845 .catchall {:try_start_6 .. :try_end_9} :catchall_1e
42848 iget-object v1, p0, Lcom/android/server/am/ActivityManagerService;->mPidsSelfLocked:Landroid/util/SparseArray;
42850 invoke-static {}, Landroid/os/Binder;->getCallingPid()I
42854 invoke-virtual {v1, v3}, Landroid/util/SparseArray;->get(I)Ljava/lang/Object;
42856 move-result-object v0
42858 check-cast v0, Lcom/android/server/am/ProcessRecord;
42862 .catchall {:try_start_9 .. :try_end_16} :catchall_1b
42865 invoke-direct {p0, v0, p1}, Lcom/android/server/am/ActivityManagerService;->fillInProcMemInfo(Lcom/android/server/am/ProcessRecord;Landroid/app/ActivityManager$RunningAppProcessInfo;)V
42869 .catchall {:try_start_16 .. :try_end_1a} :catchall_1e
42879 .catchall {:try_start_1c .. :try_end_1d} :catchall_1b
42889 .catchall {:try_start_1d .. :try_end_20} :catchall_1e
42894 .method public getPackageAskScreenCompat(Ljava/lang/String;)Z
42897 const-string v0, "getPackageAskScreenCompat"
42899 invoke-virtual {p0, v0}, Lcom/android/server/am/ActivityManagerService;->enforceNotIsolatedCaller(Ljava/lang/String;)V
42904 iget-object v0, p0, Lcom/android/server/am/ActivityManagerService;->mCompatModePackages:Lcom/android/server/am/CompatModePackages;
42906 invoke-virtual {v0, p1}, Lcom/android/server/am/CompatModePackages;->getPackageAskCompatModeLocked(Ljava/lang/String;)Z
42919 .catchall {:try_start_6 .. :try_end_10} :catchall_e
42924 .method public getPackageForIntentSender(Landroid/content/IIntentSender;)Ljava/lang/String;
42929 instance-of v3, p1, Lcom/android/server/am/PendingIntentRecord;
42940 check-cast v0, Lcom/android/server/am/PendingIntentRecord;
42944 iget-object v3, v1, Lcom/android/server/am/PendingIntentRecord;->key:Lcom/android/server/am/PendingIntentRecord$Key;
42946 iget-object v2, v3, Lcom/android/server/am/PendingIntentRecord$Key;->packageName:Ljava/lang/String;
42948 .catch Ljava/lang/ClassCastException; {:try_start_6 .. :try_end_e} :catch_f
42958 .method public getPackageForToken(Landroid/os/IBinder;)Ljava/lang/String;
42964 iget-object v1, p0, Lcom/android/server/am/ActivityManagerService;->mMainStack:Lcom/android/server/am/ActivityStack;
42966 invoke-virtual {v1, p1}, Lcom/android/server/am/ActivityStack;->isInStackLocked(Landroid/os/IBinder;)Lcom/android/server/am/ActivityRecord;
42968 move-result-object v0
42980 iget-object v1, v0, Lcom/android/server/am/ActivityRecord;->packageName:Ljava/lang/String;
42991 .catchall {:try_start_1 .. :try_end_12} :catchall_10
42996 .method public getPackageScreenCompatMode(Ljava/lang/String;)I
42999 const-string v0, "getPackageScreenCompatMode"
43001 invoke-virtual {p0, v0}, Lcom/android/server/am/ActivityManagerService;->enforceNotIsolatedCaller(Ljava/lang/String;)V
43006 iget-object v0, p0, Lcom/android/server/am/ActivityManagerService;->mCompatModePackages:Lcom/android/server/am/CompatModePackages;
43008 invoke-virtual {v0, p1}, Lcom/android/server/am/CompatModePackages;->getPackageScreenCompatModeLocked(Ljava/lang/String;)I
43021 .catchall {:try_start_6 .. :try_end_10} :catchall_e
43026 .method public getProcessLimit()I
43032 iget v0, p0, Lcom/android/server/am/ActivityManagerService;->mProcessLimitOverride:I
43043 .catchall {:try_start_1 .. :try_end_7} :catchall_5
43048 .method public getProcessMemoryInfo([I)[Landroid/os/Debug$MemoryInfo;
43050 .annotation system Ldalvik/annotation/Throws;
43052 Landroid/os/RemoteException;
43056 const-string v2, "getProcessMemoryInfo"
43058 invoke-virtual {p0, v2}, Lcom/android/server/am/ActivityManagerService;->enforceNotIsolatedCaller(Ljava/lang/String;)V
43060 array-length v2, p1
43062 new-array v1, v2, [Landroid/os/Debug$MemoryInfo;
43064 array-length v2, p1
43066 add-int/lit8 v0, v2, -0x1
43069 if-ltz v0, :cond_1e
43071 new-instance v2, Landroid/os/Debug$MemoryInfo;
43073 invoke-direct {v2}, Landroid/os/Debug$MemoryInfo;-><init>()V
43075 aput-object v2, v1, v0
43079 aget-object v3, v1, v0
43081 invoke-static {v2, v3}, Landroid/os/Debug;->getMemoryInfo(ILandroid/os/Debug$MemoryInfo;)V
43083 add-int/lit8 v0, v0, -0x1
43091 .method public getProcessPss([I)[J
43093 .annotation system Ldalvik/annotation/Throws;
43095 Landroid/os/RemoteException;
43099 const-string v2, "getProcessPss"
43101 invoke-virtual {p0, v2}, Lcom/android/server/am/ActivityManagerService;->enforceNotIsolatedCaller(Ljava/lang/String;)V
43103 array-length v2, p1
43105 new-array v1, v2, [J
43107 array-length v2, p1
43109 add-int/lit8 v0, v2, -0x1
43112 if-ltz v0, :cond_18
43116 invoke-static {v2}, Landroid/os/Debug;->getPss(I)J
43118 move-result-wide v2
43120 aput-wide v2, v1, v0
43122 add-int/lit8 v0, v0, -0x1
43130 .method final getProcessRecordLocked(Ljava/lang/String;I)Lcom/android/server/am/ProcessRecord;
43135 if-ne p2, v4, :cond_2f
43137 iget-object v4, p0, Lcom/android/server/am/ActivityManagerService;->mProcessNames:Lcom/android/server/ProcessMap;
43139 invoke-virtual {v4}, Lcom/android/server/ProcessMap;->getMap()Ljava/util/HashMap;
43141 move-result-object v4
43143 invoke-virtual {v4, p1}, Ljava/util/HashMap;->get(Ljava/lang/Object;)Ljava/lang/Object;
43145 move-result-object v3
43147 check-cast v3, Landroid/util/SparseArray;
43149 if-nez v3, :cond_14
43157 invoke-virtual {v3}, Landroid/util/SparseArray;->size()I
43164 if-ge v1, v0, :cond_2f
43166 invoke-virtual {v3, v1}, Landroid/util/SparseArray;->keyAt(I)I
43170 invoke-static {v4, p2}, Landroid/os/UserId;->isSameUser(II)Z
43174 if-eqz v4, :cond_2c
43176 invoke-virtual {v3, v1}, Landroid/util/SparseArray;->valueAt(I)Ljava/lang/Object;
43178 move-result-object v4
43180 check-cast v4, Lcom/android/server/am/ProcessRecord;
43185 add-int/lit8 v1, v1, 0x1
43190 iget-object v4, p0, Lcom/android/server/am/ActivityManagerService;->mProcessNames:Lcom/android/server/ProcessMap;
43192 invoke-virtual {v4, p1, p2}, Lcom/android/server/ProcessMap;->get(Ljava/lang/String;I)Ljava/lang/Object;
43194 move-result-object v2
43196 check-cast v2, Lcom/android/server/am/ProcessRecord;
43203 .method public getProcessesInErrorState()Ljava/util/List;
43205 .annotation system Ldalvik/annotation/Signature;
43210 "Landroid/app/ActivityManager$ProcessErrorStateInfo;",
43215 const-string v5, "getProcessesInErrorState"
43217 invoke-virtual {p0, v5}, Lcom/android/server/am/ActivityManagerService;->enforceNotIsolatedCaller(Ljava/lang/String;)V
43224 iget-object v5, p0, Lcom/android/server/am/ActivityManagerService;->mLruProcesses:Ljava/util/ArrayList;
43226 invoke-virtual {v5}, Ljava/util/ArrayList;->size()I
43228 .catchall {:try_start_7 .. :try_end_c} :catchall_7b
43232 add-int/lit8 v3, v5, -0x1
43237 if-ltz v3, :cond_79
43240 iget-object v5, p0, Lcom/android/server/am/ActivityManagerService;->mLruProcesses:Ljava/util/ArrayList;
43242 invoke-virtual {v5, v3}, Ljava/util/ArrayList;->get(I)Ljava/lang/Object;
43244 move-result-object v0
43246 check-cast v0, Lcom/android/server/am/ProcessRecord;
43248 iget-object v5, v0, Lcom/android/server/am/ProcessRecord;->thread:Landroid/app/IApplicationThread;
43250 if-eqz v5, :cond_77
43252 iget-boolean v5, v0, Lcom/android/server/am/ProcessRecord;->crashing:Z
43254 if-nez v5, :cond_26
43256 iget-boolean v5, v0, Lcom/android/server/am/ProcessRecord;->notResponding:Z
43258 if-eqz v5, :cond_77
43263 iget-boolean v5, v0, Lcom/android/server/am/ProcessRecord;->crashing:Z
43265 if-eqz v5, :cond_3e
43267 iget-object v4, v0, Lcom/android/server/am/ProcessRecord;->crashingReport:Landroid/app/ActivityManager$ProcessErrorStateInfo;
43271 if-eqz v4, :cond_45
43273 if-nez v2, :cond_81
43275 new-instance v1, Ljava/util/ArrayList;
43279 invoke-direct {v1, v5}, Ljava/util/ArrayList;-><init>(I)V
43281 .catchall {:try_start_12 .. :try_end_37} :catchall_7e
43285 invoke-interface {v1, v4}, Ljava/util/List;->add(Ljava/lang/Object;)Z
43287 .catchall {:try_start_37 .. :try_end_3a} :catchall_7b
43290 add-int/lit8 v3, v3, -0x1
43298 iget-boolean v5, v0, Lcom/android/server/am/ProcessRecord;->notResponding:Z
43300 if-eqz v5, :cond_2d
43302 iget-object v4, v0, Lcom/android/server/am/ProcessRecord;->notRespondingReport:Landroid/app/ActivityManager$ProcessErrorStateInfo;
43307 const-string v5, "ActivityManager"
43309 new-instance v6, Ljava/lang/StringBuilder;
43311 invoke-direct {v6}, Ljava/lang/StringBuilder;-><init>()V
43313 const-string v7, "Missing app error report, app = "
43315 invoke-virtual {v6, v7}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
43317 move-result-object v6
43319 iget-object v7, v0, Lcom/android/server/am/ProcessRecord;->processName:Ljava/lang/String;
43321 invoke-virtual {v6, v7}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
43323 move-result-object v6
43325 const-string v7, " crashing = "
43327 invoke-virtual {v6, v7}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
43329 move-result-object v6
43331 iget-boolean v7, v0, Lcom/android/server/am/ProcessRecord;->crashing:Z
43333 invoke-virtual {v6, v7}, Ljava/lang/StringBuilder;->append(Z)Ljava/lang/StringBuilder;
43335 move-result-object v6
43337 const-string v7, " notResponding = "
43339 invoke-virtual {v6, v7}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
43341 move-result-object v6
43343 iget-boolean v7, v0, Lcom/android/server/am/ProcessRecord;->notResponding:Z
43345 invoke-virtual {v6, v7}, Ljava/lang/StringBuilder;->append(Z)Ljava/lang/StringBuilder;
43347 move-result-object v6
43349 invoke-virtual {v6}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
43351 move-result-object v6
43353 invoke-static {v5, v6}, Landroid/util/Slog;->w(Ljava/lang/String;Ljava/lang/String;)I
43363 .catchall {:try_start_3e .. :try_end_7a} :catchall_7e
43374 .catchall {:try_start_7c .. :try_end_7d} :catchall_7b
43391 .method public getProviderMimeType(Landroid/net/Uri;)Ljava/lang/String;
43396 const-string v5, "getProviderMimeType"
43398 invoke-virtual {p0, v5}, Lcom/android/server/am/ActivityManagerService;->enforceNotIsolatedCaller(Ljava/lang/String;)V
43400 invoke-virtual {p1}, Landroid/net/Uri;->getAuthority()Ljava/lang/String;
43402 move-result-object v4
43404 invoke-static {}, Landroid/os/Binder;->clearCallingIdentity()J
43406 move-result-wide v2
43413 invoke-direct {p0, v4, v5}, Lcom/android/server/am/ActivityManagerService;->getContentProviderExternalUnchecked(Ljava/lang/String;Landroid/os/IBinder;)Landroid/app/IActivityManager$ContentProviderHolder;
43415 move-result-object v1
43417 if-eqz v1, :cond_52
43419 iget-object v5, v1, Landroid/app/IActivityManager$ContentProviderHolder;->provider:Landroid/content/IContentProvider;
43421 invoke-interface {v5, p1}, Landroid/content/IContentProvider;->getType(Landroid/net/Uri;)Ljava/lang/String;
43423 .catchall {:try_start_10 .. :try_end_1b} :catchall_48
43424 .catch Landroid/os/RemoteException; {:try_start_10 .. :try_end_1b} :catch_25
43426 move-result-object v5
43428 if-eqz v1, :cond_21
43430 invoke-direct {p0, v4, v6}, Lcom/android/server/am/ActivityManagerService;->removeContentProviderExternalUnchecked(Ljava/lang/String;Landroid/os/IBinder;)V
43433 invoke-static {v2, v3}, Landroid/os/Binder;->restoreCallingIdentity(J)V
43442 const-string v5, "ActivityManager"
43444 new-instance v7, Ljava/lang/StringBuilder;
43446 invoke-direct {v7}, Ljava/lang/StringBuilder;-><init>()V
43448 const-string v8, "Content provider dead retrieving "
43450 invoke-virtual {v7, v8}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
43452 move-result-object v7
43454 invoke-virtual {v7, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
43456 move-result-object v7
43458 invoke-virtual {v7}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
43460 move-result-object v7
43462 invoke-static {v5, v7, v0}, Landroid/util/Log;->w(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I
43464 .catchall {:try_start_26 .. :try_end_3e} :catchall_48
43466 if-eqz v1, :cond_43
43468 invoke-direct {p0, v4, v6}, Lcom/android/server/am/ActivityManagerService;->removeContentProviderExternalUnchecked(Ljava/lang/String;Landroid/os/IBinder;)V
43471 invoke-static {v2, v3}, Landroid/os/Binder;->restoreCallingIdentity(J)V
43480 if-eqz v1, :cond_4e
43482 invoke-direct {p0, v4, v6}, Lcom/android/server/am/ActivityManagerService;->removeContentProviderExternalUnchecked(Ljava/lang/String;Landroid/os/IBinder;)V
43485 invoke-static {v2, v3}, Landroid/os/Binder;->restoreCallingIdentity(J)V
43490 if-eqz v1, :cond_57
43492 invoke-direct {p0, v4, v6}, Lcom/android/server/am/ActivityManagerService;->removeContentProviderExternalUnchecked(Ljava/lang/String;Landroid/os/IBinder;)V
43495 invoke-static {v2, v3}, Landroid/os/Binder;->restoreCallingIdentity(J)V
43502 .method public getRecentTasks(II)Ljava/util/List;
43504 .annotation system Ldalvik/annotation/Signature;
43509 "Landroid/app/ActivityManager$RecentTaskInfo;",
43516 invoke-static {}, Landroid/os/Binder;->getCallingUid()I
43522 if-ne v1, v9, :cond_42
43524 iget v2, p0, Lcom/android/server/am/ActivityManagerService;->mCurrentUserId:I
43530 const-string v9, "android.permission.GET_TASKS"
43532 const-string v10, "getRecentTasks()"
43534 invoke-virtual {p0, v9, v10}, Lcom/android/server/am/ActivityManagerService;->enforceCallingPermission(Ljava/lang/String;Ljava/lang/String;)V
43536 const-string v9, "android.permission.GET_DETAILED_TASKS"
43538 invoke-virtual {p0, v9}, Lcom/android/server/am/ActivityManagerService;->checkCallingPermission(Ljava/lang/String;)I
43542 if-nez v9, :cond_1c
43547 invoke-static {}, Landroid/app/AppGlobals;->getPackageManager()Landroid/content/pm/IPackageManager;
43549 move-result-object v5
43551 iget-object v9, p0, Lcom/android/server/am/ActivityManagerService;->mRecentTasks:Ljava/util/ArrayList;
43553 invoke-virtual {v9}, Ljava/util/ArrayList;->size()I
43557 new-instance v6, Ljava/util/ArrayList;
43559 if-ge p1, v0, :cond_47
43564 invoke-direct {v6, v9}, Ljava/util/ArrayList;-><init>(I)V
43569 if-ge v4, v0, :cond_b9
43571 if-lez p1, :cond_b9
43573 iget-object v9, p0, Lcom/android/server/am/ActivityManagerService;->mRecentTasks:Ljava/util/ArrayList;
43575 invoke-virtual {v9, v4}, Ljava/util/ArrayList;->get(I)Ljava/lang/Object;
43577 move-result-object v8
43579 check-cast v8, Lcom/android/server/am/TaskRecord;
43581 iget v9, v8, Lcom/android/server/am/TaskRecord;->userId:I
43583 .catchall {:try_start_c .. :try_end_3d} :catchall_bb
43585 if-eq v9, v2, :cond_49
43589 add-int/lit8 v4, v4, 0x1
43594 invoke-static {v1}, Landroid/os/UserId;->getUserId(I)I
43606 if-eqz v4, :cond_5e
43608 and-int/lit8 v9, p2, 0x1
43610 if-nez v9, :cond_5e
43613 iget-object v9, v8, Lcom/android/server/am/TaskRecord;->intent:Landroid/content/Intent;
43615 if-eqz v9, :cond_5e
43617 iget-object v9, v8, Lcom/android/server/am/TaskRecord;->intent:Landroid/content/Intent;
43619 invoke-virtual {v9}, Landroid/content/Intent;->getFlags()I
43623 const/high16 v10, 0x80
43625 and-int/2addr v9, v10
43627 if-nez v9, :cond_3f
43630 new-instance v7, Landroid/app/ActivityManager$RecentTaskInfo;
43632 invoke-direct {v7}, Landroid/app/ActivityManager$RecentTaskInfo;-><init>()V
43634 iget v9, v8, Lcom/android/server/am/TaskRecord;->numActivities:I
43636 if-lez v9, :cond_a5
43638 iget v9, v8, Lcom/android/server/am/TaskRecord;->taskId:I
43641 iput v9, v7, Landroid/app/ActivityManager$RecentTaskInfo;->id:I
43643 iget v9, v8, Lcom/android/server/am/TaskRecord;->taskId:I
43645 iput v9, v7, Landroid/app/ActivityManager$RecentTaskInfo;->persistentId:I
43647 new-instance v10, Landroid/content/Intent;
43649 iget-object v9, v8, Lcom/android/server/am/TaskRecord;->intent:Landroid/content/Intent;
43651 if-eqz v9, :cond_a7
43653 iget-object v9, v8, Lcom/android/server/am/TaskRecord;->intent:Landroid/content/Intent;
43656 invoke-direct {v10, v9}, Landroid/content/Intent;-><init>(Landroid/content/Intent;)V
43658 iput-object v10, v7, Landroid/app/ActivityManager$RecentTaskInfo;->baseIntent:Landroid/content/Intent;
43660 if-nez v3, :cond_86
43662 iget-object v10, v7, Landroid/app/ActivityManager$RecentTaskInfo;->baseIntent:Landroid/content/Intent;
43666 check-cast v9, Landroid/os/Bundle;
43668 invoke-virtual {v10, v9}, Landroid/content/Intent;->replaceExtras(Landroid/os/Bundle;)Landroid/content/Intent;
43671 iget-object v9, v8, Lcom/android/server/am/TaskRecord;->origActivity:Landroid/content/ComponentName;
43673 iput-object v9, v7, Landroid/app/ActivityManager$RecentTaskInfo;->origActivity:Landroid/content/ComponentName;
43675 iget-object v9, v8, Lcom/android/server/am/TaskRecord;->lastDescription:Ljava/lang/CharSequence;
43677 iput-object v9, v7, Landroid/app/ActivityManager$RecentTaskInfo;->description:Ljava/lang/CharSequence;
43679 .catchall {:try_start_4f .. :try_end_8e} :catchall_bb
43681 and-int/lit8 v9, p2, 0x2
43683 if-eqz v9, :cond_9f
43686 iget-object v9, v7, Landroid/app/ActivityManager$RecentTaskInfo;->origActivity:Landroid/content/ComponentName;
43688 if-eqz v9, :cond_aa
43690 iget-object v9, v7, Landroid/app/ActivityManager$RecentTaskInfo;->origActivity:Landroid/content/ComponentName;
43694 invoke-interface {v5, v9, v10, v2}, Landroid/content/pm/IPackageManager;->getActivityInfo(Landroid/content/ComponentName;II)Landroid/content/pm/ActivityInfo;
43696 .catchall {:try_start_92 .. :try_end_9c} :catchall_bb
43697 .catch Landroid/os/RemoteException; {:try_start_92 .. :try_end_9c} :catch_be
43699 move-result-object v9
43701 if-eqz v9, :cond_3f
43706 invoke-virtual {v6, v7}, Ljava/util/ArrayList;->add(Ljava/lang/Object;)Z
43708 add-int/lit8 p1, p1, -0x1
43718 iget-object v9, v8, Lcom/android/server/am/TaskRecord;->affinityIntent:Landroid/content/Intent;
43720 .catchall {:try_start_9f .. :try_end_a9} :catchall_bb
43726 iget-object v9, v7, Landroid/app/ActivityManager$RecentTaskInfo;->baseIntent:Landroid/content/Intent;
43728 if-eqz v9, :cond_9f
43730 iget-object v9, v7, Landroid/app/ActivityManager$RecentTaskInfo;->baseIntent:Landroid/content/Intent;
43736 invoke-interface {v5, v9, v10, v11, v2}, Landroid/content/pm/IPackageManager;->queryIntentActivities(Landroid/content/Intent;Ljava/lang/String;II)Ljava/util/List;
43738 .catchall {:try_start_aa .. :try_end_b5} :catchall_bb
43739 .catch Landroid/os/RemoteException; {:try_start_aa .. :try_end_b5} :catch_be
43741 move-result-object v9
43743 if-nez v9, :cond_9f
43758 .catchall {:try_start_b9 .. :try_end_bd} :catchall_bb
43768 .method final getRecordForAppLocked(Landroid/app/IApplicationThread;)Lcom/android/server/am/ProcessRecord;
43780 invoke-direct {p0, p1}, Lcom/android/server/am/ActivityManagerService;->getLRURecordIndexForAppLocked(Landroid/app/IApplicationThread;)I
43786 iget-object v1, p0, Lcom/android/server/am/ActivityManagerService;->mLruProcesses:Ljava/util/ArrayList;
43788 invoke-virtual {v1, v0}, Ljava/util/ArrayList;->get(I)Ljava/lang/Object;
43790 move-result-object v1
43792 check-cast v1, Lcom/android/server/am/ProcessRecord;
43797 .method public getRequestedOrientation(Landroid/os/IBinder;)I
43803 iget-object v1, p0, Lcom/android/server/am/ActivityManagerService;->mMainStack:Lcom/android/server/am/ActivityStack;
43805 invoke-virtual {v1, p1}, Lcom/android/server/am/ActivityStack;->isInStackLocked(Landroid/os/IBinder;)Lcom/android/server/am/ActivityRecord;
43807 move-result-object v0
43819 iget-object v1, p0, Lcom/android/server/am/ActivityManagerService;->mWindowManager:Lcom/android/server/wm/WindowManagerService;
43821 iget-object v2, v0, Lcom/android/server/am/ActivityRecord;->appToken:Landroid/view/IApplicationToken$Stub;
43823 invoke-virtual {v1, v2}, Lcom/android/server/wm/WindowManagerService;->getAppOrientation(Landroid/view/IApplicationToken;)I
43836 .catchall {:try_start_1 .. :try_end_18} :catchall_16
43841 .method public getRunningAppProcesses()Ljava/util/List;
43843 .annotation system Ldalvik/annotation/Signature;
43848 "Landroid/app/ActivityManager$RunningAppProcessInfo;",
43853 const-string v6, "getRunningAppProcesses"
43855 invoke-virtual {p0, v6}, Lcom/android/server/am/ActivityManagerService;->enforceNotIsolatedCaller(Ljava/lang/String;)V
43862 iget-object v6, p0, Lcom/android/server/am/ActivityManagerService;->mLruProcesses:Ljava/util/ArrayList;
43864 invoke-virtual {v6}, Ljava/util/ArrayList;->size()I
43866 .catchall {:try_start_7 .. :try_end_c} :catchall_82
43870 add-int/lit8 v2, v6, -0x1
43875 if-ltz v2, :cond_80
43878 iget-object v6, p0, Lcom/android/server/am/ActivityManagerService;->mLruProcesses:Ljava/util/ArrayList;
43880 invoke-virtual {v6, v2}, Ljava/util/ArrayList;->get(I)Ljava/lang/Object;
43882 move-result-object v0
43884 check-cast v0, Lcom/android/server/am/ProcessRecord;
43886 iget-object v6, v0, Lcom/android/server/am/ProcessRecord;->thread:Landroid/app/IApplicationThread;
43888 if-eqz v6, :cond_86
43890 iget-boolean v6, v0, Lcom/android/server/am/ProcessRecord;->crashing:Z
43892 if-nez v6, :cond_86
43894 iget-boolean v6, v0, Lcom/android/server/am/ProcessRecord;->notResponding:Z
43896 if-nez v6, :cond_86
43898 new-instance v1, Landroid/app/ActivityManager$RunningAppProcessInfo;
43900 iget-object v6, v0, Lcom/android/server/am/ProcessRecord;->processName:Ljava/lang/String;
43902 iget v7, v0, Lcom/android/server/am/ProcessRecord;->pid:I
43904 invoke-virtual {v0}, Lcom/android/server/am/ProcessRecord;->getPackageList()[Ljava/lang/String;
43906 move-result-object v8
43908 invoke-direct {v1, v6, v7, v8}, Landroid/app/ActivityManager$RunningAppProcessInfo;-><init>(Ljava/lang/String;I[Ljava/lang/String;)V
43910 invoke-direct {p0, v0, v1}, Lcom/android/server/am/ActivityManagerService;->fillInProcMemInfo(Lcom/android/server/am/ProcessRecord;Landroid/app/ActivityManager$RunningAppProcessInfo;)V
43912 iget-object v6, v0, Lcom/android/server/am/ProcessRecord;->adjSource:Ljava/lang/Object;
43914 instance-of v6, v6, Lcom/android/server/am/ProcessRecord;
43916 if-eqz v6, :cond_67
43918 iget-object v6, v0, Lcom/android/server/am/ProcessRecord;->adjSource:Ljava/lang/Object;
43920 check-cast v6, Lcom/android/server/am/ProcessRecord;
43922 iget v6, v6, Lcom/android/server/am/ProcessRecord;->pid:I
43924 iput v6, v1, Landroid/app/ActivityManager$RunningAppProcessInfo;->importanceReasonPid:I
43926 iget v6, v0, Lcom/android/server/am/ProcessRecord;->adjSourceOom:I
43930 invoke-static {v6, v7}, Lcom/android/server/am/ActivityManagerService;->oomAdjToImportance(ILandroid/app/ActivityManager$RunningAppProcessInfo;)I
43934 iput v6, v1, Landroid/app/ActivityManager$RunningAppProcessInfo;->importanceReasonImportance:I
43938 iget-object v6, v0, Lcom/android/server/am/ProcessRecord;->adjTarget:Ljava/lang/Object;
43940 instance-of v6, v6, Landroid/content/ComponentName;
43942 if-eqz v6, :cond_59
43944 iget-object v6, v0, Lcom/android/server/am/ProcessRecord;->adjTarget:Ljava/lang/Object;
43946 check-cast v6, Landroid/content/ComponentName;
43948 iput-object v6, v1, Landroid/app/ActivityManager$RunningAppProcessInfo;->importanceReasonComponent:Landroid/content/ComponentName;
43951 if-nez v5, :cond_84
43953 new-instance v4, Ljava/util/ArrayList;
43955 invoke-direct {v4}, Ljava/util/ArrayList;-><init>()V
43957 .catchall {:try_start_12 .. :try_end_60} :catchall_7c
43961 invoke-interface {v4, v1}, Ljava/util/List;->add(Ljava/lang/Object;)Z
43963 .catchall {:try_start_60 .. :try_end_63} :catchall_82
43966 add-int/lit8 v2, v2, -0x1
43974 iget-object v6, v0, Lcom/android/server/am/ProcessRecord;->adjSource:Ljava/lang/Object;
43976 instance-of v6, v6, Lcom/android/server/am/ActivityRecord;
43978 if-eqz v6, :cond_4d
43980 iget-object v3, v0, Lcom/android/server/am/ProcessRecord;->adjSource:Ljava/lang/Object;
43982 check-cast v3, Lcom/android/server/am/ActivityRecord;
43984 iget-object v6, v3, Lcom/android/server/am/ActivityRecord;->app:Lcom/android/server/am/ProcessRecord;
43986 if-eqz v6, :cond_4d
43988 iget-object v6, v3, Lcom/android/server/am/ActivityRecord;->app:Lcom/android/server/am/ProcessRecord;
43990 iget v6, v6, Lcom/android/server/am/ProcessRecord;->pid:I
43992 iput v6, v1, Landroid/app/ActivityManager$RunningAppProcessInfo;->importanceReasonPid:I
43994 .catchall {:try_start_67 .. :try_end_7b} :catchall_7c
44007 .catchall {:try_start_7e .. :try_end_7f} :catchall_82
44015 .catchall {:try_start_80 .. :try_end_81} :catchall_7c
44035 .method public getRunningExternalApplications()Ljava/util/List;
44037 .annotation system Ldalvik/annotation/Signature;
44042 "Landroid/content/pm/ApplicationInfo;",
44047 const-string v11, "getRunningExternalApplications"
44049 invoke-virtual {p0, v11}, Lcom/android/server/am/ActivityManagerService;->enforceNotIsolatedCaller(Ljava/lang/String;)V
44051 invoke-virtual {p0}, Lcom/android/server/am/ActivityManagerService;->getRunningAppProcesses()Ljava/util/List;
44053 move-result-object v10
44055 new-instance v9, Ljava/util/ArrayList;
44057 invoke-direct {v9}, Ljava/util/ArrayList;-><init>()V
44059 if-eqz v10, :cond_67
44061 invoke-interface {v10}, Ljava/util/List;->size()I
44065 if-lez v11, :cond_67
44067 new-instance v2, Ljava/util/HashSet;
44069 invoke-direct {v2}, Ljava/util/HashSet;-><init>()V
44071 invoke-interface {v10}, Ljava/util/List;->iterator()Ljava/util/Iterator;
44073 move-result-object v3
44076 invoke-interface {v3}, Ljava/util/Iterator;->hasNext()Z
44080 if-eqz v11, :cond_3d
44082 invoke-interface {v3}, Ljava/util/Iterator;->next()Ljava/lang/Object;
44084 move-result-object v0
44086 check-cast v0, Landroid/app/ActivityManager$RunningAppProcessInfo;
44088 iget-object v11, v0, Landroid/app/ActivityManager$RunningAppProcessInfo;->pkgList:[Ljava/lang/String;
44090 if-eqz v11, :cond_1f
44092 iget-object v1, v0, Landroid/app/ActivityManager$RunningAppProcessInfo;->pkgList:[Ljava/lang/String;
44094 array-length v6, v1
44099 if-ge v4, v6, :cond_1f
44101 aget-object v7, v1, v4
44103 invoke-interface {v2, v7}, Ljava/util/Set;->add(Ljava/lang/Object;)Z
44105 add-int/lit8 v4, v4, 0x1
44110 invoke-static {}, Landroid/app/AppGlobals;->getPackageManager()Landroid/content/pm/IPackageManager;
44112 move-result-object v8
44114 invoke-interface {v2}, Ljava/util/Set;->iterator()Ljava/util/Iterator;
44116 move-result-object v3
44120 invoke-interface {v3}, Ljava/util/Iterator;->hasNext()Z
44124 if-eqz v11, :cond_67
44126 invoke-interface {v3}, Ljava/util/Iterator;->next()Ljava/lang/Object;
44128 move-result-object v7
44130 check-cast v7, Ljava/lang/String;
44135 invoke-static {}, Landroid/os/UserId;->getCallingUserId()I
44139 invoke-interface {v8, v7, v11, v12}, Landroid/content/pm/IPackageManager;->getApplicationInfo(Ljava/lang/String;II)Landroid/content/pm/ApplicationInfo;
44141 move-result-object v5
44143 iget v11, v5, Landroid/content/pm/ApplicationInfo;->flags:I
44145 const/high16 v12, 0x4
44147 and-int/2addr v11, v12
44149 if-eqz v11, :cond_45
44151 invoke-interface {v9, v5}, Ljava/util/List;->add(Ljava/lang/Object;)Z
44153 .catch Landroid/os/RemoteException; {:try_start_52 .. :try_end_64} :catch_65
44166 .method public getRunningServiceControlPanel(Landroid/content/ComponentName;)Landroid/app/PendingIntent;
44169 const-string v5, "getRunningServiceControlPanel"
44171 invoke-virtual {p0, v5}, Lcom/android/server/am/ActivityManagerService;->enforceNotIsolatedCaller(Ljava/lang/String;)V
44176 invoke-static {}, Landroid/os/Binder;->getCallingUid()I
44180 invoke-static {v5}, Landroid/os/UserId;->getUserId(I)I
44184 iget-object v5, p0, Lcom/android/server/am/ActivityManagerService;->mServiceMap:Lcom/android/server/am/ActivityManagerService$ServiceMap;
44186 invoke-virtual {v5, p1, v4}, Lcom/android/server/am/ActivityManagerService$ServiceMap;->getServiceByName(Landroid/content/ComponentName;I)Lcom/android/server/am/ServiceRecord;
44188 move-result-object v3
44190 if-eqz v3, :cond_4a
44192 iget-object v5, v3, Lcom/android/server/am/ServiceRecord;->connections:Ljava/util/HashMap;
44194 invoke-virtual {v5}, Ljava/util/HashMap;->values()Ljava/util/Collection;
44196 move-result-object v5
44198 invoke-interface {v5}, Ljava/util/Collection;->iterator()Ljava/util/Iterator;
44200 move-result-object v2
44203 invoke-interface {v2}, Ljava/util/Iterator;->hasNext()Z
44207 if-eqz v5, :cond_4a
44209 invoke-interface {v2}, Ljava/util/Iterator;->next()Ljava/lang/Object;
44211 move-result-object v0
44213 check-cast v0, Ljava/util/ArrayList;
44218 invoke-virtual {v0}, Ljava/util/ArrayList;->size()I
44222 if-ge v1, v5, :cond_20
44224 invoke-virtual {v0, v1}, Ljava/util/ArrayList;->get(I)Ljava/lang/Object;
44226 move-result-object v5
44228 check-cast v5, Lcom/android/server/am/ConnectionRecord;
44230 iget-object v5, v5, Lcom/android/server/am/ConnectionRecord;->clientIntent:Landroid/app/PendingIntent;
44232 if-eqz v5, :cond_47
44234 invoke-virtual {v0, v1}, Ljava/util/ArrayList;->get(I)Ljava/lang/Object;
44236 move-result-object v5
44238 check-cast v5, Lcom/android/server/am/ConnectionRecord;
44240 iget-object v5, v5, Lcom/android/server/am/ConnectionRecord;->clientIntent:Landroid/app/PendingIntent;
44248 add-int/lit8 v1, v1, 0x1
44264 .catchall {:try_start_6 .. :try_end_4f} :catchall_4d
44269 .method public getServices(II)Ljava/util/List;
44271 .annotation system Ldalvik/annotation/Signature;
44276 "Landroid/app/ActivityManager$RunningServiceInfo;",
44281 const-string v6, "getServices"
44283 invoke-virtual {p0, v6}, Lcom/android/server/am/ActivityManagerService;->enforceNotIsolatedCaller(Ljava/lang/String;)V
44288 new-instance v4, Ljava/util/ArrayList;
44290 invoke-direct {v4}, Ljava/util/ArrayList;-><init>()V
44292 invoke-static {}, Landroid/os/Binder;->getCallingUid()I
44296 invoke-static {v6}, Landroid/os/UserId;->getUserId(I)I
44300 iget-object v6, p0, Lcom/android/server/am/ActivityManagerService;->mServiceMap:Lcom/android/server/am/ActivityManagerService$ServiceMap;
44302 invoke-virtual {v6, v5}, Lcom/android/server/am/ActivityManagerService$ServiceMap;->getAllServices(I)Ljava/util/Collection;
44304 move-result-object v6
44306 invoke-interface {v6}, Ljava/util/Collection;->size()I
44310 if-lez v6, :cond_46
44312 iget-object v6, p0, Lcom/android/server/am/ActivityManagerService;->mServiceMap:Lcom/android/server/am/ActivityManagerService$ServiceMap;
44314 invoke-virtual {v6, v5}, Lcom/android/server/am/ActivityManagerService$ServiceMap;->getAllServices(I)Ljava/util/Collection;
44316 move-result-object v6
44318 invoke-interface {v6}, Ljava/util/Collection;->iterator()Ljava/util/Iterator;
44320 move-result-object v2
44323 invoke-interface {v2}, Ljava/util/Iterator;->hasNext()Z
44327 if-eqz v6, :cond_46
44329 invoke-virtual {v4}, Ljava/util/ArrayList;->size()I
44333 if-ge v6, p1, :cond_46
44335 invoke-interface {v2}, Ljava/util/Iterator;->next()Ljava/lang/Object;
44337 move-result-object v6
44339 check-cast v6, Lcom/android/server/am/ServiceRecord;
44341 invoke-virtual {p0, v6}, Lcom/android/server/am/ActivityManagerService;->makeRunningServiceInfoLocked(Lcom/android/server/am/ServiceRecord;)Landroid/app/ActivityManager$RunningServiceInfo;
44343 move-result-object v6
44345 invoke-virtual {v4, v6}, Ljava/util/ArrayList;->add(Ljava/lang/Object;)Z
44354 .catchall {:try_start_6 .. :try_end_45} :catchall_43
44363 iget-object v6, p0, Lcom/android/server/am/ActivityManagerService;->mRestartingServices:Ljava/util/ArrayList;
44365 invoke-virtual {v6}, Ljava/util/ArrayList;->size()I
44369 if-ge v0, v6, :cond_6b
44371 invoke-virtual {v4}, Ljava/util/ArrayList;->size()I
44375 if-ge v6, p1, :cond_6b
44377 iget-object v6, p0, Lcom/android/server/am/ActivityManagerService;->mRestartingServices:Ljava/util/ArrayList;
44379 invoke-virtual {v6, v0}, Ljava/util/ArrayList;->get(I)Ljava/lang/Object;
44381 move-result-object v3
44383 check-cast v3, Lcom/android/server/am/ServiceRecord;
44385 invoke-virtual {p0, v3}, Lcom/android/server/am/ActivityManagerService;->makeRunningServiceInfoLocked(Lcom/android/server/am/ServiceRecord;)Landroid/app/ActivityManager$RunningServiceInfo;
44387 move-result-object v1
44389 iget-wide v6, v3, Lcom/android/server/am/ServiceRecord;->nextRestartTime:J
44391 iput-wide v6, v1, Landroid/app/ActivityManager$RunningServiceInfo;->restarting:J
44393 invoke-virtual {v4, v1}, Ljava/util/ArrayList;->add(Ljava/lang/Object;)Z
44395 add-int/lit8 v0, v0, 0x1
44402 .catchall {:try_start_47 .. :try_end_6c} :catchall_43
44407 .method public getTaskForActivity(Landroid/os/IBinder;Z)I
44413 invoke-virtual {p0, p1, p2}, Lcom/android/server/am/ActivityManagerService;->getTaskForActivityLocked(Landroid/os/IBinder;Z)I
44426 .catchall {:try_start_1 .. :try_end_9} :catchall_7
44431 .method getTaskForActivityLocked(Landroid/os/IBinder;Z)I
44436 iget-object v5, p0, Lcom/android/server/am/ActivityManagerService;->mMainStack:Lcom/android/server/am/ActivityStack;
44438 iget-object v5, v5, Lcom/android/server/am/ActivityStack;->mHistory:Ljava/util/ArrayList;
44440 invoke-virtual {v5}, Ljava/util/ArrayList;->size()I
44449 if-ge v1, v0, :cond_25
44451 iget-object v5, p0, Lcom/android/server/am/ActivityManagerService;->mMainStack:Lcom/android/server/am/ActivityStack;
44453 iget-object v5, v5, Lcom/android/server/am/ActivityStack;->mHistory:Ljava/util/ArrayList;
44455 invoke-virtual {v5, v1}, Ljava/util/ArrayList;->get(I)Ljava/lang/Object;
44457 move-result-object v3
44459 check-cast v3, Lcom/android/server/am/ActivityRecord;
44461 iget-object v5, v3, Lcom/android/server/am/ActivityRecord;->appToken:Landroid/view/IApplicationToken$Stub;
44463 if-ne v5, p1, :cond_26
44465 if-eqz p2, :cond_21
44467 iget-object v5, v3, Lcom/android/server/am/ActivityRecord;->task:Lcom/android/server/am/TaskRecord;
44469 if-eq v2, v5, :cond_25
44472 iget-object v4, v3, Lcom/android/server/am/ActivityRecord;->task:Lcom/android/server/am/TaskRecord;
44474 iget v4, v4, Lcom/android/server/am/TaskRecord;->taskId:I
44480 iget-object v2, v3, Lcom/android/server/am/ActivityRecord;->task:Lcom/android/server/am/TaskRecord;
44482 add-int/lit8 v1, v1, 0x1
44487 .method public getTaskThumbnails(I)Landroid/app/ActivityManager$TaskThumbnails;
44493 const-string v1, "android.permission.READ_FRAME_BUFFER"
44495 const-string v2, "getTaskThumbnails()"
44497 invoke-virtual {p0, v1, v2}, Lcom/android/server/am/ActivityManagerService;->enforceCallingPermission(Ljava/lang/String;Ljava/lang/String;)V
44499 invoke-direct {p0, p1}, Lcom/android/server/am/ActivityManagerService;->taskForIdLocked(I)Lcom/android/server/am/TaskRecord;
44501 move-result-object v0
44503 if-eqz v0, :cond_16
44505 iget-object v1, p0, Lcom/android/server/am/ActivityManagerService;->mMainStack:Lcom/android/server/am/ActivityStack;
44507 invoke-virtual {v1, v0}, Lcom/android/server/am/ActivityStack;->getTaskThumbnailsLocked(Lcom/android/server/am/TaskRecord;)Landroid/app/ActivityManager$TaskThumbnails;
44509 move-result-object v1
44528 .catchall {:try_start_1 .. :try_end_1b} :catchall_19
44533 .method public getTasks(IILandroid/app/IThumbnailReceiver;)Ljava/util/List;
44536 new-instance v10, Ljava/util/ArrayList;
44538 invoke-direct {v10}, Ljava/util/ArrayList;-><init>()V
44549 const-string v1, "android.permission.GET_TASKS"
44551 move-object/from16 v0, p0
44553 invoke-virtual {v0, v1}, Lcom/android/server/am/ActivityManagerService;->checkCallingPermission(Ljava/lang/String;)I
44555 .catchall {:try_start_b .. :try_end_12} :catchall_56
44559 if-eqz v1, :cond_59
44561 if-eqz p3, :cond_1a
44564 invoke-interface/range {p3 .. p3}, Landroid/app/IThumbnailReceiver;->finished()V
44566 .catchall {:try_start_17 .. :try_end_1a} :catchall_56
44567 .catch Landroid/os/RemoteException; {:try_start_17 .. :try_end_1a} :catch_18e
44572 new-instance v1, Ljava/lang/StringBuilder;
44574 invoke-direct {v1}, Ljava/lang/StringBuilder;-><init>()V
44576 const-string v2, "Permission Denial: getTasks() from pid="
44578 invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
44580 move-result-object v1
44582 invoke-static {}, Landroid/os/Binder;->getCallingPid()I
44586 invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
44588 move-result-object v1
44590 const-string v2, ", uid="
44592 invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
44594 move-result-object v1
44596 invoke-static {}, Landroid/os/Binder;->getCallingUid()I
44600 invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
44602 move-result-object v1
44604 const-string v2, " requires "
44606 invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
44608 move-result-object v1
44610 const-string v2, "android.permission.GET_TASKS"
44612 invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
44614 move-result-object v1
44616 invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
44618 move-result-object v11
44620 const-string v1, "ActivityManager"
44622 invoke-static {v1, v11}, Landroid/util/Slog;->w(Ljava/lang/String;Ljava/lang/String;)I
44624 new-instance v1, Ljava/lang/SecurityException;
44626 invoke-direct {v1, v11}, Ljava/lang/SecurityException;-><init>(Ljava/lang/String;)V
44636 .catchall {:try_start_1a .. :try_end_58} :catchall_56
44642 move-object/from16 v0, p0
44644 iget-object v1, v0, Lcom/android/server/am/ActivityManagerService;->mMainStack:Lcom/android/server/am/ActivityStack;
44646 iget-object v1, v1, Lcom/android/server/am/ActivityStack;->mHistory:Ljava/util/ArrayList;
44648 invoke-virtual {v1}, Ljava/util/ArrayList;->size()I
44652 add-int/lit8 v17, v1, -0x1
44654 if-ltz v17, :cond_148
44656 move-object/from16 v0, p0
44658 iget-object v1, v0, Lcom/android/server/am/ActivityManagerService;->mMainStack:Lcom/android/server/am/ActivityStack;
44660 iget-object v1, v1, Lcom/android/server/am/ActivityStack;->mHistory:Ljava/util/ArrayList;
44662 move/from16 v0, v17
44664 invoke-virtual {v1, v0}, Ljava/util/ArrayList;->get(I)Ljava/lang/Object;
44666 move-result-object v1
44668 check-cast v1, Lcom/android/server/am/ActivityRecord;
44670 .catchall {:try_start_59 .. :try_end_75} :catchall_56
44672 move-object v12, v1
44683 move-object/from16 v16, v15
44686 if-ltz v17, :cond_159
44688 if-lez p1, :cond_159
44690 move-object/from16 v18, v12
44692 add-int/lit8 v17, v17, -0x1
44694 if-ltz v17, :cond_14b
44697 move-object/from16 v0, p0
44699 iget-object v1, v0, Lcom/android/server/am/ActivityManagerService;->mMainStack:Lcom/android/server/am/ActivityStack;
44701 iget-object v1, v1, Lcom/android/server/am/ActivityStack;->mHistory:Ljava/util/ArrayList;
44703 move/from16 v0, v17
44705 invoke-virtual {v1, v0}, Ljava/util/ArrayList;->get(I)Ljava/lang/Object;
44707 move-result-object v1
44709 check-cast v1, Lcom/android/server/am/ActivityRecord;
44711 move-object v12, v1
44714 if-eqz v19, :cond_aa
44716 move-object/from16 v0, v19
44718 iget-object v1, v0, Lcom/android/server/am/ActivityRecord;->state:Lcom/android/server/am/ActivityStack$ActivityState;
44720 sget-object v2, Lcom/android/server/am/ActivityStack$ActivityState;->INITIALIZING:Lcom/android/server/am/ActivityStack$ActivityState;
44722 if-ne v1, v2, :cond_b2
44724 move-object/from16 v0, v19
44726 iget-object v1, v0, Lcom/android/server/am/ActivityRecord;->task:Lcom/android/server/am/TaskRecord;
44728 move-object/from16 v0, v18
44730 iget-object v2, v0, Lcom/android/server/am/ActivityRecord;->task:Lcom/android/server/am/TaskRecord;
44732 if-ne v1, v2, :cond_b2
44735 move-object/from16 v19, v18
44737 move-object/from16 v0, v18
44739 iget-object v8, v0, Lcom/android/server/am/ActivityRecord;->task:Lcom/android/server/am/TaskRecord;
44746 add-int/lit8 v13, v13, 0x1
44748 move-object/from16 v0, v18
44750 iget-object v1, v0, Lcom/android/server/am/ActivityRecord;->app:Lcom/android/server/am/ProcessRecord;
44752 if-eqz v1, :cond_c4
44754 move-object/from16 v0, v18
44756 iget-object v1, v0, Lcom/android/server/am/ActivityRecord;->app:Lcom/android/server/am/ProcessRecord;
44758 iget-object v1, v1, Lcom/android/server/am/ProcessRecord;->thread:Landroid/app/IApplicationThread;
44760 if-eqz v1, :cond_c4
44762 add-int/lit8 v14, v14, 0x1
44765 if-eqz v12, :cond_ca
44767 iget-object v1, v12, Lcom/android/server/am/ActivityRecord;->task:Lcom/android/server/am/TaskRecord;
44769 if-eq v1, v8, :cond_199
44772 new-instance v7, Landroid/app/ActivityManager$RunningTaskInfo;
44774 invoke-direct {v7}, Landroid/app/ActivityManager$RunningTaskInfo;-><init>()V
44776 iget v1, v8, Lcom/android/server/am/TaskRecord;->taskId:I
44778 iput v1, v7, Landroid/app/ActivityManager$RunningTaskInfo;->id:I
44780 move-object/from16 v0, v18
44782 iget-object v1, v0, Lcom/android/server/am/ActivityRecord;->intent:Landroid/content/Intent;
44784 invoke-virtual {v1}, Landroid/content/Intent;->getComponent()Landroid/content/ComponentName;
44786 move-result-object v1
44788 iput-object v1, v7, Landroid/app/ActivityManager$RunningTaskInfo;->baseActivity:Landroid/content/ComponentName;
44790 move-object/from16 v0, v19
44792 iget-object v1, v0, Lcom/android/server/am/ActivityRecord;->intent:Landroid/content/Intent;
44794 invoke-virtual {v1}, Landroid/content/Intent;->getComponent()Landroid/content/ComponentName;
44796 move-result-object v1
44798 iput-object v1, v7, Landroid/app/ActivityManager$RunningTaskInfo;->topActivity:Landroid/content/ComponentName;
44800 move-object/from16 v0, v19
44802 iget-object v1, v0, Lcom/android/server/am/ActivityRecord;->thumbHolder:Lcom/android/server/am/ThumbnailHolder;
44804 if-eqz v1, :cond_f5
44806 move-object/from16 v0, v19
44808 iget-object v1, v0, Lcom/android/server/am/ActivityRecord;->thumbHolder:Lcom/android/server/am/ThumbnailHolder;
44810 iget-object v1, v1, Lcom/android/server/am/ThumbnailHolder;->lastDescription:Ljava/lang/CharSequence;
44812 iput-object v1, v7, Landroid/app/ActivityManager$RunningTaskInfo;->description:Ljava/lang/CharSequence;
44815 iput v13, v7, Landroid/app/ActivityManager$RunningTaskInfo;->numActivities:I
44817 iput v14, v7, Landroid/app/ActivityManager$RunningTaskInfo;->numRunning:I
44819 iget-object v1, v7, Landroid/app/ActivityManager$RunningTaskInfo;->thumbnail:Landroid/graphics/Bitmap;
44821 if-nez v1, :cond_196
44823 if-eqz p3, :cond_196
44825 move-object/from16 v0, v19
44827 iget-object v1, v0, Lcom/android/server/am/ActivityRecord;->state:Lcom/android/server/am/ActivityStack$ActivityState;
44829 sget-object v2, Lcom/android/server/am/ActivityStack$ActivityState;->RESUMED:Lcom/android/server/am/ActivityStack$ActivityState;
44831 if-eq v1, v2, :cond_10f
44833 move-object/from16 v0, v19
44835 iget-object v1, v0, Lcom/android/server/am/ActivityRecord;->state:Lcom/android/server/am/ActivityStack$ActivityState;
44837 sget-object v2, Lcom/android/server/am/ActivityStack$ActivityState;->PAUSING:Lcom/android/server/am/ActivityStack$ActivityState;
44839 if-ne v1, v2, :cond_12d
44842 move-object/from16 v0, v19
44844 iget-boolean v1, v0, Lcom/android/server/am/ActivityRecord;->idle:Z
44846 if-eqz v1, :cond_14e
44848 move-object/from16 v0, v19
44850 iget-object v1, v0, Lcom/android/server/am/ActivityRecord;->app:Lcom/android/server/am/ProcessRecord;
44852 if-eqz v1, :cond_14e
44854 move-object/from16 v0, v19
44856 iget-object v1, v0, Lcom/android/server/am/ActivityRecord;->app:Lcom/android/server/am/ProcessRecord;
44858 iget-object v1, v1, Lcom/android/server/am/ProcessRecord;->thread:Landroid/app/IApplicationThread;
44860 if-eqz v1, :cond_14e
44862 move-object/from16 v20, v19
44864 move-object/from16 v0, v19
44866 iget-object v1, v0, Lcom/android/server/am/ActivityRecord;->app:Lcom/android/server/am/ProcessRecord;
44868 iget-object v0, v1, Lcom/android/server/am/ProcessRecord;->thread:Landroid/app/IApplicationThread;
44870 move-object/from16 v21, v0
44874 if-nez v16, :cond_193
44876 new-instance v15, Lcom/android/server/am/PendingThumbnailsRecord;
44878 move-object/from16 v0, p3
44880 invoke-direct {v15, v0}, Lcom/android/server/am/PendingThumbnailsRecord;-><init>(Landroid/app/IThumbnailReceiver;)V
44882 .catchall {:try_start_87 .. :try_end_136} :catchall_154
44886 iget-object v1, v15, Lcom/android/server/am/PendingThumbnailsRecord;->pendingRecords:Ljava/util/HashSet;
44888 move-object/from16 v0, v19
44890 invoke-virtual {v1, v0}, Ljava/util/HashSet;->add(Ljava/lang/Object;)Z
44893 invoke-virtual {v10, v7}, Ljava/util/ArrayList;->add(Ljava/lang/Object;)Z
44895 .catchall {:try_start_136 .. :try_end_140} :catchall_56
44897 add-int/lit8 p1, p1, -0x1
44902 move-object/from16 v16, v15
44920 move-object/from16 v0, v19
44922 iput-boolean v1, v0, Lcom/android/server/am/ActivityRecord;->thumbnailNeeded:Z
44929 move-object/from16 v15, v16
44934 if-eqz v16, :cond_164
44936 move-object/from16 v0, p0
44938 iget-object v1, v0, Lcom/android/server/am/ActivityManagerService;->mPendingThumbnails:Ljava/util/ArrayList;
44940 move-object/from16 v0, v16
44942 invoke-virtual {v1, v0}, Ljava/util/ArrayList;->add(Ljava/lang/Object;)Z
44947 .catchall {:try_start_14f .. :try_end_165} :catchall_154
44949 if-eqz v21, :cond_170
44952 move-object/from16 v0, v20
44954 iget-object v1, v0, Lcom/android/server/am/ActivityRecord;->appToken:Landroid/view/IApplicationToken$Stub;
44956 move-object/from16 v0, v21
44958 invoke-interface {v0, v1}, Landroid/app/IApplicationThread;->requestThumbnail(Landroid/os/IBinder;)V
44960 .catch Ljava/lang/Exception; {:try_start_167 .. :try_end_170} :catch_178
44964 if-nez v16, :cond_177
44966 if-eqz p3, :cond_177
44969 invoke-interface/range {p3 .. p3}, Landroid/app/IThumbnailReceiver;->finished()V
44971 .catch Landroid/os/RemoteException; {:try_start_174 .. :try_end_177} :catch_191
44980 const-string v1, "ActivityManager"
44982 const-string v2, "Exception thrown when requesting thumbnail"
44984 invoke-static {v1, v2, v9}, Landroid/util/Slog;->w(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I
44988 move-object/from16 v0, v20
44990 iget-object v3, v0, Lcom/android/server/am/ActivityRecord;->appToken:Landroid/view/IApplicationToken$Stub;
44998 move-object/from16 v1, p0
45000 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
45015 move-object/from16 v15, v16
45020 move-object/from16 v15, v16
45025 move-object/from16 v15, v16
45030 .method public getUidForIntentSender(Landroid/content/IIntentSender;)I
45033 instance-of v2, p1, Lcom/android/server/am/PendingIntentRecord;
45040 check-cast v0, Lcom/android/server/am/PendingIntentRecord;
45044 iget v2, v1, Lcom/android/server/am/PendingIntentRecord;->uid:I
45046 .catch Ljava/lang/ClassCastException; {:try_start_4 .. :try_end_a} :catch_b
45060 .method public goingToSleep()V
45063 const-string v1, "android.permission.DEVICE_POWER"
45065 invoke-virtual {p0, v1}, Lcom/android/server/am/ActivityManagerService;->checkCallingPermission(Ljava/lang/String;)I
45069 if-eqz v1, :cond_10
45071 new-instance v1, Ljava/lang/SecurityException;
45073 const-string v2, "Requires permission android.permission.DEVICE_POWER"
45075 invoke-direct {v1, v2}, Ljava/lang/SecurityException;-><init>(Ljava/lang/String;)V
45085 iput-boolean v1, p0, Lcom/android/server/am/ActivityManagerService;->mWentToSleep:Z
45087 invoke-direct {p0}, Lcom/android/server/am/ActivityManagerService;->updateEventDispatchingLocked()V
45089 iget-boolean v1, p0, Lcom/android/server/am/ActivityManagerService;->mSleeping:Z
45091 if-nez v1, :cond_3e
45095 iput-boolean v1, p0, Lcom/android/server/am/ActivityManagerService;->mSleeping:Z
45097 iget-object v1, p0, Lcom/android/server/am/ActivityManagerService;->mMainStack:Lcom/android/server/am/ActivityStack;
45099 invoke-virtual {v1}, Lcom/android/server/am/ActivityStack;->stopIfSleepingLocked()V
45103 invoke-virtual {p0, v1}, Lcom/android/server/am/ActivityManagerService;->checkExcessivePowerUsageLocked(Z)V
45105 iget-object v1, p0, Lcom/android/server/am/ActivityManagerService;->mHandler:Landroid/os/Handler;
45109 invoke-virtual {v1, v2}, Landroid/os/Handler;->removeMessages(I)V
45111 iget-object v1, p0, Lcom/android/server/am/ActivityManagerService;->mHandler:Landroid/os/Handler;
45115 invoke-virtual {v1, v2}, Landroid/os/Handler;->obtainMessage(I)Landroid/os/Message;
45117 move-result-object v0
45119 iget-object v1, p0, Lcom/android/server/am/ActivityManagerService;->mHandler:Landroid/os/Handler;
45121 const-wide/32 v2, 0xdbba0
45123 invoke-virtual {v1, v0, v2, v3}, Landroid/os/Handler;->sendMessageDelayed(Landroid/os/Message;J)Z
45135 .catchall {:try_start_12 .. :try_end_42} :catchall_40
45140 .method public grantUriPermission(Landroid/app/IApplicationThread;Ljava/lang/String;Landroid/net/Uri;I)V
45143 const-string v0, "grantUriPermission"
45145 invoke-virtual {p0, v0}, Lcom/android/server/am/ActivityManagerService;->enforceNotIsolatedCaller(Ljava/lang/String;)V
45150 invoke-virtual {p0, p1}, Lcom/android/server/am/ActivityManagerService;->getRecordForAppLocked(Landroid/app/IApplicationThread;)Lcom/android/server/am/ProcessRecord;
45152 move-result-object v6
45154 if-nez v6, :cond_32
45156 new-instance v0, Ljava/lang/SecurityException;
45158 new-instance v1, Ljava/lang/StringBuilder;
45160 invoke-direct {v1}, Ljava/lang/StringBuilder;-><init>()V
45162 const-string v2, "Unable to find app for caller "
45164 invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
45166 move-result-object v1
45168 invoke-virtual {v1, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
45170 move-result-object v1
45172 const-string v2, " when granting permission to uri "
45174 invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
45176 move-result-object v1
45178 invoke-virtual {v1, p3}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
45180 move-result-object v1
45182 invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
45184 move-result-object v1
45186 invoke-direct {v0, v1}, Ljava/lang/SecurityException;-><init>(Ljava/lang/String;)V
45195 .catchall {:try_start_6 .. :try_end_31} :catchall_2f
45200 if-nez p2, :cond_3c
45203 new-instance v0, Ljava/lang/IllegalArgumentException;
45205 const-string v1, "null target"
45207 invoke-direct {v0, v1}, Ljava/lang/IllegalArgumentException;-><init>(Ljava/lang/String;)V
45212 if-nez p3, :cond_46
45214 new-instance v0, Ljava/lang/IllegalArgumentException;
45216 const-string v1, "null uri"
45218 invoke-direct {v0, v1}, Ljava/lang/IllegalArgumentException;-><init>(Ljava/lang/String;)V
45223 iget v1, v6, Lcom/android/server/am/ProcessRecord;->uid:I
45235 invoke-virtual/range {v0 .. v5}, Lcom/android/server/am/ActivityManagerService;->grantUriPermissionLocked(ILjava/lang/String;Landroid/net/Uri;ILcom/android/server/am/UriPermissionOwner;)V
45239 .catchall {:try_start_34 .. :try_end_51} :catchall_2f
45244 .method grantUriPermissionFromIntentLocked(ILjava/lang/String;Landroid/content/Intent;Lcom/android/server/am/UriPermissionOwner;)V
45247 if-eqz p3, :cond_12
45249 invoke-virtual {p3}, Landroid/content/Intent;->getFlags()I
45264 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;
45266 move-result-object v6
45268 if-nez v6, :cond_14
45279 invoke-virtual {p0, v6, p4}, Lcom/android/server/am/ActivityManagerService;->grantUriPermissionUncheckedFromIntentLocked(Lcom/android/server/am/ActivityManagerService$NeededUriGrants;Lcom/android/server/am/UriPermissionOwner;)V
45284 .method public grantUriPermissionFromOwner(Landroid/os/IBinder;ILjava/lang/String;Landroid/net/Uri;I)V
45290 invoke-static {p1}, Lcom/android/server/am/UriPermissionOwner;->fromExternalToken(Landroid/os/IBinder;)Lcom/android/server/am/UriPermissionOwner;
45292 move-result-object v5
45294 if-nez v5, :cond_23
45296 new-instance v0, Ljava/lang/IllegalArgumentException;
45298 new-instance v1, Ljava/lang/StringBuilder;
45300 invoke-direct {v1}, Ljava/lang/StringBuilder;-><init>()V
45302 const-string v2, "Unknown owner: "
45304 invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
45306 move-result-object v1
45308 invoke-virtual {v1, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
45310 move-result-object v1
45312 invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
45314 move-result-object v1
45316 invoke-direct {v0, v1}, Ljava/lang/IllegalArgumentException;-><init>(Ljava/lang/String;)V
45325 .catchall {:try_start_1 .. :try_end_22} :catchall_20
45331 invoke-static {}, Landroid/os/Binder;->getCallingUid()I
45335 if-eq p2, v0, :cond_3b
45337 invoke-static {}, Landroid/os/Binder;->getCallingUid()I
45341 invoke-static {}, Landroid/os/Process;->myUid()I
45345 if-eq v0, v1, :cond_3b
45347 new-instance v0, Ljava/lang/SecurityException;
45349 const-string v1, "nice try"
45351 invoke-direct {v0, v1}, Ljava/lang/SecurityException;-><init>(Ljava/lang/String;)V
45356 if-nez p3, :cond_45
45358 new-instance v0, Ljava/lang/IllegalArgumentException;
45360 const-string v1, "null target"
45362 invoke-direct {v0, v1}, Ljava/lang/IllegalArgumentException;-><init>(Ljava/lang/String;)V
45367 if-nez p4, :cond_4f
45369 new-instance v0, Ljava/lang/IllegalArgumentException;
45371 const-string v1, "null uri"
45373 invoke-direct {v0, v1}, Ljava/lang/IllegalArgumentException;-><init>(Ljava/lang/String;)V
45388 invoke-virtual/range {v0 .. v5}, Lcom/android/server/am/ActivityManagerService;->grantUriPermissionLocked(ILjava/lang/String;Landroid/net/Uri;ILcom/android/server/am/UriPermissionOwner;)V
45392 .catchall {:try_start_23 .. :try_end_58} :catchall_20
45397 .method grantUriPermissionLocked(ILjava/lang/String;Landroid/net/Uri;ILcom/android/server/am/UriPermissionOwner;)V
45402 new-instance v0, Ljava/lang/NullPointerException;
45404 const-string v2, "targetPkg"
45406 invoke-direct {v0, v2}, Ljava/lang/NullPointerException;-><init>(Ljava/lang/String;)V
45423 invoke-virtual/range {v0 .. v5}, Lcom/android/server/am/ActivityManagerService;->checkGrantUriPermissionLocked(ILjava/lang/String;Landroid/net/Uri;II)I
45427 if-gez v1, :cond_17
45443 invoke-virtual/range {v0 .. v5}, Lcom/android/server/am/ActivityManagerService;->grantUriPermissionUncheckedLocked(ILjava/lang/String;Landroid/net/Uri;ILcom/android/server/am/UriPermissionOwner;)V
45448 .method grantUriPermissionUncheckedFromIntentLocked(Lcom/android/server/am/ActivityManagerService$NeededUriGrants;Lcom/android/server/am/UriPermissionOwner;)V
45451 if-eqz p1, :cond_1d
45456 invoke-virtual {p1}, Lcom/android/server/am/ActivityManagerService$NeededUriGrants;->size()I
45460 if-ge v6, v0, :cond_1d
45462 iget v1, p1, Lcom/android/server/am/ActivityManagerService$NeededUriGrants;->targetUid:I
45464 iget-object v2, p1, Lcom/android/server/am/ActivityManagerService$NeededUriGrants;->targetPkg:Ljava/lang/String;
45466 invoke-virtual {p1, v6}, Lcom/android/server/am/ActivityManagerService$NeededUriGrants;->get(I)Ljava/lang/Object;
45468 move-result-object v3
45470 check-cast v3, Landroid/net/Uri;
45472 iget v4, p1, Lcom/android/server/am/ActivityManagerService$NeededUriGrants;->flags:I
45478 invoke-virtual/range {v0 .. v5}, Lcom/android/server/am/ActivityManagerService;->grantUriPermissionUncheckedLocked(ILjava/lang/String;Landroid/net/Uri;ILcom/android/server/am/UriPermissionOwner;)V
45480 add-int/lit8 v6, v6, 0x1
45488 .method grantUriPermissionUncheckedLocked(ILjava/lang/String;Landroid/net/Uri;ILcom/android/server/am/UriPermissionOwner;)V
45491 and-int/lit8 p4, p4, 0x3
45500 iget-object v2, p0, Lcom/android/server/am/ActivityManagerService;->mGrantedUriPermissions:Landroid/util/SparseArray;
45502 invoke-virtual {v2, p1}, Landroid/util/SparseArray;->get(I)Ljava/lang/Object;
45504 move-result-object v1
45506 check-cast v1, Ljava/util/HashMap;
45508 if-nez v1, :cond_19
45510 new-instance v1, Ljava/util/HashMap;
45512 invoke-direct {v1}, Ljava/util/HashMap;-><init>()V
45514 iget-object v2, p0, Lcom/android/server/am/ActivityManagerService;->mGrantedUriPermissions:Landroid/util/SparseArray;
45516 invoke-virtual {v2, p1, v1}, Landroid/util/SparseArray;->put(ILjava/lang/Object;)V
45519 invoke-virtual {v1, p3}, Ljava/util/HashMap;->get(Ljava/lang/Object;)Ljava/lang/Object;
45521 move-result-object v0
45523 check-cast v0, Lcom/android/server/am/UriPermission;
45525 if-nez v0, :cond_29
45527 new-instance v0, Lcom/android/server/am/UriPermission;
45529 invoke-direct {v0, p1, p3}, Lcom/android/server/am/UriPermission;-><init>(ILandroid/net/Uri;)V
45531 invoke-virtual {v1, p3, v0}, Ljava/util/HashMap;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
45534 iget v2, v0, Lcom/android/server/am/UriPermission;->modeFlags:I
45536 or-int/2addr v2, p4
45538 iput v2, v0, Lcom/android/server/am/UriPermission;->modeFlags:I
45540 if-nez p5, :cond_36
45542 iget v2, v0, Lcom/android/server/am/UriPermission;->globalModeFlags:I
45544 or-int/2addr v2, p4
45546 iput v2, v0, Lcom/android/server/am/UriPermission;->globalModeFlags:I
45551 and-int/lit8 v2, p4, 0x1
45553 if-eqz v2, :cond_42
45555 iget-object v2, v0, Lcom/android/server/am/UriPermission;->readOwners:Ljava/util/HashSet;
45557 invoke-virtual {v2, p5}, Ljava/util/HashSet;->add(Ljava/lang/Object;)Z
45559 invoke-virtual {p5, v0}, Lcom/android/server/am/UriPermissionOwner;->addReadPermission(Lcom/android/server/am/UriPermission;)V
45562 and-int/lit8 v2, p4, 0x2
45566 iget-object v2, v0, Lcom/android/server/am/UriPermission;->writeOwners:Ljava/util/HashSet;
45568 invoke-virtual {v2, p5}, Ljava/util/HashSet;->add(Ljava/lang/Object;)Z
45570 invoke-virtual {p5, v0}, Lcom/android/server/am/UriPermissionOwner;->addWritePermission(Lcom/android/server/am/UriPermission;)V
45575 .method public handleApplicationCrash(Landroid/os/IBinder;Landroid/app/ApplicationErrorReport$CrashInfo;)V
45580 const-string v0, "Crash"
45582 invoke-direct {p0, p1, v0}, Lcom/android/server/am/ActivityManagerService;->findAppProcess(Landroid/os/IBinder;Ljava/lang/String;)Lcom/android/server/am/ProcessRecord;
45584 move-result-object v2
45586 if-nez p1, :cond_52
45588 const-string v3, "system_server"
45591 const/16 v1, 0x7557
45595 new-array v5, v0, [Ljava/lang/Object;
45599 invoke-static {}, Landroid/os/Binder;->getCallingPid()I
45603 invoke-static {v6}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
45605 move-result-object v6
45607 aput-object v6, v5, v0
45611 aput-object v3, v5, v0
45615 if-nez v2, :cond_5a
45620 invoke-static {v0}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
45622 move-result-object v0
45624 aput-object v0, v5, v6
45628 iget-object v6, p2, Landroid/app/ApplicationErrorReport$CrashInfo;->exceptionClassName:Ljava/lang/String;
45630 aput-object v6, v5, v0
45634 iget-object v6, p2, Landroid/app/ApplicationErrorReport$CrashInfo;->exceptionMessage:Ljava/lang/String;
45636 aput-object v6, v5, v0
45640 iget-object v6, p2, Landroid/app/ApplicationErrorReport$CrashInfo;->throwFileName:Ljava/lang/String;
45642 aput-object v6, v5, v0
45646 iget v6, p2, Landroid/app/ApplicationErrorReport$CrashInfo;->throwLineNumber:I
45648 invoke-static {v6}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
45650 move-result-object v6
45652 aput-object v6, v5, v0
45654 invoke-static {v1, v5}, Landroid/util/EventLog;->writeEvent(I[Ljava/lang/Object;)I
45656 const-string v1, "crash"
45670 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
45672 invoke-direct {p0, v2, p2}, Lcom/android/server/am/ActivityManagerService;->crashApplication(Lcom/android/server/am/ProcessRecord;Landroid/app/ApplicationErrorReport$CrashInfo;)V
45677 if-nez v2, :cond_57
45679 const-string v3, "unknown"
45684 iget-object v3, v2, Lcom/android/server/am/ProcessRecord;->processName:Ljava/lang/String;
45689 iget-object v0, v2, Lcom/android/server/am/ProcessRecord;->info:Landroid/content/pm/ApplicationInfo;
45691 iget v0, v0, Landroid/content/pm/ApplicationInfo;->flags:I
45696 .method public handleApplicationStrictModeViolation(Landroid/os/IBinder;ILandroid/os/StrictMode$ViolationInfo;)V
45699 const-string v9, "StrictMode"
45701 invoke-direct {p0, p1, v9}, Lcom/android/server/am/ActivityManagerService;->findAppProcess(Landroid/os/IBinder;Ljava/lang/String;)Lcom/android/server/am/ProcessRecord;
45703 move-result-object v5
45712 and-int/lit16 v9, p2, 0x80
45714 if-eqz v9, :cond_28
45716 invoke-virtual {p3}, Landroid/os/StrictMode$ViolationInfo;->hashCode()I
45720 invoke-static {v9}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
45722 move-result-object v8
45726 iget-object v10, p0, Lcom/android/server/am/ActivityManagerService;->mAlreadyLoggedViolatedStacks:Ljava/util/HashSet;
45731 iget-object v9, p0, Lcom/android/server/am/ActivityManagerService;->mAlreadyLoggedViolatedStacks:Ljava/util/HashSet;
45733 invoke-virtual {v9, v8}, Ljava/util/HashSet;->contains(Ljava/lang/Object;)Z
45737 if-eqz v9, :cond_83
45744 .catchall {:try_start_19 .. :try_end_23} :catchall_98
45746 if-eqz v1, :cond_28
45748 invoke-direct {p0, v5, p3}, Lcom/android/server/am/ActivityManagerService;->logStrictModeViolationToDropBox(Lcom/android/server/am/ProcessRecord;Landroid/os/StrictMode$ViolationInfo;)V
45751 and-int/lit8 v9, p2, 0x20
45755 new-instance v7, Lcom/android/server/am/AppErrorResult;
45757 invoke-direct {v7}, Lcom/android/server/am/AppErrorResult;-><init>()V
45762 invoke-static {}, Landroid/os/Binder;->clearCallingIdentity()J
45764 move-result-wide v3
45766 invoke-static {}, Landroid/os/Message;->obtain()Landroid/os/Message;
45768 move-result-object v2
45772 iput v9, v2, Landroid/os/Message;->what:I
45774 new-instance v0, Ljava/util/HashMap;
45776 invoke-direct {v0}, Ljava/util/HashMap;-><init>()V
45778 const-string v9, "result"
45780 invoke-virtual {v0, v9, v7}, Ljava/util/HashMap;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
45782 const-string v9, "app"
45784 invoke-virtual {v0, v9, v5}, Ljava/util/HashMap;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
45786 const-string v9, "violationMask"
45788 invoke-static {p2}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
45790 move-result-object v10
45792 invoke-virtual {v0, v9, v10}, Ljava/util/HashMap;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
45794 const-string v9, "info"
45796 invoke-virtual {v0, v9, p3}, Ljava/util/HashMap;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
45798 iput-object v0, v2, Landroid/os/Message;->obj:Ljava/lang/Object;
45800 iget-object v9, p0, Lcom/android/server/am/ActivityManagerService;->mHandler:Landroid/os/Handler;
45802 invoke-virtual {v9, v2}, Landroid/os/Handler;->sendMessage(Landroid/os/Message;)Z
45804 invoke-static {v3, v4}, Landroid/os/Binder;->restoreCallingIdentity(J)V
45808 .catchall {:try_start_32 .. :try_end_66} :catchall_9b
45810 invoke-virtual {v7}, Lcom/android/server/am/AppErrorResult;->get()I
45814 const-string v9, "ActivityManager"
45816 new-instance v10, Ljava/lang/StringBuilder;
45818 invoke-direct {v10}, Ljava/lang/StringBuilder;-><init>()V
45820 const-string v11, "handleApplicationStrictModeViolation; res="
45822 invoke-virtual {v10, v11}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
45824 move-result-object v10
45826 invoke-virtual {v10, v6}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
45828 move-result-object v10
45830 invoke-virtual {v10}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
45832 move-result-object v10
45834 invoke-static {v9, v10}, Landroid/util/Slog;->w(Ljava/lang/String;Ljava/lang/String;)I
45840 iget-object v9, p0, Lcom/android/server/am/ActivityManagerService;->mAlreadyLoggedViolatedStacks:Ljava/util/HashSet;
45842 invoke-virtual {v9}, Ljava/util/HashSet;->size()I
45846 const/16 v11, 0x1388
45848 if-lt v9, v11, :cond_92
45850 iget-object v9, p0, Lcom/android/server/am/ActivityManagerService;->mAlreadyLoggedViolatedStacks:Ljava/util/HashSet;
45852 invoke-virtual {v9}, Ljava/util/HashSet;->clear()V
45855 iget-object v9, p0, Lcom/android/server/am/ActivityManagerService;->mAlreadyLoggedViolatedStacks:Ljava/util/HashSet;
45857 invoke-virtual {v9, v8}, Ljava/util/HashSet;->add(Ljava/lang/Object;)Z
45866 .catchall {:try_start_83 .. :try_end_9a} :catchall_98
45876 .catchall {:try_start_9c .. :try_end_9d} :catchall_9b
45881 .method public handleApplicationWtf(Landroid/os/IBinder;Ljava/lang/String;Landroid/app/ApplicationErrorReport$CrashInfo;)Z
45890 const-string v0, "WTF"
45892 invoke-direct {p0, p1, v0}, Lcom/android/server/am/ActivityManagerService;->findAppProcess(Landroid/os/IBinder;Ljava/lang/String;)Lcom/android/server/am/ProcessRecord;
45894 move-result-object v2
45896 if-nez p1, :cond_5b
45898 const-string v3, "system_server"
45901 const/16 v1, 0x7558
45905 new-array v5, v0, [Ljava/lang/Object;
45907 invoke-static {}, Landroid/os/Binder;->getCallingPid()I
45911 invoke-static {v0}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
45913 move-result-object v0
45915 aput-object v0, v5, v11
45917 aput-object v3, v5, v10
45921 if-nez v2, :cond_63
45926 invoke-static {v0}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
45928 move-result-object v0
45930 aput-object v0, v5, v6
45934 aput-object p2, v5, v0
45938 iget-object v6, p3, Landroid/app/ApplicationErrorReport$CrashInfo;->exceptionMessage:Ljava/lang/String;
45940 aput-object v6, v5, v0
45942 invoke-static {v1, v5}, Landroid/util/EventLog;->writeEvent(I[Ljava/lang/Object;)I
45944 const-string v1, "wtf"
45958 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
45960 if-eqz v2, :cond_68
45962 iget v0, v2, Lcom/android/server/am/ProcessRecord;->pid:I
45964 invoke-static {}, Landroid/os/Process;->myPid()I
45968 if-eq v0, v1, :cond_68
45970 iget-object v0, p0, Lcom/android/server/am/ActivityManagerService;->mContext:Landroid/content/Context;
45972 invoke-virtual {v0}, Landroid/content/Context;->getContentResolver()Landroid/content/ContentResolver;
45974 move-result-object v0
45976 const-string v1, "wtf_is_fatal"
45978 invoke-static {v0, v1, v11}, Landroid/provider/Settings$Secure;->getInt(Landroid/content/ContentResolver;Ljava/lang/String;I)I
45982 if-eqz v0, :cond_68
45984 invoke-direct {p0, v2, p3}, Lcom/android/server/am/ActivityManagerService;->crashApplication(Lcom/android/server/am/ProcessRecord;Landroid/app/ApplicationErrorReport$CrashInfo;)V
45992 if-nez v2, :cond_60
45994 const-string v3, "unknown"
45999 iget-object v3, v2, Lcom/android/server/am/ProcessRecord;->processName:Ljava/lang/String;
46004 iget-object v0, v2, Lcom/android/server/am/ProcessRecord;->info:Landroid/content/pm/ApplicationInfo;
46006 iget v0, v0, Landroid/content/pm/ApplicationInfo;->flags:I
46016 .method incProviderCountLocked(Lcom/android/server/am/ProcessRecord;Lcom/android/server/am/ContentProviderRecord;Landroid/os/IBinder;Z)Lcom/android/server/am/ContentProviderConnection;
46021 if-eqz p1, :cond_52
46026 iget-object v2, p1, Lcom/android/server/am/ProcessRecord;->conProviders:Ljava/util/ArrayList;
46028 invoke-virtual {v2}, Ljava/util/ArrayList;->size()I
46032 if-ge v1, v2, :cond_37
46034 iget-object v2, p1, Lcom/android/server/am/ProcessRecord;->conProviders:Ljava/util/ArrayList;
46036 invoke-virtual {v2, v1}, Ljava/util/ArrayList;->get(I)Ljava/lang/Object;
46038 move-result-object v0
46040 check-cast v0, Lcom/android/server/am/ContentProviderConnection;
46042 iget-object v2, v0, Lcom/android/server/am/ContentProviderConnection;->provider:Lcom/android/server/am/ContentProviderRecord;
46044 if-ne v2, p2, :cond_34
46046 if-eqz p4, :cond_27
46048 iget v2, v0, Lcom/android/server/am/ContentProviderConnection;->stableCount:I
46050 add-int/lit8 v2, v2, 0x1
46052 iput v2, v0, Lcom/android/server/am/ContentProviderConnection;->stableCount:I
46054 iget v2, v0, Lcom/android/server/am/ContentProviderConnection;->numStableIncs:I
46056 add-int/lit8 v2, v2, 0x1
46058 iput v2, v0, Lcom/android/server/am/ContentProviderConnection;->numStableIncs:I
46064 iget v2, v0, Lcom/android/server/am/ContentProviderConnection;->unstableCount:I
46066 add-int/lit8 v2, v2, 0x1
46068 iput v2, v0, Lcom/android/server/am/ContentProviderConnection;->unstableCount:I
46070 iget v2, v0, Lcom/android/server/am/ContentProviderConnection;->numUnstableIncs:I
46072 add-int/lit8 v2, v2, 0x1
46074 iput v2, v0, Lcom/android/server/am/ContentProviderConnection;->numUnstableIncs:I
46079 add-int/lit8 v1, v1, 0x1
46084 new-instance v0, Lcom/android/server/am/ContentProviderConnection;
46086 invoke-direct {v0, p2, p1}, Lcom/android/server/am/ContentProviderConnection;-><init>(Lcom/android/server/am/ContentProviderRecord;Lcom/android/server/am/ProcessRecord;)V
46088 if-eqz p4, :cond_4d
46090 iput v3, v0, Lcom/android/server/am/ContentProviderConnection;->stableCount:I
46092 iput v3, v0, Lcom/android/server/am/ContentProviderConnection;->numStableIncs:I
46095 iget-object v2, p2, Lcom/android/server/am/ContentProviderRecord;->connections:Ljava/util/ArrayList;
46097 invoke-virtual {v2, v0}, Ljava/util/ArrayList;->add(Ljava/lang/Object;)Z
46099 iget-object v2, p1, Lcom/android/server/am/ProcessRecord;->conProviders:Ljava/util/ArrayList;
46101 invoke-virtual {v2, v0}, Ljava/util/ArrayList;->add(Ljava/lang/Object;)Z
46106 iput v3, v0, Lcom/android/server/am/ContentProviderConnection;->unstableCount:I
46108 iput v3, v0, Lcom/android/server/am/ContentProviderConnection;->numUnstableIncs:I
46113 invoke-virtual {p2, p3}, Lcom/android/server/am/ContentProviderRecord;->addExternalProcessHandleLocked(Landroid/os/IBinder;)V
46120 .method isAllowedWhileBooting(Landroid/content/pm/ApplicationInfo;)Z
46123 iget v0, p1, Landroid/content/pm/ApplicationInfo;->flags:I
46125 and-int/lit8 v0, v0, 0x8
46140 .method public isImmersive(Landroid/os/IBinder;)Z
46146 iget-object v1, p0, Lcom/android/server/am/ActivityManagerService;->mMainStack:Lcom/android/server/am/ActivityStack;
46148 invoke-virtual {v1, p1}, Lcom/android/server/am/ActivityStack;->isInStackLocked(Landroid/os/IBinder;)Lcom/android/server/am/ActivityRecord;
46150 move-result-object v0
46152 if-nez v0, :cond_12
46154 new-instance v1, Ljava/lang/IllegalArgumentException;
46156 invoke-direct {v1}, Ljava/lang/IllegalArgumentException;-><init>()V
46165 .catchall {:try_start_1 .. :try_end_11} :catchall_f
46171 iget-boolean v1, v0, Lcom/android/server/am/ActivityRecord;->immersive:Z
46175 .catchall {:try_start_12 .. :try_end_15} :catchall_f
46180 .method public isIntentSenderAnActivity(Landroid/content/IIntentSender;)Z
46185 instance-of v3, p1, Lcom/android/server/am/PendingIntentRecord;
46197 check-cast v0, Lcom/android/server/am/PendingIntentRecord;
46201 iget-object v3, v1, Lcom/android/server/am/PendingIntentRecord;->key:Lcom/android/server/am/PendingIntentRecord$Key;
46203 iget v3, v3, Lcom/android/server/am/PendingIntentRecord$Key;->type:I
46205 .catch Ljava/lang/ClassCastException; {:try_start_6 .. :try_end_e} :catch_13
46209 if-ne v3, v4, :cond_5
46221 .method public isIntentSenderTargetedToPackage(Landroid/content/IIntentSender;)Z
46226 instance-of v5, p1, Lcom/android/server/am/PendingIntentRecord;
46238 check-cast v0, Lcom/android/server/am/PendingIntentRecord;
46242 iget-object v5, v3, Lcom/android/server/am/PendingIntentRecord;->key:Lcom/android/server/am/PendingIntentRecord$Key;
46244 iget-object v5, v5, Lcom/android/server/am/PendingIntentRecord$Key;->allIntents:[Landroid/content/Intent;
46251 iget-object v5, v3, Lcom/android/server/am/PendingIntentRecord;->key:Lcom/android/server/am/PendingIntentRecord$Key;
46253 iget-object v5, v5, Lcom/android/server/am/PendingIntentRecord$Key;->allIntents:[Landroid/content/Intent;
46255 array-length v5, v5
46257 if-ge v1, v5, :cond_2d
46259 iget-object v5, v3, Lcom/android/server/am/PendingIntentRecord;->key:Lcom/android/server/am/PendingIntentRecord$Key;
46261 iget-object v5, v5, Lcom/android/server/am/PendingIntentRecord$Key;->allIntents:[Landroid/content/Intent;
46263 aget-object v2, v5, v1
46265 invoke-virtual {v2}, Landroid/content/Intent;->getPackage()Ljava/lang/String;
46267 move-result-object v5
46269 if-eqz v5, :cond_2a
46271 invoke-virtual {v2}, Landroid/content/Intent;->getComponent()Landroid/content/ComponentName;
46273 .catch Ljava/lang/ClassCastException; {:try_start_6 .. :try_end_27} :catch_2f
46275 move-result-object v5
46280 add-int/lit8 v1, v1, 0x1
46295 .method isNextTransitionForward()Z
46298 iget-object v1, p0, Lcom/android/server/am/ActivityManagerService;->mWindowManager:Lcom/android/server/wm/WindowManagerService;
46300 invoke-virtual {v1}, Lcom/android/server/wm/WindowManagerService;->getPendingAppTransition()I
46304 const/16 v1, 0x1006
46306 if-eq v0, v1, :cond_12
46308 const/16 v1, 0x1008
46310 if-eq v0, v1, :cond_12
46312 const/16 v1, 0x100a
46314 if-ne v0, v1, :cond_14
46328 .method isPendingBroadcastProcessLocked(I)Z
46331 iget-object v0, p0, Lcom/android/server/am/ActivityManagerService;->mFgBroadcastQueue:Lcom/android/server/am/BroadcastQueue;
46333 invoke-virtual {v0, p1}, Lcom/android/server/am/BroadcastQueue;->isPendingBroadcastProcessLocked(I)Z
46337 if-nez v0, :cond_10
46339 iget-object v0, p0, Lcom/android/server/am/ActivityManagerService;->mBgBroadcastQueue:Lcom/android/server/am/BroadcastQueue;
46341 invoke-virtual {v0, p1}, Lcom/android/server/am/BroadcastQueue;->isPendingBroadcastProcessLocked(I)Z
46345 if-eqz v0, :cond_12
46359 .method isSingleton(Ljava/lang/String;Landroid/content/pm/ApplicationInfo;)Z
46364 iget v1, p2, Landroid/content/pm/ApplicationInfo;->uid:I
46366 invoke-static {v1}, Landroid/os/UserId;->getAppId(I)I
46370 const/16 v2, 0x2710
46372 if-lt v1, v2, :cond_d
46381 iget-object v1, p2, Landroid/content/pm/ApplicationInfo;->packageName:Ljava/lang/String;
46383 if-ne p1, v1, :cond_1b
46385 iget v1, p2, Landroid/content/pm/ApplicationInfo;->flags:I
46387 and-int/lit8 v1, v1, 0x8
46389 if-eqz v1, :cond_19
46402 const-string v1, "system"
46404 invoke-virtual {v1, p1}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
46415 .method public isSleeping()Z
46418 iget-boolean v0, p0, Lcom/android/server/am/ActivityManagerService;->mSleeping:Z
46422 iget-boolean v0, p0, Lcom/android/server/am/ActivityManagerService;->mShuttingDown:Z
46438 .method public isTopActivityImmersive()Z
46441 const-string v1, "startActivity"
46443 invoke-virtual {p0, v1}, Lcom/android/server/am/ActivityManagerService;->enforceNotIsolatedCaller(Ljava/lang/String;)V
46448 iget-object v1, p0, Lcom/android/server/am/ActivityManagerService;->mMainStack:Lcom/android/server/am/ActivityStack;
46452 invoke-virtual {v1, v2}, Lcom/android/server/am/ActivityStack;->topRunningActivityLocked(Lcom/android/server/am/ActivityRecord;)Lcom/android/server/am/ActivityRecord;
46454 move-result-object v0
46456 if-eqz v0, :cond_13
46458 iget-boolean v1, v0, Lcom/android/server/am/ActivityRecord;->immersive:Z
46475 .catchall {:try_start_6 .. :try_end_17} :catchall_15
46480 .method public isUserAMonkey()Z
46486 iget-object v0, p0, Lcom/android/server/am/ActivityManagerService;->mController:Landroid/app/IActivityController;
46507 .catchall {:try_start_1 .. :try_end_c} :catchall_a
46512 .method public killAllBackgroundProcesses()V
46515 const-string v11, "android.permission.KILL_BACKGROUND_PROCESSES"
46517 invoke-virtual {p0, v11}, Lcom/android/server/am/ActivityManagerService;->checkCallingPermission(Ljava/lang/String;)I
46521 if-eqz v11, :cond_44
46523 new-instance v11, Ljava/lang/StringBuilder;
46525 invoke-direct {v11}, Ljava/lang/StringBuilder;-><init>()V
46527 const-string v12, "Permission Denial: killAllBackgroundProcesses() from pid="
46529 invoke-virtual {v11, v12}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
46531 move-result-object v11
46533 invoke-static {}, Landroid/os/Binder;->getCallingPid()I
46537 invoke-virtual {v11, v12}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
46539 move-result-object v11
46541 const-string v12, ", uid="
46543 invoke-virtual {v11, v12}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
46545 move-result-object v11
46547 invoke-static {}, Landroid/os/Binder;->getCallingUid()I
46551 invoke-virtual {v11, v12}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
46553 move-result-object v11
46555 const-string v12, " requires "
46557 invoke-virtual {v11, v12}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
46559 move-result-object v11
46561 const-string v12, "android.permission.KILL_BACKGROUND_PROCESSES"
46563 invoke-virtual {v11, v12}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
46565 move-result-object v11
46567 invoke-virtual {v11}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
46569 move-result-object v9
46571 const-string v11, "ActivityManager"
46573 invoke-static {v11, v9}, Landroid/util/Slog;->w(Ljava/lang/String;Ljava/lang/String;)I
46575 new-instance v11, Ljava/lang/SecurityException;
46577 invoke-direct {v11, v9}, Ljava/lang/SecurityException;-><init>(Ljava/lang/String;)V
46582 invoke-static {}, Landroid/os/Binder;->clearCallingIdentity()J
46584 move-result-wide v4
46589 .catchall {:try_start_48 .. :try_end_49} :catchall_87
46592 new-instance v10, Ljava/util/ArrayList;
46594 invoke-direct {v10}, Ljava/util/ArrayList;-><init>()V
46596 iget-object v11, p0, Lcom/android/server/am/ActivityManagerService;->mProcessNames:Lcom/android/server/ProcessMap;
46598 invoke-virtual {v11}, Lcom/android/server/ProcessMap;->getMap()Ljava/util/HashMap;
46600 move-result-object v11
46602 invoke-virtual {v11}, Ljava/util/HashMap;->values()Ljava/util/Collection;
46604 move-result-object v11
46606 invoke-interface {v11}, Ljava/util/Collection;->iterator()Ljava/util/Iterator;
46608 move-result-object v7
46611 invoke-interface {v7}, Ljava/util/Iterator;->hasNext()Z
46615 if-eqz v11, :cond_99
46617 invoke-interface {v7}, Ljava/util/Iterator;->next()Ljava/lang/Object;
46619 move-result-object v3
46621 check-cast v3, Landroid/util/SparseArray;
46623 invoke-virtual {v3}, Landroid/util/SparseArray;->size()I
46630 if-ge v8, v1, :cond_5c
46632 invoke-virtual {v3, v8}, Landroid/util/SparseArray;->valueAt(I)Ljava/lang/Object;
46634 move-result-object v2
46636 check-cast v2, Lcom/android/server/am/ProcessRecord;
46638 iget-boolean v11, v2, Lcom/android/server/am/ProcessRecord;->persistent:Z
46640 if-eqz v11, :cond_7c
46644 add-int/lit8 v8, v8, 0x1
46649 iget-boolean v11, v2, Lcom/android/server/am/ProcessRecord;->removed:Z
46651 if-eqz v11, :cond_8c
46653 invoke-virtual {v10, v2}, Ljava/util/ArrayList;->add(Ljava/lang/Object;)Z
46662 .catchall {:try_start_49 .. :try_end_86} :catchall_84
46667 .catchall {:try_start_86 .. :try_end_87} :catchall_87
46672 invoke-static {v4, v5}, Landroid/os/Binder;->restoreCallingIdentity(J)V
46678 iget v11, v2, Lcom/android/server/am/ProcessRecord;->setAdj:I
46680 sget v12, Lcom/android/server/am/ProcessList;->HIDDEN_APP_MIN_ADJ:I
46682 if-lt v11, v12, :cond_79
46686 iput-boolean v11, v2, Lcom/android/server/am/ProcessRecord;->removed:Z
46688 invoke-virtual {v10, v2}, Ljava/util/ArrayList;->add(Ljava/lang/Object;)Z
46693 invoke-virtual {v10}, Ljava/util/ArrayList;->size()I
46700 if-ge v6, v0, :cond_b0
46702 invoke-virtual {v10, v6}, Ljava/util/ArrayList;->get(I)Ljava/lang/Object;
46704 move-result-object v11
46706 check-cast v11, Lcom/android/server/am/ProcessRecord;
46712 const-string v14, "kill all background"
46714 invoke-direct {p0, v11, v12, v13, v14}, Lcom/android/server/am/ActivityManagerService;->removeProcessLocked(Lcom/android/server/am/ProcessRecord;ZZLjava/lang/String;)Z
46716 add-int/lit8 v6, v6, 0x1
46723 .catchall {:try_start_8c .. :try_end_b1} :catchall_84
46725 invoke-static {v4, v5}, Landroid/os/Binder;->restoreCallingIdentity(J)V
46730 .method killAppAtUsersRequest(Lcom/android/server/am/ProcessRecord;Landroid/app/Dialog;)V
46738 iput-boolean v0, p1, Lcom/android/server/am/ProcessRecord;->crashing:Z
46742 iput-object v0, p1, Lcom/android/server/am/ProcessRecord;->crashingReport:Landroid/app/ActivityManager$ProcessErrorStateInfo;
46746 iput-boolean v0, p1, Lcom/android/server/am/ProcessRecord;->notResponding:Z
46750 iput-object v0, p1, Lcom/android/server/am/ProcessRecord;->notRespondingReport:Landroid/app/ActivityManager$ProcessErrorStateInfo;
46752 iget-object v0, p1, Lcom/android/server/am/ProcessRecord;->anrDialog:Landroid/app/Dialog;
46754 if-ne v0, p2, :cond_14
46758 iput-object v0, p1, Lcom/android/server/am/ProcessRecord;->anrDialog:Landroid/app/Dialog;
46761 iget-object v0, p1, Lcom/android/server/am/ProcessRecord;->waitDialog:Landroid/app/Dialog;
46763 if-ne v0, p2, :cond_1b
46767 iput-object v0, p1, Lcom/android/server/am/ProcessRecord;->waitDialog:Landroid/app/Dialog;
46770 iget v0, p1, Lcom/android/server/am/ProcessRecord;->pid:I
46772 if-lez v0, :cond_6f
46774 iget v0, p1, Lcom/android/server/am/ProcessRecord;->pid:I
46776 sget v1, Lcom/android/server/am/ActivityManagerService;->MY_PID:I
46778 if-eq v0, v1, :cond_6f
46780 invoke-direct {p0, p1}, Lcom/android/server/am/ActivityManagerService;->handleAppCrashLocked(Lcom/android/server/am/ProcessRecord;)Z
46782 const-string v0, "ActivityManager"
46784 new-instance v1, Ljava/lang/StringBuilder;
46786 invoke-direct {v1}, Ljava/lang/StringBuilder;-><init>()V
46788 const-string v2, "Killing "
46790 invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
46792 move-result-object v1
46794 invoke-virtual {v1, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
46796 move-result-object v1
46798 const-string v2, ": user\'s request"
46800 invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
46802 move-result-object v1
46804 invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
46806 move-result-object v1
46808 invoke-static {v0, v1}, Landroid/util/Slog;->i(Ljava/lang/String;Ljava/lang/String;)I
46810 const/16 v0, 0x7547
46814 new-array v1, v1, [Ljava/lang/Object;
46818 iget v3, p1, Lcom/android/server/am/ProcessRecord;->pid:I
46820 invoke-static {v3}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
46822 move-result-object v3
46824 aput-object v3, v1, v2
46828 iget-object v3, p1, Lcom/android/server/am/ProcessRecord;->processName:Ljava/lang/String;
46830 aput-object v3, v1, v2
46834 iget v3, p1, Lcom/android/server/am/ProcessRecord;->setAdj:I
46836 invoke-static {v3}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
46838 move-result-object v3
46840 aput-object v3, v1, v2
46844 const-string v3, "user\'s request after error"
46846 aput-object v3, v1, v2
46848 invoke-static {v0, v1}, Landroid/util/EventLog;->writeEvent(I[Ljava/lang/Object;)I
46850 iget v0, p1, Lcom/android/server/am/ProcessRecord;->pid:I
46852 invoke-static {v0}, Landroid/os/Process;->killProcessQuiet(I)V
46864 .catchall {:try_start_2 .. :try_end_73} :catchall_71
46869 .method public killApplicationProcess(Ljava/lang/String;I)V
46878 invoke-static {}, Landroid/os/Binder;->getCallingUid()I
46884 if-ne v1, v2, :cond_43
46889 invoke-virtual {p0, p1, p2}, Lcom/android/server/am/ActivityManagerService;->getProcessRecordLocked(Ljava/lang/String;I)Lcom/android/server/am/ProcessRecord;
46891 move-result-object v0
46893 if-eqz v0, :cond_20
46895 iget-object v2, v0, Lcom/android/server/am/ProcessRecord;->thread:Landroid/app/IApplicationThread;
46897 .catchall {:try_start_c .. :try_end_14} :catchall_1d
46899 if-eqz v2, :cond_20
46902 iget-object v2, v0, Lcom/android/server/am/ProcessRecord;->thread:Landroid/app/IApplicationThread;
46904 invoke-interface {v2}, Landroid/app/IApplicationThread;->scheduleSuicide()V
46906 .catchall {:try_start_16 .. :try_end_1b} :catchall_1d
46907 .catch Landroid/os/RemoteException; {:try_start_16 .. :try_end_1b} :catch_60
46920 .catchall {:try_start_1b .. :try_end_1f} :catchall_1d
46926 const-string v2, "ActivityManager"
46928 new-instance v3, Ljava/lang/StringBuilder;
46930 invoke-direct {v3}, Ljava/lang/StringBuilder;-><init>()V
46932 const-string v4, "Process/uid not found attempting kill of "
46934 invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
46936 move-result-object v3
46938 invoke-virtual {v3, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
46940 move-result-object v3
46942 const-string v4, " / "
46944 invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
46946 move-result-object v3
46948 invoke-virtual {v3, p2}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
46950 move-result-object v3
46952 invoke-virtual {v3}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
46954 move-result-object v3
46956 invoke-static {v2, v3}, Landroid/util/Slog;->w(Ljava/lang/String;Ljava/lang/String;)I
46958 .catchall {:try_start_20 .. :try_end_42} :catchall_1d
46963 new-instance v2, Ljava/lang/SecurityException;
46965 new-instance v3, Ljava/lang/StringBuilder;
46967 invoke-direct {v3}, Ljava/lang/StringBuilder;-><init>()V
46969 invoke-virtual {v3, v1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
46971 move-result-object v3
46973 const-string v4, " cannot kill app process: "
46975 invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
46977 move-result-object v3
46979 invoke-virtual {v3, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
46981 move-result-object v3
46983 invoke-virtual {v3}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
46985 move-result-object v3
46987 invoke-direct {v2, v3}, Ljava/lang/SecurityException;-><init>(Ljava/lang/String;)V
46997 .method public killApplicationWithUid(Ljava/lang/String;I)V
47006 if-gez p2, :cond_1e
47008 const-string v2, "ActivityManager"
47010 new-instance v3, Ljava/lang/StringBuilder;
47012 invoke-direct {v3}, Ljava/lang/StringBuilder;-><init>()V
47014 const-string v4, "Invalid uid specified for pkg : "
47016 invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
47018 move-result-object v3
47020 invoke-virtual {v3, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
47022 move-result-object v3
47024 invoke-virtual {v3}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
47026 move-result-object v3
47028 invoke-static {v2, v3}, Landroid/util/Slog;->w(Ljava/lang/String;Ljava/lang/String;)I
47033 invoke-static {}, Landroid/os/Binder;->getCallingUid()I
47039 if-ne v0, v2, :cond_3b
47041 iget-object v2, p0, Lcom/android/server/am/ActivityManagerService;->mHandler:Landroid/os/Handler;
47045 invoke-virtual {v2, v3}, Landroid/os/Handler;->obtainMessage(I)Landroid/os/Message;
47047 move-result-object v1
47049 iput p2, v1, Landroid/os/Message;->arg1:I
47053 iput v2, v1, Landroid/os/Message;->arg2:I
47055 iput-object p1, v1, Landroid/os/Message;->obj:Ljava/lang/Object;
47057 iget-object v2, p0, Lcom/android/server/am/ActivityManagerService;->mHandler:Landroid/os/Handler;
47059 invoke-virtual {v2, v1}, Landroid/os/Handler;->sendMessage(Landroid/os/Message;)Z
47064 new-instance v2, Ljava/lang/SecurityException;
47066 new-instance v3, Ljava/lang/StringBuilder;
47068 invoke-direct {v3}, Ljava/lang/StringBuilder;-><init>()V
47070 invoke-virtual {v3, v0}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
47072 move-result-object v3
47074 const-string v4, " cannot kill pkg: "
47076 invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
47078 move-result-object v3
47080 invoke-virtual {v3, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
47082 move-result-object v3
47084 invoke-virtual {v3}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
47086 move-result-object v3
47088 invoke-direct {v2, v3}, Ljava/lang/SecurityException;-><init>(Ljava/lang/String;)V
47093 .method public killBackgroundProcesses(Ljava/lang/String;)V
47096 const-string v0, "android.permission.KILL_BACKGROUND_PROCESSES"
47098 invoke-virtual {p0, v0}, Lcom/android/server/am/ActivityManagerService;->checkCallingPermission(Ljava/lang/String;)I
47102 if-eqz v0, :cond_4c
47104 const-string v0, "android.permission.RESTART_PACKAGES"
47106 invoke-virtual {p0, v0}, Lcom/android/server/am/ActivityManagerService;->checkCallingPermission(Ljava/lang/String;)I
47110 if-eqz v0, :cond_4c
47112 new-instance v0, Ljava/lang/StringBuilder;
47114 invoke-direct {v0}, Ljava/lang/StringBuilder;-><init>()V
47116 const-string v1, "Permission Denial: killBackgroundProcesses() from pid="
47118 invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
47120 move-result-object v0
47122 invoke-static {}, Landroid/os/Binder;->getCallingPid()I
47126 invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
47128 move-result-object v0
47130 const-string v1, ", uid="
47132 invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
47134 move-result-object v0
47136 invoke-static {}, Landroid/os/Binder;->getCallingUid()I
47140 invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
47142 move-result-object v0
47144 const-string v1, " requires "
47146 invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
47148 move-result-object v0
47150 const-string v1, "android.permission.KILL_BACKGROUND_PROCESSES"
47152 invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
47154 move-result-object v0
47156 invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
47158 move-result-object v11
47160 const-string v0, "ActivityManager"
47162 invoke-static {v0, v11}, Landroid/util/Slog;->w(Ljava/lang/String;Ljava/lang/String;)I
47164 new-instance v0, Ljava/lang/SecurityException;
47166 invoke-direct {v0, v11}, Ljava/lang/SecurityException;-><init>(Ljava/lang/String;)V
47171 invoke-static {}, Landroid/os/UserId;->getCallingUserId()I
47175 invoke-static {}, Landroid/os/Binder;->clearCallingIdentity()J
47177 move-result-wide v9
47180 invoke-static {}, Landroid/app/AppGlobals;->getPackageManager()Landroid/content/pm/IPackageManager;
47182 move-result-object v12
47188 .catchall {:try_start_54 .. :try_end_5a} :catchall_8f
47191 invoke-interface {v12, p1, v13}, Landroid/content/pm/IPackageManager;->getPackageUid(Ljava/lang/String;I)I
47193 .catchall {:try_start_5a .. :try_end_5d} :catchall_8c
47194 .catch Landroid/os/RemoteException; {:try_start_5a .. :try_end_5d} :catch_94
47201 if-ne v2, v0, :cond_7e
47204 const-string v0, "ActivityManager"
47206 new-instance v1, Ljava/lang/StringBuilder;
47208 invoke-direct {v1}, Ljava/lang/StringBuilder;-><init>()V
47210 const-string v3, "Invalid packageName: "
47212 invoke-virtual {v1, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
47214 move-result-object v1
47216 invoke-virtual {v1, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
47218 move-result-object v1
47220 invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
47222 move-result-object v1
47224 invoke-static {v0, v1}, Landroid/util/Slog;->w(Ljava/lang/String;Ljava/lang/String;)I
47228 .catchall {:try_start_61 .. :try_end_7a} :catchall_8c
47231 invoke-static {v9, v10}, Landroid/os/Binder;->restoreCallingIdentity(J)V
47247 const-string v8, "kill background"
47253 invoke-direct/range {v0 .. v8}, Lcom/android/server/am/ActivityManagerService;->killPackageProcessesLocked(Ljava/lang/String;IIZZZZLjava/lang/String;)Z
47264 .catchall {:try_start_83 .. :try_end_8e} :catchall_8c
47269 .catchall {:try_start_8e .. :try_end_8f} :catchall_8f
47274 invoke-static {v9, v10}, Landroid/os/Binder;->restoreCallingIdentity(J)V
47284 .method public killPids([ILjava/lang/String;Z)Z
47287 invoke-static {}, Landroid/os/Binder;->getCallingUid()I
47293 if-eq v8, v9, :cond_10
47295 new-instance v8, Ljava/lang/SecurityException;
47297 const-string v9, "killPids only available to the system"
47299 invoke-direct {v8, v9}, Ljava/lang/SecurityException;-><init>(Ljava/lang/String;)V
47304 if-nez p2, :cond_36
47306 const-string v4, "Unknown"
47311 iget-object v9, p0, Lcom/android/server/am/ActivityManagerService;->mPidsSelfLocked:Landroid/util/SparseArray;
47316 array-length v8, p1
47318 new-array v6, v8, [I
47325 array-length v8, p1
47327 if-ge v1, v8, :cond_38
47329 iget-object v8, p0, Lcom/android/server/am/ActivityManagerService;->mPidsSelfLocked:Landroid/util/SparseArray;
47333 invoke-virtual {v8, v10}, Landroid/util/SparseArray;->get(I)Ljava/lang/Object;
47335 move-result-object v3
47337 check-cast v3, Lcom/android/server/am/ProcessRecord;
47339 if-eqz v3, :cond_33
47341 iget v5, v3, Lcom/android/server/am/ProcessRecord;->setAdj:I
47345 if-le v5, v7, :cond_33
47350 add-int/lit8 v1, v1, 0x1
47362 if-ge v7, v8, :cond_42
47364 sget v8, Lcom/android/server/am/ProcessList;->HIDDEN_APP_MIN_ADJ:I
47366 if-le v7, v8, :cond_42
47368 sget v7, Lcom/android/server/am/ProcessList;->HIDDEN_APP_MIN_ADJ:I
47371 if-nez p3, :cond_48
47375 if-ge v7, v8, :cond_48
47380 const-string v8, "ActivityManager"
47382 new-instance v10, Ljava/lang/StringBuilder;
47384 invoke-direct {v10}, Ljava/lang/StringBuilder;-><init>()V
47386 const-string v11, "Killing processes "
47388 invoke-virtual {v10, v11}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
47390 move-result-object v10
47392 invoke-virtual {v10, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
47394 move-result-object v10
47396 const-string v11, " at adjustment "
47398 invoke-virtual {v10, v11}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
47400 move-result-object v10
47402 invoke-virtual {v10, v7}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
47404 move-result-object v10
47406 invoke-virtual {v10}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
47408 move-result-object v10
47410 invoke-static {v8, v10}, Landroid/util/Slog;->w(Ljava/lang/String;Ljava/lang/String;)I
47415 array-length v8, p1
47417 if-ge v1, v8, :cond_de
47419 iget-object v8, p0, Lcom/android/server/am/ActivityManagerService;->mPidsSelfLocked:Landroid/util/SparseArray;
47423 invoke-virtual {v8, v10}, Landroid/util/SparseArray;->get(I)Ljava/lang/Object;
47425 move-result-object v3
47427 check-cast v3, Lcom/android/server/am/ProcessRecord;
47429 if-nez v3, :cond_7d
47433 add-int/lit8 v1, v1, 0x1
47438 iget v0, v3, Lcom/android/server/am/ProcessRecord;->setAdj:I
47440 if-lt v0, v7, :cond_7a
47442 iget-boolean v8, v3, Lcom/android/server/am/ProcessRecord;->killedBackground:Z
47444 if-nez v8, :cond_7a
47446 const-string v8, "ActivityManager"
47448 new-instance v10, Ljava/lang/StringBuilder;
47450 invoke-direct {v10}, Ljava/lang/StringBuilder;-><init>()V
47452 const-string v11, "Killing "
47454 invoke-virtual {v10, v11}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
47456 move-result-object v10
47458 invoke-virtual {v10, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
47460 move-result-object v10
47462 const-string v11, " (adj "
47464 invoke-virtual {v10, v11}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
47466 move-result-object v10
47468 invoke-virtual {v10, v0}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
47470 move-result-object v10
47472 const-string v11, "): "
47474 invoke-virtual {v10, v11}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
47476 move-result-object v10
47478 invoke-virtual {v10, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
47480 move-result-object v10
47482 invoke-virtual {v10}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
47484 move-result-object v10
47486 invoke-static {v8, v10}, Landroid/util/Slog;->w(Ljava/lang/String;Ljava/lang/String;)I
47488 const/16 v8, 0x7547
47492 new-array v10, v10, [Ljava/lang/Object;
47496 iget v12, v3, Lcom/android/server/am/ProcessRecord;->pid:I
47498 invoke-static {v12}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
47500 move-result-object v12
47502 aput-object v12, v10, v11
47506 iget-object v12, v3, Lcom/android/server/am/ProcessRecord;->processName:Ljava/lang/String;
47508 aput-object v12, v10, v11
47512 invoke-static {v0}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
47514 move-result-object v12
47516 aput-object v12, v10, v11
47520 aput-object v4, v10, v11
47522 invoke-static {v8, v10}, Landroid/util/EventLog;->writeEvent(I[Ljava/lang/Object;)I
47528 iput-boolean v8, v3, Lcom/android/server/am/ProcessRecord;->killedBackground:Z
47532 invoke-static {v8}, Landroid/os/Process;->killProcessQuiet(I)V
47541 .catchall {:try_start_18 .. :try_end_dd} :catchall_db
47549 .catchall {:try_start_de .. :try_end_df} :catchall_db
47554 .method public killProcessesBelowForeground(Ljava/lang/String;)Z
47557 invoke-static {}, Landroid/os/Binder;->getCallingUid()I
47563 if-eq v0, v1, :cond_10
47565 new-instance v0, Ljava/lang/SecurityException;
47567 const-string v1, "killProcessesBelowForeground() only available to system"
47569 invoke-direct {v0, v1}, Ljava/lang/SecurityException;-><init>(Ljava/lang/String;)V
47576 invoke-direct {p0, v0, p1}, Lcom/android/server/am/ActivityManagerService;->killProcessesBelowAdj(ILjava/lang/String;)Z
47583 .method final logAppTooSlow(Lcom/android/server/am/ProcessRecord;JLjava/lang/String;)V
47589 .method makeRunningServiceInfoLocked(Lcom/android/server/am/ServiceRecord;)Landroid/app/ActivityManager$RunningServiceInfo;
47592 new-instance v4, Landroid/app/ActivityManager$RunningServiceInfo;
47594 invoke-direct {v4}, Landroid/app/ActivityManager$RunningServiceInfo;-><init>()V
47596 iget-object v5, p1, Lcom/android/server/am/ServiceRecord;->name:Landroid/content/ComponentName;
47598 iput-object v5, v4, Landroid/app/ActivityManager$RunningServiceInfo;->service:Landroid/content/ComponentName;
47600 iget-object v5, p1, Lcom/android/server/am/ServiceRecord;->app:Lcom/android/server/am/ProcessRecord;
47602 if-eqz v5, :cond_13
47604 iget-object v5, p1, Lcom/android/server/am/ServiceRecord;->app:Lcom/android/server/am/ProcessRecord;
47606 iget v5, v5, Lcom/android/server/am/ProcessRecord;->pid:I
47608 iput v5, v4, Landroid/app/ActivityManager$RunningServiceInfo;->pid:I
47611 iget-object v5, p1, Lcom/android/server/am/ServiceRecord;->appInfo:Landroid/content/pm/ApplicationInfo;
47613 iget v5, v5, Landroid/content/pm/ApplicationInfo;->uid:I
47615 iput v5, v4, Landroid/app/ActivityManager$RunningServiceInfo;->uid:I
47617 iget-object v5, p1, Lcom/android/server/am/ServiceRecord;->processName:Ljava/lang/String;
47619 iput-object v5, v4, Landroid/app/ActivityManager$RunningServiceInfo;->process:Ljava/lang/String;
47621 iget-boolean v5, p1, Lcom/android/server/am/ServiceRecord;->isForeground:Z
47623 iput-boolean v5, v4, Landroid/app/ActivityManager$RunningServiceInfo;->foreground:Z
47625 iget-wide v5, p1, Lcom/android/server/am/ServiceRecord;->createTime:J
47627 iput-wide v5, v4, Landroid/app/ActivityManager$RunningServiceInfo;->activeSince:J
47629 iget-boolean v5, p1, Lcom/android/server/am/ServiceRecord;->startRequested:Z
47631 iput-boolean v5, v4, Landroid/app/ActivityManager$RunningServiceInfo;->started:Z
47633 iget-object v5, p1, Lcom/android/server/am/ServiceRecord;->connections:Ljava/util/HashMap;
47635 invoke-virtual {v5}, Ljava/util/HashMap;->size()I
47639 iput v5, v4, Landroid/app/ActivityManager$RunningServiceInfo;->clientCount:I
47641 iget v5, p1, Lcom/android/server/am/ServiceRecord;->crashCount:I
47643 iput v5, v4, Landroid/app/ActivityManager$RunningServiceInfo;->crashCount:I
47645 iget-wide v5, p1, Lcom/android/server/am/ServiceRecord;->lastActivity:J
47647 iput-wide v5, v4, Landroid/app/ActivityManager$RunningServiceInfo;->lastActivityTime:J
47649 iget-boolean v5, p1, Lcom/android/server/am/ServiceRecord;->isForeground:Z
47651 if-eqz v5, :cond_43
47653 iget v5, v4, Landroid/app/ActivityManager$RunningServiceInfo;->flags:I
47655 or-int/lit8 v5, v5, 0x2
47657 iput v5, v4, Landroid/app/ActivityManager$RunningServiceInfo;->flags:I
47660 iget-boolean v5, p1, Lcom/android/server/am/ServiceRecord;->startRequested:Z
47662 if-eqz v5, :cond_4d
47664 iget v5, v4, Landroid/app/ActivityManager$RunningServiceInfo;->flags:I
47666 or-int/lit8 v5, v5, 0x1
47668 iput v5, v4, Landroid/app/ActivityManager$RunningServiceInfo;->flags:I
47671 iget-object v5, p1, Lcom/android/server/am/ServiceRecord;->app:Lcom/android/server/am/ProcessRecord;
47673 if-eqz v5, :cond_5f
47675 iget-object v5, p1, Lcom/android/server/am/ServiceRecord;->app:Lcom/android/server/am/ProcessRecord;
47677 iget v5, v5, Lcom/android/server/am/ProcessRecord;->pid:I
47679 sget v6, Lcom/android/server/am/ActivityManagerService;->MY_PID:I
47681 if-ne v5, v6, :cond_5f
47683 iget v5, v4, Landroid/app/ActivityManager$RunningServiceInfo;->flags:I
47685 or-int/lit8 v5, v5, 0x4
47687 iput v5, v4, Landroid/app/ActivityManager$RunningServiceInfo;->flags:I
47690 iget-object v5, p1, Lcom/android/server/am/ServiceRecord;->app:Lcom/android/server/am/ProcessRecord;
47692 if-eqz v5, :cond_6f
47694 iget-object v5, p1, Lcom/android/server/am/ServiceRecord;->app:Lcom/android/server/am/ProcessRecord;
47696 iget-boolean v5, v5, Lcom/android/server/am/ProcessRecord;->persistent:Z
47698 if-eqz v5, :cond_6f
47700 iget v5, v4, Landroid/app/ActivityManager$RunningServiceInfo;->flags:I
47702 or-int/lit8 v5, v5, 0x8
47704 iput v5, v4, Landroid/app/ActivityManager$RunningServiceInfo;->flags:I
47707 iget-object v5, p1, Lcom/android/server/am/ServiceRecord;->connections:Ljava/util/HashMap;
47709 invoke-virtual {v5}, Ljava/util/HashMap;->values()Ljava/util/Collection;
47711 move-result-object v5
47713 invoke-interface {v5}, Ljava/util/Collection;->iterator()Ljava/util/Iterator;
47715 move-result-object v3
47718 invoke-interface {v3}, Ljava/util/Iterator;->hasNext()Z
47722 if-eqz v5, :cond_a4
47724 invoke-interface {v3}, Ljava/util/Iterator;->next()Ljava/lang/Object;
47726 move-result-object v1
47728 check-cast v1, Ljava/util/ArrayList;
47733 invoke-virtual {v1}, Ljava/util/ArrayList;->size()I
47737 if-ge v2, v5, :cond_79
47739 invoke-virtual {v1, v2}, Ljava/util/ArrayList;->get(I)Ljava/lang/Object;
47741 move-result-object v0
47743 check-cast v0, Lcom/android/server/am/ConnectionRecord;
47745 iget v5, v0, Lcom/android/server/am/ConnectionRecord;->clientLabel:I
47747 if-eqz v5, :cond_a5
47749 iget-object v5, v0, Lcom/android/server/am/ConnectionRecord;->binding:Lcom/android/server/am/AppBindRecord;
47751 iget-object v5, v5, Lcom/android/server/am/AppBindRecord;->client:Lcom/android/server/am/ProcessRecord;
47753 iget-object v5, v5, Lcom/android/server/am/ProcessRecord;->info:Landroid/content/pm/ApplicationInfo;
47755 iget-object v5, v5, Landroid/content/pm/ApplicationInfo;->packageName:Ljava/lang/String;
47757 iput-object v5, v4, Landroid/app/ActivityManager$RunningServiceInfo;->clientPackage:Ljava/lang/String;
47759 iget v5, v0, Lcom/android/server/am/ConnectionRecord;->clientLabel:I
47761 iput v5, v4, Landroid/app/ActivityManager$RunningServiceInfo;->clientLabel:I
47767 add-int/lit8 v2, v2, 0x1
47772 .method public monitor()V
47787 .catchall {:try_start_1 .. :try_end_5} :catchall_3
47792 .method public moveActivityTaskToBack(Landroid/os/IBinder;Z)Z
47797 const-string v4, "moveActivityTaskToBack"
47799 invoke-virtual {p0, v4}, Lcom/android/server/am/ActivityManagerService;->enforceNotIsolatedCaller(Ljava/lang/String;)V
47804 invoke-static {}, Landroid/os/Binder;->clearCallingIdentity()J
47806 move-result-wide v0
47808 if-nez p2, :cond_1d
47813 invoke-virtual {p0, p1, v4}, Lcom/android/server/am/ActivityManagerService;->getTaskForActivityLocked(Landroid/os/IBinder;Z)I
47817 if-ltz v2, :cond_1f
47819 iget-object v3, p0, Lcom/android/server/am/ActivityManagerService;->mMainStack:Lcom/android/server/am/ActivityStack;
47823 invoke-virtual {v3, v2, v4}, Lcom/android/server/am/ActivityStack;->moveTaskToBackLocked(ILcom/android/server/am/ActivityRecord;)Z
47838 invoke-static {v0, v1}, Landroid/os/Binder;->restoreCallingIdentity(J)V
47849 .catchall {:try_start_7 .. :try_end_26} :catchall_24
47854 .method public moveTaskBackwards(I)V
47857 const-string v2, "android.permission.REORDER_TASKS"
47859 const-string v3, "moveTaskBackwards()"
47861 invoke-virtual {p0, v2, v3}, Lcom/android/server/am/ActivityManagerService;->enforceCallingPermission(Ljava/lang/String;Ljava/lang/String;)V
47866 invoke-static {}, Landroid/os/Binder;->getCallingPid()I
47870 invoke-static {}, Landroid/os/Binder;->getCallingUid()I
47874 const-string v4, "Task backwards"
47876 invoke-virtual {p0, v2, v3, v4}, Lcom/android/server/am/ActivityManagerService;->checkAppSwitchAllowedLocked(IILjava/lang/String;)Z
47880 if-nez v2, :cond_1a
47888 invoke-static {}, Landroid/os/Binder;->clearCallingIdentity()J
47890 move-result-wide v0
47892 invoke-direct {p0, p1}, Lcom/android/server/am/ActivityManagerService;->moveTaskBackwardsLocked(I)V
47894 invoke-static {v0, v1}, Landroid/os/Binder;->restoreCallingIdentity(J)V
47905 .catchall {:try_start_8 .. :try_end_28} :catchall_26
47910 .method public moveTaskToBack(I)V
47913 const-string v2, "android.permission.REORDER_TASKS"
47915 const-string v3, "moveTaskToBack()"
47917 invoke-virtual {p0, v2, v3}, Lcom/android/server/am/ActivityManagerService;->enforceCallingPermission(Ljava/lang/String;Ljava/lang/String;)V
47922 iget-object v2, p0, Lcom/android/server/am/ActivityManagerService;->mMainStack:Lcom/android/server/am/ActivityStack;
47924 iget-object v2, v2, Lcom/android/server/am/ActivityStack;->mResumedActivity:Lcom/android/server/am/ActivityRecord;
47926 if-eqz v2, :cond_2a
47928 iget-object v2, p0, Lcom/android/server/am/ActivityManagerService;->mMainStack:Lcom/android/server/am/ActivityStack;
47930 iget-object v2, v2, Lcom/android/server/am/ActivityStack;->mResumedActivity:Lcom/android/server/am/ActivityRecord;
47932 iget-object v2, v2, Lcom/android/server/am/ActivityRecord;->task:Lcom/android/server/am/TaskRecord;
47934 iget v2, v2, Lcom/android/server/am/TaskRecord;->taskId:I
47936 if-ne v2, p1, :cond_2a
47938 invoke-static {}, Landroid/os/Binder;->getCallingPid()I
47942 invoke-static {}, Landroid/os/Binder;->getCallingUid()I
47946 const-string v4, "Task to back"
47948 invoke-virtual {p0, v2, v3, v4}, Lcom/android/server/am/ActivityManagerService;->checkAppSwitchAllowedLocked(IILjava/lang/String;)Z
47952 if-nez v2, :cond_2a
47960 invoke-static {}, Landroid/os/Binder;->clearCallingIdentity()J
47962 move-result-wide v0
47964 iget-object v2, p0, Lcom/android/server/am/ActivityManagerService;->mMainStack:Lcom/android/server/am/ActivityStack;
47968 invoke-virtual {v2, p1, v3}, Lcom/android/server/am/ActivityStack;->moveTaskToBackLocked(ILcom/android/server/am/ActivityRecord;)Z
47970 invoke-static {v0, v1}, Landroid/os/Binder;->restoreCallingIdentity(J)V
47981 .catchall {:try_start_8 .. :try_end_3b} :catchall_39
47986 .method public moveTaskToFront(IILandroid/os/Bundle;)V
47989 const-string v5, "android.permission.REORDER_TASKS"
47991 const-string v6, "moveTaskToFront()"
47993 invoke-virtual {p0, v5, v6}, Lcom/android/server/am/ActivityManagerService;->enforceCallingPermission(Ljava/lang/String;Ljava/lang/String;)V
47998 invoke-static {}, Landroid/os/Binder;->getCallingPid()I
48002 invoke-static {}, Landroid/os/Binder;->getCallingUid()I
48006 const-string v7, "Task to front"
48008 invoke-virtual {p0, v5, v6, v7}, Lcom/android/server/am/ActivityManagerService;->checkAppSwitchAllowedLocked(IILjava/lang/String;)Z
48012 if-nez v5, :cond_1d
48014 invoke-static {p3}, Landroid/app/ActivityOptions;->abort(Landroid/os/Bundle;)V
48022 invoke-static {}, Landroid/os/Binder;->clearCallingIdentity()J
48024 .catchall {:try_start_8 .. :try_end_20} :catchall_44
48026 move-result-wide v2
48029 invoke-direct {p0, p1}, Lcom/android/server/am/ActivityManagerService;->taskForIdLocked(I)Lcom/android/server/am/TaskRecord;
48031 move-result-object v4
48033 if-eqz v4, :cond_47
48035 and-int/lit8 v5, p2, 0x2
48037 if-nez v5, :cond_30
48039 iget-object v5, p0, Lcom/android/server/am/ActivityManagerService;->mMainStack:Lcom/android/server/am/ActivityStack;
48043 iput-boolean v6, v5, Lcom/android/server/am/ActivityStack;->mUserLeaving:Z
48046 and-int/lit8 v5, p2, 0x1
48048 if-eqz v5, :cond_39
48050 iget-object v5, p0, Lcom/android/server/am/ActivityManagerService;->mMainStack:Lcom/android/server/am/ActivityStack;
48052 invoke-virtual {v5}, Lcom/android/server/am/ActivityStack;->moveHomeToFrontLocked()V
48055 iget-object v5, p0, Lcom/android/server/am/ActivityManagerService;->mMainStack:Lcom/android/server/am/ActivityStack;
48059 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
48061 .catchall {:try_start_21 .. :try_end_3f} :catchall_85
48064 invoke-static {v2, v3}, Landroid/os/Binder;->restoreCallingIdentity(J)V
48075 .catchall {:try_start_3f .. :try_end_46} :catchall_44
48081 iget-object v5, p0, Lcom/android/server/am/ActivityManagerService;->mMainStack:Lcom/android/server/am/ActivityStack;
48083 iget-object v5, v5, Lcom/android/server/am/ActivityStack;->mHistory:Ljava/util/ArrayList;
48085 invoke-virtual {v5}, Ljava/util/ArrayList;->size()I
48089 add-int/lit8 v1, v5, -0x1
48092 if-ltz v1, :cond_8a
48094 iget-object v5, p0, Lcom/android/server/am/ActivityManagerService;->mMainStack:Lcom/android/server/am/ActivityStack;
48096 iget-object v5, v5, Lcom/android/server/am/ActivityStack;->mHistory:Ljava/util/ArrayList;
48098 invoke-virtual {v5, v1}, Ljava/util/ArrayList;->get(I)Ljava/lang/Object;
48100 move-result-object v0
48102 check-cast v0, Lcom/android/server/am/ActivityRecord;
48104 iget-object v5, v0, Lcom/android/server/am/ActivityRecord;->task:Lcom/android/server/am/TaskRecord;
48106 iget v5, v5, Lcom/android/server/am/TaskRecord;->taskId:I
48108 if-ne v5, p1, :cond_82
48110 and-int/lit8 v5, p2, 0x2
48112 if-nez v5, :cond_6c
48114 iget-object v5, p0, Lcom/android/server/am/ActivityManagerService;->mMainStack:Lcom/android/server/am/ActivityStack;
48118 iput-boolean v6, v5, Lcom/android/server/am/ActivityStack;->mUserLeaving:Z
48121 and-int/lit8 v5, p2, 0x1
48123 if-eqz v5, :cond_75
48125 iget-object v5, p0, Lcom/android/server/am/ActivityManagerService;->mMainStack:Lcom/android/server/am/ActivityStack;
48127 invoke-virtual {v5}, Lcom/android/server/am/ActivityStack;->moveHomeToFrontLocked()V
48130 iget-object v5, p0, Lcom/android/server/am/ActivityManagerService;->mMainStack:Lcom/android/server/am/ActivityStack;
48132 iget-object v6, v0, Lcom/android/server/am/ActivityRecord;->task:Lcom/android/server/am/TaskRecord;
48136 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
48138 .catchall {:try_start_47 .. :try_end_7d} :catchall_85
48141 invoke-static {v2, v3}, Landroid/os/Binder;->restoreCallingIdentity(J)V
48148 add-int/lit8 v1, v1, -0x1
48155 invoke-static {v2, v3}, Landroid/os/Binder;->restoreCallingIdentity(J)V
48160 invoke-static {v2, v3}, Landroid/os/Binder;->restoreCallingIdentity(J)V
48162 invoke-static {p3}, Landroid/app/ActivityOptions;->abort(Landroid/os/Bundle;)V
48166 .catchall {:try_start_7d .. :try_end_91} :catchall_44
48171 .method public navigateUpTo(Landroid/os/IBinder;Landroid/content/Intent;ILandroid/content/Intent;)Z
48174 invoke-virtual/range {p2 .. p2}, Landroid/content/Intent;->getComponent()Landroid/content/ComponentName;
48176 move-result-object v16
48181 invoke-static/range {p1 .. p1}, Lcom/android/server/am/ActivityRecord;->forToken(Landroid/os/IBinder;)Lcom/android/server/am/ActivityRecord;
48183 move-result-object v31
48185 if-nez v31, :cond_f
48195 move-object/from16 v0, v31
48197 iget-object v2, v0, Lcom/android/server/am/ActivityRecord;->stack:Lcom/android/server/am/ActivityStack;
48199 iget-object v0, v2, Lcom/android/server/am/ActivityStack;->mHistory:Ljava/util/ArrayList;
48201 move-object/from16 v21, v0
48203 move-object/from16 v0, v21
48205 move-object/from16 v1, v31
48207 invoke-virtual {v0, v1}, Ljava/util/ArrayList;->indexOf(Ljava/lang/Object;)I
48211 if-gez v32, :cond_28
48224 .catchall {:try_start_5 .. :try_end_27} :catchall_25
48229 add-int/lit8 v19, v32, -0x1
48235 if-eqz v16, :cond_5a
48238 move-object/from16 v0, v31
48240 iget-object v0, v0, Lcom/android/server/am/ActivityRecord;->task:Lcom/android/server/am/TaskRecord;
48242 move-object/from16 v33, v0
48244 add-int/lit8 v22, v32, -0x1
48247 if-ltz v22, :cond_5a
48249 invoke-virtual/range {v21 .. v22}, Ljava/util/ArrayList;->get(I)Ljava/lang/Object;
48251 move-result-object v28
48253 check-cast v28, Lcom/android/server/am/ActivityRecord;
48255 move-object/from16 v0, v28
48257 iget-object v2, v0, Lcom/android/server/am/ActivityRecord;->task:Lcom/android/server/am/TaskRecord;
48259 move-object/from16 v0, v33
48261 if-eq v0, v2, :cond_81
48263 add-int/lit8 v2, v32, -0x1
48265 add-int/lit8 v3, v22, 0x1
48267 invoke-static {v2, v3}, Ljava/lang/Math;->min(II)I
48271 move-object/from16 v0, v21
48273 move/from16 v1, v19
48275 invoke-virtual {v0, v1}, Ljava/util/ArrayList;->get(I)Ljava/lang/Object;
48277 move-result-object v26
48279 check-cast v26, Lcom/android/server/am/ActivityRecord;
48283 move-object/from16 v0, p0
48285 iget-object v2, v0, Lcom/android/server/am/ActivityManagerService;->mController:Landroid/app/IActivityController;
48287 if-eqz v2, :cond_b2
48289 move-object/from16 v0, p0
48291 iget-object v2, v0, Lcom/android/server/am/ActivityManagerService;->mMainStack:Lcom/android/server/am/ActivityStack;
48295 move-object/from16 v0, p1
48297 invoke-virtual {v2, v0, v3}, Lcom/android/server/am/ActivityStack;->topRunningActivityLocked(Landroid/os/IBinder;I)Lcom/android/server/am/ActivityRecord;
48299 .catchall {:try_start_30 .. :try_end_6a} :catchall_25
48301 move-result-object v23
48303 if-eqz v23, :cond_b2
48308 move-object/from16 v0, p0
48310 iget-object v2, v0, Lcom/android/server/am/ActivityManagerService;->mController:Landroid/app/IActivityController;
48312 move-object/from16 v0, v23
48314 iget-object v3, v0, Lcom/android/server/am/ActivityRecord;->packageName:Ljava/lang/String;
48316 invoke-interface {v2, v3}, Landroid/app/IActivityController;->activityResuming(Ljava/lang/String;)Z
48318 .catchall {:try_start_6f .. :try_end_7a} :catchall_25
48319 .catch Landroid/os/RemoteException; {:try_start_6f .. :try_end_7a} :catch_ab
48324 if-nez v30, :cond_b2
48334 move-object/from16 v0, v28
48336 iget-object v2, v0, Lcom/android/server/am/ActivityRecord;->info:Landroid/content/pm/ActivityInfo;
48338 iget-object v2, v2, Landroid/content/pm/ActivityInfo;->packageName:Ljava/lang/String;
48340 invoke-virtual/range {v16 .. v16}, Landroid/content/ComponentName;->getPackageName()Ljava/lang/String;
48342 move-result-object v3
48344 invoke-virtual {v2, v3}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
48348 if-eqz v2, :cond_a8
48350 move-object/from16 v0, v28
48352 iget-object v2, v0, Lcom/android/server/am/ActivityRecord;->info:Landroid/content/pm/ActivityInfo;
48354 iget-object v2, v2, Landroid/content/pm/ActivityInfo;->name:Ljava/lang/String;
48356 invoke-virtual/range {v16 .. v16}, Landroid/content/ComponentName;->getClassName()Ljava/lang/String;
48358 move-result-object v3
48360 invoke-virtual {v2, v3}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
48364 if-eqz v2, :cond_a8
48366 move/from16 v19, v22
48368 move-object/from16 v26, v28
48375 add-int/lit8 v22, v22, -0x1
48384 move-object/from16 v0, p0
48386 iput-object v2, v0, Lcom/android/server/am/ActivityManagerService;->mController:Landroid/app/IActivityController;
48391 invoke-static {}, Landroid/os/Binder;->clearCallingIdentity()J
48393 move-result-wide v24
48395 move/from16 v22, v32
48398 move/from16 v0, v22
48400 move/from16 v1, v19
48402 if-le v0, v1, :cond_dc
48404 invoke-virtual/range {v21 .. v22}, Ljava/util/ArrayList;->get(I)Ljava/lang/Object;
48406 move-result-object v28
48408 check-cast v28, Lcom/android/server/am/ActivityRecord;
48410 move-object/from16 v0, p0
48412 iget-object v2, v0, Lcom/android/server/am/ActivityManagerService;->mMainStack:Lcom/android/server/am/ActivityStack;
48414 move-object/from16 v0, v28
48416 iget-object v3, v0, Lcom/android/server/am/ActivityRecord;->appToken:Landroid/view/IApplicationToken$Stub;
48418 const-string v4, "navigate-up"
48422 move-object/from16 v1, p4
48424 invoke-virtual {v2, v3, v0, v1, v4}, Lcom/android/server/am/ActivityStack;->requestFinishActivityLocked(Landroid/os/IBinder;ILandroid/content/Intent;Ljava/lang/String;)Z
48430 add-int/lit8 v22, v22, -0x1
48435 if-eqz v26, :cond_110
48437 if-eqz v20, :cond_110
48439 move-object/from16 v0, v26
48441 iget-object v2, v0, Lcom/android/server/am/ActivityRecord;->info:Landroid/content/pm/ActivityInfo;
48443 iget v0, v2, Landroid/content/pm/ActivityInfo;->launchMode:I
48445 move/from16 v27, v0
48447 invoke-virtual/range {p2 .. p2}, Landroid/content/Intent;->getFlags()I
48453 move/from16 v0, v27
48455 if-eq v0, v2, :cond_101
48459 move/from16 v0, v27
48461 if-eq v0, v2, :cond_101
48465 move/from16 v0, v27
48467 if-eq v0, v2, :cond_101
48469 const/high16 v2, 0x400
48471 and-int v2, v2, v17
48473 if-eqz v2, :cond_116
48476 move-object/from16 v0, v31
48478 iget-object v2, v0, Lcom/android/server/am/ActivityRecord;->info:Landroid/content/pm/ActivityInfo;
48480 iget-object v2, v2, Landroid/content/pm/ActivityInfo;->applicationInfo:Landroid/content/pm/ApplicationInfo;
48482 iget v2, v2, Landroid/content/pm/ApplicationInfo;->uid:I
48484 move-object/from16 v0, v26
48486 move-object/from16 v1, p2
48488 invoke-virtual {v0, v2, v1}, Lcom/android/server/am/ActivityRecord;->deliverNewIntentLocked(ILandroid/content/Intent;)V
48492 invoke-static/range {v24 .. v25}, Landroid/os/Binder;->restoreCallingIdentity(J)V
48496 .catchall {:try_start_7f .. :try_end_114} :catchall_25
48502 invoke-static {}, Landroid/app/AppGlobals;->getPackageManager()Landroid/content/pm/IPackageManager;
48504 move-result-object v2
48506 invoke-virtual/range {p2 .. p2}, Landroid/content/Intent;->getComponent()Landroid/content/ComponentName;
48508 move-result-object v3
48512 invoke-static {}, Landroid/os/UserId;->getCallingUserId()I
48516 invoke-interface {v2, v3, v4, v5}, Landroid/content/pm/IPackageManager;->getActivityInfo(Landroid/content/ComponentName;II)Landroid/content/pm/ActivityInfo;
48518 move-result-object v6
48520 move-object/from16 v0, p0
48522 iget-object v2, v0, Lcom/android/server/am/ActivityManagerService;->mMainStack:Lcom/android/server/am/ActivityStack;
48524 move-object/from16 v0, v31
48526 iget-object v3, v0, Lcom/android/server/am/ActivityRecord;->app:Lcom/android/server/am/ProcessRecord;
48528 iget-object v3, v3, Lcom/android/server/am/ProcessRecord;->thread:Landroid/app/IApplicationThread;
48532 move-object/from16 v0, v26
48534 iget-object v7, v0, Lcom/android/server/am/ActivityRecord;->appToken:Landroid/view/IApplicationToken$Stub;
48542 move-object/from16 v0, v26
48544 iget v11, v0, Lcom/android/server/am/ActivityRecord;->launchedFromUid:I
48554 move-object/from16 v4, p2
48556 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
48558 .catchall {:try_start_116 .. :try_end_146} :catchall_25
48559 .catch Landroid/os/RemoteException; {:try_start_116 .. :try_end_146} :catch_160
48563 if-nez v29, :cond_15d
48569 move-object/from16 v0, p0
48571 iget-object v2, v0, Lcom/android/server/am/ActivityManagerService;->mMainStack:Lcom/android/server/am/ActivityStack;
48573 move-object/from16 v0, v26
48575 iget-object v3, v0, Lcom/android/server/am/ActivityRecord;->appToken:Landroid/view/IApplicationToken$Stub;
48577 const-string v4, "navigate-up"
48581 move-object/from16 v1, p4
48583 invoke-virtual {v2, v3, v0, v1, v4}, Lcom/android/server/am/ActivityStack;->requestFinishActivityLocked(Landroid/os/IBinder;ILandroid/content/Intent;Ljava/lang/String;)Z
48585 .catchall {:try_start_14b .. :try_end_15c} :catchall_25
48602 .method final newProcessRecordLocked(Landroid/app/IApplicationThread;Landroid/content/pm/ApplicationInfo;Ljava/lang/String;Z)Lcom/android/server/am/ProcessRecord;
48607 if-eqz p3, :cond_49
48614 iget-object v0, p0, Lcom/android/server/am/ActivityManagerService;->mBatteryStatsService:Lcom/android/server/am/BatteryStatsService;
48616 invoke-virtual {v0}, Lcom/android/server/am/BatteryStatsService;->getActiveStatistics()Lcom/android/internal/os/BatteryStatsImpl;
48618 move-result-object v6
48620 iget v5, p2, Landroid/content/pm/ApplicationInfo;->uid:I
48622 if-eqz p4, :cond_39
48624 invoke-static {v5}, Landroid/os/UserId;->getUserId(I)I
48633 iget v0, p0, Lcom/android/server/am/ActivityManagerService;->mNextIsolatedProcessUid:I
48635 if-lt v0, v3, :cond_23
48637 iget v0, p0, Lcom/android/server/am/ActivityManagerService;->mNextIsolatedProcessUid:I
48641 if-le v0, v2, :cond_25
48644 iput v3, p0, Lcom/android/server/am/ActivityManagerService;->mNextIsolatedProcessUid:I
48647 iget v0, p0, Lcom/android/server/am/ActivityManagerService;->mNextIsolatedProcessUid:I
48649 invoke-static {v8, v0}, Landroid/os/UserId;->getUid(II)I
48653 iget v0, p0, Lcom/android/server/am/ActivityManagerService;->mNextIsolatedProcessUid:I
48655 add-int/lit8 v0, v0, 0x1
48657 iput v0, p0, Lcom/android/server/am/ActivityManagerService;->mNextIsolatedProcessUid:I
48659 iget-object v0, p0, Lcom/android/server/am/ActivityManagerService;->mIsolatedProcesses:Landroid/util/SparseArray;
48661 invoke-virtual {v0, v5}, Landroid/util/SparseArray;->indexOfKey(I)I
48665 if-gez v0, :cond_4c
48671 iget v0, p2, Landroid/content/pm/ApplicationInfo;->uid:I
48673 invoke-virtual {v6, v0, v4}, Lcom/android/internal/os/BatteryStatsImpl;->getProcessStatsLocked(ILjava/lang/String;)Lcom/android/internal/os/BatteryStatsImpl$Uid$Proc;
48675 move-result-object v1
48679 .catchall {:try_start_3a .. :try_end_41} :catchall_52
48681 new-instance v0, Lcom/android/server/am/ProcessRecord;
48687 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
48693 iget-object v4, p2, Landroid/content/pm/ApplicationInfo;->processName:Ljava/lang/String;
48698 add-int/lit8 v7, v7, -0x1
48700 if-gtz v7, :cond_18
48712 .catchall {:try_start_53 .. :try_end_54} :catchall_52
48717 .method public newUriPermissionOwner(Ljava/lang/String;)Landroid/os/IBinder;
48720 const-string v1, "newUriPermissionOwner"
48722 invoke-virtual {p0, v1}, Lcom/android/server/am/ActivityManagerService;->enforceNotIsolatedCaller(Ljava/lang/String;)V
48727 new-instance v0, Lcom/android/server/am/UriPermissionOwner;
48729 invoke-direct {v0, p0, p1}, Lcom/android/server/am/UriPermissionOwner;-><init>(Lcom/android/server/am/ActivityManagerService;Ljava/lang/Object;)V
48731 invoke-virtual {v0}, Lcom/android/server/am/UriPermissionOwner;->getExternalTokenLocked()Landroid/os/Binder;
48733 move-result-object v1
48744 .catchall {:try_start_6 .. :try_end_13} :catchall_11
48749 .method public noteWakeupAlarm(Landroid/content/IIntentSender;)V
48752 instance-of v6, p1, Lcom/android/server/am/PendingIntentRecord;
48760 iget-object v6, p0, Lcom/android/server/am/ActivityManagerService;->mBatteryStatsService:Lcom/android/server/am/BatteryStatsService;
48762 invoke-virtual {v6}, Lcom/android/server/am/BatteryStatsService;->getActiveStatistics()Lcom/android/internal/os/BatteryStatsImpl;
48764 move-result-object v4
48769 iget-object v6, p0, Lcom/android/server/am/ActivityManagerService;->mBatteryStatsService:Lcom/android/server/am/BatteryStatsService;
48771 invoke-virtual {v6}, Lcom/android/server/am/BatteryStatsService;->isOnBattery()Z
48775 if-eqz v6, :cond_32
48777 iget-object v6, p0, Lcom/android/server/am/ActivityManagerService;->mBatteryStatsService:Lcom/android/server/am/BatteryStatsService;
48779 invoke-virtual {v6}, Lcom/android/server/am/BatteryStatsService;->enforceCallingPermission()V
48783 check-cast v0, Lcom/android/server/am/PendingIntentRecord;
48787 invoke-static {}, Landroid/os/Binder;->getCallingUid()I
48791 iget v6, v3, Lcom/android/server/am/PendingIntentRecord;->uid:I
48793 if-ne v6, v1, :cond_37
48798 iget-object v6, v3, Lcom/android/server/am/PendingIntentRecord;->key:Lcom/android/server/am/PendingIntentRecord$Key;
48800 iget-object v6, v6, Lcom/android/server/am/PendingIntentRecord$Key;->packageName:Ljava/lang/String;
48802 invoke-virtual {v4, v5, v6}, Lcom/android/internal/os/BatteryStatsImpl;->getPackageStatsLocked(ILjava/lang/String;)Lcom/android/internal/os/BatteryStatsImpl$Uid$Pkg;
48804 move-result-object v2
48806 invoke-virtual {v2}, Lcom/android/internal/os/BatteryStatsImpl$Uid$Pkg;->incWakeupsLocked()V
48818 .catchall {:try_start_c .. :try_end_36} :catchall_34
48824 iget v5, v3, Lcom/android/server/am/PendingIntentRecord;->uid:I
48826 .catchall {:try_start_37 .. :try_end_39} :catchall_34
48831 .method onCoreSettingsChange(Landroid/os/Bundle;)V
48834 iget-object v2, p0, Lcom/android/server/am/ActivityManagerService;->mLruProcesses:Ljava/util/ArrayList;
48836 invoke-virtual {v2}, Ljava/util/ArrayList;->size()I
48840 add-int/lit8 v0, v2, -0x1
48843 if-ltz v0, :cond_1e
48845 iget-object v2, p0, Lcom/android/server/am/ActivityManagerService;->mLruProcesses:Ljava/util/ArrayList;
48847 invoke-virtual {v2, v0}, Ljava/util/ArrayList;->get(I)Ljava/lang/Object;
48849 move-result-object v1
48851 check-cast v1, Lcom/android/server/am/ProcessRecord;
48854 iget-object v2, v1, Lcom/android/server/am/ProcessRecord;->thread:Landroid/app/IApplicationThread;
48856 if-eqz v2, :cond_1b
48858 iget-object v2, v1, Lcom/android/server/am/ProcessRecord;->thread:Landroid/app/IApplicationThread;
48860 invoke-interface {v2, p1}, Landroid/app/IApplicationThread;->setCoreSettings(Landroid/os/Bundle;)V
48862 .catch Landroid/os/RemoteException; {:try_start_12 .. :try_end_1b} :catch_1f
48866 add-int/lit8 v0, v0, -0x1
48879 .method public onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
48881 .annotation system Ldalvik/annotation/Throws;
48883 Landroid/os/RemoteException;
48887 const v10, 0x5f535052
48889 if-ne p1, v10, :cond_65
48891 new-instance v9, Ljava/util/ArrayList;
48893 invoke-direct {v9}, Ljava/util/ArrayList;-><init>()V
48898 iget-object v10, p0, Lcom/android/server/am/ActivityManagerService;->mProcessNames:Lcom/android/server/ProcessMap;
48900 invoke-virtual {v10}, Lcom/android/server/ProcessMap;->getMap()Ljava/util/HashMap;
48902 move-result-object v10
48904 invoke-virtual {v10}, Ljava/util/HashMap;->values()Ljava/util/Collection;
48906 move-result-object v10
48908 invoke-interface {v10}, Ljava/util/Collection;->iterator()Ljava/util/Iterator;
48910 move-result-object v7
48913 invoke-interface {v7}, Ljava/util/Iterator;->hasNext()Z
48917 if-eqz v10, :cond_42
48919 invoke-interface {v7}, Ljava/util/Iterator;->next()Ljava/lang/Object;
48921 move-result-object v3
48923 check-cast v3, Landroid/util/SparseArray;
48925 invoke-virtual {v3}, Landroid/util/SparseArray;->size()I
48932 if-ge v8, v1, :cond_19
48934 invoke-virtual {v3, v8}, Landroid/util/SparseArray;->valueAt(I)Ljava/lang/Object;
48936 move-result-object v2
48938 check-cast v2, Lcom/android/server/am/ProcessRecord;
48940 iget-object v10, v2, Lcom/android/server/am/ProcessRecord;->thread:Landroid/app/IApplicationThread;
48942 if-eqz v10, :cond_3f
48944 iget-object v10, v2, Lcom/android/server/am/ProcessRecord;->thread:Landroid/app/IApplicationThread;
48946 invoke-interface {v10}, Landroid/app/IApplicationThread;->asBinder()Landroid/os/IBinder;
48948 move-result-object v10
48950 invoke-virtual {v9, v10}, Ljava/util/ArrayList;->add(Ljava/lang/Object;)Z
48953 add-int/lit8 v8, v8, 0x1
48960 .catchall {:try_start_b .. :try_end_43} :catchall_62
48962 invoke-virtual {v9}, Ljava/util/ArrayList;->size()I
48969 if-ge v6, v0, :cond_65
48971 invoke-static {}, Landroid/os/Parcel;->obtain()Landroid/os/Parcel;
48973 move-result-object v4
48976 invoke-virtual {v9, v6}, Ljava/util/ArrayList;->get(I)Ljava/lang/Object;
48978 move-result-object v10
48980 check-cast v10, Landroid/os/IBinder;
48982 const v11, 0x5f535052
48988 invoke-interface {v10, v11, v4, v12, v13}, Landroid/os/IBinder;->transact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
48990 .catch Landroid/os/RemoteException; {:try_start_4e .. :try_end_5c} :catch_77
48993 invoke-virtual {v4}, Landroid/os/Parcel;->recycle()V
48995 add-int/lit8 v6, v6, 0x1
49005 .catchall {:try_start_63 .. :try_end_64} :catchall_62
49011 invoke-super/range {p0 .. p4}, Landroid/app/ActivityManagerNative;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
49013 .catch Ljava/lang/RuntimeException; {:try_start_65 .. :try_end_68} :catch_6a
49022 instance-of v10, v5, Ljava/lang/SecurityException;
49024 if-nez v10, :cond_76
49026 const-string v10, "ActivityManager"
49028 const-string v11, "Activity Manager Crash"
49030 invoke-static {v10, v11, v5}, Landroid/util/Slog;->e(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I
49041 .method public openContentUri(Landroid/net/Uri;)Landroid/os/ParcelFileDescriptor;
49043 .annotation system Ldalvik/annotation/Throws;
49045 Landroid/os/RemoteException;
49051 const-string v3, "openContentUri"
49053 invoke-virtual {p0, v3}, Lcom/android/server/am/ActivityManagerService;->enforceNotIsolatedCaller(Ljava/lang/String;)V
49055 invoke-virtual {p1}, Landroid/net/Uri;->getAuthority()Ljava/lang/String;
49057 move-result-object v1
49059 invoke-direct {p0, v1, v7}, Lcom/android/server/am/ActivityManagerService;->getContentProviderExternalUnchecked(Ljava/lang/String;Landroid/os/IBinder;)Landroid/app/IActivityManager$ContentProviderHolder;
49061 move-result-object v0
49065 if-eqz v0, :cond_3b
49067 sget-object v3, Lcom/android/server/am/ActivityManagerService;->sCallerIdentity:Ljava/lang/ThreadLocal;
49069 new-instance v4, Lcom/android/server/am/ActivityManagerService$Identity;
49071 invoke-static {}, Landroid/os/Binder;->getCallingPid()I
49075 invoke-static {}, Landroid/os/Binder;->getCallingUid()I
49079 invoke-direct {v4, p0, v5, v6}, Lcom/android/server/am/ActivityManagerService$Identity;-><init>(Lcom/android/server/am/ActivityManagerService;II)V
49081 invoke-virtual {v3, v4}, Ljava/lang/ThreadLocal;->set(Ljava/lang/Object;)V
49084 iget-object v3, v0, Landroid/app/IActivityManager$ContentProviderHolder;->provider:Landroid/content/IContentProvider;
49086 const-string v4, "r"
49088 invoke-interface {v3, p1, v4}, Landroid/content/IContentProvider;->openFile(Landroid/net/Uri;Ljava/lang/String;)Landroid/os/ParcelFileDescriptor;
49090 .catchall {:try_start_23 .. :try_end_2a} :catchall_34
49091 .catch Ljava/io/FileNotFoundException; {:try_start_23 .. :try_end_2a} :catch_5a
49093 move-result-object v2
49095 sget-object v3, Lcom/android/server/am/ActivityManagerService;->sCallerIdentity:Ljava/lang/ThreadLocal;
49098 invoke-virtual {v3}, Ljava/lang/ThreadLocal;->remove()V
49100 invoke-direct {p0, v1, v7}, Lcom/android/server/am/ActivityManagerService;->removeContentProviderExternalUnchecked(Ljava/lang/String;Landroid/os/IBinder;)V
49108 sget-object v4, Lcom/android/server/am/ActivityManagerService;->sCallerIdentity:Ljava/lang/ThreadLocal;
49110 invoke-virtual {v4}, Ljava/lang/ThreadLocal;->remove()V
49115 const-string v3, "ActivityManager"
49117 new-instance v4, Ljava/lang/StringBuilder;
49119 invoke-direct {v4}, Ljava/lang/StringBuilder;-><init>()V
49121 const-string v5, "Failed to get provider for authority \'"
49123 invoke-virtual {v4, v5}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
49125 move-result-object v4
49127 invoke-virtual {v4, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
49129 move-result-object v4
49131 const-string v5, "\'"
49133 invoke-virtual {v4, v5}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
49135 move-result-object v4
49137 invoke-virtual {v4}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
49139 move-result-object v4
49141 invoke-static {v3, v4}, Landroid/util/Slog;->d(Ljava/lang/String;Ljava/lang/String;)I
49148 sget-object v3, Lcom/android/server/am/ActivityManagerService;->sCallerIdentity:Ljava/lang/ThreadLocal;
49153 .method public overridePendingTransition(Landroid/os/IBinder;Ljava/lang/String;II)V
49159 iget-object v3, p0, Lcom/android/server/am/ActivityManagerService;->mMainStack:Lcom/android/server/am/ActivityStack;
49161 invoke-virtual {v3, p1}, Lcom/android/server/am/ActivityStack;->isInStackLocked(Landroid/os/IBinder;)Lcom/android/server/am/ActivityRecord;
49163 move-result-object v2
49173 invoke-static {}, Landroid/os/Binder;->clearCallingIdentity()J
49175 move-result-wide v0
49177 iget-object v3, v2, Lcom/android/server/am/ActivityRecord;->state:Lcom/android/server/am/ActivityStack$ActivityState;
49179 sget-object v4, Lcom/android/server/am/ActivityStack$ActivityState;->RESUMED:Lcom/android/server/am/ActivityStack$ActivityState;
49181 if-eq v3, v4, :cond_1b
49183 iget-object v3, v2, Lcom/android/server/am/ActivityRecord;->state:Lcom/android/server/am/ActivityStack$ActivityState;
49185 sget-object v4, Lcom/android/server/am/ActivityStack$ActivityState;->PAUSING:Lcom/android/server/am/ActivityStack$ActivityState;
49187 if-ne v3, v4, :cond_21
49190 iget-object v3, p0, Lcom/android/server/am/ActivityManagerService;->mWindowManager:Lcom/android/server/wm/WindowManagerService;
49194 invoke-virtual {v3, p2, p3, p4, v4}, Lcom/android/server/wm/WindowManagerService;->overridePendingAppTransition(Ljava/lang/String;IILandroid/os/IRemoteCallback;)V
49197 invoke-static {v0, v1}, Landroid/os/Binder;->restoreCallingIdentity(J)V
49208 .catchall {:try_start_1 .. :try_end_28} :catchall_26
49213 .method public peekService(Landroid/content/Intent;Ljava/lang/String;)Landroid/os/IBinder;
49216 const-string v3, "peekService"
49218 invoke-virtual {p0, v3}, Lcom/android/server/am/ActivityManagerService;->enforceNotIsolatedCaller(Ljava/lang/String;)V
49220 if-eqz p1, :cond_16
49222 invoke-virtual {p1}, Landroid/content/Intent;->hasFileDescriptors()Z
49228 if-ne v3, v4, :cond_16
49230 new-instance v3, Ljava/lang/IllegalArgumentException;
49232 const-string v4, "File descriptors passed in Intent"
49234 invoke-direct {v3, v4}, Ljava/lang/IllegalArgumentException;-><init>(Ljava/lang/String;)V
49244 invoke-static {}, Landroid/os/UserId;->getCallingUserId()I
49248 invoke-direct {p0, p1, p2, v3}, Lcom/android/server/am/ActivityManagerService;->findServiceLocked(Landroid/content/Intent;Ljava/lang/String;I)Lcom/android/server/am/ActivityManagerService$ServiceLookupResult;
49250 move-result-object v1
49252 if-eqz v1, :cond_80
49254 iget-object v3, v1, Lcom/android/server/am/ActivityManagerService$ServiceLookupResult;->record:Lcom/android/server/am/ServiceRecord;
49256 if-nez v3, :cond_6e
49258 new-instance v3, Ljava/lang/SecurityException;
49260 new-instance v4, Ljava/lang/StringBuilder;
49262 invoke-direct {v4}, Ljava/lang/StringBuilder;-><init>()V
49264 const-string v5, "Permission Denial: Accessing service "
49266 invoke-virtual {v4, v5}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
49268 move-result-object v4
49270 iget-object v5, v1, Lcom/android/server/am/ActivityManagerService$ServiceLookupResult;->record:Lcom/android/server/am/ServiceRecord;
49272 iget-object v5, v5, Lcom/android/server/am/ServiceRecord;->name:Landroid/content/ComponentName;
49274 invoke-virtual {v4, v5}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
49276 move-result-object v4
49278 const-string v5, " from pid="
49280 invoke-virtual {v4, v5}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
49282 move-result-object v4
49284 invoke-static {}, Landroid/os/Binder;->getCallingPid()I
49288 invoke-virtual {v4, v5}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
49290 move-result-object v4
49292 const-string v5, ", uid="
49294 invoke-virtual {v4, v5}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
49296 move-result-object v4
49298 invoke-static {}, Landroid/os/Binder;->getCallingUid()I
49302 invoke-virtual {v4, v5}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
49304 move-result-object v4
49306 const-string v5, " requires "
49308 invoke-virtual {v4, v5}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
49310 move-result-object v4
49312 iget-object v5, v1, Lcom/android/server/am/ActivityManagerService$ServiceLookupResult;->permission:Ljava/lang/String;
49314 invoke-virtual {v4, v5}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
49316 move-result-object v4
49318 invoke-virtual {v4}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
49320 move-result-object v4
49322 invoke-direct {v3, v4}, Ljava/lang/SecurityException;-><init>(Ljava/lang/String;)V
49331 .catchall {:try_start_18 .. :try_end_6d} :catchall_6b
49337 iget-object v3, v1, Lcom/android/server/am/ActivityManagerService$ServiceLookupResult;->record:Lcom/android/server/am/ServiceRecord;
49339 iget-object v3, v3, Lcom/android/server/am/ServiceRecord;->bindings:Ljava/util/HashMap;
49341 iget-object v4, v1, Lcom/android/server/am/ActivityManagerService$ServiceLookupResult;->record:Lcom/android/server/am/ServiceRecord;
49343 iget-object v4, v4, Lcom/android/server/am/ServiceRecord;->intent:Landroid/content/Intent$FilterComparison;
49345 invoke-virtual {v3, v4}, Ljava/util/HashMap;->get(Ljava/lang/Object;)Ljava/lang/Object;
49347 move-result-object v0
49349 check-cast v0, Lcom/android/server/am/IntentBindRecord;
49351 if-eqz v0, :cond_80
49353 iget-object v2, v0, Lcom/android/server/am/IntentBindRecord;->binder:Landroid/os/IBinder;
49358 .catchall {:try_start_6e .. :try_end_81} :catchall_6b
49363 .method final performAppGcLocked(Lcom/android/server/am/ProcessRecord;)V
49367 invoke-static {}, Landroid/os/SystemClock;->uptimeMillis()J
49369 move-result-wide v0
49371 iput-wide v0, p1, Lcom/android/server/am/ProcessRecord;->lastRequestedGc:J
49373 iget-object v0, p1, Lcom/android/server/am/ProcessRecord;->thread:Landroid/app/IApplicationThread;
49375 if-eqz v0, :cond_16
49377 iget-boolean v0, p1, Lcom/android/server/am/ProcessRecord;->reportLowMemory:Z
49379 if-eqz v0, :cond_17
49383 iput-boolean v0, p1, Lcom/android/server/am/ProcessRecord;->reportLowMemory:Z
49385 iget-object v0, p1, Lcom/android/server/am/ProcessRecord;->thread:Landroid/app/IApplicationThread;
49387 invoke-interface {v0}, Landroid/app/IApplicationThread;->scheduleLowMemory()V
49394 iget-object v0, p1, Lcom/android/server/am/ProcessRecord;->thread:Landroid/app/IApplicationThread;
49396 invoke-interface {v0}, Landroid/app/IApplicationThread;->processInBackground()V
49398 .catch Ljava/lang/Exception; {:try_start_0 .. :try_end_1c} :catch_1d
49408 .method final performAppGcsIfAppropriateLocked()V
49411 invoke-direct {p0}, Lcom/android/server/am/ActivityManagerService;->canGcNowLocked()Z
49417 invoke-virtual {p0}, Lcom/android/server/am/ActivityManagerService;->performAppGcsLocked()V
49423 invoke-virtual {p0}, Lcom/android/server/am/ActivityManagerService;->scheduleAppGcsLocked()V
49428 .method final performAppGcsLocked()V
49431 iget-object v2, p0, Lcom/android/server/am/ActivityManagerService;->mProcessesToGc:Ljava/util/ArrayList;
49433 invoke-virtual {v2}, Ljava/util/ArrayList;->size()I
49444 invoke-direct {p0}, Lcom/android/server/am/ActivityManagerService;->canGcNowLocked()Z
49451 iget-object v2, p0, Lcom/android/server/am/ActivityManagerService;->mProcessesToGc:Ljava/util/ArrayList;
49453 invoke-virtual {v2}, Ljava/util/ArrayList;->size()I
49457 if-lez v2, :cond_41
49459 iget-object v2, p0, Lcom/android/server/am/ActivityManagerService;->mProcessesToGc:Ljava/util/ArrayList;
49463 invoke-virtual {v2, v3}, Ljava/util/ArrayList;->remove(I)Ljava/lang/Object;
49465 move-result-object v1
49467 check-cast v1, Lcom/android/server/am/ProcessRecord;
49469 iget v2, v1, Lcom/android/server/am/ProcessRecord;->curRawAdj:I
49473 if-gt v2, v3, :cond_29
49475 iget-boolean v2, v1, Lcom/android/server/am/ProcessRecord;->reportLowMemory:Z
49480 iget-wide v2, v1, Lcom/android/server/am/ProcessRecord;->lastRequestedGc:J
49482 const-wide/32 v4, 0xea60
49484 add-long/2addr v2, v4
49486 invoke-static {}, Landroid/os/SystemClock;->uptimeMillis()J
49488 move-result-wide v4
49490 cmp-long v2, v2, v4
49492 if-gtz v2, :cond_3e
49494 invoke-virtual {p0, v1}, Lcom/android/server/am/ActivityManagerService;->performAppGcLocked(Lcom/android/server/am/ProcessRecord;)V
49496 invoke-virtual {p0}, Lcom/android/server/am/ActivityManagerService;->scheduleAppGcsLocked()V
49501 invoke-virtual {p0, v1}, Lcom/android/server/am/ActivityManagerService;->addProcessToGcListLocked(Lcom/android/server/am/ProcessRecord;)V
49504 invoke-virtual {p0}, Lcom/android/server/am/ActivityManagerService;->scheduleAppGcsLocked()V
49509 .method final performServiceRestartLocked(Lcom/android/server/am/ServiceRecord;)V
49512 iget-object v0, p0, Lcom/android/server/am/ActivityManagerService;->mRestartingServices:Ljava/util/ArrayList;
49514 invoke-virtual {v0, p1}, Ljava/util/ArrayList;->contains(Ljava/lang/Object;)Z
49524 iget-object v0, p1, Lcom/android/server/am/ServiceRecord;->intent:Landroid/content/Intent$FilterComparison;
49526 invoke-virtual {v0}, Landroid/content/Intent$FilterComparison;->getIntent()Landroid/content/Intent;
49528 move-result-object v0
49530 invoke-virtual {v0}, Landroid/content/Intent;->getFlags()I
49536 invoke-direct {p0, p1, v0, v1}, Lcom/android/server/am/ActivityManagerService;->bringUpServiceLocked(Lcom/android/server/am/ServiceRecord;IZ)Z
49541 .method public profileControl(Ljava/lang/String;ZLjava/lang/String;Landroid/os/ParcelFileDescriptor;I)Z
49543 .annotation system Ldalvik/annotation/Throws;
49545 Landroid/os/RemoteException;
49552 .catchall {:try_start_0 .. :try_end_1} :catchall_1d
49553 .catch Landroid/os/RemoteException; {:try_start_0 .. :try_end_1} :catch_14
49556 const-string v4, "android.permission.SET_ACTIVITY_WATCHER"
49558 invoke-virtual {p0, v4}, Lcom/android/server/am/ActivityManagerService;->checkCallingPermission(Ljava/lang/String;)I
49562 if-eqz v4, :cond_24
49564 new-instance v4, Ljava/lang/SecurityException;
49566 const-string v5, "Requires permission android.permission.SET_ACTIVITY_WATCHER"
49568 invoke-direct {v4, v5}, Ljava/lang/SecurityException;-><init>(Ljava/lang/String;)V
49577 .catchall {:try_start_1 .. :try_end_13} :catchall_11
49582 .catchall {:try_start_13 .. :try_end_14} :catchall_1d
49583 .catch Landroid/os/RemoteException; {:try_start_13 .. :try_end_14} :catch_14
49589 new-instance v4, Ljava/lang/IllegalStateException;
49591 const-string v5, "Process disappeared"
49593 invoke-direct {v4, v5}, Ljava/lang/IllegalStateException;-><init>(Ljava/lang/String;)V
49597 .catchall {:try_start_15 .. :try_end_1d} :catchall_1d
49602 if-eqz p4, :cond_23
49605 invoke-virtual/range {p4 .. p4}, Landroid/os/ParcelFileDescriptor;->close()V
49607 .catch Ljava/io/IOException; {:try_start_20 .. :try_end_23} :catch_d8
49614 if-eqz p2, :cond_30
49616 if-nez p4, :cond_30
49619 new-instance v4, Ljava/lang/IllegalArgumentException;
49621 const-string v5, "null fd"
49623 invoke-direct {v4, v5}, Ljava/lang/IllegalArgumentException;-><init>(Ljava/lang/String;)V
49627 .catchall {:try_start_28 .. :try_end_30} :catchall_11
49632 if-eqz p1, :cond_64
49635 invoke-static/range {p1 .. p1}, Ljava/lang/Integer;->parseInt(Ljava/lang/String;)I
49639 iget-object v5, p0, Lcom/android/server/am/ActivityManagerService;->mPidsSelfLocked:Landroid/util/SparseArray;
49643 .catchall {:try_start_33 .. :try_end_3a} :catchall_11
49644 .catch Ljava/lang/NumberFormatException; {:try_start_33 .. :try_end_3a} :catch_8a
49647 iget-object v4, p0, Lcom/android/server/am/ActivityManagerService;->mPidsSelfLocked:Landroid/util/SparseArray;
49649 invoke-virtual {v4, v12}, Landroid/util/SparseArray;->get(I)Ljava/lang/Object;
49651 move-result-object v4
49655 check-cast v0, Lcom/android/server/am/ProcessRecord;
49657 move-object v13, v0
49661 .catchall {:try_start_3a .. :try_end_45} :catchall_87
49664 if-nez v13, :cond_64
49667 iget-object v4, p0, Lcom/android/server/am/ActivityManagerService;->mProcessNames:Lcom/android/server/ProcessMap;
49669 invoke-virtual {v4}, Lcom/android/server/ProcessMap;->getMap()Ljava/util/HashMap;
49671 move-result-object v10
49673 move-object/from16 v0, p1
49675 invoke-virtual {v10, v0}, Ljava/util/HashMap;->get(Ljava/lang/Object;)Ljava/lang/Object;
49677 move-result-object v14
49679 check-cast v14, Landroid/util/SparseArray;
49681 if-eqz v14, :cond_64
49683 invoke-virtual {v14}, Landroid/util/SparseArray;->size()I
49687 if-lez v4, :cond_64
49691 invoke-virtual {v14, v4}, Landroid/util/SparseArray;->valueAt(I)Ljava/lang/Object;
49693 move-result-object v13
49695 check-cast v13, Lcom/android/server/am/ProcessRecord;
49698 if-eqz p2, :cond_8c
49700 if-eqz v13, :cond_6c
49702 iget-object v4, v13, Lcom/android/server/am/ProcessRecord;->thread:Landroid/app/IApplicationThread;
49704 if-nez v4, :cond_8c
49707 new-instance v4, Ljava/lang/IllegalArgumentException;
49709 new-instance v5, Ljava/lang/StringBuilder;
49711 invoke-direct {v5}, Ljava/lang/StringBuilder;-><init>()V
49713 const-string v6, "Unknown process: "
49715 invoke-virtual {v5, v6}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
49717 move-result-object v5
49719 move-object/from16 v0, p1
49721 invoke-virtual {v5, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
49723 move-result-object v5
49725 invoke-virtual {v5}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
49727 move-result-object v5
49729 invoke-direct {v4, v5}, Ljava/lang/IllegalArgumentException;-><init>(Ljava/lang/String;)V
49733 .catchall {:try_start_47 .. :try_end_87} :catchall_11
49741 .catchall {:try_start_88 .. :try_end_89} :catchall_87
49746 .catchall {:try_start_89 .. :try_end_8a} :catchall_11
49747 .catch Ljava/lang/NumberFormatException; {:try_start_89 .. :try_end_8a} :catch_8a
49755 if-eqz p2, :cond_c9
49764 invoke-direct {p0, v4, v5, v6}, Lcom/android/server/am/ActivityManagerService;->stopProfilerLocked(Lcom/android/server/am/ProcessRecord;Ljava/lang/String;I)V
49766 iget-object v5, v13, Lcom/android/server/am/ProcessRecord;->info:Landroid/content/pm/ApplicationInfo;
49768 iget-object v6, v13, Lcom/android/server/am/ProcessRecord;->processName:Ljava/lang/String;
49774 move-object/from16 v7, p3
49776 move-object/from16 v8, p4
49778 invoke-virtual/range {v4 .. v9}, Lcom/android/server/am/ActivityManagerService;->setProfileApp(Landroid/content/pm/ApplicationInfo;Ljava/lang/String;Ljava/lang/String;Landroid/os/ParcelFileDescriptor;Z)V
49780 iput-object v13, p0, Lcom/android/server/am/ActivityManagerService;->mProfileProc:Lcom/android/server/am/ProcessRecord;
49784 iput v0, p0, Lcom/android/server/am/ActivityManagerService;->mProfileType:I
49786 .catchall {:try_start_91 .. :try_end_a7} :catchall_11
49789 invoke-virtual/range {p4 .. p4}, Landroid/os/ParcelFileDescriptor;->dup()Landroid/os/ParcelFileDescriptor;
49791 .catchall {:try_start_a7 .. :try_end_aa} :catchall_11
49792 .catch Ljava/io/IOException; {:try_start_a7 .. :try_end_aa} :catch_c5
49794 move-result-object p4
49798 iget-object v4, v13, Lcom/android/server/am/ProcessRecord;->thread:Landroid/app/IApplicationThread;
49802 move-object/from16 v1, p3
49804 move-object/from16 v2, p4
49808 invoke-interface {v4, v0, v1, v2, v3}, Landroid/app/IApplicationThread;->profilerControl(ZLjava/lang/String;Landroid/os/ParcelFileDescriptor;I)V
49814 iput-object v4, p0, Lcom/android/server/am/ActivityManagerService;->mProfileFd:Landroid/os/ParcelFileDescriptor;
49822 .catchall {:try_start_ab .. :try_end_bf} :catchall_11
49824 if-eqz p4, :cond_c4
49827 invoke-virtual/range {p4 .. p4}, Landroid/os/ParcelFileDescriptor;->close()V
49829 .catch Ljava/io/IOException; {:try_start_c1 .. :try_end_c4} :catch_db
49844 move-object/from16 v0, p3
49848 invoke-direct {p0, v13, v0, v1}, Lcom/android/server/am/ActivityManagerService;->stopProfilerLocked(Lcom/android/server/am/ProcessRecord;Ljava/lang/String;I)V
49850 .catchall {:try_start_c9 .. :try_end_d0} :catchall_11
49852 if-eqz p4, :cond_bd
49855 invoke-virtual/range {p4 .. p4}, Landroid/os/ParcelFileDescriptor;->close()V
49857 .catchall {:try_start_d2 .. :try_end_d5} :catchall_11
49858 .catch Ljava/io/IOException; {:try_start_d2 .. :try_end_d5} :catch_d6
49878 .method public final publishContentProviders(Landroid/app/IApplicationThread;Ljava/util/List;)V
49880 .annotation system Ldalvik/annotation/Signature;
49883 "Landroid/app/IApplicationThread;",
49886 "Landroid/app/IActivityManager$ContentProviderHolder;",
49897 const-string v12, "publishContentProviders"
49899 invoke-virtual {p0, v12}, Lcom/android/server/am/ActivityManagerService;->enforceNotIsolatedCaller(Ljava/lang/String;)V
49904 invoke-virtual/range {p0 .. p1}, Lcom/android/server/am/ActivityManagerService;->getRecordForAppLocked(Landroid/app/IApplicationThread;)Lcom/android/server/am/ProcessRecord;
49906 move-result-object v10
49908 if-nez v10, :cond_41
49910 new-instance v12, Ljava/lang/SecurityException;
49912 new-instance v13, Ljava/lang/StringBuilder;
49914 invoke-direct {v13}, Ljava/lang/StringBuilder;-><init>()V
49916 const-string v14, "Unable to find app for caller "
49918 invoke-virtual {v13, v14}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
49920 move-result-object v13
49922 move-object/from16 v0, p1
49924 invoke-virtual {v13, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
49926 move-result-object v13
49928 const-string v14, " (pid="
49930 invoke-virtual {v13, v14}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
49932 move-result-object v13
49934 invoke-static {}, Landroid/os/Binder;->getCallingPid()I
49938 invoke-virtual {v13, v14}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
49940 move-result-object v13
49942 const-string v14, ") when publishing content providers"
49944 invoke-virtual {v13, v14}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
49946 move-result-object v13
49948 invoke-virtual {v13}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
49950 move-result-object v13
49952 invoke-direct {v12, v13}, Ljava/lang/SecurityException;-><init>(Ljava/lang/String;)V
49961 .catchall {:try_start_9 .. :try_end_40} :catchall_3e
49967 invoke-static {}, Landroid/os/Binder;->clearCallingIdentity()J
49969 move-result-wide v8
49971 invoke-interface/range {p2 .. p2}, Ljava/util/List;->size()I
49978 if-ge v5, v1, :cond_c8
49980 move-object/from16 v0, p2
49982 invoke-interface {v0, v5}, Ljava/util/List;->get(I)Ljava/lang/Object;
49984 move-result-object v11
49986 check-cast v11, Landroid/app/IActivityManager$ContentProviderHolder;
49988 if-eqz v11, :cond_5e
49990 iget-object v12, v11, Landroid/app/IActivityManager$ContentProviderHolder;->info:Landroid/content/pm/ProviderInfo;
49992 if-eqz v12, :cond_5e
49994 iget-object v12, v11, Landroid/app/IActivityManager$ContentProviderHolder;->provider:Landroid/content/IContentProvider;
49996 if-nez v12, :cond_61
50000 add-int/lit8 v5, v5, 0x1
50005 iget-object v12, v10, Lcom/android/server/am/ProcessRecord;->pubProviders:Ljava/util/HashMap;
50007 iget-object v13, v11, Landroid/app/IActivityManager$ContentProviderHolder;->info:Landroid/content/pm/ProviderInfo;
50009 iget-object v13, v13, Landroid/content/pm/ProviderInfo;->name:Ljava/lang/String;
50011 invoke-virtual {v12, v13}, Ljava/util/HashMap;->get(Ljava/lang/Object;)Ljava/lang/Object;
50013 move-result-object v4
50015 check-cast v4, Lcom/android/server/am/ContentProviderRecord;
50017 if-eqz v4, :cond_5e
50019 new-instance v3, Landroid/content/ComponentName;
50021 iget-object v12, v4, Lcom/android/server/am/ContentProviderRecord;->info:Landroid/content/pm/ProviderInfo;
50023 iget-object v12, v12, Landroid/content/pm/ProviderInfo;->packageName:Ljava/lang/String;
50025 iget-object v13, v4, Lcom/android/server/am/ContentProviderRecord;->info:Landroid/content/pm/ProviderInfo;
50027 iget-object v13, v13, Landroid/content/pm/ProviderInfo;->name:Ljava/lang/String;
50029 invoke-direct {v3, v12, v13}, Landroid/content/ComponentName;-><init>(Ljava/lang/String;Ljava/lang/String;)V
50031 iget-object v12, p0, Lcom/android/server/am/ActivityManagerService;->mProviderMap:Lcom/android/server/am/ProviderMap;
50033 invoke-virtual {v12, v3, v4}, Lcom/android/server/am/ProviderMap;->putProviderByClass(Landroid/content/ComponentName;Lcom/android/server/am/ContentProviderRecord;)V
50035 iget-object v12, v4, Lcom/android/server/am/ContentProviderRecord;->info:Landroid/content/pm/ProviderInfo;
50037 iget-object v12, v12, Landroid/content/pm/ProviderInfo;->authority:Ljava/lang/String;
50039 const-string v13, ";"
50041 invoke-virtual {v12, v13}, Ljava/lang/String;->split(Ljava/lang/String;)[Ljava/lang/String;
50043 move-result-object v7
50048 array-length v12, v7
50050 if-ge v6, v12, :cond_99
50052 iget-object v12, p0, Lcom/android/server/am/ActivityManagerService;->mProviderMap:Lcom/android/server/am/ProviderMap;
50054 aget-object v13, v7, v6
50056 invoke-virtual {v12, v13, v4}, Lcom/android/server/am/ProviderMap;->putProviderByName(Ljava/lang/String;Lcom/android/server/am/ContentProviderRecord;)V
50058 add-int/lit8 v6, v6, 0x1
50063 iget-object v12, p0, Lcom/android/server/am/ActivityManagerService;->mLaunchingProviders:Ljava/util/ArrayList;
50065 invoke-virtual {v12}, Ljava/util/ArrayList;->size()I
50072 if-ge v6, v2, :cond_b6
50074 iget-object v12, p0, Lcom/android/server/am/ActivityManagerService;->mLaunchingProviders:Ljava/util/ArrayList;
50076 invoke-virtual {v12, v6}, Ljava/util/ArrayList;->get(I)Ljava/lang/Object;
50078 move-result-object v12
50080 if-ne v12, v4, :cond_b3
50082 iget-object v12, p0, Lcom/android/server/am/ActivityManagerService;->mLaunchingProviders:Ljava/util/ArrayList;
50084 invoke-virtual {v12, v6}, Ljava/util/ArrayList;->remove(I)Ljava/lang/Object;
50086 add-int/lit8 v6, v6, -0x1
50088 add-int/lit8 v2, v2, -0x1
50091 add-int/lit8 v6, v6, 0x1
50098 .catchall {:try_start_41 .. :try_end_b7} :catchall_3e
50101 iget-object v12, v11, Landroid/app/IActivityManager$ContentProviderHolder;->provider:Landroid/content/IContentProvider;
50103 iput-object v12, v4, Lcom/android/server/am/ContentProviderRecord;->provider:Landroid/content/IContentProvider;
50105 iput-object v10, v4, Lcom/android/server/am/ContentProviderRecord;->proc:Lcom/android/server/am/ProcessRecord;
50107 invoke-virtual {v4}, Ljava/lang/Object;->notifyAll()V
50111 .catchall {:try_start_b7 .. :try_end_c1} :catchall_c5
50114 invoke-direct {p0, v10}, Lcom/android/server/am/ActivityManagerService;->updateOomAdjLocked(Lcom/android/server/am/ProcessRecord;)Z
50116 .catchall {:try_start_c1 .. :try_end_c4} :catchall_3e
50126 .catchall {:try_start_c6 .. :try_end_c7} :catchall_c5
50132 invoke-static {v8, v9}, Landroid/os/Binder;->restoreCallingIdentity(J)V
50136 .catchall {:try_start_c7 .. :try_end_cc} :catchall_3e
50141 .method public publishService(Landroid/os/IBinder;Landroid/content/Intent;Landroid/os/IBinder;)V
50144 if-eqz p2, :cond_11
50146 invoke-virtual/range {p2 .. p2}, Landroid/content/Intent;->hasFileDescriptors()Z
50152 if-ne v11, v12, :cond_11
50154 new-instance v11, Ljava/lang/IllegalArgumentException;
50156 const-string v12, "File descriptors passed in Intent"
50158 invoke-direct {v11, v12}, Ljava/lang/IllegalArgumentException;-><init>(Ljava/lang/String;)V
50166 instance-of v11, p1, Lcom/android/server/am/ServiceRecord;
50168 if-nez v11, :cond_21
50170 new-instance v11, Ljava/lang/IllegalArgumentException;
50172 const-string v12, "Invalid service token"
50174 invoke-direct {v11, v12}, Ljava/lang/IllegalArgumentException;-><init>(Ljava/lang/String;)V
50183 .catchall {:try_start_12 .. :try_end_20} :catchall_1e
50191 check-cast v0, Lcom/android/server/am/ServiceRecord;
50193 move-object v10, v0
50195 invoke-static {}, Landroid/os/Binder;->clearCallingIdentity()J
50197 move-result-wide v8
50199 if-eqz v10, :cond_dc
50201 new-instance v5, Landroid/content/Intent$FilterComparison;
50203 move-object/from16 v0, p2
50205 invoke-direct {v5, v0}, Landroid/content/Intent$FilterComparison;-><init>(Landroid/content/Intent;)V
50207 iget-object v11, v10, Lcom/android/server/am/ServiceRecord;->bindings:Ljava/util/HashMap;
50209 invoke-virtual {v11, v5}, Ljava/util/HashMap;->get(Ljava/lang/Object;)Ljava/lang/Object;
50211 move-result-object v1
50213 check-cast v1, Lcom/android/server/am/IntentBindRecord;
50215 if-eqz v1, :cond_d0
50217 iget-boolean v11, v1, Lcom/android/server/am/IntentBindRecord;->received:Z
50219 if-nez v11, :cond_d0
50221 move-object/from16 v0, p3
50223 iput-object v0, v1, Lcom/android/server/am/IntentBindRecord;->binder:Landroid/os/IBinder;
50227 iput-boolean v11, v1, Lcom/android/server/am/IntentBindRecord;->requested:Z
50231 iput-boolean v11, v1, Lcom/android/server/am/IntentBindRecord;->received:Z
50233 iget-object v11, v10, Lcom/android/server/am/ServiceRecord;->connections:Ljava/util/HashMap;
50235 invoke-virtual {v11}, Ljava/util/HashMap;->size()I
50239 if-lez v11, :cond_d0
50241 iget-object v11, v10, Lcom/android/server/am/ServiceRecord;->connections:Ljava/util/HashMap;
50243 invoke-virtual {v11}, Ljava/util/HashMap;->values()Ljava/util/Collection;
50245 move-result-object v11
50247 invoke-interface {v11}, Ljava/util/Collection;->iterator()Ljava/util/Iterator;
50249 move-result-object v7
50252 invoke-interface {v7}, Ljava/util/Iterator;->hasNext()Z
50256 if-eqz v11, :cond_d0
50258 invoke-interface {v7}, Ljava/util/Iterator;->next()Ljava/lang/Object;
50260 move-result-object v3
50262 check-cast v3, Ljava/util/ArrayList;
50267 invoke-virtual {v3}, Ljava/util/ArrayList;->size()I
50271 if-ge v6, v11, :cond_5c
50273 invoke-virtual {v3, v6}, Ljava/util/ArrayList;->get(I)Ljava/lang/Object;
50275 move-result-object v2
50277 check-cast v2, Lcom/android/server/am/ConnectionRecord;
50279 iget-object v11, v2, Lcom/android/server/am/ConnectionRecord;->binding:Lcom/android/server/am/AppBindRecord;
50281 iget-object v11, v11, Lcom/android/server/am/AppBindRecord;->intent:Lcom/android/server/am/IntentBindRecord;
50283 iget-object v11, v11, Lcom/android/server/am/IntentBindRecord;->intent:Landroid/content/Intent$FilterComparison;
50285 invoke-virtual {v5, v11}, Landroid/content/Intent$FilterComparison;->equals(Ljava/lang/Object;)Z
50287 .catchall {:try_start_21 .. :try_end_7e} :catchall_1e
50291 if-nez v11, :cond_84
50294 add-int/lit8 v6, v6, 0x1
50300 iget-object v11, v2, Lcom/android/server/am/ConnectionRecord;->conn:Landroid/app/IServiceConnection;
50302 iget-object v12, v10, Lcom/android/server/am/ServiceRecord;->name:Landroid/content/ComponentName;
50304 move-object/from16 v0, p3
50306 invoke-interface {v11, v12, v0}, Landroid/app/IServiceConnection;->connected(Landroid/content/ComponentName;Landroid/os/IBinder;)V
50308 .catchall {:try_start_84 .. :try_end_8d} :catchall_1e
50309 .catch Ljava/lang/Exception; {:try_start_84 .. :try_end_8d} :catch_8e
50317 const-string v11, "ActivityManager"
50319 new-instance v12, Ljava/lang/StringBuilder;
50321 invoke-direct {v12}, Ljava/lang/StringBuilder;-><init>()V
50323 const-string v13, "Failure sending service "
50325 invoke-virtual {v12, v13}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
50327 move-result-object v12
50329 iget-object v13, v10, Lcom/android/server/am/ServiceRecord;->name:Landroid/content/ComponentName;
50331 invoke-virtual {v12, v13}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
50333 move-result-object v12
50335 const-string v13, " to connection "
50337 invoke-virtual {v12, v13}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
50339 move-result-object v12
50341 iget-object v13, v2, Lcom/android/server/am/ConnectionRecord;->conn:Landroid/app/IServiceConnection;
50343 invoke-interface {v13}, Landroid/app/IServiceConnection;->asBinder()Landroid/os/IBinder;
50345 move-result-object v13
50347 invoke-virtual {v12, v13}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
50349 move-result-object v12
50351 const-string v13, " (in "
50353 invoke-virtual {v12, v13}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
50355 move-result-object v12
50357 iget-object v13, v2, Lcom/android/server/am/ConnectionRecord;->binding:Lcom/android/server/am/AppBindRecord;
50359 iget-object v13, v13, Lcom/android/server/am/AppBindRecord;->client:Lcom/android/server/am/ProcessRecord;
50361 iget-object v13, v13, Lcom/android/server/am/ProcessRecord;->processName:Ljava/lang/String;
50363 invoke-virtual {v12, v13}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
50365 move-result-object v12
50367 const-string v13, ")"
50369 invoke-virtual {v12, v13}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
50371 move-result-object v12
50373 invoke-virtual {v12}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
50375 move-result-object v12
50377 invoke-static {v11, v12, v4}, Landroid/util/Slog;->w(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I
50382 iget-object v11, p0, Lcom/android/server/am/ActivityManagerService;->mStoppingServices:Ljava/util/ArrayList;
50384 invoke-virtual {v11, v10}, Ljava/util/ArrayList;->contains(Ljava/lang/Object;)Z
50388 invoke-virtual {p0, v10, v11}, Lcom/android/server/am/ActivityManagerService;->serviceDoneExecutingLocked(Lcom/android/server/am/ServiceRecord;Z)V
50390 invoke-static {v8, v9}, Landroid/os/Binder;->restoreCallingIdentity(J)V
50395 .catchall {:try_start_8f .. :try_end_dd} :catchall_1e
50400 .method public refContentProvider(Landroid/os/IBinder;II)Z
50406 check-cast v0, Lcom/android/server/am/ContentProviderConnection;
50410 .catch Ljava/lang/ClassCastException; {:try_start_0 .. :try_end_4} :catch_e
50412 if-nez v1, :cond_33
50414 new-instance v4, Ljava/lang/NullPointerException;
50416 const-string v5, "connection is null"
50418 invoke-direct {v4, v5}, Ljava/lang/NullPointerException;-><init>(Ljava/lang/String;)V
50425 new-instance v4, Ljava/lang/StringBuilder;
50427 invoke-direct {v4}, Ljava/lang/StringBuilder;-><init>()V
50429 const-string v5, "refContentProvider: "
50431 invoke-virtual {v4, v5}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
50433 move-result-object v4
50435 invoke-virtual {v4, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
50437 move-result-object v4
50439 const-string v5, " not a ContentProviderConnection"
50441 invoke-virtual {v4, v5}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
50443 move-result-object v4
50445 invoke-virtual {v4}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
50447 move-result-object v3
50449 const-string v4, "ActivityManager"
50451 invoke-static {v4, v3}, Landroid/util/Slog;->w(Ljava/lang/String;Ljava/lang/String;)I
50453 new-instance v4, Ljava/lang/IllegalArgumentException;
50455 invoke-direct {v4, v3}, Ljava/lang/IllegalArgumentException;-><init>(Ljava/lang/String;)V
50462 if-lez p2, :cond_3b
50465 iget v4, v1, Lcom/android/server/am/ContentProviderConnection;->numStableIncs:I
50467 add-int/2addr v4, p2
50469 iput v4, v1, Lcom/android/server/am/ContentProviderConnection;->numStableIncs:I
50472 iget v4, v1, Lcom/android/server/am/ContentProviderConnection;->stableCount:I
50474 add-int/2addr p2, v4
50476 if-gez p2, :cond_5c
50478 new-instance v4, Ljava/lang/IllegalStateException;
50480 new-instance v5, Ljava/lang/StringBuilder;
50482 invoke-direct {v5}, Ljava/lang/StringBuilder;-><init>()V
50484 const-string v6, "stableCount < 0: "
50486 invoke-virtual {v5, v6}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
50488 move-result-object v5
50490 invoke-virtual {v5, p2}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
50492 move-result-object v5
50494 invoke-virtual {v5}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
50496 move-result-object v5
50498 invoke-direct {v4, v5}, Ljava/lang/IllegalStateException;-><init>(Ljava/lang/String;)V
50507 .catchall {:try_start_36 .. :try_end_5b} :catchall_59
50512 if-lez p3, :cond_63
50515 iget v4, v1, Lcom/android/server/am/ContentProviderConnection;->numUnstableIncs:I
50517 add-int/2addr v4, p3
50519 iput v4, v1, Lcom/android/server/am/ContentProviderConnection;->numUnstableIncs:I
50522 iget v4, v1, Lcom/android/server/am/ContentProviderConnection;->unstableCount:I
50524 add-int/2addr p3, v4
50526 if-gez p3, :cond_81
50528 new-instance v4, Ljava/lang/IllegalStateException;
50530 new-instance v5, Ljava/lang/StringBuilder;
50532 invoke-direct {v5}, Ljava/lang/StringBuilder;-><init>()V
50534 const-string v6, "unstableCount < 0: "
50536 invoke-virtual {v5, v6}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
50538 move-result-object v5
50540 invoke-virtual {v5, p3}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
50542 move-result-object v5
50544 invoke-virtual {v5}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
50546 move-result-object v5
50548 invoke-direct {v4, v5}, Ljava/lang/IllegalStateException;-><init>(Ljava/lang/String;)V
50555 if-gtz v4, :cond_a8
50557 new-instance v4, Ljava/lang/IllegalStateException;
50559 new-instance v5, Ljava/lang/StringBuilder;
50561 invoke-direct {v5}, Ljava/lang/StringBuilder;-><init>()V
50563 const-string v6, "ref counts can\'t go to zero here: stable="
50565 invoke-virtual {v5, v6}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
50567 move-result-object v5
50569 invoke-virtual {v5, p2}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
50571 move-result-object v5
50573 const-string v6, " unstable="
50575 invoke-virtual {v5, v6}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
50577 move-result-object v5
50579 invoke-virtual {v5, p3}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
50581 move-result-object v5
50583 invoke-virtual {v5}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
50585 move-result-object v5
50587 invoke-direct {v4, v5}, Ljava/lang/IllegalStateException;-><init>(Ljava/lang/String;)V
50592 iput p2, v1, Lcom/android/server/am/ContentProviderConnection;->stableCount:I
50594 iput p3, v1, Lcom/android/server/am/ContentProviderConnection;->unstableCount:I
50596 iget-boolean v4, v1, Lcom/android/server/am/ContentProviderConnection;->dead:Z
50598 if-nez v4, :cond_b3
50605 .catchall {:try_start_5e .. :try_end_b2} :catchall_59
50615 .method public registerProcessObserver(Landroid/app/IProcessObserver;)V
50618 const-string v0, "android.permission.SET_ACTIVITY_WATCHER"
50620 const-string v1, "registerProcessObserver()"
50622 invoke-virtual {p0, v0, v1}, Lcom/android/server/am/ActivityManagerService;->enforceCallingPermission(Ljava/lang/String;Ljava/lang/String;)V
50627 iget-object v0, p0, Lcom/android/server/am/ActivityManagerService;->mProcessObservers:Landroid/os/RemoteCallbackList;
50629 invoke-virtual {v0, p1}, Landroid/os/RemoteCallbackList;->register(Landroid/os/IInterface;)Z
50640 .catchall {:try_start_8 .. :try_end_11} :catchall_f
50645 .method public registerReceiver(Landroid/app/IApplicationThread;Ljava/lang/String;Landroid/content/IIntentReceiver;Landroid/content/IntentFilter;Ljava/lang/String;)Landroid/content/Intent;
50648 const-string v5, "registerReceiver"
50650 move-object/from16 v0, p0
50652 invoke-virtual {v0, v5}, Lcom/android/server/am/ActivityManagerService;->enforceNotIsolatedCaller(Ljava/lang/String;)V
50658 if-eqz p1, :cond_80
50661 invoke-virtual/range {p0 .. p1}, Lcom/android/server/am/ActivityManagerService;->getRecordForAppLocked(Landroid/app/IApplicationThread;)Lcom/android/server/am/ProcessRecord;
50663 move-result-object v6
50665 if-nez v6, :cond_49
50667 new-instance v5, Ljava/lang/SecurityException;
50669 new-instance v10, Ljava/lang/StringBuilder;
50671 invoke-direct {v10}, Ljava/lang/StringBuilder;-><init>()V
50673 const-string v11, "Unable to find app for caller "
50675 invoke-virtual {v10, v11}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
50677 move-result-object v10
50679 move-object/from16 v0, p1
50681 invoke-virtual {v10, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
50683 move-result-object v10
50685 const-string v11, " (pid="
50687 invoke-virtual {v10, v11}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
50689 move-result-object v10
50691 invoke-static {}, Landroid/os/Binder;->getCallingPid()I
50695 invoke-virtual {v10, v11}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
50697 move-result-object v10
50699 const-string v11, ") when registering receiver "
50701 invoke-virtual {v10, v11}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
50703 move-result-object v10
50705 move-object/from16 v0, p3
50707 invoke-virtual {v10, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
50709 move-result-object v10
50711 invoke-virtual {v10}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
50713 move-result-object v10
50715 invoke-direct {v5, v10}, Ljava/lang/SecurityException;-><init>(Ljava/lang/String;)V
50724 .catchall {:try_start_b .. :try_end_48} :catchall_46
50730 iget-object v5, v6, Lcom/android/server/am/ProcessRecord;->info:Landroid/content/pm/ApplicationInfo;
50732 iget v5, v5, Landroid/content/pm/ApplicationInfo;->uid:I
50734 const/16 v10, 0x3e8
50736 if-eq v5, v10, :cond_82
50738 iget-object v5, v6, Lcom/android/server/am/ProcessRecord;->pkgList:Ljava/util/HashSet;
50740 move-object/from16 v0, p2
50742 invoke-virtual {v5, v0}, Ljava/util/HashSet;->contains(Ljava/lang/Object;)Z
50746 if-nez v5, :cond_82
50748 new-instance v5, Ljava/lang/SecurityException;
50750 new-instance v10, Ljava/lang/StringBuilder;
50752 invoke-direct {v10}, Ljava/lang/StringBuilder;-><init>()V
50754 const-string v11, "Given caller package "
50756 invoke-virtual {v10, v11}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
50758 move-result-object v10
50760 move-object/from16 v0, p2
50762 invoke-virtual {v10, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
50764 move-result-object v10
50766 const-string v11, " is not running in process "
50768 invoke-virtual {v10, v11}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
50770 move-result-object v10
50772 invoke-virtual {v10, v6}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
50774 move-result-object v10
50776 invoke-virtual {v10}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
50778 move-result-object v10
50780 invoke-direct {v5, v10}, Ljava/lang/SecurityException;-><init>(Ljava/lang/String;)V
50790 invoke-virtual/range {p4 .. p4}, Landroid/content/IntentFilter;->actionsIterator()Ljava/util/Iterator;
50792 move-result-object v25
50794 if-eqz v25, :cond_a3
50797 invoke-interface/range {v25 .. v25}, Ljava/util/Iterator;->hasNext()Z
50801 if-eqz v5, :cond_ae
50803 invoke-interface/range {v25 .. v25}, Ljava/util/Iterator;->next()Ljava/lang/Object;
50805 move-result-object v24
50807 check-cast v24, Ljava/lang/String;
50809 move-object/from16 v0, p0
50811 move-object/from16 v1, v24
50813 move-object/from16 v2, p4
50815 move-object/from16 v3, v26
50817 invoke-direct {v0, v1, v2, v3}, Lcom/android/server/am/ActivityManagerService;->getStickiesLocked(Ljava/lang/String;Landroid/content/IntentFilter;Ljava/util/List;)Ljava/util/List;
50819 move-result-object v26
50826 move-object/from16 v0, p0
50828 move-object/from16 v1, p4
50830 move-object/from16 v2, v26
50832 invoke-direct {v0, v5, v1, v2}, Lcom/android/server/am/ActivityManagerService;->getStickiesLocked(Ljava/lang/String;Landroid/content/IntentFilter;Ljava/util/List;)Ljava/util/List;
50834 move-result-object v26
50837 if-eqz v26, :cond_bf
50841 move-object/from16 v0, v26
50843 invoke-interface {v0, v5}, Ljava/util/List;->get(I)Ljava/lang/Object;
50845 move-result-object v5
50847 check-cast v5, Landroid/content/Intent;
50849 move-object/from16 v30, v5
50852 if-nez p3, :cond_c2
50865 move-object/from16 v0, p0
50867 iget-object v5, v0, Lcom/android/server/am/ActivityManagerService;->mRegisteredReceivers:Ljava/util/HashMap;
50869 invoke-interface/range {p3 .. p3}, Landroid/content/IIntentReceiver;->asBinder()Landroid/os/IBinder;
50871 move-result-object v10
50873 invoke-virtual {v5, v10}, Ljava/util/HashMap;->get(Ljava/lang/Object;)Ljava/lang/Object;
50875 move-result-object v4
50877 check-cast v4, Lcom/android/server/am/ReceiverList;
50879 if-nez v4, :cond_f9
50881 new-instance v4, Lcom/android/server/am/ReceiverList;
50883 invoke-static {}, Landroid/os/Binder;->getCallingPid()I
50887 invoke-static {}, Landroid/os/Binder;->getCallingUid()I
50891 move-object/from16 v5, p0
50893 move-object/from16 v9, p3
50895 invoke-direct/range {v4 .. v9}, Lcom/android/server/am/ReceiverList;-><init>(Lcom/android/server/am/ActivityManagerService;Lcom/android/server/am/ProcessRecord;IILandroid/content/IIntentReceiver;)V
50897 iget-object v5, v4, Lcom/android/server/am/ReceiverList;->app:Lcom/android/server/am/ProcessRecord;
50899 if-eqz v5, :cond_16a
50901 iget-object v5, v4, Lcom/android/server/am/ReceiverList;->app:Lcom/android/server/am/ProcessRecord;
50903 iget-object v5, v5, Lcom/android/server/am/ProcessRecord;->receivers:Ljava/util/HashSet;
50905 invoke-virtual {v5, v4}, Ljava/util/HashSet;->add(Ljava/lang/Object;)Z
50908 move-object/from16 v0, p0
50910 iget-object v5, v0, Lcom/android/server/am/ActivityManagerService;->mRegisteredReceivers:Ljava/util/HashMap;
50912 invoke-interface/range {p3 .. p3}, Landroid/content/IIntentReceiver;->asBinder()Landroid/os/IBinder;
50914 move-result-object v10
50916 invoke-virtual {v5, v10, v4}, Ljava/util/HashMap;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
50919 new-instance v27, Lcom/android/server/am/BroadcastFilter;
50921 move-object/from16 v0, v27
50923 move-object/from16 v1, p4
50925 move-object/from16 v2, p2
50927 move-object/from16 v3, p5
50929 invoke-direct {v0, v1, v4, v2, v3}, Lcom/android/server/am/BroadcastFilter;-><init>(Landroid/content/IntentFilter;Lcom/android/server/am/ReceiverList;Ljava/lang/String;Ljava/lang/String;)V
50931 move-object/from16 v0, v27
50933 invoke-virtual {v4, v0}, Lcom/android/server/am/ReceiverList;->add(Ljava/lang/Object;)Z
50935 invoke-virtual/range {v27 .. v27}, Lcom/android/server/am/BroadcastFilter;->debugCheck()Z
50939 if-nez v5, :cond_118
50941 const-string v5, "ActivityManager"
50943 const-string v10, "==> For Dynamic broadast"
50945 invoke-static {v5, v10}, Landroid/util/Slog;->w(Ljava/lang/String;Ljava/lang/String;)I
50948 move-object/from16 v0, p0
50950 iget-object v5, v0, Lcom/android/server/am/ActivityManagerService;->mReceiverResolver:Lcom/android/server/IntentResolver;
50952 move-object/from16 v0, v27
50954 invoke-virtual {v5, v0}, Lcom/android/server/IntentResolver;->addFilter(Landroid/content/IntentFilter;)V
50956 if-eqz v26, :cond_17b
50958 new-instance v15, Ljava/util/ArrayList;
50960 invoke-direct {v15}, Ljava/util/ArrayList;-><init>()V
50962 move-object/from16 v0, v27
50964 invoke-virtual {v15, v0}, Ljava/util/ArrayList;->add(Ljava/lang/Object;)Z
50966 invoke-interface/range {v26 .. v26}, Ljava/util/List;->size()I
50973 move/from16 v0, v29
50975 move/from16 v1, v23
50977 if-ge v0, v1, :cond_17b
50979 move-object/from16 v0, v26
50981 move/from16 v1, v29
50983 invoke-interface {v0, v1}, Ljava/util/List;->get(I)Ljava/lang/Object;
50985 move-result-object v9
50987 check-cast v9, Landroid/content/Intent;
50989 move-object/from16 v0, p0
50991 invoke-virtual {v0, v9}, Lcom/android/server/am/ActivityManagerService;->broadcastQueueForIntent(Landroid/content/Intent;)Lcom/android/server/am/BroadcastQueue;
50993 move-result-object v8
50995 new-instance v7, Lcom/android/server/am/BroadcastRecord;
51021 invoke-direct/range {v7 .. v22}, 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;ZZZ)V
51023 invoke-virtual {v8, v7}, Lcom/android/server/am/BroadcastQueue;->enqueueParallelBroadcastLocked(Lcom/android/server/am/BroadcastRecord;)V
51025 invoke-virtual {v8}, Lcom/android/server/am/BroadcastQueue;->scheduleBroadcastsLocked()V
51027 .catchall {:try_start_49 .. :try_end_167} :catchall_46
51029 add-int/lit8 v29, v29, 0x1
51035 invoke-interface/range {p3 .. p3}, Landroid/content/IIntentReceiver;->asBinder()Landroid/os/IBinder;
51037 move-result-object v5
51041 invoke-interface {v5, v4, v10}, Landroid/os/IBinder;->linkToDeath(Landroid/os/IBinder$DeathRecipient;I)V
51043 .catchall {:try_start_16a .. :try_end_172} :catchall_46
51044 .catch Landroid/os/RemoteException; {:try_start_16a .. :try_end_172} :catch_177
51049 iput-boolean v5, v4, Lcom/android/server/am/ReceiverList;->linkedToDeath:Z
51063 .catchall {:try_start_173 .. :try_end_17c} :catchall_46
51068 .method removeConnectionLocked(Lcom/android/server/am/ConnectionRecord;Lcom/android/server/am/ProcessRecord;Lcom/android/server/am/ActivityRecord;)V
51073 iget-object v5, p1, Lcom/android/server/am/ConnectionRecord;->conn:Landroid/app/IServiceConnection;
51075 invoke-interface {v5}, Landroid/app/IServiceConnection;->asBinder()Landroid/os/IBinder;
51077 move-result-object v1
51079 iget-object v0, p1, Lcom/android/server/am/ConnectionRecord;->binding:Lcom/android/server/am/AppBindRecord;
51081 iget-object v4, v0, Lcom/android/server/am/AppBindRecord;->service:Lcom/android/server/am/ServiceRecord;
51083 iget-object v5, v4, Lcom/android/server/am/ServiceRecord;->connections:Ljava/util/HashMap;
51085 invoke-virtual {v5, v1}, Ljava/util/HashMap;->get(Ljava/lang/Object;)Ljava/lang/Object;
51087 move-result-object v2
51089 check-cast v2, Ljava/util/ArrayList;
51091 if-eqz v2, :cond_23
51093 invoke-virtual {v2, p1}, Ljava/util/ArrayList;->remove(Ljava/lang/Object;)Z
51095 invoke-virtual {v2}, Ljava/util/ArrayList;->size()I
51099 if-nez v5, :cond_23
51101 iget-object v5, v4, Lcom/android/server/am/ServiceRecord;->connections:Ljava/util/HashMap;
51103 invoke-virtual {v5, v1}, Ljava/util/HashMap;->remove(Ljava/lang/Object;)Ljava/lang/Object;
51106 iget-object v5, v0, Lcom/android/server/am/AppBindRecord;->connections:Ljava/util/HashSet;
51108 invoke-virtual {v5, p1}, Ljava/util/HashSet;->remove(Ljava/lang/Object;)Z
51110 iget-object v5, p1, Lcom/android/server/am/ConnectionRecord;->activity:Lcom/android/server/am/ActivityRecord;
51112 if-eqz v5, :cond_3d
51114 iget-object v5, p1, Lcom/android/server/am/ConnectionRecord;->activity:Lcom/android/server/am/ActivityRecord;
51116 if-eq v5, p3, :cond_3d
51118 iget-object v5, p1, Lcom/android/server/am/ConnectionRecord;->activity:Lcom/android/server/am/ActivityRecord;
51120 iget-object v5, v5, Lcom/android/server/am/ActivityRecord;->connections:Ljava/util/HashSet;
51122 if-eqz v5, :cond_3d
51124 iget-object v5, p1, Lcom/android/server/am/ConnectionRecord;->activity:Lcom/android/server/am/ActivityRecord;
51126 iget-object v5, v5, Lcom/android/server/am/ActivityRecord;->connections:Ljava/util/HashSet;
51128 invoke-virtual {v5, p1}, Ljava/util/HashSet;->remove(Ljava/lang/Object;)Z
51131 iget-object v5, v0, Lcom/android/server/am/AppBindRecord;->client:Lcom/android/server/am/ProcessRecord;
51133 if-eq v5, p2, :cond_53
51135 iget-object v5, v0, Lcom/android/server/am/AppBindRecord;->client:Lcom/android/server/am/ProcessRecord;
51137 iget-object v5, v5, Lcom/android/server/am/ProcessRecord;->connections:Ljava/util/HashSet;
51139 invoke-virtual {v5, p1}, Ljava/util/HashSet;->remove(Ljava/lang/Object;)Z
51141 iget v5, p1, Lcom/android/server/am/ConnectionRecord;->flags:I
51143 and-int/lit8 v5, v5, 0x8
51145 if-eqz v5, :cond_53
51147 iget-object v5, v0, Lcom/android/server/am/AppBindRecord;->client:Lcom/android/server/am/ProcessRecord;
51149 invoke-virtual {v5}, Lcom/android/server/am/ProcessRecord;->updateHasAboveClientLocked()V
51152 iget-object v5, p0, Lcom/android/server/am/ActivityManagerService;->mServiceConnections:Ljava/util/HashMap;
51154 invoke-virtual {v5, v1}, Ljava/util/HashMap;->get(Ljava/lang/Object;)Ljava/lang/Object;
51156 move-result-object v2
51158 check-cast v2, Ljava/util/ArrayList;
51160 if-eqz v2, :cond_6b
51162 invoke-virtual {v2, p1}, Ljava/util/ArrayList;->remove(Ljava/lang/Object;)Z
51164 invoke-virtual {v2}, Ljava/util/ArrayList;->size()I
51168 if-nez v5, :cond_6b
51170 iget-object v5, p0, Lcom/android/server/am/ActivityManagerService;->mServiceConnections:Ljava/util/HashMap;
51172 invoke-virtual {v5, v1}, Ljava/util/HashMap;->remove(Ljava/lang/Object;)Ljava/lang/Object;
51175 iget-object v5, v0, Lcom/android/server/am/AppBindRecord;->connections:Ljava/util/HashSet;
51177 invoke-virtual {v5}, Ljava/util/HashSet;->size()I
51181 if-nez v5, :cond_7c
51183 iget-object v5, v0, Lcom/android/server/am/AppBindRecord;->intent:Lcom/android/server/am/IntentBindRecord;
51185 iget-object v5, v5, Lcom/android/server/am/IntentBindRecord;->apps:Ljava/util/HashMap;
51187 iget-object v6, v0, Lcom/android/server/am/AppBindRecord;->client:Lcom/android/server/am/ProcessRecord;
51189 invoke-virtual {v5, v6}, Ljava/util/HashMap;->remove(Ljava/lang/Object;)Ljava/lang/Object;
51192 iget-boolean v5, p1, Lcom/android/server/am/ConnectionRecord;->serviceDead:Z
51194 if-nez v5, :cond_c6
51196 iget-object v5, v4, Lcom/android/server/am/ServiceRecord;->app:Lcom/android/server/am/ProcessRecord;
51198 if-eqz v5, :cond_bd
51200 iget-object v5, v4, Lcom/android/server/am/ServiceRecord;->app:Lcom/android/server/am/ProcessRecord;
51202 iget-object v5, v5, Lcom/android/server/am/ProcessRecord;->thread:Landroid/app/IApplicationThread;
51204 if-eqz v5, :cond_bd
51206 iget-object v5, v0, Lcom/android/server/am/AppBindRecord;->intent:Lcom/android/server/am/IntentBindRecord;
51208 iget-object v5, v5, Lcom/android/server/am/IntentBindRecord;->apps:Ljava/util/HashMap;
51210 invoke-virtual {v5}, Ljava/util/HashMap;->size()I
51214 if-nez v5, :cond_bd
51216 iget-object v5, v0, Lcom/android/server/am/AppBindRecord;->intent:Lcom/android/server/am/IntentBindRecord;
51218 iget-boolean v5, v5, Lcom/android/server/am/IntentBindRecord;->hasBound:Z
51220 if-eqz v5, :cond_bd
51223 const-string v5, "unbind"
51225 invoke-direct {p0, v4, v5}, Lcom/android/server/am/ActivityManagerService;->bumpServiceExecutingLocked(Lcom/android/server/am/ServiceRecord;Ljava/lang/String;)V
51227 iget-object v5, v4, Lcom/android/server/am/ServiceRecord;->app:Lcom/android/server/am/ProcessRecord;
51229 invoke-direct {p0, v5}, Lcom/android/server/am/ActivityManagerService;->updateOomAdjLocked(Lcom/android/server/am/ProcessRecord;)Z
51231 iget-object v5, v0, Lcom/android/server/am/AppBindRecord;->intent:Lcom/android/server/am/IntentBindRecord;
51235 iput-boolean v6, v5, Lcom/android/server/am/IntentBindRecord;->hasBound:Z
51237 iget-object v5, v0, Lcom/android/server/am/AppBindRecord;->intent:Lcom/android/server/am/IntentBindRecord;
51241 iput-boolean v6, v5, Lcom/android/server/am/IntentBindRecord;->doRebind:Z
51243 iget-object v5, v4, Lcom/android/server/am/ServiceRecord;->app:Lcom/android/server/am/ProcessRecord;
51245 iget-object v5, v5, Lcom/android/server/am/ProcessRecord;->thread:Landroid/app/IApplicationThread;
51247 iget-object v6, v0, Lcom/android/server/am/AppBindRecord;->intent:Lcom/android/server/am/IntentBindRecord;
51249 iget-object v6, v6, Lcom/android/server/am/IntentBindRecord;->intent:Landroid/content/Intent$FilterComparison;
51251 invoke-virtual {v6}, Landroid/content/Intent$FilterComparison;->getIntent()Landroid/content/Intent;
51253 move-result-object v6
51255 invoke-interface {v5, v4, v6}, Landroid/app/IApplicationThread;->scheduleUnbindService(Landroid/os/IBinder;Landroid/content/Intent;)V
51257 .catch Ljava/lang/Exception; {:try_start_9a .. :try_end_bd} :catch_c7
51261 iget v5, p1, Lcom/android/server/am/ConnectionRecord;->flags:I
51263 and-int/lit8 v5, v5, 0x1
51265 if-eqz v5, :cond_c6
51267 invoke-direct {p0, v4, v8}, Lcom/android/server/am/ActivityManagerService;->bringDownServiceLocked(Lcom/android/server/am/ServiceRecord;Z)V
51275 const-string v5, "ActivityManager"
51277 new-instance v6, Ljava/lang/StringBuilder;
51279 invoke-direct {v6}, Ljava/lang/StringBuilder;-><init>()V
51281 const-string v7, "Exception when unbinding service "
51283 invoke-virtual {v6, v7}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
51285 move-result-object v6
51287 iget-object v7, v4, Lcom/android/server/am/ServiceRecord;->shortName:Ljava/lang/String;
51289 invoke-virtual {v6, v7}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
51291 move-result-object v6
51293 invoke-virtual {v6}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
51295 move-result-object v6
51297 invoke-static {v5, v6, v3}, Landroid/util/Slog;->w(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I
51301 invoke-virtual {p0, v4, v5}, Lcom/android/server/am/ActivityManagerService;->serviceDoneExecutingLocked(Lcom/android/server/am/ServiceRecord;Z)V
51306 .method public removeContentProvider(Landroid/os/IBinder;Z)V
51309 const-string v4, "removeContentProvider"
51311 invoke-virtual {p0, v4}, Lcom/android/server/am/ActivityManagerService;->enforceNotIsolatedCaller(Ljava/lang/String;)V
51318 check-cast v0, Lcom/android/server/am/ContentProviderConnection;
51322 .catchall {:try_start_6 .. :try_end_a} :catchall_14
51323 .catch Ljava/lang/ClassCastException; {:try_start_6 .. :try_end_a} :catch_17
51325 if-nez v1, :cond_3c
51328 new-instance v4, Ljava/lang/NullPointerException;
51330 const-string v5, "connection is null"
51332 invoke-direct {v4, v5}, Ljava/lang/NullPointerException;-><init>(Ljava/lang/String;)V
51341 .catchall {:try_start_c .. :try_end_16} :catchall_14
51349 new-instance v4, Ljava/lang/StringBuilder;
51351 invoke-direct {v4}, Ljava/lang/StringBuilder;-><init>()V
51353 const-string v5, "removeContentProvider: "
51355 invoke-virtual {v4, v5}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
51357 move-result-object v4
51359 invoke-virtual {v4, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
51361 move-result-object v4
51363 const-string v5, " not a ContentProviderConnection"
51365 invoke-virtual {v4, v5}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
51367 move-result-object v4
51369 invoke-virtual {v4}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
51371 move-result-object v3
51373 const-string v4, "ActivityManager"
51375 invoke-static {v4, v3}, Landroid/util/Slog;->w(Ljava/lang/String;Ljava/lang/String;)I
51377 new-instance v4, Ljava/lang/IllegalArgumentException;
51379 invoke-direct {v4, v3}, Ljava/lang/IllegalArgumentException;-><init>(Ljava/lang/String;)V
51388 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
51392 if-eqz v4, :cond_47
51394 invoke-virtual {p0}, Lcom/android/server/am/ActivityManagerService;->updateOomAdjLocked()V
51399 .catchall {:try_start_18 .. :try_end_48} :catchall_14
51404 .method public removeContentProviderExternal(Ljava/lang/String;Landroid/os/IBinder;)V
51407 const-string v0, "android.permission.ACCESS_CONTENT_PROVIDERS_EXTERNALLY"
51409 const-string v1, "Do not have permission in call removeContentProviderExternal()"
51411 invoke-virtual {p0, v0, v1}, Lcom/android/server/am/ActivityManagerService;->enforceCallingPermission(Ljava/lang/String;Ljava/lang/String;)V
51413 invoke-direct {p0, p1, p2}, Lcom/android/server/am/ActivityManagerService;->removeContentProviderExternalUnchecked(Ljava/lang/String;Landroid/os/IBinder;)V
51418 .method removeReceiverLocked(Lcom/android/server/am/ReceiverList;)V
51421 iget-object v2, p0, Lcom/android/server/am/ActivityManagerService;->mRegisteredReceivers:Ljava/util/HashMap;
51423 iget-object v3, p1, Lcom/android/server/am/ReceiverList;->receiver:Landroid/content/IIntentReceiver;
51425 invoke-interface {v3}, Landroid/content/IIntentReceiver;->asBinder()Landroid/os/IBinder;
51427 move-result-object v3
51429 invoke-virtual {v2, v3}, Ljava/util/HashMap;->remove(Ljava/lang/Object;)Ljava/lang/Object;
51431 invoke-virtual {p1}, Lcom/android/server/am/ReceiverList;->size()I
51438 if-ge v1, v0, :cond_20
51440 iget-object v3, p0, Lcom/android/server/am/ActivityManagerService;->mReceiverResolver:Lcom/android/server/IntentResolver;
51442 invoke-virtual {p1, v1}, Lcom/android/server/am/ReceiverList;->get(I)Ljava/lang/Object;
51444 move-result-object v2
51446 check-cast v2, Landroid/content/IntentFilter;
51448 invoke-virtual {v3, v2}, Lcom/android/server/IntentResolver;->removeFilter(Landroid/content/IntentFilter;)V
51450 add-int/lit8 v1, v1, 0x1
51458 .method public removeSubTask(II)Z
51466 const-string v3, "android.permission.REMOVE_TASKS"
51468 const-string v4, "removeSubTask()"
51470 invoke-virtual {p0, v3, v4}, Lcom/android/server/am/ActivityManagerService;->enforceCallingPermission(Ljava/lang/String;Ljava/lang/String;)V
51472 invoke-static {}, Landroid/os/Binder;->clearCallingIdentity()J
51474 .catchall {:try_start_2 .. :try_end_c} :catchall_22
51476 move-result-wide v0
51479 iget-object v3, p0, Lcom/android/server/am/ActivityManagerService;->mMainStack:Lcom/android/server/am/ActivityStack;
51483 invoke-virtual {v3, p1, p2, v4}, Lcom/android/server/am/ActivityStack;->removeTaskActivitiesLocked(IIZ)Lcom/android/server/am/ActivityRecord;
51485 .catchall {:try_start_d .. :try_end_13} :catchall_1d
51487 move-result-object v3
51489 if-eqz v3, :cond_1b
51493 invoke-static {v0, v1}, Landroid/os/Binder;->restoreCallingIdentity(J)V
51507 invoke-static {v0, v1}, Landroid/os/Binder;->restoreCallingIdentity(J)V
51516 .catchall {:try_start_16 .. :try_end_24} :catchall_22
51521 .method public removeTask(II)Z
51531 const-string v8, "android.permission.REMOVE_TASKS"
51533 const-string v9, "removeTask()"
51535 invoke-virtual {p0, v8, v9}, Lcom/android/server/am/ActivityManagerService;->enforceCallingPermission(Ljava/lang/String;Ljava/lang/String;)V
51537 invoke-static {}, Landroid/os/Binder;->clearCallingIdentity()J
51539 .catchall {:try_start_3 .. :try_end_d} :catchall_53
51541 move-result-wide v1
51544 iget-object v8, p0, Lcom/android/server/am/ActivityManagerService;->mMainStack:Lcom/android/server/am/ActivityStack;
51550 invoke-virtual {v8, p1, v9, v10}, Lcom/android/server/am/ActivityStack;->removeTaskActivitiesLocked(IIZ)Lcom/android/server/am/ActivityRecord;
51552 move-result-object v3
51554 if-eqz v3, :cond_29
51556 iget-object v7, p0, Lcom/android/server/am/ActivityManagerService;->mRecentTasks:Ljava/util/ArrayList;
51558 iget-object v8, v3, Lcom/android/server/am/ActivityRecord;->task:Lcom/android/server/am/TaskRecord;
51560 invoke-virtual {v7, v8}, Ljava/util/ArrayList;->remove(Ljava/lang/Object;)Z
51562 iget-object v7, v3, Lcom/android/server/am/ActivityRecord;->task:Lcom/android/server/am/TaskRecord;
51564 invoke-direct {p0, v7, p2}, Lcom/android/server/am/ActivityManagerService;->cleanUpRemovedTaskLocked(Lcom/android/server/am/TaskRecord;I)V
51566 .catchall {:try_start_e .. :try_end_24} :catchall_93
51569 invoke-static {v1, v2}, Landroid/os/Binder;->restoreCallingIdentity(J)V
51573 .catchall {:try_start_24 .. :try_end_28} :catchall_53
51585 iget-object v8, p0, Lcom/android/server/am/ActivityManagerService;->mRecentTasks:Ljava/util/ArrayList;
51587 invoke-virtual {v8}, Ljava/util/ArrayList;->size()I
51591 if-ge v0, v8, :cond_40
51593 iget-object v8, p0, Lcom/android/server/am/ActivityManagerService;->mRecentTasks:Ljava/util/ArrayList;
51595 invoke-virtual {v8, v0}, Ljava/util/ArrayList;->get(I)Ljava/lang/Object;
51597 move-result-object v4
51599 check-cast v4, Lcom/android/server/am/TaskRecord;
51601 iget v8, v4, Lcom/android/server/am/TaskRecord;->taskId:I
51603 if-ne v8, p1, :cond_56
51608 if-eqz v5, :cond_8d
51610 iget v8, v5, Lcom/android/server/am/TaskRecord;->numActivities:I
51612 if-gtz v8, :cond_59
51614 iget-object v7, p0, Lcom/android/server/am/ActivityManagerService;->mRecentTasks:Ljava/util/ArrayList;
51616 invoke-virtual {v7, v0}, Ljava/util/ArrayList;->remove(I)Ljava/lang/Object;
51618 invoke-direct {p0, v5, p2}, Lcom/android/server/am/ActivityManagerService;->cleanUpRemovedTaskLocked(Lcom/android/server/am/TaskRecord;I)V
51620 .catchall {:try_start_2b .. :try_end_4e} :catchall_93
51623 invoke-static {v1, v2}, Landroid/os/Binder;->restoreCallingIdentity(J)V
51634 .catchall {:try_start_4e .. :try_end_55} :catchall_53
51639 add-int/lit8 v0, v0, 0x1
51645 const-string v6, "ActivityManager"
51647 new-instance v8, Ljava/lang/StringBuilder;
51649 invoke-direct {v8}, Ljava/lang/StringBuilder;-><init>()V
51651 const-string v9, "removeTask: task "
51653 invoke-virtual {v8, v9}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
51655 move-result-object v8
51657 invoke-virtual {v8, p1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
51659 move-result-object v8
51661 const-string v9, " does not have activities to remove, "
51663 invoke-virtual {v8, v9}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
51665 move-result-object v8
51667 const-string v9, " but numActivities="
51669 invoke-virtual {v8, v9}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
51671 move-result-object v8
51673 iget v9, v5, Lcom/android/server/am/TaskRecord;->numActivities:I
51675 invoke-virtual {v8, v9}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
51677 move-result-object v8
51679 const-string v9, ": "
51681 invoke-virtual {v8, v9}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
51683 move-result-object v8
51685 invoke-virtual {v8, v5}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
51687 move-result-object v8
51689 invoke-virtual {v8}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
51691 move-result-object v8
51693 invoke-static {v6, v8}, Landroid/util/Slog;->w(Ljava/lang/String;Ljava/lang/String;)I
51695 .catchall {:try_start_59 .. :try_end_8d} :catchall_93
51699 invoke-static {v1, v2}, Landroid/os/Binder;->restoreCallingIdentity(J)V
51710 invoke-static {v1, v2}, Landroid/os/Binder;->restoreCallingIdentity(J)V
51714 .catchall {:try_start_8d .. :try_end_98} :catchall_53
51717 .method removeUriPermissionIfNeededLocked(Lcom/android/server/am/UriPermission;)V
51720 iget v1, p1, Lcom/android/server/am/UriPermission;->modeFlags:I
51722 and-int/lit8 v1, v1, 0x3
51724 if-nez v1, :cond_24
51726 iget-object v1, p0, Lcom/android/server/am/ActivityManagerService;->mGrantedUriPermissions:Landroid/util/SparseArray;
51728 iget v2, p1, Lcom/android/server/am/UriPermission;->uid:I
51730 invoke-virtual {v1, v2}, Landroid/util/SparseArray;->get(I)Ljava/lang/Object;
51732 move-result-object v0
51734 check-cast v0, Ljava/util/HashMap;
51736 if-eqz v0, :cond_24
51738 iget-object v1, p1, Lcom/android/server/am/UriPermission;->uri:Landroid/net/Uri;
51740 invoke-virtual {v0, v1}, Ljava/util/HashMap;->remove(Ljava/lang/Object;)Ljava/lang/Object;
51742 invoke-virtual {v0}, Ljava/util/HashMap;->size()I
51746 if-nez v1, :cond_24
51748 iget-object v1, p0, Lcom/android/server/am/ActivityManagerService;->mGrantedUriPermissions:Landroid/util/SparseArray;
51750 iget v2, p1, Lcom/android/server/am/UriPermission;->uid:I
51752 invoke-virtual {v1, v2}, Landroid/util/SparseArray;->remove(I)V
51758 .method reportResumedActivityLocked(Lcom/android/server/am/ActivityRecord;)V
51763 invoke-virtual {p0, p1, v0}, Lcom/android/server/am/ActivityManagerService;->updateUsageStats(Lcom/android/server/am/ActivityRecord;Z)V
51768 .method public reportThumbnail(Landroid/os/IBinder;Landroid/graphics/Bitmap;Ljava/lang/CharSequence;)V
51771 invoke-static {}, Landroid/os/Binder;->clearCallingIdentity()J
51773 move-result-wide v6
51787 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
51789 invoke-static {v6, v7}, Landroid/os/Binder;->restoreCallingIdentity(J)V
51794 .method public resumeAppSwitches()V
51797 const-string v0, "android.permission.STOP_APP_SWITCHES"
51799 invoke-virtual {p0, v0}, Lcom/android/server/am/ActivityManagerService;->checkCallingPermission(Ljava/lang/String;)I
51803 if-eqz v0, :cond_10
51805 new-instance v0, Ljava/lang/SecurityException;
51807 const-string v1, "Requires permission android.permission.STOP_APP_SWITCHES"
51809 invoke-direct {v0, v1}, Ljava/lang/SecurityException;-><init>(Ljava/lang/String;)V
51816 const-wide/16 v0, 0x0
51819 iput-wide v0, p0, Lcom/android/server/am/ActivityManagerService;->mAppSwitchesAllowedTime:J
51830 .catchall {:try_start_13 .. :try_end_19} :catchall_17
51835 .method public revokeUriPermission(Landroid/app/IApplicationThread;Landroid/net/Uri;I)V
51838 const-string v5, "revokeUriPermission"
51840 invoke-virtual {p0, v5}, Lcom/android/server/am/ActivityManagerService;->enforceNotIsolatedCaller(Ljava/lang/String;)V
51845 invoke-virtual {p0, p1}, Lcom/android/server/am/ActivityManagerService;->getRecordForAppLocked(Landroid/app/IApplicationThread;)Lcom/android/server/am/ProcessRecord;
51847 move-result-object v4
51849 if-nez v4, :cond_32
51851 new-instance v5, Ljava/lang/SecurityException;
51853 new-instance v6, Ljava/lang/StringBuilder;
51855 invoke-direct {v6}, Ljava/lang/StringBuilder;-><init>()V
51857 const-string v7, "Unable to find app for caller "
51859 invoke-virtual {v6, v7}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
51861 move-result-object v6
51863 invoke-virtual {v6, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
51865 move-result-object v6
51867 const-string v7, " when revoking permission to uri "
51869 invoke-virtual {v6, v7}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
51871 move-result-object v6
51873 invoke-virtual {v6, p2}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
51875 move-result-object v6
51877 invoke-virtual {v6}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
51879 move-result-object v6
51881 invoke-direct {v5, v6}, Ljava/lang/SecurityException;-><init>(Ljava/lang/String;)V
51890 .catchall {:try_start_6 .. :try_end_31} :catchall_2f
51895 if-nez p2, :cond_3d
51898 const-string v5, "ActivityManager"
51900 const-string v6, "revokeUriPermission: null uri"
51902 invoke-static {v5, v6}, Landroid/util/Slog;->w(Ljava/lang/String;Ljava/lang/String;)I
51910 and-int/lit8 p3, p3, 0x3
51912 if-nez p3, :cond_43
51919 invoke-static {}, Landroid/app/AppGlobals;->getPackageManager()Landroid/content/pm/IPackageManager;
51921 move-result-object v3
51923 invoke-virtual {p2}, Landroid/net/Uri;->getAuthority()Ljava/lang/String;
51925 move-result-object v0
51929 iget-object v5, p0, Lcom/android/server/am/ActivityManagerService;->mProviderMap:Lcom/android/server/am/ProviderMap;
51931 iget v6, v4, Lcom/android/server/am/ProcessRecord;->userId:I
51933 invoke-virtual {v5, v0, v6}, Lcom/android/server/am/ProviderMap;->getProviderByName(Ljava/lang/String;I)Lcom/android/server/am/ContentProviderRecord;
51935 move-result-object v1
51937 if-eqz v1, :cond_78
51939 iget-object v2, v1, Lcom/android/server/am/ContentProviderRecord;->info:Landroid/content/pm/ProviderInfo;
51942 if-nez v2, :cond_81
51944 const-string v5, "ActivityManager"
51946 new-instance v6, Ljava/lang/StringBuilder;
51948 invoke-direct {v6}, Ljava/lang/StringBuilder;-><init>()V
51950 const-string v7, "No content provider found for permission revoke: "
51952 invoke-virtual {v6, v7}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
51954 move-result-object v6
51956 invoke-virtual {p2}, Landroid/net/Uri;->toSafeString()Ljava/lang/String;
51958 move-result-object v7
51960 invoke-virtual {v6, v7}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
51962 move-result-object v6
51964 invoke-virtual {v6}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
51966 move-result-object v6
51968 invoke-static {v5, v6}, Landroid/util/Slog;->w(Ljava/lang/String;Ljava/lang/String;)I
51972 .catchall {:try_start_34 .. :try_end_77} :catchall_2f
51980 iget v6, v4, Lcom/android/server/am/ProcessRecord;->userId:I
51982 invoke-interface {v3, v0, v5, v6}, Landroid/content/pm/IPackageManager;->resolveContentProvider(Ljava/lang/String;II)Landroid/content/pm/ProviderInfo;
51984 .catchall {:try_start_7a .. :try_end_7f} :catchall_2f
51985 .catch Landroid/os/RemoteException; {:try_start_7a .. :try_end_7f} :catch_88
51987 move-result-object v2
51993 iget v5, v4, Lcom/android/server/am/ProcessRecord;->uid:I
51995 invoke-direct {p0, v5, p2, p3}, Lcom/android/server/am/ActivityManagerService;->revokeUriPermissionLocked(ILandroid/net/Uri;I)V
51999 .catchall {:try_start_81 .. :try_end_87} :catchall_2f
52009 .method public revokeUriPermissionFromOwner(Landroid/os/IBinder;Landroid/net/Uri;I)V
52015 invoke-static {p1}, Lcom/android/server/am/UriPermissionOwner;->fromExternalToken(Landroid/os/IBinder;)Lcom/android/server/am/UriPermissionOwner;
52017 move-result-object v0
52019 if-nez v0, :cond_23
52021 new-instance v1, Ljava/lang/IllegalArgumentException;
52023 new-instance v2, Ljava/lang/StringBuilder;
52025 invoke-direct {v2}, Ljava/lang/StringBuilder;-><init>()V
52027 const-string v3, "Unknown owner: "
52029 invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
52031 move-result-object v2
52033 invoke-virtual {v2, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
52035 move-result-object v2
52037 invoke-virtual {v2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
52039 move-result-object v2
52041 invoke-direct {v1, v2}, Ljava/lang/IllegalArgumentException;-><init>(Ljava/lang/String;)V
52050 .catchall {:try_start_1 .. :try_end_22} :catchall_20
52055 if-nez p2, :cond_2a
52058 invoke-virtual {v0, p3}, Lcom/android/server/am/UriPermissionOwner;->removeUriPermissionsLocked(I)V
52066 invoke-virtual {v0, p2, p3}, Lcom/android/server/am/UriPermissionOwner;->removeUriPermissionLocked(Landroid/net/Uri;I)V
52068 .catchall {:try_start_25 .. :try_end_2d} :catchall_20
52073 .method final scheduleAppGcLocked(Lcom/android/server/am/ProcessRecord;)V
52076 invoke-static {}, Landroid/os/SystemClock;->uptimeMillis()J
52078 move-result-wide v0
52080 iget-wide v2, p1, Lcom/android/server/am/ProcessRecord;->lastRequestedGc:J
52082 const-wide/32 v4, 0xea60
52084 add-long/2addr v2, v4
52086 cmp-long v2, v2, v0
52095 iget-object v2, p0, Lcom/android/server/am/ActivityManagerService;->mProcessesToGc:Ljava/util/ArrayList;
52097 invoke-virtual {v2, p1}, Ljava/util/ArrayList;->contains(Ljava/lang/Object;)Z
52103 invoke-virtual {p0, p1}, Lcom/android/server/am/ActivityManagerService;->addProcessToGcListLocked(Lcom/android/server/am/ProcessRecord;)V
52105 invoke-virtual {p0}, Lcom/android/server/am/ActivityManagerService;->scheduleAppGcsLocked()V
52110 .method final scheduleAppGcsLocked()V
52113 const-wide/16 v10, 0x1388
52117 iget-object v6, p0, Lcom/android/server/am/ActivityManagerService;->mHandler:Landroid/os/Handler;
52119 invoke-virtual {v6, v8}, Landroid/os/Handler;->removeMessages(I)V
52121 iget-object v6, p0, Lcom/android/server/am/ActivityManagerService;->mProcessesToGc:Ljava/util/ArrayList;
52123 invoke-virtual {v6}, Ljava/util/ArrayList;->size()I
52127 if-lez v6, :cond_37
52129 iget-object v6, p0, Lcom/android/server/am/ActivityManagerService;->mProcessesToGc:Ljava/util/ArrayList;
52133 invoke-virtual {v6, v7}, Ljava/util/ArrayList;->get(I)Ljava/lang/Object;
52135 move-result-object v3
52137 check-cast v3, Lcom/android/server/am/ProcessRecord;
52139 iget-object v6, p0, Lcom/android/server/am/ActivityManagerService;->mHandler:Landroid/os/Handler;
52141 invoke-virtual {v6, v8}, Landroid/os/Handler;->obtainMessage(I)Landroid/os/Message;
52143 move-result-object v0
52145 iget-wide v6, v3, Lcom/android/server/am/ProcessRecord;->lastRequestedGc:J
52147 const-wide/32 v8, 0xea60
52149 add-long v4, v6, v8
52151 invoke-static {}, Landroid/os/SystemClock;->uptimeMillis()J
52153 move-result-wide v1
52155 add-long v6, v1, v10
52157 cmp-long v6, v4, v6
52159 if-gez v6, :cond_32
52161 add-long v4, v1, v10
52164 iget-object v6, p0, Lcom/android/server/am/ActivityManagerService;->mHandler:Landroid/os/Handler;
52166 invoke-virtual {v6, v0, v4, v5}, Landroid/os/Handler;->sendMessageAtTime(Landroid/os/Message;J)Z
52172 .method sendPendingBroadcastsLocked(Lcom/android/server/am/ProcessRecord;)Z
52177 iget-object v0, p0, Lcom/android/server/am/ActivityManagerService;->mBroadcastQueues:[Lcom/android/server/am/BroadcastQueue;
52179 array-length v3, v0
52184 if-ge v2, v3, :cond_11
52186 aget-object v4, v0, v2
52188 invoke-virtual {v4, p1}, Lcom/android/server/am/BroadcastQueue;->sendPendingBroadcastsLocked(Lcom/android/server/am/ProcessRecord;)Z
52192 or-int/2addr v1, v5
52194 add-int/lit8 v2, v2, 0x1
52202 .method final sendPendingThumbnail(Lcom/android/server/am/ActivityRecord;Landroid/os/IBinder;Landroid/graphics/Bitmap;Ljava/lang/CharSequence;Z)V
52214 iget-object v7, p0, Lcom/android/server/am/ActivityManagerService;->mMainStack:Lcom/android/server/am/ActivityStack;
52216 invoke-virtual {v7, p2}, Lcom/android/server/am/ActivityStack;->isInStackLocked(Landroid/os/IBinder;)Lcom/android/server/am/ActivityRecord;
52218 move-result-object p1
52228 if-nez p3, :cond_1d
52230 iget-object v7, p1, Lcom/android/server/am/ActivityRecord;->thumbHolder:Lcom/android/server/am/ThumbnailHolder;
52232 if-eqz v7, :cond_1d
52234 iget-object v7, p1, Lcom/android/server/am/ActivityRecord;->thumbHolder:Lcom/android/server/am/ThumbnailHolder;
52236 iget-object p3, v7, Lcom/android/server/am/ThumbnailHolder;->lastThumbnail:Landroid/graphics/Bitmap;
52238 iget-object v7, p1, Lcom/android/server/am/ActivityRecord;->thumbHolder:Lcom/android/server/am/ThumbnailHolder;
52240 iget-object p4, v7, Lcom/android/server/am/ThumbnailHolder;->lastDescription:Ljava/lang/CharSequence;
52243 if-nez p3, :cond_26
52245 if-nez p5, :cond_26
52257 .catchall {:try_start_5 .. :try_end_25} :catchall_23
52263 iget-object v6, p1, Lcom/android/server/am/ActivityRecord;->task:Lcom/android/server/am/TaskRecord;
52265 iget-object v7, p0, Lcom/android/server/am/ActivityManagerService;->mPendingThumbnails:Ljava/util/ArrayList;
52267 invoke-virtual {v7}, Ljava/util/ArrayList;->size()I
52269 .catchall {:try_start_26 .. :try_end_2d} :catchall_23
52278 if-ge v2, v0, :cond_65
52281 iget-object v7, p0, Lcom/android/server/am/ActivityManagerService;->mPendingThumbnails:Ljava/util/ArrayList;
52283 invoke-virtual {v7, v2}, Ljava/util/ArrayList;->get(I)Ljava/lang/Object;
52285 move-result-object v3
52287 check-cast v3, Lcom/android/server/am/PendingThumbnailsRecord;
52289 iget-object v7, v3, Lcom/android/server/am/PendingThumbnailsRecord;->pendingRecords:Ljava/util/HashSet;
52291 invoke-virtual {v7, p1}, Ljava/util/HashSet;->remove(Ljava/lang/Object;)Z
52295 if-eqz v7, :cond_60
52297 if-nez v5, :cond_9b
52299 new-instance v4, Ljava/util/ArrayList;
52301 invoke-direct {v4}, Ljava/util/ArrayList;-><init>()V
52303 .catchall {:try_start_32 .. :try_end_49} :catchall_98
52307 invoke-virtual {v4, v3}, Ljava/util/ArrayList;->add(Ljava/lang/Object;)Z
52309 iget-object v7, v3, Lcom/android/server/am/PendingThumbnailsRecord;->pendingRecords:Ljava/util/HashSet;
52311 invoke-virtual {v7}, Ljava/util/HashSet;->size()I
52315 if-nez v7, :cond_61
52319 iput-boolean v7, v3, Lcom/android/server/am/PendingThumbnailsRecord;->finished:Z
52321 iget-object v7, p0, Lcom/android/server/am/ActivityManagerService;->mPendingThumbnails:Ljava/util/ArrayList;
52323 invoke-virtual {v7, v2}, Ljava/util/ArrayList;->remove(I)Ljava/lang/Object;
52325 .catchall {:try_start_49 .. :try_end_5c} :catchall_23
52327 add-int/lit8 v0, v0, -0x1
52337 add-int/lit8 v2, v2, 0x1
52347 .catchall {:try_start_65 .. :try_end_66} :catchall_98
52349 if-eqz v5, :cond_95
52351 invoke-virtual {v5}, Ljava/util/ArrayList;->size()I
52358 if-ge v2, v0, :cond_95
52361 invoke-virtual {v5, v2}, Ljava/util/ArrayList;->get(I)Ljava/lang/Object;
52363 move-result-object v3
52365 check-cast v3, Lcom/android/server/am/PendingThumbnailsRecord;
52367 iget-object v8, v3, Lcom/android/server/am/PendingThumbnailsRecord;->receiver:Landroid/app/IThumbnailReceiver;
52369 if-eqz v6, :cond_8a
52371 iget v7, v6, Lcom/android/server/am/TaskRecord;->taskId:I
52374 invoke-interface {v8, v7, p3, p4}, Landroid/app/IThumbnailReceiver;->newThumbnail(ILandroid/graphics/Bitmap;Ljava/lang/CharSequence;)V
52376 iget-boolean v7, v3, Lcom/android/server/am/PendingThumbnailsRecord;->finished:Z
52378 if-eqz v7, :cond_87
52380 iget-object v7, v3, Lcom/android/server/am/PendingThumbnailsRecord;->receiver:Landroid/app/IThumbnailReceiver;
52382 invoke-interface {v7}, Landroid/app/IThumbnailReceiver;->finished()V
52384 .catch Ljava/lang/Exception; {:try_start_6f .. :try_end_87} :catch_8c
52388 add-int/lit8 v2, v2, 0x1
52400 const-string v7, "ActivityManager"
52402 const-string v8, "Exception thrown when sending thumbnail"
52404 invoke-static {v7, v8, v1}, Landroid/util/Slog;->w(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I
52426 .method public serviceDoneExecuting(Landroid/os/IBinder;III)V
52434 instance-of v6, p1, Lcom/android/server/am/ServiceRecord;
52436 if-nez v6, :cond_11
52438 new-instance v6, Ljava/lang/IllegalArgumentException;
52440 const-string v7, "Invalid service token"
52442 invoke-direct {v6, v7}, Ljava/lang/IllegalArgumentException;-><init>(Ljava/lang/String;)V
52451 .catchall {:try_start_2 .. :try_end_10} :catchall_e
52459 check-cast v0, Lcom/android/server/am/ServiceRecord;
52463 iget-object v6, p0, Lcom/android/server/am/ActivityManagerService;->mStoppingServices:Ljava/util/ArrayList;
52465 invoke-virtual {v6, p1}, Ljava/util/ArrayList;->contains(Ljava/lang/Object;)Z
52469 if-eqz v4, :cond_af
52471 if-eq v4, p1, :cond_4f
52473 const-string v6, "ActivityManager"
52475 new-instance v7, Ljava/lang/StringBuilder;
52477 invoke-direct {v7}, Ljava/lang/StringBuilder;-><init>()V
52479 const-string v8, "Done executing service "
52481 invoke-virtual {v7, v8}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
52483 move-result-object v7
52485 iget-object v8, v4, Lcom/android/server/am/ServiceRecord;->name:Landroid/content/ComponentName;
52487 invoke-virtual {v7, v8}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
52489 move-result-object v7
52491 const-string v8, " with incorrect token: given "
52493 invoke-virtual {v7, v8}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
52495 move-result-object v7
52497 invoke-virtual {v7, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
52499 move-result-object v7
52501 const-string v8, ", expected "
52503 invoke-virtual {v7, v8}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
52505 move-result-object v7
52507 invoke-virtual {v7, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
52509 move-result-object v7
52511 invoke-virtual {v7}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
52513 move-result-object v7
52515 invoke-static {v6, v7}, Landroid/util/Slog;->w(Ljava/lang/String;Ljava/lang/String;)I
52523 if-ne p2, v7, :cond_7c
52527 iput-boolean v6, v4, Lcom/android/server/am/ServiceRecord;->callStart:Z
52529 sparse-switch p4, :sswitch_data_cc
52531 new-instance v6, Ljava/lang/IllegalArgumentException;
52533 new-instance v7, Ljava/lang/StringBuilder;
52535 invoke-direct {v7}, Ljava/lang/StringBuilder;-><init>()V
52537 const-string v8, "Unknown service start result: "
52539 invoke-virtual {v7, v8}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
52541 move-result-object v7
52543 invoke-virtual {v7, p4}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
52545 move-result-object v7
52547 invoke-virtual {v7}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
52549 move-result-object v7
52551 invoke-direct {v6, v7}, Ljava/lang/IllegalArgumentException;-><init>(Ljava/lang/String;)V
52558 invoke-virtual {v4, p3, v6}, Lcom/android/server/am/ServiceRecord;->findDeliveredStart(IZ)Lcom/android/server/am/ServiceRecord$StartItem;
52562 iput-boolean v6, v4, Lcom/android/server/am/ServiceRecord;->stopIfKilled:Z
52566 if-nez p4, :cond_7c
52570 iput-boolean v6, v4, Lcom/android/server/am/ServiceRecord;->callStart:Z
52573 invoke-static {}, Landroid/os/Binder;->clearCallingIdentity()J
52575 move-result-wide v2
52577 invoke-virtual {p0, v4, v1}, Lcom/android/server/am/ActivityManagerService;->serviceDoneExecutingLocked(Lcom/android/server/am/ServiceRecord;Z)V
52579 invoke-static {v2, v3}, Landroid/os/Binder;->restoreCallingIdentity(J)V
52589 invoke-virtual {v4, p3, v6}, Lcom/android/server/am/ServiceRecord;->findDeliveredStart(IZ)Lcom/android/server/am/ServiceRecord$StartItem;
52591 invoke-virtual {v4}, Lcom/android/server/am/ServiceRecord;->getLastStartId()I
52595 if-ne v6, p3, :cond_77
52599 iput-boolean v6, v4, Lcom/android/server/am/ServiceRecord;->stopIfKilled:Z
52606 invoke-virtual {v4, p3, v6}, Lcom/android/server/am/ServiceRecord;->findDeliveredStart(IZ)Lcom/android/server/am/ServiceRecord$StartItem;
52608 move-result-object v5
52610 if-eqz v5, :cond_77
52614 iput v6, v5, Lcom/android/server/am/ServiceRecord$StartItem;->deliveryCount:I
52616 iget v6, v5, Lcom/android/server/am/ServiceRecord$StartItem;->doneExecutingCount:I
52618 add-int/lit8 v6, v6, 0x1
52620 iput v6, v5, Lcom/android/server/am/ServiceRecord$StartItem;->doneExecutingCount:I
52624 iput-boolean v6, v4, Lcom/android/server/am/ServiceRecord;->stopIfKilled:Z
52631 invoke-virtual {v4, p3, v6}, Lcom/android/server/am/ServiceRecord;->findDeliveredStart(IZ)Lcom/android/server/am/ServiceRecord$StartItem;
52636 const-string v6, "ActivityManager"
52638 new-instance v7, Ljava/lang/StringBuilder;
52640 invoke-direct {v7}, Ljava/lang/StringBuilder;-><init>()V
52642 const-string v8, "Done executing unknown service from pid "
52644 invoke-virtual {v7, v8}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
52646 move-result-object v7
52648 invoke-static {}, Landroid/os/Binder;->getCallingPid()I
52652 invoke-virtual {v7, v8}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
52654 move-result-object v7
52656 invoke-virtual {v7}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
52658 move-result-object v7
52660 invoke-static {v6, v7}, Landroid/util/Slog;->w(Ljava/lang/String;Ljava/lang/String;)I
52662 .catchall {:try_start_11 .. :try_end_cb} :catchall_e
52672 0x3e8 -> :sswitch_aa
52676 .method public serviceDoneExecutingLocked(Lcom/android/server/am/ServiceRecord;Z)V
52679 iget v0, p1, Lcom/android/server/am/ServiceRecord;->executeNesting:I
52681 add-int/lit8 v0, v0, -0x1
52683 iput v0, p1, Lcom/android/server/am/ServiceRecord;->executeNesting:I
52685 iget v0, p1, Lcom/android/server/am/ServiceRecord;->executeNesting:I
52687 if-gtz v0, :cond_39
52689 iget-object v0, p1, Lcom/android/server/am/ServiceRecord;->app:Lcom/android/server/am/ProcessRecord;
52691 if-eqz v0, :cond_39
52693 iget-object v0, p1, Lcom/android/server/am/ServiceRecord;->app:Lcom/android/server/am/ProcessRecord;
52695 iget-object v0, v0, Lcom/android/server/am/ProcessRecord;->executingServices:Ljava/util/HashSet;
52697 invoke-virtual {v0, p1}, Ljava/util/HashSet;->remove(Ljava/lang/Object;)Z
52699 iget-object v0, p1, Lcom/android/server/am/ServiceRecord;->app:Lcom/android/server/am/ProcessRecord;
52701 iget-object v0, v0, Lcom/android/server/am/ProcessRecord;->executingServices:Ljava/util/HashSet;
52703 invoke-virtual {v0}, Ljava/util/HashSet;->size()I
52707 if-nez v0, :cond_28
52709 iget-object v0, p0, Lcom/android/server/am/ActivityManagerService;->mHandler:Landroid/os/Handler;
52713 iget-object v2, p1, Lcom/android/server/am/ServiceRecord;->app:Lcom/android/server/am/ProcessRecord;
52715 invoke-virtual {v0, v1, v2}, Landroid/os/Handler;->removeMessages(ILjava/lang/Object;)V
52718 if-eqz p2, :cond_34
52720 iget-object v0, p0, Lcom/android/server/am/ActivityManagerService;->mStoppingServices:Ljava/util/ArrayList;
52722 invoke-virtual {v0, p1}, Ljava/util/ArrayList;->remove(Ljava/lang/Object;)Z
52724 iget-object v0, p1, Lcom/android/server/am/ServiceRecord;->bindings:Ljava/util/HashMap;
52726 invoke-virtual {v0}, Ljava/util/HashMap;->clear()V
52729 iget-object v0, p1, Lcom/android/server/am/ServiceRecord;->app:Lcom/android/server/am/ProcessRecord;
52731 invoke-direct {p0, v0}, Lcom/android/server/am/ActivityManagerService;->updateOomAdjLocked(Lcom/android/server/am/ProcessRecord;)Z
52737 .method serviceTimeout(Lcom/android/server/am/ProcessRecord;)V
52745 iget-object v9, p1, Lcom/android/server/am/ProcessRecord;->executingServices:Ljava/util/HashSet;
52747 invoke-virtual {v9}, Ljava/util/HashSet;->size()I
52753 iget-object v9, p1, Lcom/android/server/am/ProcessRecord;->thread:Landroid/app/IApplicationThread;
52755 if-nez v9, :cond_10
52765 invoke-static {}, Landroid/os/SystemClock;->uptimeMillis()J
52767 move-result-wide v9
52769 const-wide/16 v11, 0x4e20
52771 sub-long v2, v9, v11
52773 iget-object v9, p1, Lcom/android/server/am/ProcessRecord;->executingServices:Ljava/util/HashSet;
52775 invoke-virtual {v9}, Ljava/util/HashSet;->iterator()Ljava/util/Iterator;
52777 move-result-object v1
52781 const-wide/16 v5, 0x0
52785 invoke-interface {v1}, Ljava/util/Iterator;->hasNext()Z
52789 if-eqz v9, :cond_34
52791 invoke-interface {v1}, Ljava/util/Iterator;->next()Ljava/lang/Object;
52793 move-result-object v7
52795 check-cast v7, Lcom/android/server/am/ServiceRecord;
52797 iget-wide v9, v7, Lcom/android/server/am/ServiceRecord;->executingStart:J
52799 cmp-long v9, v9, v2
52801 if-gez v9, :cond_74
52806 if-eqz v8, :cond_7d
52808 iget-object v9, p0, Lcom/android/server/am/ActivityManagerService;->mLruProcesses:Ljava/util/ArrayList;
52810 invoke-virtual {v9, p1}, Ljava/util/ArrayList;->contains(Ljava/lang/Object;)Z
52814 if-eqz v9, :cond_7d
52816 const-string v9, "ActivityManager"
52818 new-instance v10, Ljava/lang/StringBuilder;
52820 invoke-direct {v10}, Ljava/lang/StringBuilder;-><init>()V
52822 const-string v11, "Timeout executing service: "
52824 invoke-virtual {v10, v11}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
52826 move-result-object v10
52828 invoke-virtual {v10, v8}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
52830 move-result-object v10
52832 invoke-virtual {v10}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
52834 move-result-object v10
52836 invoke-static {v9, v10}, Landroid/util/Slog;->w(Ljava/lang/String;Ljava/lang/String;)I
52838 new-instance v9, Ljava/lang/StringBuilder;
52840 invoke-direct {v9}, Ljava/lang/StringBuilder;-><init>()V
52842 const-string v10, "Executing service "
52844 invoke-virtual {v9, v10}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
52846 move-result-object v9
52848 iget-object v10, v8, Lcom/android/server/am/ServiceRecord;->shortName:Ljava/lang/String;
52850 invoke-virtual {v9, v10}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
52852 move-result-object v9
52854 invoke-virtual {v9}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
52856 move-result-object v0
52861 .catchall {:try_start_2 .. :try_end_6c} :catchall_90
52869 invoke-virtual {p0, p1, v9, v10, v0}, Lcom/android/server/am/ActivityManagerService;->appNotResponding(Lcom/android/server/am/ProcessRecord;Lcom/android/server/am/ActivityRecord;Lcom/android/server/am/ActivityRecord;Ljava/lang/String;)V
52875 iget-wide v9, v7, Lcom/android/server/am/ServiceRecord;->executingStart:J
52877 cmp-long v9, v9, v5
52879 if-lez v9, :cond_21
52881 iget-wide v5, v7, Lcom/android/server/am/ServiceRecord;->executingStart:J
52886 iget-object v9, p0, Lcom/android/server/am/ActivityManagerService;->mHandler:Landroid/os/Handler;
52890 invoke-virtual {v9, v10}, Landroid/os/Handler;->obtainMessage(I)Landroid/os/Message;
52892 move-result-object v4
52894 iput-object p1, v4, Landroid/os/Message;->obj:Ljava/lang/Object;
52896 iget-object v9, p0, Lcom/android/server/am/ActivityManagerService;->mHandler:Landroid/os/Handler;
52898 const-wide/16 v10, 0x4e20
52900 add-long/2addr v10, v5
52902 invoke-virtual {v9, v4, v10, v11}, Landroid/os/Handler;->sendMessageAtTime(Landroid/os/Message;J)Z
52911 .catchall {:try_start_74 .. :try_end_92} :catchall_90
52916 .method public setActivityController(Landroid/app/IActivityController;)V
52919 const-string v0, "android.permission.SET_ACTIVITY_WATCHER"
52921 const-string v1, "setActivityController()"
52923 invoke-virtual {p0, v0, v1}, Lcom/android/server/am/ActivityManagerService;->enforceCallingPermission(Ljava/lang/String;Ljava/lang/String;)V
52928 iput-object p1, p0, Lcom/android/server/am/ActivityManagerService;->mController:Landroid/app/IActivityController;
52939 .catchall {:try_start_8 .. :try_end_e} :catchall_c
52944 .method public setAlwaysFinish(Z)V
52947 const-string v0, "android.permission.SET_ALWAYS_FINISH"
52949 const-string v1, "setAlwaysFinish()"
52951 invoke-virtual {p0, v0, v1}, Lcom/android/server/am/ActivityManagerService;->enforceCallingPermission(Ljava/lang/String;Ljava/lang/String;)V
52953 iget-object v0, p0, Lcom/android/server/am/ActivityManagerService;->mContext:Landroid/content/Context;
52955 invoke-virtual {v0}, Landroid/content/Context;->getContentResolver()Landroid/content/ContentResolver;
52957 move-result-object v1
52959 const-string v2, "always_finish_activities"
52961 if-eqz p1, :cond_1a
52966 invoke-static {v1, v2, v0}, Landroid/provider/Settings$System;->putInt(Landroid/content/ContentResolver;Ljava/lang/String;I)Z
52971 iput-boolean p1, p0, Lcom/android/server/am/ActivityManagerService;->mAlwaysFinishActivities:Z
52987 .catchall {:try_start_16 .. :try_end_1e} :catchall_1c
52992 .method public setDebugApp(Ljava/lang/String;ZZ)V
52999 const-string v0, "android.permission.SET_DEBUG_APP"
53001 const-string v3, "setDebugApp()"
53003 invoke-virtual {p0, v0, v3}, Lcom/android/server/am/ActivityManagerService;->enforceCallingPermission(Ljava/lang/String;Ljava/lang/String;)V
53005 if-eqz p3, :cond_1e
53007 iget-object v0, p0, Lcom/android/server/am/ActivityManagerService;->mContext:Landroid/content/Context;
53009 invoke-virtual {v0}, Landroid/content/Context;->getContentResolver()Landroid/content/ContentResolver;
53011 move-result-object v10
53013 const-string v0, "debug_app"
53015 invoke-static {v10, v0, p1}, Landroid/provider/Settings$System;->putString(Landroid/content/ContentResolver;Ljava/lang/String;Ljava/lang/String;)Z
53017 const-string v3, "wait_for_debugger"
53019 if-eqz p2, :cond_47
53024 invoke-static {v10, v3, v0}, Landroid/provider/Settings$System;->putInt(Landroid/content/ContentResolver;Ljava/lang/String;I)Z
53029 if-nez p3, :cond_29
53032 iget-object v0, p0, Lcom/android/server/am/ActivityManagerService;->mDebugApp:Ljava/lang/String;
53034 iput-object v0, p0, Lcom/android/server/am/ActivityManagerService;->mOrigDebugApp:Ljava/lang/String;
53036 iget-boolean v0, p0, Lcom/android/server/am/ActivityManagerService;->mWaitForDebugger:Z
53038 iput-boolean v0, p0, Lcom/android/server/am/ActivityManagerService;->mOrigWaitForDebugger:Z
53041 iput-object p1, p0, Lcom/android/server/am/ActivityManagerService;->mDebugApp:Ljava/lang/String;
53043 iput-boolean p2, p0, Lcom/android/server/am/ActivityManagerService;->mWaitForDebugger:Z
53045 if-nez p3, :cond_49
53048 iput-boolean v1, p0, Lcom/android/server/am/ActivityManagerService;->mDebugTransient:Z
53050 if-eqz p1, :cond_45
53052 invoke-static {}, Landroid/os/Binder;->clearCallingIdentity()J
53054 move-result-wide v8
53072 invoke-direct/range {v0 .. v7}, Lcom/android/server/am/ActivityManagerService;->forceStopPackageLocked(Ljava/lang/String;IZZZZI)Z
53074 invoke-static {v8, v9}, Landroid/os/Binder;->restoreCallingIdentity(J)V
53096 .catchall {:try_start_21 .. :try_end_4d} :catchall_4b
53101 .method final setFocusedActivityLocked(Lcom/android/server/am/ActivityRecord;)V
53104 iget-object v0, p0, Lcom/android/server/am/ActivityManagerService;->mFocusedActivity:Lcom/android/server/am/ActivityRecord;
53106 if-eq v0, p1, :cond_10
53108 iput-object p1, p0, Lcom/android/server/am/ActivityManagerService;->mFocusedActivity:Lcom/android/server/am/ActivityRecord;
53110 if-eqz p1, :cond_10
53112 iget-object v0, p0, Lcom/android/server/am/ActivityManagerService;->mWindowManager:Lcom/android/server/wm/WindowManagerService;
53114 iget-object v1, p1, Lcom/android/server/am/ActivityRecord;->appToken:Landroid/view/IApplicationToken$Stub;
53118 invoke-virtual {v0, v1, v2}, Lcom/android/server/wm/WindowManagerService;->setFocusedApp(Landroid/os/IBinder;Z)V
53124 .method public setFrontActivityScreenCompatMode(I)V
53127 const-string v0, "android.permission.SET_SCREEN_COMPATIBILITY"
53129 const-string v1, "setFrontActivityScreenCompatMode"
53131 invoke-virtual {p0, v0, v1}, Lcom/android/server/am/ActivityManagerService;->enforceCallingPermission(Ljava/lang/String;Ljava/lang/String;)V
53136 iget-object v0, p0, Lcom/android/server/am/ActivityManagerService;->mCompatModePackages:Lcom/android/server/am/CompatModePackages;
53138 invoke-virtual {v0, p1}, Lcom/android/server/am/CompatModePackages;->setFrontActivityScreenCompatModeLocked(I)V
53149 .catchall {:try_start_8 .. :try_end_11} :catchall_f
53154 .method public setImmersive(Landroid/os/IBinder;Z)V
53160 iget-object v1, p0, Lcom/android/server/am/ActivityManagerService;->mMainStack:Lcom/android/server/am/ActivityStack;
53162 invoke-virtual {v1, p1}, Lcom/android/server/am/ActivityStack;->isInStackLocked(Landroid/os/IBinder;)Lcom/android/server/am/ActivityRecord;
53164 move-result-object v0
53166 if-nez v0, :cond_12
53168 new-instance v1, Ljava/lang/IllegalArgumentException;
53170 invoke-direct {v1}, Ljava/lang/IllegalArgumentException;-><init>()V
53179 .catchall {:try_start_1 .. :try_end_11} :catchall_f
53185 iput-boolean p2, v0, Lcom/android/server/am/ActivityRecord;->immersive:Z
53189 .catchall {:try_start_12 .. :try_end_15} :catchall_f
53194 .method public setLockScreenShown(Z)V
53197 const-string v0, "android.permission.DEVICE_POWER"
53199 invoke-virtual {p0, v0}, Lcom/android/server/am/ActivityManagerService;->checkCallingPermission(Ljava/lang/String;)I
53203 if-eqz v0, :cond_10
53205 new-instance v0, Ljava/lang/SecurityException;
53207 const-string v1, "Requires permission android.permission.DEVICE_POWER"
53209 invoke-direct {v0, v1}, Ljava/lang/SecurityException;-><init>(Ljava/lang/String;)V
53217 iput-boolean p1, p0, Lcom/android/server/am/ActivityManagerService;->mLockScreenShown:Z
53219 invoke-direct {p0}, Lcom/android/server/am/ActivityManagerService;->comeOutOfSleepIfNeededLocked()V
53230 .catchall {:try_start_11 .. :try_end_1a} :catchall_18
53235 .method setOpenGlTraceApp(Landroid/content/pm/ApplicationInfo;Ljava/lang/String;)V
53241 const-string v1, "1"
53243 const-string v2, "ro.debuggable"
53245 const-string v3, "0"
53247 invoke-static {v2, v3}, Landroid/os/SystemProperties;->get(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
53249 move-result-object v2
53251 invoke-virtual {v1, v2}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
53255 if-nez v0, :cond_35
53257 iget v1, p1, Landroid/content/pm/ApplicationInfo;->flags:I
53259 and-int/lit8 v1, v1, 0x2
53261 if-nez v1, :cond_35
53263 new-instance v1, Ljava/lang/SecurityException;
53265 new-instance v2, Ljava/lang/StringBuilder;
53267 invoke-direct {v2}, Ljava/lang/StringBuilder;-><init>()V
53269 const-string v3, "Process not debuggable: "
53271 invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
53273 move-result-object v2
53275 iget-object v3, p1, Landroid/content/pm/ApplicationInfo;->packageName:Ljava/lang/String;
53277 invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
53279 move-result-object v2
53281 invoke-virtual {v2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
53283 move-result-object v2
53285 invoke-direct {v1, v2}, Ljava/lang/SecurityException;-><init>(Ljava/lang/String;)V
53294 .catchall {:try_start_1 .. :try_end_34} :catchall_32
53300 iput-object p2, p0, Lcom/android/server/am/ActivityManagerService;->mOpenGlTraceApp:Ljava/lang/String;
53304 .catchall {:try_start_35 .. :try_end_38} :catchall_32
53309 .method public setPackageAskScreenCompat(Ljava/lang/String;Z)V
53312 const-string v0, "android.permission.SET_SCREEN_COMPATIBILITY"
53314 const-string v1, "setPackageAskScreenCompat"
53316 invoke-virtual {p0, v0, v1}, Lcom/android/server/am/ActivityManagerService;->enforceCallingPermission(Ljava/lang/String;Ljava/lang/String;)V
53321 iget-object v0, p0, Lcom/android/server/am/ActivityManagerService;->mCompatModePackages:Lcom/android/server/am/CompatModePackages;
53323 invoke-virtual {v0, p1, p2}, Lcom/android/server/am/CompatModePackages;->setPackageAskCompatModeLocked(Ljava/lang/String;Z)V
53334 .catchall {:try_start_8 .. :try_end_11} :catchall_f
53339 .method public setPackageScreenCompatMode(Ljava/lang/String;I)V
53342 const-string v0, "android.permission.SET_SCREEN_COMPATIBILITY"
53344 const-string v1, "setPackageScreenCompatMode"
53346 invoke-virtual {p0, v0, v1}, Lcom/android/server/am/ActivityManagerService;->enforceCallingPermission(Ljava/lang/String;Ljava/lang/String;)V
53351 iget-object v0, p0, Lcom/android/server/am/ActivityManagerService;->mCompatModePackages:Lcom/android/server/am/CompatModePackages;
53353 invoke-virtual {v0, p1, p2}, Lcom/android/server/am/CompatModePackages;->setPackageScreenCompatModeLocked(Ljava/lang/String;I)V
53364 .catchall {:try_start_8 .. :try_end_11} :catchall_f
53369 .method public setProcessForeground(Landroid/os/IBinder;IZ)V
53372 const-string v4, "android.permission.SET_PROCESS_LIMIT"
53374 const-string v5, "setProcessForeground()"
53376 invoke-virtual {p0, v4, v5}, Lcom/android/server/am/ActivityManagerService;->enforceCallingPermission(Ljava/lang/String;Ljava/lang/String;)V
53383 iget-object v5, p0, Lcom/android/server/am/ActivityManagerService;->mPidsSelfLocked:Landroid/util/SparseArray;
53387 .catchall {:try_start_9 .. :try_end_c} :catchall_6f
53390 iget-object v4, p0, Lcom/android/server/am/ActivityManagerService;->mPidsSelfLocked:Landroid/util/SparseArray;
53392 invoke-virtual {v4, p2}, Landroid/util/SparseArray;->get(I)Ljava/lang/Object;
53394 move-result-object v3
53396 check-cast v3, Lcom/android/server/am/ProcessRecord;
53398 if-nez v3, :cond_33
53400 if-eqz p3, :cond_33
53402 const-string v4, "ActivityManager"
53404 new-instance v6, Ljava/lang/StringBuilder;
53406 invoke-direct {v6}, Ljava/lang/StringBuilder;-><init>()V
53408 const-string v7, "setProcessForeground called on unknown pid: "
53410 invoke-virtual {v6, v7}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
53412 move-result-object v6
53414 invoke-virtual {v6, p2}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
53416 move-result-object v6
53418 invoke-virtual {v6}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
53420 move-result-object v6
53422 invoke-static {v4, v6}, Landroid/util/Slog;->w(Ljava/lang/String;Ljava/lang/String;)I
53426 .catchall {:try_start_c .. :try_end_31} :catchall_72
53431 .catchall {:try_start_31 .. :try_end_32} :catchall_6f
53438 iget-object v4, p0, Lcom/android/server/am/ActivityManagerService;->mForegroundProcesses:Landroid/util/SparseArray;
53440 invoke-virtual {v4, p2}, Landroid/util/SparseArray;->get(I)Ljava/lang/Object;
53442 move-result-object v2
53444 check-cast v2, Lcom/android/server/am/ActivityManagerService$ForegroundToken;
53446 if-eqz v2, :cond_4e
53448 iget-object v4, v2, Lcom/android/server/am/ActivityManagerService$ForegroundToken;->token:Landroid/os/IBinder;
53452 invoke-interface {v4, v2, v6}, Landroid/os/IBinder;->unlinkToDeath(Landroid/os/IBinder$DeathRecipient;I)Z
53454 iget-object v4, p0, Lcom/android/server/am/ActivityManagerService;->mForegroundProcesses:Landroid/util/SparseArray;
53456 invoke-virtual {v4, p2}, Landroid/util/SparseArray;->remove(I)V
53458 if-eqz v3, :cond_4d
53462 iput-object v4, v3, Lcom/android/server/am/ProcessRecord;->forcingToForeground:Landroid/os/IBinder;
53468 if-eqz p3, :cond_67
53470 if-eqz p1, :cond_67
53472 new-instance v1, Lcom/android/server/am/ActivityManagerService$9;
53474 invoke-direct {v1, p0}, Lcom/android/server/am/ActivityManagerService$9;-><init>(Lcom/android/server/am/ActivityManagerService;)V
53476 iput p2, v1, Lcom/android/server/am/ActivityManagerService$ForegroundToken;->pid:I
53478 iput-object p1, v1, Lcom/android/server/am/ActivityManagerService$ForegroundToken;->token:Landroid/os/IBinder;
53480 .catchall {:try_start_33 .. :try_end_5b} :catchall_72
53485 invoke-interface {p1, v1, v4}, Landroid/os/IBinder;->linkToDeath(Landroid/os/IBinder$DeathRecipient;I)V
53487 iget-object v4, p0, Lcom/android/server/am/ActivityManagerService;->mForegroundProcesses:Landroid/util/SparseArray;
53489 invoke-virtual {v4, p2, v1}, Landroid/util/SparseArray;->put(ILjava/lang/Object;)V
53491 iput-object p1, v3, Lcom/android/server/am/ProcessRecord;->forcingToForeground:Landroid/os/IBinder;
53493 .catchall {:try_start_5c .. :try_end_66} :catchall_72
53494 .catch Landroid/os/RemoteException; {:try_start_5c .. :try_end_66} :catch_75
53503 .catchall {:try_start_67 .. :try_end_68} :catchall_72
53505 if-eqz v0, :cond_6d
53508 invoke-virtual {p0}, Lcom/android/server/am/ActivityManagerService;->updateOomAdjLocked()V
53520 .catchall {:try_start_6a .. :try_end_71} :catchall_6f
53530 .catchall {:try_start_73 .. :try_end_74} :catchall_72
53535 .catchall {:try_start_74 .. :try_end_75} :catchall_6f
53543 .method public setProcessLimit(I)V
53546 const-string v0, "android.permission.SET_PROCESS_LIMIT"
53548 const-string v1, "setProcessLimit()"
53550 invoke-virtual {p0, v0, v1}, Lcom/android/server/am/ActivityManagerService;->enforceCallingPermission(Ljava/lang/String;Ljava/lang/String;)V
53554 if-gez p1, :cond_15
53560 iput v0, p0, Lcom/android/server/am/ActivityManagerService;->mProcessLimit:I
53562 iput p1, p0, Lcom/android/server/am/ActivityManagerService;->mProcessLimitOverride:I
53566 .catchall {:try_start_c .. :try_end_11} :catchall_17
53568 invoke-virtual {p0}, Lcom/android/server/am/ActivityManagerService;->trimApplications()V
53583 .catchall {:try_start_18 .. :try_end_19} :catchall_17
53588 .method setProfileApp(Landroid/content/pm/ApplicationInfo;Ljava/lang/String;Ljava/lang/String;Landroid/os/ParcelFileDescriptor;Z)V
53594 const-string v1, "1"
53596 const-string v2, "ro.debuggable"
53598 const-string v3, "0"
53600 invoke-static {v2, v3}, Landroid/os/SystemProperties;->get(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
53602 move-result-object v2
53604 invoke-virtual {v1, v2}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
53608 if-nez v0, :cond_35
53610 iget v1, p1, Landroid/content/pm/ApplicationInfo;->flags:I
53612 and-int/lit8 v1, v1, 0x2
53614 if-nez v1, :cond_35
53616 new-instance v1, Ljava/lang/SecurityException;
53618 new-instance v2, Ljava/lang/StringBuilder;
53620 invoke-direct {v2}, Ljava/lang/StringBuilder;-><init>()V
53622 const-string v3, "Process not debuggable: "
53624 invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
53626 move-result-object v2
53628 iget-object v3, p1, Landroid/content/pm/ApplicationInfo;->packageName:Ljava/lang/String;
53630 invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
53632 move-result-object v2
53634 invoke-virtual {v2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
53636 move-result-object v2
53638 invoke-direct {v1, v2}, Ljava/lang/SecurityException;-><init>(Ljava/lang/String;)V
53647 .catchall {:try_start_1 .. :try_end_34} :catchall_32
53653 iput-object p2, p0, Lcom/android/server/am/ActivityManagerService;->mProfileApp:Ljava/lang/String;
53655 iput-object p3, p0, Lcom/android/server/am/ActivityManagerService;->mProfileFile:Ljava/lang/String;
53657 iget-object v1, p0, Lcom/android/server/am/ActivityManagerService;->mProfileFd:Landroid/os/ParcelFileDescriptor;
53659 .catchall {:try_start_35 .. :try_end_3b} :catchall_32
53661 if-eqz v1, :cond_45
53664 iget-object v1, p0, Lcom/android/server/am/ActivityManagerService;->mProfileFd:Landroid/os/ParcelFileDescriptor;
53666 invoke-virtual {v1}, Landroid/os/ParcelFileDescriptor;->close()V
53668 .catchall {:try_start_3d .. :try_end_42} :catchall_32
53669 .catch Ljava/io/IOException; {:try_start_3d .. :try_end_42} :catch_4e
53675 iput-object v1, p0, Lcom/android/server/am/ActivityManagerService;->mProfileFd:Landroid/os/ParcelFileDescriptor;
53678 iput-object p4, p0, Lcom/android/server/am/ActivityManagerService;->mProfileFd:Landroid/os/ParcelFileDescriptor;
53682 iput v1, p0, Lcom/android/server/am/ActivityManagerService;->mProfileType:I
53684 iput-boolean p5, p0, Lcom/android/server/am/ActivityManagerService;->mAutoStopProfiler:Z
53688 .catchall {:try_start_43 .. :try_end_4d} :catchall_32
53698 .method public setRequestedOrientation(Landroid/os/IBinder;I)V
53706 iget-object v5, p0, Lcom/android/server/am/ActivityManagerService;->mMainStack:Lcom/android/server/am/ActivityStack;
53708 invoke-virtual {v5, p1}, Lcom/android/server/am/ActivityStack;->isInStackLocked(Landroid/os/IBinder;)Lcom/android/server/am/ActivityRecord;
53710 move-result-object v3
53720 invoke-static {}, Landroid/os/Binder;->clearCallingIdentity()J
53722 move-result-wide v1
53724 iget-object v5, p0, Lcom/android/server/am/ActivityManagerService;->mWindowManager:Lcom/android/server/wm/WindowManagerService;
53726 iget-object v6, v3, Lcom/android/server/am/ActivityRecord;->appToken:Landroid/view/IApplicationToken$Stub;
53728 invoke-virtual {v5, v6, p2}, Lcom/android/server/wm/WindowManagerService;->setAppOrientation(Landroid/view/IApplicationToken;I)V
53730 iget-object v5, p0, Lcom/android/server/am/ActivityManagerService;->mWindowManager:Lcom/android/server/wm/WindowManagerService;
53732 iget-object v6, p0, Lcom/android/server/am/ActivityManagerService;->mConfiguration:Landroid/content/res/Configuration;
53734 iget-object v7, v3, Lcom/android/server/am/ActivityRecord;->app:Lcom/android/server/am/ProcessRecord;
53736 invoke-virtual {v3, v7}, Lcom/android/server/am/ActivityRecord;->mayFreezeScreenLocked(Lcom/android/server/am/ProcessRecord;)Z
53740 if-eqz v7, :cond_25
53742 iget-object v4, v3, Lcom/android/server/am/ActivityRecord;->appToken:Landroid/view/IApplicationToken$Stub;
53745 invoke-virtual {v5, v6, v4}, Lcom/android/server/wm/WindowManagerService;->updateOrientationFromAppTokens(Landroid/content/res/Configuration;Landroid/os/IBinder;)Landroid/content/res/Configuration;
53747 move-result-object v0
53749 if-eqz v0, :cond_3c
53753 iput-boolean v4, v3, Lcom/android/server/am/ActivityRecord;->frozenBeforeDestroy:Z
53759 invoke-virtual {p0, v0, v3, v4, v5}, Lcom/android/server/am/ActivityManagerService;->updateConfigurationLocked(Landroid/content/res/Configuration;Lcom/android/server/am/ActivityRecord;ZZ)Z
53763 if-nez v4, :cond_3c
53765 iget-object v4, p0, Lcom/android/server/am/ActivityManagerService;->mMainStack:Lcom/android/server/am/ActivityStack;
53769 invoke-virtual {v4, v5}, Lcom/android/server/am/ActivityStack;->resumeTopActivityLocked(Lcom/android/server/am/ActivityRecord;)Z
53772 invoke-static {v1, v2}, Landroid/os/Binder;->restoreCallingIdentity(J)V
53783 .catchall {:try_start_2 .. :try_end_43} :catchall_41
53788 .method public setServiceForeground(Landroid/content/ComponentName;Landroid/os/IBinder;ILandroid/app/Notification;Z)V
53791 invoke-static {}, Landroid/os/Binder;->clearCallingIdentity()J
53793 move-result-wide v0
53798 .catchall {:try_start_4 .. :try_end_5} :catchall_1a
53801 invoke-direct {p0, p1, p2}, Lcom/android/server/am/ActivityManagerService;->findServiceLocked(Landroid/content/ComponentName;Landroid/os/IBinder;)Lcom/android/server/am/ServiceRecord;
53803 move-result-object v2
53805 if-eqz v2, :cond_40
53807 if-eqz p3, :cond_45
53809 if-nez p4, :cond_1f
53811 new-instance v3, Ljava/lang/IllegalArgumentException;
53813 const-string v4, "null notification"
53815 invoke-direct {v3, v4}, Ljava/lang/IllegalArgumentException;-><init>(Ljava/lang/String;)V
53824 .catchall {:try_start_5 .. :try_end_19} :catchall_17
53829 .catchall {:try_start_19 .. :try_end_1a} :catchall_1a
53834 invoke-static {v0, v1}, Landroid/os/Binder;->restoreCallingIdentity(J)V
53840 iget v3, v2, Lcom/android/server/am/ServiceRecord;->foregroundId:I
53842 if-eq v3, p3, :cond_28
53844 invoke-virtual {v2}, Lcom/android/server/am/ServiceRecord;->cancelNotification()V
53846 iput p3, v2, Lcom/android/server/am/ServiceRecord;->foregroundId:I
53849 iget v3, p4, Landroid/app/Notification;->flags:I
53851 or-int/lit8 v3, v3, 0x40
53853 iput v3, p4, Landroid/app/Notification;->flags:I
53855 iput-object p4, v2, Lcom/android/server/am/ServiceRecord;->foregroundNoti:Landroid/app/Notification;
53859 iput-boolean v3, v2, Lcom/android/server/am/ServiceRecord;->isForeground:Z
53861 invoke-virtual {v2}, Lcom/android/server/am/ServiceRecord;->postNotification()V
53863 iget-object v3, v2, Lcom/android/server/am/ServiceRecord;->app:Lcom/android/server/am/ProcessRecord;
53865 if-eqz v3, :cond_40
53867 iget-object v3, v2, Lcom/android/server/am/ServiceRecord;->app:Lcom/android/server/am/ProcessRecord;
53871 invoke-virtual {p0, v3, v4}, Lcom/android/server/am/ActivityManagerService;->updateServiceForegroundLocked(Lcom/android/server/am/ProcessRecord;Z)V
53877 .catchall {:try_start_1f .. :try_end_41} :catchall_17
53879 invoke-static {v0, v1}, Landroid/os/Binder;->restoreCallingIdentity(J)V
53885 iget-boolean v3, v2, Lcom/android/server/am/ServiceRecord;->isForeground:Z
53887 if-eqz v3, :cond_5d
53891 iput-boolean v3, v2, Lcom/android/server/am/ServiceRecord;->isForeground:Z
53893 iget-object v3, v2, Lcom/android/server/am/ServiceRecord;->app:Lcom/android/server/am/ProcessRecord;
53895 if-eqz v3, :cond_5d
53897 iget-object v3, v2, Lcom/android/server/am/ServiceRecord;->app:Lcom/android/server/am/ProcessRecord;
53903 invoke-virtual {p0, v3, v4, v5}, Lcom/android/server/am/ActivityManagerService;->updateLruProcessLocked(Lcom/android/server/am/ProcessRecord;ZZ)V
53905 iget-object v3, v2, Lcom/android/server/am/ServiceRecord;->app:Lcom/android/server/am/ProcessRecord;
53909 invoke-virtual {p0, v3, v4}, Lcom/android/server/am/ActivityManagerService;->updateServiceForegroundLocked(Lcom/android/server/am/ProcessRecord;Z)V
53912 if-eqz p5, :cond_40
53914 invoke-virtual {v2}, Lcom/android/server/am/ServiceRecord;->cancelNotification()V
53918 iput v3, v2, Lcom/android/server/am/ServiceRecord;->foregroundId:I
53922 iput-object v3, v2, Lcom/android/server/am/ServiceRecord;->foregroundNoti:Landroid/app/Notification;
53924 .catchall {:try_start_45 .. :try_end_68} :catchall_17
53929 .method public setWindowManager(Lcom/android/server/wm/WindowManagerService;)V
53932 iput-object p1, p0, Lcom/android/server/am/ActivityManagerService;->mWindowManager:Lcom/android/server/wm/WindowManagerService;
53937 .method public showBootMessage(Ljava/lang/CharSequence;Z)V
53940 const-string v0, "showBootMessage"
53942 invoke-virtual {p0, v0}, Lcom/android/server/am/ActivityManagerService;->enforceNotIsolatedCaller(Ljava/lang/String;)V
53944 iget-object v0, p0, Lcom/android/server/am/ActivityManagerService;->mWindowManager:Lcom/android/server/wm/WindowManagerService;
53946 invoke-virtual {v0, p1, p2}, Lcom/android/server/wm/WindowManagerService;->showBootMessage(Ljava/lang/CharSequence;Z)V
53951 .method final showLaunchWarningLocked(Lcom/android/server/am/ActivityRecord;Lcom/android/server/am/ActivityRecord;)V
53954 iget-boolean v0, p0, Lcom/android/server/am/ActivityManagerService;->mLaunchWarningShown:Z
53956 if-nez v0, :cond_11
53960 iput-boolean v0, p0, Lcom/android/server/am/ActivityManagerService;->mLaunchWarningShown:Z
53962 iget-object v0, p0, Lcom/android/server/am/ActivityManagerService;->mHandler:Landroid/os/Handler;
53964 new-instance v1, Lcom/android/server/am/ActivityManagerService$5;
53966 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
53968 invoke-virtual {v0, v1}, Landroid/os/Handler;->post(Ljava/lang/Runnable;)Z
53974 .method public final showSafeModeOverlay()V
53979 iget-object v2, p0, Lcom/android/server/am/ActivityManagerService;->mContext:Landroid/content/Context;
53981 invoke-static {v2}, Landroid/view/LayoutInflater;->from(Landroid/content/Context;)Landroid/view/LayoutInflater;
53983 move-result-object v2
53985 const v3, 0x1090095
53989 invoke-virtual {v2, v3, v4}, Landroid/view/LayoutInflater;->inflate(ILandroid/view/ViewGroup;)Landroid/view/View;
53991 move-result-object v1
53993 new-instance v0, Landroid/view/WindowManager$LayoutParams;
53995 invoke-direct {v0}, Landroid/view/WindowManager$LayoutParams;-><init>()V
53999 iput v2, v0, Landroid/view/WindowManager$LayoutParams;->type:I
54001 iput v5, v0, Landroid/view/WindowManager$LayoutParams;->width:I
54003 iput v5, v0, Landroid/view/WindowManager$LayoutParams;->height:I
54007 iput v2, v0, Landroid/view/WindowManager$LayoutParams;->gravity:I
54009 invoke-virtual {v1}, Landroid/view/View;->getBackground()Landroid/graphics/drawable/Drawable;
54011 move-result-object v2
54013 invoke-virtual {v2}, Landroid/graphics/drawable/Drawable;->getOpacity()I
54017 iput v2, v0, Landroid/view/WindowManager$LayoutParams;->format:I
54021 iput v2, v0, Landroid/view/WindowManager$LayoutParams;->flags:I
54023 iget-object v2, p0, Lcom/android/server/am/ActivityManagerService;->mContext:Landroid/content/Context;
54025 const-string v3, "window"
54027 invoke-virtual {v2, v3}, Landroid/content/Context;->getSystemService(Ljava/lang/String;)Ljava/lang/Object;
54029 move-result-object v2
54031 check-cast v2, Landroid/view/WindowManager;
54033 invoke-interface {v2, v1, v0}, Landroid/view/WindowManager;->addView(Landroid/view/View;Landroid/view/ViewGroup$LayoutParams;)V
54038 .method public showWaitingForDebugger(Landroid/app/IApplicationThread;Z)V
54046 invoke-virtual {p0, p1}, Lcom/android/server/am/ActivityManagerService;->getRecordForAppLocked(Landroid/app/IApplicationThread;)Lcom/android/server/am/ProcessRecord;
54048 move-result-object v0
54064 invoke-static {}, Landroid/os/Message;->obtain()Landroid/os/Message;
54066 move-result-object v1
54070 iput v2, v1, Landroid/os/Message;->what:I
54072 iput-object v0, v1, Landroid/os/Message;->obj:Ljava/lang/Object;
54074 if-eqz p2, :cond_25
54079 iput v2, v1, Landroid/os/Message;->arg1:I
54081 iget-object v2, p0, Lcom/android/server/am/ActivityManagerService;->mHandler:Landroid/os/Handler;
54083 invoke-virtual {v2, v1}, Landroid/os/Handler;->sendMessage(Landroid/os/Message;)Z
54094 .catchall {:try_start_3 .. :try_end_24} :catchall_22
54104 .method public shutdown(I)Z
54107 const-string v5, "android.permission.SHUTDOWN"
54109 invoke-virtual {p0, v5}, Lcom/android/server/am/ActivityManagerService;->checkCallingPermission(Ljava/lang/String;)I
54113 if-eqz v5, :cond_10
54115 new-instance v5, Ljava/lang/SecurityException;
54117 const-string v6, "Requires permission android.permission.SHUTDOWN"
54119 invoke-direct {v5, v6}, Ljava/lang/SecurityException;-><init>(Ljava/lang/String;)V
54131 iput-boolean v5, p0, Lcom/android/server/am/ActivityManagerService;->mShuttingDown:Z
54133 invoke-direct {p0}, Lcom/android/server/am/ActivityManagerService;->updateEventDispatchingLocked()V
54135 iget-object v5, p0, Lcom/android/server/am/ActivityManagerService;->mMainStack:Lcom/android/server/am/ActivityStack;
54137 iget-object v5, v5, Lcom/android/server/am/ActivityStack;->mResumedActivity:Lcom/android/server/am/ActivityRecord;
54139 if-eqz v5, :cond_4a
54141 iget-object v5, p0, Lcom/android/server/am/ActivityManagerService;->mMainStack:Lcom/android/server/am/ActivityStack;
54143 invoke-virtual {v5}, Lcom/android/server/am/ActivityStack;->stopIfSleepingLocked()V
54145 invoke-static {}, Ljava/lang/System;->currentTimeMillis()J
54147 move-result-wide v5
54151 add-long v2, v5, v7
54154 iget-object v5, p0, Lcom/android/server/am/ActivityManagerService;->mMainStack:Lcom/android/server/am/ActivityStack;
54156 iget-object v5, v5, Lcom/android/server/am/ActivityStack;->mResumedActivity:Lcom/android/server/am/ActivityRecord;
54158 if-nez v5, :cond_36
54160 iget-object v5, p0, Lcom/android/server/am/ActivityManagerService;->mMainStack:Lcom/android/server/am/ActivityStack;
54162 iget-object v5, v5, Lcom/android/server/am/ActivityStack;->mPausingActivity:Lcom/android/server/am/ActivityRecord;
54164 if-eqz v5, :cond_4a
54167 invoke-static {}, Ljava/lang/System;->currentTimeMillis()J
54169 move-result-wide v5
54171 sub-long v0, v2, v5
54173 const-wide/16 v5, 0x0
54175 cmp-long v5, v0, v5
54177 if-gtz v5, :cond_56
54179 const-string v5, "ActivityManager"
54181 const-string v6, "Activity manager shutdown timed out"
54183 invoke-static {v5, v6}, Landroid/util/Slog;->w(Ljava/lang/String;Ljava/lang/String;)I
54190 .catchall {:try_start_13 .. :try_end_4b} :catchall_5c
54192 iget-object v5, p0, Lcom/android/server/am/ActivityManagerService;->mUsageStatsService:Lcom/android/server/am/UsageStatsService;
54194 invoke-virtual {v5}, Lcom/android/server/am/UsageStatsService;->shutdown()V
54196 iget-object v5, p0, Lcom/android/server/am/ActivityManagerService;->mBatteryStatsService:Lcom/android/server/am/BatteryStatsService;
54198 invoke-virtual {v5}, Lcom/android/server/am/BatteryStatsService;->shutdown()V
54204 invoke-virtual {p0}, Ljava/lang/Object;->wait()V
54206 .catchall {:try_start_56 .. :try_end_59} :catchall_5c
54207 .catch Ljava/lang/InterruptedException; {:try_start_56 .. :try_end_59} :catch_5a
54222 .catchall {:try_start_5d .. :try_end_5e} :catchall_5c
54227 .method public signalPersistentProcesses(I)V
54229 .annotation system Ldalvik/annotation/Throws;
54231 Landroid/os/RemoteException;
54237 if-eq p1, v2, :cond_c
54239 new-instance v2, Ljava/lang/SecurityException;
54241 const-string v3, "Only SIGNAL_USR1 is allowed"
54243 invoke-direct {v2, v3}, Ljava/lang/SecurityException;-><init>(Ljava/lang/String;)V
54251 const-string v2, "android.permission.SIGNAL_PERSISTENT_PROCESSES"
54253 invoke-virtual {p0, v2}, Lcom/android/server/am/ActivityManagerService;->checkCallingPermission(Ljava/lang/String;)I
54257 if-eqz v2, :cond_20
54259 new-instance v2, Ljava/lang/SecurityException;
54261 const-string v3, "Requires permission android.permission.SIGNAL_PERSISTENT_PROCESSES"
54263 invoke-direct {v2, v3}, Ljava/lang/SecurityException;-><init>(Ljava/lang/String;)V
54272 .catchall {:try_start_d .. :try_end_1f} :catchall_1d
54278 iget-object v2, p0, Lcom/android/server/am/ActivityManagerService;->mLruProcesses:Ljava/util/ArrayList;
54280 invoke-virtual {v2}, Ljava/util/ArrayList;->size()I
54284 add-int/lit8 v0, v2, -0x1
54287 if-ltz v0, :cond_42
54289 iget-object v2, p0, Lcom/android/server/am/ActivityManagerService;->mLruProcesses:Ljava/util/ArrayList;
54291 invoke-virtual {v2, v0}, Ljava/util/ArrayList;->get(I)Ljava/lang/Object;
54293 move-result-object v1
54295 check-cast v1, Lcom/android/server/am/ProcessRecord;
54297 iget-object v2, v1, Lcom/android/server/am/ProcessRecord;->thread:Landroid/app/IApplicationThread;
54299 if-eqz v2, :cond_3f
54301 iget-boolean v2, v1, Lcom/android/server/am/ProcessRecord;->persistent:Z
54303 if-eqz v2, :cond_3f
54305 iget v2, v1, Lcom/android/server/am/ProcessRecord;->pid:I
54307 invoke-static {v2, p1}, Landroid/os/Process;->sendSignal(II)V
54310 add-int/lit8 v0, v0, -0x1
54317 .catchall {:try_start_20 .. :try_end_43} :catchall_1d
54322 .method skipCurrentReceiverLocked(Lcom/android/server/am/ProcessRecord;)V
54325 iget-object v0, p0, Lcom/android/server/am/ActivityManagerService;->mBroadcastQueues:[Lcom/android/server/am/BroadcastQueue;
54327 array-length v2, v0
54332 if-ge v1, v2, :cond_e
54334 aget-object v3, v0, v1
54336 invoke-virtual {v3, p1}, Lcom/android/server/am/BroadcastQueue;->skipCurrentReceiverLocked(Lcom/android/server/am/ProcessRecord;)V
54338 add-int/lit8 v1, v1, 0x1
54346 .method skipPendingBroadcastLocked(I)V
54349 const-string v4, "ActivityManager"
54351 const-string v5, "Unattached app died before broadcast acknowledged, skipping"
54353 invoke-static {v4, v5}, Landroid/util/Slog;->w(Ljava/lang/String;Ljava/lang/String;)I
54355 iget-object v0, p0, Lcom/android/server/am/ActivityManagerService;->mBroadcastQueues:[Lcom/android/server/am/BroadcastQueue;
54357 array-length v2, v0
54362 if-ge v1, v2, :cond_15
54364 aget-object v3, v0, v1
54366 invoke-virtual {v3, p1}, Lcom/android/server/am/BroadcastQueue;->skipPendingBroadcastLocked(I)V
54368 add-int/lit8 v1, v1, 0x1
54376 .method public final startActivities(Landroid/app/IApplicationThread;[Landroid/content/Intent;[Ljava/lang/String;Landroid/os/IBinder;Landroid/os/Bundle;)I
54379 const-string v0, "startActivities"
54381 invoke-virtual {p0, v0}, Lcom/android/server/am/ActivityManagerService;->enforceNotIsolatedCaller(Ljava/lang/String;)V
54383 iget-object v0, p0, Lcom/android/server/am/ActivityManagerService;->mMainStack:Lcom/android/server/am/ActivityStack;
54387 invoke-static {}, Landroid/os/Binder;->getOrigCallingUser()I
54401 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
54408 .method public final startActivitiesInPackage(I[Landroid/content/Intent;[Ljava/lang/String;Landroid/os/IBinder;Landroid/os/Bundle;)I
54411 invoke-static {}, Landroid/os/Binder;->getCallingUid()I
54415 if-eqz v8, :cond_14
54417 invoke-static {}, Landroid/os/Process;->myUid()I
54421 if-eq v8, v0, :cond_14
54423 new-instance v0, Ljava/lang/SecurityException;
54425 const-string v1, "startActivityInPackage only available to the system"
54427 invoke-direct {v0, v1}, Ljava/lang/SecurityException;-><init>(Ljava/lang/String;)V
54432 iget-object v0, p0, Lcom/android/server/am/ActivityManagerService;->mMainStack:Lcom/android/server/am/ActivityStack;
54436 invoke-static {p1}, Landroid/os/UserId;->getUserId(I)I
54450 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
54457 .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
54460 const-string v0, "startActivity"
54462 invoke-virtual {p0, v0}, Lcom/android/server/am/ActivityManagerService;->enforceNotIsolatedCaller(Ljava/lang/String;)V
54466 invoke-virtual/range {p2 .. p2}, Landroid/content/Intent;->getCategories()Ljava/util/Set;
54468 move-result-object v0
54470 if-eqz v0, :cond_38
54472 invoke-virtual/range {p2 .. p2}, Landroid/content/Intent;->getCategories()Ljava/util/Set;
54474 move-result-object v0
54476 const-string v1, "android.intent.category.HOME"
54478 invoke-interface {v0, v1}, Ljava/util/Set;->contains(Ljava/lang/Object;)Z
54482 if-eqz v0, :cond_38
54484 iget v14, p0, Lcom/android/server/am/ActivityManagerService;->mCurrentUserId:I
54487 iget-object v0, p0, Lcom/android/server/am/ActivityManagerService;->mMainStack:Lcom/android/server/am/ActivityStack;
54495 move-object/from16 v1, p1
54497 move-object/from16 v3, p2
54499 move-object/from16 v4, p3
54501 move-object/from16 v5, p4
54503 move-object/from16 v6, p5
54509 move-object/from16 v9, p8
54511 move-object/from16 v10, p9
54513 move-object/from16 v13, p10
54515 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
54522 invoke-static {}, Landroid/os/Binder;->getCallingUid()I
54526 const/16 v1, 0x2710
54528 if-ge v0, v1, :cond_42
54535 invoke-static {}, Landroid/os/Binder;->getOrigCallingUser()I
54542 .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;)Landroid/app/IActivityManager$WaitResult;
54545 const-string v0, "startActivityAndWait"
54547 invoke-virtual {p0, v0}, Lcom/android/server/am/ActivityManagerService;->enforceNotIsolatedCaller(Ljava/lang/String;)V
54549 new-instance v11, Landroid/app/IActivityManager$WaitResult;
54551 invoke-direct {v11}, Landroid/app/IActivityManager$WaitResult;-><init>()V
54553 invoke-static {}, Landroid/os/Binder;->getOrigCallingUser()I
54557 iget-object v0, p0, Lcom/android/server/am/ActivityManagerService;->mMainStack:Lcom/android/server/am/ActivityStack;
54563 move-object/from16 v1, p1
54565 move-object/from16 v3, p2
54567 move-object/from16 v4, p3
54569 move-object/from16 v5, p4
54571 move-object/from16 v6, p5
54577 move-object/from16 v9, p8
54579 move-object/from16 v10, p9
54581 move-object/from16 v13, p10
54583 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
54588 .method public final startActivityInPackage(ILandroid/content/Intent;Ljava/lang/String;Landroid/os/IBinder;Ljava/lang/String;IILandroid/os/Bundle;)I
54591 invoke-static {}, Landroid/os/Binder;->getOrigCallingUser()I
54595 invoke-static {}, Landroid/os/Binder;->getCallingUid()I
54599 if-eqz v16, :cond_1a
54601 invoke-static {}, Landroid/os/Process;->myUid()I
54605 move/from16 v0, v16
54607 if-eq v0, v1, :cond_1a
54609 new-instance v1, Ljava/lang/SecurityException;
54611 const-string v2, "startActivityInPackage only available to the system"
54613 invoke-direct {v1, v2}, Ljava/lang/SecurityException;-><init>(Ljava/lang/String;)V
54618 move-object/from16 v0, p0
54620 iget-object v1, v0, Lcom/android/server/am/ActivityManagerService;->mMainStack:Lcom/android/server/am/ActivityStack;
54634 move-object/from16 v4, p2
54636 move-object/from16 v5, p3
54638 move-object/from16 v6, p4
54640 move-object/from16 v7, p5
54646 move-object/from16 v14, p8
54648 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
54655 .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
54658 const-string v1, "startActivityIntentSender"
54660 invoke-virtual {p0, v1}, Lcom/android/server/am/ActivityManagerService;->enforceNotIsolatedCaller(Ljava/lang/String;)V
54662 if-eqz p3, :cond_15
54664 invoke-virtual/range {p3 .. p3}, Landroid/content/Intent;->hasFileDescriptors()Z
54668 if-eqz v1, :cond_15
54670 new-instance v1, Ljava/lang/IllegalArgumentException;
54672 const-string v2, "File descriptors passed in Intent"
54674 invoke-direct {v1, v2}, Ljava/lang/IllegalArgumentException;-><init>(Ljava/lang/String;)V
54679 invoke-virtual/range {p2 .. p2}, Landroid/content/IntentSender;->getTarget()Landroid/content/IIntentSender;
54681 move-result-object v13
54683 instance-of v1, v13, Lcom/android/server/am/PendingIntentRecord;
54685 if-nez v1, :cond_25
54687 new-instance v1, Ljava/lang/IllegalArgumentException;
54689 const-string v2, "Bad PendingIntent object"
54691 invoke-direct {v1, v2}, Ljava/lang/IllegalArgumentException;-><init>(Ljava/lang/String;)V
54696 move-object v0, v13
54698 check-cast v0, Lcom/android/server/am/PendingIntentRecord;
54703 iget-object v1, p0, Lcom/android/server/am/ActivityManagerService;->mMainStack:Lcom/android/server/am/ActivityStack;
54705 iget-object v1, v1, Lcom/android/server/am/ActivityStack;->mResumedActivity:Lcom/android/server/am/ActivityRecord;
54707 if-eqz v1, :cond_43
54709 iget-object v1, p0, Lcom/android/server/am/ActivityManagerService;->mMainStack:Lcom/android/server/am/ActivityStack;
54711 iget-object v1, v1, Lcom/android/server/am/ActivityStack;->mResumedActivity:Lcom/android/server/am/ActivityRecord;
54713 iget-object v1, v1, Lcom/android/server/am/ActivityRecord;->info:Landroid/content/pm/ActivityInfo;
54715 iget-object v1, v1, Landroid/content/pm/ActivityInfo;->applicationInfo:Landroid/content/pm/ApplicationInfo;
54717 iget v1, v1, Landroid/content/pm/ApplicationInfo;->uid:I
54719 invoke-static {}, Landroid/os/Binder;->getCallingUid()I
54723 if-ne v1, v2, :cond_43
54725 const-wide/16 v1, 0x0
54727 iput-wide v1, p0, Lcom/android/server/am/ActivityManagerService;->mAppSwitchesAllowedTime:J
54732 .catchall {:try_start_29 .. :try_end_44} :catchall_5c
54740 move-object/from16 v2, p3
54742 move-object/from16 v3, p4
54744 move-object/from16 v6, p5
54746 move-object/from16 v7, p6
54752 move/from16 v10, p9
54754 move-object/from16 v11, p10
54756 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
54768 .catchall {:try_start_5d .. :try_end_5e} :catchall_5c
54773 .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
54776 const-string v1, "startActivityWithConfig"
54778 move-object/from16 v0, p0
54780 invoke-virtual {v0, v1}, Lcom/android/server/am/ActivityManagerService;->enforceNotIsolatedCaller(Ljava/lang/String;)V
54782 move-object/from16 v0, p0
54784 iget-object v1, v0, Lcom/android/server/am/ActivityManagerService;->mMainStack:Lcom/android/server/am/ActivityStack;
54794 invoke-static {}, Landroid/os/Binder;->getOrigCallingUser()I
54798 move-object/from16 v2, p1
54800 move-object/from16 v4, p2
54802 move-object/from16 v5, p3
54804 move-object/from16 v6, p4
54806 move-object/from16 v7, p5
54812 move-object/from16 v13, p8
54814 move-object/from16 v14, p9
54816 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
54823 .method startAppProblemLocked(Lcom/android/server/am/ProcessRecord;)V
54826 iget-object v0, p0, Lcom/android/server/am/ActivityManagerService;->mContext:Landroid/content/Context;
54828 iget-object v1, p1, Lcom/android/server/am/ProcessRecord;->info:Landroid/content/pm/ApplicationInfo;
54830 iget-object v1, v1, Landroid/content/pm/ApplicationInfo;->packageName:Ljava/lang/String;
54832 iget-object v2, p1, Lcom/android/server/am/ProcessRecord;->info:Landroid/content/pm/ApplicationInfo;
54834 iget v2, v2, Landroid/content/pm/ApplicationInfo;->flags:I
54836 invoke-static {v0, v1, v2}, Landroid/app/ApplicationErrorReport;->getErrorReportReceiver(Landroid/content/Context;Ljava/lang/String;I)Landroid/content/ComponentName;
54838 move-result-object v0
54840 iput-object v0, p1, Lcom/android/server/am/ProcessRecord;->errorReportReceiver:Landroid/content/ComponentName;
54842 invoke-virtual {p0, p1}, Lcom/android/server/am/ActivityManagerService;->skipCurrentReceiverLocked(Lcom/android/server/am/ProcessRecord;)V
54847 .method startHomeActivityLocked(I)Z
54850 move-object/from16 v0, p0
54852 iget-boolean v2, v0, Lcom/android/server/am/ActivityManagerService;->mHeadless:Z
54856 invoke-virtual/range {p0 .. p0}, Lcom/android/server/am/ActivityManagerService;->ensureBootCompleted()V
54864 move-object/from16 v0, p0
54866 iget v2, v0, Lcom/android/server/am/ActivityManagerService;->mFactoryTest:I
54870 if-ne v2, v3, :cond_1a
54872 move-object/from16 v0, p0
54874 iget-object v2, v0, Lcom/android/server/am/ActivityManagerService;->mTopAction:Ljava/lang/String;
54876 if-nez v2, :cond_1a
54883 new-instance v4, Landroid/content/Intent;
54885 move-object/from16 v0, p0
54887 iget-object v3, v0, Lcom/android/server/am/ActivityManagerService;->mTopAction:Ljava/lang/String;
54889 move-object/from16 v0, p0
54891 iget-object v2, v0, Lcom/android/server/am/ActivityManagerService;->mTopData:Ljava/lang/String;
54893 if-eqz v2, :cond_ac
54895 move-object/from16 v0, p0
54897 iget-object v2, v0, Lcom/android/server/am/ActivityManagerService;->mTopData:Ljava/lang/String;
54899 invoke-static {v2}, Landroid/net/Uri;->parse(Ljava/lang/String;)Landroid/net/Uri;
54901 move-result-object v2
54904 invoke-direct {v4, v3, v2}, Landroid/content/Intent;-><init>(Ljava/lang/String;Landroid/net/Uri;)V
54906 move-object/from16 v0, p0
54908 iget-object v2, v0, Lcom/android/server/am/ActivityManagerService;->mTopComponent:Landroid/content/ComponentName;
54910 invoke-virtual {v4, v2}, Landroid/content/Intent;->setComponent(Landroid/content/ComponentName;)Landroid/content/Intent;
54912 move-object/from16 v0, p0
54914 iget v2, v0, Lcom/android/server/am/ActivityManagerService;->mFactoryTest:I
54918 if-eq v2, v3, :cond_44
54920 const-string v2, "android.intent.category.HOME"
54922 invoke-virtual {v4, v2}, Landroid/content/Intent;->addCategory(Ljava/lang/String;)Landroid/content/Intent;
54925 move-object/from16 v0, p0
54927 iget-object v2, v0, Lcom/android/server/am/ActivityManagerService;->mContext:Landroid/content/Context;
54929 invoke-virtual {v2}, Landroid/content/Context;->getPackageManager()Landroid/content/pm/PackageManager;
54931 move-result-object v2
54935 invoke-virtual {v4, v2, v3}, Landroid/content/Intent;->resolveActivityInfo(Landroid/content/pm/PackageManager;I)Landroid/content/pm/ActivityInfo;
54937 move-result-object v16
54939 if-eqz v16, :cond_ae
54941 new-instance v2, Landroid/content/ComponentName;
54943 move-object/from16 v0, v16
54945 iget-object v3, v0, Landroid/content/pm/ActivityInfo;->applicationInfo:Landroid/content/pm/ApplicationInfo;
54947 iget-object v3, v3, Landroid/content/pm/ApplicationInfo;->packageName:Ljava/lang/String;
54949 move-object/from16 v0, v16
54951 iget-object v5, v0, Landroid/content/pm/ActivityInfo;->name:Ljava/lang/String;
54953 invoke-direct {v2, v3, v5}, Landroid/content/ComponentName;-><init>(Ljava/lang/String;Ljava/lang/String;)V
54955 invoke-virtual {v4, v2}, Landroid/content/Intent;->setComponent(Landroid/content/ComponentName;)Landroid/content/Intent;
54957 new-instance v6, Landroid/content/pm/ActivityInfo;
54959 move-object/from16 v0, v16
54961 invoke-direct {v6, v0}, Landroid/content/pm/ActivityInfo;-><init>(Landroid/content/pm/ActivityInfo;)V
54963 iget-object v2, v6, Landroid/content/pm/ActivityInfo;->applicationInfo:Landroid/content/pm/ApplicationInfo;
54965 move-object/from16 v0, p0
54969 invoke-direct {v0, v2, v1}, Lcom/android/server/am/ActivityManagerService;->getAppInfoForUser(Landroid/content/pm/ApplicationInfo;I)Landroid/content/pm/ApplicationInfo;
54971 move-result-object v2
54973 iput-object v2, v6, Landroid/content/pm/ActivityInfo;->applicationInfo:Landroid/content/pm/ApplicationInfo;
54975 iget-object v2, v6, Landroid/content/pm/ActivityInfo;->processName:Ljava/lang/String;
54977 iget-object v3, v6, Landroid/content/pm/ActivityInfo;->applicationInfo:Landroid/content/pm/ApplicationInfo;
54979 iget v3, v3, Landroid/content/pm/ApplicationInfo;->uid:I
54981 move-object/from16 v0, p0
54983 invoke-virtual {v0, v2, v3}, Lcom/android/server/am/ActivityManagerService;->getProcessRecordLocked(Ljava/lang/String;I)Lcom/android/server/am/ProcessRecord;
54985 move-result-object v17
54987 if-eqz v17, :cond_8d
54989 move-object/from16 v0, v17
54991 iget-object v2, v0, Lcom/android/server/am/ProcessRecord;->instrumentationClass:Landroid/content/ComponentName;
54993 if-nez v2, :cond_a9
54996 invoke-virtual {v4}, Landroid/content/Intent;->getFlags()I
55000 const/high16 v3, 0x1000
55002 or-int/2addr v2, v3
55004 invoke-virtual {v4, v2}, Landroid/content/Intent;->setFlags(I)Landroid/content/Intent;
55006 move-object/from16 v0, p0
55008 iget-object v2, v0, Lcom/android/server/am/ActivityManagerService;->mMainStack:Lcom/android/server/am/ActivityStack;
55032 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
55046 move-object/from16 v6, v16
55051 .method public startInstrumentation(Landroid/content/ComponentName;Ljava/lang/String;ILandroid/os/Bundle;Landroid/app/IInstrumentationWatcher;)Z
55054 const-string v3, "startInstrumentation"
55056 move-object/from16 v0, p0
55058 invoke-virtual {v0, v3}, Lcom/android/server/am/ActivityManagerService;->enforceNotIsolatedCaller(Ljava/lang/String;)V
55060 if-eqz p4, :cond_17
55062 invoke-virtual/range {p4 .. p4}, Landroid/os/Bundle;->hasFileDescriptors()Z
55066 if-eqz v3, :cond_17
55068 new-instance v3, Ljava/lang/IllegalArgumentException;
55070 const-string v4, "File descriptors passed in Bundle"
55072 invoke-direct {v3, v4}, Ljava/lang/IllegalArgumentException;-><init>(Ljava/lang/String;)V
55084 move-object/from16 v0, p0
55086 iget-object v3, v0, Lcom/android/server/am/ActivityManagerService;->mContext:Landroid/content/Context;
55088 invoke-virtual {v3}, Landroid/content/Context;->getPackageManager()Landroid/content/pm/PackageManager;
55090 move-result-object v3
55094 move-object/from16 v0, p1
55096 invoke-virtual {v3, v0, v4}, Landroid/content/pm/PackageManager;->getInstrumentationInfo(Landroid/content/ComponentName;I)Landroid/content/pm/InstrumentationInfo;
55098 move-result-object v13
55100 move-object/from16 v0, p0
55102 iget-object v3, v0, Lcom/android/server/am/ActivityManagerService;->mContext:Landroid/content/Context;
55104 invoke-virtual {v3}, Landroid/content/Context;->getPackageManager()Landroid/content/pm/PackageManager;
55106 move-result-object v3
55108 iget-object v4, v13, Landroid/content/pm/InstrumentationInfo;->targetPackage:Ljava/lang/String;
55112 invoke-virtual {v3, v4, v5}, Landroid/content/pm/PackageManager;->getApplicationInfo(Ljava/lang/String;I)Landroid/content/pm/ApplicationInfo;
55114 .catchall {:try_start_1a .. :try_end_39} :catchall_80
55115 .catch Landroid/content/pm/PackageManager$NameNotFoundException; {:try_start_1a .. :try_end_39} :catch_128
55117 move-result-object v11
55120 if-nez v13, :cond_5d
55123 new-instance v3, Ljava/lang/StringBuilder;
55125 invoke-direct {v3}, Ljava/lang/StringBuilder;-><init>()V
55127 const-string v4, "Unable to find instrumentation info for: "
55129 invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
55131 move-result-object v3
55133 move-object/from16 v0, p1
55135 invoke-virtual {v3, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
55137 move-result-object v3
55139 invoke-virtual {v3}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
55141 move-result-object v3
55143 move-object/from16 v0, p0
55145 move-object/from16 v1, p5
55147 move-object/from16 v2, p1
55149 invoke-direct {v0, v1, v2, v3}, Lcom/android/server/am/ActivityManagerService;->reportStartInstrumentationFailure(Landroid/app/IInstrumentationWatcher;Landroid/content/ComponentName;Ljava/lang/String;)V
55159 if-nez v11, :cond_83
55161 new-instance v3, Ljava/lang/StringBuilder;
55163 invoke-direct {v3}, Ljava/lang/StringBuilder;-><init>()V
55165 const-string v4, "Unable to find instrumentation target package: "
55167 invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
55169 move-result-object v3
55171 iget-object v4, v13, Landroid/content/pm/InstrumentationInfo;->targetPackage:Ljava/lang/String;
55173 invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
55175 move-result-object v3
55177 invoke-virtual {v3}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
55179 move-result-object v3
55181 move-object/from16 v0, p0
55183 move-object/from16 v1, p5
55185 move-object/from16 v2, p1
55187 invoke-direct {v0, v1, v2, v3}, Lcom/android/server/am/ActivityManagerService;->reportStartInstrumentationFailure(Landroid/app/IInstrumentationWatcher;Landroid/content/ComponentName;Ljava/lang/String;)V
55200 .catchall {:try_start_3c .. :try_end_82} :catchall_80
55206 move-object/from16 v0, p0
55208 iget-object v3, v0, Lcom/android/server/am/ActivityManagerService;->mContext:Landroid/content/Context;
55210 invoke-virtual {v3}, Landroid/content/Context;->getPackageManager()Landroid/content/pm/PackageManager;
55212 move-result-object v3
55214 iget-object v4, v13, Landroid/content/pm/InstrumentationInfo;->targetPackage:Ljava/lang/String;
55216 iget-object v5, v13, Landroid/content/pm/InstrumentationInfo;->packageName:Ljava/lang/String;
55218 invoke-virtual {v3, v4, v5}, Landroid/content/pm/PackageManager;->checkSignatures(Ljava/lang/String;Ljava/lang/String;)I
55222 if-gez v14, :cond_f0
55226 if-eq v14, v3, :cond_f0
55228 new-instance v3, Ljava/lang/StringBuilder;
55230 invoke-direct {v3}, Ljava/lang/StringBuilder;-><init>()V
55232 const-string v4, "Permission Denial: starting instrumentation "
55234 invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
55236 move-result-object v3
55238 move-object/from16 v0, p1
55240 invoke-virtual {v3, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
55242 move-result-object v3
55244 const-string v4, " from pid="
55246 invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
55248 move-result-object v3
55250 invoke-static {}, Landroid/os/Binder;->getCallingPid()I
55254 invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
55256 move-result-object v3
55258 const-string v4, ", uid="
55260 invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
55262 move-result-object v3
55264 invoke-static {}, Landroid/os/Binder;->getCallingPid()I
55268 invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
55270 move-result-object v3
55272 const-string v4, " not allowed because package "
55274 invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
55276 move-result-object v3
55278 iget-object v4, v13, Landroid/content/pm/InstrumentationInfo;->packageName:Ljava/lang/String;
55280 invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
55282 move-result-object v3
55284 const-string v4, " does not have a signature matching the target "
55286 invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
55288 move-result-object v3
55290 iget-object v4, v13, Landroid/content/pm/InstrumentationInfo;->targetPackage:Ljava/lang/String;
55292 invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
55294 move-result-object v3
55296 invoke-virtual {v3}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
55298 move-result-object v15
55300 move-object/from16 v0, p0
55302 move-object/from16 v1, p5
55304 move-object/from16 v2, p1
55306 invoke-direct {v0, v1, v2, v15}, Lcom/android/server/am/ActivityManagerService;->reportStartInstrumentationFailure(Landroid/app/IInstrumentationWatcher;Landroid/content/ComponentName;Ljava/lang/String;)V
55308 new-instance v3, Ljava/lang/SecurityException;
55310 invoke-direct {v3, v15}, Ljava/lang/SecurityException;-><init>(Ljava/lang/String;)V
55315 invoke-static {}, Landroid/os/UserId;->getCallingUserId()I
55319 invoke-static {}, Landroid/os/Binder;->clearCallingIdentity()J
55321 move-result-wide v16
55323 iget-object v4, v13, Landroid/content/pm/InstrumentationInfo;->targetPackage:Ljava/lang/String;
55335 move-object/from16 v3, p0
55337 invoke-direct/range {v3 .. v10}, Lcom/android/server/am/ActivityManagerService;->forceStopPackageLocked(Ljava/lang/String;IZZZZI)Z
55341 move-object/from16 v0, p0
55343 invoke-virtual {v0, v11, v3}, Lcom/android/server/am/ActivityManagerService;->addAppLocked(Landroid/content/pm/ApplicationInfo;Z)Lcom/android/server/am/ProcessRecord;
55345 move-result-object v12
55347 move-object/from16 v0, p1
55349 iput-object v0, v12, Lcom/android/server/am/ProcessRecord;->instrumentationClass:Landroid/content/ComponentName;
55351 iput-object v11, v12, Lcom/android/server/am/ProcessRecord;->instrumentationInfo:Landroid/content/pm/ApplicationInfo;
55353 move-object/from16 v0, p2
55355 iput-object v0, v12, Lcom/android/server/am/ProcessRecord;->instrumentationProfileFile:Ljava/lang/String;
55357 move-object/from16 v0, p4
55359 iput-object v0, v12, Lcom/android/server/am/ProcessRecord;->instrumentationArguments:Landroid/os/Bundle;
55361 move-object/from16 v0, p5
55363 iput-object v0, v12, Lcom/android/server/am/ProcessRecord;->instrumentationWatcher:Landroid/app/IInstrumentationWatcher;
55365 move-object/from16 v0, p1
55367 iput-object v0, v12, Lcom/android/server/am/ProcessRecord;->instrumentationResultClass:Landroid/content/ComponentName;
55369 invoke-static/range {v16 .. v17}, Landroid/os/Binder;->restoreCallingIdentity(J)V
55373 .catchall {:try_start_83 .. :try_end_125} :catchall_80
55385 .method public startNextMatchingActivity(Landroid/os/IBinder;Landroid/content/Intent;Landroid/os/Bundle;)Z
55388 if-eqz p2, :cond_11
55390 invoke-virtual/range {p2 .. p2}, Landroid/content/Intent;->hasFileDescriptors()Z
55396 if-ne v2, v3, :cond_11
55398 new-instance v2, Ljava/lang/IllegalArgumentException;
55400 const-string v3, "File descriptors passed in Intent"
55402 invoke-direct {v2, v3}, Ljava/lang/IllegalArgumentException;-><init>(Ljava/lang/String;)V
55410 move-object/from16 v0, p0
55412 iget-object v2, v0, Lcom/android/server/am/ActivityManagerService;->mMainStack:Lcom/android/server/am/ActivityStack;
55414 move-object/from16 v0, p1
55416 invoke-virtual {v2, v0}, Lcom/android/server/am/ActivityStack;->isInStackLocked(Landroid/os/IBinder;)Lcom/android/server/am/ActivityRecord;
55418 move-result-object v20
55420 if-nez v20, :cond_24
55422 invoke-static/range {p3 .. p3}, Landroid/app/ActivityOptions;->abort(Landroid/os/Bundle;)V
55432 move-object/from16 v0, v20
55434 iget-object v2, v0, Lcom/android/server/am/ActivityRecord;->app:Lcom/android/server/am/ProcessRecord;
55436 if-eqz v2, :cond_32
55438 move-object/from16 v0, v20
55440 iget-object v2, v0, Lcom/android/server/am/ActivityRecord;->app:Lcom/android/server/am/ProcessRecord;
55442 iget-object v2, v2, Lcom/android/server/am/ProcessRecord;->thread:Landroid/app/IApplicationThread;
55444 if-nez v2, :cond_3b
55447 invoke-static/range {p3 .. p3}, Landroid/app/ActivityOptions;->abort(Landroid/os/Bundle;)V
55461 .catchall {:try_start_12 .. :try_end_3a} :catchall_38
55467 new-instance v4, Landroid/content/Intent;
55469 move-object/from16 v0, p2
55471 invoke-direct {v4, v0}, Landroid/content/Intent;-><init>(Landroid/content/Intent;)V
55473 .catchall {:try_start_3b .. :try_end_42} :catchall_38
55476 move-object/from16 v0, v20
55478 iget-object v2, v0, Lcom/android/server/am/ActivityRecord;->intent:Landroid/content/Intent;
55480 invoke-virtual {v2}, Landroid/content/Intent;->getData()Landroid/net/Uri;
55482 move-result-object v2
55484 move-object/from16 v0, v20
55486 iget-object v3, v0, Lcom/android/server/am/ActivityRecord;->intent:Landroid/content/Intent;
55488 invoke-virtual {v3}, Landroid/content/Intent;->getType()Ljava/lang/String;
55490 move-result-object v3
55492 invoke-virtual {v4, v2, v3}, Landroid/content/Intent;->setDataAndType(Landroid/net/Uri;Ljava/lang/String;)Landroid/content/Intent;
55496 invoke-virtual {v4, v2}, Landroid/content/Intent;->setComponent(Landroid/content/ComponentName;)Landroid/content/Intent;
55498 .catchall {:try_start_42 .. :try_end_59} :catchall_14b
55503 invoke-static {}, Landroid/app/AppGlobals;->getPackageManager()Landroid/content/pm/IPackageManager;
55505 move-result-object v2
55507 move-object/from16 v0, v20
55509 iget-object v3, v0, Lcom/android/server/am/ActivityRecord;->resolvedType:Ljava/lang/String;
55513 invoke-static {}, Landroid/os/UserId;->getCallingUserId()I
55517 invoke-interface {v2, v4, v3, v5, v7}, Landroid/content/pm/IPackageManager;->queryIntentActivities(Landroid/content/Intent;Ljava/lang/String;II)Ljava/util/List;
55519 move-result-object v23
55521 if-eqz v23, :cond_c6
55523 invoke-interface/range {v23 .. v23}, Ljava/util/List;->size()I
55531 move/from16 v0, v17
55533 move/from16 v1, v16
55535 if-ge v0, v1, :cond_bb
55537 move-object/from16 v0, v23
55539 move/from16 v1, v17
55541 invoke-interface {v0, v1}, Ljava/util/List;->get(I)Ljava/lang/Object;
55543 move-result-object v21
55545 check-cast v21, Landroid/content/pm/ResolveInfo;
55547 move-object/from16 v0, v21
55549 iget-object v2, v0, Landroid/content/pm/ResolveInfo;->activityInfo:Landroid/content/pm/ActivityInfo;
55551 iget-object v2, v2, Landroid/content/pm/ActivityInfo;->packageName:Ljava/lang/String;
55553 move-object/from16 v0, v20
55555 iget-object v3, v0, Lcom/android/server/am/ActivityRecord;->packageName:Ljava/lang/String;
55557 invoke-virtual {v2, v3}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
55561 if-eqz v2, :cond_c9
55563 move-object/from16 v0, v21
55565 iget-object v2, v0, Landroid/content/pm/ResolveInfo;->activityInfo:Landroid/content/pm/ActivityInfo;
55567 iget-object v2, v2, Landroid/content/pm/ActivityInfo;->name:Ljava/lang/String;
55569 move-object/from16 v0, v20
55571 iget-object v3, v0, Lcom/android/server/am/ActivityRecord;->info:Landroid/content/pm/ActivityInfo;
55573 iget-object v3, v3, Landroid/content/pm/ActivityInfo;->name:Ljava/lang/String;
55575 invoke-virtual {v2, v3}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
55579 if-eqz v2, :cond_c9
55581 add-int/lit8 v17, v17, 0x1
55583 move/from16 v0, v17
55585 move/from16 v1, v16
55587 if-ge v0, v1, :cond_bb
55589 move-object/from16 v0, v23
55591 move/from16 v1, v17
55593 invoke-interface {v0, v1}, Ljava/util/List;->get(I)Ljava/lang/Object;
55595 move-result-object v2
55597 check-cast v2, Landroid/content/pm/ResolveInfo;
55599 iget-object v6, v2, Landroid/content/pm/ResolveInfo;->activityInfo:Landroid/content/pm/ActivityInfo;
55601 .catchall {:try_start_5a .. :try_end_bb} :catchall_14b
55602 .catch Landroid/os/RemoteException; {:try_start_5a .. :try_end_bb} :catch_150
55606 if-nez v6, :cond_cc
55609 invoke-static/range {p3 .. p3}, Landroid/app/ActivityOptions;->abort(Landroid/os/Bundle;)V
55615 move-object/from16 p2, v4
55625 add-int/lit8 v17, v17, 0x1
55630 new-instance v2, Landroid/content/ComponentName;
55632 iget-object v3, v6, Landroid/content/pm/ActivityInfo;->applicationInfo:Landroid/content/pm/ApplicationInfo;
55634 iget-object v3, v3, Landroid/content/pm/ApplicationInfo;->packageName:Ljava/lang/String;
55636 iget-object v5, v6, Landroid/content/pm/ActivityInfo;->name:Ljava/lang/String;
55638 invoke-direct {v2, v3, v5}, Landroid/content/ComponentName;-><init>(Ljava/lang/String;Ljava/lang/String;)V
55640 invoke-virtual {v4, v2}, Landroid/content/Intent;->setComponent(Landroid/content/ComponentName;)Landroid/content/Intent;
55642 invoke-virtual {v4}, Landroid/content/Intent;->getFlags()I
55646 const v3, -0x1e000001
55648 and-int/2addr v2, v3
55650 invoke-virtual {v4, v2}, Landroid/content/Intent;->setFlags(I)Landroid/content/Intent;
55652 move-object/from16 v0, v20
55654 iget-boolean v0, v0, Lcom/android/server/am/ActivityRecord;->finishing:Z
55656 move/from16 v25, v0
55660 move-object/from16 v0, v20
55662 iput-boolean v2, v0, Lcom/android/server/am/ActivityRecord;->finishing:Z
55664 move-object/from16 v0, v20
55666 iget-object v0, v0, Lcom/android/server/am/ActivityRecord;->resultTo:Lcom/android/server/am/ActivityRecord;
55668 move-object/from16 v24, v0
55670 move-object/from16 v0, v20
55672 iget-object v8, v0, Lcom/android/server/am/ActivityRecord;->resultWho:Ljava/lang/String;
55674 move-object/from16 v0, v20
55676 iget v9, v0, Lcom/android/server/am/ActivityRecord;->requestCode:I
55680 move-object/from16 v0, v20
55682 iput-object v2, v0, Lcom/android/server/am/ActivityRecord;->resultTo:Lcom/android/server/am/ActivityRecord;
55684 if-eqz v24, :cond_10c
55686 move-object/from16 v0, v24
55688 move-object/from16 v1, v20
55690 invoke-virtual {v0, v1, v8, v9}, Lcom/android/server/am/ActivityRecord;->removeResultsLocked(Lcom/android/server/am/ActivityRecord;Ljava/lang/String;I)V
55693 invoke-static {}, Landroid/os/Binder;->clearCallingIdentity()J
55695 move-result-wide v18
55697 move-object/from16 v0, p0
55699 iget-object v2, v0, Lcom/android/server/am/ActivityManagerService;->mMainStack:Lcom/android/server/am/ActivityStack;
55701 move-object/from16 v0, v20
55703 iget-object v3, v0, Lcom/android/server/am/ActivityRecord;->app:Lcom/android/server/am/ProcessRecord;
55705 iget-object v3, v3, Lcom/android/server/am/ProcessRecord;->thread:Landroid/app/IApplicationThread;
55707 move-object/from16 v0, v20
55709 iget-object v5, v0, Lcom/android/server/am/ActivityRecord;->resolvedType:Ljava/lang/String;
55711 if-eqz v24, :cond_143
55713 move-object/from16 v0, v24
55715 iget-object v7, v0, Lcom/android/server/am/ActivityRecord;->appToken:Landroid/view/IApplicationToken$Stub;
55720 move-object/from16 v0, v20
55722 iget v11, v0, Lcom/android/server/am/ActivityRecord;->launchedFromUid:I
55730 move-object/from16 v13, p3
55732 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
55736 invoke-static/range {v18 .. v19}, Landroid/os/Binder;->restoreCallingIdentity(J)V
55738 move/from16 v0, v25
55740 move-object/from16 v1, v20
55742 iput-boolean v0, v1, Lcom/android/server/am/ActivityRecord;->finishing:Z
55744 if-eqz v22, :cond_145
55750 move-object/from16 p2, v4
55764 .catchall {:try_start_bd .. :try_end_147} :catchall_14b
55766 move-object/from16 p2, v4
55773 move-object/from16 p2, v4
55783 .method final startProcessLocked(Ljava/lang/String;Landroid/content/pm/ApplicationInfo;ZILjava/lang/String;Landroid/content/ComponentName;ZZ)Lcom/android/server/am/ProcessRecord;
55786 if-nez p8, :cond_1b
55788 iget v2, p2, Landroid/content/pm/ApplicationInfo;->uid:I
55790 invoke-virtual {p0, p1, v2}, Lcom/android/server/am/ActivityManagerService;->getProcessRecordLocked(Ljava/lang/String;I)Lcom/android/server/am/ProcessRecord;
55792 move-result-object v0
55795 if-eqz v0, :cond_22
55797 iget v2, v0, Lcom/android/server/am/ProcessRecord;->pid:I
55799 if-lez v2, :cond_22
55801 if-eqz p3, :cond_14
55803 iget-object v2, v0, Lcom/android/server/am/ProcessRecord;->thread:Landroid/app/IApplicationThread;
55805 if-nez v2, :cond_1d
55808 iget-object v2, p2, Landroid/content/pm/ApplicationInfo;->packageName:Ljava/lang/String;
55810 invoke-virtual {v0, v2}, Lcom/android/server/am/ProcessRecord;->addPackage(Ljava/lang/String;)Z
55827 invoke-direct {p0, v0, v2, v3}, Lcom/android/server/am/ActivityManagerService;->handleAppDiedLocked(Lcom/android/server/am/ProcessRecord;ZZ)V
55830 if-eqz p6, :cond_3c
55832 invoke-virtual {p6}, Landroid/content/ComponentName;->flattenToShortString()Ljava/lang/String;
55834 move-result-object v1
55837 if-nez p8, :cond_77
55839 and-int/lit8 v2, p4, 0x4
55841 if-eqz v2, :cond_3e
55843 iget-object v2, p0, Lcom/android/server/am/ActivityManagerService;->mBadProcesses:Lcom/android/server/ProcessMap;
55845 iget-object v3, p2, Landroid/content/pm/ApplicationInfo;->processName:Ljava/lang/String;
55847 iget v4, p2, Landroid/content/pm/ApplicationInfo;->uid:I
55849 invoke-virtual {v2, v3, v4}, Lcom/android/server/ProcessMap;->get(Ljava/lang/String;I)Ljava/lang/Object;
55851 move-result-object v2
55853 if-eqz v2, :cond_77
55865 iget-object v2, p0, Lcom/android/server/am/ActivityManagerService;->mProcessCrashTimes:Lcom/android/server/ProcessMap;
55867 iget-object v3, p2, Landroid/content/pm/ApplicationInfo;->processName:Ljava/lang/String;
55869 iget v4, p2, Landroid/content/pm/ApplicationInfo;->uid:I
55871 invoke-virtual {v2, v3, v4}, Lcom/android/server/ProcessMap;->remove(Ljava/lang/String;I)V
55873 iget-object v2, p0, Lcom/android/server/am/ActivityManagerService;->mBadProcesses:Lcom/android/server/ProcessMap;
55875 iget-object v3, p2, Landroid/content/pm/ApplicationInfo;->processName:Ljava/lang/String;
55877 iget v4, p2, Landroid/content/pm/ApplicationInfo;->uid:I
55879 invoke-virtual {v2, v3, v4}, Lcom/android/server/ProcessMap;->get(Ljava/lang/String;I)Ljava/lang/Object;
55881 move-result-object v2
55883 if-eqz v2, :cond_77
55885 const/16 v2, 0x7540
55889 new-array v3, v3, [Ljava/lang/Object;
55893 iget v5, p2, Landroid/content/pm/ApplicationInfo;->uid:I
55895 invoke-static {v5}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
55897 move-result-object v5
55899 aput-object v5, v3, v4
55903 iget-object v5, p2, Landroid/content/pm/ApplicationInfo;->processName:Ljava/lang/String;
55905 aput-object v5, v3, v4
55907 invoke-static {v2, v3}, Landroid/util/EventLog;->writeEvent(I[Ljava/lang/Object;)I
55909 iget-object v2, p0, Lcom/android/server/am/ActivityManagerService;->mBadProcesses:Lcom/android/server/ProcessMap;
55911 iget-object v3, p2, Landroid/content/pm/ApplicationInfo;->processName:Ljava/lang/String;
55913 iget v4, p2, Landroid/content/pm/ApplicationInfo;->uid:I
55915 invoke-virtual {v2, v3, v4}, Lcom/android/server/ProcessMap;->remove(Ljava/lang/String;I)V
55917 if-eqz v0, :cond_77
55921 iput-boolean v2, v0, Lcom/android/server/am/ProcessRecord;->bad:Z
55924 if-nez v0, :cond_dd
55928 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;
55930 move-result-object v0
55932 if-nez v0, :cond_b1
55934 const-string v2, "ActivityManager"
55936 new-instance v3, Ljava/lang/StringBuilder;
55938 invoke-direct {v3}, Ljava/lang/StringBuilder;-><init>()V
55940 const-string v4, "Failed making new process record for "
55942 invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
55944 move-result-object v3
55946 invoke-virtual {v3, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
55948 move-result-object v3
55950 const-string v4, "/"
55952 invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
55954 move-result-object v3
55956 iget v4, p2, Landroid/content/pm/ApplicationInfo;->uid:I
55958 invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
55960 move-result-object v3
55962 const-string v4, " isolated="
55964 invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
55966 move-result-object v3
55968 invoke-virtual {v3, p8}, Ljava/lang/StringBuilder;->append(Z)Ljava/lang/StringBuilder;
55970 move-result-object v3
55972 invoke-virtual {v3}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
55974 move-result-object v3
55976 invoke-static {v2, v3}, Landroid/util/Slog;->w(Ljava/lang/String;Ljava/lang/String;)I
55983 iget-object v2, p0, Lcom/android/server/am/ActivityManagerService;->mProcessNames:Lcom/android/server/ProcessMap;
55985 iget v3, v0, Lcom/android/server/am/ProcessRecord;->uid:I
55987 invoke-virtual {v2, p1, v3, v0}, Lcom/android/server/ProcessMap;->put(Ljava/lang/String;ILjava/lang/Object;)Ljava/lang/Object;
55989 if-eqz p8, :cond_c1
55991 iget-object v2, p0, Lcom/android/server/am/ActivityManagerService;->mIsolatedProcesses:Landroid/util/SparseArray;
55993 iget v3, v0, Lcom/android/server/am/ProcessRecord;->uid:I
55995 invoke-virtual {v2, v3, v0}, Landroid/util/SparseArray;->put(ILjava/lang/Object;)V
55999 iget-boolean v2, p0, Lcom/android/server/am/ActivityManagerService;->mProcessesReady:Z
56001 if-nez v2, :cond_e3
56003 invoke-virtual {p0, p2}, Lcom/android/server/am/ActivityManagerService;->isAllowedWhileBooting(Landroid/content/pm/ApplicationInfo;)Z
56007 if-nez v2, :cond_e3
56009 if-nez p7, :cond_e3
56011 iget-object v2, p0, Lcom/android/server/am/ActivityManagerService;->mProcessesOnHold:Ljava/util/ArrayList;
56013 invoke-virtual {v2, v0}, Ljava/util/ArrayList;->contains(Ljava/lang/Object;)Z
56017 if-nez v2, :cond_da
56019 iget-object v2, p0, Lcom/android/server/am/ActivityManagerService;->mProcessesOnHold:Ljava/util/ArrayList;
56021 invoke-virtual {v2, v0}, Ljava/util/ArrayList;->add(Ljava/lang/Object;)Z
56029 iget-object v2, p2, Landroid/content/pm/ApplicationInfo;->packageName:Ljava/lang/String;
56031 invoke-virtual {v0, v2}, Lcom/android/server/am/ProcessRecord;->addPackage(Ljava/lang/String;)Z
56036 invoke-direct {p0, v0, p5, v1}, Lcom/android/server/am/ActivityManagerService;->startProcessLocked(Lcom/android/server/am/ProcessRecord;Ljava/lang/String;Ljava/lang/String;)V
56038 iget v2, v0, Lcom/android/server/am/ProcessRecord;->pid:I
56040 if-eqz v2, :cond_ed
56052 .method public final startRunning(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
56060 iget-boolean v0, p0, Lcom/android/server/am/ActivityManagerService;->mStartRunning:Z
56072 iput-boolean v0, p0, Lcom/android/server/am/ActivityManagerService;->mStartRunning:Z
56074 if-eqz p1, :cond_25
56076 if-eqz p2, :cond_25
56078 new-instance v0, Landroid/content/ComponentName;
56080 invoke-direct {v0, p1, p2}, Landroid/content/ComponentName;-><init>(Ljava/lang/String;Ljava/lang/String;)V
56083 iput-object v0, p0, Lcom/android/server/am/ActivityManagerService;->mTopComponent:Landroid/content/ComponentName;
56085 if-eqz p3, :cond_27
56088 iput-object p3, p0, Lcom/android/server/am/ActivityManagerService;->mTopAction:Ljava/lang/String;
56090 iput-object p4, p0, Lcom/android/server/am/ActivityManagerService;->mTopData:Ljava/lang/String;
56092 iget-boolean v0, p0, Lcom/android/server/am/ActivityManagerService;->mSystemReady:Z
56094 if-nez v0, :cond_2a
56105 .catchall {:try_start_2 .. :try_end_24} :catchall_22
56116 const-string p3, "android.intent.action.MAIN"
56123 .catchall {:try_start_27 .. :try_end_2b} :catchall_22
56125 invoke-virtual {p0, v1}, Lcom/android/server/am/ActivityManagerService;->systemReady(Ljava/lang/Runnable;)V
56130 .method public startService(Landroid/app/IApplicationThread;Landroid/content/Intent;Ljava/lang/String;)Landroid/content/ComponentName;
56133 const-string v0, "startService"
56135 invoke-virtual {p0, v0}, Lcom/android/server/am/ActivityManagerService;->enforceNotIsolatedCaller(Ljava/lang/String;)V
56137 if-eqz p2, :cond_16
56139 invoke-virtual {p2}, Landroid/content/Intent;->hasFileDescriptors()Z
56145 if-ne v0, v1, :cond_16
56147 new-instance v0, Ljava/lang/IllegalArgumentException;
56149 const-string v1, "File descriptors passed in Intent"
56151 invoke-direct {v0, v1}, Ljava/lang/IllegalArgumentException;-><init>(Ljava/lang/String;)V
56159 invoke-static {}, Landroid/os/Binder;->getCallingPid()I
56163 invoke-static {}, Landroid/os/Binder;->getCallingUid()I
56167 invoke-static {}, Landroid/os/Binder;->clearCallingIdentity()J
56169 move-result-wide v6
56179 invoke-virtual/range {v0 .. v5}, Lcom/android/server/am/ActivityManagerService;->startServiceLocked(Landroid/app/IApplicationThread;Landroid/content/Intent;Ljava/lang/String;II)Landroid/content/ComponentName;
56181 move-result-object v8
56183 invoke-static {v6, v7}, Landroid/os/Binder;->restoreCallingIdentity(J)V
56194 .catchall {:try_start_17 .. :try_end_32} :catchall_30
56199 .method startServiceInPackage(ILandroid/content/Intent;Ljava/lang/String;)Landroid/content/ComponentName;
56205 invoke-static {}, Landroid/os/Binder;->clearCallingIdentity()J
56207 move-result-wide v6
56221 invoke-virtual/range {v0 .. v5}, Lcom/android/server/am/ActivityManagerService;->startServiceLocked(Landroid/app/IApplicationThread;Landroid/content/Intent;Ljava/lang/String;II)Landroid/content/ComponentName;
56223 move-result-object v8
56225 invoke-static {v6, v7}, Landroid/os/Binder;->restoreCallingIdentity(J)V
56236 .catchall {:try_start_1 .. :try_end_16} :catchall_14
56241 .method startServiceLocked(Landroid/app/IApplicationThread;Landroid/content/Intent;Ljava/lang/String;II)Landroid/content/ComponentName;
56248 if-eqz p1, :cond_3e
56251 invoke-virtual {p0, p1}, Lcom/android/server/am/ActivityManagerService;->getRecordForAppLocked(Landroid/app/IApplicationThread;)Lcom/android/server/am/ProcessRecord;
56253 move-result-object v6
56255 if-nez v6, :cond_3e
56257 new-instance v0, Ljava/lang/SecurityException;
56259 new-instance v1, Ljava/lang/StringBuilder;
56261 invoke-direct {v1}, Ljava/lang/StringBuilder;-><init>()V
56263 const-string v2, "Unable to find app for caller "
56265 invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
56267 move-result-object v1
56269 invoke-virtual {v1, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
56271 move-result-object v1
56273 const-string v2, " (pid="
56275 invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
56277 move-result-object v1
56279 invoke-static {}, Landroid/os/Binder;->getCallingPid()I
56283 invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
56285 move-result-object v1
56287 const-string v2, ") when starting service "
56289 invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
56291 move-result-object v1
56293 invoke-virtual {v1, p2}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
56295 move-result-object v1
56297 invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
56299 move-result-object v1
56301 invoke-direct {v0, v1}, Ljava/lang/SecurityException;-><init>(Ljava/lang/String;)V
56310 .catchall {:try_start_4 .. :try_end_3d} :catchall_3b
56316 invoke-static {p5}, Landroid/os/UserId;->getUserId(I)I
56330 invoke-direct/range {v0 .. v5}, Lcom/android/server/am/ActivityManagerService;->retrieveServiceLocked(Landroid/content/Intent;Ljava/lang/String;III)Lcom/android/server/am/ActivityManagerService$ServiceLookupResult;
56332 move-result-object v8
56334 if-nez v8, :cond_50
56344 iget-object v0, v8, Lcom/android/server/am/ActivityManagerService$ServiceLookupResult;->record:Lcom/android/server/am/ServiceRecord;
56346 if-nez v0, :cond_66
56348 new-instance v0, Landroid/content/ComponentName;
56350 const-string v2, "!"
56352 iget-object v1, v8, Lcom/android/server/am/ActivityManagerService$ServiceLookupResult;->permission:Ljava/lang/String;
56354 if-eqz v1, :cond_63
56356 iget-object v1, v8, Lcom/android/server/am/ActivityManagerService$ServiceLookupResult;->permission:Ljava/lang/String;
56359 invoke-direct {v0, v2, v1}, Landroid/content/ComponentName;-><init>(Ljava/lang/String;Ljava/lang/String;)V
56366 const-string v1, "private to package"
56371 iget-object v7, v8, Lcom/android/server/am/ActivityManagerService$ServiceLookupResult;->record:Lcom/android/server/am/ServiceRecord;
56373 iget-object v2, v7, Lcom/android/server/am/ServiceRecord;->packageName:Ljava/lang/String;
56375 invoke-virtual {p2}, Landroid/content/Intent;->getFlags()I
56387 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;
56389 move-result-object v5
56391 invoke-direct {p0, v7}, Lcom/android/server/am/ActivityManagerService;->unscheduleServiceRestartLocked(Lcom/android/server/am/ServiceRecord;)Z
56395 if-eqz v0, :cond_7c
56400 iput-boolean v0, v7, Lcom/android/server/am/ServiceRecord;->startRequested:Z
56404 iput-boolean v0, v7, Lcom/android/server/am/ServiceRecord;->callStart:Z
56406 iget-object v9, v7, Lcom/android/server/am/ServiceRecord;->pendingStarts:Ljava/util/ArrayList;
56408 new-instance v0, Lcom/android/server/am/ServiceRecord$StartItem;
56412 invoke-virtual {v7}, Lcom/android/server/am/ServiceRecord;->makeNextStartId()I
56420 invoke-direct/range {v0 .. v5}, Lcom/android/server/am/ServiceRecord$StartItem;-><init>(Lcom/android/server/am/ServiceRecord;ZILandroid/content/Intent;Lcom/android/server/am/ActivityManagerService$NeededUriGrants;)V
56422 invoke-virtual {v9, v0}, Ljava/util/ArrayList;->add(Ljava/lang/Object;)Z
56424 invoke-static {}, Landroid/os/SystemClock;->uptimeMillis()J
56426 move-result-wide v0
56428 iput-wide v0, v7, Lcom/android/server/am/ServiceRecord;->lastActivity:J
56430 iget-object v0, v7, Lcom/android/server/am/ServiceRecord;->stats:Lcom/android/internal/os/BatteryStatsImpl$Uid$Pkg$Serv;
56432 invoke-virtual {v0}, Lcom/android/internal/os/BatteryStatsImpl$Uid$Pkg$Serv;->getBatteryStats()Lcom/android/internal/os/BatteryStatsImpl;
56434 move-result-object v1
56438 .catchall {:try_start_3e .. :try_end_a0} :catchall_3b
56441 iget-object v0, v7, Lcom/android/server/am/ServiceRecord;->stats:Lcom/android/internal/os/BatteryStatsImpl$Uid$Pkg$Serv;
56443 invoke-virtual {v0}, Lcom/android/internal/os/BatteryStatsImpl$Uid$Pkg$Serv;->startRunningLocked()V
56447 .catchall {:try_start_a0 .. :try_end_a6} :catchall_bc
56450 invoke-virtual {p2}, Landroid/content/Intent;->getFlags()I
56456 invoke-direct {p0, v7, v0, v1}, Lcom/android/server/am/ActivityManagerService;->bringUpServiceLocked(Lcom/android/server/am/ServiceRecord;IZ)Z
56460 if-nez v0, :cond_bf
56462 new-instance v0, Landroid/content/ComponentName;
56464 const-string v1, "!"
56466 const-string v2, "Service process is bad"
56468 invoke-direct {v0, v1, v2}, Landroid/content/ComponentName;-><init>(Ljava/lang/String;Ljava/lang/String;)V
56472 .catchall {:try_start_a6 .. :try_end_bb} :catchall_3b
56482 .catchall {:try_start_bd .. :try_end_be} :catchall_bc
56488 iget-object v0, v7, Lcom/android/server/am/ServiceRecord;->name:Landroid/content/ComponentName;
56492 .catchall {:try_start_be .. :try_end_c2} :catchall_3b
56497 .method startSetupActivityLocked()V
56500 move-object/from16 v0, p0
56502 iget-boolean v2, v0, Lcom/android/server/am/ActivityManagerService;->mCheckedForSetup:Z
56511 move-object/from16 v0, p0
56513 iget-object v2, v0, Lcom/android/server/am/ActivityManagerService;->mContext:Landroid/content/Context;
56515 invoke-virtual {v2}, Landroid/content/Context;->getContentResolver()Landroid/content/ContentResolver;
56517 move-result-object v18
56519 move-object/from16 v0, p0
56521 iget v2, v0, Lcom/android/server/am/ActivityManagerService;->mFactoryTest:I
56525 if-eq v2, v3, :cond_6
56527 const-string v2, "device_provisioned"
56531 move-object/from16 v0, v18
56533 invoke-static {v0, v2, v3}, Landroid/provider/Settings$Secure;->getInt(Landroid/content/ContentResolver;Ljava/lang/String;I)I
56541 move-object/from16 v0, p0
56543 iput-boolean v2, v0, Lcom/android/server/am/ActivityManagerService;->mCheckedForSetup:Z
56545 new-instance v4, Landroid/content/Intent;
56547 const-string v2, "android.intent.action.UPGRADE_SETUP"
56549 invoke-direct {v4, v2}, Landroid/content/Intent;-><init>(Ljava/lang/String;)V
56551 sget-object v2, Lcom/android/server/am/ActivityManagerService;->mSelf:Lcom/android/server/am/ActivityManagerService;
56553 iget-object v2, v2, Lcom/android/server/am/ActivityManagerService;->mContext:Landroid/content/Context;
56555 invoke-virtual {v2}, Landroid/content/Context;->getPackageManager()Landroid/content/pm/PackageManager;
56557 move-result-object v2
56561 invoke-virtual {v2, v4, v3}, Landroid/content/pm/PackageManager;->queryIntentActivities(Landroid/content/Intent;I)Ljava/util/List;
56563 move-result-object v20
56570 if-eqz v20, :cond_67
56572 invoke-interface/range {v20 .. v20}, Ljava/util/List;->size()I
56576 move/from16 v0, v16
56578 if-ge v0, v2, :cond_67
56580 move-object/from16 v0, v20
56582 move/from16 v1, v16
56584 invoke-interface {v0, v1}, Ljava/util/List;->get(I)Ljava/lang/Object;
56586 move-result-object v2
56588 check-cast v2, Landroid/content/pm/ResolveInfo;
56590 iget-object v2, v2, Landroid/content/pm/ResolveInfo;->activityInfo:Landroid/content/pm/ActivityInfo;
56592 iget-object v2, v2, Landroid/content/pm/ActivityInfo;->applicationInfo:Landroid/content/pm/ApplicationInfo;
56594 iget v2, v2, Landroid/content/pm/ApplicationInfo;->flags:I
56596 and-int/lit8 v2, v2, 0x1
56598 if-eqz v2, :cond_dc
56600 move-object/from16 v0, v20
56602 move/from16 v1, v16
56604 invoke-interface {v0, v1}, Ljava/util/List;->get(I)Ljava/lang/Object;
56606 move-result-object v19
56608 check-cast v19, Landroid/content/pm/ResolveInfo;
56611 if-eqz v19, :cond_6
56613 move-object/from16 v0, v19
56615 iget-object v2, v0, Landroid/content/pm/ResolveInfo;->activityInfo:Landroid/content/pm/ActivityInfo;
56617 iget-object v2, v2, Landroid/content/pm/ActivityInfo;->metaData:Landroid/os/Bundle;
56619 if-eqz v2, :cond_e0
56621 move-object/from16 v0, v19
56623 iget-object v2, v0, Landroid/content/pm/ResolveInfo;->activityInfo:Landroid/content/pm/ActivityInfo;
56625 iget-object v2, v2, Landroid/content/pm/ActivityInfo;->metaData:Landroid/os/Bundle;
56627 const-string v3, "android.SETUP_VERSION"
56629 invoke-virtual {v2, v3}, Landroid/os/Bundle;->getString(Ljava/lang/String;)Ljava/lang/String;
56631 move-result-object v21
56634 if-nez v21, :cond_97
56636 move-object/from16 v0, v19
56638 iget-object v2, v0, Landroid/content/pm/ResolveInfo;->activityInfo:Landroid/content/pm/ActivityInfo;
56640 iget-object v2, v2, Landroid/content/pm/ActivityInfo;->applicationInfo:Landroid/content/pm/ApplicationInfo;
56642 iget-object v2, v2, Landroid/content/pm/ApplicationInfo;->metaData:Landroid/os/Bundle;
56644 if-eqz v2, :cond_97
56646 move-object/from16 v0, v19
56648 iget-object v2, v0, Landroid/content/pm/ResolveInfo;->activityInfo:Landroid/content/pm/ActivityInfo;
56650 iget-object v2, v2, Landroid/content/pm/ActivityInfo;->applicationInfo:Landroid/content/pm/ApplicationInfo;
56652 iget-object v2, v2, Landroid/content/pm/ApplicationInfo;->metaData:Landroid/os/Bundle;
56654 const-string v3, "android.SETUP_VERSION"
56656 invoke-virtual {v2, v3}, Landroid/os/Bundle;->getString(Ljava/lang/String;)Ljava/lang/String;
56658 move-result-object v21
56661 const-string v2, "last_setup_shown"
56663 move-object/from16 v0, v18
56665 invoke-static {v0, v2}, Landroid/provider/Settings$Secure;->getString(Landroid/content/ContentResolver;Ljava/lang/String;)Ljava/lang/String;
56667 move-result-object v17
56669 if-eqz v21, :cond_6
56671 move-object/from16 v0, v21
56673 move-object/from16 v1, v17
56675 invoke-virtual {v0, v1}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
56681 const/high16 v2, 0x1000
56683 invoke-virtual {v4, v2}, Landroid/content/Intent;->setFlags(I)Landroid/content/Intent;
56685 new-instance v2, Landroid/content/ComponentName;
56687 move-object/from16 v0, v19
56689 iget-object v3, v0, Landroid/content/pm/ResolveInfo;->activityInfo:Landroid/content/pm/ActivityInfo;
56691 iget-object v3, v3, Landroid/content/pm/ActivityInfo;->packageName:Ljava/lang/String;
56693 move-object/from16 v0, v19
56695 iget-object v5, v0, Landroid/content/pm/ResolveInfo;->activityInfo:Landroid/content/pm/ActivityInfo;
56697 iget-object v5, v5, Landroid/content/pm/ActivityInfo;->name:Ljava/lang/String;
56699 invoke-direct {v2, v3, v5}, Landroid/content/ComponentName;-><init>(Ljava/lang/String;Ljava/lang/String;)V
56701 invoke-virtual {v4, v2}, Landroid/content/Intent;->setComponent(Landroid/content/ComponentName;)Landroid/content/Intent;
56703 move-object/from16 v0, p0
56705 iget-object v2, v0, Lcom/android/server/am/ActivityManagerService;->mMainStack:Lcom/android/server/am/ActivityStack;
56711 move-object/from16 v0, v19
56713 iget-object v6, v0, Landroid/content/pm/ResolveInfo;->activityInfo:Landroid/content/pm/ActivityInfo;
56733 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
56738 add-int/lit8 v16, v16, 0x1
56748 .method public stopAppSwitches()V
56751 const-wide/16 v3, 0x1388
56753 const-string v1, "android.permission.STOP_APP_SWITCHES"
56755 invoke-virtual {p0, v1}, Lcom/android/server/am/ActivityManagerService;->checkCallingPermission(Ljava/lang/String;)I
56759 if-eqz v1, :cond_12
56761 new-instance v1, Ljava/lang/SecurityException;
56763 const-string v2, "Requires permission android.permission.STOP_APP_SWITCHES"
56765 invoke-direct {v1, v2}, Ljava/lang/SecurityException;-><init>(Ljava/lang/String;)V
56773 invoke-static {}, Landroid/os/SystemClock;->uptimeMillis()J
56775 move-result-wide v1
56777 add-long/2addr v1, v3
56779 iput-wide v1, p0, Lcom/android/server/am/ActivityManagerService;->mAppSwitchesAllowedTime:J
56783 iput-boolean v1, p0, Lcom/android/server/am/ActivityManagerService;->mDidAppSwitch:Z
56785 iget-object v1, p0, Lcom/android/server/am/ActivityManagerService;->mHandler:Landroid/os/Handler;
56789 invoke-virtual {v1, v2}, Landroid/os/Handler;->removeMessages(I)V
56791 iget-object v1, p0, Lcom/android/server/am/ActivityManagerService;->mHandler:Landroid/os/Handler;
56795 invoke-virtual {v1, v2}, Landroid/os/Handler;->obtainMessage(I)Landroid/os/Message;
56797 move-result-object v0
56799 iget-object v1, p0, Lcom/android/server/am/ActivityManagerService;->mHandler:Landroid/os/Handler;
56801 const-wide/16 v2, 0x1388
56803 invoke-virtual {v1, v0, v2, v3}, Landroid/os/Handler;->sendMessageDelayed(Landroid/os/Message;J)Z
56814 .catchall {:try_start_13 .. :try_end_37} :catchall_35
56819 .method public stopService(Landroid/app/IApplicationThread;Landroid/content/Intent;Ljava/lang/String;)I
56824 const-string v5, "stopService"
56826 invoke-virtual {p0, v5}, Lcom/android/server/am/ActivityManagerService;->enforceNotIsolatedCaller(Ljava/lang/String;)V
56828 if-eqz p2, :cond_16
56830 invoke-virtual {p2}, Landroid/content/Intent;->hasFileDescriptors()Z
56834 if-ne v5, v4, :cond_16
56836 new-instance v4, Ljava/lang/IllegalArgumentException;
56838 const-string v5, "File descriptors passed in Intent"
56840 invoke-direct {v4, v5}, Ljava/lang/IllegalArgumentException;-><init>(Ljava/lang/String;)V
56848 invoke-virtual {p0, p1}, Lcom/android/server/am/ActivityManagerService;->getRecordForAppLocked(Landroid/app/IApplicationThread;)Lcom/android/server/am/ProcessRecord;
56850 move-result-object v0
56852 if-eqz p1, :cond_53
56854 if-nez v0, :cond_53
56856 new-instance v4, Ljava/lang/SecurityException;
56858 new-instance v5, Ljava/lang/StringBuilder;
56860 invoke-direct {v5}, Ljava/lang/StringBuilder;-><init>()V
56862 const-string v6, "Unable to find app for caller "
56864 invoke-virtual {v5, v6}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
56866 move-result-object v5
56868 invoke-virtual {v5, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
56870 move-result-object v5
56872 const-string v6, " (pid="
56874 invoke-virtual {v5, v6}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
56876 move-result-object v5
56878 invoke-static {}, Landroid/os/Binder;->getCallingPid()I
56882 invoke-virtual {v5, v6}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
56884 move-result-object v5
56886 const-string v6, ") when stopping service "
56888 invoke-virtual {v5, v6}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
56890 move-result-object v5
56892 invoke-virtual {v5, p2}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
56894 move-result-object v5
56896 invoke-virtual {v5}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
56898 move-result-object v5
56900 invoke-direct {v4, v5}, Ljava/lang/SecurityException;-><init>(Ljava/lang/String;)V
56909 .catchall {:try_start_17 .. :try_end_52} :catchall_50
56914 if-nez v0, :cond_71
56917 invoke-static {}, Landroid/os/UserId;->getCallingUserId()I
56922 invoke-direct {p0, p2, p3, v5}, Lcom/android/server/am/ActivityManagerService;->findServiceLocked(Landroid/content/Intent;Ljava/lang/String;I)Lcom/android/server/am/ActivityManagerService$ServiceLookupResult;
56924 move-result-object v3
56926 if-eqz v3, :cond_7c
56928 iget-object v5, v3, Lcom/android/server/am/ActivityManagerService$ServiceLookupResult;->record:Lcom/android/server/am/ServiceRecord;
56930 if-eqz v5, :cond_79
56932 invoke-static {}, Landroid/os/Binder;->clearCallingIdentity()J
56934 .catchall {:try_start_55 .. :try_end_66} :catchall_50
56936 move-result-wide v1
56939 iget-object v5, v3, Lcom/android/server/am/ActivityManagerService$ServiceLookupResult;->record:Lcom/android/server/am/ServiceRecord;
56941 invoke-direct {p0, v5}, Lcom/android/server/am/ActivityManagerService;->stopServiceLocked(Lcom/android/server/am/ServiceRecord;)V
56943 .catchall {:try_start_67 .. :try_end_6c} :catchall_74
56946 invoke-static {v1, v2}, Landroid/os/Binder;->restoreCallingIdentity(J)V
56954 iget v5, v0, Lcom/android/server/am/ProcessRecord;->userId:I
56961 invoke-static {v1, v2}, Landroid/os/Binder;->restoreCallingIdentity(J)V
56975 .catchall {:try_start_6c .. :try_end_7d} :catchall_50
56982 .method public stopServiceToken(Landroid/content/ComponentName;Landroid/os/IBinder;I)Z
56990 invoke-direct {p0, p1, p2}, Lcom/android/server/am/ActivityManagerService;->findServiceLocked(Landroid/content/ComponentName;Landroid/os/IBinder;)Lcom/android/server/am/ServiceRecord;
56992 move-result-object v3
56994 if-eqz v3, :cond_8c
56996 if-ltz p3, :cond_65
57000 invoke-virtual {v3, p3, v6}, Lcom/android/server/am/ServiceRecord;->findDeliveredStart(IZ)Lcom/android/server/am/ServiceRecord$StartItem;
57002 move-result-object v4
57004 if-eqz v4, :cond_27
57007 iget-object v6, v3, Lcom/android/server/am/ServiceRecord;->deliveredStarts:Ljava/util/ArrayList;
57009 invoke-virtual {v6}, Ljava/util/ArrayList;->size()I
57013 if-lez v6, :cond_27
57015 iget-object v6, v3, Lcom/android/server/am/ServiceRecord;->deliveredStarts:Ljava/util/ArrayList;
57019 invoke-virtual {v6, v7}, Ljava/util/ArrayList;->remove(I)Ljava/lang/Object;
57021 move-result-object v0
57023 check-cast v0, Lcom/android/server/am/ServiceRecord$StartItem;
57025 invoke-virtual {v0}, Lcom/android/server/am/ServiceRecord$StartItem;->removeUriPermissionsLocked()V
57027 if-ne v0, v4, :cond_11
57030 invoke-virtual {v3}, Lcom/android/server/am/ServiceRecord;->getLastStartId()I
57034 if-eq v6, p3, :cond_2f
57042 iget-object v5, v3, Lcom/android/server/am/ServiceRecord;->deliveredStarts:Ljava/util/ArrayList;
57044 invoke-virtual {v5}, Ljava/util/ArrayList;->size()I
57048 if-lez v5, :cond_65
57050 const-string v5, "ActivityManager"
57052 new-instance v6, Ljava/lang/StringBuilder;
57054 invoke-direct {v6}, Ljava/lang/StringBuilder;-><init>()V
57056 const-string v7, "stopServiceToken startId "
57058 invoke-virtual {v6, v7}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
57060 move-result-object v6
57062 invoke-virtual {v6, p3}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
57064 move-result-object v6
57066 const-string v7, " is last, but have "
57068 invoke-virtual {v6, v7}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
57070 move-result-object v6
57072 iget-object v7, v3, Lcom/android/server/am/ServiceRecord;->deliveredStarts:Ljava/util/ArrayList;
57074 invoke-virtual {v7}, Ljava/util/ArrayList;->size()I
57078 invoke-virtual {v6, v7}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
57080 move-result-object v6
57082 const-string v7, " remaining args"
57084 invoke-virtual {v6, v7}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
57086 move-result-object v6
57088 invoke-virtual {v6}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
57090 move-result-object v6
57092 invoke-static {v5, v6}, Landroid/util/Slog;->w(Ljava/lang/String;Ljava/lang/String;)I
57095 iget-object v5, v3, Lcom/android/server/am/ServiceRecord;->stats:Lcom/android/internal/os/BatteryStatsImpl$Uid$Pkg$Serv;
57097 invoke-virtual {v5}, Lcom/android/internal/os/BatteryStatsImpl$Uid$Pkg$Serv;->getBatteryStats()Lcom/android/internal/os/BatteryStatsImpl;
57099 move-result-object v6
57103 .catchall {:try_start_2 .. :try_end_6c} :catchall_86
57106 iget-object v5, v3, Lcom/android/server/am/ServiceRecord;->stats:Lcom/android/internal/os/BatteryStatsImpl$Uid$Pkg$Serv;
57108 invoke-virtual {v5}, Lcom/android/internal/os/BatteryStatsImpl$Uid$Pkg$Serv;->stopRunningLocked()V
57112 iput-boolean v5, v3, Lcom/android/server/am/ServiceRecord;->startRequested:Z
57116 iput-boolean v5, v3, Lcom/android/server/am/ServiceRecord;->callStart:Z
57120 .catchall {:try_start_6c .. :try_end_78} :catchall_89
57123 invoke-static {}, Landroid/os/Binder;->clearCallingIdentity()J
57125 move-result-wide v1
57129 invoke-direct {p0, v3, v5}, Lcom/android/server/am/ActivityManagerService;->bringDownServiceLocked(Lcom/android/server/am/ServiceRecord;Z)V
57131 invoke-static {v1, v2}, Landroid/os/Binder;->restoreCallingIdentity(J)V
57144 .catchall {:try_start_78 .. :try_end_88} :catchall_86
57154 .catchall {:try_start_8a .. :try_end_8b} :catchall_89
57162 .catchall {:try_start_8b .. :try_end_8d} :catchall_86
57167 .method public switchUser(I)Z
57174 invoke-static {}, Landroid/os/Binder;->getCallingUid()I
57178 if-eqz v1, :cond_16
57180 invoke-static {}, Landroid/os/Process;->myUid()I
57184 if-eq v1, v5, :cond_16
57186 const-string v4, "ActivityManager"
57188 const-string v5, "Trying to switch user from unauthorized app"
57190 invoke-static {v4, v5}, Landroid/util/Slog;->e(Ljava/lang/String;Ljava/lang/String;)I
57196 iget v5, p0, Lcom/android/server/am/ActivityManagerService;->mCurrentUserId:I
57198 if-ne v5, p1, :cond_1c
57208 iget-object v5, p0, Lcom/android/server/am/ActivityManagerService;->mLoggedInUsers:Landroid/util/SparseIntArray;
57210 invoke-virtual {v5, p1}, Landroid/util/SparseIntArray;->indexOfKey(I)I
57214 if-gez v5, :cond_35
57216 invoke-direct {p0, p1}, Lcom/android/server/am/ActivityManagerService;->userExists(I)Z
57220 if-nez v5, :cond_30
57231 .catchall {:try_start_1d .. :try_end_2f} :catchall_2d
57237 iget-object v3, p0, Lcom/android/server/am/ActivityManagerService;->mLoggedInUsers:Landroid/util/SparseIntArray;
57239 invoke-virtual {v3, p1, p1}, Landroid/util/SparseIntArray;->append(II)V
57242 iput p1, p0, Lcom/android/server/am/ActivityManagerService;->mCurrentUserId:I
57244 iget-object v3, p0, Lcom/android/server/am/ActivityManagerService;->mMainStack:Lcom/android/server/am/ActivityStack;
57246 invoke-virtual {v3, p1}, Lcom/android/server/am/ActivityStack;->switchUser(I)Z
57250 if-nez v2, :cond_42
57252 invoke-virtual {p0, p1}, Lcom/android/server/am/ActivityManagerService;->startHomeActivityLocked(I)Z
57257 .catchall {:try_start_30 .. :try_end_43} :catchall_2d
57259 new-instance v0, Landroid/content/Intent;
57261 const-string v3, "android.intent.action.USER_SWITCHED"
57263 invoke-direct {v0, v3}, Landroid/content/Intent;-><init>(Ljava/lang/String;)V
57265 const-string v3, "android.intent.extra.user_id"
57267 invoke-virtual {v0, v3, p1}, Landroid/content/Intent;->putExtra(Ljava/lang/String;I)Landroid/content/Intent;
57269 iget-object v3, p0, Lcom/android/server/am/ActivityManagerService;->mContext:Landroid/content/Context;
57271 const-string v5, "android.permission.MANAGE_ACCOUNTS"
57273 invoke-virtual {v3, v0, v5}, Landroid/content/Context;->sendBroadcast(Landroid/content/Intent;Ljava/lang/String;)V
57280 .method public systemReady(Ljava/lang/Runnable;)V
57286 move-object/from16 v0, p0
57288 iget-boolean v3, v0, Lcom/android/server/am/ActivityManagerService;->mSystemReady:Z
57294 invoke-interface/range {p1 .. p1}, Ljava/lang/Runnable;->run()V
57303 move-object/from16 v0, p0
57305 iget-boolean v3, v0, Lcom/android/server/am/ActivityManagerService;->mDidUpdate:Z
57307 if-nez v3, :cond_137
57309 move-object/from16 v0, p0
57311 iget-boolean v3, v0, Lcom/android/server/am/ActivityManagerService;->mWaitingUpdate:Z
57313 if-eqz v3, :cond_1f
57324 .catchall {:try_start_1 .. :try_end_1e} :catchall_1c
57330 new-instance v6, Landroid/content/Intent;
57332 const-string v3, "android.intent.action.PRE_BOOT_COMPLETED"
57334 invoke-direct {v6, v3}, Landroid/content/Intent;-><init>(Ljava/lang/String;)V
57336 .catchall {:try_start_1f .. :try_end_26} :catchall_1c
57341 invoke-static {}, Landroid/app/AppGlobals;->getPackageManager()Landroid/content/pm/IPackageManager;
57343 move-result-object v3
57351 invoke-interface {v3, v6, v4, v5, v7}, Landroid/content/pm/IPackageManager;->queryIntentReceivers(Landroid/content/Intent;Ljava/lang/String;II)Ljava/util/List;
57353 .catchall {:try_start_28 .. :try_end_32} :catchall_1c
57354 .catch Landroid/os/RemoteException; {:try_start_28 .. :try_end_32} :catch_308
57356 move-result-object v33
57359 if-eqz v33, :cond_129
57362 invoke-interface/range {v33 .. v33}, Ljava/util/List;->size()I
57366 add-int/lit8 v25, v3, -0x1
57369 if-ltz v25, :cond_5b
57371 move-object/from16 v0, v33
57373 move/from16 v1, v25
57375 invoke-interface {v0, v1}, Ljava/util/List;->get(I)Ljava/lang/Object;
57377 move-result-object v3
57379 check-cast v3, Landroid/content/pm/ResolveInfo;
57381 iget-object v3, v3, Landroid/content/pm/ResolveInfo;->activityInfo:Landroid/content/pm/ActivityInfo;
57383 iget-object v3, v3, Landroid/content/pm/ActivityInfo;->applicationInfo:Landroid/content/pm/ApplicationInfo;
57385 iget v3, v3, Landroid/content/pm/ApplicationInfo;->flags:I
57387 and-int/lit8 v3, v3, 0x1
57389 if-nez v3, :cond_58
57391 move-object/from16 v0, v33
57393 move/from16 v1, v25
57395 invoke-interface {v0, v1}, Ljava/util/List;->remove(I)Ljava/lang/Object;
57398 add-int/lit8 v25, v25, -0x1
57403 const/high16 v3, 0x400
57405 invoke-virtual {v6, v3}, Landroid/content/Intent;->addFlags(I)Landroid/content/Intent;
57407 invoke-static {}, Lcom/android/server/am/ActivityManagerService;->readLastDonePreBootReceivers()Ljava/util/ArrayList;
57409 move-result-object v27
57411 new-instance v23, Ljava/util/ArrayList;
57413 invoke-direct/range {v23 .. v23}, Ljava/util/ArrayList;-><init>()V
57418 invoke-interface/range {v33 .. v33}, Ljava/util/List;->size()I
57422 move/from16 v0, v25
57424 if-ge v0, v3, :cond_a6
57426 move-object/from16 v0, v33
57428 move/from16 v1, v25
57430 invoke-interface {v0, v1}, Ljava/util/List;->get(I)Ljava/lang/Object;
57432 move-result-object v3
57434 check-cast v3, Landroid/content/pm/ResolveInfo;
57436 iget-object v0, v3, Landroid/content/pm/ResolveInfo;->activityInfo:Landroid/content/pm/ActivityInfo;
57438 move-object/from16 v19, v0
57440 new-instance v22, Landroid/content/ComponentName;
57442 move-object/from16 v0, v19
57444 iget-object v3, v0, Landroid/content/pm/ActivityInfo;->packageName:Ljava/lang/String;
57446 move-object/from16 v0, v19
57448 iget-object v4, v0, Landroid/content/pm/ActivityInfo;->name:Ljava/lang/String;
57450 move-object/from16 v0, v22
57452 invoke-direct {v0, v3, v4}, Landroid/content/ComponentName;-><init>(Ljava/lang/String;Ljava/lang/String;)V
57454 move-object/from16 v0, v27
57456 move-object/from16 v1, v22
57458 invoke-virtual {v0, v1}, Ljava/util/ArrayList;->contains(Ljava/lang/Object;)Z
57462 if-eqz v3, :cond_a3
57464 move-object/from16 v0, v33
57466 move/from16 v1, v25
57468 invoke-interface {v0, v1}, Ljava/util/List;->remove(I)Ljava/lang/Object;
57470 add-int/lit8 v25, v25, -0x1
57473 add-int/lit8 v25, v25, 0x1
57481 invoke-interface/range {v33 .. v33}, Ljava/util/List;->size()I
57485 move/from16 v0, v25
57487 if-ge v0, v3, :cond_129
57489 move-object/from16 v0, v33
57491 move/from16 v1, v25
57493 invoke-interface {v0, v1}, Ljava/util/List;->get(I)Ljava/lang/Object;
57495 move-result-object v3
57497 check-cast v3, Landroid/content/pm/ResolveInfo;
57499 iget-object v0, v3, Landroid/content/pm/ResolveInfo;->activityInfo:Landroid/content/pm/ActivityInfo;
57501 move-object/from16 v19, v0
57503 new-instance v22, Landroid/content/ComponentName;
57505 move-object/from16 v0, v19
57507 iget-object v3, v0, Landroid/content/pm/ActivityInfo;->packageName:Ljava/lang/String;
57509 move-object/from16 v0, v19
57511 iget-object v4, v0, Landroid/content/pm/ActivityInfo;->name:Ljava/lang/String;
57513 move-object/from16 v0, v22
57515 invoke-direct {v0, v3, v4}, Landroid/content/ComponentName;-><init>(Ljava/lang/String;Ljava/lang/String;)V
57517 move-object/from16 v0, v23
57519 move-object/from16 v1, v22
57521 invoke-virtual {v0, v1}, Ljava/util/ArrayList;->add(Ljava/lang/Object;)Z
57523 move-object/from16 v0, v22
57525 invoke-virtual {v6, v0}, Landroid/content/Intent;->setComponent(Landroid/content/ComponentName;)Landroid/content/Intent;
57529 invoke-interface/range {v33 .. v33}, Ljava/util/List;->size()I
57533 add-int/lit8 v3, v3, -0x1
57535 move/from16 v0, v25
57537 if-ne v0, v3, :cond_ef
57539 new-instance v8, Lcom/android/server/am/ActivityManagerService$10;
57541 move-object/from16 v0, p0
57543 move-object/from16 v1, v23
57545 move-object/from16 v2, p1
57547 invoke-direct {v8, v0, v1, v2}, Lcom/android/server/am/ActivityManagerService$10;-><init>(Lcom/android/server/am/ActivityManagerService;Ljava/util/ArrayList;Ljava/lang/Runnable;)V
57550 const-string v3, "ActivityManager"
57552 new-instance v4, Ljava/lang/StringBuilder;
57554 invoke-direct {v4}, Ljava/lang/StringBuilder;-><init>()V
57556 const-string v5, "Sending system update to: "
57558 invoke-virtual {v4, v5}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
57560 move-result-object v4
57562 invoke-virtual {v6}, Landroid/content/Intent;->getComponent()Landroid/content/ComponentName;
57564 move-result-object v5
57566 invoke-virtual {v4, v5}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
57568 move-result-object v4
57570 invoke-virtual {v4}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
57572 move-result-object v4
57574 invoke-static {v3, v4}, Landroid/util/Slog;->i(Ljava/lang/String;Ljava/lang/String;)I
57594 sget v15, Lcom/android/server/am/ActivityManagerService;->MY_PID:I
57596 const/16 v16, 0x3e8
57600 move-object/from16 v3, p0
57602 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
57604 if-eqz v8, :cond_126
57608 move-object/from16 v0, p0
57610 iput-boolean v3, v0, Lcom/android/server/am/ActivityManagerService;->mWaitingUpdate:Z
57613 add-int/lit8 v25, v25, 0x1
57618 move-object/from16 v0, p0
57620 iget-boolean v3, v0, Lcom/android/server/am/ActivityManagerService;->mWaitingUpdate:Z
57622 if-eqz v3, :cond_132
57631 move-object/from16 v0, p0
57633 iput-boolean v3, v0, Lcom/android/server/am/ActivityManagerService;->mDidUpdate:Z
57638 move-object/from16 v0, p0
57640 iput-boolean v3, v0, Lcom/android/server/am/ActivityManagerService;->mSystemReady:Z
57642 move-object/from16 v0, p0
57644 iget-boolean v3, v0, Lcom/android/server/am/ActivityManagerService;->mStartRunning:Z
57646 if-nez v3, :cond_145
57655 .catchall {:try_start_35 .. :try_end_146} :catchall_1c
57659 move-object/from16 v0, p0
57661 iget-object v4, v0, Lcom/android/server/am/ActivityManagerService;->mPidsSelfLocked:Landroid/util/SparseArray;
57666 move-object/from16 v0, p0
57668 iget-object v3, v0, Lcom/android/server/am/ActivityManagerService;->mPidsSelfLocked:Landroid/util/SparseArray;
57670 invoke-virtual {v3}, Landroid/util/SparseArray;->size()I
57672 .catchall {:try_start_14d .. :try_end_154} :catchall_1c4
57676 add-int/lit8 v25, v3, -0x1
57678 move-object/from16 v31, v30
57681 if-ltz v25, :cond_186
57684 move-object/from16 v0, p0
57686 iget-object v3, v0, Lcom/android/server/am/ActivityManagerService;->mPidsSelfLocked:Landroid/util/SparseArray;
57688 move/from16 v0, v25
57690 invoke-virtual {v3, v0}, Landroid/util/SparseArray;->valueAt(I)Ljava/lang/Object;
57692 move-result-object v29
57694 check-cast v29, Lcom/android/server/am/ProcessRecord;
57696 move-object/from16 v0, v29
57698 iget-object v3, v0, Lcom/android/server/am/ProcessRecord;->info:Landroid/content/pm/ApplicationInfo;
57700 move-object/from16 v0, p0
57702 invoke-virtual {v0, v3}, Lcom/android/server/am/ActivityManagerService;->isAllowedWhileBooting(Landroid/content/pm/ApplicationInfo;)Z
57706 if-nez v3, :cond_30f
57708 if-nez v31, :cond_30b
57710 new-instance v30, Ljava/util/ArrayList;
57712 invoke-direct/range {v30 .. v30}, Ljava/util/ArrayList;-><init>()V
57714 .catchall {:try_start_15b .. :try_end_17a} :catchall_303
57718 move-object/from16 v0, v30
57720 move-object/from16 v1, v29
57722 invoke-virtual {v0, v1}, Ljava/util/ArrayList;->add(Ljava/lang/Object;)Z
57724 .catchall {:try_start_17a .. :try_end_181} :catchall_1c4
57727 add-int/lit8 v25, v25, -0x1
57729 move-object/from16 v31, v30
57737 .catchall {:try_start_186 .. :try_end_187} :catchall_303
57741 if-eqz v31, :cond_1c7
57744 invoke-virtual/range {v31 .. v31}, Ljava/util/ArrayList;->size()I
57748 add-int/lit8 v25, v3, -0x1
57751 if-ltz v25, :cond_1c7
57753 move-object/from16 v0, v31
57755 move/from16 v1, v25
57757 invoke-virtual {v0, v1}, Ljava/util/ArrayList;->get(I)Ljava/lang/Object;
57759 move-result-object v29
57761 check-cast v29, Lcom/android/server/am/ProcessRecord;
57763 const-string v3, "ActivityManager"
57765 new-instance v4, Ljava/lang/StringBuilder;
57767 invoke-direct {v4}, Ljava/lang/StringBuilder;-><init>()V
57769 const-string v5, "Removing system update proc: "
57771 invoke-virtual {v4, v5}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
57773 move-result-object v4
57775 move-object/from16 v0, v29
57777 invoke-virtual {v4, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
57779 move-result-object v4
57781 invoke-virtual {v4}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
57783 move-result-object v4
57785 invoke-static {v3, v4}, Landroid/util/Slog;->i(Ljava/lang/String;Ljava/lang/String;)I
57791 const-string v5, "system update done"
57793 move-object/from16 v0, p0
57795 move-object/from16 v1, v29
57797 invoke-direct {v0, v1, v3, v4, v5}, Lcom/android/server/am/ActivityManagerService;->removeProcessLocked(Lcom/android/server/am/ProcessRecord;ZZLjava/lang/String;)Z
57799 .catchall {:try_start_18a .. :try_end_1c1} :catchall_2a8
57801 add-int/lit8 v25, v25, -0x1
57812 .catchall {:try_start_1c5 .. :try_end_1c6} :catchall_1c4
57820 move-object/from16 v0, p0
57822 iput-boolean v3, v0, Lcom/android/server/am/ActivityManagerService;->mProcessesReady:Z
57826 .catchall {:try_start_1c8 .. :try_end_1cd} :catchall_2a8
57828 const-string v3, "ActivityManager"
57830 const-string v4, "System now ready"
57832 invoke-static {v3, v4}, Landroid/util/Slog;->i(Ljava/lang/String;Ljava/lang/String;)I
57836 invoke-static {}, Landroid/os/SystemClock;->uptimeMillis()J
57838 move-result-wide v4
57840 invoke-static {v3, v4, v5}, Landroid/util/EventLog;->writeEvent(IJ)I
57845 move-object/from16 v0, p0
57847 iget v3, v0, Lcom/android/server/am/ActivityManagerService;->mFactoryTest:I
57851 if-ne v3, v4, :cond_25c
57853 move-object/from16 v0, p0
57855 iget-object v3, v0, Lcom/android/server/am/ActivityManagerService;->mContext:Landroid/content/Context;
57857 invoke-virtual {v3}, Landroid/content/Context;->getPackageManager()Landroid/content/pm/PackageManager;
57859 move-result-object v3
57861 new-instance v4, Landroid/content/Intent;
57863 const-string v5, "android.intent.action.FACTORY_TEST"
57865 invoke-direct {v4, v5}, Landroid/content/Intent;-><init>(Ljava/lang/String;)V
57869 invoke-virtual {v3, v4, v5}, Landroid/content/pm/PackageManager;->resolveActivity(Landroid/content/Intent;I)Landroid/content/pm/ResolveInfo;
57871 move-result-object v32
57875 if-eqz v32, :cond_2bc
57877 move-object/from16 v0, v32
57879 iget-object v0, v0, Landroid/content/pm/ResolveInfo;->activityInfo:Landroid/content/pm/ActivityInfo;
57881 move-object/from16 v19, v0
57883 move-object/from16 v0, v19
57885 iget-object v0, v0, Landroid/content/pm/ActivityInfo;->applicationInfo:Landroid/content/pm/ApplicationInfo;
57887 move-object/from16 v20, v0
57889 move-object/from16 v0, v20
57891 iget v3, v0, Landroid/content/pm/ApplicationInfo;->flags:I
57893 and-int/lit8 v3, v3, 0x1
57895 if-eqz v3, :cond_2ab
57897 const-string v3, "android.intent.action.FACTORY_TEST"
57899 move-object/from16 v0, p0
57901 iput-object v3, v0, Lcom/android/server/am/ActivityManagerService;->mTopAction:Ljava/lang/String;
57905 move-object/from16 v0, p0
57907 iput-object v3, v0, Lcom/android/server/am/ActivityManagerService;->mTopData:Ljava/lang/String;
57909 new-instance v3, Landroid/content/ComponentName;
57911 move-object/from16 v0, v20
57913 iget-object v4, v0, Landroid/content/pm/ApplicationInfo;->packageName:Ljava/lang/String;
57915 move-object/from16 v0, v19
57917 iget-object v5, v0, Landroid/content/pm/ActivityInfo;->name:Ljava/lang/String;
57919 invoke-direct {v3, v4, v5}, Landroid/content/ComponentName;-><init>(Ljava/lang/String;Ljava/lang/String;)V
57921 move-object/from16 v0, p0
57923 iput-object v3, v0, Lcom/android/server/am/ActivityManagerService;->mTopComponent:Landroid/content/ComponentName;
57926 if-eqz v24, :cond_25c
57930 move-object/from16 v0, p0
57932 iput-object v3, v0, Lcom/android/server/am/ActivityManagerService;->mTopAction:Ljava/lang/String;
57936 move-object/from16 v0, p0
57938 iput-object v3, v0, Lcom/android/server/am/ActivityManagerService;->mTopData:Ljava/lang/String;
57942 move-object/from16 v0, p0
57944 iput-object v3, v0, Lcom/android/server/am/ActivityManagerService;->mTopComponent:Landroid/content/ComponentName;
57946 invoke-static {}, Landroid/os/Message;->obtain()Landroid/os/Message;
57948 move-result-object v28
57952 move-object/from16 v0, v28
57954 iput v3, v0, Landroid/os/Message;->what:I
57956 invoke-virtual/range {v28 .. v28}, Landroid/os/Message;->getData()Landroid/os/Bundle;
57958 move-result-object v3
57960 const-string v4, "msg"
57962 move-object/from16 v0, v24
57964 invoke-virtual {v3, v4, v0}, Landroid/os/Bundle;->putCharSequence(Ljava/lang/String;Ljava/lang/CharSequence;)V
57966 move-object/from16 v0, p0
57968 iget-object v3, v0, Lcom/android/server/am/ActivityManagerService;->mHandler:Landroid/os/Handler;
57970 move-object/from16 v0, v28
57972 invoke-virtual {v3, v0}, Landroid/os/Handler;->sendMessage(Landroid/os/Message;)Z
57977 .catchall {:try_start_1de .. :try_end_25d} :catchall_2cd
57979 invoke-direct/range {p0 .. p0}, Lcom/android/server/am/ActivityManagerService;->retrieveSettings()V
57981 if-eqz p1, :cond_265
57983 invoke-interface/range {p1 .. p1}, Ljava/lang/Runnable;->run()V
57989 move-object/from16 v0, p0
57991 iget v3, v0, Lcom/android/server/am/ActivityManagerService;->mFactoryTest:I
57993 .catchall {:try_start_266 .. :try_end_26a} :catchall_2fe
57997 if-eq v3, v4, :cond_2d1
58000 invoke-static {}, Landroid/app/AppGlobals;->getPackageManager()Landroid/content/pm/IPackageManager;
58002 move-result-object v3
58006 invoke-interface {v3, v4}, Landroid/content/pm/IPackageManager;->getPersistentApplications(I)Ljava/util/List;
58008 move-result-object v21
58010 if-eqz v21, :cond_2d1
58012 invoke-interface/range {v21 .. v21}, Ljava/util/List;->size()I
58019 move/from16 v0, v25
58021 move/from16 v1, v18
58023 if-ge v0, v1, :cond_2d1
58025 move-object/from16 v0, v21
58027 move/from16 v1, v25
58029 invoke-interface {v0, v1}, Ljava/util/List;->get(I)Ljava/lang/Object;
58031 move-result-object v26
58033 check-cast v26, Landroid/content/pm/ApplicationInfo;
58035 if-eqz v26, :cond_2a5
58037 move-object/from16 v0, v26
58039 iget-object v3, v0, Landroid/content/pm/ApplicationInfo;->packageName:Ljava/lang/String;
58041 const-string v4, "android"
58043 invoke-virtual {v3, v4}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
58047 if-nez v3, :cond_2a5
58051 move-object/from16 v0, p0
58053 move-object/from16 v1, v26
58055 invoke-virtual {v0, v1, v3}, Lcom/android/server/am/ActivityManagerService;->addAppLocked(Landroid/content/pm/ApplicationInfo;Z)Lcom/android/server/am/ProcessRecord;
58057 .catchall {:try_start_26d .. :try_end_2a5} :catchall_2fe
58058 .catch Landroid/os/RemoteException; {:try_start_26d .. :try_end_2a5} :catch_2d0
58061 add-int/lit8 v25, v25, 0x1
58071 .catchall {:try_start_2a9 .. :try_end_2aa} :catchall_2a8
58077 move-object/from16 v0, p0
58079 iget-object v3, v0, Lcom/android/server/am/ActivityManagerService;->mContext:Landroid/content/Context;
58081 invoke-virtual {v3}, Landroid/content/Context;->getResources()Landroid/content/res/Resources;
58083 move-result-object v3
58085 const v4, 0x104035d
58087 invoke-virtual {v3, v4}, Landroid/content/res/Resources;->getText(I)Ljava/lang/CharSequence;
58089 move-result-object v24
58094 move-object/from16 v0, p0
58096 iget-object v3, v0, Lcom/android/server/am/ActivityManagerService;->mContext:Landroid/content/Context;
58098 invoke-virtual {v3}, Landroid/content/Context;->getResources()Landroid/content/res/Resources;
58100 move-result-object v3
58102 const v4, 0x104035e
58104 invoke-virtual {v3, v4}, Landroid/content/res/Resources;->getText(I)Ljava/lang/CharSequence;
58106 move-result-object v24
58115 .catchall {:try_start_2ab .. :try_end_2cf} :catchall_2cd
58126 move-object/from16 v0, p0
58128 iput-boolean v3, v0, Lcom/android/server/am/ActivityManagerService;->mBooting:Z
58130 .catchall {:try_start_2d2 .. :try_end_2d6} :catchall_2fe
58133 invoke-static {}, Landroid/app/AppGlobals;->getPackageManager()Landroid/content/pm/IPackageManager;
58135 move-result-object v3
58137 invoke-interface {v3}, Landroid/content/pm/IPackageManager;->hasSystemUidErrors()Z
58141 if-eqz v3, :cond_2f3
58143 invoke-static {}, Landroid/os/Message;->obtain()Landroid/os/Message;
58145 move-result-object v28
58149 move-object/from16 v0, v28
58151 iput v3, v0, Landroid/os/Message;->what:I
58153 move-object/from16 v0, p0
58155 iget-object v3, v0, Lcom/android/server/am/ActivityManagerService;->mHandler:Landroid/os/Handler;
58157 move-object/from16 v0, v28
58159 invoke-virtual {v3, v0}, Landroid/os/Handler;->sendMessage(Landroid/os/Message;)Z
58161 .catchall {:try_start_2d6 .. :try_end_2f3} :catchall_2fe
58162 .catch Landroid/os/RemoteException; {:try_start_2d6 .. :try_end_2f3} :catch_301
58167 move-object/from16 v0, p0
58169 iget-object v3, v0, Lcom/android/server/am/ActivityManagerService;->mMainStack:Lcom/android/server/am/ActivityStack;
58173 invoke-virtual {v3, v4}, Lcom/android/server/am/ActivityStack;->resumeTopActivityLocked(Lcom/android/server/am/ActivityRecord;)Z
58184 .catchall {:try_start_2f3 .. :try_end_300} :catchall_2fe
58196 move-object/from16 v30, v31
58206 move-object/from16 v30, v31
58211 move-object/from16 v30, v31
58216 .method public targetTaskAffinityMatchesActivity(Landroid/os/IBinder;Ljava/lang/String;)Z
58219 invoke-static {p1}, Lcom/android/server/am/ActivityRecord;->forToken(Landroid/os/IBinder;)Lcom/android/server/am/ActivityRecord;
58221 move-result-object v0
58223 if-eqz v0, :cond_18
58225 iget-object v1, v0, Lcom/android/server/am/ActivityRecord;->task:Lcom/android/server/am/TaskRecord;
58227 iget-object v1, v1, Lcom/android/server/am/TaskRecord;->affinity:Ljava/lang/String;
58229 if-eqz v1, :cond_18
58231 iget-object v1, v0, Lcom/android/server/am/ActivityRecord;->task:Lcom/android/server/am/TaskRecord;
58233 iget-object v1, v1, Lcom/android/server/am/TaskRecord;->affinity:Ljava/lang/String;
58235 invoke-virtual {v1, p2}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
58239 if-eqz v1, :cond_18
58252 .method public testIsSystemReady()Z
58255 iget-boolean v0, p0, Lcom/android/server/am/ActivityManagerService;->mSystemReady:Z
58260 .method final trimApplications()V
58266 iget-object v2, p0, Lcom/android/server/am/ActivityManagerService;->mRemovedProcesses:Ljava/util/ArrayList;
58268 invoke-virtual {v2}, Ljava/util/ArrayList;->size()I
58272 add-int/lit8 v1, v2, -0x1
58275 if-ltz v1, :cond_b5
58277 iget-object v2, p0, Lcom/android/server/am/ActivityManagerService;->mRemovedProcesses:Ljava/util/ArrayList;
58279 invoke-virtual {v2, v1}, Ljava/util/ArrayList;->get(I)Ljava/lang/Object;
58281 move-result-object v0
58283 check-cast v0, Lcom/android/server/am/ProcessRecord;
58285 iget-object v2, v0, Lcom/android/server/am/ProcessRecord;->activities:Ljava/util/ArrayList;
58287 invoke-virtual {v2}, Ljava/util/ArrayList;->size()I
58291 if-nez v2, :cond_a7
58293 iget-object v2, v0, Lcom/android/server/am/ProcessRecord;->curReceiver:Lcom/android/server/am/BroadcastRecord;
58295 if-nez v2, :cond_a7
58297 iget-object v2, v0, Lcom/android/server/am/ProcessRecord;->services:Ljava/util/HashSet;
58299 invoke-virtual {v2}, Ljava/util/HashSet;->size()I
58303 if-nez v2, :cond_a7
58305 const-string v3, "ActivityManager"
58307 new-instance v2, Ljava/lang/StringBuilder;
58309 invoke-direct {v2}, Ljava/lang/StringBuilder;-><init>()V
58311 const-string v4, "Exiting empty application process "
58313 invoke-virtual {v2, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
58315 move-result-object v2
58317 iget-object v4, v0, Lcom/android/server/am/ProcessRecord;->processName:Ljava/lang/String;
58319 invoke-virtual {v2, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
58321 move-result-object v2
58323 const-string v4, " ("
58325 invoke-virtual {v2, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
58327 move-result-object v4
58329 iget-object v2, v0, Lcom/android/server/am/ProcessRecord;->thread:Landroid/app/IApplicationThread;
58331 if-eqz v2, :cond_ab
58333 iget-object v2, v0, Lcom/android/server/am/ProcessRecord;->thread:Landroid/app/IApplicationThread;
58335 invoke-interface {v2}, Landroid/app/IApplicationThread;->asBinder()Landroid/os/IBinder;
58337 move-result-object v2
58340 invoke-virtual {v4, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
58342 move-result-object v2
58344 const-string v4, ")\n"
58346 invoke-virtual {v2, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
58348 move-result-object v2
58350 invoke-virtual {v2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
58352 move-result-object v2
58354 invoke-static {v3, v2}, Landroid/util/Slog;->i(Ljava/lang/String;Ljava/lang/String;)I
58356 iget v2, v0, Lcom/android/server/am/ProcessRecord;->pid:I
58358 if-lez v2, :cond_ad
58360 iget v2, v0, Lcom/android/server/am/ProcessRecord;->pid:I
58362 sget v3, Lcom/android/server/am/ActivityManagerService;->MY_PID:I
58364 if-eq v2, v3, :cond_ad
58366 const/16 v2, 0x7547
58370 new-array v3, v3, [Ljava/lang/Object;
58374 iget v5, v0, Lcom/android/server/am/ProcessRecord;->pid:I
58376 invoke-static {v5}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
58378 move-result-object v5
58380 aput-object v5, v3, v4
58384 iget-object v5, v0, Lcom/android/server/am/ProcessRecord;->processName:Ljava/lang/String;
58386 aput-object v5, v3, v4
58390 iget v5, v0, Lcom/android/server/am/ProcessRecord;->setAdj:I
58392 invoke-static {v5}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
58394 move-result-object v5
58396 aput-object v5, v3, v4
58400 const-string v5, "empty"
58402 aput-object v5, v3, v4
58404 invoke-static {v2, v3}, Landroid/util/EventLog;->writeEvent(I[Ljava/lang/Object;)I
58406 iget v2, v0, Lcom/android/server/am/ProcessRecord;->pid:I
58408 invoke-static {v2}, Landroid/os/Process;->killProcessQuiet(I)V
58417 invoke-direct {p0, v0, v2, v3, v4}, Lcom/android/server/am/ActivityManagerService;->cleanUpApplicationRecordLocked(Lcom/android/server/am/ProcessRecord;ZZI)V
58419 iget-object v2, p0, Lcom/android/server/am/ActivityManagerService;->mRemovedProcesses:Ljava/util/ArrayList;
58421 invoke-virtual {v2, v1}, Ljava/util/ArrayList;->remove(I)Ljava/lang/Object;
58423 iget-boolean v2, v0, Lcom/android/server/am/ProcessRecord;->persistent:Z
58425 if-eqz v2, :cond_a7
58427 iget-boolean v2, v0, Lcom/android/server/am/ProcessRecord;->persistent:Z
58429 if-eqz v2, :cond_a7
58431 iget-object v2, v0, Lcom/android/server/am/ProcessRecord;->info:Landroid/content/pm/ApplicationInfo;
58435 invoke-virtual {p0, v2, v3}, Lcom/android/server/am/ActivityManagerService;->addAppLocked(Landroid/content/pm/ApplicationInfo;Z)Lcom/android/server/am/ProcessRecord;
58437 .catchall {:try_start_1 .. :try_end_a7} :catchall_ba
58440 add-int/lit8 v1, v1, -0x1
58451 iget-object v2, v0, Lcom/android/server/am/ProcessRecord;->thread:Landroid/app/IApplicationThread;
58453 invoke-interface {v2}, Landroid/app/IApplicationThread;->scheduleExit()V
58455 .catchall {:try_start_ad .. :try_end_b2} :catchall_ba
58456 .catch Ljava/lang/Exception; {:try_start_ad .. :try_end_b2} :catch_b3
58467 invoke-virtual {p0}, Lcom/android/server/am/ActivityManagerService;->updateOomAdjLocked()V
58478 .catchall {:try_start_b5 .. :try_end_bc} :catchall_ba
58483 .method public unbindBackupAgent(Landroid/content/pm/ApplicationInfo;)V
58488 const-string v2, "ActivityManager"
58490 const-string v3, "unbind backup agent for null app"
58492 invoke-static {v2, v3}, Landroid/util/Slog;->w(Ljava/lang/String;Ljava/lang/String;)I
58501 iget-object v2, p0, Lcom/android/server/am/ActivityManagerService;->mBackupAppName:Ljava/lang/String;
58503 if-nez v2, :cond_1b
58505 const-string v2, "ActivityManager"
58507 const-string v3, "Unbinding backup agent with no active backup"
58509 invoke-static {v2, v3}, Landroid/util/Slog;->w(Ljava/lang/String;Ljava/lang/String;)I
58520 .catchall {:try_start_b .. :try_end_1a} :catchall_18
58526 iget-object v2, p0, Lcom/android/server/am/ActivityManagerService;->mBackupAppName:Ljava/lang/String;
58528 iget-object v3, p1, Landroid/content/pm/ApplicationInfo;->packageName:Ljava/lang/String;
58530 invoke-virtual {v2, v3}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
58534 if-nez v2, :cond_45
58536 const-string v2, "ActivityManager"
58538 new-instance v3, Ljava/lang/StringBuilder;
58540 invoke-direct {v3}, Ljava/lang/StringBuilder;-><init>()V
58542 const-string v4, "Unbind of "
58544 invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
58546 move-result-object v3
58548 invoke-virtual {v3, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
58550 move-result-object v3
58552 const-string v4, " but is not the current backup target"
58554 invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
58556 move-result-object v3
58558 invoke-virtual {v3}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
58560 move-result-object v3
58562 invoke-static {v2, v3}, Landroid/util/Slog;->e(Ljava/lang/String;Ljava/lang/String;)I
58569 iget-object v2, p0, Lcom/android/server/am/ActivityManagerService;->mBackupTarget:Lcom/android/server/am/BackupRecord;
58571 iget-object v1, v2, Lcom/android/server/am/BackupRecord;->app:Lcom/android/server/am/ProcessRecord;
58575 iput-object v2, p0, Lcom/android/server/am/ActivityManagerService;->mBackupTarget:Lcom/android/server/am/BackupRecord;
58579 iput-object v2, p0, Lcom/android/server/am/ActivityManagerService;->mBackupAppName:Ljava/lang/String;
58581 invoke-direct {p0, v1}, Lcom/android/server/am/ActivityManagerService;->updateOomAdjLocked(Lcom/android/server/am/ProcessRecord;)Z
58583 iget-object v2, v1, Lcom/android/server/am/ProcessRecord;->thread:Landroid/app/IApplicationThread;
58585 .catchall {:try_start_1b .. :try_end_54} :catchall_18
58587 if-eqz v2, :cond_5f
58590 iget-object v2, v1, Lcom/android/server/am/ProcessRecord;->thread:Landroid/app/IApplicationThread;
58592 invoke-virtual {p0, p1}, Lcom/android/server/am/ActivityManagerService;->compatibilityInfoForPackageLocked(Landroid/content/pm/ApplicationInfo;)Landroid/content/res/CompatibilityInfo;
58594 move-result-object v3
58596 invoke-interface {v2, p1, v3}, Landroid/app/IApplicationThread;->scheduleDestroyBackupAgent(Landroid/content/pm/ApplicationInfo;Landroid/content/res/CompatibilityInfo;)V
58598 .catchall {:try_start_56 .. :try_end_5f} :catchall_18
58599 .catch Ljava/lang/Exception; {:try_start_56 .. :try_end_5f} :catch_61
58611 const-string v2, "ActivityManager"
58613 const-string v3, "Exception when unbinding backup agent:"
58615 invoke-static {v2, v3}, Landroid/util/Slog;->e(Ljava/lang/String;Ljava/lang/String;)I
58617 invoke-virtual {v0}, Ljava/lang/Exception;->printStackTrace()V
58619 .catchall {:try_start_5f .. :try_end_6c} :catchall_18
58624 .method public unbindFinished(Landroid/os/IBinder;Landroid/content/Intent;Z)V
58629 if-eqz p2, :cond_11
58631 invoke-virtual {p2}, Landroid/content/Intent;->hasFileDescriptors()Z
58635 if-ne v7, v8, :cond_11
58637 new-instance v7, Ljava/lang/IllegalArgumentException;
58639 const-string v8, "File descriptors passed in Intent"
58641 invoke-direct {v7, v8}, Ljava/lang/IllegalArgumentException;-><init>(Ljava/lang/String;)V
58649 instance-of v7, p1, Lcom/android/server/am/ServiceRecord;
58651 if-nez v7, :cond_21
58653 new-instance v7, Ljava/lang/IllegalArgumentException;
58655 const-string v8, "Invalid service token"
58657 invoke-direct {v7, v8}, Ljava/lang/IllegalArgumentException;-><init>(Ljava/lang/String;)V
58666 .catchall {:try_start_12 .. :try_end_20} :catchall_1e
58674 check-cast v0, Lcom/android/server/am/ServiceRecord;
58678 invoke-static {}, Landroid/os/Binder;->clearCallingIdentity()J
58680 move-result-wide v4
58682 if-eqz v6, :cond_54
58684 new-instance v2, Landroid/content/Intent$FilterComparison;
58686 invoke-direct {v2, p2}, Landroid/content/Intent$FilterComparison;-><init>(Landroid/content/Intent;)V
58688 iget-object v7, v6, Lcom/android/server/am/ServiceRecord;->bindings:Ljava/util/HashMap;
58690 invoke-virtual {v7, v2}, Ljava/util/HashMap;->get(Ljava/lang/Object;)Ljava/lang/Object;
58692 move-result-object v1
58694 check-cast v1, Lcom/android/server/am/IntentBindRecord;
58696 iget-object v7, p0, Lcom/android/server/am/ActivityManagerService;->mStoppingServices:Ljava/util/ArrayList;
58698 invoke-virtual {v7, v6}, Ljava/util/ArrayList;->contains(Ljava/lang/Object;)Z
58702 if-eqz v1, :cond_4e
58704 iget-object v7, v1, Lcom/android/server/am/IntentBindRecord;->apps:Ljava/util/HashMap;
58706 invoke-virtual {v7}, Ljava/util/HashMap;->size()I
58710 if-lez v7, :cond_56
58712 if-nez v3, :cond_56
58716 invoke-direct {p0, v6, v1, v7}, Lcom/android/server/am/ActivityManagerService;->requestServiceBindingLocked(Lcom/android/server/am/ServiceRecord;Lcom/android/server/am/IntentBindRecord;Z)Z
58720 invoke-virtual {p0, v6, v3}, Lcom/android/server/am/ActivityManagerService;->serviceDoneExecutingLocked(Lcom/android/server/am/ServiceRecord;Z)V
58722 invoke-static {v4, v5}, Landroid/os/Binder;->restoreCallingIdentity(J)V
58732 iput-boolean v7, v1, Lcom/android/server/am/IntentBindRecord;->doRebind:Z
58734 .catchall {:try_start_21 .. :try_end_59} :catchall_1e
58739 .method public unbindService(Landroid/app/IServiceConnection;)Z
58747 invoke-interface {p1}, Landroid/app/IServiceConnection;->asBinder()Landroid/os/IBinder;
58749 move-result-object v0
58751 iget-object v6, p0, Lcom/android/server/am/ActivityManagerService;->mServiceConnections:Ljava/util/HashMap;
58753 invoke-virtual {v6, v0}, Ljava/util/HashMap;->get(Ljava/lang/Object;)Ljava/lang/Object;
58755 move-result-object v1
58757 check-cast v1, Ljava/util/ArrayList;
58759 if-nez v1, :cond_2e
58761 const-string v6, "ActivityManager"
58763 new-instance v7, Ljava/lang/StringBuilder;
58765 invoke-direct {v7}, Ljava/lang/StringBuilder;-><init>()V
58767 const-string v8, "Unbind failed: could not find connection for "
58769 invoke-virtual {v7, v8}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
58771 move-result-object v7
58773 invoke-interface {p1}, Landroid/app/IServiceConnection;->asBinder()Landroid/os/IBinder;
58775 move-result-object v8
58777 invoke-virtual {v7, v8}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
58779 move-result-object v7
58781 invoke-virtual {v7}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
58783 move-result-object v7
58785 invoke-static {v6, v7}, Landroid/util/Slog;->w(Ljava/lang/String;Ljava/lang/String;)I
58793 invoke-static {}, Landroid/os/Binder;->clearCallingIdentity()J
58795 move-result-wide v2
58799 invoke-virtual {v1}, Ljava/util/ArrayList;->size()I
58803 if-lez v5, :cond_59
58807 invoke-virtual {v1, v5}, Ljava/util/ArrayList;->get(I)Ljava/lang/Object;
58809 move-result-object v4
58811 check-cast v4, Lcom/android/server/am/ConnectionRecord;
58817 invoke-virtual {p0, v4, v5, v6}, Lcom/android/server/am/ActivityManagerService;->removeConnectionLocked(Lcom/android/server/am/ConnectionRecord;Lcom/android/server/am/ProcessRecord;Lcom/android/server/am/ActivityRecord;)V
58819 iget-object v5, v4, Lcom/android/server/am/ConnectionRecord;->binding:Lcom/android/server/am/AppBindRecord;
58821 iget-object v5, v5, Lcom/android/server/am/AppBindRecord;->service:Lcom/android/server/am/ServiceRecord;
58823 iget-object v5, v5, Lcom/android/server/am/ServiceRecord;->app:Lcom/android/server/am/ProcessRecord;
58825 if-eqz v5, :cond_32
58827 iget-object v5, v4, Lcom/android/server/am/ConnectionRecord;->binding:Lcom/android/server/am/AppBindRecord;
58829 iget-object v5, v5, Lcom/android/server/am/AppBindRecord;->service:Lcom/android/server/am/ServiceRecord;
58831 iget-object v5, v5, Lcom/android/server/am/ServiceRecord;->app:Lcom/android/server/am/ProcessRecord;
58833 invoke-direct {p0, v5}, Lcom/android/server/am/ActivityManagerService;->updateOomAdjLocked(Lcom/android/server/am/ProcessRecord;)Z
58842 .catchall {:try_start_2 .. :try_end_58} :catchall_56
58848 invoke-static {v2, v3}, Landroid/os/Binder;->restoreCallingIdentity(J)V
58852 .catchall {:try_start_59 .. :try_end_5d} :catchall_56
58859 .method public final unbroadcastIntent(Landroid/app/IApplicationThread;Landroid/content/Intent;I)V
58862 if-eqz p2, :cond_11
58864 invoke-virtual {p2}, Landroid/content/Intent;->hasFileDescriptors()Z
58870 if-ne v4, v5, :cond_11
58872 new-instance v4, Ljava/lang/IllegalArgumentException;
58874 const-string v5, "File descriptors passed in Intent"
58876 invoke-direct {v4, v5}, Ljava/lang/IllegalArgumentException;-><init>(Ljava/lang/String;)V
58884 const-string v4, "android.permission.BROADCAST_STICKY"
58886 invoke-virtual {p0, v4}, Lcom/android/server/am/ActivityManagerService;->checkCallingPermission(Ljava/lang/String;)I
58890 if-eqz v4, :cond_59
58892 new-instance v4, Ljava/lang/StringBuilder;
58894 invoke-direct {v4}, Ljava/lang/StringBuilder;-><init>()V
58896 const-string v5, "Permission Denial: unbroadcastIntent() from pid="
58898 invoke-virtual {v4, v5}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
58900 move-result-object v4
58902 invoke-static {}, Landroid/os/Binder;->getCallingPid()I
58906 invoke-virtual {v4, v5}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
58908 move-result-object v4
58910 const-string v5, ", uid="
58912 invoke-virtual {v4, v5}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
58914 move-result-object v4
58916 invoke-static {}, Landroid/os/Binder;->getCallingUid()I
58920 invoke-virtual {v4, v5}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
58922 move-result-object v4
58924 const-string v5, " requires "
58926 invoke-virtual {v4, v5}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
58928 move-result-object v4
58930 const-string v5, "android.permission.BROADCAST_STICKY"
58932 invoke-virtual {v4, v5}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
58934 move-result-object v4
58936 invoke-virtual {v4}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
58938 move-result-object v3
58940 const-string v4, "ActivityManager"
58942 invoke-static {v4, v3}, Landroid/util/Slog;->w(Ljava/lang/String;Ljava/lang/String;)I
58944 new-instance v4, Ljava/lang/SecurityException;
58946 invoke-direct {v4, v3}, Ljava/lang/SecurityException;-><init>(Ljava/lang/String;)V
58955 .catchall {:try_start_12 .. :try_end_58} :catchall_56
58961 iget-object v4, p0, Lcom/android/server/am/ActivityManagerService;->mStickyBroadcasts:Ljava/util/HashMap;
58963 invoke-virtual {p2}, Landroid/content/Intent;->getAction()Ljava/lang/String;
58965 move-result-object v5
58967 invoke-virtual {v4, v5}, Ljava/util/HashMap;->get(Ljava/lang/Object;)Ljava/lang/Object;
58969 move-result-object v2
58971 check-cast v2, Ljava/util/ArrayList;
58973 if-eqz v2, :cond_7d
58975 invoke-virtual {v2}, Ljava/util/ArrayList;->size()I
58982 if-ge v1, v0, :cond_7d
58984 invoke-virtual {v2, v1}, Ljava/util/ArrayList;->get(I)Ljava/lang/Object;
58986 move-result-object v4
58988 check-cast v4, Landroid/content/Intent;
58990 invoke-virtual {p2, v4}, Landroid/content/Intent;->filterEquals(Landroid/content/Intent;)Z
58994 if-eqz v4, :cond_7f
58996 invoke-virtual {v2, v1}, Ljava/util/ArrayList;->remove(I)Ljava/lang/Object;
59001 .catchall {:try_start_59 .. :try_end_7e} :catchall_56
59006 add-int/lit8 v1, v1, 0x1
59011 .method public unhandledBack()V
59014 const-string v0, "android.permission.FORCE_BACK"
59016 const-string v1, "unhandledBack()"
59018 invoke-virtual {p0, v0, v1}, Lcom/android/server/am/ActivityManagerService;->enforceCallingPermission(Ljava/lang/String;Ljava/lang/String;)V
59023 iget-object v0, p0, Lcom/android/server/am/ActivityManagerService;->mMainStack:Lcom/android/server/am/ActivityStack;
59025 iget-object v0, v0, Lcom/android/server/am/ActivityStack;->mHistory:Ljava/util/ArrayList;
59027 invoke-virtual {v0}, Ljava/util/ArrayList;->size()I
59033 if-le v6, v0, :cond_31
59035 invoke-static {}, Landroid/os/Binder;->clearCallingIdentity()J
59037 move-result-wide v7
59039 iget-object v0, p0, Lcom/android/server/am/ActivityManagerService;->mMainStack:Lcom/android/server/am/ActivityStack;
59041 iget-object v1, p0, Lcom/android/server/am/ActivityManagerService;->mMainStack:Lcom/android/server/am/ActivityStack;
59043 iget-object v1, v1, Lcom/android/server/am/ActivityStack;->mHistory:Ljava/util/ArrayList;
59045 add-int/lit8 v2, v6, -0x1
59047 invoke-virtual {v1, v2}, Ljava/util/ArrayList;->get(I)Ljava/lang/Object;
59049 move-result-object v1
59051 check-cast v1, Lcom/android/server/am/ActivityRecord;
59053 add-int/lit8 v2, v6, -0x1
59059 const-string v5, "unhandled-back"
59061 invoke-virtual/range {v0 .. v5}, Lcom/android/server/am/ActivityStack;->finishActivityLocked(Lcom/android/server/am/ActivityRecord;IILandroid/content/Intent;Ljava/lang/String;)Z
59063 invoke-static {v7, v8}, Landroid/os/Binder;->restoreCallingIdentity(J)V
59075 .catchall {:try_start_8 .. :try_end_35} :catchall_33
59080 .method public unregisterProcessObserver(Landroid/app/IProcessObserver;)V
59086 iget-object v0, p0, Lcom/android/server/am/ActivityManagerService;->mProcessObservers:Landroid/os/RemoteCallbackList;
59088 invoke-virtual {v0, p1}, Landroid/os/RemoteCallbackList;->unregister(Landroid/os/IInterface;)Z
59099 .catchall {:try_start_1 .. :try_end_a} :catchall_8
59104 .method public unregisterReceiver(Landroid/content/IIntentReceiver;)V
59107 invoke-static {}, Landroid/os/Binder;->clearCallingIdentity()J
59109 move-result-wide v9
59116 .catchall {:try_start_5 .. :try_end_6} :catchall_61
59119 iget-object v0, p0, Lcom/android/server/am/ActivityManagerService;->mRegisteredReceivers:Ljava/util/HashMap;
59121 invoke-interface {p1}, Landroid/content/IIntentReceiver;->asBinder()Landroid/os/IBinder;
59123 move-result-object v1
59125 invoke-virtual {v0, v1}, Ljava/util/HashMap;->get(Ljava/lang/Object;)Ljava/lang/Object;
59127 move-result-object v12
59129 check-cast v12, Lcom/android/server/am/ReceiverList;
59131 if-eqz v12, :cond_54
59133 iget-object v0, v12, Lcom/android/server/am/ReceiverList;->curBroadcast:Lcom/android/server/am/BroadcastRecord;
59135 if-eqz v0, :cond_35
59137 iget-object v11, v12, Lcom/android/server/am/ReceiverList;->curBroadcast:Lcom/android/server/am/BroadcastRecord;
59139 invoke-interface {p1}, Landroid/content/IIntentReceiver;->asBinder()Landroid/os/IBinder;
59141 move-result-object v1
59143 iget v2, v11, Lcom/android/server/am/BroadcastRecord;->resultCode:I
59145 iget-object v3, v11, Lcom/android/server/am/BroadcastRecord;->resultData:Ljava/lang/String;
59147 iget-object v4, v11, Lcom/android/server/am/BroadcastRecord;->resultExtras:Landroid/os/Bundle;
59149 iget-boolean v5, v11, Lcom/android/server/am/BroadcastRecord;->resultAbort:Z
59155 invoke-direct/range {v0 .. v6}, Lcom/android/server/am/ActivityManagerService;->finishReceiverLocked(Landroid/os/IBinder;ILjava/lang/String;Landroid/os/Bundle;ZZ)Z
59159 if-eqz v7, :cond_35
59163 iget-object v0, v11, Lcom/android/server/am/BroadcastRecord;->queue:Lcom/android/server/am/BroadcastQueue;
59167 invoke-virtual {v0, v1}, Lcom/android/server/am/BroadcastQueue;->processNextBroadcast(Z)V
59170 iget-object v0, v12, Lcom/android/server/am/ReceiverList;->app:Lcom/android/server/am/ProcessRecord;
59172 if-eqz v0, :cond_40
59174 iget-object v0, v12, Lcom/android/server/am/ReceiverList;->app:Lcom/android/server/am/ProcessRecord;
59176 iget-object v0, v0, Lcom/android/server/am/ProcessRecord;->receivers:Ljava/util/HashSet;
59178 invoke-virtual {v0, v12}, Ljava/util/HashSet;->remove(Ljava/lang/Object;)Z
59181 invoke-virtual {p0, v12}, Lcom/android/server/am/ActivityManagerService;->removeReceiverLocked(Lcom/android/server/am/ReceiverList;)V
59183 iget-boolean v0, v12, Lcom/android/server/am/ReceiverList;->linkedToDeath:Z
59185 if-eqz v0, :cond_54
59189 iput-boolean v0, v12, Lcom/android/server/am/ReceiverList;->linkedToDeath:Z
59191 iget-object v0, v12, Lcom/android/server/am/ReceiverList;->receiver:Landroid/content/IIntentReceiver;
59193 invoke-interface {v0}, Landroid/content/IIntentReceiver;->asBinder()Landroid/os/IBinder;
59195 move-result-object v0
59199 invoke-interface {v0, v12, v1}, Landroid/os/IBinder;->unlinkToDeath(Landroid/os/IBinder$DeathRecipient;I)Z
59204 .catchall {:try_start_6 .. :try_end_55} :catchall_5e
59206 if-eqz v8, :cond_5a
59209 invoke-virtual {p0}, Lcom/android/server/am/ActivityManagerService;->trimApplications()V
59211 .catchall {:try_start_57 .. :try_end_5a} :catchall_61
59214 invoke-static {v9, v10}, Landroid/os/Binder;->restoreCallingIdentity(J)V
59224 .catchall {:try_start_5f .. :try_end_60} :catchall_5e
59229 .catchall {:try_start_60 .. :try_end_61} :catchall_61
59234 invoke-static {v9, v10}, Landroid/os/Binder;->restoreCallingIdentity(J)V
59239 .method public unstableProviderDied(Landroid/os/IBinder;)V
59245 check-cast v0, Lcom/android/server/am/ContentProviderConnection;
59249 .catch Ljava/lang/ClassCastException; {:try_start_0 .. :try_end_4} :catch_e
59251 if-nez v1, :cond_33
59253 new-instance v8, Ljava/lang/NullPointerException;
59255 const-string v9, "connection is null"
59257 invoke-direct {v8, v9}, Ljava/lang/NullPointerException;-><init>(Ljava/lang/String;)V
59264 new-instance v8, Ljava/lang/StringBuilder;
59266 invoke-direct {v8}, Ljava/lang/StringBuilder;-><init>()V
59268 const-string v9, "refContentProvider: "
59270 invoke-virtual {v8, v9}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
59272 move-result-object v8
59274 invoke-virtual {v8, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
59276 move-result-object v8
59278 const-string v9, " not a ContentProviderConnection"
59280 invoke-virtual {v8, v9}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
59282 move-result-object v8
59284 invoke-virtual {v8}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
59286 move-result-object v5
59288 const-string v8, "ActivityManager"
59290 invoke-static {v8, v5}, Landroid/util/Slog;->w(Ljava/lang/String;Ljava/lang/String;)I
59292 new-instance v8, Ljava/lang/IllegalArgumentException;
59294 invoke-direct {v8, v5}, Ljava/lang/IllegalArgumentException;-><init>(Ljava/lang/String;)V
59302 iget-object v8, v1, Lcom/android/server/am/ContentProviderConnection;->provider:Lcom/android/server/am/ContentProviderRecord;
59304 iget-object v7, v8, Lcom/android/server/am/ContentProviderRecord;->provider:Landroid/content/IContentProvider;
59308 if-nez v7, :cond_3f
59318 .catchall {:try_start_34 .. :try_end_3e} :catchall_3c
59323 invoke-interface {v7}, Landroid/content/IContentProvider;->asBinder()Landroid/os/IBinder;
59325 move-result-object v8
59327 invoke-interface {v8}, Landroid/os/IBinder;->pingBinder()Z
59331 if-eqz v8, :cond_7b
59336 const-string v8, "ActivityManager"
59338 new-instance v9, Ljava/lang/StringBuilder;
59340 invoke-direct {v9}, Ljava/lang/StringBuilder;-><init>()V
59342 const-string v10, "unstableProviderDied: caller "
59344 invoke-virtual {v9, v10}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
59346 move-result-object v9
59348 invoke-static {}, Landroid/os/Binder;->getCallingUid()I
59352 invoke-virtual {v9, v10}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
59354 move-result-object v9
59356 const-string v10, " says "
59358 invoke-virtual {v9, v10}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
59360 move-result-object v9
59362 invoke-virtual {v9, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
59364 move-result-object v9
59366 const-string v10, " died, but we don\'t agree"
59368 invoke-virtual {v9, v10}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
59370 move-result-object v9
59372 invoke-virtual {v9}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
59374 move-result-object v9
59376 invoke-static {v8, v9}, Landroid/util/Slog;->w(Ljava/lang/String;Ljava/lang/String;)I
59387 .catchall {:try_start_4a .. :try_end_7a} :catchall_78
59395 iget-object v8, v1, Lcom/android/server/am/ContentProviderConnection;->provider:Lcom/android/server/am/ContentProviderRecord;
59397 iget-object v8, v8, Lcom/android/server/am/ContentProviderRecord;->provider:Landroid/content/IContentProvider;
59399 if-eq v8, v7, :cond_87
59410 .catchall {:try_start_7c .. :try_end_86} :catchall_84
59416 iget-object v8, v1, Lcom/android/server/am/ContentProviderConnection;->provider:Lcom/android/server/am/ContentProviderRecord;
59418 iget-object v6, v8, Lcom/android/server/am/ContentProviderRecord;->proc:Lcom/android/server/am/ProcessRecord;
59420 if-eqz v6, :cond_91
59422 iget-object v8, v6, Lcom/android/server/am/ProcessRecord;->thread:Landroid/app/IApplicationThread;
59424 if-nez v8, :cond_93
59432 const-string v8, "ActivityManager"
59434 new-instance v9, Ljava/lang/StringBuilder;
59436 invoke-direct {v9}, Ljava/lang/StringBuilder;-><init>()V
59438 const-string v10, "Process "
59440 invoke-virtual {v9, v10}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
59442 move-result-object v9
59444 iget-object v10, v6, Lcom/android/server/am/ProcessRecord;->processName:Ljava/lang/String;
59446 invoke-virtual {v9, v10}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
59448 move-result-object v9
59450 const-string v10, " (pid "
59452 invoke-virtual {v9, v10}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
59454 move-result-object v9
59456 iget v10, v6, Lcom/android/server/am/ProcessRecord;->pid:I
59458 invoke-virtual {v9, v10}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
59460 move-result-object v9
59462 const-string v10, ") early provider death"
59464 invoke-virtual {v9, v10}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
59466 move-result-object v9
59468 invoke-virtual {v9}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
59470 move-result-object v9
59472 invoke-static {v8, v9}, Landroid/util/Slog;->i(Ljava/lang/String;Ljava/lang/String;)I
59474 invoke-static {}, Landroid/os/Binder;->clearCallingIdentity()J
59476 .catchall {:try_start_87 .. :try_end_c2} :catchall_84
59478 move-result-wide v3
59481 iget v8, v6, Lcom/android/server/am/ProcessRecord;->pid:I
59483 iget-object v9, v6, Lcom/android/server/am/ProcessRecord;->thread:Landroid/app/IApplicationThread;
59485 invoke-virtual {p0, v6, v8, v9}, Lcom/android/server/am/ActivityManagerService;->appDiedLocked(Lcom/android/server/am/ProcessRecord;ILandroid/app/IApplicationThread;)V
59487 .catchall {:try_start_c3 .. :try_end_ca} :catchall_d0
59490 invoke-static {v3, v4}, Landroid/os/Binder;->restoreCallingIdentity(J)V
59499 invoke-static {v3, v4}, Landroid/os/Binder;->restoreCallingIdentity(J)V
59503 .catchall {:try_start_ca .. :try_end_d5} :catchall_84
59506 .method public updateConfiguration(Landroid/content/res/Configuration;)V
59509 const-string v2, "android.permission.CHANGE_CONFIGURATION"
59511 const-string v3, "updateConfiguration()"
59513 invoke-virtual {p0, v2, v3}, Lcom/android/server/am/ActivityManagerService;->enforceCallingPermission(Ljava/lang/String;Ljava/lang/String;)V
59517 if-nez p1, :cond_14
59520 iget-object v2, p0, Lcom/android/server/am/ActivityManagerService;->mWindowManager:Lcom/android/server/wm/WindowManagerService;
59522 if-eqz v2, :cond_14
59524 iget-object v2, p0, Lcom/android/server/am/ActivityManagerService;->mWindowManager:Lcom/android/server/wm/WindowManagerService;
59526 invoke-virtual {v2}, Lcom/android/server/wm/WindowManagerService;->computeNewConfiguration()Landroid/content/res/Configuration;
59528 move-result-object p1
59531 iget-object v2, p0, Lcom/android/server/am/ActivityManagerService;->mWindowManager:Lcom/android/server/wm/WindowManagerService;
59533 if-eqz v2, :cond_1f
59535 iget-object v2, p0, Lcom/android/server/am/ActivityManagerService;->mProcessList:Lcom/android/server/am/ProcessList;
59537 iget-object v3, p0, Lcom/android/server/am/ActivityManagerService;->mWindowManager:Lcom/android/server/wm/WindowManagerService;
59539 invoke-virtual {v2, v3}, Lcom/android/server/am/ProcessList;->applyDisplaySize(Lcom/android/server/wm/WindowManagerService;)V
59542 invoke-static {}, Landroid/os/Binder;->clearCallingIdentity()J
59544 move-result-wide v0
59546 if-eqz p1, :cond_28
59548 invoke-static {p1}, Landroid/provider/Settings$System;->clearConfiguration(Landroid/content/res/Configuration;)V
59557 invoke-virtual {p0, p1, v2, v3, v4}, Lcom/android/server/am/ActivityManagerService;->updateConfigurationLocked(Landroid/content/res/Configuration;Lcom/android/server/am/ActivityRecord;ZZ)Z
59559 invoke-static {v0, v1}, Landroid/os/Binder;->restoreCallingIdentity(J)V
59570 .catchall {:try_start_a .. :try_end_35} :catchall_33
59575 .method updateConfigurationLocked(Landroid/content/res/Configuration;Lcom/android/server/am/ActivityRecord;ZZ)Z
59578 move-object/from16 v0, p0
59580 iget-boolean v2, v0, Lcom/android/server/am/ActivityManagerService;->mHeadless:Z
59595 if-eqz p1, :cond_16d
59597 new-instance v28, Landroid/content/res/Configuration;
59599 move-object/from16 v0, p0
59601 iget-object v2, v0, Lcom/android/server/am/ActivityManagerService;->mConfiguration:Landroid/content/res/Configuration;
59603 move-object/from16 v0, v28
59605 invoke-direct {v0, v2}, Landroid/content/res/Configuration;-><init>(Landroid/content/res/Configuration;)V
59607 move-object/from16 v0, v28
59609 move-object/from16 v1, p1
59611 invoke-virtual {v0, v1}, Landroid/content/res/Configuration;->updateFrom(Landroid/content/res/Configuration;)I
59615 if-eqz v23, :cond_16d
59619 move/from16 v0, v23
59621 invoke-static {v2, v0}, Landroid/util/EventLog;->writeEvent(II)I
59623 move-object/from16 v0, p1
59625 iget-object v2, v0, Landroid/content/res/Configuration;->locale:Ljava/util/Locale;
59627 if-eqz v2, :cond_51
59629 if-nez p4, :cond_51
59631 move-object/from16 v0, p1
59633 iget-object v3, v0, Landroid/content/res/Configuration;->locale:Ljava/util/Locale;
59635 move-object/from16 v0, p1
59637 iget-object v2, v0, Landroid/content/res/Configuration;->locale:Ljava/util/Locale;
59639 move-object/from16 v0, p0
59641 iget-object v4, v0, Lcom/android/server/am/ActivityManagerService;->mConfiguration:Landroid/content/res/Configuration;
59643 iget-object v4, v4, Landroid/content/res/Configuration;->locale:Ljava/util/Locale;
59645 invoke-virtual {v2, v4}, Ljava/util/Locale;->equals(Ljava/lang/Object;)Z
59649 if-nez v2, :cond_124
59654 move-object/from16 v0, p1
59656 iget-boolean v4, v0, Landroid/content/res/Configuration;->userSetLocale:Z
59658 move-object/from16 v0, p0
59660 invoke-direct {v0, v3, v2, v4}, Lcom/android/server/am/ActivityManagerService;->saveLocaleLocked(Ljava/util/Locale;ZZ)V
59663 move-object/from16 v0, p1
59665 iget-object v2, v0, Landroid/content/res/Configuration;->customTheme:Landroid/content/res/CustomTheme;
59667 if-eqz v2, :cond_71
59669 move-object/from16 v0, p1
59671 iget-object v3, v0, Landroid/content/res/Configuration;->customTheme:Landroid/content/res/CustomTheme;
59673 move-object/from16 v0, p1
59675 iget-object v2, v0, Landroid/content/res/Configuration;->customTheme:Landroid/content/res/CustomTheme;
59677 move-object/from16 v0, p0
59679 iget-object v4, v0, Lcom/android/server/am/ActivityManagerService;->mConfiguration:Landroid/content/res/Configuration;
59681 iget-object v4, v4, Landroid/content/res/Configuration;->customTheme:Landroid/content/res/CustomTheme;
59683 invoke-virtual {v2, v4}, Landroid/content/res/CustomTheme;->equals(Ljava/lang/Object;)Z
59687 if-nez v2, :cond_127
59692 move-object/from16 v0, p0
59694 invoke-direct {v0, v3, v2}, Lcom/android/server/am/ActivityManagerService;->saveThemeResourceLocked(Landroid/content/res/CustomTheme;Z)V
59697 move-object/from16 v0, p0
59699 iget v2, v0, Lcom/android/server/am/ActivityManagerService;->mConfigurationSeq:I
59701 add-int/lit8 v2, v2, 0x1
59703 move-object/from16 v0, p0
59705 iput v2, v0, Lcom/android/server/am/ActivityManagerService;->mConfigurationSeq:I
59707 move-object/from16 v0, p0
59709 iget v2, v0, Lcom/android/server/am/ActivityManagerService;->mConfigurationSeq:I
59711 if-gtz v2, :cond_86
59715 move-object/from16 v0, p0
59717 iput v2, v0, Lcom/android/server/am/ActivityManagerService;->mConfigurationSeq:I
59720 move-object/from16 v0, p0
59722 iget v2, v0, Lcom/android/server/am/ActivityManagerService;->mConfigurationSeq:I
59724 move-object/from16 v0, v28
59726 iput v2, v0, Landroid/content/res/Configuration;->seq:I
59728 move-object/from16 v0, v28
59730 move-object/from16 v1, p0
59732 iput-object v0, v1, Lcom/android/server/am/ActivityManagerService;->mConfiguration:Landroid/content/res/Configuration;
59734 const-string v2, "ActivityManager"
59736 new-instance v3, Ljava/lang/StringBuilder;
59738 invoke-direct {v3}, Ljava/lang/StringBuilder;-><init>()V
59740 const-string v4, "Config changed: "
59742 invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
59744 move-result-object v3
59746 move-object/from16 v0, v28
59748 invoke-virtual {v3, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
59750 move-result-object v3
59752 invoke-virtual {v3}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
59754 move-result-object v3
59756 invoke-static {v2, v3}, Landroid/util/Slog;->i(Ljava/lang/String;Ljava/lang/String;)I
59758 new-instance v24, Landroid/content/res/Configuration;
59760 move-object/from16 v0, p0
59762 iget-object v2, v0, Lcom/android/server/am/ActivityManagerService;->mConfiguration:Landroid/content/res/Configuration;
59764 move-object/from16 v0, v24
59766 invoke-direct {v0, v2}, Landroid/content/res/Configuration;-><init>(Landroid/content/res/Configuration;)V
59768 invoke-static/range {v28 .. v28}, Lcom/android/server/am/ActivityManagerService;->shouldShowDialogs(Landroid/content/res/Configuration;)Z
59772 move-object/from16 v0, p0
59774 iput-boolean v2, v0, Lcom/android/server/am/ActivityManagerService;->mShowDialogs:Z
59776 invoke-static {}, Lcom/android/server/AttributeCache;->instance()Lcom/android/server/AttributeCache;
59778 move-result-object v21
59780 if-eqz v21, :cond_ce
59782 move-object/from16 v0, v21
59784 move-object/from16 v1, v24
59786 invoke-virtual {v0, v1}, Lcom/android/server/AttributeCache;->updateConfiguration(Landroid/content/res/Configuration;)V
59789 sget-object v2, Lcom/android/server/am/ActivityManagerService;->mSystemThread:Landroid/app/ActivityThread;
59791 move-object/from16 v0, v24
59793 invoke-virtual {v2, v0}, Landroid/app/ActivityThread;->applyConfigurationToResources(Landroid/content/res/Configuration;)V
59795 if-eqz p3, :cond_fa
59797 invoke-static/range {v23 .. v23}, Landroid/provider/Settings$System;->hasInterestingConfigurationChanges(I)Z
59801 if-eqz v2, :cond_fa
59803 move-object/from16 v0, p0
59805 iget-object v2, v0, Lcom/android/server/am/ActivityManagerService;->mHandler:Landroid/os/Handler;
59809 invoke-virtual {v2, v3}, Landroid/os/Handler;->obtainMessage(I)Landroid/os/Message;
59811 move-result-object v27
59813 new-instance v2, Landroid/content/res/Configuration;
59815 move-object/from16 v0, v24
59817 invoke-direct {v2, v0}, Landroid/content/res/Configuration;-><init>(Landroid/content/res/Configuration;)V
59819 move-object/from16 v0, v27
59821 iput-object v2, v0, Landroid/os/Message;->obj:Ljava/lang/Object;
59823 move-object/from16 v0, p0
59825 iget-object v2, v0, Lcom/android/server/am/ActivityManagerService;->mHandler:Landroid/os/Handler;
59827 move-object/from16 v0, v27
59829 invoke-virtual {v2, v0}, Landroid/os/Handler;->sendMessage(Landroid/os/Message;)Z
59832 move-object/from16 v0, p0
59834 iget-object v2, v0, Lcom/android/server/am/ActivityManagerService;->mLruProcesses:Ljava/util/ArrayList;
59836 invoke-virtual {v2}, Ljava/util/ArrayList;->size()I
59840 add-int/lit8 v25, v2, -0x1
59843 if-ltz v25, :cond_12a
59845 move-object/from16 v0, p0
59847 iget-object v2, v0, Lcom/android/server/am/ActivityManagerService;->mLruProcesses:Ljava/util/ArrayList;
59849 move/from16 v0, v25
59851 invoke-virtual {v2, v0}, Ljava/util/ArrayList;->get(I)Ljava/lang/Object;
59853 move-result-object v22
59855 check-cast v22, Lcom/android/server/am/ProcessRecord;
59858 move-object/from16 v0, v22
59860 iget-object v2, v0, Lcom/android/server/am/ProcessRecord;->thread:Landroid/app/IApplicationThread;
59862 if-eqz v2, :cond_121
59864 move-object/from16 v0, v22
59866 iget-object v2, v0, Lcom/android/server/am/ProcessRecord;->thread:Landroid/app/IApplicationThread;
59868 move-object/from16 v0, v24
59870 invoke-interface {v2, v0}, Landroid/app/IApplicationThread;->scheduleConfigurationChanged(Landroid/content/res/Configuration;)V
59872 .catch Ljava/lang/Exception; {:try_start_112 .. :try_end_121} :catch_1a8
59876 add-int/lit8 v25, v25, -0x1
59891 new-instance v5, Landroid/content/Intent;
59893 const-string v2, "android.intent.action.CONFIGURATION_CHANGED"
59895 invoke-direct {v5, v2}, Landroid/content/Intent;-><init>(Ljava/lang/String;)V
59897 const/high16 v2, 0x6000
59899 invoke-virtual {v5, v2}, Landroid/content/Intent;->addFlags(I)Landroid/content/Intent;
59921 sget v14, Lcom/android/server/am/ActivityManagerService;->MY_PID:I
59923 const/16 v15, 0x3e8
59927 move-object/from16 v2, p0
59929 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
59931 and-int/lit8 v2, v23, 0x4
59933 if-eqz v2, :cond_16d
59939 new-instance v9, Landroid/content/Intent;
59941 const-string v2, "android.intent.action.LOCALE_CHANGED"
59943 invoke-direct {v9, v2}, Landroid/content/Intent;-><init>(Ljava/lang/String;)V
59961 sget v18, Lcom/android/server/am/ActivityManagerService;->MY_PID:I
59963 const/16 v19, 0x3e8
59967 move-object/from16 v6, p0
59969 invoke-direct/range {v6 .. v20}, 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
59972 if-eqz v23, :cond_17a
59974 if-nez p2, :cond_17a
59976 move-object/from16 v0, p0
59978 iget-object v2, v0, Lcom/android/server/am/ActivityManagerService;->mMainStack:Lcom/android/server/am/ActivityStack;
59982 invoke-virtual {v2, v3}, Lcom/android/server/am/ActivityStack;->topRunningActivityLocked(Lcom/android/server/am/ActivityRecord;)Lcom/android/server/am/ActivityRecord;
59984 move-result-object p2
59987 if-eqz p2, :cond_193
59989 move-object/from16 v0, p0
59991 iget-object v2, v0, Lcom/android/server/am/ActivityManagerService;->mMainStack:Lcom/android/server/am/ActivityStack;
59993 move-object/from16 v0, p2
59995 move/from16 v1, v23
59997 invoke-virtual {v2, v0, v1}, Lcom/android/server/am/ActivityStack;->ensureActivityConfigurationLocked(Lcom/android/server/am/ActivityRecord;I)Z
60001 move-object/from16 v0, p0
60003 iget-object v2, v0, Lcom/android/server/am/ActivityManagerService;->mMainStack:Lcom/android/server/am/ActivityStack;
60005 move-object/from16 v0, p2
60007 move/from16 v1, v23
60009 invoke-virtual {v2, v0, v1}, Lcom/android/server/am/ActivityStack;->ensureActivitiesVisibleLocked(Lcom/android/server/am/ActivityRecord;I)V
60014 move-object/from16 v0, p0
60016 iget-object v2, v0, Lcom/android/server/am/ActivityManagerService;->mWindowManager:Lcom/android/server/wm/WindowManagerService;
60020 move-object/from16 v0, p0
60022 iget-object v2, v0, Lcom/android/server/am/ActivityManagerService;->mWindowManager:Lcom/android/server/wm/WindowManagerService;
60024 move-object/from16 v0, p0
60026 iget-object v3, v0, Lcom/android/server/am/ActivityManagerService;->mConfiguration:Landroid/content/res/Configuration;
60028 invoke-virtual {v2, v3}, Lcom/android/server/wm/WindowManagerService;->setNewConfiguration(Landroid/content/res/Configuration;)V
60038 .method updateCpuStats()V
60041 invoke-static {}, Landroid/os/SystemClock;->uptimeMillis()J
60043 move-result-wide v0
60045 iget-object v2, p0, Lcom/android/server/am/ActivityManagerService;->mLastCpuTime:Ljava/util/concurrent/atomic/AtomicLong;
60047 invoke-virtual {v2}, Ljava/util/concurrent/atomic/AtomicLong;->get()J
60049 move-result-wide v2
60051 const-wide/16 v4, 0x1388
60053 sub-long v4, v0, v4
60055 cmp-long v2, v2, v4
60057 if-ltz v2, :cond_13
60064 iget-object v2, p0, Lcom/android/server/am/ActivityManagerService;->mProcessStatsMutexFree:Ljava/util/concurrent/atomic/AtomicBoolean;
60070 invoke-virtual {v2, v3, v4}, Ljava/util/concurrent/atomic/AtomicBoolean;->compareAndSet(ZZ)Z
60074 if-eqz v2, :cond_12
60076 iget-object v3, p0, Lcom/android/server/am/ActivityManagerService;->mProcessStatsThread:Ljava/lang/Thread;
60081 iget-object v2, p0, Lcom/android/server/am/ActivityManagerService;->mProcessStatsThread:Ljava/lang/Thread;
60083 invoke-virtual {v2}, Ljava/lang/Object;->notify()V
60094 .catchall {:try_start_20 .. :try_end_29} :catchall_27
60099 .method updateCpuStatsNow()V
60102 move-object/from16 v0, p0
60104 iget-object v0, v0, Lcom/android/server/am/ActivityManagerService;->mProcessStatsThread:Ljava/lang/Thread;
60106 move-object/from16 v26, v0
60111 move-object/from16 v0, p0
60113 iget-object v0, v0, Lcom/android/server/am/ActivityManagerService;->mProcessStatsMutexFree:Ljava/util/concurrent/atomic/AtomicBoolean;
60115 move-object/from16 v25, v0
60119 move-object/from16 v0, v25
60121 move/from16 v1, v27
60123 invoke-virtual {v0, v1}, Ljava/util/concurrent/atomic/AtomicBoolean;->set(Z)V
60125 invoke-static {}, Landroid/os/SystemClock;->uptimeMillis()J
60127 move-result-wide v11
60131 move-object/from16 v0, p0
60133 iget-object v0, v0, Lcom/android/server/am/ActivityManagerService;->mLastCpuTime:Ljava/util/concurrent/atomic/AtomicLong;
60135 move-object/from16 v25, v0
60137 invoke-virtual/range {v25 .. v25}, Ljava/util/concurrent/atomic/AtomicLong;->get()J
60139 move-result-wide v27
60141 const-wide/16 v29, 0x1388
60143 sub-long v29, v11, v29
60145 cmp-long v25, v27, v29
60147 if-gez v25, :cond_ff
60149 move-object/from16 v0, p0
60151 iget-object v0, v0, Lcom/android/server/am/ActivityManagerService;->mLastCpuTime:Ljava/util/concurrent/atomic/AtomicLong;
60153 move-object/from16 v25, v0
60155 move-object/from16 v0, v25
60157 invoke-virtual {v0, v11, v12}, Ljava/util/concurrent/atomic/AtomicLong;->set(J)V
60161 move-object/from16 v0, p0
60163 iget-object v0, v0, Lcom/android/server/am/ActivityManagerService;->mProcessStats:Lcom/android/internal/os/ProcessStats;
60165 move-object/from16 v25, v0
60167 invoke-virtual/range {v25 .. v25}, Lcom/android/internal/os/ProcessStats;->update()V
60169 const-string v25, "true"
60171 const-string v27, "events.cpu"
60173 invoke-static/range {v27 .. v27}, Landroid/os/SystemProperties;->get(Ljava/lang/String;)Ljava/lang/String;
60175 move-result-object v27
60177 move-object/from16 v0, v25
60179 move-object/from16 v1, v27
60181 invoke-virtual {v0, v1}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
60185 if-eqz v25, :cond_ff
60187 move-object/from16 v0, p0
60189 iget-object v0, v0, Lcom/android/server/am/ActivityManagerService;->mProcessStats:Lcom/android/internal/os/ProcessStats;
60191 move-object/from16 v25, v0
60193 invoke-virtual/range {v25 .. v25}, Lcom/android/internal/os/ProcessStats;->getLastUserTime()I
60197 move-object/from16 v0, p0
60199 iget-object v0, v0, Lcom/android/server/am/ActivityManagerService;->mProcessStats:Lcom/android/internal/os/ProcessStats;
60201 move-object/from16 v25, v0
60203 invoke-virtual/range {v25 .. v25}, Lcom/android/internal/os/ProcessStats;->getLastSystemTime()I
60207 move-object/from16 v0, p0
60209 iget-object v0, v0, Lcom/android/server/am/ActivityManagerService;->mProcessStats:Lcom/android/internal/os/ProcessStats;
60211 move-object/from16 v25, v0
60213 invoke-virtual/range {v25 .. v25}, Lcom/android/internal/os/ProcessStats;->getLastIoWaitTime()I
60217 move-object/from16 v0, p0
60219 iget-object v0, v0, Lcom/android/server/am/ActivityManagerService;->mProcessStats:Lcom/android/internal/os/ProcessStats;
60221 move-object/from16 v25, v0
60223 invoke-virtual/range {v25 .. v25}, Lcom/android/internal/os/ProcessStats;->getLastIrqTime()I
60227 move-object/from16 v0, p0
60229 iget-object v0, v0, Lcom/android/server/am/ActivityManagerService;->mProcessStats:Lcom/android/internal/os/ProcessStats;
60231 move-object/from16 v25, v0
60233 invoke-virtual/range {v25 .. v25}, Lcom/android/internal/os/ProcessStats;->getLastSoftIrqTime()I
60237 move-object/from16 v0, p0
60239 iget-object v0, v0, Lcom/android/server/am/ActivityManagerService;->mProcessStats:Lcom/android/internal/os/ProcessStats;
60241 move-object/from16 v25, v0
60243 invoke-virtual/range {v25 .. v25}, Lcom/android/internal/os/ProcessStats;->getLastIdleTime()I
60247 add-int v25, v24, v20
60249 add-int v25, v25, v9
60251 add-int v25, v25, v10
60253 add-int v25, v25, v18
60255 add-int v21, v25, v8
60257 if-nez v21, :cond_9e
60262 const/16 v25, 0xaa1
60266 move/from16 v0, v27
60268 new-array v0, v0, [Ljava/lang/Object;
60270 move-object/from16 v27, v0
60274 add-int v29, v24, v20
60276 add-int v29, v29, v9
60278 add-int v29, v29, v10
60280 add-int v29, v29, v18
60282 mul-int/lit8 v29, v29, 0x64
60284 div-int v29, v29, v21
60286 invoke-static/range {v29 .. v29}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
60288 move-result-object v29
60290 aput-object v29, v27, v28
60294 mul-int/lit8 v29, v24, 0x64
60296 div-int v29, v29, v21
60298 invoke-static/range {v29 .. v29}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
60300 move-result-object v29
60302 aput-object v29, v27, v28
60306 mul-int/lit8 v29, v20, 0x64
60308 div-int v29, v29, v21
60310 invoke-static/range {v29 .. v29}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
60312 move-result-object v29
60314 aput-object v29, v27, v28
60318 mul-int/lit8 v29, v9, 0x64
60320 div-int v29, v29, v21
60322 invoke-static/range {v29 .. v29}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
60324 move-result-object v29
60326 aput-object v29, v27, v28
60330 mul-int/lit8 v29, v10, 0x64
60332 div-int v29, v29, v21
60334 invoke-static/range {v29 .. v29}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
60336 move-result-object v29
60338 aput-object v29, v27, v28
60342 mul-int/lit8 v29, v18, 0x64
60344 div-int v29, v29, v21
60346 invoke-static/range {v29 .. v29}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
60348 move-result-object v29
60350 aput-object v29, v27, v28
60352 move/from16 v0, v25
60354 move-object/from16 v1, v27
60356 invoke-static {v0, v1}, Landroid/util/EventLog;->writeEvent(I[Ljava/lang/Object;)I
60359 move-object/from16 v0, p0
60361 iget-object v0, v0, Lcom/android/server/am/ActivityManagerService;->mProcessStats:Lcom/android/internal/os/ProcessStats;
60363 move-object/from16 v25, v0
60365 invoke-virtual/range {v25 .. v25}, Lcom/android/internal/os/ProcessStats;->getLastCpuSpeedTimes()[J
60367 move-result-object v5
60369 move-object/from16 v0, p0
60371 iget-object v0, v0, Lcom/android/server/am/ActivityManagerService;->mBatteryStatsService:Lcom/android/server/am/BatteryStatsService;
60373 move-object/from16 v25, v0
60375 invoke-virtual/range {v25 .. v25}, Lcom/android/server/am/BatteryStatsService;->getActiveStatistics()Lcom/android/internal/os/BatteryStatsImpl;
60377 move-result-object v4
60381 .catchall {:try_start_7 .. :try_end_114} :catchall_1cf
60384 move-object/from16 v0, p0
60386 iget-object v0, v0, Lcom/android/server/am/ActivityManagerService;->mPidsSelfLocked:Landroid/util/SparseArray;
60388 move-object/from16 v27, v0
60392 .catchall {:try_start_114 .. :try_end_11b} :catchall_1cc
60394 if-eqz v6, :cond_20f
60397 move-object/from16 v0, p0
60399 iget-boolean v0, v0, Lcom/android/server/am/ActivityManagerService;->mOnBattery:Z
60401 move/from16 v25, v0
60403 if-eqz v25, :cond_20f
60405 invoke-virtual {v4}, Lcom/android/internal/os/BatteryStatsImpl;->startAddingCpuLocked()I
60413 move-object/from16 v0, p0
60415 iget-object v0, v0, Lcom/android/server/am/ActivityManagerService;->mProcessStats:Lcom/android/internal/os/ProcessStats;
60417 move-object/from16 v25, v0
60419 invoke-virtual/range {v25 .. v25}, Lcom/android/internal/os/ProcessStats;->countStats()I
60426 if-ge v7, v3, :cond_208
60428 move-object/from16 v0, p0
60430 iget-object v0, v0, Lcom/android/server/am/ActivityManagerService;->mProcessStats:Lcom/android/internal/os/ProcessStats;
60432 move-object/from16 v25, v0
60434 move-object/from16 v0, v25
60436 invoke-virtual {v0, v7}, Lcom/android/internal/os/ProcessStats;->getStats(I)Lcom/android/internal/os/ProcessStats$Stats;
60438 move-result-object v19
60440 move-object/from16 v0, v19
60442 iget-boolean v0, v0, Lcom/android/internal/os/ProcessStats$Stats;->working:Z
60444 move/from16 v25, v0
60446 if-nez v25, :cond_151
60450 add-int/lit8 v7, v7, 0x1
60455 move-object/from16 v0, p0
60457 iget-object v0, v0, Lcom/android/server/am/ActivityManagerService;->mPidsSelfLocked:Landroid/util/SparseArray;
60459 move-object/from16 v25, v0
60461 move-object/from16 v0, v19
60463 iget v0, v0, Lcom/android/internal/os/ProcessStats$Stats;->pid:I
60465 move/from16 v28, v0
60467 move-object/from16 v0, v25
60469 move/from16 v1, v28
60471 invoke-virtual {v0, v1}, Landroid/util/SparseArray;->get(I)Ljava/lang/Object;
60473 move-result-object v16
60475 check-cast v16, Lcom/android/server/am/ProcessRecord;
60477 move-object/from16 v0, v19
60479 iget v0, v0, Lcom/android/internal/os/ProcessStats$Stats;->rel_utime:I
60481 move/from16 v25, v0
60483 mul-int v25, v25, v15
60485 div-int/lit8 v14, v25, 0x64
60487 move-object/from16 v0, v19
60489 iget v0, v0, Lcom/android/internal/os/ProcessStats$Stats;->rel_stime:I
60491 move/from16 v25, v0
60493 mul-int v25, v25, v15
60495 div-int/lit8 v13, v25, 0x64
60497 add-int v23, v23, v14
60499 add-int v22, v22, v13
60501 if-eqz v16, :cond_1d2
60503 move-object/from16 v0, v16
60505 iget-object v0, v0, Lcom/android/server/am/ProcessRecord;->batteryStats:Lcom/android/internal/os/BatteryStatsImpl$Uid$Proc;
60507 move-object/from16 v17, v0
60509 move-object/from16 v0, v19
60511 iget v0, v0, Lcom/android/internal/os/ProcessStats$Stats;->rel_utime:I
60513 move/from16 v25, v0
60515 sub-int v25, v25, v14
60517 move-object/from16 v0, v19
60519 iget v0, v0, Lcom/android/internal/os/ProcessStats$Stats;->rel_stime:I
60521 move/from16 v28, v0
60523 sub-int v28, v28, v13
60525 move-object/from16 v0, v17
60527 move/from16 v1, v25
60529 move/from16 v2, v28
60531 invoke-virtual {v0, v1, v2}, Lcom/android/internal/os/BatteryStatsImpl$Uid$Proc;->addCpuTimeLocked(II)V
60533 move-object/from16 v0, v17
60535 invoke-virtual {v0, v5}, Lcom/android/internal/os/BatteryStatsImpl$Uid$Proc;->addSpeedStepTimes([J)V
60537 move-object/from16 v0, v16
60539 iget-wide v0, v0, Lcom/android/server/am/ProcessRecord;->curCpuTime:J
60541 move-wide/from16 v28, v0
60543 move-object/from16 v0, v19
60545 iget v0, v0, Lcom/android/internal/os/ProcessStats$Stats;->rel_utime:I
60547 move/from16 v25, v0
60549 move-object/from16 v0, v19
60551 iget v0, v0, Lcom/android/internal/os/ProcessStats$Stats;->rel_stime:I
60553 move/from16 v30, v0
60555 add-int v25, v25, v30
60557 mul-int/lit8 v25, v25, 0xa
60559 move/from16 v0, v25
60563 move-wide/from16 v30, v0
60565 add-long v28, v28, v30
60567 move-wide/from16 v0, v28
60569 move-object/from16 v2, v16
60571 iput-wide v0, v2, Lcom/android/server/am/ProcessRecord;->curCpuTime:J
60580 .catchall {:try_start_11d .. :try_end_1cb} :catchall_1c9
60590 .catchall {:try_start_1cb .. :try_end_1ce} :catchall_1cc
60600 .catchall {:try_start_1ce .. :try_end_1d1} :catchall_1cf
60606 move-object/from16 v0, v19
60608 iget-object v0, v0, Lcom/android/internal/os/ProcessStats$Stats;->name:Ljava/lang/String;
60610 move-object/from16 v25, v0
60612 move-object/from16 v0, v19
60614 iget v0, v0, Lcom/android/internal/os/ProcessStats$Stats;->pid:I
60616 move/from16 v28, v0
60618 move-object/from16 v0, v25
60620 move/from16 v1, v28
60622 invoke-virtual {v4, v0, v1}, Lcom/android/internal/os/BatteryStatsImpl;->getProcessStatsLocked(Ljava/lang/String;I)Lcom/android/internal/os/BatteryStatsImpl$Uid$Proc;
60624 move-result-object v17
60626 if-eqz v17, :cond_14e
60628 move-object/from16 v0, v19
60630 iget v0, v0, Lcom/android/internal/os/ProcessStats$Stats;->rel_utime:I
60632 move/from16 v25, v0
60634 sub-int v25, v25, v14
60636 move-object/from16 v0, v19
60638 iget v0, v0, Lcom/android/internal/os/ProcessStats$Stats;->rel_stime:I
60640 move/from16 v28, v0
60642 sub-int v28, v28, v13
60644 move-object/from16 v0, v17
60646 move/from16 v1, v25
60648 move/from16 v2, v28
60650 invoke-virtual {v0, v1, v2}, Lcom/android/internal/os/BatteryStatsImpl$Uid$Proc;->addCpuTimeLocked(II)V
60652 move-object/from16 v0, v17
60654 invoke-virtual {v0, v5}, Lcom/android/internal/os/BatteryStatsImpl$Uid$Proc;->addSpeedStepTimes([J)V
60659 move/from16 v0, v23
60661 move/from16 v1, v22
60663 invoke-virtual {v4, v15, v0, v1, v5}, Lcom/android/internal/os/BatteryStatsImpl;->finishAddingCpuLocked(III[J)V
60668 .catchall {:try_start_1d2 .. :try_end_210} :catchall_1c9
60671 move-object/from16 v0, p0
60673 iget-wide v0, v0, Lcom/android/server/am/ActivityManagerService;->mLastWriteTime:J
60675 move-wide/from16 v27, v0
60677 const-wide/32 v29, 0x1b7740
60679 sub-long v29, v11, v29
60681 cmp-long v25, v27, v29
60683 if-gez v25, :cond_230
60685 move-object/from16 v0, p0
60687 iput-wide v11, v0, Lcom/android/server/am/ActivityManagerService;->mLastWriteTime:J
60689 move-object/from16 v0, p0
60691 iget-object v0, v0, Lcom/android/server/am/ActivityManagerService;->mBatteryStatsService:Lcom/android/server/am/BatteryStatsService;
60693 move-object/from16 v25, v0
60695 invoke-virtual/range {v25 .. v25}, Lcom/android/server/am/BatteryStatsService;->getActiveStatistics()Lcom/android/internal/os/BatteryStatsImpl;
60697 move-result-object v25
60699 invoke-virtual/range {v25 .. v25}, Lcom/android/internal/os/BatteryStatsImpl;->writeAsyncLocked()V
60704 .catchall {:try_start_210 .. :try_end_231} :catchall_1cc
60709 .catchall {:try_start_231 .. :try_end_232} :catchall_1cf
60714 .method final updateLruProcessLocked(Lcom/android/server/am/ProcessRecord;ZZ)V
60717 iget v0, p0, Lcom/android/server/am/ActivityManagerService;->mLruSeq:I
60719 add-int/lit8 v0, v0, 0x1
60721 iput v0, p0, Lcom/android/server/am/ActivityManagerService;->mLruSeq:I
60725 invoke-direct {p0, p1, p2, p3, v0}, Lcom/android/server/am/ActivityManagerService;->updateLruProcessInternalLocked(Lcom/android/server/am/ProcessRecord;ZZI)V
60730 .method final updateOomAdjLocked()V
60733 invoke-direct/range {p0 .. p0}, Lcom/android/server/am/ActivityManagerService;->resumedAppLocked()Lcom/android/server/am/ActivityRecord;
60735 move-result-object v3
60737 if-eqz v3, :cond_1b8
60739 iget-object v4, v3, Lcom/android/server/am/ActivityRecord;->app:Lcom/android/server/am/ProcessRecord;
60742 move-object/from16 v0, p0
60744 iget v0, v0, Lcom/android/server/am/ActivityManagerService;->mAdjSeq:I
60746 move/from16 v17, v0
60748 add-int/lit8 v17, v17, 0x1
60750 move/from16 v0, v17
60752 move-object/from16 v1, p0
60754 iput v0, v1, Lcom/android/server/am/ActivityManagerService;->mAdjSeq:I
60758 move/from16 v0, v17
60760 move-object/from16 v1, p0
60762 iput v0, v1, Lcom/android/server/am/ActivityManagerService;->mNewNumServiceProcs:I
60764 sget v17, Lcom/android/server/am/ProcessList;->HIDDEN_APP_MIN_ADJ:I
60766 rsub-int/lit8 v17, v17, 0xf
60768 add-int/lit8 v14, v17, 0x1
60770 move-object/from16 v0, p0
60772 iget-object v0, v0, Lcom/android/server/am/ActivityManagerService;->mLruProcesses:Ljava/util/ArrayList;
60774 move-object/from16 v17, v0
60776 invoke-virtual/range {v17 .. v17}, Ljava/util/ArrayList;->size()I
60780 add-int/lit8 v17, v17, -0x4
60782 div-int v8, v17, v14
60786 move/from16 v0, v17
60788 if-ge v8, v0, :cond_39
60799 move-object/from16 v0, p0
60801 iget-object v0, v0, Lcom/android/server/am/ActivityManagerService;->mLruProcesses:Ljava/util/ArrayList;
60803 move-object/from16 v17, v0
60805 invoke-virtual/range {v17 .. v17}, Ljava/util/ArrayList;->size()I
60809 sget v6, Lcom/android/server/am/ProcessList;->HIDDEN_APP_MIN_ADJ:I
60813 if-lez v10, :cond_1bb
60815 add-int/lit8 v10, v10, -0x1
60817 move-object/from16 v0, p0
60819 iget-object v0, v0, Lcom/android/server/am/ActivityManagerService;->mLruProcesses:Ljava/util/ArrayList;
60821 move-object/from16 v17, v0
60823 move-object/from16 v0, v17
60825 invoke-virtual {v0, v10}, Ljava/util/ArrayList;->get(I)Ljava/lang/Object;
60827 move-result-object v5
60829 check-cast v5, Lcom/android/server/am/ProcessRecord;
60833 move-object/from16 v0, p0
60835 move/from16 v1, v17
60837 invoke-direct {v0, v5, v6, v4, v1}, Lcom/android/server/am/ActivityManagerService;->updateOomAdjLocked(Lcom/android/server/am/ProcessRecord;ILcom/android/server/am/ProcessRecord;Z)Z
60841 move/from16 v0, v17
60843 if-ge v6, v0, :cond_7c
60845 iget v0, v5, Lcom/android/server/am/ProcessRecord;->curAdj:I
60847 move/from16 v17, v0
60849 move/from16 v0, v17
60851 if-ne v0, v6, :cond_7c
60853 add-int/lit8 v16, v16, 0x1
60855 move/from16 v0, v16
60857 if-lt v0, v8, :cond_7c
60861 add-int/lit8 v6, v6, 0x1
60864 iget-boolean v0, v5, Lcom/android/server/am/ProcessRecord;->killedBackground:Z
60866 move/from16 v17, v0
60868 if-nez v17, :cond_49
60870 iget v0, v5, Lcom/android/server/am/ProcessRecord;->curAdj:I
60872 move/from16 v17, v0
60874 sget v18, Lcom/android/server/am/ProcessList;->HIDDEN_APP_MIN_ADJ:I
60876 move/from16 v0, v17
60878 move/from16 v1, v18
60880 if-lt v0, v1, :cond_110
60882 add-int/lit8 v13, v13, 0x1
60884 move-object/from16 v0, p0
60886 iget v0, v0, Lcom/android/server/am/ActivityManagerService;->mProcessLimit:I
60888 move/from16 v17, v0
60890 move/from16 v0, v17
60892 if-le v13, v0, :cond_110
60894 const-string v17, "ActivityManager"
60896 new-instance v18, Ljava/lang/StringBuilder;
60898 invoke-direct/range {v18 .. v18}, Ljava/lang/StringBuilder;-><init>()V
60900 const-string v19, "No longer want "
60902 invoke-virtual/range {v18 .. v19}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
60904 move-result-object v18
60906 iget-object v0, v5, Lcom/android/server/am/ProcessRecord;->processName:Ljava/lang/String;
60908 move-object/from16 v19, v0
60910 invoke-virtual/range {v18 .. v19}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
60912 move-result-object v18
60914 const-string v19, " (pid "
60916 invoke-virtual/range {v18 .. v19}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
60918 move-result-object v18
60920 iget v0, v5, Lcom/android/server/am/ProcessRecord;->pid:I
60922 move/from16 v19, v0
60924 invoke-virtual/range {v18 .. v19}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
60926 move-result-object v18
60928 const-string v19, "): hidden #"
60930 invoke-virtual/range {v18 .. v19}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
60932 move-result-object v18
60934 move-object/from16 v0, v18
60936 invoke-virtual {v0, v13}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
60938 move-result-object v18
60940 invoke-virtual/range {v18 .. v18}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
60942 move-result-object v18
60944 invoke-static/range {v17 .. v18}, Landroid/util/Slog;->i(Ljava/lang/String;Ljava/lang/String;)I
60946 const/16 v17, 0x7547
60950 move/from16 v0, v18
60952 new-array v0, v0, [Ljava/lang/Object;
60954 move-object/from16 v18, v0
60958 iget v0, v5, Lcom/android/server/am/ProcessRecord;->pid:I
60960 move/from16 v20, v0
60962 invoke-static/range {v20 .. v20}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
60964 move-result-object v20
60966 aput-object v20, v18, v19
60970 iget-object v0, v5, Lcom/android/server/am/ProcessRecord;->processName:Ljava/lang/String;
60972 move-object/from16 v20, v0
60974 aput-object v20, v18, v19
60978 iget v0, v5, Lcom/android/server/am/ProcessRecord;->setAdj:I
60980 move/from16 v20, v0
60982 invoke-static/range {v20 .. v20}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
60984 move-result-object v20
60986 aput-object v20, v18, v19
60990 const-string v20, "too many background"
60992 aput-object v20, v18, v19
60994 invoke-static/range {v17 .. v18}, Landroid/util/EventLog;->writeEvent(I[Ljava/lang/Object;)I
60998 move/from16 v0, v17
61000 iput-boolean v0, v5, Lcom/android/server/am/ProcessRecord;->killedBackground:Z
61002 iget v0, v5, Lcom/android/server/am/ProcessRecord;->pid:I
61004 move/from16 v17, v0
61006 invoke-static/range {v17 .. v17}, Landroid/os/Process;->killProcessQuiet(I)V
61009 iget-boolean v0, v5, Lcom/android/server/am/ProcessRecord;->killedBackground:Z
61011 move/from16 v17, v0
61013 if-nez v17, :cond_196
61015 iget-boolean v0, v5, Lcom/android/server/am/ProcessRecord;->isolated:Z
61017 move/from16 v17, v0
61019 if-eqz v17, :cond_196
61021 iget-object v0, v5, Lcom/android/server/am/ProcessRecord;->services:Ljava/util/HashSet;
61023 move-object/from16 v17, v0
61025 invoke-virtual/range {v17 .. v17}, Ljava/util/HashSet;->size()I
61029 if-gtz v17, :cond_196
61031 const-string v17, "ActivityManager"
61033 new-instance v18, Ljava/lang/StringBuilder;
61035 invoke-direct/range {v18 .. v18}, Ljava/lang/StringBuilder;-><init>()V
61037 const-string v19, "Isolated process "
61039 invoke-virtual/range {v18 .. v19}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
61041 move-result-object v18
61043 iget-object v0, v5, Lcom/android/server/am/ProcessRecord;->processName:Ljava/lang/String;
61045 move-object/from16 v19, v0
61047 invoke-virtual/range {v18 .. v19}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
61049 move-result-object v18
61051 const-string v19, " (pid "
61053 invoke-virtual/range {v18 .. v19}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
61055 move-result-object v18
61057 iget v0, v5, Lcom/android/server/am/ProcessRecord;->pid:I
61059 move/from16 v19, v0
61061 invoke-virtual/range {v18 .. v19}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
61063 move-result-object v18
61065 const-string v19, ") no longer needed"
61067 invoke-virtual/range {v18 .. v19}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
61069 move-result-object v18
61071 invoke-virtual/range {v18 .. v18}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
61073 move-result-object v18
61075 invoke-static/range {v17 .. v18}, Landroid/util/Slog;->i(Ljava/lang/String;Ljava/lang/String;)I
61077 const/16 v17, 0x7547
61081 move/from16 v0, v18
61083 new-array v0, v0, [Ljava/lang/Object;
61085 move-object/from16 v18, v0
61089 iget v0, v5, Lcom/android/server/am/ProcessRecord;->pid:I
61091 move/from16 v20, v0
61093 invoke-static/range {v20 .. v20}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
61095 move-result-object v20
61097 aput-object v20, v18, v19
61101 iget-object v0, v5, Lcom/android/server/am/ProcessRecord;->processName:Ljava/lang/String;
61103 move-object/from16 v20, v0
61105 aput-object v20, v18, v19
61109 iget v0, v5, Lcom/android/server/am/ProcessRecord;->setAdj:I
61111 move/from16 v20, v0
61113 invoke-static/range {v20 .. v20}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
61115 move-result-object v20
61117 aput-object v20, v18, v19
61121 const-string v20, "isolated not needed"
61123 aput-object v20, v18, v19
61125 invoke-static/range {v17 .. v18}, Landroid/util/EventLog;->writeEvent(I[Ljava/lang/Object;)I
61129 move/from16 v0, v17
61131 iput-boolean v0, v5, Lcom/android/server/am/ProcessRecord;->killedBackground:Z
61133 iget v0, v5, Lcom/android/server/am/ProcessRecord;->pid:I
61135 move/from16 v17, v0
61137 invoke-static/range {v17 .. v17}, Landroid/os/Process;->killProcessQuiet(I)V
61140 iget v0, v5, Lcom/android/server/am/ProcessRecord;->nonStoppingAdj:I
61142 move/from16 v17, v0
61146 move/from16 v0, v17
61148 move/from16 v1, v18
61150 if-lt v0, v1, :cond_49
61152 iget v0, v5, Lcom/android/server/am/ProcessRecord;->nonStoppingAdj:I
61154 move/from16 v17, v0
61158 move/from16 v0, v17
61160 move/from16 v1, v18
61162 if-eq v0, v1, :cond_49
61164 iget-boolean v0, v5, Lcom/android/server/am/ProcessRecord;->killedBackground:Z
61166 move/from16 v17, v0
61168 if-nez v17, :cond_49
61170 add-int/lit8 v15, v15, 0x1
61180 move-object/from16 v0, p0
61182 iget v0, v0, Lcom/android/server/am/ActivityManagerService;->mNewNumServiceProcs:I
61184 move/from16 v17, v0
61186 move/from16 v0, v17
61188 move-object/from16 v1, p0
61190 iput v0, v1, Lcom/android/server/am/ActivityManagerService;->mNumServiceProcs:I
61194 move/from16 v0, v17
61196 if-gt v13, v0, :cond_2e8
61198 move-object/from16 v0, p0
61200 iget-object v0, v0, Lcom/android/server/am/ActivityManagerService;->mLruProcesses:Ljava/util/ArrayList;
61202 move-object/from16 v17, v0
61204 invoke-virtual/range {v17 .. v17}, Ljava/util/ArrayList;->size()I
61208 div-int/lit8 v8, v15, 0x3
61212 move-object/from16 v0, p0
61214 iget-object v0, v0, Lcom/android/server/am/ActivityManagerService;->mHomeProcess:Lcom/android/server/am/ProcessRecord;
61216 move-object/from16 v17, v0
61218 if-eqz v17, :cond_1e4
61220 add-int/lit8 v12, v12, 0x1
61223 move-object/from16 v0, p0
61225 iget-object v0, v0, Lcom/android/server/am/ActivityManagerService;->mPreviousProcess:Lcom/android/server/am/ProcessRecord;
61227 move-object/from16 v17, v0
61229 if-eqz v17, :cond_1ee
61231 add-int/lit8 v12, v12, 0x1
61234 if-ge v8, v12, :cond_1f1
61243 move/from16 v0, v17
61245 if-gt v13, v0, :cond_253
61255 if-ge v10, v2, :cond_345
61257 move-object/from16 v0, p0
61259 iget-object v0, v0, Lcom/android/server/am/ActivityManagerService;->mLruProcesses:Ljava/util/ArrayList;
61261 move-object/from16 v17, v0
61263 move-object/from16 v0, v17
61265 invoke-virtual {v0, v10}, Ljava/util/ArrayList;->get(I)Ljava/lang/Object;
61267 move-result-object v5
61269 check-cast v5, Lcom/android/server/am/ProcessRecord;
61271 iget v0, v5, Lcom/android/server/am/ProcessRecord;->nonStoppingAdj:I
61273 move/from16 v17, v0
61277 move/from16 v0, v17
61279 move/from16 v1, v18
61281 if-lt v0, v1, :cond_264
61283 iget v0, v5, Lcom/android/server/am/ProcessRecord;->nonStoppingAdj:I
61285 move/from16 v17, v0
61289 move/from16 v0, v17
61291 move/from16 v1, v18
61293 if-eq v0, v1, :cond_264
61295 iget-boolean v0, v5, Lcom/android/server/am/ProcessRecord;->killedBackground:Z
61297 move/from16 v17, v0
61299 if-nez v17, :cond_264
61301 iget v0, v5, Lcom/android/server/am/ProcessRecord;->trimMemoryLevel:I
61303 move/from16 v17, v0
61305 move/from16 v0, v17
61307 if-ge v0, v7, :cond_243
61309 iget-object v0, v5, Lcom/android/server/am/ProcessRecord;->thread:Landroid/app/IApplicationThread;
61311 move-object/from16 v17, v0
61313 if-eqz v17, :cond_243
61316 iget-object v0, v5, Lcom/android/server/am/ProcessRecord;->thread:Landroid/app/IApplicationThread;
61318 move-object/from16 v17, v0
61320 move-object/from16 v0, v17
61322 invoke-interface {v0, v7}, Landroid/app/IApplicationThread;->scheduleTrimMemory(I)V
61324 .catch Landroid/os/RemoteException; {:try_start_23a .. :try_end_243} :catch_367
61328 iput v7, v5, Lcom/android/server/am/ProcessRecord;->trimMemoryLevel:I
61330 add-int/lit8 v16, v16, 0x1
61332 move/from16 v0, v16
61334 if-lt v0, v8, :cond_250
61338 sparse-switch v7, :sswitch_data_36a
61342 add-int/lit8 v10, v10, 0x1
61349 move/from16 v0, v17
61351 if-gt v13, v0, :cond_25c
61373 iget v0, v5, Lcom/android/server/am/ProcessRecord;->nonStoppingAdj:I
61375 move/from16 v17, v0
61379 move/from16 v0, v17
61381 move/from16 v1, v18
61383 if-ne v0, v1, :cond_292
61385 iget v0, v5, Lcom/android/server/am/ProcessRecord;->trimMemoryLevel:I
61387 move/from16 v17, v0
61391 move/from16 v0, v17
61393 move/from16 v1, v18
61395 if-ge v0, v1, :cond_28b
61397 iget-object v0, v5, Lcom/android/server/am/ProcessRecord;->thread:Landroid/app/IApplicationThread;
61399 move-object/from16 v17, v0
61401 if-eqz v17, :cond_28b
61404 iget-object v0, v5, Lcom/android/server/am/ProcessRecord;->thread:Landroid/app/IApplicationThread;
61406 move-object/from16 v17, v0
61410 invoke-interface/range {v17 .. v18}, Landroid/app/IApplicationThread;->scheduleTrimMemory(I)V
61412 .catch Landroid/os/RemoteException; {:try_start_282 .. :try_end_28b} :catch_364
61418 move/from16 v0, v17
61420 iput v0, v5, Lcom/android/server/am/ProcessRecord;->trimMemoryLevel:I
61425 iget v0, v5, Lcom/android/server/am/ProcessRecord;->nonStoppingAdj:I
61427 move/from16 v17, v0
61431 move/from16 v0, v17
61433 move/from16 v1, v18
61435 if-gt v0, v1, :cond_2a4
61437 iget-boolean v0, v5, Lcom/android/server/am/ProcessRecord;->systemNoUi:Z
61439 move/from16 v17, v0
61441 if-eqz v17, :cond_2cd
61444 iget-boolean v0, v5, Lcom/android/server/am/ProcessRecord;->pendingUiClean:Z
61446 move/from16 v17, v0
61448 if-eqz v17, :cond_2cd
61452 iget v0, v5, Lcom/android/server/am/ProcessRecord;->trimMemoryLevel:I
61454 move/from16 v17, v0
61458 move/from16 v0, v17
61460 move/from16 v1, v18
61462 if-ge v0, v1, :cond_2c7
61464 iget-object v0, v5, Lcom/android/server/am/ProcessRecord;->thread:Landroid/app/IApplicationThread;
61466 move-object/from16 v17, v0
61468 if-eqz v17, :cond_2c7
61471 iget-object v0, v5, Lcom/android/server/am/ProcessRecord;->thread:Landroid/app/IApplicationThread;
61473 move-object/from16 v17, v0
61477 invoke-interface/range {v17 .. v18}, Landroid/app/IApplicationThread;->scheduleTrimMemory(I)V
61479 .catch Landroid/os/RemoteException; {:try_start_2be .. :try_end_2c7} :catch_361
61485 move/from16 v0, v17
61487 iput-boolean v0, v5, Lcom/android/server/am/ProcessRecord;->pendingUiClean:Z
61490 iget v0, v5, Lcom/android/server/am/ProcessRecord;->trimMemoryLevel:I
61492 move/from16 v17, v0
61494 move/from16 v0, v17
61496 if-ge v0, v9, :cond_2e4
61498 iget-object v0, v5, Lcom/android/server/am/ProcessRecord;->thread:Landroid/app/IApplicationThread;
61500 move-object/from16 v17, v0
61502 if-eqz v17, :cond_2e4
61505 iget-object v0, v5, Lcom/android/server/am/ProcessRecord;->thread:Landroid/app/IApplicationThread;
61507 move-object/from16 v17, v0
61509 move-object/from16 v0, v17
61511 invoke-interface {v0, v9}, Landroid/app/IApplicationThread;->scheduleTrimMemory(I)V
61513 .catch Landroid/os/RemoteException; {:try_start_2db .. :try_end_2e4} :catch_35f
61517 iput v9, v5, Lcom/android/server/am/ProcessRecord;->trimMemoryLevel:I
61522 move-object/from16 v0, p0
61524 iget-object v0, v0, Lcom/android/server/am/ActivityManagerService;->mLruProcesses:Ljava/util/ArrayList;
61526 move-object/from16 v17, v0
61528 invoke-virtual/range {v17 .. v17}, Ljava/util/ArrayList;->size()I
61535 if-ge v10, v2, :cond_345
61537 move-object/from16 v0, p0
61539 iget-object v0, v0, Lcom/android/server/am/ActivityManagerService;->mLruProcesses:Ljava/util/ArrayList;
61541 move-object/from16 v17, v0
61543 move-object/from16 v0, v17
61545 invoke-virtual {v0, v10}, Ljava/util/ArrayList;->get(I)Ljava/lang/Object;
61547 move-result-object v5
61549 check-cast v5, Lcom/android/server/am/ProcessRecord;
61551 iget v0, v5, Lcom/android/server/am/ProcessRecord;->nonStoppingAdj:I
61553 move/from16 v17, v0
61557 move/from16 v0, v17
61559 move/from16 v1, v18
61561 if-gt v0, v1, :cond_315
61563 iget-boolean v0, v5, Lcom/android/server/am/ProcessRecord;->systemNoUi:Z
61565 move/from16 v17, v0
61567 if-eqz v17, :cond_33c
61570 iget-boolean v0, v5, Lcom/android/server/am/ProcessRecord;->pendingUiClean:Z
61572 move/from16 v17, v0
61574 if-eqz v17, :cond_33c
61576 iget v0, v5, Lcom/android/server/am/ProcessRecord;->trimMemoryLevel:I
61578 move/from16 v17, v0
61582 move/from16 v0, v17
61584 move/from16 v1, v18
61586 if-ge v0, v1, :cond_336
61588 iget-object v0, v5, Lcom/android/server/am/ProcessRecord;->thread:Landroid/app/IApplicationThread;
61590 move-object/from16 v17, v0
61592 if-eqz v17, :cond_336
61595 iget-object v0, v5, Lcom/android/server/am/ProcessRecord;->thread:Landroid/app/IApplicationThread;
61597 move-object/from16 v17, v0
61601 invoke-interface/range {v17 .. v18}, Landroid/app/IApplicationThread;->scheduleTrimMemory(I)V
61603 .catch Landroid/os/RemoteException; {:try_start_32d .. :try_end_336} :catch_35d
61609 move/from16 v0, v17
61611 iput-boolean v0, v5, Lcom/android/server/am/ProcessRecord;->pendingUiClean:Z
61616 move/from16 v0, v17
61618 iput v0, v5, Lcom/android/server/am/ProcessRecord;->trimMemoryLevel:I
61620 add-int/lit8 v10, v10, 0x1
61625 move-object/from16 v0, p0
61627 iget-boolean v0, v0, Lcom/android/server/am/ActivityManagerService;->mAlwaysFinishActivities:Z
61629 move/from16 v17, v0
61631 if-eqz v17, :cond_35c
61633 move-object/from16 v0, p0
61635 iget-object v0, v0, Lcom/android/server/am/ActivityManagerService;->mMainStack:Lcom/android/server/am/ActivityStack;
61637 move-object/from16 v17, v0
61643 const-string v20, "always-finish"
61645 invoke-virtual/range {v17 .. v20}, Lcom/android/server/am/ActivityStack;->scheduleDestroyActivities(Lcom/android/server/am/ProcessRecord;ZLjava/lang/String;)V
61677 0x3c -> :sswitch_261
61678 0x50 -> :sswitch_25e
61682 .method public updatePersistentConfiguration(Landroid/content/res/Configuration;)V
61685 const-string v2, "android.permission.CHANGE_CONFIGURATION"
61687 const-string v3, "updateConfiguration()"
61689 invoke-virtual {p0, v2, v3}, Lcom/android/server/am/ActivityManagerService;->enforceCallingPermission(Ljava/lang/String;Ljava/lang/String;)V
61691 const-string v2, "android.permission.WRITE_SETTINGS"
61693 const-string v3, "updateConfiguration()"
61695 invoke-virtual {p0, v2, v3}, Lcom/android/server/am/ActivityManagerService;->enforceCallingPermission(Ljava/lang/String;Ljava/lang/String;)V
61697 if-nez p1, :cond_18
61699 new-instance v2, Ljava/lang/NullPointerException;
61701 const-string v3, "Configuration must not be null"
61703 invoke-direct {v2, v3}, Ljava/lang/NullPointerException;-><init>(Ljava/lang/String;)V
61711 invoke-static {}, Landroid/os/Binder;->clearCallingIdentity()J
61713 move-result-wide v0
61721 invoke-virtual {p0, p1, v2, v3, v4}, Lcom/android/server/am/ActivityManagerService;->updateConfigurationLocked(Landroid/content/res/Configuration;Lcom/android/server/am/ActivityRecord;ZZ)Z
61723 invoke-static {v0, v1}, Landroid/os/Binder;->restoreCallingIdentity(J)V
61734 .catchall {:try_start_19 .. :try_end_2a} :catchall_28
61739 .method public updateServiceForegroundLocked(Lcom/android/server/am/ProcessRecord;Z)V
61744 iget-object v3, p1, Lcom/android/server/am/ProcessRecord;->services:Ljava/util/HashSet;
61746 invoke-virtual {v3}, Ljava/util/HashSet;->iterator()Ljava/util/Iterator;
61748 move-result-object v1
61751 invoke-interface {v1}, Ljava/util/Iterator;->hasNext()Z
61755 if-eqz v3, :cond_18
61757 invoke-interface {v1}, Ljava/util/Iterator;->next()Ljava/lang/Object;
61759 move-result-object v2
61761 check-cast v2, Lcom/android/server/am/ServiceRecord;
61763 iget-boolean v3, v2, Lcom/android/server/am/ServiceRecord;->isForeground:Z
61770 iget-boolean v3, p1, Lcom/android/server/am/ProcessRecord;->foregroundServices:Z
61772 if-eq v0, v3, :cond_23
61774 iput-boolean v0, p1, Lcom/android/server/am/ProcessRecord;->foregroundServices:Z
61776 if-eqz p2, :cond_23
61778 invoke-virtual {p0}, Lcom/android/server/am/ActivityManagerService;->updateOomAdjLocked()V
61784 .method updateUsageStats(Lcom/android/server/am/ActivityRecord;Z)V
61789 iget-object v0, p0, Lcom/android/server/am/ActivityManagerService;->mUsageStatsService:Lcom/android/server/am/UsageStatsService;
61791 iget-object v1, p1, Lcom/android/server/am/ActivityRecord;->realActivity:Landroid/content/ComponentName;
61793 invoke-virtual {v0, v1}, Lcom/android/server/am/UsageStatsService;->noteResumeComponent(Landroid/content/ComponentName;)V
61799 iget-object v0, p0, Lcom/android/server/am/ActivityManagerService;->mUsageStatsService:Lcom/android/server/am/UsageStatsService;
61801 iget-object v1, p1, Lcom/android/server/am/ActivityRecord;->realActivity:Landroid/content/ComponentName;
61803 invoke-virtual {v0, v1}, Lcom/android/server/am/UsageStatsService;->notePauseComponent(Landroid/content/ComponentName;)V
61808 .method final verifyBroadcastLocked(Landroid/content/Intent;)Landroid/content/Intent;
61811 const/high16 v4, 0x4000
61813 if-eqz p1, :cond_13
61815 invoke-virtual {p1}, Landroid/content/Intent;->hasFileDescriptors()Z
61821 if-ne v2, v3, :cond_13
61823 new-instance v2, Ljava/lang/IllegalArgumentException;
61825 const-string v3, "File descriptors passed in Intent"
61827 invoke-direct {v2, v3}, Ljava/lang/IllegalArgumentException;-><init>(Ljava/lang/String;)V
61832 invoke-virtual {p1}, Landroid/content/Intent;->getFlags()I
61836 iget-boolean v2, p0, Lcom/android/server/am/ActivityManagerService;->mProcessesReady:Z
61838 if-nez v2, :cond_29
61840 const/high16 v2, 0x800
61842 and-int/2addr v2, v0
61844 if-eqz v2, :cond_36
61846 new-instance v1, Landroid/content/Intent;
61848 invoke-direct {v1, p1}, Landroid/content/Intent;-><init>(Landroid/content/Intent;)V
61850 invoke-virtual {v1, v4}, Landroid/content/Intent;->addFlags(I)Landroid/content/Intent;
61855 const/high16 v2, 0x400
61857 and-int/2addr v2, v0
61859 if-eqz v2, :cond_60
61861 new-instance v2, Ljava/lang/IllegalArgumentException;
61863 const-string v3, "Can\'t use FLAG_RECEIVER_BOOT_UPGRADE here"
61865 invoke-direct {v2, v3}, Ljava/lang/IllegalArgumentException;-><init>(Ljava/lang/String;)V
61872 if-nez v2, :cond_29
61874 const-string v2, "ActivityManager"
61876 new-instance v3, Ljava/lang/StringBuilder;
61878 invoke-direct {v3}, Ljava/lang/StringBuilder;-><init>()V
61880 const-string v4, "Attempt to launch receivers of broadcast intent "
61882 invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
61884 move-result-object v3
61886 invoke-virtual {v3, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
61888 move-result-object v3
61890 const-string v4, " before boot completion"
61892 invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
61894 move-result-object v3
61896 invoke-virtual {v3}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
61898 move-result-object v3
61900 invoke-static {v2, v3}, Landroid/util/Slog;->e(Ljava/lang/String;Ljava/lang/String;)I
61902 new-instance v2, Ljava/lang/IllegalStateException;
61904 const-string v3, "Cannot broadcast before boot completed"
61906 invoke-direct {v2, v3}, Ljava/lang/IllegalStateException;-><init>(Ljava/lang/String;)V
61914 .method public wakingUp()V
61917 const-string v0, "android.permission.DEVICE_POWER"
61919 invoke-virtual {p0, v0}, Lcom/android/server/am/ActivityManagerService;->checkCallingPermission(Ljava/lang/String;)I
61923 if-eqz v0, :cond_10
61925 new-instance v0, Ljava/lang/SecurityException;
61927 const-string v1, "Requires permission android.permission.DEVICE_POWER"
61929 invoke-direct {v0, v1}, Ljava/lang/SecurityException;-><init>(Ljava/lang/String;)V
61939 iput-boolean v0, p0, Lcom/android/server/am/ActivityManagerService;->mWentToSleep:Z
61941 invoke-direct {p0}, Lcom/android/server/am/ActivityManagerService;->updateEventDispatchingLocked()V
61943 invoke-direct {p0}, Lcom/android/server/am/ActivityManagerService;->comeOutOfSleepIfNeededLocked()V
61954 .catchall {:try_start_12 .. :try_end_1e} :catchall_1c
61959 .method public willActivityBeVisible(Landroid/os/IBinder;)Z
61967 iget-object v3, p0, Lcom/android/server/am/ActivityManagerService;->mMainStack:Lcom/android/server/am/ActivityStack;
61969 iget-object v3, v3, Lcom/android/server/am/ActivityStack;->mHistory:Ljava/util/ArrayList;
61971 invoke-virtual {v3}, Ljava/util/ArrayList;->size()I
61975 add-int/lit8 v0, v3, -0x1
61978 if-ltz v0, :cond_2f
61980 iget-object v3, p0, Lcom/android/server/am/ActivityManagerService;->mMainStack:Lcom/android/server/am/ActivityStack;
61982 iget-object v3, v3, Lcom/android/server/am/ActivityStack;->mHistory:Ljava/util/ArrayList;
61984 invoke-virtual {v3, v0}, Ljava/util/ArrayList;->get(I)Ljava/lang/Object;
61986 move-result-object v1
61988 check-cast v1, Lcom/android/server/am/ActivityRecord;
61990 iget-object v3, v1, Lcom/android/server/am/ActivityRecord;->appToken:Landroid/view/IApplicationToken$Stub;
61992 if-ne v3, p1, :cond_1e
62000 iget-boolean v3, v1, Lcom/android/server/am/ActivityRecord;->fullscreen:Z
62002 if-eqz v3, :cond_2c
62004 iget-boolean v3, v1, Lcom/android/server/am/ActivityRecord;->finishing:Z
62006 if-nez v3, :cond_2c
62019 .catchall {:try_start_2 .. :try_end_2b} :catchall_29
62024 add-int/lit8 v0, v0, -0x1
62032 .catchall {:try_start_2f .. :try_end_30} :catchall_29