Tradefed: Attempt to use list -a for getPackagesToSet
Return all packages, including hidden ones, as the invariants apply
to all.
Bug: 80284247
Test: forrest --tf_binary_path=$ANDROID_HOST_OUT/bin test --context='{"build":{"branch":"git_master","build_id":"4424619"}}' ab::4424619:marlin-userdebug:git_master /google/src/files/head/depot/google3/wireless/android/test_tools/atp/config/test/asit/dexoptota/self_full.gcl
Merged-In: I5883513f74c6631cda8abf1459d4b5dd8bf4f4c5
Change-Id: I5883513f74c6631cda8abf1459d4b5dd8bf4f4c5
diff --git a/src/com/android/tradefed/targetprep/SetPackagesRecentlyUsed.java b/src/com/android/tradefed/targetprep/SetPackagesRecentlyUsed.java
index d3d3b98..b2ebb52 100644
--- a/src/com/android/tradefed/targetprep/SetPackagesRecentlyUsed.java
+++ b/src/com/android/tradefed/targetprep/SetPackagesRecentlyUsed.java
@@ -69,7 +69,17 @@
private List<String> getPackagesToSet(ITestDevice device) throws DeviceNotAvailableException {
if (mPackages.isEmpty()) {
- String[] packages = device.executeShellCommand("cmd package list package").split("\n");
+ String packageString;
+ try {
+ String res = device.executeShellCommand("cmd package list package -a");
+ if (res == null || res.contains("Error: Unknown option: -a")) {
+ throw new RuntimeException();
+ }
+ packageString = res;
+ } catch (RuntimeException e) {
+ packageString = device.executeShellCommand("cmd package list package");
+ }
+ String[] packages = packageString.split("\n");
return Arrays.asList(packages);
} else {
return mPackages;