diff options
author | Amith Yamasani <yamasani@google.com> | 2009-07-02 02:34:14 -0700 |
---|---|---|
committer | Amith Yamasani <yamasani@google.com> | 2009-07-02 04:58:09 -0700 |
commit | 220f4d633be1098e7887dbd06f179138bf19f1ad (patch) | |
tree | 31e4a5379beddf0dbf492ba7047b4005a103365a /packages/SettingsProvider/src/com/android/providers/settings/SettingsProvider.java | |
parent | d45dcbec856710f9478ffc5689e7cdf95d757ab8 (diff) | |
download | frameworks_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.java | 17 |
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"); |