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

Commit ccde9211 authored by Juan Sebastian Martinez's avatar Juan Sebastian Martinez Committed by Android (Google) Code Review
Browse files

Merge "Cleanup of the flag ONE_WAY_HAPTICS_API_MIGRATION on...

Merge "Cleanup of the flag ONE_WAY_HAPTICS_API_MIGRATION on NotificationPanelViewController" into main
parents 530427ec 594ab35a
Loading
Loading
Loading
Loading
+5 −21
Original line number Diff line number Diff line
@@ -29,7 +29,6 @@ import static com.android.systemui.classifier.Classifier.BOUNCER_UNLOCK;
import static com.android.systemui.classifier.Classifier.GENERIC;
import static com.android.systemui.classifier.Classifier.QUICK_SETTINGS;
import static com.android.systemui.classifier.Classifier.UNLOCK;
import static com.android.systemui.flags.Flags.ONE_WAY_HAPTICS_API_MIGRATION;
import static com.android.systemui.navigationbar.gestural.Utilities.isTrackpadScroll;
import static com.android.systemui.navigationbar.gestural.Utilities.isTrackpadThreeFingerSwipe;
import static com.android.systemui.shade.ShadeExpansionStateManagerKt.STATE_CLOSED;
@@ -41,7 +40,6 @@ import static com.android.systemui.shared.system.QuickStepContract.SYSUI_STATE_Q
import static com.android.systemui.statusbar.StatusBarState.KEYGUARD;
import static com.android.systemui.statusbar.StatusBarState.SHADE;
import static com.android.systemui.statusbar.StatusBarState.SHADE_LOCKED;
import static com.android.systemui.statusbar.VibratorHelper.TOUCH_VIBRATION_ATTRIBUTES;
import static com.android.systemui.statusbar.notification.stack.StackStateAnimator.ANIMATION_DURATION_FOLD_TO_AOD;
import static com.android.systemui.util.DumpUtilsKt.asIndenting;
import static com.android.systemui.util.kotlin.JavaAdapterKt.collectFlow;
@@ -64,7 +62,6 @@ import android.graphics.Region;
import android.os.Bundle;
import android.os.Handler;
import android.os.PowerManager;
import android.os.Process;
import android.os.Trace;
import android.os.UserManager;
import android.os.VibrationEffect;
@@ -2841,16 +2838,7 @@ public final class NotificationPanelViewController implements ShadeSurface, Dump
        }

        if (!mStatusBarStateController.isDozing()) {
            if (mFeatureFlags.isEnabled(ONE_WAY_HAPTICS_API_MIGRATION)) {
            mVibratorHelper.performHapticFeedback(mView, HapticFeedbackConstants.REJECT);
            } else {
                mVibratorHelper.vibrate(
                        Process.myUid(),
                        mView.getContext().getPackageName(),
                        ADDITIONAL_TAP_REQUIRED_VIBRATION_EFFECT,
                        "falsing-additional-tap-required",
                        TOUCH_VIBRATION_ATTRIBUTES);
            }
        }
    }

@@ -3678,14 +3666,10 @@ public final class NotificationPanelViewController implements ShadeSurface, Dump
    private void maybeVibrateOnOpening(boolean openingWithTouch) {
        if (mVibrateOnOpening && mBarState != KEYGUARD && mBarState != SHADE_LOCKED) {
            if (!openingWithTouch || !mHasVibratedOnOpen) {
                if (mFeatureFlags.isEnabled(ONE_WAY_HAPTICS_API_MIGRATION)) {
                mVibratorHelper.performHapticFeedback(
                        mView,
                        HapticFeedbackConstants.GESTURE_START
                );
                } else {
                    mVibratorHelper.vibrate(VibrationEffect.EFFECT_TICK);
                }
                mHasVibratedOnOpen = true;
                mShadeLog.v("Vibrating on opening, mHasVibratedOnOpen=true");
            }
+0 −1
Original line number Diff line number Diff line
@@ -374,7 +374,6 @@ public class NotificationPanelViewControllerBaseTest extends SysuiTestCase {
        mFeatureFlags.set(Flags.TRACKPAD_GESTURE_FEATURES, false);
        mFeatureFlags.set(Flags.LOCKSCREEN_ENABLE_LANDSCAPE, false);
        mFeatureFlags.set(Flags.QS_USER_DETAIL_SHORTCUT, false);
        mFeatureFlags.set(Flags.ONE_WAY_HAPTICS_API_MIGRATION, false);
        mFeatureFlags.set(Flags.MIGRATE_CLOCKS_TO_BLUEPRINT, false);

        mSetFlagsRule.disableFlags(KeyguardShadeMigrationNssl.FLAG_NAME);
+2 −56
Original line number Diff line number Diff line
@@ -16,7 +16,6 @@

package com.android.systemui.shade

import android.os.VibrationEffect
import android.testing.AndroidTestingRunner
import android.testing.TestableLooper
import android.view.HapticFeedbackConstants
@@ -26,13 +25,10 @@ import androidx.test.filters.SmallTest
import com.android.internal.util.CollectionUtils
import com.android.keyguard.KeyguardClockSwitch.LARGE
import com.android.systemui.coroutines.collectLastValue
import com.android.systemui.flags.Flags.ONE_WAY_HAPTICS_API_MIGRATION
import com.android.systemui.res.R
import com.android.systemui.statusbar.StatusBarState.KEYGUARD
import com.android.systemui.statusbar.StatusBarState.SHADE
import com.android.systemui.statusbar.StatusBarState.SHADE_LOCKED
import com.android.systemui.statusbar.VibratorHelper
import com.android.systemui.util.mockito.any
import com.android.systemui.util.mockito.eq
import com.android.systemui.util.mockito.whenever
import com.google.common.truth.Truth.assertThat
@@ -62,9 +58,6 @@ class NotificationPanelViewControllerWithCoroutinesTest :

    override fun getMainDispatcher() = Dispatchers.Main.immediate

    private val ADDITIONAL_TAP_REQUIRED_VIBRATION_EFFECT =
        VibrationEffect.get(VibrationEffect.EFFECT_STRENGTH_MEDIUM, false)

    @Test
    fun testDisableUserSwitcherAfterEnabling_returnsViewStubToTheViewHierarchy() = runTest {
        launch(Dispatchers.Main.immediate) { givenViewAttached() }
@@ -158,31 +151,8 @@ class NotificationPanelViewControllerWithCoroutinesTest :
    }

    @Test
    fun doubleTapRequired_onKeyguard_oneWayHapticsDisabled_usesOldVibrate() = runTest {
        launch(Dispatchers.Main.immediate) {
            mFeatureFlags.set(ONE_WAY_HAPTICS_API_MIGRATION, false)
            val listener = getFalsingTapListener()
            mStatusBarStateController.setState(KEYGUARD)

            listener.onAdditionalTapRequired()
            val packageName = mView.context.packageName
            verify(mKeyguardIndicationController).showTransientIndication(anyInt())
            verify(mVibratorHelper)
                .vibrate(
                    any(),
                    eq(packageName),
                    eq(ADDITIONAL_TAP_REQUIRED_VIBRATION_EFFECT),
                    eq("falsing-additional-tap-required"),
                    eq(VibratorHelper.TOUCH_VIBRATION_ATTRIBUTES)
                )
        }
        advanceUntilIdle()
    }

    @Test
    fun doubleTapRequired_onKeyguard_oneWayHapticsEnabled_usesPerformHapticFeedback() = runTest {
    fun doubleTapRequired_onKeyguard_usesPerformHapticFeedback() = runTest {
        launch(Dispatchers.Main.immediate) {
            mFeatureFlags.set(ONE_WAY_HAPTICS_API_MIGRATION, true)
            val listener = getFalsingTapListener()
            mStatusBarStateController.setState(KEYGUARD)

@@ -208,32 +178,8 @@ class NotificationPanelViewControllerWithCoroutinesTest :
    }

    @Test
    fun doubleTapRequired_shadeLocked_oneWayHapticsDisabled_usesOldVibrate() = runTest {
        launch(Dispatchers.Main.immediate) {
            mFeatureFlags.set(ONE_WAY_HAPTICS_API_MIGRATION, false)
            val listener = getFalsingTapListener()
            val packageName = mView.context.packageName
            mStatusBarStateController.setState(SHADE_LOCKED)

            listener.onAdditionalTapRequired()
            verify(mVibratorHelper)
                .vibrate(
                    any(),
                    eq(packageName),
                    eq(ADDITIONAL_TAP_REQUIRED_VIBRATION_EFFECT),
                    eq("falsing-additional-tap-required"),
                    eq(VibratorHelper.TOUCH_VIBRATION_ATTRIBUTES)
                )

            verify(mTapAgainViewController).show()
        }
        advanceUntilIdle()
    }

    @Test
    fun doubleTapRequired_shadeLocked_oneWayHapticsEnabled_usesPerformHapticFeedback() = runTest {
    fun doubleTapRequired_shadeLocked_usesPerformHapticFeedback() = runTest {
        launch(Dispatchers.Main.immediate) {
            mFeatureFlags.set(ONE_WAY_HAPTICS_API_MIGRATION, true)
            val listener = getFalsingTapListener()
            mStatusBarStateController.setState(SHADE_LOCKED)