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

Commit 4f0a94c2 authored by Juan Sebastian Martinez's avatar Juan Sebastian Martinez
Browse files

Cleanup of the flag ONE_WAY_HAPTICS_API_MIGRATION on CentralSurfacesCommandQueueCallbacks

Test: atest SystemUITests:CentralSurfacesCommandQueueCallbacksTest
Bug: 290213663
Flag: NONE
Change-Id: I77479e7baf55a1c6636cf0666cdca13427d5b606
parent d0581d52
Loading
Loading
Loading
Loading
+5 −19
Original line number Original line Diff line number Diff line
@@ -16,7 +16,6 @@


package com.android.systemui.statusbar.phone;
package com.android.systemui.statusbar.phone;


import static com.android.systemui.flags.Flags.ONE_WAY_HAPTICS_API_MIGRATION;
import static com.android.systemui.keyguard.WakefulnessLifecycle.WAKEFULNESS_AWAKE;
import static com.android.systemui.keyguard.WakefulnessLifecycle.WAKEFULNESS_AWAKE;
import static com.android.systemui.keyguard.WakefulnessLifecycle.WAKEFULNESS_WAKING;
import static com.android.systemui.keyguard.WakefulnessLifecycle.WAKEFULNESS_WAKING;


@@ -42,25 +41,23 @@ import androidx.annotation.VisibleForTesting;
import com.android.internal.logging.MetricsLogger;
import com.android.internal.logging.MetricsLogger;
import com.android.internal.logging.nano.MetricsProto.MetricsEvent;
import com.android.internal.logging.nano.MetricsProto.MetricsEvent;
import com.android.keyguard.KeyguardUpdateMonitor;
import com.android.keyguard.KeyguardUpdateMonitor;
import com.android.systemui.res.R;
import com.android.systemui.assist.AssistManager;
import com.android.systemui.assist.AssistManager;
import com.android.systemui.camera.CameraIntents;
import com.android.systemui.camera.CameraIntents;
import com.android.systemui.dagger.SysUISingleton;
import com.android.systemui.dagger.SysUISingleton;
import com.android.systemui.dagger.qualifiers.DisplayId;
import com.android.systemui.dagger.qualifiers.DisplayId;
import com.android.systemui.dagger.qualifiers.Main;
import com.android.systemui.dagger.qualifiers.Main;
import com.android.systemui.flags.FeatureFlags;
import com.android.systemui.keyguard.WakefulnessLifecycle;
import com.android.systemui.keyguard.WakefulnessLifecycle;
import com.android.systemui.plugins.ActivityStarter;
import com.android.systemui.plugins.ActivityStarter;
import com.android.systemui.qs.QSHost;
import com.android.systemui.qs.QSHost;
import com.android.systemui.qs.QSPanelController;
import com.android.systemui.qs.QSPanelController;
import com.android.systemui.recents.ScreenPinningRequest;
import com.android.systemui.recents.ScreenPinningRequest;
import com.android.systemui.res.R;
import com.android.systemui.settings.UserTracker;
import com.android.systemui.settings.UserTracker;
import com.android.systemui.shade.CameraLauncher;
import com.android.systemui.shade.CameraLauncher;
import com.android.systemui.shade.QuickSettingsController;
import com.android.systemui.shade.QuickSettingsController;
import com.android.systemui.shade.ShadeController;
import com.android.systemui.shade.ShadeController;
import com.android.systemui.shade.ShadeViewController;
import com.android.systemui.shade.ShadeViewController;
import com.android.systemui.statusbar.CommandQueue;
import com.android.systemui.statusbar.CommandQueue;
import com.android.systemui.statusbar.VibratorHelper;
import com.android.systemui.statusbar.disableflags.DisableFlagsLogger;
import com.android.systemui.statusbar.disableflags.DisableFlagsLogger;
import com.android.systemui.statusbar.notification.stack.NotificationStackScrollLayoutController;
import com.android.systemui.statusbar.notification.stack.NotificationStackScrollLayoutController;
import com.android.systemui.statusbar.policy.DeviceProvisionedController;
import com.android.systemui.statusbar.policy.DeviceProvisionedController;
@@ -97,7 +94,6 @@ public class CentralSurfacesCommandQueueCallbacks implements CommandQueue.Callba
    private final NotificationStackScrollLayoutController mNotificationStackScrollLayoutController;
    private final NotificationStackScrollLayoutController mNotificationStackScrollLayoutController;
    private final StatusBarHideIconsForBouncerManager mStatusBarHideIconsForBouncerManager;
    private final StatusBarHideIconsForBouncerManager mStatusBarHideIconsForBouncerManager;
    private final PowerManager mPowerManager;
    private final PowerManager mPowerManager;
    private final VibratorHelper mVibratorHelper;
    private final Optional<Vibrator> mVibratorOptional;
    private final Optional<Vibrator> mVibratorOptional;
    private final DisableFlagsLogger mDisableFlagsLogger;
    private final DisableFlagsLogger mDisableFlagsLogger;
    private final int mDisplayId;
    private final int mDisplayId;
@@ -108,8 +104,6 @@ public class CentralSurfacesCommandQueueCallbacks implements CommandQueue.Callba
    private final Lazy<CameraLauncher> mCameraLauncherLazy;
    private final Lazy<CameraLauncher> mCameraLauncherLazy;
    private final QuickSettingsController mQsController;
    private final QuickSettingsController mQsController;
    private final QSHost mQSHost;
    private final QSHost mQSHost;
    private final FeatureFlags mFeatureFlags;

    private static final VibrationAttributes HARDWARE_FEEDBACK_VIBRATION_ATTRIBUTES =
    private static final VibrationAttributes HARDWARE_FEEDBACK_VIBRATION_ATTRIBUTES =
            VibrationAttributes.createForUsage(VibrationAttributes.USAGE_HARDWARE_FEEDBACK);
            VibrationAttributes.createForUsage(VibrationAttributes.USAGE_HARDWARE_FEEDBACK);


@@ -139,15 +133,13 @@ public class CentralSurfacesCommandQueueCallbacks implements CommandQueue.Callba
            NotificationStackScrollLayoutController notificationStackScrollLayoutController,
            NotificationStackScrollLayoutController notificationStackScrollLayoutController,
            StatusBarHideIconsForBouncerManager statusBarHideIconsForBouncerManager,
            StatusBarHideIconsForBouncerManager statusBarHideIconsForBouncerManager,
            PowerManager powerManager,
            PowerManager powerManager,
            VibratorHelper vibratorHelper,
            Optional<Vibrator> vibratorOptional,
            Optional<Vibrator> vibratorOptional,
            DisableFlagsLogger disableFlagsLogger,
            DisableFlagsLogger disableFlagsLogger,
            @DisplayId int displayId,
            @DisplayId int displayId,
            Lazy<CameraLauncher> cameraLauncherLazy,
            Lazy<CameraLauncher> cameraLauncherLazy,
            UserTracker userTracker,
            UserTracker userTracker,
            QSHost qsHost,
            QSHost qsHost,
            ActivityStarter activityStarter,
            ActivityStarter activityStarter) {
            FeatureFlags featureFlags) {
        mCentralSurfaces = centralSurfaces;
        mCentralSurfaces = centralSurfaces;
        mQsController = quickSettingsController;
        mQsController = quickSettingsController;
        mContext = context;
        mContext = context;
@@ -168,14 +160,12 @@ public class CentralSurfacesCommandQueueCallbacks implements CommandQueue.Callba
        mNotificationStackScrollLayoutController = notificationStackScrollLayoutController;
        mNotificationStackScrollLayoutController = notificationStackScrollLayoutController;
        mStatusBarHideIconsForBouncerManager = statusBarHideIconsForBouncerManager;
        mStatusBarHideIconsForBouncerManager = statusBarHideIconsForBouncerManager;
        mPowerManager = powerManager;
        mPowerManager = powerManager;
        mVibratorHelper = vibratorHelper;
        mVibratorOptional = vibratorOptional;
        mVibratorOptional = vibratorOptional;
        mDisableFlagsLogger = disableFlagsLogger;
        mDisableFlagsLogger = disableFlagsLogger;
        mDisplayId = displayId;
        mDisplayId = displayId;
        mCameraLauncherLazy = cameraLauncherLazy;
        mCameraLauncherLazy = cameraLauncherLazy;
        mUserTracker = userTracker;
        mUserTracker = userTracker;
        mQSHost = qsHost;
        mQSHost = qsHost;
        mFeatureFlags = featureFlags;


        mVibrateOnOpening = resources.getBoolean(R.bool.config_vibrateOnIconAnimation);
        mVibrateOnOpening = resources.getBoolean(R.bool.config_vibrateOnIconAnimation);
        mCameraLaunchGestureVibrationEffect = getCameraGestureVibrationEffect(
        mCameraLaunchGestureVibrationEffect = getCameraGestureVibrationEffect(
@@ -544,12 +534,8 @@ public class CentralSurfacesCommandQueueCallbacks implements CommandQueue.Callba


    @VisibleForTesting
    @VisibleForTesting
    void vibrateOnNavigationKeyDown() {
    void vibrateOnNavigationKeyDown() {
        if (mFeatureFlags.isEnabled(ONE_WAY_HAPTICS_API_MIGRATION)) {
        mShadeViewController.performHapticFeedback(
        mShadeViewController.performHapticFeedback(
                HapticFeedbackConstants.GESTURE_START
                HapticFeedbackConstants.GESTURE_START
        );
        );
        } else {
            mVibratorHelper.vibrate(VibrationEffect.EFFECT_TICK);
        }
    }
    }
}
}
+2 −22
Original line number Original line Diff line number Diff line
@@ -18,8 +18,6 @@ package com.android.systemui.statusbar.phone;


import static android.view.Display.DEFAULT_DISPLAY;
import static android.view.Display.DEFAULT_DISPLAY;


import static com.android.systemui.flags.Flags.ONE_WAY_HAPTICS_API_MIGRATION;

import static org.mockito.ArgumentMatchers.anyInt;
import static org.mockito.ArgumentMatchers.anyInt;
import static org.mockito.Mockito.never;
import static org.mockito.Mockito.never;
import static org.mockito.Mockito.reset;
import static org.mockito.Mockito.reset;
@@ -30,7 +28,6 @@ import android.app.ActivityManager;
import android.app.StatusBarManager;
import android.app.StatusBarManager;
import android.os.PowerManager;
import android.os.PowerManager;
import android.os.UserHandle;
import android.os.UserHandle;
import android.os.VibrationEffect;
import android.os.Vibrator;
import android.os.Vibrator;
import android.testing.AndroidTestingRunner;
import android.testing.AndroidTestingRunner;
import android.view.HapticFeedbackConstants;
import android.view.HapticFeedbackConstants;
@@ -42,7 +39,6 @@ import com.android.internal.logging.testing.FakeMetricsLogger;
import com.android.keyguard.KeyguardUpdateMonitor;
import com.android.keyguard.KeyguardUpdateMonitor;
import com.android.systemui.SysuiTestCase;
import com.android.systemui.SysuiTestCase;
import com.android.systemui.assist.AssistManager;
import com.android.systemui.assist.AssistManager;
import com.android.systemui.flags.FakeFeatureFlags;
import com.android.systemui.keyguard.WakefulnessLifecycle;
import com.android.systemui.keyguard.WakefulnessLifecycle;
import com.android.systemui.plugins.ActivityStarter;
import com.android.systemui.plugins.ActivityStarter;
import com.android.systemui.qs.QSHost;
import com.android.systemui.qs.QSHost;
@@ -53,7 +49,6 @@ import com.android.systemui.shade.QuickSettingsController;
import com.android.systemui.shade.ShadeController;
import com.android.systemui.shade.ShadeController;
import com.android.systemui.shade.ShadeViewController;
import com.android.systemui.shade.ShadeViewController;
import com.android.systemui.statusbar.CommandQueue;
import com.android.systemui.statusbar.CommandQueue;
import com.android.systemui.statusbar.VibratorHelper;
import com.android.systemui.statusbar.disableflags.DisableFlagsLogger;
import com.android.systemui.statusbar.disableflags.DisableFlagsLogger;
import com.android.systemui.statusbar.notification.stack.NotificationStackScrollLayoutController;
import com.android.systemui.statusbar.notification.stack.NotificationStackScrollLayoutController;
import com.android.systemui.statusbar.policy.DeviceProvisionedController;
import com.android.systemui.statusbar.policy.DeviceProvisionedController;
@@ -94,14 +89,12 @@ public class CentralSurfacesCommandQueueCallbacksTest extends SysuiTestCase {
    @Mock private DozeServiceHost mDozeServiceHost;
    @Mock private DozeServiceHost mDozeServiceHost;
    @Mock private NotificationStackScrollLayoutController mNotificationStackScrollLayoutController;
    @Mock private NotificationStackScrollLayoutController mNotificationStackScrollLayoutController;
    @Mock private PowerManager mPowerManager;
    @Mock private PowerManager mPowerManager;
    @Mock private VibratorHelper mVibratorHelper;
    @Mock private Vibrator mVibrator;
    @Mock private Vibrator mVibrator;
    @Mock private StatusBarHideIconsForBouncerManager mStatusBarHideIconsForBouncerManager;
    @Mock private StatusBarHideIconsForBouncerManager mStatusBarHideIconsForBouncerManager;
    @Mock private Lazy<CameraLauncher> mCameraLauncherLazy;
    @Mock private Lazy<CameraLauncher> mCameraLauncherLazy;
    @Mock private UserTracker mUserTracker;
    @Mock private UserTracker mUserTracker;
    @Mock private QSHost mQSHost;
    @Mock private QSHost mQSHost;
    @Mock private ActivityStarter mActivityStarter;
    @Mock private ActivityStarter mActivityStarter;
    private final FakeFeatureFlags mFeatureFlags = new FakeFeatureFlags();


    CentralSurfacesCommandQueueCallbacks mSbcqCallbacks;
    CentralSurfacesCommandQueueCallbacks mSbcqCallbacks;


@@ -131,15 +124,13 @@ public class CentralSurfacesCommandQueueCallbacksTest extends SysuiTestCase {
                mNotificationStackScrollLayoutController,
                mNotificationStackScrollLayoutController,
                mStatusBarHideIconsForBouncerManager,
                mStatusBarHideIconsForBouncerManager,
                mPowerManager,
                mPowerManager,
                mVibratorHelper,
                Optional.of(mVibrator),
                Optional.of(mVibrator),
                new DisableFlagsLogger(),
                new DisableFlagsLogger(),
                DEFAULT_DISPLAY,
                DEFAULT_DISPLAY,
                mCameraLauncherLazy,
                mCameraLauncherLazy,
                mUserTracker,
                mUserTracker,
                mQSHost,
                mQSHost,
                mActivityStarter,
                mActivityStarter);
                mFeatureFlags);


        when(mUserTracker.getUserHandle()).thenReturn(
        when(mUserTracker.getUserHandle()).thenReturn(
                UserHandle.of(ActivityManager.getCurrentUser()));
                UserHandle.of(ActivityManager.getCurrentUser()));
@@ -192,18 +183,7 @@ public class CentralSurfacesCommandQueueCallbacksTest extends SysuiTestCase {
    }
    }


    @Test
    @Test
    public void vibrateOnNavigationKeyDown_oneWayHapticsDisabled_usesVibrate() {
    public void vibrateOnNavigationKeyDown_usesPerformHapticFeedback() {
        mFeatureFlags.set(ONE_WAY_HAPTICS_API_MIGRATION, false);

        mSbcqCallbacks.vibrateOnNavigationKeyDown();

        verify(mVibratorHelper).vibrate(VibrationEffect.EFFECT_TICK);
    }

    @Test
    public void vibrateOnNavigationKeyDown_oneWayHapticsEnabled_usesPerformHapticFeedback() {
        mFeatureFlags.set(ONE_WAY_HAPTICS_API_MIGRATION, true);

        mSbcqCallbacks.vibrateOnNavigationKeyDown();
        mSbcqCallbacks.vibrateOnNavigationKeyDown();


        verify(mShadeViewController).performHapticFeedback(
        verify(mShadeViewController).performHapticFeedback(