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

Commit 19a269e5 authored by Android Build Coastguard Worker's avatar Android Build Coastguard Worker
Browse files

Snap for 11251507 from 7659ec21 to 24Q2-release

Change-Id: Iddd7997bcd4465e0e936da90993874d3c0fffc2b
parents 9efa7038 7659ec21
Loading
Loading
Loading
Loading
+1 −0
Original line number Diff line number Diff line
@@ -15,6 +15,7 @@
    <uses-permission android:name="android.permission.READ_MEDIA_IMAGES"/>
    <uses-permission android:name="android.permission.READ_WALLPAPER_INTERNAL"/>
    <uses-permission android:name="android.permission.SET_WALLPAPER"/>
    <uses-permission android:name="android.permission.SET_WALLPAPER_DIM_AMOUNT" />

    <queries>
        <package android:name="android"/>
+1 −0
Original line number Diff line number Diff line
@@ -24,5 +24,6 @@
        <permission name="android.permission.SET_WALLPAPER"/>
        <permission name="android.permission.SET_WALLPAPER_COMPONENT"/>
        <permission name="android.permission.WRITE_SECURE_SETTINGS"/>
        <permission name="android.permission.SET_WALLPAPER_DIM_AMOUNT"/>
    </privapp-permissions>
</permissions>
+27 −19
Original line number Diff line number Diff line
@@ -24,32 +24,40 @@ import android.util.Log
import com.android.customization.model.ResourceConstants.OVERLAY_CATEGORY_THEME_STYLE
import com.android.systemui.monet.ColorScheme
import com.android.systemui.monet.Style
import com.android.systemui.shared.settings.data.repository.SecureSettingsRepository
import kotlinx.coroutines.Dispatchers
import kotlinx.coroutines.withContext
import org.json.JSONException
import org.json.JSONObject

class ThemedWallpaperColorResources(wallpaperColors: WallpaperColors, context: Context) :
    WallpaperColorResources(wallpaperColors) {
class ThemedWallpaperColorResources(
    private val wallpaperColors: WallpaperColors,
    private val secureSettingsRepository: SecureSettingsRepository,
) : WallpaperColorResources() {

    init {
    override suspend fun apply(context: Context, callback: () -> Unit) {
        withContext(Dispatchers.IO) {
            val wallpaperColorScheme =
                ColorScheme(
                    wallpaperColors = wallpaperColors,
                    darkTheme = false,
                style = fetchThemeStyleFromSetting(context)
                    style = fetchThemeStyleFromSetting(),
                )
        addOverlayColor(wallpaperColorScheme.neutral1, R.color.system_neutral1_10)
        addOverlayColor(wallpaperColorScheme.neutral2, R.color.system_neutral2_10)
        addOverlayColor(wallpaperColorScheme.accent1, R.color.system_accent1_10)
        addOverlayColor(wallpaperColorScheme.accent2, R.color.system_accent2_10)
        addOverlayColor(wallpaperColorScheme.accent3, R.color.system_accent3_10)
            with(wallpaperColorScheme) {
                addOverlayColor(neutral1, R.color.system_neutral1_10)
                addOverlayColor(neutral2, R.color.system_neutral2_10)
                addOverlayColor(accent1, R.color.system_accent1_10)
                addOverlayColor(accent2, R.color.system_accent2_10)
                addOverlayColor(accent3, R.color.system_accent3_10)
            }
            applyToContext(context)
            callback.invoke()
        }
    }

    private fun fetchThemeStyleFromSetting(context: Context): Style {
    private suspend fun fetchThemeStyleFromSetting(): Style {
        val overlayPackageJson =
            Settings.Secure.getString(
                context.contentResolver,
                Settings.Secure.THEME_CUSTOMIZATION_OVERLAY_PACKAGES,
            )
            secureSettingsRepository.getString(Settings.Secure.THEME_CUSTOMIZATION_OVERLAY_PACKAGES)
        return if (!overlayPackageJson.isNullOrEmpty()) {
            try {
                val jsonObject = JSONObject(overlayPackageJson)
+1 −1
Original line number Diff line number Diff line
@@ -406,7 +406,7 @@ internal constructor(
        wallpaperColors: WallpaperColors,
        context: Context
    ): WallpaperColorResources {
        return ThemedWallpaperColorResources(wallpaperColors, context)
        return ThemedWallpaperColorResources(wallpaperColors, getSecureSettingsRepository(context))
    }

    override fun getColorPickerInteractor(
+1 −1
Original line number Diff line number Diff line
@@ -157,7 +157,7 @@ class ClockPickerRepositoryImpl(
            )

    override suspend fun setClockSize(size: ClockSize) {
        secureSettingsRepository.set(
        secureSettingsRepository.setInt(
            name = Settings.Secure.LOCKSCREEN_USE_DOUBLE_LINE_CLOCK,
            value = if (size == ClockSize.DYNAMIC) 1 else 0,
        )
Loading