Create backup agent for the Dialer app.

- Currently only the active tab is being backed up.
- More settings may be added later.

Change-Id: Id66565029be751beae8b58d4cc054f8d2d16ceea
diff --git a/src/com/android/dialer/DialtactsActivity.java b/src/com/android/dialer/DialtactsActivity.java
index 32339d2..22e6ba0 100644
--- a/src/com/android/dialer/DialtactsActivity.java
+++ b/src/com/android/dialer/DialtactsActivity.java
@@ -21,6 +21,7 @@
 import android.app.ActionBar.Tab;
 import android.app.ActionBar.TabListener;
 import android.app.Activity;
+import android.app.backup.BackupManager;
 import android.app.Fragment;
 import android.app.FragmentManager;
 import android.app.FragmentTransaction;
@@ -108,6 +109,8 @@
 
     private SharedPreferences mPrefs;
 
+    public static final String SHARED_PREFS_NAME = "com.android.dialer_preferences";
+
     /** Last manually selected tab index */
     private static final String PREF_LAST_MANUALLY_SELECTED_TAB =
             "DialtactsActivity_last_manually_selected_tab";
@@ -526,7 +529,7 @@
         getActionBar().setDisplayShowHomeEnabled(false);
 
         // Load the last manually loaded tab
-        mPrefs = PreferenceManager.getDefaultSharedPreferences(this);
+        mPrefs = this.getSharedPreferences(SHARED_PREFS_NAME, Context.MODE_PRIVATE);
         mLastManuallySelectedFragment = mPrefs.getInt(PREF_LAST_MANUALLY_SELECTED_TAB,
                 PREF_LAST_MANUALLY_SELECTED_TAB_DEFAULT);
         if (mLastManuallySelectedFragment >= TAB_INDEX_COUNT) {
@@ -711,6 +714,12 @@
 
         mPrefs.edit().putInt(PREF_LAST_MANUALLY_SELECTED_TAB, mLastManuallySelectedFragment)
                 .apply();
+        requestBackup();
+    }
+
+    private void requestBackup() {
+        final BackupManager bm = new BackupManager(this);
+        bm.dataChanged();
     }
 
     private void fixIntent(Intent intent) {