Merge change 6305 into donut
* changes:
Fix up permissions for 'dumpsys backup'
diff --git a/services/java/com/android/server/BackupManagerService.java b/services/java/com/android/server/BackupManagerService.java
index e47d853..4b5c3df 100644
--- a/services/java/com/android/server/BackupManagerService.java
+++ b/services/java/com/android/server/BackupManagerService.java
@@ -316,6 +316,7 @@
// Add a transport to our set of available backends
private void registerTransport(String name, IBackupTransport transport) {
synchronized (mTransports) {
+ if (DEBUG) Log.v(TAG, "Registering transport " + name + " = " + transport);
mTransports.put(name, transport);
}
}
@@ -1341,7 +1342,7 @@
// Report all known, available backup transports
public String[] listAllTransports() {
- mContext.enforceCallingPermission(android.Manifest.permission.BACKUP, "listAllTransports");
+ mContext.enforceCallingOrSelfPermission(android.Manifest.permission.BACKUP, "listAllTransports");
String[] list = null;
ArrayList<String> known = new ArrayList<String>();
@@ -1503,6 +1504,8 @@
@Override
public void dump(FileDescriptor fd, PrintWriter pw, String[] args) {
synchronized (mQueueLock) {
+ long oldId = Binder.clearCallingIdentity();
+
pw.println("Backup Manager is " + (mEnabled ? "enabled" : "disabled"));
pw.println("Available transports:");
for (String t : listAllTransports()) {
@@ -1524,6 +1527,8 @@
for (BackupRequest req : mPendingBackups.values()) {
pw.println(" " + req);
}
+
+ Binder.restoreCallingIdentity(oldId);
}
}
}