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

Commit dd79a62a authored by Josh Tsuji's avatar Josh Tsuji
Browse files

Use new GX overlay for new AOD/lockscreen transitions.

This will enable the transitions in dogfood!

Bug: 169693662
Test: atest SystemUITests
Test: enable/disable overlay and wake/sleep device a lot
Change-Id: I343400700c5ba25f2575e81cc22994932b230023
parent 3bbcb616
Loading
Loading
Loading
Loading
+3 −0
Original line number Diff line number Diff line
@@ -34,6 +34,9 @@

    <bool name="flag_brightness_slider">false</bool>

    <!-- The new animations to/from lockscreen and AOD! -->
    <bool name="flag_lockscreen_animations">false</bool>

    <!-- People Tile flag -->
    <bool name="flag_conversations">false</bool>
</resources>
+4 −0
Original line number Diff line number Diff line
@@ -67,6 +67,10 @@ public class FeatureFlags {
        return mFlagReader.isEnabled(R.bool.flag_brightness_slider);
    }

    public boolean useNewLockscreenAnimations() {
        return mFlagReader.isEnabled(R.bool.flag_lockscreen_animations);
    }

    public boolean isPeopleTileEnabled() {
        return mFlagReader.isEnabled(R.bool.flag_conversations);
    }
+0 −4
Original line number Diff line number Diff line
@@ -11,14 +11,10 @@ import android.graphics.PorterDuffColorFilter
import android.graphics.PorterDuffXfermode
import android.graphics.RadialGradient
import android.graphics.Shader
import android.os.SystemProperties
import android.util.AttributeSet
import android.view.View
import com.android.systemui.Interpolators

val enableLightReveal =
        SystemProperties.getBoolean("persist.sysui.show_new_screen_on_transitions", false)

/**
 * Provides methods to modify the various properties of a [LightRevealScrim] to reveal between 0% to
 * 100% of the view(s) underneath the scrim.
+6 −3
Original line number Diff line number Diff line
@@ -29,6 +29,7 @@ import com.android.systemui.dagger.SysUISingleton;
import com.android.systemui.dagger.qualifiers.Main;
import com.android.systemui.doze.AlwaysOnDisplayPolicy;
import com.android.systemui.doze.DozeScreenState;
import com.android.systemui.statusbar.FeatureFlags;
import com.android.systemui.statusbar.policy.BatteryController;
import com.android.systemui.tuner.TunerService;

@@ -54,6 +55,7 @@ public class DozeParameters implements TunerService.Tunable,
    private final AlwaysOnDisplayPolicy mAlwaysOnPolicy;
    private final Resources mResources;
    private final BatteryController mBatteryController;
    private final FeatureFlags mFeatureFlags;

    private boolean mDozeAlwaysOn;
    private boolean mControlScreenOffAnimation;
@@ -65,7 +67,8 @@ public class DozeParameters implements TunerService.Tunable,
            AlwaysOnDisplayPolicy alwaysOnDisplayPolicy,
            PowerManager powerManager,
            BatteryController batteryController,
            TunerService tunerService) {
            TunerService tunerService,
            FeatureFlags featureFlags) {
        mResources = resources;
        mAmbientDisplayConfiguration = ambientDisplayConfiguration;
        mAlwaysOnPolicy = alwaysOnDisplayPolicy;
@@ -74,6 +77,7 @@ public class DozeParameters implements TunerService.Tunable,
        mControlScreenOffAnimation = !getDisplayNeedsBlanking();
        mPowerManager = powerManager;
        mPowerManager.setDozeAfterScreenOff(!mControlScreenOffAnimation);
        mFeatureFlags = featureFlags;

        tunerService.addTunable(
                this,
@@ -200,8 +204,7 @@ public class DozeParameters implements TunerService.Tunable,
     * then abruptly showing AOD.
     */
    public boolean shouldControlUnlockedScreenOff() {
        return getAlwaysOn() && SystemProperties.getBoolean(
                "persist.sysui.show_new_screen_on_transitions", false);
        return getAlwaysOn() && mFeatureFlags.useNewLockscreenAnimations();
    }

    private boolean getBoolean(String propName, int resId) {
+9 −4
Original line number Diff line number Diff line
@@ -35,7 +35,6 @@ import static com.android.systemui.charging.WirelessChargingLayout.UNKNOWN_BATTE
import static com.android.systemui.keyguard.WakefulnessLifecycle.WAKEFULNESS_ASLEEP;
import static com.android.systemui.keyguard.WakefulnessLifecycle.WAKEFULNESS_AWAKE;
import static com.android.systemui.keyguard.WakefulnessLifecycle.WAKEFULNESS_WAKING;
import static com.android.systemui.statusbar.LightRevealScrimKt.getEnableLightReveal;
import static com.android.systemui.statusbar.NotificationLockscreenUserManager.PERMISSION_SELF;
import static com.android.systemui.statusbar.phone.BarTransitions.MODE_LIGHTS_OUT;
import static com.android.systemui.statusbar.phone.BarTransitions.MODE_LIGHTS_OUT_TRANSPARENT;
@@ -181,6 +180,7 @@ import com.android.systemui.statusbar.AutoHideUiElement;
import com.android.systemui.statusbar.BackDropView;
import com.android.systemui.statusbar.CommandQueue;
import com.android.systemui.statusbar.CrossFadeHelper;
import com.android.systemui.statusbar.FeatureFlags;
import com.android.systemui.statusbar.GestureRecorder;
import com.android.systemui.statusbar.KeyboardShortcuts;
import com.android.systemui.statusbar.KeyguardIndicationController;
@@ -442,6 +442,7 @@ public class StatusBar extends SystemUI implements DemoMode,
    private final KeyguardViewMediator mKeyguardViewMediator;
    protected final NotificationInterruptStateProvider mNotificationInterruptStateProvider;
    private final BrightnessSlider.Factory mBrightnessSliderFactory;
    private final FeatureFlags mFeatureFlags;

    private final List<ExpansionChangedListener> mExpansionChangedListeners;

@@ -765,7 +766,8 @@ public class StatusBar extends SystemUI implements DemoMode,
            Lazy<NotificationShadeDepthController> notificationShadeDepthControllerLazy,
            StatusBarTouchableRegionManager statusBarTouchableRegionManager,
            NotificationIconAreaController notificationIconAreaController,
            BrightnessSlider.Factory brightnessSliderFactory) {
            BrightnessSlider.Factory brightnessSliderFactory,
            FeatureFlags featureFlags) {
        super(context);
        mNotificationsController = notificationsController;
        mLightBarController = lightBarController;
@@ -843,6 +845,7 @@ public class StatusBar extends SystemUI implements DemoMode,
        mDemoModeController = demoModeController;
        mNotificationIconAreaController = notificationIconAreaController;
        mBrightnessSliderFactory = brightnessSliderFactory;
        mFeatureFlags = featureFlags;

        mExpansionChangedListeners = new ArrayList<>();

@@ -1186,9 +1189,11 @@ public class StatusBar extends SystemUI implements DemoMode,

        mLightRevealScrim = mNotificationShadeWindowView.findViewById(R.id.light_reveal_scrim);

        if (getEnableLightReveal()) {
        if (mFeatureFlags.useNewLockscreenAnimations() && mDozeParameters.getAlwaysOn()) {
            mLightRevealScrim.setVisibility(View.VISIBLE);
            mLightRevealScrim.setRevealEffect(LiftReveal.INSTANCE);
        } else {
            mLightRevealScrim.setVisibility(View.GONE);
        }

        mNotificationPanelViewController.initDependencies(
@@ -3651,7 +3656,7 @@ public class StatusBar extends SystemUI implements DemoMode,

    @Override
    public void onDozeAmountChanged(float linear, float eased) {
        if (getEnableLightReveal()) {
        if (mFeatureFlags.useNewLockscreenAnimations()) {
            mLightRevealScrim.setRevealAmount(1f - linear);
        }
    }
Loading