Merge "Add SharedPrefs util methods for restore dismissals" into ub-contactsdialer-h-dev
diff --git a/src/com/android/contacts/util/SharedPreferenceUtil.java b/src/com/android/contacts/util/SharedPreferenceUtil.java
index 80e4825..cee54b9 100644
--- a/src/com/android/contacts/util/SharedPreferenceUtil.java
+++ b/src/com/android/contacts/util/SharedPreferenceUtil.java
@@ -18,8 +18,6 @@
 
 import android.content.Context;
 import android.content.SharedPreferences;
-import android.telephony.SubscriptionInfo;
-import android.telephony.TelephonyManager;
 
 import com.android.contacts.common.model.SimCard;
 
@@ -53,6 +51,12 @@
     private static final String PREFERENCE_KEY_DISMISSED_SIM_CARDS =
             "dismissedSimCards";
 
+    private static final String PREFERENCE_KEY_RESTORED_DEVICES =
+            "restoredDevices";
+
+    private static final String PREFERENCE_KEY_DISMISSED_DEVICES =
+            "dismissedDevices";
+
     public static boolean getHamburgerPromoDisplayedBefore(Context context) {
         return getSharedPreferences(context)
                 .getBoolean(PREFERENCE_KEY_HAMBURGER_PROMO_DISPLAYED_BEFORE, false);
@@ -191,6 +195,40 @@
                 .getStringSet(PREFERENCE_KEY_DISMISSED_SIM_CARDS, Collections.<String>emptySet());
     }
 
+    public static Set<String> getRestoredDevices(Context context) {
+        return getSharedPreferences(context)
+                .getStringSet(PREFERENCE_KEY_RESTORED_DEVICES, Collections.<String>emptySet());
+    }
+
+    public static Set<String> getDismissedDevices(Context context) {
+        return getSharedPreferences(context)
+                .getStringSet(PREFERENCE_KEY_DISMISSED_DEVICES, Collections.<String>emptySet());
+    }
+
+    public static void addRestoredDevice(Context context, String deviceId) {
+        final Set<String> restoredDevices = new HashSet<>(getRestoredDevices(context));
+        restoredDevices.add(deviceId);
+        getSharedPreferences(context).edit()
+                .putStringSet(PREFERENCE_KEY_RESTORED_DEVICES, restoredDevices)
+                .apply();
+    }
+
+    public static void addDismissedDevice(Context context, String deviceId) {
+        final Set<String> dismissedDevices = new HashSet<>(getDismissedDevices(context));
+        dismissedDevices.add(deviceId);
+        getSharedPreferences(context).edit()
+                .putStringSet(PREFERENCE_KEY_DISMISSED_DEVICES, dismissedDevices)
+                .commit();
+    }
+
+    public static void removeDismissedDevice(Context context, String deviceId) {
+        final Set<String> dismissedDevices = new HashSet<>(getDismissedDevices(context));
+        dismissedDevices.remove(deviceId);
+        getSharedPreferences(context).edit()
+                .putStringSet(PREFERENCE_KEY_DISMISSED_DEVICES, dismissedDevices)
+                .commit();
+    }
+
     public static void clear(Context context) {
         getSharedPreferences(context).edit().clear().commit();
     }