summaryrefslogtreecommitdiff
path: root/java/com/android/dialer
diff options
context:
space:
mode:
authorcalderwoodra <calderwoodra@google.com>2017-11-15 15:41:54 -0800
committerzachh <zachh@google.com>2017-11-18 07:30:52 +0000
commit9d197d0149cd6eb660e398a5f4a06a0387db7a18 (patch)
tree96901e5d921ade4fbb2a0c38d0d81e485d17f092 /java/com/android/dialer
parent1636789520efce24c487c64f95f97f510c505661 (diff)
Keyboard now closes in regular search when user scrolls list.
This change also enables search actions to be visible in regular search. screenshot: http://screen/ULBgq2RnKnM Bug: 68730642,67657783,68775021,66723880 Test: manual PiperOrigin-RevId: 175892821 Change-Id: I2c71fe8ffa2ffddfbc88d777909c4837e0ea4384
Diffstat (limited to 'java/com/android/dialer')
-rw-r--r--java/com/android/dialer/app/DialtactsActivity.java30
-rw-r--r--java/com/android/dialer/searchfragment/list/NewSearchFragment.java5
2 files changed, 23 insertions, 12 deletions
diff --git a/java/com/android/dialer/app/DialtactsActivity.java b/java/com/android/dialer/app/DialtactsActivity.java
index 269e598e1..d9a63fab2 100644
--- a/java/com/android/dialer/app/DialtactsActivity.java
+++ b/java/com/android/dialer/app/DialtactsActivity.java
@@ -96,6 +96,7 @@ import com.android.dialer.callintent.CallIntentBuilder;
import com.android.dialer.callintent.CallSpecificAppData;
import com.android.dialer.common.Assert;
import com.android.dialer.common.LogUtil;
+import com.android.dialer.common.UiUtil;
import com.android.dialer.common.concurrent.ThreadUtil;
import com.android.dialer.configprovider.ConfigProviderBindings;
import com.android.dialer.constants.ActivityRequestCodes;
@@ -178,6 +179,7 @@ public class DialtactsActivity extends TransactionSafeActivity
private static final String KEY_IN_DIALPAD_SEARCH_UI = "in_dialpad_search_ui";
private static final String KEY_IN_NEW_SEARCH_UI = "in_new_search_ui";
private static final String KEY_SEARCH_QUERY = "search_query";
+ private static final String KEY_DIALPAD_QUERY = "dialpad_query";
private static final String KEY_FIRST_LAUNCH = "first_launch";
private static final String KEY_WAS_CONFIGURATION_CHANGE = "was_configuration_change";
private static final String KEY_IS_DIALPAD_SHOWN = "is_dialpad_shown";
@@ -439,6 +441,7 @@ public class DialtactsActivity extends TransactionSafeActivity
.commit();
} else {
mSearchQuery = savedInstanceState.getString(KEY_SEARCH_QUERY);
+ mDialpadQuery = savedInstanceState.getString(KEY_DIALPAD_QUERY);
mInRegularSearch = savedInstanceState.getBoolean(KEY_IN_REGULAR_SEARCH_UI);
mInDialpadSearch = savedInstanceState.getBoolean(KEY_IN_DIALPAD_SEARCH_UI);
mInNewSearch = savedInstanceState.getBoolean(KEY_IN_NEW_SEARCH_UI);
@@ -654,6 +657,7 @@ public class DialtactsActivity extends TransactionSafeActivity
LogUtil.enterBlock("DialtactsActivity.onSaveInstanceState");
super.onSaveInstanceState(outState);
outState.putString(KEY_SEARCH_QUERY, mSearchQuery);
+ outState.putString(KEY_DIALPAD_QUERY, mDialpadQuery);
outState.putBoolean(KEY_IN_REGULAR_SEARCH_UI, mInRegularSearch);
outState.putBoolean(KEY_IN_DIALPAD_SEARCH_UI, mInDialpadSearch);
outState.putBoolean(KEY_IN_NEW_SEARCH_UI, mInNewSearch);
@@ -1425,6 +1429,21 @@ public class DialtactsActivity extends TransactionSafeActivity
}
@Override
+ public boolean onSearchListTouch(MotionEvent event) {
+ if (mIsDialpadShown) {
+ PerformanceReport.recordClick(UiAction.Type.CLOSE_DIALPAD);
+ hideDialpadFragment(true, false);
+ if (TextUtils.isEmpty(mDialpadQuery)) {
+ exitSearchUi();
+ }
+ return true;
+ } else {
+ UiUtil.hideKeyboardFrom(this, mSearchEditTextLayout);
+ }
+ return false;
+ }
+
+ @Override
public void onListFragmentScrollStateChange(int scrollState) {
PerformanceReport.recordScrollStateChange(scrollState);
if (scrollState == OnScrollListener.SCROLL_STATE_TOUCH_SCROLL) {
@@ -1659,17 +1678,6 @@ public class DialtactsActivity extends TransactionSafeActivity
}
@Override
- public boolean onSearchListTouch(MotionEvent event) {
- if (mIsDialpadShown) {
- hideDialpadFragment(true, false);
- if (TextUtils.isEmpty(mDialpadQuery)) {
- exitSearchUi();
- }
- }
- return false;
- }
-
- @Override
public void onCallPlaced() {
if (mIsDialpadShown) {
hideDialpadFragment(false, true);
diff --git a/java/com/android/dialer/searchfragment/list/NewSearchFragment.java b/java/com/android/dialer/searchfragment/list/NewSearchFragment.java
index 8306d37a6..93263ceb2 100644
--- a/java/com/android/dialer/searchfragment/list/NewSearchFragment.java
+++ b/java/com/android/dialer/searchfragment/list/NewSearchFragment.java
@@ -32,6 +32,7 @@ import android.support.annotation.VisibleForTesting;
import android.support.v13.app.FragmentCompat;
import android.support.v7.widget.LinearLayoutManager;
import android.support.v7.widget.RecyclerView;
+import android.telephony.PhoneNumberUtils;
import android.text.TextUtils;
import android.view.LayoutInflater;
import android.view.MotionEvent;
@@ -444,7 +445,9 @@ public final class NewSearchFragment extends Fragment
* the list of supported actions, see {@link SearchActionViewHolder.Action}.
*/
private List<Integer> getActions() {
- if (TextUtils.isEmpty(query) || query.length() == 1 || isRegularSearch()) {
+ boolean nonDialableQueryInRegularSearch =
+ isRegularSearch() && !PhoneNumberUtils.isGlobalPhoneNumber(query);
+ if (TextUtils.isEmpty(query) || query.length() == 1 || nonDialableQueryInRegularSearch) {
return Collections.emptyList();
}