summaryrefslogtreecommitdiff
path: root/java/com/android/dialer/searchfragment/list/NewSearchFragment.java
diff options
context:
space:
mode:
Diffstat (limited to 'java/com/android/dialer/searchfragment/list/NewSearchFragment.java')
-rw-r--r--java/com/android/dialer/searchfragment/list/NewSearchFragment.java20
1 files changed, 14 insertions, 6 deletions
diff --git a/java/com/android/dialer/searchfragment/list/NewSearchFragment.java b/java/com/android/dialer/searchfragment/list/NewSearchFragment.java
index 93263ceb2..df2714690 100644
--- a/java/com/android/dialer/searchfragment/list/NewSearchFragment.java
+++ b/java/com/android/dialer/searchfragment/list/NewSearchFragment.java
@@ -142,7 +142,7 @@ public final class NewSearchFragment extends Fragment
LayoutInflater inflater, @Nullable ViewGroup parent, @Nullable Bundle savedInstanceState) {
View view = inflater.inflate(R.layout.fragment_search, parent, false);
adapter = new SearchAdapter(getContext(), new SearchCursorManager(), this);
- adapter.setQuery(query, rawNumber);
+ adapter.setQuery(query, rawNumber, callInitiationType);
adapter.setSearchActions(getActions());
adapter.setZeroSuggestVisible(getArguments().getBoolean(KEY_SHOW_ZERO_SUGGEST));
emptyContentView = view.findViewById(R.id.empty_view);
@@ -260,7 +260,7 @@ public final class NewSearchFragment extends Fragment
this.query = query;
this.callInitiationType = callInitiationType;
if (adapter != null) {
- adapter.setQuery(query, rawNumber);
+ adapter.setQuery(query, rawNumber, callInitiationType);
adapter.setSearchActions(getActions());
adapter.setZeroSuggestVisible(isRegularSearch());
loadNearbyPlacesCursor();
@@ -445,19 +445,27 @@ public final class NewSearchFragment extends Fragment
* the list of supported actions, see {@link SearchActionViewHolder.Action}.
*/
private List<Integer> getActions() {
- boolean nonDialableQueryInRegularSearch =
- isRegularSearch() && !PhoneNumberUtils.isGlobalPhoneNumber(query);
+ boolean isDialableNumber = PhoneNumberUtils.isGlobalPhoneNumber(query);
+ boolean nonDialableQueryInRegularSearch = isRegularSearch() && !isDialableNumber;
if (TextUtils.isEmpty(query) || query.length() == 1 || nonDialableQueryInRegularSearch) {
return Collections.emptyList();
}
List<Integer> actions = new ArrayList<>();
- actions.add(Action.CREATE_NEW_CONTACT);
- actions.add(Action.ADD_TO_CONTACT);
+ if (!isRegularSearch()) {
+ actions.add(Action.CREATE_NEW_CONTACT);
+ actions.add(Action.ADD_TO_CONTACT);
+ }
+
+ if (isRegularSearch() && isDialableNumber) {
+ actions.add(Action.MAKE_VOICE_CALL);
+ }
+
actions.add(Action.SEND_SMS);
if (CallUtil.isVideoEnabled(getContext())) {
actions.add(Action.MAKE_VILTE_CALL);
}
+
return actions;
}