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

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

Merge "[Status Bar Refactor] 1/3: Have HeadsUpAppearanceController be created...

Merge "[Status Bar Refactor] 1/3: Have HeadsUpAppearanceController be created by dagger and use it in CollapsedStatusBarFragment instead of using StatusBar.java." into sc-v2-dev am: 31bb3ec9 am: 1163a869

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

Change-Id: Ifef96ff7b8494622b873b150ceb539ce50d55d09
parents ba3dd28a 1163a869
Loading
Loading
Loading
Loading
+0 −2
Original line number Diff line number Diff line
@@ -67,7 +67,6 @@ import com.android.systemui.statusbar.notification.row.dagger.NotificationShelfC
import com.android.systemui.statusbar.phone.ShadeController;
import com.android.systemui.statusbar.phone.StatusBar;
import com.android.systemui.statusbar.phone.dagger.StatusBarComponent;
import com.android.systemui.statusbar.phone.fragment.dagger.StatusBarFragmentComponent;
import com.android.systemui.statusbar.policy.ConfigurationController;
import com.android.systemui.statusbar.policy.HeadsUpManager;
import com.android.systemui.statusbar.policy.ZenModeController;
@@ -129,7 +128,6 @@ import dagger.Provides;
        },
        subcomponents = {
            StatusBarComponent.class,
            StatusBarFragmentComponent.class,
            NotificationRowComponent.class,
            DozeComponent.class,
            ExpandableNotificationRowComponent.class,
+11 −2
Original line number Diff line number Diff line
@@ -24,6 +24,7 @@ import com.android.internal.annotations.VisibleForTesting;
import com.android.internal.widget.ViewClippingUtil;
import com.android.systemui.Dependency;
import com.android.systemui.R;
import com.android.systemui.dagger.qualifiers.RootView;
import com.android.systemui.plugins.DarkIconDispatcher;
import com.android.systemui.plugins.statusbar.StatusBarStateController;
import com.android.systemui.statusbar.CommandQueue;
@@ -35,15 +36,19 @@ import com.android.systemui.statusbar.notification.NotificationWakeUpCoordinator
import com.android.systemui.statusbar.notification.collection.NotificationEntry;
import com.android.systemui.statusbar.notification.row.ExpandableNotificationRow;
import com.android.systemui.statusbar.notification.stack.NotificationStackScrollLayoutController;
import com.android.systemui.statusbar.phone.fragment.dagger.StatusBarFragmentScope;
import com.android.systemui.statusbar.policy.KeyguardStateController;
import com.android.systemui.statusbar.policy.OnHeadsUpChangedListener;

import java.util.function.BiConsumer;
import java.util.function.Consumer;

import javax.inject.Inject;

/**
 * Controls the appearance of heads up notifications in the icon area and the header itself.
 */
@StatusBarFragmentScope
public class HeadsUpAppearanceController implements OnHeadsUpChangedListener,
        DarkIconDispatcher.DarkReceiver, NotificationWakeUpCoordinator.WakeUpListener {
    public static final int CONTENT_FADE_DURATION = 110;
@@ -83,7 +88,7 @@ public class HeadsUpAppearanceController implements OnHeadsUpChangedListener,
    Point mPoint;
    private KeyguardStateController mKeyguardStateController;


    @Inject
    public HeadsUpAppearanceController(
            NotificationIconAreaController notificationIconAreaController,
            HeadsUpManagerPhone headsUpManager,
@@ -92,11 +97,15 @@ public class HeadsUpAppearanceController implements OnHeadsUpChangedListener,
            KeyguardBypassController keyguardBypassController,
            KeyguardStateController keyguardStateController,
            NotificationWakeUpCoordinator wakeUpCoordinator, CommandQueue commandQueue,
            NotificationPanelViewController notificationPanelViewController, View statusBarView) {
            NotificationPanelViewController notificationPanelViewController,
            @RootView PhoneStatusBarView statusBarView) {
        this(notificationIconAreaController, headsUpManager, statusBarStateController,
                keyguardBypassController, wakeUpCoordinator, keyguardStateController,
                commandQueue, notificationStackScrollLayoutController,
                notificationPanelViewController,
                // TODO(b/205609837): We should have the StatusBarFragmentComponent provide these
                //  four views, and then we can delete this constructor and just use the one below
                //  (which also removes the undesirable @VisibleForTesting).
                statusBarView.findViewById(R.id.heads_up_status_bar_view),
                statusBarView.findViewById(R.id.clock),
                statusBarView.findViewById(R.id.operator_name_frame),
+6 −10
Original line number Diff line number Diff line
@@ -1172,16 +1172,16 @@ public class StatusBar extends CoreStartable implements
                    HeadsUpAppearanceController oldController = mHeadsUpAppearanceController;
                    if (mHeadsUpAppearanceController != null) {
                        // This view is being recreated, let's destroy the old one
                        // TODO(b/205609837): Automatically destroy the old controller so that this
                        //  class doesn't need to hold a reference to the old one.
                        mHeadsUpAppearanceController.destroy();
                    }
                    // TODO (b/136993073) Separate notification shade and status bar
                    // TODO(b/205609837): Migrate this to StatusBarFragmentComponent.
                    mHeadsUpAppearanceController = new HeadsUpAppearanceController(
                            mNotificationIconAreaController, mHeadsUpManager,
                            mStackScrollerController,
                            mStatusBarStateController, mKeyguardBypassController,
                            mKeyguardStateController, mWakeUpCoordinator, mCommandQueue,
                            mNotificationPanelViewController, mStatusBarView);
                    mHeadsUpAppearanceController =
                            statusBarFragmentComponent.getHeadsUpAppearanceController();
                    // TODO(b/205609837): Delete this readFrom method so that this class doesn't
                    //  need to hold a reference to the old controller.
                    mHeadsUpAppearanceController.readFrom(oldController);

                    mLightsOutNotifController.setLightsOutNotifView(
@@ -1910,10 +1910,6 @@ public class StatusBar extends CoreStartable implements
        mScrimController.setKeyguardOccluded(occluded);
    }

    public boolean headsUpShouldBeVisible() {
        return mHeadsUpAppearanceController.shouldBeVisible();
    }

    /** A launch animation was cancelled. */
    //TODO: These can / should probably be moved to NotificationPresenter or ShadeController
    public void onLaunchAnimationCancelled(boolean isLaunchForActivity) {
+1 −1
Original line number Diff line number Diff line
@@ -69,7 +69,7 @@ import dagger.Lazy;
import dagger.Module;
import dagger.Provides;

@Module
@Module(subcomponents = StatusBarFragmentComponent.class)
public abstract class StatusBarViewModule {

    public static final String SPLIT_SHADE_HEADER = "split_shade_header";
+2 −2
Original line number Diff line number Diff line
@@ -329,8 +329,8 @@ public class CollapsedStatusBarFragment extends Fragment implements CommandQueue
    }

    protected int adjustDisableFlags(int state) {
        boolean headsUpVisible = mStatusBarOptionalLazy.get()
                .map(StatusBar::headsUpShouldBeVisible).orElse(false);
        boolean headsUpVisible =
                mStatusBarFragmentComponent.getHeadsUpAppearanceController().shouldBeVisible();
        if (headsUpVisible) {
            state |= DISABLE_CLOCK;
        }
Loading