Merge "Play haptic on Assistant gesture invoked" into ub-launcher3-qt-dev

am: b0c81fc031

Change-Id: If36f56d0386b117d6848ad0098b8e2d544088e4e
This commit is contained in:
Adam Cohen
2019-04-24 14:46:41 -07:00
committed by android-build-merger
2 changed files with 17 additions and 2 deletions
@@ -28,6 +28,7 @@ import static com.android.launcher3.userevent.nano.LauncherLogProto.Action.Direc
import static com.android.launcher3.userevent.nano.LauncherLogProto.ContainerType.NAVBAR;
import android.animation.ValueAnimator;
import android.app.Activity;
import android.content.Context;
import android.content.res.Resources;
import android.graphics.PointF;
@@ -35,7 +36,10 @@ import android.os.Bundle;
import android.os.RemoteException;
import android.os.SystemClock;
import android.util.Log;
import android.view.HapticFeedbackConstants;
import android.view.MotionEvent;
import com.android.launcher3.BaseDraggingActivity;
import com.android.launcher3.anim.Interpolators;
import com.android.launcher3.logging.UserEventDispatcher;
import com.android.systemui.shared.recents.ISystemUiProxy;
@@ -76,6 +80,7 @@ public class AssistantTouchConsumer implements InputConsumer {
private float mLastProgress;
private int mState;
private int mDirection;
private ActivityControlHelper mActivityControlHelper;
private final float mDistThreshold;
private final long mTimeThreshold;
@@ -89,7 +94,8 @@ public class AssistantTouchConsumer implements InputConsumer {
public AssistantTouchConsumer(Context context, ISystemUiProxy systemUiProxy,
InputConsumer delegate, InputMonitorCompat inputMonitorCompat) {
InputConsumer delegate, InputMonitorCompat inputMonitorCompat,
ActivityControlHelper activityControlHelper) {
final Resources res = context.getResources();
mContext = context;
mSysUiProxy = systemUiProxy;
@@ -99,6 +105,7 @@ public class AssistantTouchConsumer implements InputConsumer {
mAngleThreshold = res.getInteger(R.integer.assistant_gesture_corner_deg_threshold);
mSlop = NavigationBarCompat.getQuickStepDragSlopPx();
mInputMonitorCompat = inputMonitorCompat;
mActivityControlHelper = activityControlHelper;
mState = STATE_INACTIVE;
}
@@ -242,6 +249,13 @@ public class AssistantTouchConsumer implements InputConsumer {
Bundle args = new Bundle();
args.putInt(INVOCATION_TYPE_KEY, INVOCATION_TYPE_GESTURE);
BaseDraggingActivity launcherActivity = mActivityControlHelper.getCreatedActivity();
if (launcherActivity != null) {
launcherActivity.getRootView().
performHapticFeedback(HapticFeedbackConstants.VIRTUAL_KEY,
HapticFeedbackConstants.FLAG_IGNORE_VIEW_SETTING);
}
mSysUiProxy.startAssistant(args);
mLaunchedAssistant = true;
}
@@ -455,6 +455,7 @@ public class TouchInteractionService extends Service implements
final ActivityControlHelper activityControl =
mOverviewComponentObserver.getActivityControlHelper();
if (runningTaskInfo == null && !mSwipeSharedState.goingToLauncher) {
return InputConsumer.NO_OP;
} else if (mAssistantAvailable
@@ -464,7 +465,7 @@ public class TouchInteractionService extends Service implements
boolean addDelegate = !activityControl.isResumed();
return new AssistantTouchConsumer(this, mISystemUiProxy, addDelegate ?
createOtherActivityInputConsumer(event, runningTaskInfo) : null,
mInputMonitorCompat);
mInputMonitorCompat, activityControl);
} else if (mSwipeSharedState.goingToLauncher || activityControl.isResumed()) {
return OverviewInputConsumer.newInstance(activityControl, false);