Custom PreferenceCategory for emergency contacts

Change-Id: Ie59e3d8589fb19d419a01af0a2cc98f435941301
diff --git a/src/com/android/emergency/EmergencyContactManager.java b/src/com/android/emergency/EmergencyContactManager.java
index 69c91f6..764e4a7 100644
--- a/src/com/android/emergency/EmergencyContactManager.java
+++ b/src/com/android/emergency/EmergencyContactManager.java
@@ -17,76 +17,18 @@
 
 import android.content.ContentResolver;
 import android.content.Context;
-import android.content.SharedPreferences;
 import android.database.Cursor;
 import android.graphics.Bitmap;
 import android.graphics.BitmapFactory;
 import android.net.Uri;
 import android.provider.ContactsContract;
-import android.util.ArraySet;
 
 import java.io.ByteArrayInputStream;
-import java.util.Collections;
-import java.util.Set;
 
 /**
- * Manages emergency contacts of the user.
+ * Provides methods to read name, phone number, photo, etc. from contacts.
  */
 public class EmergencyContactManager {
-    private final SharedPreferences mSharedPreferences;
-    private final String mKey;
-    private final Context mContext;
-
-    /**
-     * Creates a new instance initialized with context and the shared preferences used to store the
-     * emergency contacts under the specified key.
-     */
-    public EmergencyContactManager(Context context, SharedPreferences sharedPreferences,
-                                   String key) {
-        mContext = context;
-        mSharedPreferences = sharedPreferences;
-        mKey = key;
-    }
-
-    /**
-     * Adds a new contact to the emergency contacts. */
-    public void addContact(Uri contactUri) {
-        // TODO: Consider refactoring this to use always setContacts() rather than
-        // addContact()/removeContact()
-        Set<Uri> emergencyContacts = getEmergencyContacts();
-        if (emergencyContacts.add(contactUri)) {
-            setEmergencyContacts(emergencyContacts);
-        }
-    }
-
-    /** Removes the specified contact from the list of emergency contacts. */
-    public void removeContact(Uri contactUri) {
-        // TODO: Consider refactoring this to use always setContacts() rather than
-        // addContact()/removeContact()
-        Set<Uri> emergencyContacts = getEmergencyContacts();
-        if (emergencyContacts.remove(contactUri)) {
-            setEmergencyContacts(emergencyContacts);
-        }
-    }
-
-    public Set<Uri> getEmergencyContacts() {
-        Set<String> emergencyContactStrings = mSharedPreferences.getStringSet(mKey,
-                Collections.<String>emptySet());
-        Set<Uri> emergencyContacts = new ArraySet<Uri>(emergencyContactStrings.size());
-        for (String emergencyContact : emergencyContactStrings) {
-            Uri contactUri = Uri.parse(emergencyContact);
-            if (isValidEmergencyContact(contactUri)) {
-                emergencyContacts.add(contactUri);
-            }
-        }
-        // If not all contacts were added, then we need to overwrite the emergency contacts stored
-        // in shared preferences. This deals with emergency contacts being deleted from contacts:
-        // currently we have no way to being notified when this happens.
-        if (emergencyContacts.size() != emergencyContactStrings.size()) {
-            setEmergencyContacts(emergencyContacts);
-        }
-        return emergencyContacts;
-    }
 
     /** Returns the display name of the contact. */
     public static String getName(Context context, Uri contactUri) {
@@ -193,15 +135,7 @@
 
 
     /** Returns whether the contact uri is not null and corresponds to an existing contact. */
-    private boolean isValidEmergencyContact(Uri contactUri) {
-        return contactUri != null && contactExists(mContext, contactUri);
-    }
-
-    private void setEmergencyContacts(Set<Uri> emergencyContacts) {
-        Set<String> emergencyContactStrings = new ArraySet<String>(emergencyContacts.size());
-        for (Uri contactUri : emergencyContacts) {
-            emergencyContactStrings.add(contactUri.toString());
-        }
-        mSharedPreferences.edit().putStringSet(mKey, emergencyContactStrings).commit();
+    public static boolean isValidEmergencyContact(Context context, Uri contactUri) {
+        return contactUri != null && contactExists(context, contactUri);
     }
 }