Adding mock shared preferences
Change-Id: I1af7cb97703191ce016a936fd843e1ac73be1022
diff --git a/src/com/android/contacts/ContactsActivity.java b/src/com/android/contacts/ContactsActivity.java
index 90a975f..79ebecb 100644
--- a/src/com/android/contacts/ContactsActivity.java
+++ b/src/com/android/contacts/ContactsActivity.java
@@ -20,6 +20,7 @@
import android.app.Activity;
import android.content.ContentResolver;
+import android.content.SharedPreferences;
/**
* A common superclass for Contacts activities that handles application-wide services.
@@ -43,6 +44,19 @@
}
@Override
+ public SharedPreferences getSharedPreferences(String name, int mode) {
+ InjectedServices services = ContactsApplication.getInjectedServices();
+ if (services != null) {
+ SharedPreferences prefs = services.getSharedPreferences();
+ if (prefs != null) {
+ return prefs;
+ }
+ }
+
+ return super.getSharedPreferences(name, mode);
+ }
+
+ @Override
public Object getSystemService(String name) {
Object service = super.getSystemService(name);
if (service != null) {
diff --git a/src/com/android/contacts/ContactsApplication.java b/src/com/android/contacts/ContactsApplication.java
index 288a3d7..f0e2736 100644
--- a/src/com/android/contacts/ContactsApplication.java
+++ b/src/com/android/contacts/ContactsApplication.java
@@ -22,6 +22,7 @@
import android.app.Application;
import android.content.ContentResolver;
import android.content.Context;
+import android.content.SharedPreferences;
import android.os.StrictMode;
import android.preference.PreferenceManager;
@@ -53,6 +54,18 @@
}
@Override
+ public SharedPreferences getSharedPreferences(String name, int mode) {
+ if (sInjectedServices != null) {
+ SharedPreferences prefs = sInjectedServices.getSharedPreferences();
+ if (prefs != null) {
+ return prefs;
+ }
+ }
+
+ return super.getSharedPreferences(name, mode);
+ }
+
+ @Override
public Object getSystemService(String name) {
if (sInjectedServices != null) {
Object service = sInjectedServices.getSystemService(name);
diff --git a/src/com/android/contacts/list/ContactBrowseListFragment.java b/src/com/android/contacts/list/ContactBrowseListFragment.java
index a53fce7..0301f44 100644
--- a/src/com/android/contacts/list/ContactBrowseListFragment.java
+++ b/src/com/android/contacts/list/ContactBrowseListFragment.java
@@ -611,6 +611,9 @@
private void restoreFilter() {
if (mFilterEnabled) {
mFilter = ContactListFilter.restoreFromPreferences(mPrefs);
+ if (mFilter == null) {
+ mFilter = new ContactListFilter(ContactListFilter.FILTER_TYPE_ALL_ACCOUNTS);
+ }
}
}
diff --git a/src/com/android/contacts/test/InjectedServices.java b/src/com/android/contacts/test/InjectedServices.java
index f059f3a..b74481c 100644
--- a/src/com/android/contacts/test/InjectedServices.java
+++ b/src/com/android/contacts/test/InjectedServices.java
@@ -19,6 +19,7 @@
import com.google.android.collect.Maps;
import android.content.ContentResolver;
+import android.content.SharedPreferences;
import java.util.HashMap;
@@ -30,16 +31,25 @@
public class InjectedServices {
private ContentResolver mContentResolver;
+ private SharedPreferences mSharedPreferences;
private HashMap<String, Object> mSystemServices;
- public void setContentResolver(ContentResolver mContentResolver) {
- this.mContentResolver = mContentResolver;
+ public void setContentResolver(ContentResolver contentResolver) {
+ this.mContentResolver = contentResolver;
}
public ContentResolver getContentResolver() {
return mContentResolver;
}
+ public void setSharedPreferences(SharedPreferences sharedPreferences) {
+ this.mSharedPreferences = sharedPreferences;
+ }
+
+ public SharedPreferences getSharedPreferences() {
+ return mSharedPreferences;
+ }
+
public void setSystemService(String name, Object service) {
if (mSystemServices == null) {
mSystemServices = Maps.newHashMap();