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

Commit 48c0ff88 authored by Joshua Mokut's avatar Joshua Mokut Committed by Android (Google) Code Review
Browse files

Merge "updated status bar click response" into main

parents 79bfcba1 f5afb9d9
Loading
Loading
Loading
Loading
+4 −14
Original line number Diff line number Diff line
@@ -71,7 +71,6 @@ import android.util.IndentingPrintWriter;
import android.util.Log;
import android.util.MathUtils;
import android.view.HapticFeedbackConstants;
import android.view.InputDevice;
import android.view.LayoutInflater;
import android.view.MotionEvent;
import android.view.VelocityTracker;
@@ -5066,19 +5065,6 @@ public final class NotificationPanelViewController implements ShadeSurface, Dump
                return false;
            }

            final boolean isTrackpadTwoOrThreeFingerSwipe = isTrackpadScroll(
                    mTrackpadGestureFeaturesEnabled, event) || isTrackpadThreeFingerSwipe(
                    mTrackpadGestureFeaturesEnabled, event);

            // On expanding, single mouse click expands the panel instead of dragging.
            if (isFullyCollapsed() && (event.isFromSource(InputDevice.SOURCE_MOUSE)
                    && !isTrackpadTwoOrThreeFingerSwipe)) {
                if (event.getAction() == MotionEvent.ACTION_UP) {
                    expand(true /* animate */);
                }
                return true;
            }

            /*
             * We capture touch events here and update the expand height here in case according to
             * the users fingers. This also handles multi-touch.
@@ -5099,6 +5085,10 @@ public final class NotificationPanelViewController implements ShadeSurface, Dump
                mIgnoreXTouchSlop = true;
            }

            final boolean isTrackpadTwoOrThreeFingerSwipe = isTrackpadScroll(
                    mTrackpadGestureFeaturesEnabled, event) || isTrackpadThreeFingerSwipe(
                    mTrackpadGestureFeaturesEnabled, event);

            switch (event.getActionMasked()) {
                case MotionEvent.ACTION_DOWN:
                    if (QuickStepContract.ALLOW_BACK_GESTURE_IN_SHADE && mAnimateBack) {
+1 −0
Original line number Diff line number Diff line
@@ -81,6 +81,7 @@ private constructor(
        statusContainer.setOnHoverListener(
            statusOverlayHoverListenerFactory.createDarkAwareListener(statusContainer)
        )
        statusContainer.setOnClickListener { shadeViewController.expand(/* animate= */true) }

        progressProvider?.setReadyToHandleTransition(true)
        configurationController.addCallback(configurationListener)
+26 −4
Original line number Diff line number Diff line
@@ -22,15 +22,16 @@ import android.app.StatusBarManager.WINDOW_STATE_SHOWING
import android.app.StatusBarManager.WINDOW_STATUS_BAR
import android.view.LayoutInflater
import android.view.MotionEvent
import android.view.View
import android.view.ViewTreeObserver
import android.view.ViewTreeObserver.OnPreDrawListener
import android.widget.FrameLayout
import androidx.test.filters.SmallTest
import androidx.test.platform.app.InstrumentationRegistry
import com.android.systemui.res.R
import com.android.systemui.SysuiTestCase
import com.android.systemui.flags.FeatureFlags
import com.android.systemui.flags.Flags
import com.android.systemui.res.R
import com.android.systemui.scene.shared.flag.FakeSceneContainerFlags
import com.android.systemui.scene.ui.view.WindowRootView
import com.android.systemui.shade.ShadeControllerImpl
@@ -48,8 +49,6 @@ import com.android.systemui.util.mockito.argumentCaptor
import com.android.systemui.util.mockito.whenever
import com.android.systemui.util.view.ViewUtil
import com.google.common.truth.Truth.assertThat
import java.util.Optional
import javax.inject.Provider
import org.junit.Before
import org.junit.Test
import org.mockito.ArgumentCaptor
@@ -60,6 +59,8 @@ import org.mockito.Mockito.spy
import org.mockito.Mockito.verify
import org.mockito.Mockito.`when`
import org.mockito.MockitoAnnotations
import java.util.Optional
import javax.inject.Provider

@SmallTest
class PhoneStatusBarViewControllerTest : SysuiTestCase() {
@@ -231,6 +232,27 @@ class PhoneStatusBarViewControllerTest : SysuiTestCase() {
        verify(centralSurfacesImpl).setInteracting(any(), any())
    }

    @Test
    fun shadeIsExpandedOnStatusIconClick() {
        val view = createViewMock()
        InstrumentationRegistry.getInstrumentation().runOnMainSync {
            controller = createAndInitController(view)
        }
        val statusContainer = view.requireViewById<View>(R.id.system_icons)
        statusContainer.performClick()
        verify(shadeViewController).expand(any())
    }

    @Test
    fun shadeIsNotExpandedOnStatusBarGeneralClick() {
        val view = createViewMock()
        InstrumentationRegistry.getInstrumentation().runOnMainSync {
            controller = createAndInitController(view)
        }
        view.performClick()
        verify(shadeViewController, never()).expand(any())
    }

    private fun getCommandQueueCallback(): CommandQueue.Callbacks {
        val captor = argumentCaptor<CommandQueue.Callbacks>()
        verify(commandQueue).addCallback(captor.capture())