Search in sources :

Example 51 with Comparator

use of java.util.Comparator in project spring-framework by spring-projects.

the class RequestMappingInfoTests method compareToWithImpicitVsExplicitHttpMethodDeclaration.

@Test
public void compareToWithImpicitVsExplicitHttpMethodDeclaration() {
    RequestMappingInfo noMethods = paths().build();
    RequestMappingInfo oneMethod = paths().methods(GET).build();
    RequestMappingInfo oneMethodOneParam = paths().methods(GET).params("foo").build();
    Comparator<RequestMappingInfo> comparator = (info, otherInfo) -> info.compareTo(otherInfo, new MockHttpServletRequest());
    List<RequestMappingInfo> list = asList(noMethods, oneMethod, oneMethodOneParam);
    Collections.shuffle(list);
    Collections.sort(list, comparator);
    assertEquals(oneMethodOneParam, list.get(0));
    assertEquals(oneMethod, list.get(1));
    assertEquals(noMethods, list.get(2));
}
Also used : RequestMappingInfo.paths(org.springframework.web.servlet.mvc.method.RequestMappingInfo.paths) HEAD(org.springframework.web.bind.annotation.RequestMethod.HEAD) HttpHeaders(org.springframework.http.HttpHeaders) Assert.assertNotNull(org.junit.Assert.assertNotNull) RequestMethod(org.springframework.web.bind.annotation.RequestMethod) Test(org.junit.Test) GET(org.springframework.web.bind.annotation.RequestMethod.GET) Assert.assertNotEquals(org.junit.Assert.assertNotEquals) List(java.util.List) HttpServletRequest(javax.servlet.http.HttpServletRequest) Assert.assertNull(org.junit.Assert.assertNull) Arrays.asList(java.util.Arrays.asList) Assert.assertFalse(org.junit.Assert.assertFalse) Comparator(java.util.Comparator) Collections(java.util.Collections) Assert.assertEquals(org.junit.Assert.assertEquals) MockHttpServletRequest(org.springframework.mock.web.test.MockHttpServletRequest) MockHttpServletRequest(org.springframework.mock.web.test.MockHttpServletRequest) Test(org.junit.Test)

Example 52 with Comparator

use of java.util.Comparator in project spring-framework by spring-projects.

the class SelectTagTests method getCountryToLocaleMap.

private Map getCountryToLocaleMap() {
    Map map = new TreeMap(new Comparator() {

        @Override
        public int compare(Object o1, Object o2) {
            return ((Country) o1).getName().compareTo(((Country) o2).getName());
        }
    });
    map.put(Country.COUNTRY_AT, LOCALE_AT);
    map.put(Country.COUNTRY_NL, LOCALE_NL);
    map.put(Country.COUNTRY_US, Locale.US);
    return map;
}
Also used : TreeMap(java.util.TreeMap) HashMap(java.util.HashMap) Map(java.util.Map) TreeMap(java.util.TreeMap) Comparator(java.util.Comparator)

Example 53 with Comparator

use of java.util.Comparator in project platform_frameworks_base by android.

the class ActivityManagerService method reportMemUsage.

void reportMemUsage(ArrayList<ProcessMemInfo> memInfos) {
    final SparseArray<ProcessMemInfo> infoMap = new SparseArray<>(memInfos.size());
    for (int i = 0, N = memInfos.size(); i < N; i++) {
        ProcessMemInfo mi = memInfos.get(i);
        infoMap.put(mi.pid, mi);
    }
    updateCpuStatsNow();
    long[] memtrackTmp = new long[1];
    final List<ProcessCpuTracker.Stats> stats;
    // Get a list of Stats that have vsize > 0
    synchronized (mProcessCpuTracker) {
        stats = mProcessCpuTracker.getStats((st) -> {
            return st.vsize > 0;
        });
    }
    final int statsCount = stats.size();
    for (int i = 0; i < statsCount; i++) {
        ProcessCpuTracker.Stats st = stats.get(i);
        long pss = Debug.getPss(st.pid, null, memtrackTmp);
        if (pss > 0) {
            if (infoMap.indexOfKey(st.pid) < 0) {
                ProcessMemInfo mi = new ProcessMemInfo(st.name, st.pid, ProcessList.NATIVE_ADJ, -1, "native", null);
                mi.pss = pss;
                mi.memtrack = memtrackTmp[0];
                memInfos.add(mi);
            }
        }
    }
    long totalPss = 0;
    long totalMemtrack = 0;
    for (int i = 0, N = memInfos.size(); i < N; i++) {
        ProcessMemInfo mi = memInfos.get(i);
        if (mi.pss == 0) {
            mi.pss = Debug.getPss(mi.pid, null, memtrackTmp);
            mi.memtrack = memtrackTmp[0];
        }
        totalPss += mi.pss;
        totalMemtrack += mi.memtrack;
    }
    Collections.sort(memInfos, new Comparator<ProcessMemInfo>() {

        @Override
        public int compare(ProcessMemInfo lhs, ProcessMemInfo rhs) {
            if (lhs.oomAdj != rhs.oomAdj) {
                return lhs.oomAdj < rhs.oomAdj ? -1 : 1;
            }
            if (lhs.pss != rhs.pss) {
                return lhs.pss < rhs.pss ? 1 : -1;
            }
            return 0;
        }
    });
    StringBuilder tag = new StringBuilder(128);
    StringBuilder stack = new StringBuilder(128);
    tag.append("Low on memory -- ");
    appendMemBucket(tag, totalPss, "total", false);
    appendMemBucket(stack, totalPss, "total", true);
    StringBuilder fullNativeBuilder = new StringBuilder(1024);
    StringBuilder shortNativeBuilder = new StringBuilder(1024);
    StringBuilder fullJavaBuilder = new StringBuilder(1024);
    boolean firstLine = true;
    int lastOomAdj = Integer.MIN_VALUE;
    long extraNativeRam = 0;
    long extraNativeMemtrack = 0;
    long cachedPss = 0;
    for (int i = 0, N = memInfos.size(); i < N; i++) {
        ProcessMemInfo mi = memInfos.get(i);
        if (mi.oomAdj >= ProcessList.CACHED_APP_MIN_ADJ) {
            cachedPss += mi.pss;
        }
        if (mi.oomAdj != ProcessList.NATIVE_ADJ && (mi.oomAdj < ProcessList.SERVICE_ADJ || mi.oomAdj == ProcessList.HOME_APP_ADJ || mi.oomAdj == ProcessList.PREVIOUS_APP_ADJ)) {
            if (lastOomAdj != mi.oomAdj) {
                lastOomAdj = mi.oomAdj;
                if (mi.oomAdj <= ProcessList.FOREGROUND_APP_ADJ) {
                    tag.append(" / ");
                }
                if (mi.oomAdj >= ProcessList.FOREGROUND_APP_ADJ) {
                    if (firstLine) {
                        stack.append(":");
                        firstLine = false;
                    }
                    stack.append("\n\t at ");
                } else {
                    stack.append("$");
                }
            } else {
                tag.append(" ");
                stack.append("$");
            }
            if (mi.oomAdj <= ProcessList.FOREGROUND_APP_ADJ) {
                appendMemBucket(tag, mi.pss, mi.name, false);
            }
            appendMemBucket(stack, mi.pss, mi.name, true);
            if (mi.oomAdj >= ProcessList.FOREGROUND_APP_ADJ && ((i + 1) >= N || memInfos.get(i + 1).oomAdj != lastOomAdj)) {
                stack.append("(");
                for (int k = 0; k < DUMP_MEM_OOM_ADJ.length; k++) {
                    if (DUMP_MEM_OOM_ADJ[k] == mi.oomAdj) {
                        stack.append(DUMP_MEM_OOM_LABEL[k]);
                        stack.append(":");
                        stack.append(DUMP_MEM_OOM_ADJ[k]);
                    }
                }
                stack.append(")");
            }
        }
        appendMemInfo(fullNativeBuilder, mi);
        if (mi.oomAdj == ProcessList.NATIVE_ADJ) {
            // The short form only has native processes that are >= 512K.
            if (mi.pss >= 512) {
                appendMemInfo(shortNativeBuilder, mi);
            } else {
                extraNativeRam += mi.pss;
                extraNativeMemtrack += mi.memtrack;
            }
        } else {
            // from smaller native processes let's dump a summary of that.
            if (extraNativeRam > 0) {
                appendBasicMemEntry(shortNativeBuilder, ProcessList.NATIVE_ADJ, -1, extraNativeRam, extraNativeMemtrack, "(Other native)");
                shortNativeBuilder.append('\n');
                extraNativeRam = 0;
            }
            appendMemInfo(fullJavaBuilder, mi);
        }
    }
    fullJavaBuilder.append("           ");
    ProcessList.appendRamKb(fullJavaBuilder, totalPss);
    fullJavaBuilder.append(": TOTAL");
    if (totalMemtrack > 0) {
        fullJavaBuilder.append(" (");
        fullJavaBuilder.append(stringifyKBSize(totalMemtrack));
        fullJavaBuilder.append(" memtrack)");
    } else {
    }
    fullJavaBuilder.append("\n");
    MemInfoReader memInfo = new MemInfoReader();
    memInfo.readMemInfo();
    final long[] infos = memInfo.getRawInfo();
    StringBuilder memInfoBuilder = new StringBuilder(1024);
    Debug.getMemInfo(infos);
    memInfoBuilder.append("  MemInfo: ");
    memInfoBuilder.append(stringifyKBSize(infos[Debug.MEMINFO_SLAB])).append(" slab, ");
    memInfoBuilder.append(stringifyKBSize(infos[Debug.MEMINFO_SHMEM])).append(" shmem, ");
    memInfoBuilder.append(stringifyKBSize(infos[Debug.MEMINFO_VM_ALLOC_USED])).append(" vm alloc, ");
    memInfoBuilder.append(stringifyKBSize(infos[Debug.MEMINFO_PAGE_TABLES])).append(" page tables ");
    memInfoBuilder.append(stringifyKBSize(infos[Debug.MEMINFO_KERNEL_STACK])).append(" kernel stack\n");
    memInfoBuilder.append("           ");
    memInfoBuilder.append(stringifyKBSize(infos[Debug.MEMINFO_BUFFERS])).append(" buffers, ");
    memInfoBuilder.append(stringifyKBSize(infos[Debug.MEMINFO_CACHED])).append(" cached, ");
    memInfoBuilder.append(stringifyKBSize(infos[Debug.MEMINFO_MAPPED])).append(" mapped, ");
    memInfoBuilder.append(stringifyKBSize(infos[Debug.MEMINFO_FREE])).append(" free\n");
    if (infos[Debug.MEMINFO_ZRAM_TOTAL] != 0) {
        memInfoBuilder.append("  ZRAM: ");
        memInfoBuilder.append(stringifyKBSize(infos[Debug.MEMINFO_ZRAM_TOTAL]));
        memInfoBuilder.append(" RAM, ");
        memInfoBuilder.append(stringifyKBSize(infos[Debug.MEMINFO_SWAP_TOTAL]));
        memInfoBuilder.append(" swap total, ");
        memInfoBuilder.append(stringifyKBSize(infos[Debug.MEMINFO_SWAP_FREE]));
        memInfoBuilder.append(" swap free\n");
    }
    final long[] ksm = getKsmInfo();
    if (ksm[KSM_SHARING] != 0 || ksm[KSM_SHARED] != 0 || ksm[KSM_UNSHARED] != 0 || ksm[KSM_VOLATILE] != 0) {
        memInfoBuilder.append("  KSM: ");
        memInfoBuilder.append(stringifyKBSize(ksm[KSM_SHARING]));
        memInfoBuilder.append(" saved from shared ");
        memInfoBuilder.append(stringifyKBSize(ksm[KSM_SHARED]));
        memInfoBuilder.append("\n       ");
        memInfoBuilder.append(stringifyKBSize(ksm[KSM_UNSHARED]));
        memInfoBuilder.append(" unshared; ");
        memInfoBuilder.append(stringifyKBSize(ksm[KSM_VOLATILE]));
        memInfoBuilder.append(" volatile\n");
    }
    memInfoBuilder.append("  Free RAM: ");
    memInfoBuilder.append(stringifyKBSize(cachedPss + memInfo.getCachedSizeKb() + memInfo.getFreeSizeKb()));
    memInfoBuilder.append("\n");
    memInfoBuilder.append("  Used RAM: ");
    memInfoBuilder.append(stringifyKBSize(totalPss - cachedPss + memInfo.getKernelUsedSizeKb()));
    memInfoBuilder.append("\n");
    memInfoBuilder.append("  Lost RAM: ");
    memInfoBuilder.append(stringifyKBSize(memInfo.getTotalSizeKb() - totalPss - memInfo.getFreeSizeKb() - memInfo.getCachedSizeKb() - memInfo.getKernelUsedSizeKb() - memInfo.getZramTotalSizeKb()));
    memInfoBuilder.append("\n");
    Slog.i(TAG, "Low on memory:");
    Slog.i(TAG, shortNativeBuilder.toString());
    Slog.i(TAG, fullJavaBuilder.toString());
    Slog.i(TAG, memInfoBuilder.toString());
    StringBuilder dropBuilder = new StringBuilder(1024);
    /*
        StringWriter oomSw = new StringWriter();
        PrintWriter oomPw = new FastPrintWriter(oomSw, false, 256);
        StringWriter catSw = new StringWriter();
        PrintWriter catPw = new FastPrintWriter(catSw, false, 256);
        String[] emptyArgs = new String[] { };
        dumpApplicationMemoryUsage(null, oomPw, "  ", emptyArgs, true, catPw);
        oomPw.flush();
        String oomString = oomSw.toString();
        */
    dropBuilder.append("Low on memory:");
    dropBuilder.append(stack);
    dropBuilder.append('\n');
    dropBuilder.append(fullNativeBuilder);
    dropBuilder.append(fullJavaBuilder);
    dropBuilder.append('\n');
    dropBuilder.append(memInfoBuilder);
    dropBuilder.append('\n');
    /*
        dropBuilder.append(oomString);
        dropBuilder.append('\n');
        */
    StringWriter catSw = new StringWriter();
    synchronized (ActivityManagerService.this) {
        PrintWriter catPw = new FastPrintWriter(catSw, false, 256);
        String[] emptyArgs = new String[] {};
        catPw.println();
        dumpProcessesLocked(null, catPw, emptyArgs, 0, false, null);
        catPw.println();
        mServices.newServiceDumperLocked(null, catPw, emptyArgs, 0, false, null).dumpLocked();
        catPw.println();
        dumpActivitiesLocked(null, catPw, emptyArgs, 0, false, false, null);
        catPw.flush();
    }
    dropBuilder.append(catSw.toString());
    addErrorToDropBox("lowmem", null, "system_server", null, null, tag.toString(), dropBuilder.toString(), null, null);
    //Slog.i(TAG, dropBuilder.toString());
    synchronized (ActivityManagerService.this) {
        long now = SystemClock.uptimeMillis();
        if (mLastMemUsageReportTime < now) {
            mLastMemUsageReportTime = now;
        }
    }
}
Also used : POSTFIX_PSS(com.android.server.am.ActivityManagerDebugConfig.POSTFIX_PSS) Bundle(android.os.Bundle) TaskThumbnailInfo(android.app.ActivityManager.TaskThumbnailInfo) FEATURE_FREEFORM_WINDOW_MANAGEMENT(android.content.pm.PackageManager.FEATURE_FREEFORM_WINDOW_MANAGEMENT) Time(android.text.format.Time) IApplicationThread(android.app.IApplicationThread) ON_TOP(com.android.server.am.ActivityStackSupervisor.ON_TOP) XmlSerializer(org.xmlpull.v1.XmlSerializer) ActivityManagerInternal(android.app.ActivityManagerInternal) DEBUG_RECENTS(com.android.server.am.ActivityManagerDebugConfig.DEBUG_RECENTS) FEATURE_PICTURE_IN_PICTURE(android.content.pm.PackageManager.FEATURE_PICTURE_IN_PICTURE) LOCK_TASK_AUTH_DONT_LOCK(com.android.server.am.TaskRecord.LOCK_TASK_AUTH_DONT_LOCK) IResultReceiver(com.android.internal.os.IResultReceiver) PRESERVE_WINDOWS(com.android.server.am.ActivityStackSupervisor.PRESERVE_WINDOWS) DeviceIdleController(com.android.server.DeviceIdleController) IVoiceInteractionSession(android.service.voice.IVoiceInteractionSession) Handler(android.os.Handler) Map(java.util.Map) Display(android.view.Display) IIntentReceiver(android.content.IIntentReceiver) INVALID_STACK_ID(android.app.ActivityManager.StackId.INVALID_STACK_ID) POSTFIX_PROCESS_OBSERVERS(com.android.server.am.ActivityManagerDebugConfig.POSTFIX_PROCESS_OBSERVERS) IActivityContainer(android.app.IActivityContainer) IoUtils(libcore.io.IoUtils) Log(android.util.Log) XmlPullParser(org.xmlpull.v1.XmlPullParser) IProgressListener(android.os.IProgressListener) IVoiceInteractor(com.android.internal.app.IVoiceInteractor) ActivityManagerNative(android.app.ActivityManagerNative) IntentFilter(android.content.IntentFilter) Watchdog(com.android.server.Watchdog) DEBUG_ANR(com.android.server.am.ActivityManagerDebugConfig.DEBUG_ANR) DumpHeapActivity(com.android.internal.app.DumpHeapActivity) PathPermission(android.content.pm.PathPermission) IUidObserver(android.app.IUidObserver) Installer(com.android.server.pm.Installer) INotificationManager(android.app.INotificationManager) PROC_PARENS(android.os.Process.PROC_PARENS) POSTFIX_CLEANUP(com.android.server.am.ActivityManagerDebugConfig.POSTFIX_CLEANUP) Preconditions(com.android.internal.util.Preconditions) FactoryTest(android.os.FactoryTest) SleepToken(android.app.ActivityManagerInternal.SleepToken) IProcessObserver(android.app.IProcessObserver) DEBUG_MU(com.android.server.am.ActivityManagerDebugConfig.DEBUG_MU) TRANSIT_ACTIVITY_OPEN(com.android.server.wm.AppTransition.TRANSIT_ACTIVITY_OPEN) PackageManagerInternal(android.content.pm.PackageManagerInternal) RemoteException(android.os.RemoteException) SystemClock(android.os.SystemClock) LOCK_TASK_AUTH_PINNABLE(com.android.server.am.TaskRecord.LOCK_TASK_AUTH_PINNABLE) SystemServiceManager(com.android.server.SystemServiceManager) UpdateLock(android.os.UpdateLock) POSTFIX_LOCKTASK(com.android.server.am.ActivityManagerDebugConfig.POSTFIX_LOCKTASK) TAG_AM(com.android.server.am.ActivityManagerDebugConfig.TAG_AM) POSTFIX_MU(com.android.server.am.ActivityManagerDebugConfig.POSTFIX_MU) DEBUG_TASKS(com.android.server.am.ActivityManagerDebugConfig.DEBUG_TASKS) Settings(android.provider.Settings) MATCH_DIRECT_BOOT_UNAWARE(android.content.pm.PackageManager.MATCH_DIRECT_BOOT_UNAWARE) IActivityController(android.app.IActivityController) StackId(android.app.ActivityManager.StackId) XmlUtils.writeBooleanAttribute(com.android.internal.util.XmlUtils.writeBooleanAttribute) POSTFIX_BROADCAST(com.android.server.am.ActivityManagerDebugConfig.POSTFIX_BROADCAST) UserManager(android.os.UserManager) DEBUG_LRU(com.android.server.am.ActivityManagerDebugConfig.DEBUG_LRU) ServiceManager(android.os.ServiceManager) ComponentName(android.content.ComponentName) ParceledListSlice(android.content.pm.ParceledListSlice) BackgroundThread(com.android.internal.os.BackgroundThread) IOException(java.io.IOException) InputStreamReader(java.io.InputStreamReader) DEBUG_ALL(com.android.server.am.ActivityManagerDebugConfig.DEBUG_ALL) IntentResolver(com.android.server.IntentResolver) SystemProperties(android.os.SystemProperties) UI_MODE_TYPE_TELEVISION(android.content.res.Configuration.UI_MODE_TYPE_TELEVISION) DEBUG_PROCESS_OBSERVERS(com.android.server.am.ActivityManagerDebugConfig.DEBUG_PROCESS_OBSERVERS) AtomicLong(java.util.concurrent.atomic.AtomicLong) XmlUtils.readIntAttribute(com.android.internal.util.XmlUtils.readIntAttribute) IAppTask(android.app.IAppTask) TRANSIT_TASK_TO_FRONT(com.android.server.wm.AppTransition.TRANSIT_TASK_TO_FRONT) ServiceThread(com.android.server.ServiceThread) TelecomManager(android.telecom.TelecomManager) Manifest.permission(android.Manifest.permission) FileObserver(android.os.FileObserver) XmlUtils.writeLongAttribute(com.android.internal.util.XmlUtils.writeLongAttribute) ALWAYS_FINISH_ACTIVITIES(android.provider.Settings.Global.ALWAYS_FINISH_ACTIVITIES) DEBUG_PROCESSES(com.android.server.am.ActivityManagerDebugConfig.DEBUG_PROCESSES) Rect(android.graphics.Rect) Trace(android.os.Trace) POSTFIX_UID_OBSERVERS(com.android.server.am.ActivityManagerDebugConfig.POSTFIX_UID_OBSERVERS) Zygote(com.android.internal.os.Zygote) MANAGE_ACTIVITY_STACKS(android.Manifest.permission.MANAGE_ACTIVITY_STACKS) VrManagerInternal(com.android.server.vr.VrManagerInternal) PackageManager(android.content.pm.PackageManager) WindowManager(android.view.WindowManager) DEBUG_IMMERSIVE(com.android.server.am.ActivityManagerDebugConfig.DEBUG_IMMERSIVE) ProviderInfo(android.content.pm.ProviderInfo) IPermissionController(android.os.IPermissionController) POSTFIX_OOM_ADJ(com.android.server.am.ActivityManagerDebugConfig.POSTFIX_OOM_ADJ) VMRuntime(dalvik.system.VMRuntime) DEBUG_BROADCAST_BACKGROUND(com.android.server.am.ActivityManagerDebugConfig.DEBUG_BROADCAST_BACKGROUND) ContentResolver(android.content.ContentResolver) Locale(java.util.Locale) IAppOpsCallback(com.android.internal.app.IAppOpsCallback) ActivityInfo(android.content.pm.ActivityInfo) PersistableBundle(android.os.PersistableBundle) InstrumentationInfo(android.content.pm.InstrumentationInfo) Proxy(android.net.Proxy) WAIT_FOR_DEBUGGER(android.provider.Settings.Global.WAIT_FOR_DEBUGGER) Debug(android.os.Debug) IProcessInfoService(android.os.IProcessInfoService) END_DOCUMENT(org.xmlpull.v1.XmlPullParser.END_DOCUMENT) DEBUG_POWER_QUICK(com.android.server.am.ActivityManagerDebugConfig.DEBUG_POWER_QUICK) DEBUG_UID_OBSERVERS(com.android.server.am.ActivityManagerDebugConfig.DEBUG_UID_OBSERVERS) RemoteCallbackList(android.os.RemoteCallbackList) DEBUG_POWER(com.android.server.am.ActivityManagerDebugConfig.DEBUG_POWER) DisplayMetrics(android.util.DisplayMetrics) GET_PROVIDERS(android.content.pm.PackageManager.GET_PROVIDERS) DEBUG_APP(android.provider.Settings.Global.DEBUG_APP) XmlPullParserException(org.xmlpull.v1.XmlPullParserException) Objects(java.util.Objects) IMountService(android.os.storage.IMountService) ActivityNotFoundException(android.content.ActivityNotFoundException) Notification(android.app.Notification) IPackageManager(android.content.pm.IPackageManager) BroadcastOptions(android.app.BroadcastOptions) SystemUserHomeActivity(com.android.internal.app.SystemUserHomeActivity) AppGlobals(android.app.AppGlobals) POSTFIX_LOCKSCREEN(com.android.server.am.ActivityManagerDebugConfig.POSTFIX_LOCKSCREEN) UserIdInt(android.annotation.UserIdInt) LocationManager(android.location.LocationManager) DEBUG_LOCKTASK(com.android.server.am.ActivityManagerDebugConfig.DEBUG_LOCKTASK) ActivityManager(android.app.ActivityManager) DEBUG_USAGE_STATS(com.android.server.am.ActivityManagerDebugConfig.DEBUG_USAGE_STATS) AtomicBoolean(java.util.concurrent.atomic.AtomicBoolean) IIntentSender(android.content.IIntentSender) PackageInfo(android.content.pm.PackageInfo) POSTFIX_FOCUS(com.android.server.am.ActivityManagerDebugConfig.POSTFIX_FOCUS) Slog(android.util.Slog) RESIZE_MODE_PRESERVE_WINDOW(android.app.ActivityManager.RESIZE_MODE_PRESERVE_WINDOW) Binder(android.os.Binder) HashSet(java.util.HashSet) ApplicationThreadNative(android.app.ApplicationThreadNative) LOCK_TASK_AUTH_LAUNCHABLE_PRIV(com.android.server.am.TaskRecord.LOCK_TASK_AUTH_LAUNCHABLE_PRIV) POSTFIX_IMMERSIVE(com.android.server.am.ActivityManagerDebugConfig.POSTFIX_IMMERSIVE) POSTFIX_BACKUP(com.android.server.am.ActivityManagerDebugConfig.POSTFIX_BACKUP) LocalServices(com.android.server.LocalServices) IAppOpsService(com.android.internal.app.IAppOpsService) UserInfo(android.content.pm.UserInfo) Build(android.os.Build) WeakReference(java.lang.ref.WeakReference) DEBUG_PERMISSIONS_REVIEW(com.android.server.am.ActivityManagerDebugConfig.DEBUG_PERMISSIONS_REVIEW) EmptyArray(libcore.util.EmptyArray) ArrayMap(android.util.ArrayMap) TRANSIT_ACTIVITY_RELAUNCH(com.android.server.wm.AppTransition.TRANSIT_ACTIVITY_RELAUNCH) TransactionTooLargeException(android.os.TransactionTooLargeException) MATCH_DIRECT_BOOT_AWARE(android.content.pm.PackageManager.MATCH_DIRECT_BOOT_AWARE) LayoutInflater(android.view.LayoutInflater) POSTFIX_SERVICE(com.android.server.am.ActivityManagerDebugConfig.POSTFIX_SERVICE) FileInputStream(java.io.FileInputStream) DOCKED_STACK_ID(android.app.ActivityManager.StackId.DOCKED_STACK_ID) Bitmap(android.graphics.Bitmap) FORCE_FOCUS(com.android.server.am.ActivityStackSupervisor.FORCE_FOCUS) DEVELOPMENT_ENABLE_FREEFORM_WINDOWS_SUPPORT(android.provider.Settings.Global.DEVELOPMENT_ENABLE_FREEFORM_WINDOWS_SUPPORT) ServiceInfo(android.content.pm.ServiceInfo) BatteryStats(android.os.BatteryStats) DEBUG_WHITELISTS(com.android.server.am.ActivityManagerDebugConfig.DEBUG_WHITELISTS) ProfilerInfo(android.app.ProfilerInfo) Comparator(java.util.Comparator) Activity(android.app.Activity) Resources(android.content.res.Resources) SuggestionSpan(android.text.style.SuggestionSpan) PermissionInfo(android.content.pm.PermissionInfo) Arrays(java.util.Arrays) DEBUG_VISIBLE_BEHIND(com.android.server.am.ActivityManagerDebugConfig.DEBUG_VISIBLE_BEHIND) ParcelFileDescriptor(android.os.ParcelFileDescriptor) DEBUG_BACKUP(com.android.server.am.ActivityManagerDebugConfig.DEBUG_BACKUP) ConfigurationInfo(android.content.pm.ConfigurationInfo) GuardedBy(com.android.internal.annotations.GuardedBy) IServiceConnection(android.app.IServiceConnection) Uri(android.net.Uri) Process(android.os.Process) FREEFORM_WORKSPACE_STACK_ID(android.app.ActivityManager.StackId.FREEFORM_WORKSPACE_STACK_ID) DEVELOPMENT_FORCE_RTL(android.provider.Settings.Global.DEVELOPMENT_FORCE_RTL) Manifest(android.Manifest) StatusBarManagerInternal(com.android.server.statusbar.StatusBarManagerInternal) IUserSwitchObserver(android.app.IUserSwitchObserver) ProcessStats(com.android.internal.app.procstats.ProcessStats) Looper(android.os.Looper) Maps(com.google.android.collect.Maps) TimeUtils(android.util.TimeUtils) DEVELOPMENT_FORCE_RESIZABLE_ACTIVITIES(android.provider.Settings.Global.DEVELOPMENT_FORCE_RESIZABLE_ACTIVITIES) DEBUG_PSS(com.android.server.am.ActivityManagerDebugConfig.DEBUG_PSS) PrintWriter(java.io.PrintWriter) POSTFIX_LRU(com.android.server.am.ActivityManagerDebugConfig.POSTFIX_LRU) POSTFIX_URI_PERMISSION(com.android.server.am.ActivityManagerDebugConfig.POSTFIX_URI_PERMISSION) PERMISSION_GRANTED(android.content.pm.PackageManager.PERMISSION_GRANTED) DEBUG_PROVIDER(com.android.server.am.ActivityManagerDebugConfig.DEBUG_PROVIDER) DEBUG_BROADCAST(com.android.server.am.ActivityManagerDebugConfig.DEBUG_BROADCAST) DropBoxManager(android.os.DropBoxManager) POSTFIX_CONFIGURATION(com.android.server.am.ActivityManagerDebugConfig.POSTFIX_CONFIGURATION) PINNED_STACK_ID(android.app.ActivityManager.StackId.PINNED_STACK_ID) Set(java.util.Set) POSTFIX_PROVIDER(com.android.server.am.ActivityManagerDebugConfig.POSTFIX_PROVIDER) POSTFIX_VISIBLE_BEHIND(com.android.server.am.ActivityManagerDebugConfig.POSTFIX_VISIBLE_BEHIND) StandardCharsets(java.nio.charset.StandardCharsets) Message(android.os.Message) AssistUtils(com.android.internal.app.AssistUtils) WindowManagerService(com.android.server.wm.WindowManagerService) DEBUG_VISIBILITY(com.android.server.am.ActivityManagerDebugConfig.DEBUG_VISIBILITY) CompatibilityInfo(android.content.res.CompatibilityInfo) Environment(android.os.Environment) IUiAutomationConnection(android.app.IUiAutomationConnection) Dialog(android.app.Dialog) Instrumentation(android.app.Instrumentation) AssistStructure(android.app.assist.AssistStructure) XmlUtils.readLongAttribute(com.android.internal.util.XmlUtils.readLongAttribute) FULLSCREEN_WORKSPACE_STACK_ID(android.app.ActivityManager.StackId.FULLSCREEN_WORKSPACE_STACK_ID) FEATURE_LEANBACK_ONLY(android.content.pm.PackageManager.FEATURE_LEANBACK_ONLY) Parcel(android.os.Parcel) ArrayList(java.util.ArrayList) IntentSender(android.content.IntentSender) PowerManagerInternal(android.os.PowerManagerInternal) DEBUG_CLEANUP(com.android.server.am.ActivityManagerDebugConfig.DEBUG_CLEANUP) PROC_SPACE_TERM(android.os.Process.PROC_SPACE_TERM) DebugUtils(android.util.DebugUtils) UserHandle(android.os.UserHandle) DOCKED_STACK_CREATE_MODE_TOP_OR_LEFT(android.app.ActivityManager.DOCKED_STACK_CREATE_MODE_TOP_OR_LEFT) POSTFIX_STACK(com.android.server.am.ActivityManagerDebugConfig.POSTFIX_STACK) DEBUG_STACK(com.android.server.am.ActivityManagerDebugConfig.DEBUG_STACK) IBackupManager(android.app.backup.IBackupManager) FONT_SCALE(android.provider.Settings.System.FONT_SCALE) StorageManager(android.os.storage.StorageManager) Xml(android.util.Xml) POSTFIX_SWITCH(com.android.server.am.ActivityManagerDebugConfig.POSTFIX_SWITCH) AttributeCache(com.android.server.AttributeCache) EventLog(android.util.EventLog) FastPrintWriter(com.android.internal.util.FastPrintWriter) StringWriter(java.io.StringWriter) FileOutputStream(java.io.FileOutputStream) IContentProvider(android.content.IContentProvider) IPackageDataObserver(android.content.pm.IPackageDataObserver) WorkSource(android.os.WorkSource) LENIENT_BACKGROUND_CHECK(android.provider.Settings.Global.LENIENT_BACKGROUND_CHECK) DEFER_RESUME(com.android.server.am.ActivityStackSupervisor.DEFER_RESUME) TRANSIT_TASK_IN_PLACE(com.android.server.wm.AppTransition.TRANSIT_TASK_IN_PLACE) File(java.io.File) AppWidgetManager(android.appwidget.AppWidgetManager) Gravity(android.view.Gravity) ComponentCallbacks2(android.content.ComponentCallbacks2) TransferPipe(com.android.internal.os.TransferPipe) MemInfoReader(com.android.internal.util.MemInfoReader) ActivityState(com.android.server.am.ActivityStack.ActivityState) ITaskStackListener(android.app.ITaskStackListener) Configuration(android.content.res.Configuration) MATCH_UNINSTALLED_PACKAGES(android.content.pm.PackageManager.MATCH_UNINSTALLED_PACKAGES) DEBUG_BROADCAST_LIGHT(com.android.server.am.ActivityManagerDebugConfig.DEBUG_BROADCAST_LIGHT) ResultReceiver(android.os.ResultReceiver) INTERACT_ACROSS_USERS(android.Manifest.permission.INTERACT_ACROSS_USERS) IStopUserCallback(android.app.IStopUserCallback) AppOpsManager(android.app.AppOpsManager) DateUtils(android.text.format.DateUtils) UsageEvents(android.app.usage.UsageEvents) POSTFIX_PROCESSES(com.android.server.am.ActivityManagerDebugConfig.POSTFIX_PROCESSES) ProcessCpuTracker(com.android.internal.os.ProcessCpuTracker) PendingIntent(android.app.PendingIntent) DEBUG_OOM_ADJ(com.android.server.am.ActivityManagerDebugConfig.DEBUG_OOM_ADJ) InstallerException(com.android.server.pm.Installer.InstallerException) LockGuard(com.android.server.LockGuard) VoiceInteractionSession(android.service.voice.VoiceInteractionSession) INTERACT_ACROSS_USERS_FULL(android.Manifest.permission.INTERACT_ACROSS_USERS_FULL) MATCH_SYSTEM_ONLY(android.content.pm.PackageManager.MATCH_SYSTEM_ONLY) IBinder(android.os.IBinder) ActivityOptions(android.app.ActivityOptions) PowerManager(android.os.PowerManager) VoiceInteractionManagerInternal(android.service.voice.VoiceInteractionManagerInternal) XmlUtils.writeIntAttribute(com.android.internal.util.XmlUtils.writeIntAttribute) FastXmlSerializer(com.android.internal.util.FastXmlSerializer) View(android.view.View) XmlUtils.readBooleanAttribute(com.android.internal.util.XmlUtils.readBooleanAttribute) DEBUG_SERVICE(com.android.server.am.ActivityManagerDebugConfig.DEBUG_SERVICE) START_TASKS_FROM_RECENTS(android.Manifest.permission.START_TASKS_FROM_RECENTS) ProxyInfo(android.net.ProxyInfo) IInstrumentationWatcher(android.app.IInstrumentationWatcher) NotificationManager(android.app.NotificationManager) SystemService(com.android.server.SystemService) AssistContent(android.app.assist.AssistContent) RESTORE_FROM_RECENTS(com.android.server.am.ActivityStackSupervisor.RESTORE_FROM_RECENTS) NonNull(android.annotation.NonNull) BroadcastReceiver(android.content.BroadcastReceiver) AtomicFile(android.util.AtomicFile) FileNotFoundException(java.io.FileNotFoundException) ContentObserver(android.database.ContentObserver) AlertDialog(android.app.AlertDialog) SparseArray(android.util.SparseArray) List(java.util.List) DEBUG_URI_PERMISSION(com.android.server.am.ActivityManagerDebugConfig.DEBUG_URI_PERMISSION) AppOpsService(com.android.server.AppOpsService) IntentFirewall(com.android.server.firewall.IntentFirewall) ApplicationInfo(android.content.pm.ApplicationInfo) StackInfo(android.app.ActivityManager.StackInfo) HOME_STACK_ID(android.app.ActivityManager.StackId.HOME_STACK_ID) NameNotFoundException(android.content.pm.PackageManager.NameNotFoundException) Context(android.content.Context) DEBUG_FOCUS(com.android.server.am.ActivityManagerDebugConfig.DEBUG_FOCUS) RunningTaskInfo(android.app.ActivityManager.RunningTaskInfo) DEBUG_CONFIGURATION(com.android.server.am.ActivityManagerDebugConfig.DEBUG_CONFIGURATION) Pair(android.util.Pair) Intent(android.content.Intent) PrintWriterPrinter(android.util.PrintWriterPrinter) HashMap(java.util.HashMap) MATCH_DEBUG_TRIAGED_MISSING(android.content.pm.PackageManager.MATCH_DEBUG_TRIAGED_MISSING) START_TAG(org.xmlpull.v1.XmlPullParser.START_TAG) LocaleList(android.os.LocaleList) ClipData(android.content.ClipData) POSTFIX_VISIBILITY(com.android.server.am.ActivityManagerDebugConfig.POSTFIX_VISIBILITY) DevicePolicyManager(android.app.admin.DevicePolicyManager) RECENTS_ACTIVITY_TYPE(com.android.server.am.ActivityRecord.RECENTS_ACTIVITY_TYPE) FORCE_NEW_TASK_FLAGS(com.android.server.am.ActivityStackSupervisor.ActivityContainer.FORCE_NEW_TASK_FLAGS) ArraySet(android.util.ArraySet) INVALID_TASK_ID(com.android.server.am.TaskRecord.INVALID_TASK_ID) R(com.android.internal.R) UsageStatsManagerInternal(android.app.usage.UsageStatsManagerInternal) DialogInterface(android.content.DialogInterface) ProcessMap(com.android.internal.app.ProcessMap) ApplicationErrorReport(android.app.ApplicationErrorReport) POSTFIX_POWER(com.android.server.am.ActivityManagerDebugConfig.POSTFIX_POWER) Iterator(java.util.Iterator) ActivityThread(android.app.ActivityThread) TAG_WITH_CLASS_NAME(com.android.server.am.ActivityManagerDebugConfig.TAG_WITH_CLASS_NAME) Point(android.graphics.Point) Lists(com.google.android.collect.Lists) ContentProvider(android.content.ContentProvider) PROC_CHAR(android.os.Process.PROC_CHAR) IActivityContainerCallback(android.app.IActivityContainerCallback) ResolveInfo(android.content.pm.ResolveInfo) DEBUG_LOCKSCREEN(com.android.server.am.ActivityManagerDebugConfig.DEBUG_LOCKSCREEN) FileUtils(android.os.FileUtils) TRANSIT_TASK_OPEN(com.android.server.wm.AppTransition.TRANSIT_TASK_OPEN) TelephonyIntents(com.android.internal.telephony.TelephonyIntents) POSTFIX_RECENTS(com.android.server.am.ActivityManagerDebugConfig.POSTFIX_RECENTS) StrictMode(android.os.StrictMode) DEBUG_SWITCH(com.android.server.am.ActivityManagerDebugConfig.DEBUG_SWITCH) FileDescriptor(java.io.FileDescriptor) ArrayUtils(com.android.internal.util.ArrayUtils) Collections(java.util.Collections) BatteryStatsImpl(com.android.internal.os.BatteryStatsImpl) MountServiceInternal(android.os.storage.MountServiceInternal) PROC_OUT_LONG(android.os.Process.PROC_OUT_LONG) ProcessCpuTracker(com.android.internal.os.ProcessCpuTracker) FastPrintWriter(com.android.internal.util.FastPrintWriter) MemInfoReader(com.android.internal.util.MemInfoReader) Point(android.graphics.Point) SparseArray(android.util.SparseArray) StringWriter(java.io.StringWriter) BatteryStats(android.os.BatteryStats) ProcessStats(com.android.internal.app.procstats.ProcessStats) PrintWriter(java.io.PrintWriter) FastPrintWriter(com.android.internal.util.FastPrintWriter)

Example 54 with Comparator

use of java.util.Comparator in project platform_frameworks_base by android.

the class ActivityManagerService method dumpProcessOomList.

private static final boolean dumpProcessOomList(PrintWriter pw, ActivityManagerService service, List<ProcessRecord> origList, String prefix, String normalLabel, String persistentLabel, boolean inclDetails, String dumpPackage) {
    ArrayList<Pair<ProcessRecord, Integer>> list = new ArrayList<Pair<ProcessRecord, Integer>>(origList.size());
    for (int i = 0; i < origList.size(); i++) {
        ProcessRecord r = origList.get(i);
        if (dumpPackage != null && !r.pkgList.containsKey(dumpPackage)) {
            continue;
        }
        list.add(new Pair<ProcessRecord, Integer>(origList.get(i), i));
    }
    if (list.size() <= 0) {
        return false;
    }
    Comparator<Pair<ProcessRecord, Integer>> comparator = new Comparator<Pair<ProcessRecord, Integer>>() {

        @Override
        public int compare(Pair<ProcessRecord, Integer> object1, Pair<ProcessRecord, Integer> object2) {
            if (object1.first.setAdj != object2.first.setAdj) {
                return object1.first.setAdj > object2.first.setAdj ? -1 : 1;
            }
            if (object1.first.setProcState != object2.first.setProcState) {
                return object1.first.setProcState > object2.first.setProcState ? -1 : 1;
            }
            if (object1.second.intValue() != object2.second.intValue()) {
                return object1.second.intValue() > object2.second.intValue() ? -1 : 1;
            }
            return 0;
        }
    };
    Collections.sort(list, comparator);
    final long curRealtime = SystemClock.elapsedRealtime();
    final long realtimeSince = curRealtime - service.mLastPowerCheckRealtime;
    final long curUptime = SystemClock.uptimeMillis();
    final long uptimeSince = curUptime - service.mLastPowerCheckUptime;
    for (int i = list.size() - 1; i >= 0; i--) {
        ProcessRecord r = list.get(i).first;
        String oomAdj = ProcessList.makeOomAdjString(r.setAdj);
        char schedGroup;
        switch(r.setSchedGroup) {
            case ProcessList.SCHED_GROUP_BACKGROUND:
                schedGroup = 'B';
                break;
            case ProcessList.SCHED_GROUP_DEFAULT:
                schedGroup = 'F';
                break;
            case ProcessList.SCHED_GROUP_TOP_APP:
                schedGroup = 'T';
                break;
            default:
                schedGroup = '?';
                break;
        }
        char foreground;
        if (r.foregroundActivities) {
            foreground = 'A';
        } else if (r.foregroundServices) {
            foreground = 'S';
        } else {
            foreground = ' ';
        }
        String procState = ProcessList.makeProcStateString(r.curProcState);
        pw.print(prefix);
        pw.print(r.persistent ? persistentLabel : normalLabel);
        pw.print(" #");
        int num = (origList.size() - 1) - list.get(i).second;
        if (num < 10)
            pw.print(' ');
        pw.print(num);
        pw.print(": ");
        pw.print(oomAdj);
        pw.print(' ');
        pw.print(schedGroup);
        pw.print('/');
        pw.print(foreground);
        pw.print('/');
        pw.print(procState);
        pw.print(" trm:");
        if (r.trimMemoryLevel < 10)
            pw.print(' ');
        pw.print(r.trimMemoryLevel);
        pw.print(' ');
        pw.print(r.toShortString());
        pw.print(" (");
        pw.print(r.adjType);
        pw.println(')');
        if (r.adjSource != null || r.adjTarget != null) {
            pw.print(prefix);
            pw.print("    ");
            if (r.adjTarget instanceof ComponentName) {
                pw.print(((ComponentName) r.adjTarget).flattenToShortString());
            } else if (r.adjTarget != null) {
                pw.print(r.adjTarget.toString());
            } else {
                pw.print("{null}");
            }
            pw.print("<=");
            if (r.adjSource instanceof ProcessRecord) {
                pw.print("Proc{");
                pw.print(((ProcessRecord) r.adjSource).toShortString());
                pw.println("}");
            } else if (r.adjSource != null) {
                pw.println(r.adjSource.toString());
            } else {
                pw.println("{null}");
            }
        }
        if (inclDetails) {
            pw.print(prefix);
            pw.print("    ");
            pw.print("oom: max=");
            pw.print(r.maxAdj);
            pw.print(" curRaw=");
            pw.print(r.curRawAdj);
            pw.print(" setRaw=");
            pw.print(r.setRawAdj);
            pw.print(" cur=");
            pw.print(r.curAdj);
            pw.print(" set=");
            pw.println(r.setAdj);
            pw.print(prefix);
            pw.print("    ");
            pw.print("state: cur=");
            pw.print(ProcessList.makeProcStateString(r.curProcState));
            pw.print(" set=");
            pw.print(ProcessList.makeProcStateString(r.setProcState));
            pw.print(" lastPss=");
            DebugUtils.printSizeValue(pw, r.lastPss * 1024);
            pw.print(" lastSwapPss=");
            DebugUtils.printSizeValue(pw, r.lastSwapPss * 1024);
            pw.print(" lastCachedPss=");
            DebugUtils.printSizeValue(pw, r.lastCachedPss * 1024);
            pw.println();
            pw.print(prefix);
            pw.print("    ");
            pw.print("cached=");
            pw.print(r.cached);
            pw.print(" empty=");
            pw.print(r.empty);
            pw.print(" hasAboveClient=");
            pw.println(r.hasAboveClient);
            if (r.setProcState >= ActivityManager.PROCESS_STATE_SERVICE) {
                if (r.lastWakeTime != 0) {
                    long wtime;
                    BatteryStatsImpl stats = service.mBatteryStatsService.getActiveStatistics();
                    synchronized (stats) {
                        wtime = stats.getProcessWakeTime(r.info.uid, r.pid, curRealtime);
                    }
                    long timeUsed = wtime - r.lastWakeTime;
                    pw.print(prefix);
                    pw.print("    ");
                    pw.print("keep awake over ");
                    TimeUtils.formatDuration(realtimeSince, pw);
                    pw.print(" used ");
                    TimeUtils.formatDuration(timeUsed, pw);
                    pw.print(" (");
                    pw.print((timeUsed * 100) / realtimeSince);
                    pw.println("%)");
                }
                if (r.lastCpuTime != 0) {
                    long timeUsed = r.curCpuTime - r.lastCpuTime;
                    pw.print(prefix);
                    pw.print("    ");
                    pw.print("run cpu over ");
                    TimeUtils.formatDuration(uptimeSince, pw);
                    pw.print(" used ");
                    TimeUtils.formatDuration(timeUsed, pw);
                    pw.print(" (");
                    pw.print((timeUsed * 100) / uptimeSince);
                    pw.println("%)");
                }
            }
        }
    }
    return true;
}
Also used : ArrayList(java.util.ArrayList) BatteryStatsImpl(com.android.internal.os.BatteryStatsImpl) Point(android.graphics.Point) Comparator(java.util.Comparator) ComponentName(android.content.ComponentName) Pair(android.util.Pair)

Example 55 with Comparator

use of java.util.Comparator in project platform_frameworks_base by android.

the class Am method getRecentConfigurations.

private List<Configuration> getRecentConfigurations(int days) {
    IUsageStatsManager usm = IUsageStatsManager.Stub.asInterface(ServiceManager.getService(Context.USAGE_STATS_SERVICE));
    final long now = System.currentTimeMillis();
    final long nDaysAgo = now - (days * 24 * 60 * 60 * 1000);
    try {
        @SuppressWarnings("unchecked") ParceledListSlice<ConfigurationStats> configStatsSlice = usm.queryConfigurationStats(UsageStatsManager.INTERVAL_BEST, nDaysAgo, now, "com.android.shell");
        if (configStatsSlice == null) {
            return Collections.emptyList();
        }
        final ArrayMap<Configuration, Integer> recentConfigs = new ArrayMap<>();
        final List<ConfigurationStats> configStatsList = configStatsSlice.getList();
        final int configStatsListSize = configStatsList.size();
        for (int i = 0; i < configStatsListSize; i++) {
            final ConfigurationStats stats = configStatsList.get(i);
            final int indexOfKey = recentConfigs.indexOfKey(stats.getConfiguration());
            if (indexOfKey < 0) {
                recentConfigs.put(stats.getConfiguration(), stats.getActivationCount());
            } else {
                recentConfigs.setValueAt(indexOfKey, recentConfigs.valueAt(indexOfKey) + stats.getActivationCount());
            }
        }
        final Comparator<Configuration> comparator = new Comparator<Configuration>() {

            @Override
            public int compare(Configuration a, Configuration b) {
                return recentConfigs.get(b).compareTo(recentConfigs.get(a));
            }
        };
        ArrayList<Configuration> configs = new ArrayList<>(recentConfigs.size());
        configs.addAll(recentConfigs.keySet());
        Collections.sort(configs, comparator);
        return configs;
    } catch (RemoteException e) {
        return Collections.emptyList();
    }
}
Also used : ConfigurationStats(android.app.usage.ConfigurationStats) Configuration(android.content.res.Configuration) ArrayList(java.util.ArrayList) ArrayMap(android.util.ArrayMap) Comparator(java.util.Comparator) IUsageStatsManager(android.app.usage.IUsageStatsManager) RemoteException(android.os.RemoteException)

Aggregations

Comparator (java.util.Comparator)322 ArrayList (java.util.ArrayList)123 List (java.util.List)58 Test (org.junit.Test)58 HashMap (java.util.HashMap)50 IOException (java.io.IOException)36 Map (java.util.Map)35 File (java.io.File)24 HashSet (java.util.HashSet)23 TreeSet (java.util.TreeSet)20 Set (java.util.Set)18 Iterator (java.util.Iterator)15 Method (java.lang.reflect.Method)14 Collections (java.util.Collections)14 Date (java.util.Date)14 TreeMap (java.util.TreeMap)14 ArrayMap (android.util.ArrayMap)12 Collection (java.util.Collection)11 LinkedList (java.util.LinkedList)11 SimpleDateFormat (java.text.SimpleDateFormat)10