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

Commit 686f2403 authored by Catherine Liang's avatar Catherine Liang Committed by Android (Google) Code Review
Browse files

Merge "Rename themed icon repository to icon style repository (1/2)" into main

parents 7d87080f adcc7a6d
Loading
Loading
Loading
Loading
+5 −5
Original line number Diff line number Diff line
@@ -73,7 +73,7 @@ import com.android.customization.module.logging.ThemesUserEventLogger.ColorSourc
import com.android.customization.picker.clock.data.repository.ClockPickerRepository
import com.android.customization.picker.clock.shared.ClockSize.DYNAMIC
import com.android.customization.picker.clock.shared.ClockSize.SMALL
import com.android.customization.picker.themedicon.data.repository.ThemedIconRepository
import com.android.customization.picker.icon.data.repository.IconStyleRepository
import com.android.systemui.shared.customization.data.content.CustomizationProviderClient
import com.android.wallpaper.customization.ui.util.ThemePickerCustomizationOptionUtil.ThemePickerHomeCustomizationOption.APP_ICONS
import com.android.wallpaper.customization.ui.util.ThemePickerCustomizationOptionUtil.ThemePickerHomeCustomizationOption.COLORS
@@ -102,7 +102,7 @@ constructor(
    private val preferences: WallpaperPreferences,
    private val colorManager: ColorCustomizationManager,
    private val shapeGridManager: ShapeGridManager,
    private val themedIconRepository: ThemedIconRepository,
    private val iconStyleRepository: IconStyleRepository,
    private val clockPickerRepository: ClockPickerRepository,
    private val customizationProviderClient: CustomizationProviderClient,
    private val appSessionId: AppSessionId,
@@ -124,7 +124,7 @@ constructor(
            .setColorVariant(colorManager.currentStyleForLogging)
            .setSeedColor(colorManager.currentSeedColorForLogging)
            .setShapePackageHash(shapeGridManager.getSelectedShapeIdHash())
            .setAppIconStyle(themedIconRepository.getAppIconStyle())
            .setAppIconStyle(iconStyleRepository.getAppIconStyle())
            .setLauncherGrid(shapeGridManager.getSelectedGridInt())
            .setClockPackageHash(selectedClockLoggingData.clockIdHash)
            .setClockSeedColor(selectedClockLoggingData.clockSeedColor)
@@ -435,9 +435,9 @@ constructor(
        return selectedGrid?.getLauncherGridInt() ?: 0
    }

    private suspend fun ThemedIconRepository.getAppIconStyle(): Int {
    private suspend fun IconStyleRepository.getAppIconStyle(): Int {
        val isThemedIconActivated =
            withTimeoutOrNull(TIMEOUT_MILLIS) { isActivated.first() } ?: false
            withTimeoutOrNull(TIMEOUT_MILLIS) { isThemedIconActivated.first() } ?: false
        return if (isThemedIconActivated) APP_ICON_STYLE_THEMED else APP_ICON_STYLE_UNSPECIFIED
    }

+4 −4
Original line number Diff line number Diff line
@@ -14,15 +14,15 @@
 * limitations under the License.
 */

package com.android.customization.picker.themedicon.data.repository
package com.android.customization.picker.icon.data.repository

import kotlinx.coroutines.flow.Flow

interface ThemedIconRepository {
interface IconStyleRepository {

    val isAvailable: Flow<Boolean>
    val isThemedIconAvailable: Flow<Boolean>

    val isActivated: Flow<Boolean>
    val isThemedIconActivated: Flow<Boolean>

    suspend fun setThemedIconEnabled(enabled: Boolean)
}
+5 −5
Original line number Diff line number Diff line
@@ -14,7 +14,7 @@
 * limitations under the License.
 */

package com.android.customization.picker.themedicon.data.repository
package com.android.customization.picker.icon.data.repository

import android.content.ContentResolver
import android.content.ContentValues
@@ -44,13 +44,13 @@ import kotlinx.coroutines.flow.stateIn

@OptIn(ExperimentalCoroutinesApi::class)
@Singleton
class ThemedIconRepositoryImpl
class ThemePickerIconStyleRepository
@Inject
constructor(
    @ApplicationContext private val appContext: Context,
    private val contentResolver: ContentResolver,
    @BackgroundDispatcher private val backgroundScope: CoroutineScope,
) : ThemedIconRepository {
) : IconStyleRepository {
    private val metadataKey = appContext.getString(R.string.themed_icon_metadata_key)
    private var previewUtils: PreviewUtils? = null
    private val previewUtilsFlow = flow {
@@ -70,9 +70,9 @@ constructor(
    private val uriFlow: Flow<Uri?> =
        previewUtilsFlow.map { uri ?: it?.getUri(ICON_THEMED)?.also { result -> uri = result } }

    override val isAvailable: Flow<Boolean> = previewUtilsFlow.map { it != null }
    override val isThemedIconAvailable: Flow<Boolean> = previewUtilsFlow.map { it != null }

    override val isActivated: Flow<Boolean> =
    override val isThemedIconActivated: Flow<Boolean> =
        uriFlow
            .flatMapLatest {
                callbackFlow {
+5 −5
Original line number Diff line number Diff line
@@ -18,8 +18,8 @@ package com.android.customization.picker.icon.domain.interactor

import com.android.customization.model.grid.ShapeOptionModel
import com.android.customization.picker.grid.data.repository.ShapeRepository
import com.android.customization.picker.icon.data.repository.IconStyleRepository
import com.android.customization.picker.icon.shared.model.IconStyle
import com.android.customization.picker.themedicon.data.repository.ThemedIconRepository
import javax.inject.Inject
import javax.inject.Singleton
import kotlinx.coroutines.flow.Flow
@@ -30,7 +30,7 @@ class AppIconInteractor
@Inject
constructor(
    private val shapeRepository: ShapeRepository,
    private val themedIconRepository: ThemedIconRepository,
    private val iconStyleRepository: IconStyleRepository,
) {

    val shapeOptions = shapeRepository.shapeOptions
@@ -41,9 +41,9 @@ constructor(
    val selectedShapeOption =
        shapeRepository.selectedShapeOption.map { shapeOption -> shapeOption ?: defaultShape }

    val isThemedIconAvailable: Flow<Boolean> = themedIconRepository.isAvailable
    val isThemedIconAvailable: Flow<Boolean> = iconStyleRepository.isThemedIconAvailable

    val isThemedIconEnabled: Flow<Boolean> = themedIconRepository.isActivated
    val isThemedIconEnabled: Flow<Boolean> = iconStyleRepository.isThemedIconActivated

    val iconStyles =
        isThemedIconAvailable.map { isThemedIconAvailable ->
@@ -62,7 +62,7 @@ constructor(
        }

    suspend fun applyThemedIconEnabled(enabled: Boolean) =
        themedIconRepository.setThemedIconEnabled(enabled)
        iconStyleRepository.setThemedIconEnabled(enabled)

    suspend fun applyShape(shapeKey: String) = shapeRepository.applyShape(shapeKey)
}
+4 −4
Original line number Diff line number Diff line
@@ -16,15 +16,15 @@

package com.android.customization.picker.themedicon.domain.interactor

import com.android.customization.picker.themedicon.data.repository.ThemedIconRepository
import com.android.customization.picker.icon.data.repository.IconStyleRepository
import javax.inject.Inject
import javax.inject.Singleton
import kotlinx.coroutines.flow.Flow

@Singleton
class ThemedIconInteractor @Inject constructor(private val repository: ThemedIconRepository) {
    val isAvailable: Flow<Boolean> = repository.isAvailable
    val isActivated: Flow<Boolean> = repository.isActivated
class ThemedIconInteractor @Inject constructor(private val repository: IconStyleRepository) {
    val isAvailable: Flow<Boolean> = repository.isThemedIconAvailable
    val isActivated: Flow<Boolean> = repository.isThemedIconActivated

    suspend fun setThemedIconEnabled(enabled: Boolean) = repository.setThemedIconEnabled(enabled)
}
Loading