Loading src/com/android/customization/model/clock/ClockSectionController.java→src/com/android/customization/model/clock/ClockSectionController.kt +50 −0 Original line number Diff line number Diff line Loading @@ -13,40 +13,38 @@ * See the License for the specific language governing permissions and * limitations under the License. */ package com.android.customization.model.clock; import android.content.Context; import android.view.LayoutInflater; import androidx.annotation.Nullable; import com.android.customization.picker.clock.ClockCustomDemoFragment; import com.android.customization.picker.clock.ClockSectionView; import com.android.wallpaper.R; import com.android.wallpaper.config.Flags; import com.android.wallpaper.model.CustomizationSectionController; /** A {@link CustomizationSectionController} for clock customization. */ public class ClockSectionController implements CustomizationSectionController<ClockSectionView> { private final CustomizationSectionNavigationController mNavigationController; public ClockSectionController(CustomizationSectionNavigationController navigationController) { mNavigationController = navigationController; } @Override public boolean isAvailable(@Nullable Context context) { return Flags.enableCustomClocks; package com.android.customization.model.clock 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.wallpaper.R import com.android.wallpaper.model.CustomizationSectionController import com.android.wallpaper.model.CustomizationSectionController.CustomizationSectionNavigationController import kotlinx.coroutines.runBlocking /** A [CustomizationSectionController] for clock customization. */ class ClockSectionController( private val navigationController: CustomizationSectionNavigationController, private val keyguardQuickAffordanceProviderClient: KeyguardQuickAffordanceProviderClient, ) : CustomizationSectionController<ClockSectionView?> { override fun isAvailable(context: Context?): Boolean { return runBlocking { keyguardQuickAffordanceProviderClient.queryFlags() } .firstOrNull { it.name == Contract.FlagsTable.FLAG_NAME_CUSTOM_CLOCKS_ENABLED } ?.value == true } @Override public ClockSectionView createView(Context context) { ClockSectionView view = (ClockSectionView) LayoutInflater.from(context).inflate( override fun createView(context: Context): ClockSectionView { val view = LayoutInflater.from(context) .inflate( R.layout.clock_section_view, null); view.setOnClickListener(v -> mNavigationController.navigateTo(new ClockCustomDemoFragment())); return view; null, ) as ClockSectionView view.setOnClickListener { navigationController.navigateTo(ClockCustomDemoFragment()) } return view } } src/com/android/customization/module/ThemePickerInjector.java +13 −1 Original line number Diff line number Diff line Loading @@ -62,6 +62,7 @@ public class ThemePickerInjector extends WallpaperPicker2Injector private KeyguardQuickAffordancePickerInteractor mKeyguardQuickAffordancePickerInteractor; private KeyguardQuickAffordancePickerViewModel.Factory mKeyguardQuickAffordancePickerViewModelFactory; private KeyguardQuickAffordanceProviderClient mKeyguardQuickAffordanceProviderClient; private FragmentFactory mFragmentFactory; @Override Loading Loading @@ -141,7 +142,7 @@ public class ThemePickerInjector extends WallpaperPicker2Injector Context context) { if (mKeyguardQuickAffordancePickerInteractor == null) { final KeyguardQuickAffordanceProviderClient client = new KeyguardQuickAffordanceProviderClientImpl(context, Dispatchers.getIO()); getKeyguardQuickAffordancePickerProviderClient(context); mKeyguardQuickAffordancePickerInteractor = new KeyguardQuickAffordancePickerInteractor( new KeyguardQuickAffordancePickerRepository(client, Dispatchers.getIO()), client); Loading Loading @@ -170,4 +171,15 @@ public class ThemePickerInjector extends WallpaperPicker2Injector } return mFragmentFactory; } /** Returns the {@link KeyguardQuickAffordanceProviderClient}. */ public KeyguardQuickAffordanceProviderClient getKeyguardQuickAffordancePickerProviderClient( Context context) { if (mKeyguardQuickAffordanceProviderClient == null) { mKeyguardQuickAffordanceProviderClient = new KeyguardQuickAffordanceProviderClientImpl(context, Dispatchers.getIO()); } return mKeyguardQuickAffordanceProviderClient; } } src/com/android/customization/picker/quickaffordance/data/repository/KeyguardQuickAffordancePickerRepository.kt +5 −2 Original line number Diff line number Diff line Loading @@ -60,8 +60,11 @@ class KeyguardQuickAffordancePickerRepository( } private fun List<Client.Flag>.isFeatureEnabled(): Boolean { return find { flag -> flag.name == Contract.FlagsTable.FLAG_NAME_FEATURE_ENABLED }?.value == true return find { flag -> flag.name == Contract.FlagsTable.FLAG_NAME_CUSTOM_LOCK_SCREEN_QUICK_AFFORDANCES_ENABLED } ?.value == true } private fun Client.Slot.toModel(): SlotModel { Loading src_override/com/android/wallpaper/config/Flags.java +0 −1 Original line number Diff line number Diff line Loading @@ -16,5 +16,4 @@ package com.android.wallpaper.config; public class Flags extends BaseFlags { public static boolean enableCustomClocks = false; } Loading
src/com/android/customization/model/clock/ClockSectionController.java→src/com/android/customization/model/clock/ClockSectionController.kt +50 −0 Original line number Diff line number Diff line Loading @@ -13,40 +13,38 @@ * See the License for the specific language governing permissions and * limitations under the License. */ package com.android.customization.model.clock; import android.content.Context; import android.view.LayoutInflater; import androidx.annotation.Nullable; import com.android.customization.picker.clock.ClockCustomDemoFragment; import com.android.customization.picker.clock.ClockSectionView; import com.android.wallpaper.R; import com.android.wallpaper.config.Flags; import com.android.wallpaper.model.CustomizationSectionController; /** A {@link CustomizationSectionController} for clock customization. */ public class ClockSectionController implements CustomizationSectionController<ClockSectionView> { private final CustomizationSectionNavigationController mNavigationController; public ClockSectionController(CustomizationSectionNavigationController navigationController) { mNavigationController = navigationController; } @Override public boolean isAvailable(@Nullable Context context) { return Flags.enableCustomClocks; package com.android.customization.model.clock 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.wallpaper.R import com.android.wallpaper.model.CustomizationSectionController import com.android.wallpaper.model.CustomizationSectionController.CustomizationSectionNavigationController import kotlinx.coroutines.runBlocking /** A [CustomizationSectionController] for clock customization. */ class ClockSectionController( private val navigationController: CustomizationSectionNavigationController, private val keyguardQuickAffordanceProviderClient: KeyguardQuickAffordanceProviderClient, ) : CustomizationSectionController<ClockSectionView?> { override fun isAvailable(context: Context?): Boolean { return runBlocking { keyguardQuickAffordanceProviderClient.queryFlags() } .firstOrNull { it.name == Contract.FlagsTable.FLAG_NAME_CUSTOM_CLOCKS_ENABLED } ?.value == true } @Override public ClockSectionView createView(Context context) { ClockSectionView view = (ClockSectionView) LayoutInflater.from(context).inflate( override fun createView(context: Context): ClockSectionView { val view = LayoutInflater.from(context) .inflate( R.layout.clock_section_view, null); view.setOnClickListener(v -> mNavigationController.navigateTo(new ClockCustomDemoFragment())); return view; null, ) as ClockSectionView view.setOnClickListener { navigationController.navigateTo(ClockCustomDemoFragment()) } return view } }
src/com/android/customization/module/ThemePickerInjector.java +13 −1 Original line number Diff line number Diff line Loading @@ -62,6 +62,7 @@ public class ThemePickerInjector extends WallpaperPicker2Injector private KeyguardQuickAffordancePickerInteractor mKeyguardQuickAffordancePickerInteractor; private KeyguardQuickAffordancePickerViewModel.Factory mKeyguardQuickAffordancePickerViewModelFactory; private KeyguardQuickAffordanceProviderClient mKeyguardQuickAffordanceProviderClient; private FragmentFactory mFragmentFactory; @Override Loading Loading @@ -141,7 +142,7 @@ public class ThemePickerInjector extends WallpaperPicker2Injector Context context) { if (mKeyguardQuickAffordancePickerInteractor == null) { final KeyguardQuickAffordanceProviderClient client = new KeyguardQuickAffordanceProviderClientImpl(context, Dispatchers.getIO()); getKeyguardQuickAffordancePickerProviderClient(context); mKeyguardQuickAffordancePickerInteractor = new KeyguardQuickAffordancePickerInteractor( new KeyguardQuickAffordancePickerRepository(client, Dispatchers.getIO()), client); Loading Loading @@ -170,4 +171,15 @@ public class ThemePickerInjector extends WallpaperPicker2Injector } return mFragmentFactory; } /** Returns the {@link KeyguardQuickAffordanceProviderClient}. */ public KeyguardQuickAffordanceProviderClient getKeyguardQuickAffordancePickerProviderClient( Context context) { if (mKeyguardQuickAffordanceProviderClient == null) { mKeyguardQuickAffordanceProviderClient = new KeyguardQuickAffordanceProviderClientImpl(context, Dispatchers.getIO()); } return mKeyguardQuickAffordanceProviderClient; } }
src/com/android/customization/picker/quickaffordance/data/repository/KeyguardQuickAffordancePickerRepository.kt +5 −2 Original line number Diff line number Diff line Loading @@ -60,8 +60,11 @@ class KeyguardQuickAffordancePickerRepository( } private fun List<Client.Flag>.isFeatureEnabled(): Boolean { return find { flag -> flag.name == Contract.FlagsTable.FLAG_NAME_FEATURE_ENABLED }?.value == true return find { flag -> flag.name == Contract.FlagsTable.FLAG_NAME_CUSTOM_LOCK_SCREEN_QUICK_AFFORDANCES_ENABLED } ?.value == true } private fun Client.Slot.toModel(): SlotModel { Loading
src_override/com/android/wallpaper/config/Flags.java +0 −1 Original line number Diff line number Diff line Loading @@ -16,5 +16,4 @@ package com.android.wallpaper.config; public class Flags extends BaseFlags { public static boolean enableCustomClocks = false; }