Revert "Allow pulling down the status bar in visual immersive mode"
This reverts commit 9d14dbe89d.
Reason for revert: Likely broke tests
Bug: 188176340
Change-Id: I0c786e792322f7350b3bb16018ccb39e77a276a2
This commit is contained in:
@@ -16,9 +16,6 @@
|
||||
|
||||
package com.android.systemui.statusbar.phone;
|
||||
|
||||
import static android.view.MotionEvent.ACTION_DOWN;
|
||||
import static android.view.MotionEvent.ACTION_MOVE;
|
||||
import static android.view.MotionEvent.ACTION_UP;
|
||||
import static android.view.WindowInsets.Type.systemBars;
|
||||
|
||||
import static com.android.systemui.ScreenDecorations.DisplayCutoutView.boundsFromDirection;
|
||||
@@ -32,7 +29,6 @@ import android.util.Pair;
|
||||
import android.view.Display;
|
||||
import android.view.DisplayCutout;
|
||||
import android.view.Gravity;
|
||||
import android.view.MotionEvent;
|
||||
import android.view.View;
|
||||
import android.view.WindowInsets;
|
||||
import android.widget.FrameLayout;
|
||||
@@ -53,8 +49,6 @@ public class StatusBarWindowView extends FrameLayout {
|
||||
private int mRightInset = 0;
|
||||
private int mTopInset = 0;
|
||||
|
||||
private float mTouchDownY = 0;
|
||||
|
||||
public StatusBarWindowView(Context context, AttributeSet attrs) {
|
||||
super(context, attrs);
|
||||
}
|
||||
@@ -73,28 +67,6 @@ public class StatusBarWindowView extends FrameLayout {
|
||||
return windowInsets;
|
||||
}
|
||||
|
||||
/**
|
||||
* This is specifically for pulling down the status bar as a consistent motion in the visual
|
||||
* immersive mode. In the visual immersive mode, after the system detects a system gesture
|
||||
* motion from the top, we show permanent bars, and then forward the touch events from the
|
||||
* focused window to the status bar window. However, since the first relayed event is out of
|
||||
* bound of the status bar view, in order for the touch event to be correctly dispatched down,
|
||||
* we jot down the position Y of the initial touch down event, offset it to 0 in the y-axis,
|
||||
* and calculate the movement based on first touch down position.
|
||||
*/
|
||||
@Override
|
||||
public boolean dispatchTouchEvent(MotionEvent ev) {
|
||||
if (ev.getAction() == ACTION_DOWN && ev.getRawY() > getHeight()) {
|
||||
mTouchDownY = ev.getRawY();
|
||||
ev.setLocation(ev.getRawX(), mTopInset);
|
||||
} else if (ev.getAction() == ACTION_MOVE && mTouchDownY != 0) {
|
||||
ev.setLocation(ev.getRawX(), mTopInset + ev.getRawY() - mTouchDownY);
|
||||
} else if (ev.getAction() == ACTION_UP) {
|
||||
mTouchDownY = 0;
|
||||
}
|
||||
return super.dispatchTouchEvent(ev);
|
||||
}
|
||||
|
||||
private void applyMargins() {
|
||||
final int count = getChildCount();
|
||||
for (int i = 0; i < count; i++) {
|
||||
|
||||
@@ -2423,15 +2423,6 @@ public class DisplayPolicy {
|
||||
} else {
|
||||
// Restore visibilities and positions of system bars.
|
||||
controlTarget.showInsets(Type.statusBars() | Type.navigationBars(), false);
|
||||
// To further allow the pull-down-from-the-top gesture to pull down the notification
|
||||
// shade as a consistent motion, we reroute the touch events here from the currently
|
||||
// touched window to the status bar after making it visible.
|
||||
if (swipeTarget == mStatusBar) {
|
||||
final boolean transferred = mStatusBar.transferTouch();
|
||||
if (!transferred) {
|
||||
Slog.i(TAG, "Could not transfer touch to the status bar");
|
||||
}
|
||||
}
|
||||
}
|
||||
mImmersiveModeConfirmation.confirmCurrentPrompt();
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user