summaryrefslogtreecommitdiffstats
path: root/packages/SettingsProvider/src/com/android/providers/settings/SettingsProvider.java
diff options
context:
space:
mode:
authorAmith Yamasani <yamasani@google.com>2009-07-02 02:34:14 -0700
committerAmith Yamasani <yamasani@google.com>2009-07-02 04:58:09 -0700
commit220f4d633be1098e7887dbd06f179138bf19f1ad (patch)
tree31e4a5379beddf0dbf492ba7047b4005a103365a /packages/SettingsProvider/src/com/android/providers/settings/SettingsProvider.java
parentd45dcbec856710f9478ffc5689e7cdf95d757ab8 (diff)
downloadframeworks_base-220f4d633be1098e7887dbd06f179138bf19f1ad.zip
frameworks_base-220f4d633be1098e7887dbd06f179138bf19f1ad.tar.gz
frameworks_base-220f4d633be1098e7887dbd06f179138bf19f1ad.tar.bz2
System and Secure settings backup.
This backs up the basic system and secure settings. THe restoration doesn't take effect immediately. You many need to restart the runtime to see all restored values take effect.
Diffstat (limited to 'packages/SettingsProvider/src/com/android/providers/settings/SettingsProvider.java')
-rw-r--r--packages/SettingsProvider/src/com/android/providers/settings/SettingsProvider.java17
1 files changed, 15 insertions, 2 deletions
diff --git a/packages/SettingsProvider/src/com/android/providers/settings/SettingsProvider.java b/packages/SettingsProvider/src/com/android/providers/settings/SettingsProvider.java
index 3db52eb..a21bf32 100644
--- a/packages/SettingsProvider/src/com/android/providers/settings/SettingsProvider.java
+++ b/packages/SettingsProvider/src/com/android/providers/settings/SettingsProvider.java
@@ -16,6 +16,9 @@
package com.android.providers.settings;
+import java.io.FileNotFoundException;
+
+import android.backup.IBackupManager;
import android.content.ContentProvider;
import android.content.ContentUris;
import android.content.ContentValues;
@@ -27,6 +30,7 @@ import android.database.sqlite.SQLiteQueryBuilder;
import android.media.RingtoneManager;
import android.net.Uri;
import android.os.ParcelFileDescriptor;
+import android.os.ServiceManager;
import android.os.SystemProperties;
import android.provider.DrmStore;
import android.provider.MediaStore;
@@ -34,8 +38,6 @@ import android.provider.Settings;
import android.text.TextUtils;
import android.util.Log;
-import java.io.FileNotFoundException;
-
public class SettingsProvider extends ContentProvider {
private static final String TAG = "SettingsProvider";
private static final boolean LOCAL_LOGV = false;
@@ -137,6 +139,17 @@ public class SettingsProvider extends ContentProvider {
SystemProperties.set(property, Long.toString(version));
}
+ // Inform the backup manager about a data change
+ IBackupManager ibm = IBackupManager.Stub.asInterface(
+ ServiceManager.getService(Context.BACKUP_SERVICE));
+ if (ibm != null) {
+ try {
+ ibm.dataChanged(getContext().getPackageName());
+ } catch (Exception e) {
+ // Try again later
+ }
+ }
+
// Now send the notification through the content framework.
String notify = uri.getQueryParameter("notify");