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

Commit 460cffff authored by Darrell Shi's avatar Darrell Shi Committed by Android (Google) Code Review
Browse files

Merge changes from topic "smartspace-on-dream-overlay" into tm-qpr-dev

* changes:
  Put Smartspace on overlay behind a flag.
  Add flag to hide Smartspace on dream overlay.
parents 24311a64 0a12ebd0
Loading
Loading
Loading
Loading
+10 −1
Original line number Diff line number Diff line
@@ -28,6 +28,8 @@ import android.widget.FrameLayout;
import com.android.systemui.CoreStartable;
import com.android.systemui.dreams.DreamOverlayStateController;
import com.android.systemui.dreams.smartspace.DreamSmartspaceController;
import com.android.systemui.flags.FeatureFlags;
import com.android.systemui.flags.Flags;
import com.android.systemui.plugins.BcSmartspaceDataPlugin;
import com.android.systemui.shared.condition.Monitor;
import com.android.systemui.util.condition.ConditionalCoreStartable;
@@ -68,6 +70,7 @@ public class SmartSpaceComplication implements Complication {
        private final DreamSmartspaceController mSmartSpaceController;
        private final DreamOverlayStateController mDreamOverlayStateController;
        private final SmartSpaceComplication mComplication;
        private final FeatureFlags mFeatureFlags;

        private final BcSmartspaceDataPlugin.SmartspaceTargetListener mSmartspaceListener =
                new BcSmartspaceDataPlugin.SmartspaceTargetListener() {
@@ -85,15 +88,21 @@ public class SmartSpaceComplication implements Complication {
                DreamOverlayStateController dreamOverlayStateController,
                SmartSpaceComplication smartSpaceComplication,
                DreamSmartspaceController smartSpaceController,
                @Named(DREAM_PRETEXT_MONITOR) Monitor monitor) {
                @Named(DREAM_PRETEXT_MONITOR) Monitor monitor,
                FeatureFlags featureFlags) {
            super(monitor);
            mDreamOverlayStateController = dreamOverlayStateController;
            mComplication = smartSpaceComplication;
            mSmartSpaceController = smartSpaceController;
            mFeatureFlags = featureFlags;
        }

        @Override
        public void onStart() {
            if (mFeatureFlags.isEnabled(Flags.HIDE_SMARTSPACE_ON_DREAM_OVERLAY)) {
                return;
            }

            mDreamOverlayStateController.addCallback(new DreamOverlayStateController.Callback() {
                @Override
                public void onStateChanged() {
+4 −0
Original line number Diff line number Diff line
@@ -231,6 +231,10 @@ object Flags {
    val SMARTSPACE_DATE_WEATHER_DECOUPLED =
        sysPropBooleanFlag(403, "persist.sysui.ss.dw_decoupled", default = false)

    // TODO(b/270223352): Tracking Bug
    @JvmField
    val HIDE_SMARTSPACE_ON_DREAM_OVERLAY = unreleasedFlag(404, "hide_smartspace_on_dream_overlay")

    // 500 - quick settings

    val PEOPLE_TILE = resourceBooleanFlag(502, R.bool.flag_conversations, "people_tile")
+32 −6
Original line number Diff line number Diff line
@@ -33,6 +33,8 @@ import com.android.systemui.SysuiTestCase;
import com.android.systemui.condition.SelfExecutingMonitor;
import com.android.systemui.dreams.DreamOverlayStateController;
import com.android.systemui.dreams.smartspace.DreamSmartspaceController;
import com.android.systemui.flags.FeatureFlags;
import com.android.systemui.flags.Flags;
import com.android.systemui.plugins.BcSmartspaceDataPlugin;
import com.android.systemui.shared.condition.Condition;
import com.android.systemui.shared.condition.Monitor;
@@ -65,6 +67,9 @@ public class SmartSpaceComplicationTest extends SysuiTestCase {
    @Mock
    private View mBcSmartspaceView;

    @Mock
    private FeatureFlags mFeatureFlags;

    private Monitor mMonitor;

    private final Set<Condition> mPreconditions = new HashSet<>();
@@ -73,6 +78,8 @@ public class SmartSpaceComplicationTest extends SysuiTestCase {
    public void setup() {
        MockitoAnnotations.initMocks(this);
        mMonitor = SelfExecutingMonitor.createInstance();

        when(mFeatureFlags.isEnabled(Flags.HIDE_SMARTSPACE_ON_DREAM_OVERLAY)).thenReturn(false);
    }

    /**
@@ -85,12 +92,22 @@ public class SmartSpaceComplicationTest extends SysuiTestCase {
        verify(mDreamOverlayStateController, never()).addComplication(eq(mComplication));
    }

    private SmartSpaceComplication.Registrant getRegistrant() {
        return new SmartSpaceComplication.Registrant(
                mDreamOverlayStateController,
                mComplication,
                mSmartspaceController,
                mMonitor);
    @Test
    public void testRegistrantStart_featureEnabled_addOverlayStateCallback() {
        final SmartSpaceComplication.Registrant registrant = getRegistrant();
        registrant.start();

        verify(mDreamOverlayStateController).addCallback(any());
    }

    @Test
    public void testRegistrantStart_featureDisabled_doesNotAddOverlayStateCallback() {
        when(mFeatureFlags.isEnabled(Flags.HIDE_SMARTSPACE_ON_DREAM_OVERLAY)).thenReturn(true);

        final SmartSpaceComplication.Registrant registrant = getRegistrant();
        registrant.start();

        verify(mDreamOverlayStateController, never()).addCallback(any());
    }

    @Test
@@ -188,4 +205,13 @@ public class SmartSpaceComplicationTest extends SysuiTestCase {
        when(mSmartspaceController.buildAndConnectView(any())).thenReturn(mBcSmartspaceView);
        assertEquals(viewHolder.getView(), viewHolder.getView());
    }

    private SmartSpaceComplication.Registrant getRegistrant() {
        return new SmartSpaceComplication.Registrant(
                mDreamOverlayStateController,
                mComplication,
                mSmartspaceController,
                mMonitor,
                mFeatureFlags);
    }
}