diff options
| author | Philip Milne <pmilne@google.com> | 2012-05-29 14:46:54 -0700 |
|---|---|---|
| committer | Philip Milne <pmilne@google.com> | 2012-05-29 16:35:23 -0700 |
| commit | a01a2a89ec6ce8c790fc217a89117369f0e630e2 (patch) | |
| tree | 54dbb1f575c5988c8972e53b8db0e8e0d61733ec | |
| parent | a073e570789e5b49e8339af44516444b13db4428 (diff) | |
| download | frameworks_base-a01a2a89ec6ce8c790fc217a89117369f0e630e2.zip frameworks_base-a01a2a89ec6ce8c790fc217a89117369f0e630e2.tar.gz frameworks_base-a01a2a89ec6ce8c790fc217a89117369f0e630e2.tar.bz2 | |
Fix 6538388: Home buttons do not respect the no "vibrate on touch" option.
Change-Id: I1792caf4c0501055329611f4c5e237815463d43d
3 files changed, 23 insertions, 8 deletions
diff --git a/packages/SystemUI/res/values/config.xml b/packages/SystemUI/res/values/config.xml index 2786013..f5fa237 100644 --- a/packages/SystemUI/res/values/config.xml +++ b/packages/SystemUI/res/values/config.xml @@ -58,6 +58,9 @@ <bool name="config_showRotationLock">true</bool> <!-- Vibration duration for MultiWaveView used in SearchPanelView --> - <integer translatable="false" name="config_vibration_duration">20</integer> + <integer translatable="false" name="config_vibration_duration">0</integer> + + <!-- Vibration duration for MultiWaveView used in SearchPanelView --> + <integer translatable="false" name="config_search_panel_view_vibration_duration">20</integer> </resources> diff --git a/packages/SystemUI/src/com/android/systemui/SearchPanelView.java b/packages/SystemUI/src/com/android/systemui/SearchPanelView.java index 060d08e..29daf2c 100644 --- a/packages/SystemUI/src/com/android/systemui/SearchPanelView.java +++ b/packages/SystemUI/src/com/android/systemui/SearchPanelView.java @@ -16,9 +16,7 @@ package com.android.systemui; -import android.animation.Animator; import android.animation.LayoutTransition; -import android.app.ActivityManagerNative; import android.app.ActivityOptions; import android.app.SearchManager; import android.content.ActivityNotFoundException; @@ -26,6 +24,9 @@ import android.content.ComponentName; import android.content.Context; import android.content.Intent; import android.content.pm.PackageManager; +import android.content.res.Resources; +import android.os.Vibrator; +import android.provider.Settings; import android.util.AttributeSet; import android.util.Slog; import android.view.MotionEvent; @@ -34,7 +35,6 @@ import android.view.ViewGroup; import android.view.ViewTreeObserver; import android.view.ViewTreeObserver.OnPreDrawListener; import android.widget.FrameLayout; - import com.android.internal.widget.multiwaveview.MultiWaveView; import com.android.internal.widget.multiwaveview.MultiWaveView.OnTriggerListener; import com.android.systemui.R; @@ -77,7 +77,7 @@ public class SearchPanelView extends FrameLayout implements Intent intent = getAssistIntent(); return intent == null ? false : mContext.getPackageManager().queryIntentActivities(intent, - PackageManager.MATCH_DEFAULT_ONLY).size() > 0; + PackageManager.MATCH_DEFAULT_ONLY).size() > 0; } private Intent getAssistIntent() { @@ -142,13 +142,14 @@ public class SearchPanelView extends FrameLayout implements case com.android.internal.R.drawable.ic_lockscreen_search: mWaitingForLaunch = true; startAssistActivity(); + vibrate(); postDelayed(new Runnable() { public void run() { mWaitingForLaunch = false; mBar.hideSearchPanel(); } }, SEARCH_PANEL_HOLD_DURATION); - break; + break; } } @@ -194,10 +195,20 @@ public class SearchPanelView extends FrameLayout implements } }; + private void vibrate() { + Context context = getContext(); + if (Settings.System.getInt(context.getContentResolver(), + Settings.System.HAPTIC_FEEDBACK_ENABLED, 1) != 0) { + Resources res = context.getResources(); + Vibrator vibrator = (Vibrator) context.getSystemService(Context.VIBRATOR_SERVICE); + vibrator.vibrate(res.getInteger(R.integer.config_search_panel_view_vibration_duration)); + } + } + public void show(final boolean show, boolean animate) { if (!show) { final LayoutTransition transitioner = animate ? createLayoutTransitioner() : null; - ((ViewGroup)mSearchTargetsContainer).setLayoutTransition(transitioner); + ((ViewGroup) mSearchTargetsContainer).setLayoutTransition(transitioner); } mShowing = show; if (show) { @@ -207,6 +218,7 @@ public class SearchPanelView extends FrameLayout implements // right before we are drawn mMultiWaveView.suspendAnimations(); getViewTreeObserver().addOnPreDrawListener(mPreDrawListener); + vibrate(); } setFocusable(true); setFocusableInTouchMode(true); diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/BaseStatusBar.java b/packages/SystemUI/src/com/android/systemui/statusbar/BaseStatusBar.java index a352748..384e47f 100644 --- a/packages/SystemUI/src/com/android/systemui/statusbar/BaseStatusBar.java +++ b/packages/SystemUI/src/com/android/systemui/statusbar/BaseStatusBar.java @@ -253,7 +253,7 @@ public abstract class BaseStatusBar extends SystemUI implements mContext.startActivity(intent); } - protected View.OnLongClickListener getNotificationLongClicker() { + protected View.OnLongClickListener getNotificationLongClicker() { return new View.OnLongClickListener() { @Override public boolean onLongClick(View v) { |
