Merge "Fix exceptions logged when loading icons" into ub-contactsdialer-i-dev
diff --git a/src/com/android/contacts/activities/AttachPhotoActivity.java b/src/com/android/contacts/activities/AttachPhotoActivity.java
index 24f9029..62e6ca4 100644
--- a/src/com/android/contacts/activities/AttachPhotoActivity.java
+++ b/src/com/android/contacts/activities/AttachPhotoActivity.java
@@ -366,7 +366,8 @@
final List<AccountWithDataSet> accounts = AccountInfo.extractAccounts(accountInfos);
if (editorUtils.shouldShowAccountChangedNotification(accounts)) {
- Intent intent = new Intent(this, ContactEditorAccountsChangedActivity.class);
+ Intent intent = new Intent(this, ContactEditorAccountsChangedActivity.class)
+ .addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP | Intent.FLAG_ACTIVITY_SINGLE_TOP);
startActivityForResult(intent, REQUEST_PICK_DEFAULT_ACCOUNT_FOR_NEW_CONTACT);
} else {
// Otherwise, there should be a default account. Then either create a null contact
diff --git a/src/com/android/contacts/activities/ContactEditorAccountsChangedActivity.java b/src/com/android/contacts/activities/ContactEditorAccountsChangedActivity.java
index 2ca51f6..2c3c2c8 100644
--- a/src/com/android/contacts/activities/ContactEditorAccountsChangedActivity.java
+++ b/src/com/android/contacts/activities/ContactEditorAccountsChangedActivity.java
@@ -18,10 +18,8 @@
import android.app.Activity;
import android.app.AlertDialog;
-import android.app.LoaderManager;
import android.content.DialogInterface;
import android.content.Intent;
-import android.content.Loader;
import android.os.Bundle;
import android.provider.ContactsContract.Intents;
import android.view.View;
@@ -36,13 +34,11 @@
import com.android.contacts.editor.ContactEditorUtils;
import com.android.contacts.model.AccountTypeManager;
import com.android.contacts.model.account.AccountInfo;
-import com.android.contacts.model.account.AccountType;
import com.android.contacts.model.account.AccountWithDataSet;
import com.android.contacts.model.account.AccountsLoader;
import com.android.contacts.util.AccountsListAdapter;
import com.android.contacts.util.AccountsListAdapter.AccountListFilter;
import com.android.contacts.util.ImplicitIntentsUtil;
-import com.google.common.util.concurrent.Futures;
import java.util.List;
diff --git a/src/com/android/contacts/activities/PeopleActivity.java b/src/com/android/contacts/activities/PeopleActivity.java
index 28891e5..93138db 100644
--- a/src/com/android/contacts/activities/PeopleActivity.java
+++ b/src/com/android/contacts/activities/PeopleActivity.java
@@ -16,7 +16,6 @@
package com.android.contacts.activities;
-import android.accounts.Account;
import android.app.Fragment;
import android.app.FragmentManager;
import android.app.FragmentTransaction;
@@ -69,7 +68,6 @@
import com.android.contacts.logging.ScreenEvent.ScreenType;
import com.android.contacts.model.AccountTypeManager;
import com.android.contacts.model.account.AccountInfo;
-import com.android.contacts.model.account.AccountType;
import com.android.contacts.model.account.AccountWithDataSet;
import com.android.contacts.util.AccountFilterUtil;
import com.android.contacts.util.Constants;
diff --git a/src/com/android/contacts/database/SimContactDaoImpl.java b/src/com/android/contacts/database/SimContactDaoImpl.java
index 4eb5fd3..b54f272 100644
--- a/src/com/android/contacts/database/SimContactDaoImpl.java
+++ b/src/com/android/contacts/database/SimContactDaoImpl.java
@@ -34,7 +34,6 @@
import android.provider.ContactsContract.RawContacts;
import android.support.annotation.VisibleForTesting;
import android.support.v4.util.ArrayMap;
-import android.support.v4.util.ArraySet;
import android.telephony.SubscriptionInfo;
import android.telephony.SubscriptionManager;
import android.telephony.TelephonyManager;
@@ -48,13 +47,13 @@
import com.android.contacts.model.account.AccountWithDataSet;
import com.android.contacts.util.PermissionsUtil;
import com.android.contacts.util.SharedPreferenceUtil;
-
import com.google.common.base.Joiner;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Collections;
import java.util.HashMap;
+import java.util.HashSet;
import java.util.List;
import java.util.Map;
import java.util.Set;
@@ -230,7 +229,7 @@
final AccountWithDataSet account = AccountQuery.getAccount(accountsCursor);
final long id = AccountQuery.getId(accountsCursor);
if (!result.containsKey(account)) {
- result.put(account, new ArraySet<SimContact>());
+ result.put(account, new HashSet<SimContact>());
}
for (SimContact contact : rawContactToSimContact.get(id)) {
result.get(account).add(contact);
diff --git a/src/com/android/contacts/editor/ContactEditorFragment.java b/src/com/android/contacts/editor/ContactEditorFragment.java
index 489cfd1..c1a149b 100644
--- a/src/com/android/contacts/editor/ContactEditorFragment.java
+++ b/src/com/android/contacts/editor/ContactEditorFragment.java
@@ -1016,7 +1016,7 @@
if (mEditorUtils.shouldShowAccountChangedNotification(accounts)) {
Intent intent = new Intent(mContext, ContactEditorAccountsChangedActivity.class);
// Prevent a second instance from being started on rotates
- intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
+ intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP | Intent.FLAG_ACTIVITY_SINGLE_TOP);
mStatus = Status.SUB_ACTIVITY;
startActivityForResult(intent, REQUEST_CODE_ACCOUNTS_CHANGED);
} else {
diff --git a/src/com/android/contacts/model/account/AccountTypeProvider.java b/src/com/android/contacts/model/account/AccountTypeProvider.java
index e30ae29..ba2788a 100644
--- a/src/com/android/contacts/model/account/AccountTypeProvider.java
+++ b/src/com/android/contacts/model/account/AccountTypeProvider.java
@@ -23,7 +23,6 @@
import android.content.Context;
import android.content.SyncAdapterType;
import android.provider.ContactsContract;
-import android.support.v4.util.ArraySet;
import android.text.TextUtils;
import android.util.Log;
@@ -34,6 +33,7 @@
import com.google.common.collect.ImmutableMap;
import java.util.Collections;
+import java.util.HashSet;
import java.util.List;
import java.util.Map;
import java.util.Set;
@@ -226,7 +226,7 @@
private static ImmutableMap<String, AuthenticatorDescription> onlyContactSyncable(
AuthenticatorDescription[] auths, SyncAdapterType[] syncTypes) {
- final Set<String> mContactSyncableTypes = new ArraySet<>();
+ final Set<String> mContactSyncableTypes = new HashSet<>();
for (SyncAdapterType type : syncTypes) {
if (type.authority.equals(ContactsContract.AUTHORITY)) {
mContactSyncableTypes.add(type.accountType);