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

Commit be7d44a2 authored by Bryce Lee's avatar Bryce Lee Committed by Android (Google) Code Review
Browse files

Merge "Run dream logic only for current user process."

parents a2edb1f2 aaeea573
Loading
Loading
Loading
Loading
+9 −2
Original line number Diff line number Diff line
@@ -16,19 +16,23 @@

package com.android.systemui.dreams;

import static com.android.systemui.dreams.dagger.DreamModule.DREAM_PRETEXT_MONITOR;

import android.util.Log;

import com.android.systemui.CoreStartable;
import com.android.systemui.dreams.callbacks.DreamStatusBarStateCallback;
import com.android.systemui.dreams.conditions.DreamCondition;
import com.android.systemui.shared.condition.Monitor;
import com.android.systemui.util.condition.ConditionalCoreStartable;

import javax.inject.Inject;
import javax.inject.Named;

/**
 * A {@link CoreStartable} to retain a monitor for tracking dreaming.
 */
public class DreamMonitor implements CoreStartable {
public class DreamMonitor extends ConditionalCoreStartable {
    private static final String TAG = "DreamMonitor";

    // We retain a reference to the monitor so it is not garbage-collected.
@@ -39,14 +43,17 @@ public class DreamMonitor implements CoreStartable {

    @Inject
    public DreamMonitor(Monitor monitor, DreamCondition dreamCondition,
            @Named(DREAM_PRETEXT_MONITOR) Monitor pretextMonitor,
            DreamStatusBarStateCallback callback) {
        super(pretextMonitor);
        mConditionMonitor = monitor;
        mDreamCondition = dreamCondition;
        mCallback = callback;

    }

    @Override
    public void start() {
    protected void onStart() {
        if (Log.isLoggable(TAG, Log.DEBUG)) {
            Log.d(TAG, "started");
        }
+8 −4
Original line number Diff line number Diff line
@@ -17,6 +17,7 @@
package com.android.systemui.dreams;

import static com.android.systemui.dreams.dagger.DreamModule.DREAM_OVERLAY_SERVICE_COMPONENT;
import static com.android.systemui.dreams.dagger.DreamModule.DREAM_PRETEXT_MONITOR;

import android.content.BroadcastReceiver;
import android.content.ComponentName;
@@ -33,8 +34,9 @@ import android.service.dreams.DreamService;
import android.service.dreams.IDreamManager;
import android.util.Log;

import com.android.systemui.CoreStartable;
import com.android.systemui.dagger.qualifiers.Main;
import com.android.systemui.shared.condition.Monitor;
import com.android.systemui.util.condition.ConditionalCoreStartable;

import javax.inject.Inject;
import javax.inject.Named;
@@ -43,7 +45,7 @@ import javax.inject.Named;
 * {@link DreamOverlayRegistrant} is responsible for telling system server that SystemUI should be
 * the designated dream overlay component.
 */
public class DreamOverlayRegistrant implements CoreStartable {
public class DreamOverlayRegistrant extends ConditionalCoreStartable {
    private static final String TAG = "DreamOverlayRegistrant";
    private static final boolean DEBUG = Log.isLoggable(TAG, Log.DEBUG);
    private final IDreamManager mDreamManager;
@@ -102,7 +104,9 @@ public class DreamOverlayRegistrant implements CoreStartable {

    @Inject
    public DreamOverlayRegistrant(Context context, @Main Resources resources,
            @Named(DREAM_OVERLAY_SERVICE_COMPONENT) ComponentName dreamOverlayServiceComponent) {
            @Named(DREAM_OVERLAY_SERVICE_COMPONENT) ComponentName dreamOverlayServiceComponent,
            @Named(DREAM_PRETEXT_MONITOR) Monitor monitor) {
        super(monitor);
        mContext = context;
        mResources = resources;
        mDreamManager = IDreamManager.Stub.asInterface(
@@ -111,7 +115,7 @@ public class DreamOverlayRegistrant implements CoreStartable {
    }

    @Override
    public void start() {
    protected void onStart() {
        final IntentFilter filter = new IntentFilter(Intent.ACTION_PACKAGE_CHANGED);
        filter.addDataScheme("package");
        filter.addDataSchemeSpecificPart(mOverlayServiceComponent.getPackageName(),
+10 −4
Original line number Diff line number Diff line
@@ -16,27 +16,31 @@

package com.android.systemui.dreams.complication;

import static com.android.systemui.dreams.dagger.DreamModule.DREAM_PRETEXT_MONITOR;

import android.database.ContentObserver;
import android.os.UserHandle;
import android.provider.Settings;

import com.android.settingslib.dream.DreamBackend;
import com.android.systemui.CoreStartable;
import com.android.systemui.dagger.SysUISingleton;
import com.android.systemui.dagger.qualifiers.Main;
import com.android.systemui.dreams.DreamOverlayStateController;
import com.android.systemui.shared.condition.Monitor;
import com.android.systemui.util.condition.ConditionalCoreStartable;
import com.android.systemui.util.settings.SecureSettings;

import java.util.concurrent.Executor;

import javax.inject.Inject;
import javax.inject.Named;

/**
 * {@link ComplicationTypesUpdater} observes the state of available complication types set by the
 * user, and pushes updates to {@link DreamOverlayStateController}.
 */
@SysUISingleton
public class ComplicationTypesUpdater implements CoreStartable {
public class ComplicationTypesUpdater extends ConditionalCoreStartable {
    private final DreamBackend mDreamBackend;
    private final Executor mExecutor;
    private final SecureSettings mSecureSettings;
@@ -48,7 +52,9 @@ public class ComplicationTypesUpdater implements CoreStartable {
            DreamBackend dreamBackend,
            @Main Executor executor,
            SecureSettings secureSettings,
            DreamOverlayStateController dreamOverlayStateController) {
            DreamOverlayStateController dreamOverlayStateController,
            @Named(DREAM_PRETEXT_MONITOR) Monitor monitor) {
        super(monitor);
        mDreamBackend = dreamBackend;
        mExecutor = executor;
        mSecureSettings = secureSettings;
@@ -56,7 +62,7 @@ public class ComplicationTypesUpdater implements CoreStartable {
    }

    @Override
    public void start() {
    public void onStart() {
        final ContentObserver settingsObserver = new ContentObserver(null /*handler*/) {
            @Override
            public void onChange(boolean selfChange) {
+8 −3
Original line number Diff line number Diff line
@@ -18,11 +18,14 @@ package com.android.systemui.dreams.complication;

import static com.android.systemui.dreams.complication.dagger.DreamClockTimeComplicationModule.DREAM_CLOCK_TIME_COMPLICATION_VIEW;
import static com.android.systemui.dreams.complication.dagger.RegisteredComplicationsModule.DREAM_CLOCK_TIME_COMPLICATION_LAYOUT_PARAMS;
import static com.android.systemui.dreams.dagger.DreamModule.DREAM_PRETEXT_MONITOR;

import android.view.View;

import com.android.systemui.CoreStartable;
import com.android.systemui.dreams.DreamOverlayStateController;
import com.android.systemui.shared.condition.Monitor;
import com.android.systemui.util.condition.ConditionalCoreStartable;

import javax.inject.Inject;
import javax.inject.Named;
@@ -60,7 +63,7 @@ public class DreamClockTimeComplication implements Complication {
     * {@link CoreStartable} responsible for registering {@link DreamClockTimeComplication} with
     * SystemUI.
     */
    public static class Registrant implements CoreStartable {
    public static class Registrant extends ConditionalCoreStartable {
        private final DreamOverlayStateController mDreamOverlayStateController;
        private final DreamClockTimeComplication mComplication;

@@ -70,13 +73,15 @@ public class DreamClockTimeComplication implements Complication {
        @Inject
        public Registrant(
                DreamOverlayStateController dreamOverlayStateController,
                DreamClockTimeComplication dreamClockTimeComplication) {
                DreamClockTimeComplication dreamClockTimeComplication,
                @Named(DREAM_PRETEXT_MONITOR) Monitor monitor) {
            super(monitor);
            mDreamOverlayStateController = dreamOverlayStateController;
            mComplication = dreamClockTimeComplication;
        }

        @Override
        public void start() {
        public void onStart() {
            mDreamOverlayStateController.addComplication(mComplication);
        }
    }
+8 −3
Original line number Diff line number Diff line
@@ -21,6 +21,7 @@ import static com.android.systemui.controls.dagger.ControlsComponent.Visibility.
import static com.android.systemui.controls.dagger.ControlsComponent.Visibility.UNAVAILABLE;
import static com.android.systemui.dreams.complication.dagger.DreamHomeControlsComplicationComponent.DreamHomeControlsModule.DREAM_HOME_CONTROLS_CHIP_VIEW;
import static com.android.systemui.dreams.complication.dagger.RegisteredComplicationsModule.DREAM_HOME_CONTROLS_CHIP_LAYOUT_PARAMS;
import static com.android.systemui.dreams.dagger.DreamModule.DREAM_PRETEXT_MONITOR;

import android.content.Context;
import android.content.Intent;
@@ -42,7 +43,9 @@ import com.android.systemui.controls.ui.ControlsUiController;
import com.android.systemui.dreams.DreamOverlayStateController;
import com.android.systemui.dreams.complication.dagger.DreamHomeControlsComplicationComponent;
import com.android.systemui.plugins.ActivityStarter;
import com.android.systemui.shared.condition.Monitor;
import com.android.systemui.util.ViewController;
import com.android.systemui.util.condition.ConditionalCoreStartable;

import java.util.List;

@@ -75,7 +78,7 @@ public class DreamHomeControlsComplication implements Complication {
    /**
     * {@link CoreStartable} for registering the complication with SystemUI on startup.
     */
    public static class Registrant implements CoreStartable {
    public static class Registrant extends ConditionalCoreStartable {
        private final DreamHomeControlsComplication mComplication;
        private final DreamOverlayStateController mDreamOverlayStateController;
        private final ControlsComponent mControlsComponent;
@@ -105,14 +108,16 @@ public class DreamHomeControlsComplication implements Complication {
        @Inject
        public Registrant(DreamHomeControlsComplication complication,
                DreamOverlayStateController dreamOverlayStateController,
                ControlsComponent controlsComponent) {
                ControlsComponent controlsComponent,
                @Named(DREAM_PRETEXT_MONITOR) Monitor monitor) {
            super(monitor);
            mComplication = complication;
            mControlsComponent = controlsComponent;
            mDreamOverlayStateController = dreamOverlayStateController;
        }

        @Override
        public void start() {
        public void onStart() {
            mControlsComponent.getControlsListingController().ifPresent(
                    c -> c.addCallback(mControlsCallback));
            mDreamOverlayStateController.addCallback(mOverlayStateCallback);
Loading