Fix 6538388: Home buttons do not respect the no "vibrate on touch" option.
Change-Id: I1792caf4c0501055329611f4c5e237815463d43d
This commit is contained in:
@@ -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>
|
||||
|
||||
|
||||
@@ -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);
|
||||
|
||||
@@ -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) {
|
||||
|
||||
Reference in New Issue
Block a user