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

Commit 9a16f293 authored by Automerger Merge Worker's avatar Automerger Merge Worker Committed by Android (Google) Code Review
Browse files

Merge "Merge "Make StatusBar purely optional" into sc-v2-dev am: 248f0f42 am: 3a2e18b0"

parents ef741888 16c7fcbc
Loading
Loading
Loading
Loading
+38 −37
Original line number Diff line number Diff line
@@ -39,113 +39,114 @@ import dagger.Lazy;
@SysUISingleton
public class ActivityStarterDelegate implements ActivityStarter {

    private Optional<Lazy<StatusBar>> mActualStarter;
    private Lazy<Optional<StatusBar>> mActualStarterOptionalLazy;

    @Inject
    public ActivityStarterDelegate(Optional<Lazy<StatusBar>> statusBar) {
        mActualStarter = statusBar;
    public ActivityStarterDelegate(Lazy<Optional<StatusBar>> statusBarOptionalLazy) {
        mActualStarterOptionalLazy = statusBarOptionalLazy;
    }

    @Override
    public void startPendingIntentDismissingKeyguard(PendingIntent intent) {
        mActualStarter.ifPresent(
                starter -> starter.get().startPendingIntentDismissingKeyguard(intent));
        mActualStarterOptionalLazy.get().ifPresent(
                starter -> starter.startPendingIntentDismissingKeyguard(intent));
    }

    @Override
    public void startPendingIntentDismissingKeyguard(PendingIntent intent,
            Runnable intentSentUiThreadCallback) {
        mActualStarter.ifPresent(
                starter -> starter.get().startPendingIntentDismissingKeyguard(intent,
                        intentSentUiThreadCallback));
        mActualStarterOptionalLazy.get().ifPresent(
                starter -> starter.startPendingIntentDismissingKeyguard(
                        intent, intentSentUiThreadCallback));
    }

    @Override
    public void startPendingIntentDismissingKeyguard(PendingIntent intent,
            Runnable intentSentUiThreadCallback, View associatedView) {
        mActualStarter.ifPresent(
                starter -> starter.get().startPendingIntentDismissingKeyguard(intent,
                        intentSentUiThreadCallback, associatedView));
        mActualStarterOptionalLazy.get().ifPresent(
                starter -> starter.startPendingIntentDismissingKeyguard(
                        intent, intentSentUiThreadCallback, associatedView));
    }

    @Override
    public void startPendingIntentDismissingKeyguard(PendingIntent intent,
            Runnable intentSentUiThreadCallback,
            ActivityLaunchAnimator.Controller animationController) {
        mActualStarter.ifPresent(
                starter -> starter.get().startPendingIntentDismissingKeyguard(intent,
                        intentSentUiThreadCallback, animationController));
        mActualStarterOptionalLazy.get().ifPresent(
                starter -> starter.startPendingIntentDismissingKeyguard(
                        intent, intentSentUiThreadCallback, animationController));
    }

    @Override
    public void startActivity(Intent intent, boolean onlyProvisioned, boolean dismissShade,
            int flags) {
        mActualStarter.ifPresent(
                starter -> starter.get().startActivity(intent, onlyProvisioned, dismissShade,
                        flags));
        mActualStarterOptionalLazy.get().ifPresent(
                starter -> starter.startActivity(intent, onlyProvisioned, dismissShade, flags));
    }

    @Override
    public void startActivity(Intent intent, boolean dismissShade) {
        mActualStarter.ifPresent(starter -> starter.get().startActivity(intent, dismissShade));
        mActualStarterOptionalLazy.get().ifPresent(
                starter -> starter.startActivity(intent, dismissShade));
    }

    @Override
    public void startActivity(Intent intent, boolean dismissShade,
            @Nullable ActivityLaunchAnimator.Controller animationController) {
        mActualStarter.ifPresent(
                starter -> starter.get().startActivity(intent, dismissShade, animationController));
        mActualStarterOptionalLazy.get().ifPresent(
                starter -> starter.startActivity(intent, dismissShade, animationController));
    }

    @Override
    public void startActivity(Intent intent, boolean onlyProvisioned, boolean dismissShade) {
        mActualStarter.ifPresent(
                starter -> starter.get().startActivity(intent, onlyProvisioned, dismissShade));
        mActualStarterOptionalLazy.get().ifPresent(
                starter -> starter.startActivity(intent, onlyProvisioned, dismissShade));
    }

    @Override
    public void startActivity(Intent intent, boolean dismissShade, Callback callback) {
        mActualStarter.ifPresent(
                starter -> starter.get().startActivity(intent, dismissShade, callback));
        mActualStarterOptionalLazy.get().ifPresent(
                starter -> starter.startActivity(intent, dismissShade, callback));
    }

    @Override
    public void postStartActivityDismissingKeyguard(Intent intent, int delay) {
        mActualStarter.ifPresent(
                starter -> starter.get().postStartActivityDismissingKeyguard(intent, delay));
        mActualStarterOptionalLazy.get().ifPresent(
                starter -> starter.postStartActivityDismissingKeyguard(intent, delay));
    }

    @Override
    public void postStartActivityDismissingKeyguard(Intent intent, int delay,
            @Nullable ActivityLaunchAnimator.Controller animationController) {
        mActualStarter.ifPresent(
                starter -> starter.get().postStartActivityDismissingKeyguard(intent, delay,
                        animationController));
        mActualStarterOptionalLazy.get().ifPresent(
                starter -> starter.postStartActivityDismissingKeyguard(
                        intent, delay, animationController));
    }

    @Override
    public void postStartActivityDismissingKeyguard(PendingIntent intent) {
        mActualStarter.ifPresent(
                starter -> starter.get().postStartActivityDismissingKeyguard(intent));
        mActualStarterOptionalLazy.get().ifPresent(
                starter -> starter.postStartActivityDismissingKeyguard(intent));
    }

    @Override
    public void postStartActivityDismissingKeyguard(PendingIntent intent,
            ActivityLaunchAnimator.Controller animationController) {
        mActualStarter.ifPresent(starter ->
                starter.get().postStartActivityDismissingKeyguard(intent, animationController));
        mActualStarterOptionalLazy.get().ifPresent(
                starter -> starter.postStartActivityDismissingKeyguard(
                        intent, animationController));
    }

    @Override
    public void postQSRunnableDismissingKeyguard(Runnable runnable) {
        mActualStarter.ifPresent(
                starter -> starter.get().postQSRunnableDismissingKeyguard(runnable));
        mActualStarterOptionalLazy.get().ifPresent(
                starter -> starter.postQSRunnableDismissingKeyguard(runnable));
    }

    @Override
    public void dismissKeyguardThenExecute(OnDismissAction action, Runnable cancel,
            boolean afterKeyguardGone) {
        mActualStarter.ifPresent(starter -> starter.get().dismissKeyguardThenExecute(action, cancel,
                afterKeyguardGone));
        mActualStarterOptionalLazy.get().ifPresent(
                starter -> starter.dismissKeyguardThenExecute(action, cancel, afterKeyguardGone));
    }
}
+0 −3
Original line number Diff line number Diff line
@@ -100,7 +100,6 @@ import com.android.systemui.statusbar.phone.LockscreenGestureLogger;
import com.android.systemui.statusbar.phone.ManagedProfileController;
import com.android.systemui.statusbar.phone.NotificationGroupAlertTransferHelper;
import com.android.systemui.statusbar.phone.ShadeController;
import com.android.systemui.statusbar.phone.StatusBar;
import com.android.systemui.statusbar.phone.StatusBarIconController;
import com.android.systemui.statusbar.phone.StatusBarWindowController;
import com.android.systemui.statusbar.policy.AccessibilityController;
@@ -351,7 +350,6 @@ public class Dependency {
    @Inject Lazy<IWallpaperManager> mWallpaperManager;
    @Inject Lazy<CommandQueue> mCommandQueue;
    @Inject Lazy<Recents> mRecents;
    @Inject Lazy<StatusBar> mStatusBar;
    @Inject Lazy<RecordingController> mRecordingController;
    @Inject Lazy<ProtoTracer> mProtoTracer;
    @Inject Lazy<MediaOutputDialogFactory> mMediaOutputDialogFactory;
@@ -556,7 +554,6 @@ public class Dependency {
        mProviders.put(IWallpaperManager.class, mWallpaperManager::get);
        mProviders.put(CommandQueue.class, mCommandQueue::get);
        mProviders.put(Recents.class, mRecents::get);
        mProviders.put(StatusBar.class, mStatusBar::get);
        mProviders.put(ProtoTracer.class, mProtoTracer::get);
        mProviders.put(DeviceConfigProxy.class, mDeviceConfigProxy::get);
        mProviders.put(TelephonyListenerManager.class, mTelephonyListenerManager::get);
+13 −8
Original line number Diff line number Diff line
@@ -59,6 +59,7 @@ import com.android.systemui.statusbar.phone.StatusBarWindowCallback;
import com.android.systemui.util.Assert;

import java.util.Locale;
import java.util.Optional;

import javax.inject.Inject;

@@ -142,7 +143,7 @@ public class SystemActions extends SystemUI {
    private final Recents mRecents;
    private Locale mLocale;
    private final AccessibilityManager mA11yManager;
    private final Lazy<StatusBar> mStatusBar;
    private final Lazy<Optional<StatusBar>> mStatusBarOptionalLazy;
    private final NotificationShadeWindowController mNotificationShadeController;
    private final StatusBarWindowCallback mNotificationShadeCallback;
    private boolean mDismissNotificationShadeActionRegistered;
@@ -150,7 +151,7 @@ public class SystemActions extends SystemUI {
    @Inject
    public SystemActions(Context context,
            NotificationShadeWindowController notificationShadeController,
            Lazy<StatusBar> statusBar,
            Lazy<Optional<StatusBar>> statusBarOptionalLazy,
            Recents recents) {
        super(context);
        mRecents = recents;
@@ -163,7 +164,7 @@ public class SystemActions extends SystemUI {
        // NotificationShadeWindowController.registerCallback() only keeps weak references.
        mNotificationShadeCallback = (keyguardShowing, keyguardOccluded, bouncerShowing, mDozing) ->
                registerOrUnregisterDismissNotificationShadeAction();
        mStatusBar = statusBar;
        mStatusBarOptionalLazy = statusBarOptionalLazy;
    }

    @Override
@@ -242,8 +243,9 @@ public class SystemActions extends SystemUI {

        // Saving state in instance variable since this callback is called quite often to avoid
        // binder calls
        StatusBar statusBar = mStatusBar.get();
        if (statusBar.isPanelExpanded() && !statusBar.isKeyguardShowing()) {
        final Optional<StatusBar> statusBarOptional = mStatusBarOptionalLazy.get();
        if (statusBarOptional.map(StatusBar::isPanelExpanded).orElse(false)
                && !statusBarOptional.get().isKeyguardShowing()) {
            if (!mDismissNotificationShadeActionRegistered) {
                mA11yManager.registerSystemAction(
                        createRemoteAction(
@@ -372,11 +374,12 @@ public class SystemActions extends SystemUI {
    }

    private void handleNotifications() {
        mStatusBar.get().animateExpandNotificationsPanel();
        mStatusBarOptionalLazy.get().ifPresent(StatusBar::animateExpandNotificationsPanel);
    }

    private void handleQuickSettings() {
        mStatusBar.get().animateExpandSettingsPanel(null);
        mStatusBarOptionalLazy.get().ifPresent(
                statusBar -> statusBar.animateExpandSettingsPanel(null));
    }

    private void handlePowerDialog() {
@@ -425,7 +428,9 @@ public class SystemActions extends SystemUI {
    }

    private void handleAccessibilityDismissNotificationShade() {
        mStatusBar.get().animateCollapsePanels(CommandQueue.FLAG_EXCLUDE_NONE, false /* force */);
        mStatusBarOptionalLazy.get().ifPresent(
                statusBar -> statusBar.animateCollapsePanels(
                        CommandQueue.FLAG_EXCLUDE_NONE, false /* force */));
    }

    private class SystemActionsBroadcastReceiver extends BroadcastReceiver {
+3 −4
Original line number Diff line number Diff line
@@ -70,7 +70,7 @@ public final class PhoneStateMonitor {
    };

    private final Context mContext;
    private final Optional<Lazy<StatusBar>> mStatusBarOptionalLazy;
    private final Lazy<Optional<StatusBar>> mStatusBarOptionalLazy;
    private final StatusBarStateController mStatusBarStateController;

    private boolean mLauncherShowing;
@@ -78,7 +78,7 @@ public final class PhoneStateMonitor {

    @Inject
    PhoneStateMonitor(Context context, BroadcastDispatcher broadcastDispatcher,
            Optional<Lazy<StatusBar>> statusBarOptionalLazy, BootCompleteCache bootCompleteCache) {
            Lazy<Optional<StatusBar>> statusBarOptionalLazy, BootCompleteCache bootCompleteCache) {
        mContext = context;
        mStatusBarOptionalLazy = statusBarOptionalLazy;
        mStatusBarStateController = Dependency.get(StatusBarStateController.class);
@@ -180,8 +180,7 @@ public final class PhoneStateMonitor {
    }

    private boolean isBouncerShowing() {
        return mStatusBarOptionalLazy.map(
                statusBarLazy -> statusBarLazy.get().isBouncerShowing()).orElse(false);
        return mStatusBarOptionalLazy.get().map(StatusBar::isBouncerShowing).orElse(false);
    }

    private boolean isKeyguardLocked() {
+10 −5
Original line number Diff line number Diff line
@@ -28,6 +28,7 @@ import com.android.systemui.util.ViewController;

import java.io.FileDescriptor;
import java.io.PrintWriter;
import java.util.Optional;

/**
 * Handles:
@@ -42,7 +43,7 @@ import java.io.PrintWriter;
abstract class UdfpsAnimationViewController<T extends UdfpsAnimationView>
        extends ViewController<T> implements Dumpable {
    @NonNull final StatusBarStateController mStatusBarStateController;
    @NonNull final StatusBar mStatusBar;
    @NonNull final Optional<StatusBar> mStatusBarOptional;
    @NonNull final DumpManager mDumpManger;

    boolean mNotificationShadeExpanded;
@@ -50,11 +51,11 @@ abstract class UdfpsAnimationViewController<T extends UdfpsAnimationView>
    protected UdfpsAnimationViewController(
            T view,
            @NonNull StatusBarStateController statusBarStateController,
            @NonNull StatusBar statusBar,
            @NonNull Optional<StatusBar> statusBarOptional,
            @NonNull DumpManager dumpManager) {
        super(view);
        mStatusBarStateController = statusBarStateController;
        mStatusBar = statusBar;
        mStatusBarOptional = statusBarOptional;
        mDumpManger = dumpManager;
    }

@@ -62,13 +63,17 @@ abstract class UdfpsAnimationViewController<T extends UdfpsAnimationView>

    @Override
    protected void onViewAttached() {
        mStatusBar.addExpansionChangedListener(mStatusBarExpansionChangedListener);
        mStatusBarOptional.ifPresent(
                statusBar -> statusBar.addExpansionChangedListener(
                        mStatusBarExpansionChangedListener));
        mDumpManger.registerDumpable(getDumpTag(), this);
    }

    @Override
    protected void onViewDetached() {
        mStatusBar.removeExpansionChangedListener(mStatusBarExpansionChangedListener);
        mStatusBarOptional.ifPresent(
                statusBar -> statusBar.removeExpansionChangedListener(
                        mStatusBarExpansionChangedListener));
        mDumpManger.unregisterDumpable(getDumpTag());
    }

Loading