merge in ics-mr1-release history after reset to ics-mr1
diff --git a/res/layout/contacts_unavailable_fragment.xml b/res/layout/contacts_unavailable_fragment.xml
index 1abc020..9f28a55 100644
--- a/res/layout/contacts_unavailable_fragment.xml
+++ b/res/layout/contacts_unavailable_fragment.xml
@@ -62,12 +62,13 @@
android:layout_marginBottom="15dip"
android:text="@string/contacts_unavailable_add_account" />
+ <!-- TODO: Use a string that says "Import" instead of "Import/export contacts"-->
<Button
android:id="@+id/import_contacts_button"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginBottom="15dip"
- android:text="@string/contacts_unavailable_import_contacts" />
+ android:text="@string/dialog_import_export" />
<Button
android:id="@+id/import_failure_uninstall_button"
diff --git a/res/values-af/strings.xml b/res/values-af/strings.xml
index 91f4183..91af189 100644
--- a/res/values-af/strings.xml
+++ b/res/values-af/strings.xml
@@ -89,7 +89,7 @@
</string-array>
<string name="photoPickerNotFoundText" product="tablet" msgid="6247290728908599701">"Geen prente is op die tablet beskikbaar nie."</string>
<string name="photoPickerNotFoundText" product="default" msgid="431331662154342581">"Geen prente is beskikbaar op die foon nie."</string>
- <string name="attach_photo_dialog_title" msgid="5599827035558557169">"Kontak se foto"</string>
+ <string name="attach_photo_dialog_title" msgid="5599827035558557169">"Kontakfoto"</string>
<string name="customLabelPickerTitle" msgid="1081475101983255212">"Gepasmaakte etiketnaam"</string>
<string name="send_to_voicemail_checkbox" msgid="9001686764070676353">"Stuur oproepe direk na stemboodskap"</string>
<string name="removePhoto" msgid="4898105274130284565">"Verwyder foto"</string>
@@ -293,7 +293,7 @@
<string name="dialog_import_export" msgid="4360648034889921624">"Voer kontakte in/uit"</string>
<string name="menu_share" msgid="943789700636542260">"Deel"</string>
<string name="menu_all_contacts" msgid="5101735431586050711">"Alle kontakte"</string>
- <string name="share_via" msgid="563121028023030093">"Deel kontak via"</string>
+ <string name="share_via" msgid="563121028023030093">"Deel kontak met"</string>
<string name="share_error" msgid="948429331673358107">"Hierdie kontak kan nie gedeel word nie."</string>
<string name="nameLabelsGroup" msgid="2034640839640477827">"Naam"</string>
<string name="nicknameLabelsGroup" msgid="2891682101053358010">"Bynaam"</string>
diff --git a/res/values-sw/strings.xml b/res/values-sw/strings.xml
index 8fd8dd8..ecbb2f4 100644
--- a/res/values-sw/strings.xml
+++ b/res/values-sw/strings.xml
@@ -142,7 +142,7 @@
<string name="recentCalls_editNumberBeforeCall" msgid="7756171675833267857">"Hariri nambari kabla ya kupiga"</string>
<string name="recentCalls_addToContact" msgid="1429899535546487008">"Ongeza kwa anwani"</string>
<string name="recentCalls_removeFromRecentList" msgid="401662244636511330">"Toa kwa orodha ya simu zilizopigwa"</string>
- <string name="recentCalls_deleteAll" msgid="6352364392762163704">"Futa kumbukumbu ya upigaji simu"</string>
+ <string name="recentCalls_deleteAll" msgid="6352364392762163704">"Futa rekodi ya simu"</string>
<string name="recentCalls_trashVoicemail" msgid="7604696960787435655">"Futa barua ya sauti"</string>
<string name="recentCalls_shareVoicemail" msgid="1416112847592942840">"Shiriki barua ya sauti"</string>
<string name="recentCalls_empty" msgid="247053222448663107">"Orodha ya kupiga simu ni tupu."</string>
@@ -169,7 +169,7 @@
<string name="noContactsNoSimHelpText" product="default" msgid="6224952277619986841">"Hauna anwani zozote za kuonyesha."\n\n"Ili kuongeza anwani, gusa "<font fgcolor="#ffffffff"><b>" Menyu "</b></font>", kisha uguse: "\n" "\n<li><font fgcolor="#ffffffff"><b>"Akaunti"</b></font>" kuongeza au kusanidi akaunti yenye anwani unazoweza kulandanisha kwa simu "\n</li>" "\n<li><font fgcolor="#ffffffff"><b>"Anwani mpya"</b></font>" Ili kuunda anwani mpya kutoka mwanzo "\n</li>" "\n<li><font fgcolor="#ffffffff"><b>" Leta/Hamisha "</b></font>" ili kuhamisha anwani kutoka kwa kadi yako ya SD"\n</li></string>
<string name="noContactsNoSimHelpTextWithSync" product="tablet" msgid="5415762667445638265">"Hauna anwani zozote za kuonyesha. (Kama umeongeza akaunti sasa hivi tu, inaweza kuchukua dakika chache kulandanisha anwani.)"\n\n"Ili kuongeza anwani, gusa "<font fgcolor="#ffffffff"><b>"Menyu"</b></font>",kisha uguse:"\n" "\n<li><font fgcolor="#ffffffff"><b>"Akaunti"</b></font>" ili kuongeza au kusanidi akaunti na anwani unazoweza kulandanisha kwenye kompyuta ndogo"\n</li>" "\n<li><font fgcolor="#ffffffff"><b>"Onyesha chaguo"</b></font>" ili kubadilisha anwani zinazoonekana"\n</li>" "\n<li><font fgcolor="#ffffffff"><b>"Anwani mpya"</b></font>" ili kuunda anwani mpya kutoka mwanzo"\n</li>" "\n<li><font fgcolor="#ffffffff"><b>"Leta/Hamisha"</b></font>" ili kuleta anwani kutoka kwa kadi yako ya SD"\n</li></string>
<string name="noContactsNoSimHelpTextWithSync" product="default" msgid="7443705129830284440">"Hauna anwani zozote za kuonyesha. (Kama umeongeza akaunti sasa hivi, inaweza kuchukua dakika chache kulandanisha anwani.)"\n\n"Kuongeza anwani, gusa "<font fgcolor="#ffffffff"><b>"Menyu"</b></font>",kisha uguse:{"\n" "\n<li><font fgcolor="#ffffffff"><b>"Akaunti"</b></font>" ili kuongeza au kuanzisha akaunti yenye anwani unazoweza kulandanisha kwenye simu"\n</li>" "\n<li><font fgcolor="#ffffffff"><b>"Onyesha uchaguzi"</b></font>" kwa kubadilisha anwani gani zinazoonekana"\n</li>" "\n<li><font fgcolor="#ffffffff"><b>"Anwani mpya"</b></font>"ili kuunda anwani mpya kutoka mwanzo"\n</li>\n<li><font fgcolor="#ffffffff"><b>"Leta/Hamisha"</b></font>" ili kuleta anwani kutoka kwa kadi yako ya SD"\n</li></string>
- <!-- syntax error in translation for noFavoritesHelpText (3744655776704833277) org.xmlpull.v1.XmlPullParserException: expected: /string read: b (position:END_TAG </b>@1:167 in java.io.StringReader@70535b58) -->
+ <!-- syntax error in translation for noFavoritesHelpText (3744655776704833277) org.xmlpull.v1.XmlPullParserException: expected: /string read: b (position:END_TAG </b>@1:167 in java.io.StringReader@ae94e92) -->
<string name="dialer_useDtmfDialpad" msgid="1707548397435075040">"Tumia kibao cha kuchapa cha sauti na kugusa"</string>
<string name="dialer_returnToInCallScreen" msgid="3719386377550913067">"Rudi kwa simu inayoendelea"</string>
<string name="dialer_addAnotherCall" msgid="4205688819890074468">"Ongeza simu"</string>
diff --git a/res/values-vi/strings.xml b/res/values-vi/strings.xml
index 141bdd4..caf3b43 100644
--- a/res/values-vi/strings.xml
+++ b/res/values-vi/strings.xml
@@ -43,7 +43,7 @@
<string name="menu_viewContact" msgid="2795575601596468581">"Xem liên hệ"</string>
<string name="menu_callNumber" msgid="5142851348489387516">"Gọi <xliff:g id="NAME">%s</xliff:g>"</string>
<string name="menu_addStar" msgid="2908478235715404876">"Thêm vào mục ưa thích"</string>
- <string name="menu_removeStar" msgid="5844227078364227030">"Xoá khỏi mục ưa thích"</string>
+ <string name="menu_removeStar" msgid="5844227078364227030">"Xóa khỏi mục ưa thích"</string>
<string name="menu_editContact" msgid="9042415603857662633">"Chỉnh sửa"</string>
<string name="menu_deleteContact" msgid="6788644058868189393">"Xóa"</string>
<string name="menu_call" msgid="3992595586042260618">"Gọi liên hệ"</string>
@@ -66,9 +66,9 @@
<string name="menu_set_ring_tone" msgid="8728345772068064946">"Đặt nhạc chuông"</string>
<string name="menu_redirect_calls_to_vm" msgid="4181789196416396656">"Tất cả c.gọi tới th.thoại"</string>
<string name="readOnlyContactWarning" msgid="7808825687289848259">"Bạn không thể xóa địa chỉ liên hệ từ tài khoản chỉ đọc, nhưng bạn có thể ẩn chúng trong danh sách địa chỉ liên hệ của mình."</string>
- <string name="readOnlyContactDeleteConfirmation" msgid="2137170726670196909">"Liên hệ này chứa thông tin từ nhiều tài khoản. Thông tin từ các tài khoản ở chế độ chỉ đọc sẽ bị ẩn trong danh sách liên hệ của bạn, chứ không bị xoá."</string>
- <string name="multipleContactDeleteConfirmation" msgid="938900978442960800">"Xoá liên hệ này sẽ xoá thông tin khỏi nhiều tài khoản."</string>
- <string name="deleteConfirmation" msgid="811706994761610640">"Liên hệ này sẽ bị xoá."</string>
+ <string name="readOnlyContactDeleteConfirmation" msgid="2137170726670196909">"Liên hệ này chứa thông tin từ nhiều tài khoản. Thông tin từ các tài khoản ở chế độ chỉ đọc sẽ bị ẩn trong danh sách liên hệ của bạn, chứ không bị xóa."</string>
+ <string name="multipleContactDeleteConfirmation" msgid="938900978442960800">"Xóa liên hệ này sẽ xóa thông tin khỏi nhiều tài khoản."</string>
+ <string name="deleteConfirmation" msgid="811706994761610640">"Liên hệ này sẽ bị xóa."</string>
<string name="menu_done" msgid="796017761764190697">"Xong"</string>
<string name="menu_doNotSave" msgid="58593876893538465">"Hủy"</string>
<string name="menu_discard" msgid="6456087569315685632">"Hủy bỏ"</string>
@@ -141,8 +141,8 @@
<string name="recentCalls_callNumber" msgid="1756372533999226126">"Gọi <xliff:g id="NAME">%s</xliff:g>"</string>
<string name="recentCalls_editNumberBeforeCall" msgid="7756171675833267857">"Chỉnh sửa số trước khi gọi"</string>
<string name="recentCalls_addToContact" msgid="1429899535546487008">"Thêm vào danh bạ"</string>
- <string name="recentCalls_removeFromRecentList" msgid="401662244636511330">"Xoá khỏi nhật ký cuộc gọi"</string>
- <string name="recentCalls_deleteAll" msgid="6352364392762163704">"Xoá nhật ký cuộc gọi"</string>
+ <string name="recentCalls_removeFromRecentList" msgid="401662244636511330">"Xóa khỏi nhật ký cuộc gọi"</string>
+ <string name="recentCalls_deleteAll" msgid="6352364392762163704">"Xóa nhật ký cuộc gọi"</string>
<string name="recentCalls_trashVoicemail" msgid="7604696960787435655">"Xóa thư thoại"</string>
<string name="recentCalls_shareVoicemail" msgid="1416112847592942840">"Hiển thị thư thoại"</string>
<string name="recentCalls_empty" msgid="247053222448663107">"Nhật ký cuộc gọi trống."</string>
@@ -159,7 +159,7 @@
<string name="dialerDialpadHintText" msgid="5824490365898349041">"Quay số để thêm cuộc gọi"</string>
<string name="simContacts_emptyLoading" msgid="6700035985448642408">"Đang tải từ thẻ SIM…"</string>
<string name="simContacts_title" msgid="27341688347689769">"Danh bạ trên thẻ SIM"</string>
- <string name="noContactsHelpTextWithSyncForCreateShortcut" msgid="801504710275614594">"Bạn không có liên hệ nào để hiển thị. (Nếu bạn vừa thêm tài khoản, bạn có thể mất vài phút để đồng bộ hoá danh bạ)."</string>
+ <string name="noContactsHelpTextWithSyncForCreateShortcut" msgid="801504710275614594">"Bạn không có liên hệ nào để hiển thị. (Nếu bạn vừa thêm tài khoản, bạn có thể mất vài phút để đồng bộ hóa danh bạ)."</string>
<string name="noContactsHelpTextForCreateShortcut" msgid="3081286388667108335">"Bạn không có liên hệ nào để hiển thị."</string>
<string name="noContactsHelpText" product="tablet" msgid="6226271923423236696">"Bạn không có bất kỳ địa chỉ liên hệ nào để hiển thị."\n\n"Để thêm địa chỉ liên hệ, chạm vào "<font fgcolor="#ffffffff"><b>"Trình đơn"</b></font>", sau đó chạm vào:"\n" "\n<li><font fgcolor="#ffffffff"><b>"Tài khoản"</b></font>" để thêm hoặc thiết lập tài khoản có địa chỉ liên hệ mà bạn có thể đồng bộ hóa với máy tính bảng"\n</li>" "\n<li><font fgcolor="#ffffffff"><b>"Địa chỉ liên hệ mới"</b></font>" để tạo địa chỉ liên hệ mới từ đầu"\n</li>" "\n<li><font fgcolor="#ffffffff"><b>"Nhập/xuất"</b></font>" để nhập địa chỉ liên hệ từ thẻ SIM hoặc thẻ SD của bạn"\n</li></string>
<string name="noContactsHelpText" product="default" msgid="4405064135698982080">"Bạn không có bất kỳ địa chỉ liên hệ nào để hiển thị."\n\n"Để thêm địa chỉ liên hệ, chạm vào "<font fgcolor="#ffffffff"><b>"Trình đơn"</b></font>", sau đó chạm vào:"\n" "\n<li><font fgcolor="#ffffffff"><b>"Tài khoản"</b></font>" để thêm hoặc thiết lập tài khoản có địa chỉ liên hệ mà bạn có thể đồng bộ hóa với điện thoại"\n</li>" "\n<li><font fgcolor="#ffffffff"><b>"Địa chỉ liên hệ mới"</b></font>" để tạo địa chỉ liên hệ mới từ đầu"\n</li>" "\n<li><font fgcolor="#ffffffff"><b>"Nhập/Xuất"</b></font>" để nhập địa chỉ liên hệ từ thẻ SIM hoặc thẻ SD của bạn"\n</li></string>
@@ -304,8 +304,8 @@
<string name="groupsLabel" msgid="8573535366319059326">"Nhóm"</string>
<string name="dialog_new_contact_account" msgid="9044704073286262197">"Tạo liên hệ trong tài khoản"</string>
<string name="dialog_new_group_account" msgid="2318032089273496830">"Tạo nhóm trong tài khoản"</string>
- <string name="menu_sync_remove" msgid="3266725887008450161">"Xoá nhóm đồng bộ hoá"</string>
- <string name="dialog_sync_add" msgid="8267045393119375803">"Thêm nhóm đồng bộ hoá"</string>
+ <string name="menu_sync_remove" msgid="3266725887008450161">"Xóa nhóm đồng bộ hóa"</string>
+ <string name="dialog_sync_add" msgid="8267045393119375803">"Thêm nhóm đồng bộ hóa"</string>
<string name="display_more_groups" msgid="2682547080423434170">"Nhóm khác…"</string>
<string name="display_ungrouped" msgid="6885954210243119591">"Tất cả địa chỉ l.hệ khác"</string>
<string name="display_all_contacts" msgid="2031647544742889505">"Tất cả địa chỉ liên hệ"</string>
diff --git a/res/values-zu/strings.xml b/res/values-zu/strings.xml
index 9d80654..4f553f0 100644
--- a/res/values-zu/strings.xml
+++ b/res/values-zu/strings.xml
@@ -159,7 +159,7 @@
<string name="dialerDialpadHintText" msgid="5824490365898349041">"Dayela ukwengeza ikholi"</string>
<string name="simContacts_emptyLoading" msgid="6700035985448642408">"Ilayisha kusuka ekhadini le-SIM..."</string>
<string name="simContacts_title" msgid="27341688347689769">"Othintana nabo bekhadi le-SIM"</string>
- <string name="noContactsHelpTextWithSyncForCreateShortcut" msgid="801504710275614594">"Awunabo othintana nabo ongababonisa. (Uma usanda kufaka i-akhawunti, kungase kuthathe imizuzu embalwa ukuvumelanisa othintana nabo.)"</string>
+ <string name="noContactsHelpTextWithSyncForCreateShortcut" msgid="801504710275614594">"Awunabo othintana nabo ongababonisa. (Uma usanda kufaka i-akhawunti, kungase kuthathe amaminithi ambalwa ukuvumelanisa othintana nabo.)"</string>
<string name="noContactsHelpTextForCreateShortcut" msgid="3081286388667108335">"Awunabo othintana nabo ongababonisa."</string>
<string name="noContactsHelpText" product="tablet" msgid="6226271923423236696">"Awunabo oxhumana nabo ongabaveza."\n\n"Ukwengeza ongaxhumana nabo, thinta "<font fgcolor="#ffffffff"><b>"Menyu"</b></font>", bese uthinta:"\n" "\n<li><font fgcolor="#ffffffff"><b>"Ama-akhawunti"</b></font>" ukwengeza noma usethe ama-akhawunti ngongaxhumana nabo ongabavumelanisa ocingweni"\n</li>" "\n<li><font fgcolor="#ffffffff"><b>"Oxhuana nabo basha"</b></font>" ukwenz oxhumna naye umsusa ekuqaleni"\n</li>" "\n<li><font fgcolor="#ffffffff"><b>"Landa/thumela"</b></font>" ukulanda oxhumana nabo kwi-SIM noma ikhadi lkho le-SD card"\n</li></string>
<string name="noContactsHelpText" product="default" msgid="4405064135698982080">"Awunabo oxhumana nabo ongabaveza."\n\n"Ukwengeza ongaxhumana nabo, thinta "<font fgcolor="#ffffffff"><b>"Menyu"</b></font>", bese uthinta:"\n" "\n<li><font fgcolor="#ffffffff"><b>"Ama-akhawunti"</b></font>" ukwengeza noma usethe ama-akhawunti ngongaxhumana nabo ongabavumelanisa ocingweni"\n</li>" "\n<li><font fgcolor="#ffffffff"><b>"Oxhuana nabo basha"</b></font>" ukwenz oxhumna naye umsusa ekuqaleni"\n</li>" "\n<li><font fgcolor="#ffffffff"><b>"Landa/thumela"</b></font>" ukulanda oxhumana nabo kwi-SIM noma ikhadi lkho le-SD card"\n</li></string>
diff --git a/src/com/android/contacts/activities/PeopleActivity.java b/src/com/android/contacts/activities/PeopleActivity.java
index 800dc49..8d1b9aa 100644
--- a/src/com/android/contacts/activities/PeopleActivity.java
+++ b/src/com/android/contacts/activities/PeopleActivity.java
@@ -1198,7 +1198,7 @@
@Override
public void onImportContactsFromFileAction() {
- AccountSelectionUtil.doImportFromSdCard(PeopleActivity.this, null);
+ ImportExportDialogFragment.show(getFragmentManager());
}
@Override
diff --git a/src/com/android/contacts/calllog/CallLogAdapter.java b/src/com/android/contacts/calllog/CallLogAdapter.java
index b38430b..99ba8e8 100644
--- a/src/com/android/contacts/calllog/CallLogAdapter.java
+++ b/src/com/android/contacts/calllog/CallLogAdapter.java
@@ -54,6 +54,37 @@
public void fetchCalls();
}
+ /**
+ * Stores a phone number of a call with the country code where it originally occurred.
+ * <p>
+ * Note the country does not necessarily specifies the country of the phone number itself, but
+ * it is the country in which the user was in when the call was placed or received.
+ */
+ private static final class NumberWithCountryIso {
+ public final String number;
+ public final String countryIso;
+
+ public NumberWithCountryIso(String number, String countryIso) {
+ this.number = number;
+ this.countryIso = countryIso;
+ }
+
+ @Override
+ public boolean equals(Object o) {
+ if (o == null) return false;
+ if (!(o instanceof NumberWithCountryIso)) return false;
+ NumberWithCountryIso other = (NumberWithCountryIso) o;
+ return TextUtils.equals(number, other.number)
+ && TextUtils.equals(countryIso, other.countryIso);
+ }
+
+ @Override
+ public int hashCode() {
+ return (number == null ? 0 : number.hashCode())
+ ^ (countryIso == null ? 0 : countryIso.hashCode());
+ }
+ }
+
/** The time in millis to delay starting the thread processing requests. */
private static final int START_PROCESSING_REQUESTS_DELAY_MILLIS = 1000;
@@ -69,8 +100,10 @@
* <p>
* The content of the cache is expired (but not purged) whenever the application comes to
* the foreground.
+ * <p>
+ * The key is number with the country in which the call was placed or received.
*/
- private ExpirableCache<String, ContactInfo> mContactInfoCache;
+ private ExpirableCache<NumberWithCountryIso, ContactInfo> mContactInfoCache;
/**
* A request for contact details for the given number.
@@ -317,14 +350,15 @@
// Check the existing entry in the cache: only if it has changed we should update the
// view.
- ContactInfo existingInfo = mContactInfoCache.getPossiblyExpired(number);
+ NumberWithCountryIso numberCountryIso = new NumberWithCountryIso(number, countryIso);
+ ContactInfo existingInfo = mContactInfoCache.getPossiblyExpired(numberCountryIso);
boolean updated = !info.equals(existingInfo);
// Store the data in the cache so that the UI thread can use to display it. Store it
// even if it has not changed so that it is marked as not expired.
- mContactInfoCache.put(number, info);
+ mContactInfoCache.put(numberCountryIso, info);
// Update the call log even if the cache it is up-to-date: it is possible that the cache
// contains the value from a different call log entry.
- updateCallLogContactInfoCache(number, info, callLogInfo);
+ updateCallLogContactInfoCache(number, countryIso, info, callLogInfo);
return updated;
}
/*
@@ -471,8 +505,9 @@
}
// Lookup contacts with this number
+ NumberWithCountryIso numberCountryIso = new NumberWithCountryIso(number, countryIso);
ExpirableCache.CachedValue<ContactInfo> cachedInfo =
- mContactInfoCache.getCachedValue(number);
+ mContactInfoCache.getCachedValue(numberCountryIso);
ContactInfo info = cachedInfo == null ? null : cachedInfo.getValue();
if (!mPhoneNumberHelper.canPlaceCallsTo(number)
|| mPhoneNumberHelper.isVoicemailNumber(number)) {
@@ -480,7 +515,7 @@
// for it.
info = ContactInfo.EMPTY;
} else if (cachedInfo == null) {
- mContactInfoCache.put(number, ContactInfo.EMPTY);
+ mContactInfoCache.put(numberCountryIso, ContactInfo.EMPTY);
// Use the cached contact info from the call log.
info = cachedContactInfo;
// The db request should happen on a non-UI thread.
@@ -558,8 +593,8 @@
}
/** Stores the updated contact info in the call log if it is different from the current one. */
- private void updateCallLogContactInfoCache(String number, ContactInfo updatedInfo,
- ContactInfo callLogInfo) {
+ private void updateCallLogContactInfoCache(String number, String countryIso,
+ ContactInfo updatedInfo, ContactInfo callLogInfo) {
final ContentValues values = new ContentValues();
boolean needsUpdate = false;
@@ -615,12 +650,15 @@
return;
}
- StringBuilder where = new StringBuilder();
- where.append(Calls.NUMBER);
- where.append(" = ?");
-
- mContext.getContentResolver().update(Calls.CONTENT_URI_WITH_VOICEMAIL, values,
- where.toString(), new String[]{ number });
+ if (countryIso == null) {
+ mContext.getContentResolver().update(Calls.CONTENT_URI_WITH_VOICEMAIL, values,
+ Calls.NUMBER + " = ? AND " + Calls.COUNTRY_ISO + " IS NULL",
+ new String[]{ number });
+ } else {
+ mContext.getContentResolver().update(Calls.CONTENT_URI_WITH_VOICEMAIL, values,
+ Calls.NUMBER + " = ? AND " + Calls.COUNTRY_ISO + " = ?",
+ new String[]{ number, countryIso });
+ }
}
/** Returns the contact information as stored in the call log. */
@@ -674,8 +712,9 @@
}
@VisibleForTesting
- void injectContactInfoForTest(String number, ContactInfo contactInfo) {
- mContactInfoCache.put(number, contactInfo);
+ void injectContactInfoForTest(String number, String countryIso, ContactInfo contactInfo) {
+ NumberWithCountryIso numberCountryIso = new NumberWithCountryIso(number, countryIso);
+ mContactInfoCache.put(numberCountryIso, contactInfo);
}
@Override
@@ -692,10 +731,11 @@
* Else if the number in the contacts starts with a "+", use that one
* Else if the number in the contacts is longer, use that one
*/
- public String getBetterNumberFromContacts(String number) {
+ public String getBetterNumberFromContacts(String number, String countryIso) {
String matchingNumber = null;
// Look in the cache first. If it's not found then query the Phones db
- ContactInfo ci = mContactInfoCache.getPossiblyExpired(number);
+ NumberWithCountryIso numberCountryIso = new NumberWithCountryIso(number, countryIso);
+ ContactInfo ci = mContactInfoCache.getPossiblyExpired(numberCountryIso);
if (ci != null && ci != ContactInfo.EMPTY) {
matchingNumber = ci.number;
} else {
diff --git a/src/com/android/contacts/calllog/CallLogFragment.java b/src/com/android/contacts/calllog/CallLogFragment.java
index 88aab4d..f14f169 100644
--- a/src/com/android/contacts/calllog/CallLogFragment.java
+++ b/src/com/android/contacts/calllog/CallLogFragment.java
@@ -334,7 +334,8 @@
(callType == Calls.INCOMING_TYPE
|| callType == Calls.MISSED_TYPE)) {
// If the caller-id matches a contact with a better qualified number, use it
- number = mAdapter.getBetterNumberFromContacts(number);
+ String countryIso = cursor.getString(CallLogQuery.COUNTRY_ISO);
+ number = mAdapter.getBetterNumberFromContacts(number, countryIso);
}
intent = new Intent(Intent.ACTION_CALL_PRIVILEGED,
Uri.fromParts("tel", number, null));
diff --git a/src/com/android/contacts/editor/LabeledEditorView.java b/src/com/android/contacts/editor/LabeledEditorView.java
index ff0af6f..2a1ec5e 100644
--- a/src/com/android/contacts/editor/LabeledEditorView.java
+++ b/src/com/android/contacts/editor/LabeledEditorView.java
@@ -364,14 +364,15 @@
* no empty text is allowed in any custom label.
*/
private Dialog createCustomDialog() {
- final EditText customType = new EditText(mContext);
+ final AlertDialog.Builder builder = new AlertDialog.Builder(mContext);
+ builder.setTitle(R.string.customLabelPickerTitle);
+
+ final EditText customType = new EditText(builder.getContext());
customType.setId(R.id.custom_dialog_content);
customType.setInputType(INPUT_TYPE_CUSTOM);
customType.setSaveEnabled(true);
customType.requestFocus();
- final AlertDialog.Builder builder = new AlertDialog.Builder(mContext);
- builder.setTitle(R.string.customLabelPickerTitle);
builder.setView(customType);
builder.setPositiveButton(android.R.string.ok, new DialogInterface.OnClickListener() {
diff --git a/tests/src/com/android/contacts/calllog/CallLogAdapterTest.java b/tests/src/com/android/contacts/calllog/CallLogAdapterTest.java
index 600a589..8a98018 100644
--- a/tests/src/com/android/contacts/calllog/CallLogAdapterTest.java
+++ b/tests/src/com/android/contacts/calllog/CallLogAdapterTest.java
@@ -117,7 +117,7 @@
public void testBindView_NoCallLogButMemoryCache_EnqueueRequest() {
mCursor.addRow(createCallLogEntry());
- mAdapter.injectContactInfoForTest(TEST_NUMBER, createContactInfo());
+ mAdapter.injectContactInfoForTest(TEST_NUMBER, TEST_COUNTRY_ISO, createContactInfo());
// Bind the views of a single row.
mAdapter.bindStandAloneView(mView, getContext(), mCursor);
@@ -132,7 +132,7 @@
public void testBindView_BothCallLogAndMemoryCache_NoEnqueueRequest() {
mCursor.addRow(createCallLogEntryWithCachedValues());
- mAdapter.injectContactInfoForTest(TEST_NUMBER, createContactInfo());
+ mAdapter.injectContactInfoForTest(TEST_NUMBER, TEST_COUNTRY_ISO, createContactInfo());
// Bind the views of a single row.
mAdapter.bindStandAloneView(mView, getContext(), mCursor);
@@ -147,7 +147,7 @@
// Contact info contains a different name.
ContactInfo info = createContactInfo();
info.name = "new name";
- mAdapter.injectContactInfoForTest(TEST_NUMBER, info);
+ mAdapter.injectContactInfoForTest(TEST_NUMBER, TEST_COUNTRY_ISO, info);
// Bind the views of a single row.
mAdapter.bindStandAloneView(mView, getContext(), mCursor);
diff --git a/tests/src/com/android/contacts/calllog/CallLogFragmentTest.java b/tests/src/com/android/contacts/calllog/CallLogFragmentTest.java
index 09fe463..9cac8fe 100644
--- a/tests/src/com/android/contacts/calllog/CallLogFragmentTest.java
+++ b/tests/src/com/android/contacts/calllog/CallLogFragmentTest.java
@@ -482,7 +482,7 @@
contactInfo.formattedNumber = formattedNumber;
contactInfo.normalizedNumber = number;
contactInfo.photoId = 0;
- mAdapter.injectContactInfoForTest(number, contactInfo);
+ mAdapter.injectContactInfoForTest(number, TEST_COUNTRY_ISO, contactInfo);
}
/**