summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAndrew Lee <anwlee@google.com>2014-06-04 14:02:48 -0700
committerAndrew Lee <anwlee@google.com>2014-06-04 14:02:48 -0700
commitd871e55135489cb2090287acd757bfb5976beacb (patch)
tree86f956c5f4e9ef10b6caf00457c8ff06b2c9a8b2
parent9c8d7660f0eee0a0e470f459a0748f1f89bdcd13 (diff)
parent4d1357676c097716a88a3e1e590045882ca3ec8d (diff)
downloadandroid_packages_apps_Dialer-d871e55135489cb2090287acd757bfb5976beacb.tar.gz
android_packages_apps_Dialer-d871e55135489cb2090287acd757bfb5976beacb.tar.bz2
android_packages_apps_Dialer-d871e55135489cb2090287acd757bfb5976beacb.zip
resolved conflicts for merge of 4d135767 to master
Change-Id: I8b156297f69e4ac629f72e1f3af92e06aa8652a5
-rw-r--r--res/layout/search_edittext.xml2
-rw-r--r--src/com/android/dialer/widget/SearchEditTextLayout.java45
2 files changed, 35 insertions, 12 deletions
diff --git a/res/layout/search_edittext.xml b/res/layout/search_edittext.xml
index 9b8031efe..0308d5177 100644
--- a/res/layout/search_edittext.xml
+++ b/res/layout/search_edittext.xml
@@ -77,4 +77,4 @@
<include layout="@layout/search_bar_expanded" />
-</view> \ No newline at end of file
+</view>
diff --git a/src/com/android/dialer/widget/SearchEditTextLayout.java b/src/com/android/dialer/widget/SearchEditTextLayout.java
index d229aa402..f3e355d7c 100644
--- a/src/com/android/dialer/widget/SearchEditTextLayout.java
+++ b/src/com/android/dialer/widget/SearchEditTextLayout.java
@@ -49,10 +49,12 @@ public class SearchEditTextLayout extends FrameLayout {
private View mCollapsed;
private View mExpanded;
private EditText mSearchView;
+ private View mSearchIcon;
private View mCollapsedSearchBox;
private View mVoiceSearchButtonView;
private View mOverflowButtonView;
private View mBackButtonView;
+ private View mExpandedSearchBox;
private View mClearButtonView;
private ValueAnimator mAnimator;
@@ -92,10 +94,12 @@ public class SearchEditTextLayout extends FrameLayout {
mExpanded = findViewById(R.id.search_box_expanded);
mSearchView = (EditText) mExpanded.findViewById(R.id.search_view);
+ mSearchIcon = findViewById(R.id.search_magnifying_glass);
mCollapsedSearchBox = findViewById(R.id.search_box_start_search);
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);
mClearButtonView = findViewById(R.id.search_close_button);
mSearchView.setOnFocusChangeListener(new OnFocusChangeListener() {
@@ -162,11 +166,7 @@ public class SearchEditTextLayout extends FrameLayout {
}
}
public void expand(boolean animate, boolean requestFocus) {
- mCollapsedSearchBox.setVisibility(View.GONE);
- mVoiceSearchButtonView.setVisibility(View.GONE);
- mOverflowButtonView.setVisibility(View.GONE);
- mBackButtonView.setVisibility(View.VISIBLE);
- mClearButtonView.setVisibility(View.VISIBLE);
+ updateVisibility(true /* isExpand */);
if (animate) {
AnimUtils.crossFadeViews(mExpanded, mCollapsed, ANIMATION_DURATION);
@@ -180,8 +180,16 @@ public class SearchEditTextLayout extends FrameLayout {
mCollapsed.setVisibility(View.GONE);
}
+ // Set 9-patch background. This owns the padding, so we need to restore the original values.
+ int paddingTop = this.getPaddingTop();
+ int paddingStart = this.getPaddingStart();
+ int paddingBottom = this.getPaddingBottom();
+ int paddingEnd = this.getPaddingEnd();
setBackgroundResource(R.drawable.search_shadow);
setElevation(0);
+ setPaddingRelative(paddingStart, paddingTop, paddingEnd, paddingBottom);
+
+ setElevation(0);
if (requestFocus) {
mSearchView.requestFocus();
}
@@ -189,11 +197,7 @@ public class SearchEditTextLayout extends FrameLayout {
}
public void collapse(boolean animate) {
- mCollapsedSearchBox.setVisibility(View.VISIBLE);
- mVoiceSearchButtonView.setVisibility(View.VISIBLE);
- mOverflowButtonView.setVisibility(View.VISIBLE);
- mBackButtonView.setVisibility(View.GONE);
- mClearButtonView.setVisibility(View.GONE);
+ updateVisibility(false /* isExpand */);
if (animate) {
AnimUtils.crossFadeViews(mCollapsed, mExpanded, ANIMATION_DURATION);
@@ -211,6 +215,25 @@ public class SearchEditTextLayout extends FrameLayout {
setBackgroundResource(R.drawable.rounded_corner);
}
+ /**
+ * Updates the visibility of views depending on whether we will show the expanded or collapsed
+ * search view. This helps prevent some jank with the crossfading if we are animating.
+ *
+ * @param isExpand Whether we are about to show the expanded search box.
+ */
+ private void updateVisibility(boolean isExpand) {
+ int collapsedViewVisibility = isExpand ? View.GONE : View.VISIBLE;
+ int expandedViewVisibility = isExpand ? View.VISIBLE : View.GONE;
+
+ mSearchIcon.setVisibility(collapsedViewVisibility);
+ mCollapsedSearchBox.setVisibility(collapsedViewVisibility);
+ mVoiceSearchButtonView.setVisibility(collapsedViewVisibility);
+ mOverflowButtonView.setVisibility(collapsedViewVisibility);
+ mBackButtonView.setVisibility(expandedViewVisibility);
+ mExpandedSearchBox.setVisibility(expandedViewVisibility);
+ mClearButtonView.setVisibility(expandedViewVisibility);
+ }
+
private void prepareAnimator(final boolean expand) {
if (mAnimator != null) {
mAnimator.cancel();
@@ -257,4 +280,4 @@ public class SearchEditTextLayout extends FrameLayout {
params.rightMargin = (int) (mRightMargin * fraction);
requestLayout();
}
-} \ No newline at end of file
+}