Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit ecb2d83d authored by Michal Brzezinski's avatar Michal Brzezinski
Browse files

Removing horizontal translation of shade for dual pane

For dual pane there is no need for horizontal translation when finger is dragging from one side of the screen and it causes shade to be partially outside of the screen borders.

Bug: 171917882
Test: Presubmit + manual
Change-Id: I7f18931c94130253a28d05b332e2d67d1df35c21
parent 59536a1e
Loading
Loading
Loading
Loading
+2 −1
Original line number Diff line number Diff line
@@ -2920,7 +2920,8 @@ public class NotificationPanelViewController extends PanelViewController {
     * @param x the x-coordinate the touch event
     */
    protected void updateHorizontalPanelPosition(float x) {
        if (mNotificationStackScrollLayoutController.getWidth() * 1.75f > mView.getWidth()) {
        if (mNotificationStackScrollLayoutController.getWidth() * 1.75f > mView.getWidth()
                || Utils.shouldUseSplitNotificationShade(mFeatureFlags, mResources)) {
            resetHorizontalPanelPosition();
            return;
        }
+19 −5
Original line number Diff line number Diff line
@@ -442,9 +442,7 @@ public class NotificationPanelViewTest extends SysuiTestCase {

    @Test
    public void testAllChildrenOfNotificationContainer_haveIds() {
        when(mResources.getBoolean(R.bool.config_use_split_notification_shade)).thenReturn(true);
        when(mFeatureFlags.isTwoColumnNotificationShadeEnabled()).thenReturn(true);

        enableDualPaneShade();
        mNotificationContainerParent.addView(newViewWithId(1));
        mNotificationContainerParent.addView(newViewWithId(View.NO_ID));

@@ -473,8 +471,7 @@ public class NotificationPanelViewTest extends SysuiTestCase {

    @Test
    public void testSplitShadeLayout_isAlignedToGuideline() {
        when(mResources.getBoolean(R.bool.config_use_split_notification_shade)).thenReturn(true);
        when(mFeatureFlags.isTwoColumnNotificationShadeEnabled()).thenReturn(true);
        enableDualPaneShade();
        mNotificationContainerParent.addView(newViewWithId(R.id.qs_frame));
        mNotificationContainerParent.addView(newViewWithId(R.id.notification_stack_scroller));

@@ -499,6 +496,23 @@ public class NotificationPanelViewTest extends SysuiTestCase {
        return view;
    }

    @Test
    public void testOnDragDownEvent_horizontalTranslationIsZeroForDualPaneShade() {
        when(mNotificationStackScrollLayoutController.getWidth()).thenReturn(350f);
        when(mView.getWidth()).thenReturn(800);
        enableDualPaneShade();

        onTouchEvent(MotionEvent.obtain(0L, 0L, MotionEvent.ACTION_DOWN,
                200f /* x position */, 0f, 0));

        verify(mQsFrame).setTranslationX(0);
    }

    private void enableDualPaneShade() {
        when(mResources.getBoolean(R.bool.config_use_split_notification_shade)).thenReturn(true);
        when(mFeatureFlags.isTwoColumnNotificationShadeEnabled()).thenReturn(true);
    }

    private void onTouchEvent(MotionEvent ev) {
        mTouchHandler.onTouch(mView, ev);
    }