feat(microg): temporary suspension of support for all patches https://github.com/inotia00/ReVanced_Extended/issues/1207

This commit is contained in:
inotia00 2023-07-25 00:53:38 +09:00
parent 95cfc3de89
commit 03b9875d16
34 changed files with 0 additions and 721 deletions

View File

@ -1,27 +0,0 @@
package app.revanced.patches.microg.layout.branding.icon.patch
import app.revanced.patcher.annotation.Description
import app.revanced.patcher.annotation.Name
import app.revanced.patcher.annotation.Version
import app.revanced.patcher.data.ResourceContext
import app.revanced.patcher.patch.PatchResult
import app.revanced.patcher.patch.PatchResultSuccess
import app.revanced.patcher.patch.ResourcePatch
import app.revanced.patcher.patch.annotations.Patch
import app.revanced.patches.microg.utils.annotations.MicroGCompatibility
import app.revanced.util.resources.MicroGResourceUtils.copyFiles
@Patch(false)
@Name("Custom branding icon MMT")
@Description("Changes the MicroG launcher icon to MMT.")
@MicroGCompatibility
@Version("0.0.1")
class CustomBrandingIconMMTPatch : ResourcePatch {
override fun execute(context: ResourceContext): PatchResult {
context.copyFiles("microg/branding/mmt")
return PatchResultSuccess()
}
}

View File

@ -1,27 +0,0 @@
package app.revanced.patches.microg.layout.branding.icon.patch
import app.revanced.patcher.annotation.Description
import app.revanced.patcher.annotation.Name
import app.revanced.patcher.annotation.Version
import app.revanced.patcher.data.ResourceContext
import app.revanced.patcher.patch.PatchResult
import app.revanced.patcher.patch.PatchResultSuccess
import app.revanced.patcher.patch.ResourcePatch
import app.revanced.patcher.patch.annotations.Patch
import app.revanced.patches.microg.utils.annotations.MicroGCompatibility
import app.revanced.util.resources.MicroGResourceUtils.copyFiles
@Patch(false)
@Name("Custom branding icon Revancify blue")
@Description("Changes the MicroG launcher icon to Revancify Blue.")
@MicroGCompatibility
@Version("0.0.1")
class CustomBrandingIconRevancifyBluePatch : ResourcePatch {
override fun execute(context: ResourceContext): PatchResult {
context.copyFiles("microg/branding/revancify-blue")
return PatchResultSuccess()
}
}

View File

@ -1,27 +0,0 @@
package app.revanced.patches.microg.layout.branding.icon.patch
import app.revanced.patcher.annotation.Description
import app.revanced.patcher.annotation.Name
import app.revanced.patcher.annotation.Version
import app.revanced.patcher.data.ResourceContext
import app.revanced.patcher.patch.PatchResult
import app.revanced.patcher.patch.PatchResultSuccess
import app.revanced.patcher.patch.ResourcePatch
import app.revanced.patcher.patch.annotations.Patch
import app.revanced.patches.microg.utils.annotations.MicroGCompatibility
import app.revanced.util.resources.MicroGResourceUtils.copyFiles
@Patch
@Name("Custom branding icon Revancify red")
@Description("Changes the MicroG launcher icon to Revancify Red.")
@MicroGCompatibility
@Version("0.0.1")
class CustomBrandingIconRevancifyRedPatch : ResourcePatch {
override fun execute(context: ResourceContext): PatchResult {
context.copyFiles("microg/branding/revancify-red")
return PatchResultSuccess()
}
}

View File

@ -1,86 +0,0 @@
package app.revanced.patches.microg.layout.branding.name.patch
import app.revanced.extensions.startsWithAny
import app.revanced.patcher.annotation.Description
import app.revanced.patcher.annotation.Name
import app.revanced.patcher.annotation.Version
import app.revanced.patcher.data.ResourceContext
import app.revanced.patcher.patch.OptionsContainer
import app.revanced.patcher.patch.PatchOption
import app.revanced.patcher.patch.PatchResult
import app.revanced.patcher.patch.PatchResultError
import app.revanced.patcher.patch.PatchResultSuccess
import app.revanced.patcher.patch.ResourcePatch
import app.revanced.patcher.patch.annotations.Patch
import app.revanced.patches.microg.utils.annotations.MicroGCompatibility
import org.w3c.dom.Element
@Patch
@Name("Custom branding Microg name")
@Description("Rename the MicroG app to the name specified in options.json.")
@MicroGCompatibility
@Version("0.0.1")
class CustomBrandingNamePatch : ResourcePatch {
override fun execute(context: ResourceContext): PatchResult {
MicroGAppName?.let { appName ->
val resourceFileNames = arrayOf("strings.xml")
context.forEach {
if (!it.name.startsWithAny(*resourceFileNames)) return@forEach
context.xmlEditor[it.absolutePath].use { editor ->
val resourcesNode =
editor.file.getElementsByTagName("resources").item(0) as Element
var label = ""
for (i in 0 until resourcesNode.childNodes.length) {
val node = resourcesNode.childNodes.item(i)
if (node !is Element) continue
val element = resourcesNode.childNodes.item(i) as Element
when (element.getAttribute("name")) {
"app_name", "gms_app_name" -> {
if (label == "")
label = element.textContent
element.textContent = appName
}
"gms_settings_name" -> element.textContent = appName
else -> continue
}
}
for (i in 0 until resourcesNode.childNodes.length) {
val node = resourcesNode.childNodes.item(i)
if (node !is Element) continue
val element = resourcesNode.childNodes.item(i) as Element
if (element.textContent.contains(label)) {
element.textContent = element.textContent.replace(label, appName)
}
}
}
}
} ?: return PatchResultError("Invalid app name.")
return PatchResultSuccess()
}
companion object : OptionsContainer() {
var MicroGAppName: String? by option(
PatchOption.StringOption(
key = "MicroGAppName",
default = "MicroG",
title = "Application Name of MicroG",
description = "The name of the MicroG it will show on your home screen."
)
)
}
}

View File

@ -1,37 +0,0 @@
package app.revanced.patches.microg.layout.hideicon.patch
import app.revanced.extensions.doRecursively
import app.revanced.patcher.annotation.Description
import app.revanced.patcher.annotation.Name
import app.revanced.patcher.annotation.Version
import app.revanced.patcher.data.ResourceContext
import app.revanced.patcher.patch.PatchResult
import app.revanced.patcher.patch.PatchResultSuccess
import app.revanced.patcher.patch.ResourcePatch
import app.revanced.patcher.patch.annotations.Patch
import app.revanced.patches.microg.utils.annotations.MicroGCompatibility
import org.w3c.dom.Element
@Patch(false)
@Name("Hide icon from launcher")
@Description("Hide MicroG icon from launcher.")
@MicroGCompatibility
@Version("0.0.1")
class HideIconPatch : ResourcePatch {
override fun execute(context: ResourceContext): PatchResult {
context.xmlEditor["AndroidManifest.xml"].use { editor ->
editor.file.doRecursively loop@{
if (it !is Element) return@loop
it.getAttributeNode("android:name")?.let { attribute ->
if (attribute.textContent == "android.intent.category.LAUNCHER") {
attribute.textContent = "android.intent.category.DEFAULT"
}
}
}
}
return PatchResultSuccess()
}
}

View File

@ -1,35 +0,0 @@
package app.revanced.patches.microg.layout.materialyou.patch
import app.revanced.patcher.annotation.Description
import app.revanced.patcher.annotation.Name
import app.revanced.patcher.annotation.Version
import app.revanced.patcher.data.ResourceContext
import app.revanced.patcher.patch.PatchResult
import app.revanced.patcher.patch.PatchResultSuccess
import app.revanced.patcher.patch.ResourcePatch
import app.revanced.patcher.patch.annotations.Patch
import app.revanced.patches.microg.utils.annotations.MicroGCompatibility
import app.revanced.util.resources.ResourceUtils
import app.revanced.util.resources.ResourceUtils.copyResources
@Patch(false)
@Name("MaterialYou")
@Description("Enables MaterialYou theme for Android 12+")
@MicroGCompatibility
@Version("0.0.1")
class MaterialYouPatch : ResourcePatch {
override fun execute(context: ResourceContext): PatchResult {
arrayOf(
ResourceUtils.ResourceGroup(
"values-v31",
"styles.xml"
),
).forEach {
context["res/${it.resourceDirectoryName}"].mkdirs()
context.copyResources("microg/materialyou", it)
}
return PatchResultSuccess()
}
}

View File

@ -1,8 +0,0 @@
package app.revanced.patches.microg.utils.annotations
import app.revanced.patcher.annotation.Compatibility
import app.revanced.patcher.annotation.Package
@Compatibility([Package("com.mgoogle.android.gms")])
@Target(AnnotationTarget.CLASS)
internal annotation class MicroGCompatibility

View File

@ -1,63 +0,0 @@
package app.revanced.util.resources
import app.revanced.extensions.doRecursively
import app.revanced.patcher.data.ResourceContext
import app.revanced.util.resources.ResourceUtils.copyResources
import app.revanced.util.resources.ResourceUtils.copyXmlNode
import org.w3c.dom.Element
internal object MicroGResourceUtils {
internal fun ResourceContext.copyFiles(path: String) {
fun copyResources(resourceGroups: List<ResourceUtils.ResourceGroup>) {
resourceGroups.forEach { this.copyResources(path, it) }
}
val iconResourceFileNames = arrayOf(
"ic_microg_launcher"
).map { "$it.png" }.toTypedArray()
fun createGroup(directory: String) = ResourceUtils.ResourceGroup(
directory, *iconResourceFileNames
)
// change the app icon
arrayOf("xxxhdpi", "xxhdpi", "xhdpi", "hdpi", "mdpi")
.map { "mipmap-$it" }
.map(::createGroup)
.let(::copyResources)
arrayOf(
ResourceUtils.ResourceGroup(
"drawable",
"ic_app_icons_themed_microg.xml",
"ic_microg_launcher_foreground.xml"
),
ResourceUtils.ResourceGroup(
"mipmap-anydpi-v26",
"ic_microg_launcher.xml"
)
).forEach { this.copyResources(path, it) }
this.copyXmlNode(path, "values/colors.xml", "resources")
this.setManifestIcon()
}
private fun ResourceContext.setManifestIcon() {
this.xmlEditor["AndroidManifest.xml"].use {
val attributes = arrayOf("icon", "roundIcon")
it.file.doRecursively {
attributes.forEach replacement@{ replacement ->
if (it !is Element) return@replacement
it.getAttributeNode("android:$replacement")?.let { attribute ->
if (attribute.textContent.startsWith("@mipmap/"))
attribute.textContent = "@mipmap/ic_microg_launcher"
}
}
}
}
}
}

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

Binary file not shown.

Before

Width:  |  Height:  |  Size: 5.9 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 4.2 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 7.3 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 10 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 9.5 KiB

View File

@ -1,16 +0,0 @@
<vector xmlns:android="http://schemas.android.com/apk/res/android"
android:width="108dp"
android:height="108dp"
android:viewportWidth="108"
android:viewportHeight="108">
<path
android:pathData="M31,45.68C31,40.55 36.34,37.34 40.62,39.9L52.79,47.22C57.07,49.79 57.07,56.21 52.79,58.78L40.62,66.1C36.34,68.66 31,65.45 31,60.32L31,45.68Z"
android:fillColor="#000000"
android:fillAlpha="0.5"/>
<path
android:pathData="M70.26,41.62C67.42,39.74 64,38.82 60.56,39.03C57.12,39.23 53.84,40.54 51.25,42.74C48.67,44.95 46.91,47.93 46.27,51.21C45.63,54.49 46.14,57.88 47.71,60.85C49.28,63.82 51.84,66.19 54.96,67.6C58.09,69.01 61.61,69.37 64.97,68.62C68.34,67.87 71.34,66.06 73.52,63.47C75.03,61.68 76.08,59.59 76.61,57.37C77,55.73 75.61,54.33 73.93,54.33H63.61"
android:strokeWidth="6"
android:fillColor="#00000000"
android:strokeColor="#000000"
android:strokeLineCap="round"/>
</vector>

View File

@ -1,32 +0,0 @@
<vector xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:aapt="http://schemas.android.com/aapt"
android:width="108dp"
android:height="108dp"
android:viewportWidth="512"
android:viewportHeight="512">
<group android:scaleX="0.6864"
android:scaleY="0.6864"
android:translateX="75.400536"
android:translateY="80.2816">
<path
android:pathData="M90,203.21C90,166.15 130.18,142.99 162.32,161.52L253.9,214.31C286.04,232.84 286.04,279.16 253.89,297.69L162.32,350.48C130.18,369.01 90,345.85 90,308.79L90,203.21Z">
<aapt:attr name="android:fillColor">
<gradient
android:startX="90"
android:startY="256"
android:endX="278"
android:endY="256"
android:type="linear">
<item android:offset="0" android:color="#FF83D2FF"/>
<item android:offset="1" android:color="#FFAC43FF"/>
</gradient>
</aapt:attr>
</path>
<path
android:pathData="M374.18,165.24C353.98,151.42 329.76,144.72 305.33,146.2C280.89,147.69 257.66,157.28 239.29,173.46C220.93,189.64 208.48,211.47 203.92,235.52C199.37,259.56 202.96,284.44 214.13,306.21C225.3,327.99 243.42,345.42 265.61,355.74C287.8,366.06 312.81,368.69 336.66,363.2C360.51,357.72 381.86,344.44 397.31,325.47C410.61,309.14 418.9,289.41 421.3,268.64C421.94,263.06 417.39,258.44 411.78,258.44H326.94"
android:strokeWidth="40"
android:fillColor="#00000000"
android:strokeColor="#ffffff"
android:strokeLineCap="round"/>
</group>
</vector>

View File

@ -1,6 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<adaptive-icon xmlns:android="http://schemas.android.com/apk/res/android">
<background android:drawable="@color/ic_microg_launcher_background"/>
<foreground android:drawable="@drawable/ic_microg_launcher_foreground"/>
<monochrome android:drawable="@drawable/ic_app_icons_themed_microg" />
</adaptive-icon>

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.3 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.1 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 4.7 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 7.4 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 11 KiB

View File

@ -1,4 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<resources>
<color name="ic_microg_launcher_background">#000000</color>
</resources>

View File

@ -1,16 +0,0 @@
<vector xmlns:android="http://schemas.android.com/apk/res/android"
android:width="108dp"
android:height="108dp"
android:viewportWidth="108"
android:viewportHeight="108">
<path
android:pathData="M31,45.68C31,40.55 36.34,37.34 40.62,39.9L52.79,47.22C57.07,49.79 57.07,56.21 52.79,58.78L40.62,66.1C36.34,68.66 31,65.45 31,60.32L31,45.68Z"
android:fillColor="#000000"
android:fillAlpha="0.5"/>
<path
android:pathData="M70.26,41.62C67.42,39.74 64,38.82 60.56,39.03C57.12,39.23 53.84,40.54 51.25,42.74C48.67,44.95 46.91,47.93 46.27,51.21C45.63,54.49 46.14,57.88 47.71,60.85C49.28,63.82 51.84,66.19 54.96,67.6C58.09,69.01 61.61,69.37 64.97,68.62C68.34,67.87 71.34,66.06 73.52,63.47C75.03,61.68 76.08,59.59 76.61,57.37C77,55.73 75.61,54.33 73.93,54.33H63.61"
android:strokeWidth="6"
android:fillColor="#00000000"
android:strokeColor="#000000"
android:strokeLineCap="round"/>
</vector>

View File

@ -1,33 +0,0 @@
<vector xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:aapt="http://schemas.android.com/aapt"
android:width="108dp"
android:height="108dp"
android:viewportWidth="512"
android:viewportHeight="512">
<group android:scaleX="0.6864"
android:scaleY="0.6864"
android:translateX="75.400536"
android:translateY="80.2816">
<path
android:pathData="M90,203.21C90,166.15 130.18,142.99 162.32,161.52L253.9,214.31C286.04,232.84 286.04,279.16 253.89,297.69L162.32,350.48C130.18,369.01 90,345.85 90,308.79L90,203.21Z">
<aapt:attr name="android:fillColor">
<gradient
android:startX="90"
android:startY="256"
android:endX="277.86"
android:endY="255.63"
android:type="linear">
<item android:offset="0" android:color="#FFFF8D44"/>
<item android:offset="0.58" android:color="#FFFF275D"/>
<item android:offset="1" android:color="#FF9F1069"/>
</gradient>
</aapt:attr>
</path>
<path
android:pathData="M374.18,165.24C353.98,151.42 329.76,144.72 305.33,146.2C280.89,147.69 257.66,157.28 239.29,173.46C220.93,189.64 208.48,211.47 203.92,235.52C199.37,259.56 202.96,284.44 214.13,306.21C225.3,327.99 243.42,345.42 265.61,355.74C287.8,366.06 312.81,368.69 336.66,363.2C360.51,357.72 381.86,344.44 397.31,325.47C410.61,309.14 418.9,289.41 421.3,268.64C421.94,263.06 417.39,258.44 411.78,258.44H326.94"
android:strokeWidth="40"
android:fillColor="#00000000"
android:strokeColor="#ffffff"
android:strokeLineCap="round"/>
</group>
</vector>

View File

@ -1,6 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<adaptive-icon xmlns:android="http://schemas.android.com/apk/res/android">
<background android:drawable="@color/ic_microg_launcher_background"/>
<foreground android:drawable="@drawable/ic_microg_launcher_foreground"/>
<monochrome android:drawable="@drawable/ic_app_icons_themed_microg" />
</adaptive-icon>

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.3 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.1 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 4.8 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 7.5 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 11 KiB

View File

@ -1,4 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<resources>
<color name="ic_microg_launcher_background">#000000</color>
</resources>

View File

@ -1,258 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<resources>
<style name="AppTheme" parent="@style/Theme.Material3.DynamicColors.DayNight" />
<style name="Theme.LoginBlue.Base" parent="@style/Theme.Material3.DayNight.NoActionBar">
<item name="colorAccent">@color/login_blue_theme_accent</item>
<item name="colorPrimary">@color/login_blue_theme_primary</item>
<item name="colorPrimaryDark">@color/login_blue_theme_primary_dark</item>
</style>
<style name="Theme.Material3.DynamicColors.Dark" parent="@style/Theme.Material3.Dark">
<item name="android:colorBackground">@color/m3_sys_color_dynamic_dark_background</item>
<item name="android:textColorPrimary">@color/m3_dynamic_dark_default_color_primary_text</item>
<item name="android:textColorPrimaryDisableOnly">@color/m3_dynamic_dark_primary_text_disable_only</item>
<item name="android:textColorSecondary">@color/m3_dynamic_dark_default_color_secondary_text</item>
<item name="android:textColorPrimaryInverse">@color/m3_dynamic_default_color_primary_text</item>
<item name="android:textColorSecondaryInverse">@color/m3_dynamic_default_color_secondary_text</item>
<item name="android:textColorHintInverse">@color/m3_dynamic_hint_foreground</item>
<item name="android:textColorHighlight">@color/m3_dynamic_dark_highlighted_text</item>
<item name="android:textColorHint">@color/m3_dynamic_dark_hint_foreground</item>
<item name="android:textColorTertiary">@color/m3_dynamic_dark_default_color_secondary_text</item>
<item name="android:textColorTertiaryInverse">@color/m3_dynamic_default_color_secondary_text</item>
<item name="android:textColorPrimaryInverseDisableOnly">@color/m3_dynamic_primary_text_disable_only</item>
<item name="android:textColorAlertDialogListItem">@color/m3_dynamic_dark_default_color_primary_text</item>
<item name="android:textColorHighlightInverse">@color/m3_dynamic_highlighted_text</item>
<item name="colorError">@color/m3_sys_color_dark_error</item>
<item name="colorErrorContainer">@color/m3_sys_color_dark_error_container</item>
<item name="colorOnBackground">@android:color/system_neutral1_900</item>
<item name="colorOnPrimary">@android:color/system_accent1_0</item>
<item name="colorOnSecondary">@android:color/system_accent2_0</item>
<item name="colorOnTertiary">@android:color/system_accent3_0</item>
<item name="colorPrimary">@android:color/system_accent1_600</item>
<item name="colorPrimaryDark">@android:color/system_neutral1_900</item>
<item name="colorSecondary">@android:color/system_accent2_600</item>
<item name="colorTertiary">@android:color/system_accent3_600</item>
<item name="colorOnError">@color/m3_sys_color_dark_on_error</item>
<item name="colorOnErrorContainer">@color/m3_sys_color_dark_on_error_container</item>
<item name="colorOnPrimaryContainer">@color/m3_sys_color_dynamic_dark_on_primary_container</item>
<item name="colorOnPrimaryFixed">@color/m3_sys_color_dynamic_on_primary_fixed</item>
<item name="colorOnPrimaryFixedVariant">@color/m3_sys_color_dynamic_on_primary_fixed_variant</item>
<item name="colorOnSecondaryContainer">@color/m3_sys_color_dynamic_dark_on_secondary_container</item>
<item name="colorOnSecondaryFixed">@color/m3_sys_color_dynamic_on_secondary_fixed</item>
<item name="colorOnSecondaryFixedVariant">@color/m3_sys_color_dynamic_on_secondary_fixed_variant</item>
<item name="colorOnSurface">@color/m3_sys_color_dynamic_dark_on_surface</item>
<item name="colorOnSurfaceInverse">@color/m3_sys_color_dynamic_dark_inverse_on_surface</item>
<item name="colorOnSurfaceVariant">@color/m3_sys_color_dynamic_dark_on_surface_variant</item>
<item name="colorOnTertiaryContainer">@color/m3_sys_color_dynamic_dark_on_tertiary_container</item>
<item name="colorOnTertiaryFixed">@color/m3_sys_color_dynamic_on_tertiary_fixed</item>
<item name="colorOnTertiaryFixedVariant">@color/m3_sys_color_dynamic_on_tertiary_fixed_variant</item>
<item name="colorOutline">@color/m3_sys_color_dynamic_dark_outline</item>
<item name="colorPrimaryContainer">@color/m3_sys_color_dynamic_dark_primary_container</item>
<item name="colorPrimaryFixed">@color/m3_sys_color_dynamic_primary_fixed</item>
<item name="colorPrimaryFixedDim">@color/m3_sys_color_dynamic_primary_fixed_dim</item>
<item name="colorPrimaryInverse">@color/m3_sys_color_dynamic_dark_inverse_primary</item>
<item name="colorSecondaryContainer">@color/m3_sys_color_dynamic_dark_secondary_container</item>
<item name="colorSecondaryFixed">@color/m3_sys_color_dynamic_secondary_fixed</item>
<item name="colorSecondaryFixedDim">@color/m3_sys_color_dynamic_secondary_fixed_dim</item>
<item name="colorSurface">@color/m3_sys_color_dynamic_dark_surface</item>
<item name="colorSurfaceBright">@color/m3_sys_color_dynamic_dark_surface_bright</item>
<item name="colorSurfaceContainer">@color/m3_sys_color_dynamic_dark_surface_container</item>
<item name="colorSurfaceContainerHigh">@color/m3_sys_color_dynamic_dark_surface_container_high</item>
<item name="colorSurfaceContainerHighest">@color/m3_sys_color_dynamic_dark_surface_container_highest</item>
<item name="colorSurfaceContainerLow">@color/m3_sys_color_dynamic_dark_surface_container_low</item>
<item name="colorSurfaceContainerLowest">@color/m3_sys_color_dynamic_dark_surface_container_lowest</item>
<item name="colorSurfaceDim">@color/m3_sys_color_dynamic_dark_surface_dim</item>
<item name="colorSurfaceInverse">@color/m3_sys_color_dynamic_dark_inverse_surface</item>
<item name="colorSurfaceVariant">@color/m3_sys_color_dynamic_dark_surface_variant</item>
<item name="colorTertiaryContainer">@color/m3_sys_color_dynamic_dark_tertiary_container</item>
<item name="colorTertiaryFixed">@color/m3_sys_color_dynamic_tertiary_fixed</item>
<item name="colorTertiaryFixedDim">@color/m3_sys_color_dynamic_tertiary_fixed_dim</item>
<item name="isMaterial3DynamicColorApplied">true</item>
</style>
<style name="Theme.Material3.DynamicColors.Light" parent="@style/Theme.Material3.Light">
<item name="colorPrimaryDark">@android:color/transparent</item>
<item name="android:windowLightStatusBar">true</item>
<item name="android:colorBackground">@color/m3_sys_color_dynamic_light_background</item>
<item name="android:textColorPrimary">@color/m3_dynamic_default_color_primary_text</item>
<item name="android:textColorPrimaryDisableOnly">@color/m3_dynamic_primary_text_disable_only</item>
<item name="android:textColorSecondary">@color/m3_dynamic_default_color_secondary_text</item>
<item name="android:textColorPrimaryInverse">@color/m3_dynamic_dark_default_color_primary_text</item>
<item name="android:textColorSecondaryInverse">@color/m3_dynamic_dark_default_color_secondary_text</item>
<item name="android:textColorHintInverse">@color/m3_dynamic_dark_hint_foreground</item>
<item name="android:textColorHighlight">@color/m3_dynamic_highlighted_text</item>
<item name="android:textColorHint">@color/m3_dynamic_hint_foreground</item>
<item name="android:textColorTertiary">@color/m3_dynamic_default_color_secondary_text</item>
<item name="android:textColorTertiaryInverse">@color/m3_dynamic_dark_default_color_secondary_text</item>
<item name="android:textColorPrimaryInverseDisableOnly">@color/m3_dynamic_dark_primary_text_disable_only</item>
<item name="android:textColorAlertDialogListItem">@color/m3_dynamic_default_color_primary_text</item>
<item name="android:textColorHighlightInverse">@color/m3_dynamic_dark_highlighted_text</item>
<item name="colorError">@color/m3_sys_color_light_error</item>
<item name="colorErrorContainer">@color/m3_sys_color_light_error_container</item>
<item name="colorOnBackground">@color/m3_sys_color_dynamic_light_on_background</item>
<item name="colorOnError">@color/m3_sys_color_light_on_error</item>
<item name="colorOnErrorContainer">@color/m3_sys_color_light_on_error_container</item>
<item name="colorOnPrimary">@color/m3_sys_color_dynamic_light_on_primary</item>
<item name="colorOnPrimaryContainer">@color/m3_sys_color_dynamic_light_on_primary_container</item>
<item name="colorOnPrimaryFixed">@color/m3_sys_color_dynamic_on_primary_fixed</item>
<item name="colorOnPrimaryFixedVariant">@color/m3_sys_color_dynamic_on_primary_fixed_variant</item>
<item name="colorOnSecondary">@color/m3_sys_color_dynamic_light_on_secondary</item>
<item name="colorOnSecondaryContainer">@color/m3_sys_color_dynamic_light_on_secondary_container</item>
<item name="colorOnSecondaryFixed">@color/m3_sys_color_dynamic_on_secondary_fixed</item>
<item name="colorOnSecondaryFixedVariant">@color/m3_sys_color_dynamic_on_secondary_fixed_variant</item>
<item name="colorOnSurface">@color/m3_sys_color_dynamic_light_on_surface</item>
<item name="colorOnSurfaceInverse">@color/m3_sys_color_dynamic_light_inverse_on_surface</item>
<item name="colorOnSurfaceVariant">@color/m3_sys_color_dynamic_light_on_surface_variant</item>
<item name="colorOnTertiary">@color/m3_sys_color_dynamic_light_on_tertiary</item>
<item name="colorOnTertiaryContainer">@color/m3_sys_color_dynamic_light_on_tertiary_container</item>
<item name="colorOnTertiaryFixed">@color/m3_sys_color_dynamic_on_tertiary_fixed</item>
<item name="colorOnTertiaryFixedVariant">@color/m3_sys_color_dynamic_on_tertiary_fixed_variant</item>
<item name="colorOutline">@color/m3_sys_color_dynamic_light_outline</item>
<item name="colorPrimary">@color/m3_sys_color_dynamic_light_primary</item>
<item name="colorPrimaryContainer">@color/m3_sys_color_dynamic_light_primary_container</item>
<item name="colorPrimaryFixed">@color/m3_sys_color_dynamic_primary_fixed</item>
<item name="colorPrimaryFixedDim">@color/m3_sys_color_dynamic_primary_fixed_dim</item>
<item name="colorPrimaryInverse">@color/m3_sys_color_dynamic_light_inverse_primary</item>
<item name="colorSecondary">@color/m3_sys_color_dynamic_light_secondary</item>
<item name="colorSecondaryContainer">@color/m3_sys_color_dynamic_light_secondary_container</item>
<item name="colorSecondaryFixed">@color/m3_sys_color_dynamic_secondary_fixed</item>
<item name="colorSecondaryFixedDim">@color/m3_sys_color_dynamic_secondary_fixed_dim</item>
<item name="colorSurface">@color/m3_sys_color_dynamic_light_surface</item>
<item name="colorSurfaceBright">@color/m3_sys_color_dynamic_light_surface_bright</item>
<item name="colorSurfaceContainer">@color/m3_sys_color_dynamic_light_surface_container</item>
<item name="colorSurfaceContainerHigh">@color/m3_sys_color_dynamic_light_surface_container_high</item>
<item name="colorSurfaceContainerHighest">@color/m3_sys_color_dynamic_light_surface_container_highest</item>
<item name="colorSurfaceContainerLow">@color/m3_sys_color_dynamic_light_surface_container_low</item>
<item name="colorSurfaceContainerLowest">@color/m3_sys_color_dynamic_light_surface_container_lowest</item>
<item name="colorSurfaceDim">@color/m3_sys_color_dynamic_light_surface_dim</item>
<item name="colorSurfaceInverse">@color/m3_sys_color_dynamic_light_inverse_surface</item>
<item name="colorSurfaceVariant">@color/m3_sys_color_dynamic_light_surface_variant</item>
<item name="colorTertiary">@color/m3_sys_color_dynamic_light_tertiary</item>
<item name="colorTertiaryContainer">@color/m3_sys_color_dynamic_light_tertiary_container</item>
<item name="colorTertiaryFixed">@color/m3_sys_color_dynamic_tertiary_fixed</item>
<item name="colorTertiaryFixedDim">@color/m3_sys_color_dynamic_tertiary_fixed_dim</item>
<item name="isMaterial3DynamicColorApplied">true</item>
</style>
<style name="ThemeOverlay.Material3.DynamicColors.Dark" parent="">
<item name="android:colorBackground">@color/m3_sys_color_dynamic_dark_background</item>
<item name="android:textColorPrimary">@color/m3_dynamic_dark_default_color_primary_text</item>
<item name="android:textColorPrimaryDisableOnly">@color/m3_dynamic_dark_primary_text_disable_only</item>
<item name="android:textColorSecondary">@color/m3_dynamic_dark_default_color_secondary_text</item>
<item name="android:textColorPrimaryInverse">@color/m3_dynamic_default_color_primary_text</item>
<item name="android:textColorSecondaryInverse">@color/m3_dynamic_default_color_secondary_text</item>
<item name="android:textColorHintInverse">@color/m3_dynamic_hint_foreground</item>
<item name="android:textColorHighlight">@color/m3_dynamic_dark_highlighted_text</item>
<item name="android:textColorHint">@color/m3_dynamic_dark_hint_foreground</item>
<item name="android:textColorTertiary">@color/m3_dynamic_dark_default_color_secondary_text</item>
<item name="android:textColorTertiaryInverse">@color/m3_dynamic_default_color_secondary_text</item>
<item name="android:textColorPrimaryInverseDisableOnly">@color/m3_dynamic_primary_text_disable_only</item>
<item name="android:textColorAlertDialogListItem">@color/m3_dynamic_dark_default_color_primary_text</item>
<item name="android:textColorHighlightInverse">@color/m3_dynamic_highlighted_text</item>
<item name="colorError">@color/m3_sys_color_dark_error</item>
<item name="colorErrorContainer">@color/m3_sys_color_dark_error_container</item>
<item name="colorOnBackground">@color/m3_sys_color_dynamic_dark_on_background</item>
<item name="colorOnError">@color/m3_sys_color_dark_on_error</item>
<item name="colorOnErrorContainer">@color/m3_sys_color_dark_on_error_container</item>
<item name="colorOnPrimary">@color/m3_sys_color_dynamic_dark_on_primary</item>
<item name="colorOnPrimaryContainer">@color/m3_sys_color_dynamic_dark_on_primary_container</item>
<item name="colorOnPrimaryFixed">@color/m3_sys_color_dynamic_on_primary_fixed</item>
<item name="colorOnPrimaryFixedVariant">@color/m3_sys_color_dynamic_on_primary_fixed_variant</item>
<item name="colorOnSecondary">@color/m3_sys_color_dynamic_dark_on_secondary</item>
<item name="colorOnSecondaryContainer">@color/m3_sys_color_dynamic_dark_on_secondary_container</item>
<item name="colorOnSecondaryFixed">@color/m3_sys_color_dynamic_on_secondary_fixed</item>
<item name="colorOnSecondaryFixedVariant">@color/m3_sys_color_dynamic_on_secondary_fixed_variant</item>
<item name="colorOnSurface">@color/m3_sys_color_dynamic_dark_on_surface</item>
<item name="colorOnSurfaceInverse">@color/m3_sys_color_dynamic_dark_inverse_on_surface</item>
<item name="colorOnSurfaceVariant">@color/m3_sys_color_dynamic_dark_on_surface_variant</item>
<item name="colorOnTertiary">@color/m3_sys_color_dynamic_dark_on_tertiary</item>
<item name="colorOnTertiaryContainer">@color/m3_sys_color_dynamic_dark_on_tertiary_container</item>
<item name="colorOnTertiaryFixed">@color/m3_sys_color_dynamic_on_tertiary_fixed</item>
<item name="colorOnTertiaryFixedVariant">@color/m3_sys_color_dynamic_on_tertiary_fixed_variant</item>
<item name="colorOutline">@color/m3_sys_color_dynamic_dark_outline</item>
<item name="colorOutlineVariant">@color/m3_sys_color_dynamic_dark_outline_variant</item>
<item name="colorPrimary">@color/m3_sys_color_dynamic_dark_primary</item>
<item name="colorPrimaryContainer">@color/m3_sys_color_dynamic_dark_primary_container</item>
<item name="colorPrimaryFixed">@color/m3_sys_color_dynamic_primary_fixed</item>
<item name="colorPrimaryFixedDim">@color/m3_sys_color_dynamic_primary_fixed_dim</item>
<item name="colorPrimaryInverse">@color/m3_sys_color_dynamic_dark_inverse_primary</item>
<item name="colorSecondary">@color/m3_sys_color_dynamic_dark_secondary</item>
<item name="colorSecondaryContainer">@color/m3_sys_color_dynamic_dark_secondary_container</item>
<item name="colorSecondaryFixed">@color/m3_sys_color_dynamic_secondary_fixed</item>
<item name="colorSecondaryFixedDim">@color/m3_sys_color_dynamic_secondary_fixed_dim</item>
<item name="colorSurface">@color/m3_sys_color_dynamic_dark_surface</item>
<item name="colorSurfaceBright">@color/m3_sys_color_dynamic_dark_surface_bright</item>
<item name="colorSurfaceContainer">@color/m3_sys_color_dynamic_dark_surface_container</item>
<item name="colorSurfaceContainerHigh">@color/m3_sys_color_dynamic_dark_surface_container_high</item>
<item name="colorSurfaceContainerHighest">@color/m3_sys_color_dynamic_dark_surface_container_highest</item>
<item name="colorSurfaceContainerLow">@color/m3_sys_color_dynamic_dark_surface_container_low</item>
<item name="colorSurfaceContainerLowest">@color/m3_sys_color_dynamic_dark_surface_container_lowest</item>
<item name="colorSurfaceDim">@color/m3_sys_color_dynamic_dark_surface_dim</item>
<item name="colorSurfaceInverse">@color/m3_sys_color_dynamic_dark_inverse_surface</item>
<item name="colorSurfaceVariant">@color/m3_sys_color_dynamic_dark_surface_variant</item>
<item name="colorTertiary">@color/m3_sys_color_dynamic_dark_tertiary</item>
<item name="colorTertiaryContainer">@color/m3_sys_color_dynamic_dark_tertiary_container</item>
<item name="colorTertiaryFixed">@color/m3_sys_color_dynamic_tertiary_fixed</item>
<item name="colorTertiaryFixedDim">@color/m3_sys_color_dynamic_tertiary_fixed_dim</item>
<item name="isMaterial3DynamicColorApplied">true</item>
</style>
<style name="ThemeOverlay.Material3.DynamicColors.Light" parent="">
<item name="android:colorBackground">@color/m3_sys_color_dynamic_light_background</item>
<item name="android:textColorPrimary">@color/m3_dynamic_default_color_primary_text</item>
<item name="android:textColorPrimaryDisableOnly">@color/m3_dynamic_primary_text_disable_only</item>
<item name="android:textColorSecondary">@color/m3_dynamic_default_color_secondary_text</item>
<item name="android:textColorPrimaryInverse">@color/m3_dynamic_dark_default_color_primary_text</item>
<item name="android:textColorSecondaryInverse">@color/m3_dynamic_dark_default_color_secondary_text</item>
<item name="android:textColorHintInverse">@color/m3_dynamic_dark_hint_foreground</item>
<item name="android:textColorHighlight">@color/m3_dynamic_highlighted_text</item>
<item name="android:textColorHint">@color/m3_dynamic_hint_foreground</item>
<item name="android:textColorTertiary">@color/m3_dynamic_default_color_secondary_text</item>
<item name="android:textColorTertiaryInverse">@color/m3_dynamic_dark_default_color_secondary_text</item>
<item name="android:textColorPrimaryInverseDisableOnly">@color/m3_dynamic_dark_primary_text_disable_only</item>
<item name="android:textColorAlertDialogListItem">@color/m3_dynamic_default_color_primary_text</item>
<item name="android:textColorHighlightInverse">@color/m3_dynamic_dark_highlighted_text</item>
<item name="colorError">@color/m3_sys_color_light_error</item>
<item name="colorErrorContainer">@color/m3_sys_color_light_error_container</item>
<item name="colorOnBackground">@color/m3_sys_color_dynamic_light_on_background</item>
<item name="colorOnError">@color/m3_sys_color_light_on_error</item>
<item name="colorOnErrorContainer">@color/m3_sys_color_light_on_error_container</item>
<item name="colorOnPrimary">@color/m3_sys_color_dynamic_light_on_primary</item>
<item name="colorOnPrimaryContainer">@color/m3_sys_color_dynamic_light_on_primary_container</item>
<item name="colorOnPrimaryFixed">@color/m3_sys_color_dynamic_on_primary_fixed</item>
<item name="colorOnPrimaryFixedVariant">@color/m3_sys_color_dynamic_on_primary_fixed_variant</item>
<item name="colorOnSecondary">@color/m3_sys_color_dynamic_light_on_secondary</item>
<item name="colorOnSecondaryContainer">@color/m3_sys_color_dynamic_light_on_secondary_container</item>
<item name="colorOnSecondaryFixed">@color/m3_sys_color_dynamic_on_secondary_fixed</item>
<item name="colorOnSecondaryFixedVariant">@color/m3_sys_color_dynamic_on_secondary_fixed_variant</item>
<item name="colorOnSurface">@color/m3_sys_color_dynamic_light_on_surface</item>
<item name="colorOnSurfaceInverse">@color/m3_sys_color_dynamic_light_inverse_on_surface</item>
<item name="colorOnSurfaceVariant">@color/m3_sys_color_dynamic_light_on_surface_variant</item>
<item name="colorOnTertiary">@color/m3_sys_color_dynamic_light_on_tertiary</item>
<item name="colorOnTertiaryContainer">@color/m3_sys_color_dynamic_light_on_tertiary_container</item>
<item name="colorOnTertiaryFixed">@color/m3_sys_color_dynamic_on_tertiary_fixed</item>
<item name="colorOnTertiaryFixedVariant">@color/m3_sys_color_dynamic_on_tertiary_fixed_variant</item>
<item name="colorOutline">@color/m3_sys_color_dynamic_light_outline</item>
<item name="colorOutlineVariant">@color/m3_sys_color_dynamic_light_outline_variant</item>
<item name="colorPrimary">@color/m3_sys_color_dynamic_light_primary</item>
<item name="colorPrimaryContainer">@color/m3_sys_color_dynamic_light_primary_container</item>
<item name="colorPrimaryFixed">@color/m3_sys_color_dynamic_primary_fixed</item>
<item name="colorPrimaryFixedDim">@color/m3_sys_color_dynamic_primary_fixed_dim</item>
<item name="colorPrimaryInverse">@color/m3_sys_color_dynamic_light_inverse_primary</item>
<item name="colorSecondary">@color/m3_sys_color_dynamic_light_secondary</item>
<item name="colorSecondaryContainer">@color/m3_sys_color_dynamic_light_secondary_container</item>
<item name="colorSecondaryFixed">@color/m3_sys_color_dynamic_secondary_fixed</item>
<item name="colorSecondaryFixedDim">@color/m3_sys_color_dynamic_secondary_fixed_dim</item>
<item name="colorSurface">@color/m3_sys_color_dynamic_light_surface</item>
<item name="colorSurfaceBright">@color/m3_sys_color_dynamic_light_surface_bright</item>
<item name="colorSurfaceContainer">@color/m3_sys_color_dynamic_light_surface_container</item>
<item name="colorSurfaceContainerHigh">@color/m3_sys_color_dynamic_light_surface_container_high</item>
<item name="colorSurfaceContainerHighest">@color/m3_sys_color_dynamic_light_surface_container_highest</item>
<item name="colorSurfaceContainerLow">@color/m3_sys_color_dynamic_light_surface_container_low</item>
<item name="colorSurfaceContainerLowest">@color/m3_sys_color_dynamic_light_surface_container_lowest</item>
<item name="colorSurfaceDim">@color/m3_sys_color_dynamic_light_surface_dim</item>
<item name="colorSurfaceInverse">@color/m3_sys_color_dynamic_light_inverse_surface</item>
<item name="colorSurfaceVariant">@color/m3_sys_color_dynamic_light_surface_variant</item>
<item name="colorTertiary">@color/m3_sys_color_dynamic_light_tertiary</item>
<item name="colorTertiaryContainer">@color/m3_sys_color_dynamic_light_tertiary_container</item>
<item name="colorTertiaryFixed">@color/m3_sys_color_dynamic_tertiary_fixed</item>
<item name="colorTertiaryFixedDim">@color/m3_sys_color_dynamic_tertiary_fixed_dim</item>
<item name="isMaterial3DynamicColorApplied">true</item>
</style>
</resources>