Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 12030008 authored by weijuncheng's avatar weijuncheng Committed by juncheng wei
Browse files

Fix adb shell cmd activity get-config --proto --device fail



Root cause:
If the system features got from pm.getSystemAvailableFeatures() have some features with no name,
it may cause adb shell cmd activity get-config --proto --device fails, the second parameter
in the compator should also be judged with o2.name == null

Bug: 118662777

Test: run cts  -m CtsActivityManagerDeviceTestCases
               -t android.server.am.ActivityManagerGetConfigTests#testDeviceConfig


Change-Id: Iee22cdf2e69104d3d9480971655b0be66ff84e46
Signed-off-by: default avatarweijuncheng <weijuncheng@xiaomi.com>
parent 568faa8e
Loading
Loading
Loading
Loading
+7 −2
Original line number Diff line number Diff line
@@ -2069,8 +2069,13 @@ final class ActivityManagerShellCommand extends ShellCommand {
        }

        FeatureInfo[] features = pm.getSystemAvailableFeatures();
        Arrays.sort(features, (o1, o2) ->
                (o1.name == o2.name ? 0 : (o1.name == null ? -1 : o1.name.compareTo(o2.name))));
        Arrays.sort(features, (o1, o2) -> {
            if (o1.name == o2.name) return 0;
            if (o1.name == null) return -1;
            if (o2.name == null) return 1;
            return o1.name.compareTo(o2.name);
        });

        for (int i = 0; i < features.length; i++) {
            if (features[i].name != null) {
                if (protoOutputStream != null) {