diff options
| author | 2017-02-09 13:38:49 +0000 | |
|---|---|---|
| committer | 2017-02-09 23:11:43 +0000 | |
| commit | bf2ec2c5d7d4ae2f7a9bb1e2896fcddd96a386ff (patch) | |
| tree | a66a175e81c84cb08ad7b80f7700622e19f9a8f6 | |
| parent | b01cac7c5337eb71a05b5f2b019f73b8041404c9 (diff) | |
Fix for bmgr whitelist
The bmgr whitelist command was broken
after the selectTransport api cl. This
cl fixes it.
Bug: 34953486
Test: Verify that adb shell bmgr whitelist prints all whitelisted
transports
Change-Id: I3c3275258a45a035a0ca9404d1016ca5663cceaf
| -rw-r--r-- | services/backup/java/com/android/server/backup/BackupManagerService.java | 9 | ||||
| -rw-r--r-- | services/backup/java/com/android/server/backup/TransportManager.java | 3 |
2 files changed, 10 insertions, 2 deletions
diff --git a/services/backup/java/com/android/server/backup/BackupManagerService.java b/services/backup/java/com/android/server/backup/BackupManagerService.java index 88c05b55116b..3adf0f45dffc 100644 --- a/services/backup/java/com/android/server/backup/BackupManagerService.java +++ b/services/backup/java/com/android/server/backup/BackupManagerService.java @@ -9573,7 +9573,14 @@ if (MORE_DEBUG) Slog.v(TAG, " + got " + nRead + "; now wanting " + (size - soF public String[] getTransportWhitelist() { // No permission check, intentionally. - return mTransportManager.getTransportWhitelist().toArray(new String[0]); + Set<ComponentName> whitelistedComponents = mTransportManager.getTransportWhitelist(); + String[] whitelistedTransports = new String[whitelistedComponents.size()]; + int i = 0; + for (ComponentName component : whitelistedComponents) { + whitelistedTransports[i] = component.flattenToShortString(); + i++; + } + return whitelistedTransports; } // Select which transport to use for the next backup operation. diff --git a/services/backup/java/com/android/server/backup/TransportManager.java b/services/backup/java/com/android/server/backup/TransportManager.java index 93d5a1ea8880..b9dbe13af7c8 100644 --- a/services/backup/java/com/android/server/backup/TransportManager.java +++ b/services/backup/java/com/android/server/backup/TransportManager.java @@ -31,6 +31,7 @@ import android.os.IBinder; import android.os.RemoteException; import android.os.UserHandle; import android.util.ArrayMap; +import android.util.ArraySet; import android.util.EventLog; import android.util.Log; import android.util.Slog; @@ -84,7 +85,7 @@ class TransportManager { TransportBoundListener listener) { mContext = context; mPackageManager = context.getPackageManager(); - mTransportWhitelist = whitelist; + mTransportWhitelist = (whitelist != null) ? whitelist : new ArraySet<>(); mCurrentTransportName = defaultTransport; mTransportBoundListener = listener; } |