From b4adc62b15e17b9cff0cf2fc04701d64ca5ded70 Mon Sep 17 00:00:00 2001 From: Winson Date: Thu, 13 May 2021 14:05:53 -0700 Subject: [PATCH] Print minExtensionVersions to Settings package dump This is necessary to assert on the value inside a host side CTS test. Output is formatted like an array of pairs: minExtensionVersions=[30=0,31=1] Bug: 187110971 Test: TODO, will not be merged yet, see bug Change-Id: Ie609b36100940671915052e9f8fe5ab9a8e56761 --- .../java/com/android/server/pm/Settings.java | 18 +++++++++++++++++- 1 file changed, 17 insertions(+), 1 deletion(-) diff --git a/services/core/java/com/android/server/pm/Settings.java b/services/core/java/com/android/server/pm/Settings.java index 1b8eee3925a5f..b9fbd70e8e68f 100644 --- a/services/core/java/com/android/server/pm/Settings.java +++ b/services/core/java/com/android/server/pm/Settings.java @@ -4439,7 +4439,23 @@ public final class Settings implements Watchable, Snappable { pw.print(prefix); pw.print(" versionCode="); pw.print(ps.versionCode); if (pkg != null) { pw.print(" minSdk="); pw.print(pkg.getMinSdkVersion()); - pw.print(" targetSdk="); pw.print(pkg.getTargetSdkVersion()); + pw.print(" targetSdk="); pw.println(pkg.getTargetSdkVersion()); + + SparseIntArray minExtensionVersions = pkg.getMinExtensionVersions(); + + pw.print(prefix); pw.print(" minExtensionVersions=["); + if (minExtensionVersions != null) { + List minExtVerStrings = new ArrayList<>(); + int size = minExtensionVersions.size(); + for (int index = 0; index < size; index++) { + int key = minExtensionVersions.keyAt(index); + int value = minExtensionVersions.valueAt(index); + minExtVerStrings.add(key + "=" + value); + } + + pw.print(TextUtils.join(", ", minExtVerStrings)); + } + pw.print("]"); } pw.println(); if (pkg != null) {