Merge "Fix issue with extra padding int groups list view." into klp-dev
diff --git a/src/com/android/contacts/activities/PeopleActivity.java b/src/com/android/contacts/activities/PeopleActivity.java
index f26fb96..2d69917 100644
--- a/src/com/android/contacts/activities/PeopleActivity.java
+++ b/src/com/android/contacts/activities/PeopleActivity.java
@@ -195,6 +195,11 @@
*/
private boolean mCurrentFilterIsValid;
+ /**
+ * This is to disable {@link #onOptionsItemSelected} when we trying to stop the activity.
+ */
+ private boolean mDisableOptionItemSelected;
+
/** Sequential ID assigned to each instance; used for logging */
private final int mInstanceId;
private static final AtomicInteger sNextInstanceId = new AtomicInteger();
@@ -500,6 +505,7 @@
// Re-register the listener, which may have been cleared when onSaveInstanceState was
// called. See also: onSaveInstanceState
mActionBarAdapter.setListener(this);
+ mDisableOptionItemSelected = false;
if (mTabPager != null) {
mTabPager.setOnPageChangeListener(mTabPagerListener);
}
@@ -1488,6 +1494,10 @@
@Override
public boolean onOptionsItemSelected(MenuItem item) {
+ if (mDisableOptionItemSelected) {
+ return false;
+ }
+
switch (item.getItemId()) {
case android.R.id.home: {
// The home icon on the action bar is pressed
@@ -1706,6 +1716,7 @@
// Clear the listener to make sure we don't get callbacks after onSaveInstanceState,
// in order to avoid doing fragment transactions after it.
// TODO Figure out a better way to deal with the issue.
+ mDisableOptionItemSelected = true;
mActionBarAdapter.setListener(null);
if (mTabPager != null) {
mTabPager.setOnPageChangeListener(null);
diff --git a/src/com/android/contacts/model/ContactLoader.java b/src/com/android/contacts/model/ContactLoader.java
index 4c0e70a..8583f14 100644
--- a/src/com/android/contacts/model/ContactLoader.java
+++ b/src/com/android/contacts/model/ContactLoader.java
@@ -389,10 +389,11 @@
if (accountName != null) {
final String accountType = json.getString(RawContacts.ACCOUNT_TYPE);
contact.setDirectoryMetaData(directoryName, null, accountName, accountType,
- Directory.EXPORT_SUPPORT_SAME_ACCOUNT_ONLY);
+ json.optInt(Directory.EXPORT_SUPPORT,
+ Directory.EXPORT_SUPPORT_SAME_ACCOUNT_ONLY));
} else {
contact.setDirectoryMetaData(directoryName, null, null, null,
- Directory.EXPORT_SUPPORT_ANY_ACCOUNT);
+ json.optInt(Directory.EXPORT_SUPPORT, Directory.EXPORT_SUPPORT_ANY_ACCOUNT));
}
final ContentValues values = new ContentValues();