diff options
Diffstat (limited to 'services/java')
| -rw-r--r-- | services/java/com/android/server/BackupManagerService.java | 49 |
1 files changed, 20 insertions, 29 deletions
diff --git a/services/java/com/android/server/BackupManagerService.java b/services/java/com/android/server/BackupManagerService.java index b547f23..953e401 100644 --- a/services/java/com/android/server/BackupManagerService.java +++ b/services/java/com/android/server/BackupManagerService.java @@ -74,10 +74,6 @@ class BackupManagerService extends IBackupManager.Stub { private static final String TAG = "BackupManagerService"; private static final boolean DEBUG = true; - // Secure settings - private static final String BACKUP_TRANSPORT_SETTING = "backup_transport"; - private static final String BACKUP_ENABLED_SETTING = "backup_enabled"; - // How often we perform a backup pass. Privileged external callers can // trigger an immediate pass. private static final long BACKUP_INTERVAL = 60 * 60 * 1000; @@ -165,10 +161,8 @@ class BackupManagerService extends IBackupManager.Stub { mActivityManager = ActivityManagerNative.getDefault(); // Set up our bookkeeping - // !!! STOPSHIP: make this disabled by default so that we then gate on - // setupwizard or other opt-out UI - mEnabled = (Settings.Secure.getInt(mContext.getContentResolver(), - BACKUP_ENABLED_SETTING, 1) != 0); + mEnabled = Settings.Secure.getInt(context.getContentResolver(), + Settings.Secure.BACKUP_ENABLED, 0) != 0; mBaseStateDir = new File(Environment.getDataDirectory(), "backup"); mDataDir = Environment.getDownloadCacheDirectory(); @@ -192,13 +186,10 @@ class BackupManagerService extends IBackupManager.Stub { registerTransport(localName.flattenToShortString(), mLocalTransport); mGoogleTransport = null; - // !!! TODO: set up the default transport name "the right way" - mCurrentTransport = Settings.Secure.getString(mContext.getContentResolver(), - BACKUP_TRANSPORT_SETTING); - if (mCurrentTransport == null) { - mCurrentTransport = "com.google.android.backup/.BackupTransportService"; - Settings.Secure.putString(mContext.getContentResolver(), - BACKUP_TRANSPORT_SETTING, mCurrentTransport); + mCurrentTransport = Settings.Secure.getString(context.getContentResolver(), + Settings.Secure.BACKUP_TRANSPORT); + if ("".equals(mCurrentTransport)) { + mCurrentTransport = null; } if (DEBUG) Log.v(TAG, "Starting with transport " + mCurrentTransport); @@ -1093,7 +1084,7 @@ class BackupManagerService extends IBackupManager.Stub { // If the caller does not hold the BACKUP permission, it can only request a // backup of its own data. HashSet<ApplicationInfo> targets; - if ((mContext.checkPermission("android.permission.BACKUP", Binder.getCallingPid(), + if ((mContext.checkPermission(android.Manifest.permission.BACKUP, Binder.getCallingPid(), Binder.getCallingUid())) == PackageManager.PERMISSION_DENIED) { targets = mBackupParticipants.get(Binder.getCallingUid()); } else { @@ -1154,7 +1145,7 @@ class BackupManagerService extends IBackupManager.Stub { // Run a backup pass immediately for any applications that have declared // that they have pending updates. public void backupNow() throws RemoteException { - mContext.enforceCallingPermission("android.permission.BACKUP", "backupNow"); + mContext.enforceCallingPermission(android.Manifest.permission.BACKUP, "backupNow"); if (DEBUG) Log.v(TAG, "Scheduling immediate backup pass"); synchronized (mQueueLock) { @@ -1164,12 +1155,12 @@ class BackupManagerService extends IBackupManager.Stub { // Enable/disable the backup transport public void setBackupEnabled(boolean enable) { - mContext.enforceCallingPermission("android.permission.BACKUP", "setBackupEnabled"); + mContext.enforceCallingPermission(android.Manifest.permission.BACKUP, "setBackupEnabled"); boolean wasEnabled = mEnabled; synchronized (this) { - Settings.Secure.putInt(mContext.getContentResolver(), BACKUP_ENABLED_SETTING, - enable ? 1 : 0); + Settings.Secure.putInt(mContext.getContentResolver(), + Settings.Secure.BACKUP_ENABLED, enable ? 1 : 0); mEnabled = enable; } @@ -1186,7 +1177,7 @@ class BackupManagerService extends IBackupManager.Stub { // Report whether the backup mechanism is currently enabled public boolean isBackupEnabled() { - mContext.enforceCallingPermission("android.permission.BACKUP", "isBackupEnabled"); + mContext.enforceCallingPermission(android.Manifest.permission.BACKUP, "isBackupEnabled"); return mEnabled; // no need to synchronize just to read it } @@ -1199,7 +1190,7 @@ class BackupManagerService extends IBackupManager.Stub { // Report all known, available backup transports public String[] listAllTransports() { - mContext.enforceCallingPermission("android.permission.BACKUP", "listAllTransports"); + mContext.enforceCallingPermission(android.Manifest.permission.BACKUP, "listAllTransports"); String[] list = null; ArrayList<String> known = new ArrayList<String>(); @@ -1220,15 +1211,15 @@ class BackupManagerService extends IBackupManager.Stub { // name is not one of the available transports, no action is taken and the method // returns null. public String selectBackupTransport(String transport) { - mContext.enforceCallingPermission("android.permission.BACKUP", "selectBackupTransport"); + mContext.enforceCallingPermission(android.Manifest.permission.BACKUP, "selectBackupTransport"); synchronized (mTransports) { String prevTransport = null; if (mTransports.get(transport) != null) { prevTransport = mCurrentTransport; mCurrentTransport = transport; - Settings.Secure.putString(mContext.getContentResolver(), BACKUP_TRANSPORT_SETTING, - transport); + Settings.Secure.putString(mContext.getContentResolver(), + Settings.Secure.BACKUP_TRANSPORT, transport); Log.v(TAG, "selectBackupTransport() set " + mCurrentTransport + " returning " + prevTransport); } else { @@ -1274,7 +1265,7 @@ class BackupManagerService extends IBackupManager.Stub { // Hand off a restore session public IRestoreSession beginRestoreSession(String transport) { - mContext.enforceCallingPermission("android.permission.BACKUP", "beginRestoreSession"); + mContext.enforceCallingPermission(android.Manifest.permission.BACKUP, "beginRestoreSession"); synchronized(this) { if (mActiveRestoreSession != null) { @@ -1300,7 +1291,7 @@ class BackupManagerService extends IBackupManager.Stub { // --- Binder interface --- public RestoreSet[] getAvailableRestoreSets() throws android.os.RemoteException { - mContext.enforceCallingPermission("android.permission.BACKUP", + mContext.enforceCallingPermission(android.Manifest.permission.BACKUP, "getAvailableRestoreSets"); try { @@ -1319,7 +1310,7 @@ class BackupManagerService extends IBackupManager.Stub { public int performRestore(long token, IRestoreObserver observer) throws android.os.RemoteException { - mContext.enforceCallingPermission("android.permission.BACKUP", "performRestore"); + mContext.enforceCallingPermission(android.Manifest.permission.BACKUP, "performRestore"); Log.d(TAG, "performRestore token=" + token + " observer=" + observer); @@ -1339,7 +1330,7 @@ class BackupManagerService extends IBackupManager.Stub { } public void endRestoreSession() throws android.os.RemoteException { - mContext.enforceCallingPermission("android.permission.BACKUP", + mContext.enforceCallingPermission(android.Manifest.permission.BACKUP, "endRestoreSession"); Log.d(TAG, "endRestoreSession"); |
