diff options
Diffstat (limited to 'packages/SystemUI')
-rw-r--r-- | packages/SystemUI/res/drawable/navbar_search_outerring.xml | 2 | ||||
-rw-r--r-- | packages/SystemUI/res/values/dimens.xml | 4 | ||||
-rw-r--r-- | packages/SystemUI/src/com/android/systemui/SearchPanelView.java | 33 |
3 files changed, 26 insertions, 13 deletions
diff --git a/packages/SystemUI/res/drawable/navbar_search_outerring.xml b/packages/SystemUI/res/drawable/navbar_search_outerring.xml index 37b6c1c..0dd081d 100644 --- a/packages/SystemUI/res/drawable/navbar_search_outerring.xml +++ b/packages/SystemUI/res/drawable/navbar_search_outerring.xml @@ -19,5 +19,5 @@ <size android:height="@dimen/navbar_search_outerring_diameter" android:width="@dimen/navbar_search_outerring_diameter" /> <solid android:color="#00000000" /> - <stroke android:color="#1affffff" android:width="2dp" /> + <stroke android:color="#40ffffff" android:width="2dp" /> </shape>
\ No newline at end of file diff --git a/packages/SystemUI/res/values/dimens.xml b/packages/SystemUI/res/values/dimens.xml index f548166..c29f71b 100644 --- a/packages/SystemUI/res/values/dimens.xml +++ b/packages/SystemUI/res/values/dimens.xml @@ -112,10 +112,10 @@ <dimen name="navbar_search_hit_radius">60dip</dimen> <!-- Diameter of outer shape drawable shown in navbar search--> - <dimen name="navbar_search_outerring_diameter">270dp</dimen> + <dimen name="navbar_search_outerring_diameter">340dp</dimen> <!-- Threshold for swipe-up gesture to activate search dialog --> - <dimen name="navbar_search_up_threshhold">20dip</dimen> + <dimen name="navbar_search_up_threshhold">40dip</dimen> <!-- Height of search panel including navigation bar height --> <dimen name="navbar_search_panel_height">230dip</dimen> diff --git a/packages/SystemUI/src/com/android/systemui/SearchPanelView.java b/packages/SystemUI/src/com/android/systemui/SearchPanelView.java index 57f15a8..05a3bec 100644 --- a/packages/SystemUI/src/com/android/systemui/SearchPanelView.java +++ b/packages/SystemUI/src/com/android/systemui/SearchPanelView.java @@ -23,13 +23,14 @@ import android.content.ActivityNotFoundException; import android.content.ComponentName; import android.content.Context; import android.content.Intent; -import android.speech.RecognizerIntent; import android.util.AttributeSet; import android.util.Log; import android.util.Slog; import android.view.MotionEvent; import android.view.View; import android.view.ViewGroup; +import android.view.ViewTreeObserver; +import android.view.ViewTreeObserver.OnPreDrawListener; import android.widget.FrameLayout; import com.android.internal.widget.multiwaveview.MultiWaveView; @@ -146,6 +147,14 @@ public class SearchPanelView extends FrameLayout implements } } + private OnPreDrawListener mPreDrawListener = new ViewTreeObserver.OnPreDrawListener() { + public boolean onPreDraw() { + getViewTreeObserver().removeOnPreDrawListener(this); + mMultiWaveView.resumeAnimations(); + return false; + } + }; + public void show(final boolean show, boolean animate) { if (animate) { if (mShowing != show) { @@ -156,16 +165,20 @@ public class SearchPanelView extends FrameLayout implements mShowing = show; onAnimationEnd(null); } - postDelayed(new Runnable() { - public void run() { - setVisibility(show ? View.VISIBLE : View.INVISIBLE); - if (show) { - setFocusable(true); - setFocusableInTouchMode(true); - requestFocus(); - } + if (show) { + if (getVisibility() != View.VISIBLE) { + setVisibility(View.VISIBLE); + // Don't start the animation until we've created the layer, which is done + // right before we are drawn + mMultiWaveView.suspendAnimations(); + getViewTreeObserver().addOnPreDrawListener(mPreDrawListener); } - }, show ? 0 : 100); + setFocusable(true); + setFocusableInTouchMode(true); + requestFocus(); + } else { + setVisibility(View.INVISIBLE); + } } public void hide(boolean animate) { |