Merge "Update ViewPagerTabs to include unread count value." into ub-contactsdialer-a-dev
diff --git a/src/com/android/contacts/common/preference/ContactsPreferences.java b/src/com/android/contacts/common/preference/ContactsPreferences.java
index 2fce78c..befcbe4 100644
--- a/src/com/android/contacts/common/preference/ContactsPreferences.java
+++ b/src/com/android/contacts/common/preference/ContactsPreferences.java
@@ -183,6 +183,7 @@
// listener was unregistered.
mDisplayOrder = -1;
mSortOrder = -1;
+ mDefaultAccount = null;
mPreferences.registerOnSharedPreferenceChangeListener(this);
}
@@ -206,6 +207,8 @@
mDisplayOrder = getDisplayOrder();
} else if (SORT_ORDER_KEY.equals(key)) {
mSortOrder = getSortOrder();
+ } else if (mDefaultAccountKey.equals(key)) {
+ mDefaultAccount = getDefaultAccount();
}
if (mListener != null) mListener.onChange();
}
diff --git a/src/com/android/contacts/common/preference/DisplayOptionsPreferenceFragment.java b/src/com/android/contacts/common/preference/DisplayOptionsPreferenceFragment.java
index e49f38a..f43f3d0 100644
--- a/src/com/android/contacts/common/preference/DisplayOptionsPreferenceFragment.java
+++ b/src/com/android/contacts/common/preference/DisplayOptionsPreferenceFragment.java
@@ -17,9 +17,15 @@
package com.android.contacts.common.preference;
import android.os.Bundle;
+import android.preference.ListPreference;
import android.preference.PreferenceFragment;
+import android.preference.PreferenceScreen;
import com.android.contacts.common.R;
+import com.android.contacts.common.model.AccountTypeManager;
+import com.android.contacts.common.model.account.AccountWithDataSet;
+
+import java.util.List;
/**
* This fragment shows the preferences for the first header.
@@ -32,6 +38,15 @@
// Load the preferences from an XML resource
addPreferencesFromResource(R.xml.preference_display_options);
+
+ // Remove "Default account" setting if no writable accounts.
+ final AccountTypeManager accountTypeManager = AccountTypeManager.getInstance(getContext());
+ final List<AccountWithDataSet> accounts = accountTypeManager.getAccounts(
+ /* contactWritableOnly */ true);
+ if (accounts.isEmpty()) {
+ final PreferenceScreen preferenceScreen = getPreferenceScreen();
+ preferenceScreen.removePreference((ListPreference) findPreference("accounts"));
+ }
}
}