Loading quickstep/res/values/dimens.xml +1 −0 Original line number Diff line number Diff line Loading @@ -217,6 +217,7 @@ <dimen name="taskbar_contextual_buttons_size">35dp</dimen> <dimen name="taskbar_stashed_size">24dp</dimen> <dimen name="taskbar_stashed_handle_width">220dp</dimen> <dimen name="taskbar_unstash_input_area">316dp</dimen> <dimen name="taskbar_stashed_handle_height">4dp</dimen> <dimen name="taskbar_edu_wave_anim_trans_y">25dp</dimen> <dimen name="taskbar_edu_wave_anim_trans_y_return_overshoot">4dp</dimen> Loading quickstep/src/com/android/quickstep/inputconsumers/TaskbarStashInputConsumer.java +25 −8 Original line number Diff line number Diff line Loading @@ -22,6 +22,7 @@ import android.view.GestureDetector; import android.view.GestureDetector.SimpleOnGestureListener; import android.view.MotionEvent; import com.android.launcher3.R; import com.android.launcher3.Utilities; import com.android.launcher3.taskbar.TaskbarActivityContext; import com.android.quickstep.InputConsumer; Loading @@ -36,14 +37,20 @@ public class TaskbarStashInputConsumer extends DelegateInputConsumer { private final GestureDetector mLongPressDetector; private final float mSquaredTouchSlop; private float mDownX, mDownY; private boolean mCanceledUnstashHint; private final float mUnstashArea; private final float mScreenWidth; public TaskbarStashInputConsumer(Context context, InputConsumer delegate, InputMonitorCompat inputMonitor, TaskbarActivityContext taskbarActivityContext) { super(delegate, inputMonitor); mTaskbarActivityContext = taskbarActivityContext; mSquaredTouchSlop = Utilities.squaredTouchSlop(context); mScreenWidth = context.getResources().getDisplayMetrics().widthPixels; mUnstashArea = context.getResources() .getDimensionPixelSize(R.dimen.taskbar_unstash_input_area); mLongPressDetector = new GestureDetector(context, new SimpleOnGestureListener() { @Override Loading @@ -69,11 +76,13 @@ public class TaskbarStashInputConsumer extends DelegateInputConsumer { final float y = ev.getRawY(); switch (ev.getAction()) { case MotionEvent.ACTION_DOWN: if (isInArea(x)) { mDownX = x; mDownY = y; mTaskbarActivityContext.startTaskbarUnstashHint( /* animateForward = */ true); mCanceledUnstashHint = false; } break; case MotionEvent.ACTION_MOVE: if (!mCanceledUnstashHint Loading @@ -95,10 +104,18 @@ public class TaskbarStashInputConsumer extends DelegateInputConsumer { } } private boolean isInArea(float x) { float areaFromMiddle = mUnstashArea / 2.0f; float distFromMiddle = Math.abs(mScreenWidth / 2.0f - x); return distFromMiddle < areaFromMiddle; } private void onLongPressDetected(MotionEvent motionEvent) { if (mTaskbarActivityContext != null && mTaskbarActivityContext.onLongPressToUnstashTaskbar()) { if (mTaskbarActivityContext != null && isInArea(motionEvent.getRawX())) { boolean taskBarPressed = mTaskbarActivityContext.onLongPressToUnstashTaskbar(); if (taskBarPressed) { setActive(motionEvent); } } } } Loading
quickstep/res/values/dimens.xml +1 −0 Original line number Diff line number Diff line Loading @@ -217,6 +217,7 @@ <dimen name="taskbar_contextual_buttons_size">35dp</dimen> <dimen name="taskbar_stashed_size">24dp</dimen> <dimen name="taskbar_stashed_handle_width">220dp</dimen> <dimen name="taskbar_unstash_input_area">316dp</dimen> <dimen name="taskbar_stashed_handle_height">4dp</dimen> <dimen name="taskbar_edu_wave_anim_trans_y">25dp</dimen> <dimen name="taskbar_edu_wave_anim_trans_y_return_overshoot">4dp</dimen> Loading
quickstep/src/com/android/quickstep/inputconsumers/TaskbarStashInputConsumer.java +25 −8 Original line number Diff line number Diff line Loading @@ -22,6 +22,7 @@ import android.view.GestureDetector; import android.view.GestureDetector.SimpleOnGestureListener; import android.view.MotionEvent; import com.android.launcher3.R; import com.android.launcher3.Utilities; import com.android.launcher3.taskbar.TaskbarActivityContext; import com.android.quickstep.InputConsumer; Loading @@ -36,14 +37,20 @@ public class TaskbarStashInputConsumer extends DelegateInputConsumer { private final GestureDetector mLongPressDetector; private final float mSquaredTouchSlop; private float mDownX, mDownY; private boolean mCanceledUnstashHint; private final float mUnstashArea; private final float mScreenWidth; public TaskbarStashInputConsumer(Context context, InputConsumer delegate, InputMonitorCompat inputMonitor, TaskbarActivityContext taskbarActivityContext) { super(delegate, inputMonitor); mTaskbarActivityContext = taskbarActivityContext; mSquaredTouchSlop = Utilities.squaredTouchSlop(context); mScreenWidth = context.getResources().getDisplayMetrics().widthPixels; mUnstashArea = context.getResources() .getDimensionPixelSize(R.dimen.taskbar_unstash_input_area); mLongPressDetector = new GestureDetector(context, new SimpleOnGestureListener() { @Override Loading @@ -69,11 +76,13 @@ public class TaskbarStashInputConsumer extends DelegateInputConsumer { final float y = ev.getRawY(); switch (ev.getAction()) { case MotionEvent.ACTION_DOWN: if (isInArea(x)) { mDownX = x; mDownY = y; mTaskbarActivityContext.startTaskbarUnstashHint( /* animateForward = */ true); mCanceledUnstashHint = false; } break; case MotionEvent.ACTION_MOVE: if (!mCanceledUnstashHint Loading @@ -95,10 +104,18 @@ public class TaskbarStashInputConsumer extends DelegateInputConsumer { } } private boolean isInArea(float x) { float areaFromMiddle = mUnstashArea / 2.0f; float distFromMiddle = Math.abs(mScreenWidth / 2.0f - x); return distFromMiddle < areaFromMiddle; } private void onLongPressDetected(MotionEvent motionEvent) { if (mTaskbarActivityContext != null && mTaskbarActivityContext.onLongPressToUnstashTaskbar()) { if (mTaskbarActivityContext != null && isInArea(motionEvent.getRawX())) { boolean taskBarPressed = mTaskbarActivityContext.onLongPressToUnstashTaskbar(); if (taskBarPressed) { setActive(motionEvent); } } } }