Merge "Change SIM import error notification" into ub-contactsdialer-i-dev
diff --git a/src/com/android/contacts/preference/ContactsPreferences.java b/src/com/android/contacts/preference/ContactsPreferences.java
index 584dff6..48fb205 100644
--- a/src/com/android/contacts/preference/ContactsPreferences.java
+++ b/src/com/android/contacts/preference/ContactsPreferences.java
@@ -16,6 +16,8 @@
 
 package com.android.contacts.preference;
 
+import android.app.backup.BackupAgent;
+import android.app.backup.BackupManager;
 import android.content.Context;
 import android.content.SharedPreferences;
 import android.content.SharedPreferences.Editor;
@@ -79,6 +81,7 @@
     private ChangeListener mListener = null;
     private Handler mHandler;
     private final SharedPreferences mPreferences;
+    private final BackupManager mBackupManager;
     private final boolean mIsDefaultAccountUserChangeable;
     private String mDefaultAccountKey;
 
@@ -92,6 +95,8 @@
         mContext = context;
         mIsDefaultAccountUserChangeable = isDefaultAccountUserChangeable;
 
+        mBackupManager = new BackupManager(mContext);
+
         mHandler = new Handler(Looper.getMainLooper());
         mPreferences = mContext.getSharedPreferences(context.getPackageName(),
                 Context.MODE_PRIVATE);
@@ -127,6 +132,7 @@
         final Editor editor = mPreferences.edit();
         editor.putInt(SORT_ORDER_KEY, sortOrder);
         editor.commit();
+        mBackupManager.dataChanged();
     }
 
     public boolean isDisplayOrderUserChangeable() {
@@ -156,6 +162,7 @@
         final Editor editor = mPreferences.edit();
         editor.putInt(DISPLAY_ORDER_KEY, displayOrder);
         editor.commit();
+        mBackupManager.dataChanged();
     }
 
     public boolean isDefaultAccountUserChangeable() {
diff --git a/src/com/android/contacts/util/SharedPreferenceUtil.java b/src/com/android/contacts/util/SharedPreferenceUtil.java
index ada7a57..1604711 100644
--- a/src/com/android/contacts/util/SharedPreferenceUtil.java
+++ b/src/com/android/contacts/util/SharedPreferenceUtil.java
@@ -16,6 +16,7 @@
 
 package com.android.contacts.util;
 
+import android.app.backup.BackupManager;
 import android.content.Context;
 import android.content.SharedPreferences;
 
@@ -36,13 +37,13 @@
     public static final String PREFERENCE_KEY_GLOBAL_SYNC_OFF_DISMISSES =
             "num-of-dismisses-auto-sync-off";
 
-    private static final String PREFERENCE_KEY_HAMBURGER_PROMO_DISPLAYED =
+    public static final String PREFERENCE_KEY_HAMBURGER_PROMO_DISPLAYED =
             "hamburgerPromoDisplayed";
 
-    private static final String PREFERENCE_KEY_HAMBURGER_MENU_CLICKED =
+    public static final String PREFERENCE_KEY_HAMBURGER_MENU_CLICKED =
             "hamburgerMenuClicked";
 
-    private static final String PREFERENCE_KEY_HAMBURGER_PROMO_TRIGGER_ACTION_HAPPENED =
+    public static final String PREFERENCE_KEY_HAMBURGER_PROMO_TRIGGER_ACTION_HAPPENED =
             "hamburgerPromoTriggerActionHappened";
 
     private static final String PREFERENCE_KEY_IMPORTED_SIM_CARDS =
@@ -69,6 +70,7 @@
         getSharedPreferences(context).edit()
                 .putBoolean(PREFERENCE_KEY_HAMBURGER_PROMO_DISPLAYED, true)
                 .apply();
+        new BackupManager(context).dataChanged();
     }
 
     public static boolean getHamburgerMenuClickedBefore(Context context) {
@@ -80,6 +82,7 @@
         getSharedPreferences(context).edit()
                 .putBoolean(PREFERENCE_KEY_HAMBURGER_MENU_CLICKED, true)
                 .apply();
+        new BackupManager(context).dataChanged();
     }
 
     public static boolean getHamburgerPromoTriggerActionHappenedBefore(Context context) {
@@ -91,6 +94,7 @@
         getSharedPreferences(context).edit()
                 .putBoolean(PREFERENCE_KEY_HAMBURGER_PROMO_TRIGGER_ACTION_HAPPENED, true)
                 .apply();
+        new BackupManager(context).dataChanged();
     }
 
     /**
@@ -109,7 +113,12 @@
     }
 
     protected static SharedPreferences getSharedPreferences(Context context) {
-        return context.getSharedPreferences(context.getPackageName(), Context.MODE_PRIVATE);
+        return context.getSharedPreferences(getSharedPreferencesFilename(context),
+                Context.MODE_PRIVATE);
+    }
+
+    public static String getSharedPreferencesFilename(Context context) {
+        return context.getPackageName();
     }
 
     public static int getNumOfDismissesForAutoSyncOff(Context context) {
@@ -244,9 +253,11 @@
     public static void setWelcomeCardDismissed(Context context, boolean isDismissed) {
         getSharedPreferences(context).edit().putBoolean(PREFERENCE_WELCOME_CARD_DISMISSED,
                 isDismissed).apply();
+        new BackupManager(context).dataChanged();
     }
 
     public static void clear(Context context) {
         getSharedPreferences(context).edit().clear().commit();
+        new BackupManager(context).dataChanged();
     }
 }