Loading src/com/android/dialer/list/RegularSearchListAdapter.java +17 −1 Original line number Diff line number Diff line Loading @@ -68,7 +68,9 @@ public class RegularSearchListAdapter extends DialerPhoneNumberListAdapter { @Override public void setQueryString(String queryString) { final boolean showNumberShortcuts = !TextUtils.isEmpty(getFormattedQueryString()); // Don't show actions if the query string contains a letter. final boolean showNumberShortcuts = !TextUtils.isEmpty(getFormattedQueryString()) && hasDigitsInQueryString(); boolean changed = false; changed |= setShortcutEnabled(SHORTCUT_DIRECT_CALL, showNumberShortcuts); changed |= setShortcutEnabled(SHORTCUT_SEND_SMS_MESSAGE, showNumberShortcuts); Loading @@ -79,4 +81,18 @@ public class RegularSearchListAdapter extends DialerPhoneNumberListAdapter { } super.setQueryString(queryString); } /** * Whether there is at least one digit in the query string. */ private boolean hasDigitsInQueryString() { String queryString = getQueryString(); int length = queryString.length(); for (int i = 0; i < length; i++) { if (Character.isDigit(queryString.charAt(i))) { return true; } } return false; } } Loading
src/com/android/dialer/list/RegularSearchListAdapter.java +17 −1 Original line number Diff line number Diff line Loading @@ -68,7 +68,9 @@ public class RegularSearchListAdapter extends DialerPhoneNumberListAdapter { @Override public void setQueryString(String queryString) { final boolean showNumberShortcuts = !TextUtils.isEmpty(getFormattedQueryString()); // Don't show actions if the query string contains a letter. final boolean showNumberShortcuts = !TextUtils.isEmpty(getFormattedQueryString()) && hasDigitsInQueryString(); boolean changed = false; changed |= setShortcutEnabled(SHORTCUT_DIRECT_CALL, showNumberShortcuts); changed |= setShortcutEnabled(SHORTCUT_SEND_SMS_MESSAGE, showNumberShortcuts); Loading @@ -79,4 +81,18 @@ public class RegularSearchListAdapter extends DialerPhoneNumberListAdapter { } super.setQueryString(queryString); } /** * Whether there is at least one digit in the query string. */ private boolean hasDigitsInQueryString() { String queryString = getQueryString(); int length = queryString.length(); for (int i = 0; i < length; i++) { if (Character.isDigit(queryString.charAt(i))) { return true; } } return false; } }