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

Commit 9a751c16 authored by Hawkwood Glazier's avatar Hawkwood Glazier Committed by Automerger Merge Worker
Browse files

Merge "Add Flag for Custom Clocks" into tm-qpr-dev am: 79dac2d2

parents 66e01a85 79dac2d2
Loading
Loading
Loading
Loading
+15 −2
Original line number Diff line number Diff line
@@ -54,6 +54,8 @@ open class ClockRegistry(
        fun onClockChanged()
    }

    var isEnabled: Boolean = false

    private val gson = Gson()
    private val availableClocks = mutableMapOf<ClockId, ClockInfo>()
    private val clockChangeListeners = mutableListOf<ClockChangeListener>()
@@ -97,6 +99,12 @@ open class ClockRegistry(

    init {
        connectClocks(defaultClockProvider)
        if (!availableClocks.containsKey(DEFAULT_CLOCK_ID)) {
            throw IllegalArgumentException(
                "$defaultClockProvider did not register clock at $DEFAULT_CLOCK_ID"
            )
        }

        pluginManager.addPluginListener(pluginListener, ClockProviderPlugin::class.java)
        context.contentResolver.registerContentObserver(
            Settings.Secure.getUriFor(Settings.Secure.LOCK_SCREEN_CUSTOM_CLOCK_FACE),
@@ -142,7 +150,12 @@ open class ClockRegistry(
        }
    }

    fun getClocks(): List<ClockMetadata> = availableClocks.map { (_, clock) -> clock.metadata }
    fun getClocks(): List<ClockMetadata> {
        if (!isEnabled) {
            return listOf(availableClocks[DEFAULT_CLOCK_ID]!!.metadata)
        }
        return availableClocks.map { (_, clock) -> clock.metadata }
    }

    fun getClockThumbnail(clockId: ClockId): Drawable? =
        availableClocks[clockId]?.provider?.getClockThumbnail(clockId)
@@ -157,7 +170,7 @@ open class ClockRegistry(

    fun createCurrentClock(): Clock {
        val clockId = currentClockId
        if (!clockId.isNullOrEmpty()) {
        if (isEnabled && clockId.isNotEmpty()) {
            val clock = createClock(clockId)
            if (clock != null) {
                return clock
+5 −1
Original line number Diff line number Diff line
@@ -37,6 +37,8 @@ import com.android.systemui.Dumpable;
import com.android.systemui.R;
import com.android.systemui.dagger.qualifiers.Main;
import com.android.systemui.dump.DumpManager;
import com.android.systemui.flags.FeatureFlags;
import com.android.systemui.flags.Flags;
import com.android.systemui.keyguard.KeyguardUnlockAnimationController;
import com.android.systemui.plugins.Clock;
import com.android.systemui.plugins.statusbar.StatusBarStateController;
@@ -118,7 +120,8 @@ public class KeyguardClockSwitchController extends ViewController<KeyguardClockS
            SecureSettings secureSettings,
            @Main Executor uiExecutor,
            DumpManager dumpManager,
            ClockEventController clockEventController) {
            ClockEventController clockEventController,
            FeatureFlags featureFlags) {
        super(keyguardClockSwitch);
        mStatusBarStateController = statusBarStateController;
        mClockRegistry = clockRegistry;
@@ -131,6 +134,7 @@ public class KeyguardClockSwitchController extends ViewController<KeyguardClockS
        mDumpManager = dumpManager;
        mClockEventController = clockEventController;

        mClockRegistry.setEnabled(featureFlags.isEnabled(Flags.LOCKSCREEN_CUSTOM_CLOCKS));
        mClockChangedListener = () -> {
            setClock(mClockRegistry.createCurrentClock());
        };
+3 −0
Original line number Diff line number Diff line
@@ -87,12 +87,15 @@ public class Flags {

    public static final ResourceBooleanFlag FACE_SCANNING_ANIM =
            new ResourceBooleanFlag(205, R.bool.config_enableFaceScanningAnimation);

    /**
     * Whether the KeyguardBottomArea(View|Controller) should use the modern architecture or the old
     * one.
     */
    public static final BooleanFlag MODERN_BOTTOM_AREA = new BooleanFlag(206, false);

    public static final BooleanFlag LOCKSCREEN_CUSTOM_CLOCKS = new BooleanFlag(207, false);

    /***************************************/
    // 300 - power menu
    public static final BooleanFlag POWER_MENU_LITE =
+5 −1
Original line number Diff line number Diff line
@@ -43,6 +43,7 @@ import androidx.test.filters.SmallTest;
import com.android.systemui.R;
import com.android.systemui.SysuiTestCase;
import com.android.systemui.dump.DumpManager;
import com.android.systemui.flags.FeatureFlags;
import com.android.systemui.keyguard.KeyguardUnlockAnimationController;
import com.android.systemui.plugins.Clock;
import com.android.systemui.plugins.statusbar.StatusBarStateController;
@@ -102,6 +103,8 @@ public class KeyguardClockSwitchControllerTest extends SysuiTestCase {
    private FrameLayout mLargeClockFrame;
    @Mock
    private SecureSettings mSecureSettings;
    @Mock
    private FeatureFlags mFeatureFlags;

    private final View mFakeSmartspaceView = new View(mContext);

@@ -138,7 +141,8 @@ public class KeyguardClockSwitchControllerTest extends SysuiTestCase {
                mSecureSettings,
                mExecutor,
                mDumpManager,
                mClockEventController
                mClockEventController,
                mFeatureFlags
        );

        when(mStatusBarStateController.getState()).thenReturn(StatusBarState.SHADE);
+1 −0
Original line number Diff line number Diff line
@@ -110,6 +110,7 @@ class ClockRegistryTest : SysuiTestCase() {
                get() = settingValue
                set(value) { settingValue = value }
        }
        registry.isEnabled = true

        verify(mockPluginManager)
            .addPluginListener(captor.capture(), eq(ClockProviderPlugin::class.java))