Loading packages/SystemUI/src/com/android/systemui/dreams/DreamOverlayService.java +7 −0 Original line number Diff line number Diff line Loading @@ -31,8 +31,10 @@ import androidx.lifecycle.ViewModelStore; import com.android.internal.policy.PhoneWindow; import com.android.keyguard.KeyguardUpdateMonitor; import com.android.keyguard.KeyguardUpdateMonitorCallback; import com.android.settingslib.dream.DreamBackend; import com.android.systemui.dagger.qualifiers.Main; import com.android.systemui.dreams.complication.Complication; import com.android.systemui.dreams.complication.ComplicationUtils; import com.android.systemui.dreams.dagger.DreamOverlayComponent; import com.android.systemui.dreams.touch.DreamOverlayTouchMonitor; Loading @@ -57,6 +59,7 @@ public class DreamOverlayService extends android.service.dreams.DreamOverlayServ // content area). private final DreamOverlayContainerViewController mDreamOverlayContainerViewController; private final KeyguardUpdateMonitor mKeyguardUpdateMonitor; private final DreamBackend mDreamBackend; // A reference to the {@link Window} used to hold the dream overlay. private Window mWindow; Loading Loading @@ -109,6 +112,7 @@ public class DreamOverlayService extends android.service.dreams.DreamOverlayServ setCurrentState(Lifecycle.State.CREATED); mLifecycleRegistry = component.getLifecycleRegistry(); mDreamOverlayTouchMonitor = component.getDreamOverlayTouchMonitor(); mDreamBackend = component.getDreamBackend(); mDreamOverlayTouchMonitor.init(); } Loading @@ -130,6 +134,9 @@ public class DreamOverlayService extends android.service.dreams.DreamOverlayServ public void onStartDream(@NonNull WindowManager.LayoutParams layoutParams) { setCurrentState(Lifecycle.State.STARTED); mExecutor.execute(() -> { mStateController.setAvailableComplicationTypes( ComplicationUtils.convertComplicationTypes( mDreamBackend.getEnabledComplications())); addOverlayWindowLocked(layoutParams); setCurrentState(Lifecycle.State.RESUMED); mStateController.setOverlayActive(true); Loading packages/SystemUI/src/com/android/systemui/dreams/DreamOverlayStateController.java +1 −3 Original line number Diff line number Diff line Loading @@ -131,9 +131,7 @@ public class DreamOverlayStateController implements .filter(complication -> { @Complication.ComplicationType final int requiredTypes = complication.getRequiredTypeAvailability(); return requiredTypes == Complication.COMPLICATION_TYPE_NONE || (requiredTypes & getAvailableComplicationTypes()) == requiredTypes; return (requiredTypes & getAvailableComplicationTypes()) == requiredTypes; }) .collect(Collectors.toCollection(HashSet::new)) : mComplications); Loading packages/SystemUI/src/com/android/systemui/dreams/complication/ComplicationUtils.java +12 −0 Original line number Diff line number Diff line Loading @@ -25,6 +25,8 @@ import static com.android.systemui.dreams.complication.Complication.COMPLICATION import com.android.settingslib.dream.DreamBackend; import java.util.Set; /** * A collection of utility methods for working with {@link Complication}. */ Loading @@ -50,4 +52,14 @@ public class ComplicationUtils { return COMPLICATION_TYPE_NONE; } } /** * Converts a set of {@link com.android.settingslib.dream.DreamBackend.ComplicationType} to * a combined complications types state. */ @Complication.ComplicationType public static int convertComplicationTypes(@DreamBackend.ComplicationType Set<Integer> types) { return types.stream().mapToInt(ComplicationUtils::convertComplicationType).reduce( COMPLICATION_TYPE_NONE, (a, b) -> a | b); } } packages/SystemUI/src/com/android/systemui/dreams/complication/DreamClockDateComplication.java +5 −0 Original line number Diff line number Diff line Loading @@ -44,6 +44,11 @@ public class DreamClockDateComplication implements Complication { mComponentFactory = componentFactory; } @Override public int getRequiredTypeAvailability() { return COMPLICATION_TYPE_DATE; } /** * Create {@link DreamClockDateViewHolder}. */ Loading packages/SystemUI/src/com/android/systemui/dreams/complication/DreamClockTimeComplication.java +5 −0 Original line number Diff line number Diff line Loading @@ -44,6 +44,11 @@ public class DreamClockTimeComplication implements Complication { mComponentFactory = componentFactory; } @Override public int getRequiredTypeAvailability() { return COMPLICATION_TYPE_TIME; } /** * Create {@link DreamClockTimeViewHolder}. */ Loading Loading
packages/SystemUI/src/com/android/systemui/dreams/DreamOverlayService.java +7 −0 Original line number Diff line number Diff line Loading @@ -31,8 +31,10 @@ import androidx.lifecycle.ViewModelStore; import com.android.internal.policy.PhoneWindow; import com.android.keyguard.KeyguardUpdateMonitor; import com.android.keyguard.KeyguardUpdateMonitorCallback; import com.android.settingslib.dream.DreamBackend; import com.android.systemui.dagger.qualifiers.Main; import com.android.systemui.dreams.complication.Complication; import com.android.systemui.dreams.complication.ComplicationUtils; import com.android.systemui.dreams.dagger.DreamOverlayComponent; import com.android.systemui.dreams.touch.DreamOverlayTouchMonitor; Loading @@ -57,6 +59,7 @@ public class DreamOverlayService extends android.service.dreams.DreamOverlayServ // content area). private final DreamOverlayContainerViewController mDreamOverlayContainerViewController; private final KeyguardUpdateMonitor mKeyguardUpdateMonitor; private final DreamBackend mDreamBackend; // A reference to the {@link Window} used to hold the dream overlay. private Window mWindow; Loading Loading @@ -109,6 +112,7 @@ public class DreamOverlayService extends android.service.dreams.DreamOverlayServ setCurrentState(Lifecycle.State.CREATED); mLifecycleRegistry = component.getLifecycleRegistry(); mDreamOverlayTouchMonitor = component.getDreamOverlayTouchMonitor(); mDreamBackend = component.getDreamBackend(); mDreamOverlayTouchMonitor.init(); } Loading @@ -130,6 +134,9 @@ public class DreamOverlayService extends android.service.dreams.DreamOverlayServ public void onStartDream(@NonNull WindowManager.LayoutParams layoutParams) { setCurrentState(Lifecycle.State.STARTED); mExecutor.execute(() -> { mStateController.setAvailableComplicationTypes( ComplicationUtils.convertComplicationTypes( mDreamBackend.getEnabledComplications())); addOverlayWindowLocked(layoutParams); setCurrentState(Lifecycle.State.RESUMED); mStateController.setOverlayActive(true); Loading
packages/SystemUI/src/com/android/systemui/dreams/DreamOverlayStateController.java +1 −3 Original line number Diff line number Diff line Loading @@ -131,9 +131,7 @@ public class DreamOverlayStateController implements .filter(complication -> { @Complication.ComplicationType final int requiredTypes = complication.getRequiredTypeAvailability(); return requiredTypes == Complication.COMPLICATION_TYPE_NONE || (requiredTypes & getAvailableComplicationTypes()) == requiredTypes; return (requiredTypes & getAvailableComplicationTypes()) == requiredTypes; }) .collect(Collectors.toCollection(HashSet::new)) : mComplications); Loading
packages/SystemUI/src/com/android/systemui/dreams/complication/ComplicationUtils.java +12 −0 Original line number Diff line number Diff line Loading @@ -25,6 +25,8 @@ import static com.android.systemui.dreams.complication.Complication.COMPLICATION import com.android.settingslib.dream.DreamBackend; import java.util.Set; /** * A collection of utility methods for working with {@link Complication}. */ Loading @@ -50,4 +52,14 @@ public class ComplicationUtils { return COMPLICATION_TYPE_NONE; } } /** * Converts a set of {@link com.android.settingslib.dream.DreamBackend.ComplicationType} to * a combined complications types state. */ @Complication.ComplicationType public static int convertComplicationTypes(@DreamBackend.ComplicationType Set<Integer> types) { return types.stream().mapToInt(ComplicationUtils::convertComplicationType).reduce( COMPLICATION_TYPE_NONE, (a, b) -> a | b); } }
packages/SystemUI/src/com/android/systemui/dreams/complication/DreamClockDateComplication.java +5 −0 Original line number Diff line number Diff line Loading @@ -44,6 +44,11 @@ public class DreamClockDateComplication implements Complication { mComponentFactory = componentFactory; } @Override public int getRequiredTypeAvailability() { return COMPLICATION_TYPE_DATE; } /** * Create {@link DreamClockDateViewHolder}. */ Loading
packages/SystemUI/src/com/android/systemui/dreams/complication/DreamClockTimeComplication.java +5 −0 Original line number Diff line number Diff line Loading @@ -44,6 +44,11 @@ public class DreamClockTimeComplication implements Complication { mComponentFactory = componentFactory; } @Override public int getRequiredTypeAvailability() { return COMPLICATION_TYPE_TIME; } /** * Create {@link DreamClockTimeViewHolder}. */ Loading