Merge "Let bmgr inspect the set of whitelisted transports" into nyc-dev
This commit is contained in:
@ -122,6 +122,11 @@ public final class Bmgr {
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if ("whitelist".equals(op)) {
|
||||||
|
doPrintWhitelist();
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
System.err.println("Unknown command");
|
System.err.println("Unknown command");
|
||||||
showUsage();
|
showUsage();
|
||||||
}
|
}
|
||||||
@ -604,6 +609,20 @@ public final class Bmgr {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private void doPrintWhitelist() {
|
||||||
|
try {
|
||||||
|
final String[] whitelist = mBmgr.getTransportWhitelist();
|
||||||
|
if (whitelist != null) {
|
||||||
|
for (String transport : whitelist) {
|
||||||
|
System.out.println(transport);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
} catch (RemoteException e) {
|
||||||
|
System.err.println(e.toString());
|
||||||
|
System.err.println(BMGR_NOT_RUNNING_ERR);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
private String nextArg() {
|
private String nextArg() {
|
||||||
if (mNextArg >= mArgs.length) {
|
if (mNextArg >= mArgs.length) {
|
||||||
return null;
|
return null;
|
||||||
|
@ -217,6 +217,14 @@ interface IBackupManager {
|
|||||||
*/
|
*/
|
||||||
String[] listAllTransports();
|
String[] listAllTransports();
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Retrieve the list of whitelisted transport components. Callers do </i>not</i> need
|
||||||
|
* any special permission.
|
||||||
|
*
|
||||||
|
* @return The names of all whitelisted transport components defined by the system.
|
||||||
|
*/
|
||||||
|
String[] getTransportWhitelist();
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Specify the current backup transport. Callers must hold the
|
* Specify the current backup transport. Callers must hold the
|
||||||
* android.permission.BACKUP permission to use this method.
|
* android.permission.BACKUP permission to use this method.
|
||||||
|
@ -9598,6 +9598,15 @@ if (MORE_DEBUG) Slog.v(TAG, " + got " + nRead + "; now wanting " + (size - soF
|
|||||||
return list;
|
return list;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public String[] getTransportWhitelist() {
|
||||||
|
// No permission check, intentionally.
|
||||||
|
String[] whitelist = new String[mTransportWhitelist.size()];
|
||||||
|
for (int i = mTransportWhitelist.size() - 1; i >= 0; i--) {
|
||||||
|
whitelist[i] = mTransportWhitelist.valueAt(i).flattenToShortString();
|
||||||
|
}
|
||||||
|
return whitelist;
|
||||||
|
}
|
||||||
|
|
||||||
// Select which transport to use for the next backup operation.
|
// Select which transport to use for the next backup operation.
|
||||||
public String selectBackupTransport(String transport) {
|
public String selectBackupTransport(String transport) {
|
||||||
mContext.enforceCallingOrSelfPermission(android.Manifest.permission.BACKUP,
|
mContext.enforceCallingOrSelfPermission(android.Manifest.permission.BACKUP,
|
||||||
|
@ -274,6 +274,12 @@ public class Trampoline extends IBackupManager.Stub {
|
|||||||
return (svc != null) ? svc.listAllTransports() : null;
|
return (svc != null) ? svc.listAllTransports() : null;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public String[] getTransportWhitelist() {
|
||||||
|
BackupManagerService svc = mService;
|
||||||
|
return (svc != null) ? svc.getTransportWhitelist() : null;
|
||||||
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public String selectBackupTransport(String transport) throws RemoteException {
|
public String selectBackupTransport(String transport) throws RemoteException {
|
||||||
BackupManagerService svc = mService;
|
BackupManagerService svc = mService;
|
||||||
|
Reference in New Issue
Block a user