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

Commit 794e8aa8 authored by Caitlin Cassidy's avatar Caitlin Cassidy Committed by Automerger Merge Worker
Browse files

Merge "[Dagger] Move AnimationCallback out of KeyguardStatusBarView and into...

Merge "[Dagger] Move AnimationCallback out of KeyguardStatusBarView and into its controller." into sc-v2-dev am: 5e79c57c

Original change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/base/+/15328971

Change-Id: Ia1336d6789845a4da3095f08ab5a78b4e0595ca7
parents db66abb3 5e79c57c
Loading
Loading
Loading
Loading
+7 −21
Original line number Diff line number Diff line
@@ -18,10 +18,7 @@ package com.android.systemui.statusbar.phone;

import static com.android.systemui.DejankUtils.whitelistIpcs;
import static com.android.systemui.ScreenDecorations.DisplayCutoutView.boundsFromDirection;
import static com.android.systemui.statusbar.events.SystemStatusAnimationSchedulerKt.ANIMATING_IN;
import static com.android.systemui.statusbar.events.SystemStatusAnimationSchedulerKt.ANIMATING_OUT;

import android.animation.ValueAnimator;
import android.annotation.ColorInt;
import android.content.Context;
import android.content.res.Configuration;
@@ -51,8 +48,6 @@ import com.android.systemui.R;
import com.android.systemui.animation.Interpolators;
import com.android.systemui.plugins.DarkIconDispatcher.DarkReceiver;
import com.android.systemui.statusbar.FeatureFlags;
import com.android.systemui.statusbar.events.SystemStatusAnimationCallback;
import com.android.systemui.statusbar.events.SystemStatusAnimationScheduler;
import com.android.systemui.statusbar.phone.StatusBarIconController.TintedIconManager;
import com.android.systemui.statusbar.policy.BatteryController;
import com.android.systemui.statusbar.policy.BatteryController.BatteryStateChangeCallback;
@@ -70,8 +65,7 @@ import java.util.List;
 */
public class KeyguardStatusBarView extends RelativeLayout implements
        BatteryStateChangeCallback,
        OnUserInfoChangedListener,
        SystemStatusAnimationCallback {
        OnUserInfoChangedListener {

    private static final int LAYOUT_NONE = 0;
    private static final int LAYOUT_CUTOUT = 1;
@@ -102,7 +96,6 @@ public class KeyguardStatusBarView extends RelativeLayout implements
    private ViewGroup mStatusIconArea;
    private int mLayoutState = LAYOUT_NONE;

    private SystemStatusAnimationScheduler mAnimationScheduler;
    private FeatureFlags mFeatureFlags;

    /**
@@ -140,7 +133,6 @@ public class KeyguardStatusBarView extends RelativeLayout implements
        loadDimens();
        loadBlockList();
        mBatteryController = Dependency.get(BatteryController.class);
        mAnimationScheduler = Dependency.get(SystemStatusAnimationScheduler.class);
        mFeatureFlags = Dependency.get(FeatureFlags.class);
    }

@@ -366,7 +358,6 @@ public class KeyguardStatusBarView extends RelativeLayout implements
        mIconManager = new TintedIconManager(findViewById(R.id.statusIcons), mFeatureFlags);
        mIconManager.setBlockList(mBlockedIcons);
        Dependency.get(StatusBarIconController.class).addIconGroup(mIconManager);
        mAnimationScheduler.addCallback(this);
    }

    @Override
@@ -374,7 +365,6 @@ public class KeyguardStatusBarView extends RelativeLayout implements
        super.onDetachedFromWindow();
        Dependency.get(UserInfoController.class).removeCallback(this);
        Dependency.get(StatusBarIconController.class).removeIconGroup(mIconManager);
        mAnimationScheduler.removeCallback(this);
    }

    @Override
@@ -522,19 +512,16 @@ public class KeyguardStatusBarView extends RelativeLayout implements
        }
    }

    /** SystemStatusAnimationCallback */
    @Override
    public void onSystemChromeAnimationStart() {
        if (mAnimationScheduler.getAnimationState() == ANIMATING_OUT) {
    void onSystemChromeAnimationStart(boolean isAnimatingOut) {
        if (isAnimatingOut) {
            mSystemIconsContainer.setVisibility(View.VISIBLE);
            mSystemIconsContainer.setAlpha(0f);
        }
    }

    @Override
    public void onSystemChromeAnimationEnd() {
    void onSystemChromeAnimationEnd(boolean isAnimatingIn) {
        // Make sure the system icons are out of the way
        if (mAnimationScheduler.getAnimationState() == ANIMATING_IN) {
        if (isAnimatingIn) {
            mSystemIconsContainer.setVisibility(View.INVISIBLE);
            mSystemIconsContainer.setAlpha(0f);
        } else {
@@ -543,9 +530,8 @@ public class KeyguardStatusBarView extends RelativeLayout implements
        }
    }

    @Override
    public void onSystemChromeAnimationUpdate(ValueAnimator anim) {
        mSystemIconsContainer.setAlpha((float) anim.getAnimatedValue());
    void onSystemChromeAnimationUpdate(float animatedValue) {
        mSystemIconsContainer.setAlpha(animatedValue);
    }

    @Override
+35 −1
Original line number Diff line number Diff line
@@ -16,7 +16,16 @@

package com.android.systemui.statusbar.phone;

import static com.android.systemui.statusbar.events.SystemStatusAnimationSchedulerKt.ANIMATING_IN;
import static com.android.systemui.statusbar.events.SystemStatusAnimationSchedulerKt.ANIMATING_OUT;

import android.animation.ValueAnimator;

import androidx.annotation.NonNull;

import com.android.keyguard.CarrierTextController;
import com.android.systemui.statusbar.events.SystemStatusAnimationCallback;
import com.android.systemui.statusbar.events.SystemStatusAnimationScheduler;
import com.android.systemui.statusbar.policy.ConfigurationController;
import com.android.systemui.util.ViewController;

@@ -26,6 +35,7 @@ import javax.inject.Inject;
public class KeyguardStatusBarViewController extends ViewController<KeyguardStatusBarView> {
    private final CarrierTextController mCarrierTextController;
    private final ConfigurationController mConfigurationController;
    private final SystemStatusAnimationScheduler mAnimationScheduler;

    private final ConfigurationController.ConfigurationListener mConfigurationListener =
            new ConfigurationController.ConfigurationListener() {
@@ -46,14 +56,36 @@ public class KeyguardStatusBarViewController extends ViewController<KeyguardStat
                }
            };

    private final SystemStatusAnimationCallback mAnimationCallback =
            new SystemStatusAnimationCallback() {
                @Override
                public void onSystemChromeAnimationStart() {
                    mView.onSystemChromeAnimationStart(
                            mAnimationScheduler.getAnimationState() == ANIMATING_OUT);
                }

                @Override
                public void onSystemChromeAnimationEnd() {
                    mView.onSystemChromeAnimationEnd(
                            mAnimationScheduler.getAnimationState() == ANIMATING_IN);
                }

                @Override
                public void onSystemChromeAnimationUpdate(@NonNull ValueAnimator anim) {
                    mView.onSystemChromeAnimationUpdate((float) anim.getAnimatedValue());
                }
            };

    @Inject
    public KeyguardStatusBarViewController(
            KeyguardStatusBarView view,
            CarrierTextController carrierTextController,
            ConfigurationController configurationController) {
            ConfigurationController configurationController,
            SystemStatusAnimationScheduler animationScheduler) {
        super(view);
        mCarrierTextController = carrierTextController;
        mConfigurationController = configurationController;
        mAnimationScheduler = animationScheduler;
    }

    @Override
@@ -65,12 +97,14 @@ public class KeyguardStatusBarViewController extends ViewController<KeyguardStat
    @Override
    protected void onViewAttached() {
        mConfigurationController.addCallback(mConfigurationListener);
        mAnimationScheduler.addCallback(mAnimationCallback);
        onThemeChanged();
    }

    @Override
    protected void onViewDetached() {
        mConfigurationController.removeCallback(mConfigurationListener);
        mAnimationScheduler.removeCallback(mAnimationCallback);
    }

    /** Should be called when the theme changes. */
+7 −1
Original line number Diff line number Diff line
@@ -24,6 +24,7 @@ import androidx.test.filters.SmallTest;

import com.android.keyguard.CarrierTextController;
import com.android.systemui.SysuiTestCase;
import com.android.systemui.statusbar.events.SystemStatusAnimationScheduler;
import com.android.systemui.statusbar.policy.ConfigurationController;

import org.junit.Before;
@@ -39,6 +40,8 @@ public class KeyguardStatusBarViewControllerTest extends SysuiTestCase {
    private CarrierTextController mCarrierTextController;
    @Mock
    private ConfigurationController mConfigurationController;
    @Mock
    private SystemStatusAnimationScheduler mAnimationScheduler;

    private KeyguardStatusBarViewController mController;

@@ -49,7 +52,8 @@ public class KeyguardStatusBarViewControllerTest extends SysuiTestCase {
        mController = new KeyguardStatusBarViewController(
                mKeyguardStatusBarView,
                mCarrierTextController,
                mConfigurationController
                mConfigurationController,
                mAnimationScheduler
        );
    }

@@ -58,6 +62,7 @@ public class KeyguardStatusBarViewControllerTest extends SysuiTestCase {
        mController.onViewAttached();

        verify(mConfigurationController).addCallback(any());
        verify(mAnimationScheduler).addCallback(any());
    }

    @Test
@@ -65,5 +70,6 @@ public class KeyguardStatusBarViewControllerTest extends SysuiTestCase {
        mController.onViewDetached();

        verify(mConfigurationController).removeCallback(any());
        verify(mAnimationScheduler).removeCallback(any());
    }
}