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

Commit 6238c2e8 authored by Alejandro Nijamkin's avatar Alejandro Nijamkin
Browse files

Renames customization content provider (3/7).

KeyguardQuickAffordanceProvider has started to be used for more than
just lock screen shortcuts. This collection of CLs updates its name,
authority, and table schema to become more generically about "system UI
customization".

Fix: 262879277
Test: manually verified Settings > Display > Lock screen shows the
"shortcuts" item
Test: manually verified that the Wallpaper picker properly renders the
preview and can change the quick affordances
Test: manually verified that system UI displays the right lock screen
shortcuts

Change-Id: Ib9c73b5171e0bffa6f4e56904e5d672495420243
parent a547706f
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -10,7 +10,7 @@
    <uses-permission android:name="android.permission.SET_WALLPAPER_COMPONENT" />
    <uses-permission android:name="android.permission.READ_DEVICE_CONFIG" />
    <uses-permission android:name="android.permission.MODIFY_DAY_NIGHT_MODE" />
    <uses-permission android:name="android.permission.ACCESS_KEYGUARD_QUICK_AFFORDANCES" />
    <uses-permission android:name="android.permission.CUSTOMIZE_SYSTEM_UI" />

    <queries>
        <!-- Specific intents Wallpaper picker query for -->
+4 −4
Original line number Diff line number Diff line
@@ -19,8 +19,8 @@ import android.content.Context
import android.view.LayoutInflater
import com.android.customization.picker.clock.ClockCustomDemoFragment
import com.android.customization.picker.clock.ClockSectionView
import com.android.systemui.shared.quickaffordance.data.content.KeyguardQuickAffordanceProviderClient
import com.android.systemui.shared.quickaffordance.data.content.KeyguardQuickAffordanceProviderContract as Contract
import com.android.systemui.shared.customization.data.content.CustomizationProviderClient
import com.android.systemui.shared.customization.data.content.CustomizationProviderContract as Contract
import com.android.wallpaper.R
import com.android.wallpaper.model.CustomizationSectionController
import com.android.wallpaper.model.CustomizationSectionController.CustomizationSectionNavigationController
@@ -29,10 +29,10 @@ import kotlinx.coroutines.runBlocking
/** A [CustomizationSectionController] for clock customization. */
class ClockSectionController(
    private val navigationController: CustomizationSectionNavigationController,
    private val keyguardQuickAffordanceProviderClient: KeyguardQuickAffordanceProviderClient,
    private val customizationProviderClient: CustomizationProviderClient,
) : CustomizationSectionController<ClockSectionView?> {
    override fun isAvailable(context: Context?): Boolean {
        return runBlocking { keyguardQuickAffordanceProviderClient.queryFlags() }
        return runBlocking { customizationProviderClient.queryFlags() }
            .firstOrNull { it.name == Contract.FlagsTable.FLAG_NAME_CUSTOM_CLOCKS_ENABLED }
            ?.value == true
    }
+10 −10
Original line number Diff line number Diff line
@@ -37,8 +37,8 @@ import com.android.customization.picker.quickaffordance.data.repository.Keyguard
import com.android.customization.picker.quickaffordance.domain.interactor.KeyguardQuickAffordancePickerInteractor;
import com.android.customization.picker.quickaffordance.domain.interactor.KeyguardQuickAffordanceSnapshotRestorer;
import com.android.customization.picker.quickaffordance.ui.viewmodel.KeyguardQuickAffordancePickerViewModel;
import com.android.systemui.shared.quickaffordance.data.content.KeyguardQuickAffordanceProviderClient;
import com.android.systemui.shared.quickaffordance.data.content.KeyguardQuickAffordanceProviderClientImpl;
import com.android.systemui.shared.customization.data.content.CustomizationProviderClient;
import com.android.systemui.shared.customization.data.content.CustomizationProviderClientImpl;
import com.android.wallpaper.config.BaseFlags;
import com.android.wallpaper.model.LiveWallpaperInfo;
import com.android.wallpaper.model.WallpaperInfo;
@@ -67,7 +67,7 @@ public class ThemePickerInjector extends WallpaperPicker2Injector
    private KeyguardQuickAffordancePickerInteractor mKeyguardQuickAffordancePickerInteractor;
    private KeyguardQuickAffordancePickerViewModel.Factory
            mKeyguardQuickAffordancePickerViewModelFactory;
    private KeyguardQuickAffordanceProviderClient mKeyguardQuickAffordanceProviderClient;
    private CustomizationProviderClient mCustomizationProviderClient;
    private FragmentFactory mFragmentFactory;
    private BaseFlags mFlags;
    private KeyguardQuickAffordanceSnapshotRestorer mKeyguardQuickAffordanceSnapshotRestorer;
@@ -150,7 +150,7 @@ public class ThemePickerInjector extends WallpaperPicker2Injector
    public KeyguardQuickAffordancePickerInteractor getKeyguardQuickAffordancePickerInteractor(
            Context context) {
        if (mKeyguardQuickAffordancePickerInteractor == null) {
            final KeyguardQuickAffordanceProviderClient client =
            final CustomizationProviderClient client =
                    getKeyguardQuickAffordancePickerProviderClient(context);
            mKeyguardQuickAffordancePickerInteractor = new KeyguardQuickAffordancePickerInteractor(
                    new KeyguardQuickAffordancePickerRepository(client, Dispatchers.getIO()),
@@ -202,15 +202,15 @@ public class ThemePickerInjector extends WallpaperPicker2Injector
        return restorers;
    }

    /** Returns the {@link KeyguardQuickAffordanceProviderClient}. */
    protected KeyguardQuickAffordanceProviderClient getKeyguardQuickAffordancePickerProviderClient(
    /** Returns the {@link CustomizationProviderClient}. */
    protected CustomizationProviderClient getKeyguardQuickAffordancePickerProviderClient(
            Context context) {
        if (mKeyguardQuickAffordanceProviderClient == null) {
            mKeyguardQuickAffordanceProviderClient =
                    new KeyguardQuickAffordanceProviderClientImpl(context, Dispatchers.getIO());
        if (mCustomizationProviderClient == null) {
            mCustomizationProviderClient =
                    new CustomizationProviderClientImpl(context, Dispatchers.getIO());
        }

        return mKeyguardQuickAffordanceProviderClient;
        return mCustomizationProviderClient;
    }

    protected KeyguardQuickAffordanceSnapshotRestorer getKeyguardQuickAffordanceSnapshotRestorer(
+2 −2
Original line number Diff line number Diff line
@@ -20,8 +20,8 @@ package com.android.customization.picker.quickaffordance.data.repository
import com.android.customization.picker.quickaffordance.shared.model.KeyguardQuickAffordancePickerAffordanceModel as AffordanceModel
import com.android.customization.picker.quickaffordance.shared.model.KeyguardQuickAffordancePickerSelectionModel as SelectionModel
import com.android.customization.picker.quickaffordance.shared.model.KeyguardQuickAffordancePickerSlotModel as SlotModel
import com.android.systemui.shared.quickaffordance.data.content.KeyguardQuickAffordanceProviderClient as Client
import com.android.systemui.shared.quickaffordance.data.content.KeyguardQuickAffordanceProviderContract as Contract
import com.android.systemui.shared.customization.data.content.CustomizationProviderClient as Client
import com.android.systemui.shared.customization.data.content.CustomizationProviderContract as Contract
import kotlinx.coroutines.CoroutineDispatcher
import kotlinx.coroutines.flow.Flow
import kotlinx.coroutines.flow.map
+1 −1
Original line number Diff line number Diff line
@@ -23,7 +23,7 @@ import com.android.customization.picker.quickaffordance.data.repository.Keyguard
import com.android.customization.picker.quickaffordance.shared.model.KeyguardQuickAffordancePickerAffordanceModel as AffordanceModel
import com.android.customization.picker.quickaffordance.shared.model.KeyguardQuickAffordancePickerSelectionModel as SelectionModel
import com.android.customization.picker.quickaffordance.shared.model.KeyguardQuickAffordancePickerSlotModel as SlotModel
import com.android.systemui.shared.quickaffordance.data.content.KeyguardQuickAffordanceProviderClient as Client
import com.android.systemui.shared.customization.data.content.CustomizationProviderClient as Client
import javax.inject.Provider
import kotlinx.coroutines.flow.Flow

Loading