Loading src/com/android/customization/model/color/ColorProvider.kt +10 −7 Original line number Diff line number Diff line Loading @@ -117,16 +117,19 @@ class ColorProvider(private val context: Context, stubPackageName: String) : } scope.launch { // Wait for the previous preset color loading job to finish before evaluating whether to // start a new one loaderJob?.join() if (presetColorBundles == null || reload) { loaderJob = launch { try { loaderJob = launch { loadPreset(isNewPickerUi) } loadPreset(isNewPickerUi) callback?.onOptionsLoaded(buildFinalList(isNewPickerUi)) } catch (e: Throwable) { colorsAvailable = false callback?.onError(e) return@launch } callback?.onOptionsLoaded(buildFinalList(isNewPickerUi)) } } else { callback?.onOptionsLoaded(buildFinalList(isNewPickerUi)) } Loading src/com/android/customization/picker/color/data/repository/ColorPickerRepositoryImpl.kt +46 −54 Original line number Diff line number Diff line Loading @@ -33,7 +33,6 @@ import kotlinx.coroutines.flow.MutableStateFlow import kotlinx.coroutines.flow.StateFlow import kotlinx.coroutines.flow.asStateFlow import kotlinx.coroutines.flow.combine import kotlinx.coroutines.flow.map import kotlinx.coroutines.suspendCancellableCoroutine // TODO (b/262924623): refactor to remove dependency on ColorCustomizationManager & ColorOption Loading @@ -58,9 +57,6 @@ constructor( override val colorOptions: Flow<Map<ColorType, List<ColorOptionModel>>> = combine(homeWallpaperColors, lockWallpaperColors) { homeColors, lockColors -> homeColors to lockColors } .map { (homeColors, lockColors) -> suspendCancellableCoroutine { continuation -> if ( homeColors is WallpaperColorsModel.Loading || Loading @@ -78,17 +74,13 @@ constructor( } val homeColorsLoaded = homeColors as WallpaperColorsModel.Loaded val lockColorsLoaded = lockColors as WallpaperColorsModel.Loaded colorManager.setWallpaperColors( homeColorsLoaded.colors, lockColorsLoaded.colors, ) colorManager.setWallpaperColors(homeColorsLoaded.colors, lockColorsLoaded.colors) colorManager.fetchOptions( object : CustomizationManager.OptionsFetchedListener<ColorOption?> { override fun onOptionsLoaded(options: MutableList<ColorOption?>?) { val wallpaperColorOptions: MutableList<ColorOptionModel> = mutableListOf() val presetColorOptions: MutableList<ColorOptionModel> = mutableListOf() val presetColorOptions: MutableList<ColorOptionModel> = mutableListOf() options?.forEach { option -> when ((option as ColorOptionImpl).type) { ColorType.WALLPAPER_COLOR -> Loading src/com/android/customization/picker/color/data/repository/ColorPickerRepositoryImpl2.kt +1 −2 Original line number Diff line number Diff line Loading @@ -78,8 +78,7 @@ constructor( .map { (_, colors) -> colors } override val colorOptions: Flow<Map<ColorType, List<ColorOption>>> = combine(homeWallpaperColors, lockWallpaperColors, ::Pair) .map { (homeColors, lockColors) -> combine(homeWallpaperColors, lockWallpaperColors) { homeColors, lockColors -> suspendCancellableCoroutine { continuation -> colorManager.setWallpaperColors(homeColors, lockColors) colorManager.fetchOptions( Loading Loading
src/com/android/customization/model/color/ColorProvider.kt +10 −7 Original line number Diff line number Diff line Loading @@ -117,16 +117,19 @@ class ColorProvider(private val context: Context, stubPackageName: String) : } scope.launch { // Wait for the previous preset color loading job to finish before evaluating whether to // start a new one loaderJob?.join() if (presetColorBundles == null || reload) { loaderJob = launch { try { loaderJob = launch { loadPreset(isNewPickerUi) } loadPreset(isNewPickerUi) callback?.onOptionsLoaded(buildFinalList(isNewPickerUi)) } catch (e: Throwable) { colorsAvailable = false callback?.onError(e) return@launch } callback?.onOptionsLoaded(buildFinalList(isNewPickerUi)) } } else { callback?.onOptionsLoaded(buildFinalList(isNewPickerUi)) } Loading
src/com/android/customization/picker/color/data/repository/ColorPickerRepositoryImpl.kt +46 −54 Original line number Diff line number Diff line Loading @@ -33,7 +33,6 @@ import kotlinx.coroutines.flow.MutableStateFlow import kotlinx.coroutines.flow.StateFlow import kotlinx.coroutines.flow.asStateFlow import kotlinx.coroutines.flow.combine import kotlinx.coroutines.flow.map import kotlinx.coroutines.suspendCancellableCoroutine // TODO (b/262924623): refactor to remove dependency on ColorCustomizationManager & ColorOption Loading @@ -58,9 +57,6 @@ constructor( override val colorOptions: Flow<Map<ColorType, List<ColorOptionModel>>> = combine(homeWallpaperColors, lockWallpaperColors) { homeColors, lockColors -> homeColors to lockColors } .map { (homeColors, lockColors) -> suspendCancellableCoroutine { continuation -> if ( homeColors is WallpaperColorsModel.Loading || Loading @@ -78,17 +74,13 @@ constructor( } val homeColorsLoaded = homeColors as WallpaperColorsModel.Loaded val lockColorsLoaded = lockColors as WallpaperColorsModel.Loaded colorManager.setWallpaperColors( homeColorsLoaded.colors, lockColorsLoaded.colors, ) colorManager.setWallpaperColors(homeColorsLoaded.colors, lockColorsLoaded.colors) colorManager.fetchOptions( object : CustomizationManager.OptionsFetchedListener<ColorOption?> { override fun onOptionsLoaded(options: MutableList<ColorOption?>?) { val wallpaperColorOptions: MutableList<ColorOptionModel> = mutableListOf() val presetColorOptions: MutableList<ColorOptionModel> = mutableListOf() val presetColorOptions: MutableList<ColorOptionModel> = mutableListOf() options?.forEach { option -> when ((option as ColorOptionImpl).type) { ColorType.WALLPAPER_COLOR -> Loading
src/com/android/customization/picker/color/data/repository/ColorPickerRepositoryImpl2.kt +1 −2 Original line number Diff line number Diff line Loading @@ -78,8 +78,7 @@ constructor( .map { (_, colors) -> colors } override val colorOptions: Flow<Map<ColorType, List<ColorOption>>> = combine(homeWallpaperColors, lockWallpaperColors, ::Pair) .map { (homeColors, lockColors) -> combine(homeWallpaperColors, lockWallpaperColors) { homeColors, lockColors -> suspendCancellableCoroutine { continuation -> colorManager.setWallpaperColors(homeColors, lockColors) colorManager.fetchOptions( Loading