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: weijuncheng <weijuncheng@xiaomi.com>
This commit is contained in:
weijuncheng
2018-10-30 14:07:53 +08:00
committed by juncheng wei
parent 568faa8ed9
commit 1203000809

View File

@@ -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) {