From 466358780c0bd5cbb2c2300c321e94e60372b5e1 Mon Sep 17 00:00:00 2001 From: Yorke Lee Date: Fri, 11 Apr 2014 11:20:15 -0700 Subject: Use the unnormalized user-entered number when adding to contacts Bug: 13758021 Change-Id: Id0a7df07614a8e36824cafca253aa0ada8a4aece --- src/com/android/dialer/DialtactsActivity.java | 3 +++ src/com/android/dialer/list/SearchFragment.java | 31 +++++++++++++------------ 2 files changed, 19 insertions(+), 15 deletions(-) (limited to 'src') diff --git a/src/com/android/dialer/DialtactsActivity.java b/src/com/android/dialer/DialtactsActivity.java index f438570b2..dffdef1b9 100644 --- a/src/com/android/dialer/DialtactsActivity.java +++ b/src/com/android/dialer/DialtactsActivity.java @@ -888,6 +888,9 @@ public class DialtactsActivity extends TransactionSafeActivity implements View.O @Override public void onDialpadQueryChanged(String query) { + if (mSmartDialSearchFragment != null) { + mSmartDialSearchFragment.setAddToContactNumber(query); + } final String normalizedQuery = SmartDialNameMatcher.normalizeNumber(query, SmartDialNameMatcher.LATIN_SMART_DIAL_MAP); if (!TextUtils.equals(mSearchView.getText(), normalizedQuery)) { diff --git a/src/com/android/dialer/list/SearchFragment.java b/src/com/android/dialer/list/SearchFragment.java index 006729b93..209cdf808 100644 --- a/src/com/android/dialer/list/SearchFragment.java +++ b/src/com/android/dialer/list/SearchFragment.java @@ -16,11 +16,10 @@ package com.android.dialer.list; import android.app.Activity; -import android.content.ActivityNotFoundException; import android.content.Intent; +import android.text.TextUtils; import android.widget.AbsListView; import android.widget.AbsListView.OnScrollListener; -import android.widget.Toast; import com.android.contacts.common.list.ContactEntryListAdapter; import com.android.contacts.common.list.ContactListItemView; @@ -28,13 +27,19 @@ import com.android.contacts.common.list.OnPhoneNumberPickerActionListener; import com.android.contacts.common.list.PhoneNumberPickerFragment; import com.android.dialer.DialtactsActivity; import com.android.dialer.R; -import com.android.dialer.dialpad.DialpadFragment; import com.android.dialer.list.OnListFragmentScrolledListener; +import com.android.dialer.util.DialerUtils; public class SearchFragment extends PhoneNumberPickerFragment { private OnListFragmentScrolledListener mActivityScrollListener; + /* + * Stores the untouched user-entered string that is used to populate the add to contacts + * intent. + */ + private String mAddToContactNumber; + @Override public void onAttach(Activity activity) { super.onAttach(activity); @@ -81,6 +86,10 @@ public class SearchFragment extends PhoneNumberPickerFragment { } } + public void setAddToContactNumber(String addToContactNumber) { + mAddToContactNumber = addToContactNumber; + } + @Override protected ContactEntryListAdapter createListAdapter() { DialerPhoneNumberListAdapter adapter = new DialerPhoneNumberListAdapter(getActivity()); @@ -103,19 +112,11 @@ public class SearchFragment extends PhoneNumberPickerFragment { listener.onCallNumberDirectly(getQueryString()); } } else if (shortcutType == DialerPhoneNumberListAdapter.SHORTCUT_ADD_NUMBER_TO_CONTACTS) { - final String number = adapter.getFormattedQueryString(); + final String number = TextUtils.isEmpty(mAddToContactNumber) ? + adapter.getFormattedQueryString() : mAddToContactNumber; final Intent intent = DialtactsActivity.getAddNumberToContactIntent(number); - startActivityWithErrorToast(intent); - } - } - - private void startActivityWithErrorToast(Intent intent) { - try { - startActivity(intent); - } catch (ActivityNotFoundException e) { - Toast toast = Toast.makeText(getActivity(), R.string.add_contact_not_available, - Toast.LENGTH_SHORT); - toast.show(); + DialerUtils.startActivityWithErrorToast(getActivity(), intent, + R.string.add_contact_not_available); } } } -- cgit v1.2.3