summaryrefslogtreecommitdiff
path: root/java/com/android/dialer/app/widget
diff options
context:
space:
mode:
Diffstat (limited to 'java/com/android/dialer/app/widget')
-rw-r--r--java/com/android/dialer/app/widget/DialpadSearchEmptyContentView.java1
-rw-r--r--java/com/android/dialer/app/widget/EmptyContentView.java121
-rw-r--r--java/com/android/dialer/app/widget/SearchEditTextLayout.java22
3 files changed, 15 insertions, 129 deletions
diff --git a/java/com/android/dialer/app/widget/DialpadSearchEmptyContentView.java b/java/com/android/dialer/app/widget/DialpadSearchEmptyContentView.java
index 85fd5ec6a..5846b1f73 100644
--- a/java/com/android/dialer/app/widget/DialpadSearchEmptyContentView.java
+++ b/java/com/android/dialer/app/widget/DialpadSearchEmptyContentView.java
@@ -21,6 +21,7 @@ import android.view.LayoutInflater;
import android.widget.LinearLayout;
import com.android.dialer.app.R;
import com.android.dialer.util.OrientationUtil;
+import com.android.dialer.widget.EmptyContentView;
/** Empty content view to be shown when dialpad is visible. */
public class DialpadSearchEmptyContentView extends EmptyContentView {
diff --git a/java/com/android/dialer/app/widget/EmptyContentView.java b/java/com/android/dialer/app/widget/EmptyContentView.java
deleted file mode 100644
index cfc8665a2..000000000
--- a/java/com/android/dialer/app/widget/EmptyContentView.java
+++ /dev/null
@@ -1,121 +0,0 @@
-/*
- * Copyright (C) 2015 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package com.android.dialer.app.widget;
-
-import android.content.Context;
-import android.util.AttributeSet;
-import android.view.LayoutInflater;
-import android.view.View;
-import android.widget.ImageView;
-import android.widget.LinearLayout;
-import android.widget.TextView;
-import com.android.dialer.app.R;
-
-public class EmptyContentView extends LinearLayout implements View.OnClickListener {
-
- /** Listener to call when action button is clicked. */
- public interface OnEmptyViewActionButtonClickedListener {
- void onEmptyViewActionButtonClicked();
- }
-
- public static final int NO_LABEL = 0;
- public static final int NO_IMAGE = 0;
-
- private ImageView mImageView;
- private TextView mDescriptionView;
- private TextView mActionView;
- private OnEmptyViewActionButtonClickedListener mOnActionButtonClickedListener;
-
- public EmptyContentView(Context context) {
- this(context, null);
- }
-
- public EmptyContentView(Context context, AttributeSet attrs) {
- this(context, attrs, 0);
- }
-
- public EmptyContentView(Context context, AttributeSet attrs, int defStyleAttr) {
- this(context, attrs, defStyleAttr, 0);
- }
-
- public EmptyContentView(Context context, AttributeSet attrs, int defStyleAttr, int defStyleRes) {
- super(context, attrs, defStyleAttr, defStyleRes);
- inflateLayout();
-
- // Don't let touches fall through the empty view.
- setClickable(true);
- mImageView = (ImageView) findViewById(R.id.emptyListViewImage);
- mDescriptionView = (TextView) findViewById(R.id.emptyListViewMessage);
- mActionView = (TextView) findViewById(R.id.emptyListViewAction);
- mActionView.setOnClickListener(this);
- }
-
- public void setDescription(int resourceId) {
- if (resourceId == NO_LABEL) {
- mDescriptionView.setText(null);
- mDescriptionView.setVisibility(View.GONE);
- } else {
- mDescriptionView.setText(resourceId);
- mDescriptionView.setVisibility(View.VISIBLE);
- }
- }
-
- public void setImage(int resourceId) {
- if (resourceId == NO_LABEL) {
- mImageView.setImageDrawable(null);
- mImageView.setVisibility(View.GONE);
- } else {
- mImageView.setImageResource(resourceId);
- mImageView.setVisibility(View.VISIBLE);
- }
- }
-
- public void setActionLabel(int resourceId) {
- if (resourceId == NO_LABEL) {
- mActionView.setText(null);
- mActionView.setVisibility(View.GONE);
- } else {
- mActionView.setText(resourceId);
- mActionView.setVisibility(View.VISIBLE);
- }
- }
-
- public boolean isShowingContent() {
- return mImageView.getVisibility() == View.VISIBLE
- || mDescriptionView.getVisibility() == View.VISIBLE
- || mActionView.getVisibility() == View.VISIBLE;
- }
-
- public void setActionClickedListener(OnEmptyViewActionButtonClickedListener listener) {
- mOnActionButtonClickedListener = listener;
- }
-
- @Override
- public void onClick(View v) {
- if (mOnActionButtonClickedListener != null) {
- mOnActionButtonClickedListener.onEmptyViewActionButtonClicked();
- }
- }
-
- protected void inflateLayout() {
- setOrientation(LinearLayout.VERTICAL);
- final LayoutInflater inflater =
- (LayoutInflater) getContext().getSystemService(Context.LAYOUT_INFLATER_SERVICE);
- inflater.inflate(R.layout.empty_content_view, this);
- }
-
-}
diff --git a/java/com/android/dialer/app/widget/SearchEditTextLayout.java b/java/com/android/dialer/app/widget/SearchEditTextLayout.java
index f83c48288..95bd12aa1 100644
--- a/java/com/android/dialer/app/widget/SearchEditTextLayout.java
+++ b/java/com/android/dialer/app/widget/SearchEditTextLayout.java
@@ -52,7 +52,6 @@ public class SearchEditTextLayout extends FrameLayout {
private View mVoiceSearchButtonView;
private View mOverflowButtonView;
private View mBackButtonView;
- private View mExpandedSearchBox;
private View mClearButtonView;
private ValueAnimator mAnimator;
@@ -90,20 +89,27 @@ public class SearchEditTextLayout extends FrameLayout {
mVoiceSearchButtonView = findViewById(R.id.voice_search_button);
mOverflowButtonView = findViewById(R.id.dialtacts_options_menu_button);
mBackButtonView = findViewById(R.id.search_back_button);
- mExpandedSearchBox = findViewById(R.id.search_box_expanded);
+ mBackButtonView
+ .getResources()
+ .getDrawable(R.drawable.quantum_ic_arrow_back_vd_theme_24, null)
+ .setAutoMirrored(true);
mClearButtonView = findViewById(R.id.search_close_button);
- // Convert a long click into a click to expand the search box, and then long click on the
- // search view. This accelerates the long-press scenario for copy/paste.
+ // Convert a long click into a click to expand the search box. Touch events are also
+ // forwarded to the searchView. This accelerates the long-press scenario for copy/paste.
mCollapsed.setOnLongClickListener(
new OnLongClickListener() {
@Override
public boolean onLongClick(View view) {
mCollapsed.performClick();
- mSearchView.performLongClick();
return false;
}
});
+ mCollapsed.setOnTouchListener(
+ (v, event) -> {
+ mSearchView.onTouchEvent(event);
+ return false;
+ });
mSearchView.setOnFocusChangeListener(
new OnFocusChangeListener() {
@@ -212,7 +218,7 @@ public class SearchEditTextLayout extends FrameLayout {
AnimUtils.crossFadeViews(mExpanded, mCollapsed, ANIMATION_DURATION);
mAnimator = ValueAnimator.ofFloat(EXPAND_MARGIN_FRACTION_START, 0f);
setMargins(EXPAND_MARGIN_FRACTION_START);
- prepareAnimator(true);
+ prepareAnimator();
} else {
mExpanded.setVisibility(View.VISIBLE);
mExpanded.setAlpha(1);
@@ -241,7 +247,7 @@ public class SearchEditTextLayout extends FrameLayout {
if (animate) {
AnimUtils.crossFadeViews(mCollapsed, mExpanded, ANIMATION_DURATION);
mAnimator = ValueAnimator.ofFloat(0f, 1f);
- prepareAnimator(false);
+ prepareAnimator();
} else {
mCollapsed.setVisibility(View.VISIBLE);
mCollapsed.setAlpha(1);
@@ -279,7 +285,7 @@ public class SearchEditTextLayout extends FrameLayout {
}
}
- private void prepareAnimator(final boolean expand) {
+ private void prepareAnimator() {
if (mAnimator != null) {
mAnimator.cancel();
}