From fc12f480345a35bd83e3a5166c634e68c6dd3f0d Mon Sep 17 00:00:00 2001 From: LoveSy Date: Sat, 2 Apr 2022 14:37:40 +0800 Subject: [PATCH] Use gradle plugin to generate colors (#1801) --- app/build.gradle.kts | 44 +- .../org/lsposed/manager/util/ThemeUtil.java | 40 +- .../main/res/values-night/colors_custom.xml | 535 ---------------- app/src/main/res/values-night/styles.xml | 20 + app/src/main/res/values/colors_custom.xml | 555 ----------------- app/src/main/res/values/themes_custom.xml | 570 +----------------- build.gradle.kts | 4 +- magisk-loader/build.gradle.kts | 2 +- settings.gradle.kts | 1 + 9 files changed, 105 insertions(+), 1666 deletions(-) delete mode 100644 app/src/main/res/values-night/colors_custom.xml delete mode 100644 app/src/main/res/values/colors_custom.xml diff --git a/app/build.gradle.kts b/app/build.gradle.kts index ea28bd4f..af3f4190 100644 --- a/app/build.gradle.kts +++ b/app/build.gradle.kts @@ -24,6 +24,7 @@ plugins { id("com.android.application") id("androidx.navigation.safeargs") id("dev.rikka.tools.autoresconfig") + id("dev.rikka.tools.materialthemebuilder") } val defaultManagerPackageName: String by rootProject.extra @@ -99,6 +100,47 @@ autoResConfig { generatedArrayFirstItem.set("SYSTEM") } +materialThemeBuilder { +// fun Theme.emplace() { +// lightThemeFormat.set("ThemeOverlay.Light.%s") +// darkThemeFormat.set("ThemeOverlay.Dark.%s") +// +// themes.add(this) +// } + themes { + for ((name, color) in listOf( + "Red" to "F44336", + "Pink" to "E91E63", + "Purple" to "9C27B0", + "DeepPurple" to "673AB7", + "Indigo" to "3F51B5", + "Blue" to "2196F3", + "LightBlue" to "03A9F4", + "Cyan" to "00BCD4", + "Teal" to "009688", + "Green" to "4FAF50", + "LightGreen" to "8BC3A4", + "Lime" to "CDDC39", + "Yellow" to "FFEB3B", + "Amber" to "FFC107", + "Orange" to "FF9800", + "DeepOrange" to "FF5722", + "Brown" to "795548", + "BlueGrey" to "607D8F", + "Sakura" to "FF9CA8" + )) { + create("Material$name") { + lightThemeFormat = "ThemeOverlay.Light.%s" + darkThemeFormat = "ThemeOverlay.Dark.%s" + primaryColor = "#$color" + } + } + } + // Add Material Design 3 color tokens (such as palettePrimary100) in generated theme + // rikka.material >= 2.0.0 provides such attributes + generatePalette = false +} + dependencies { val glideVersion = "4.13.1" val navVersion: String by project @@ -114,7 +156,7 @@ dependencies { implementation("androidx.recyclerview:recyclerview:1.2.1") implementation("androidx.swiperefreshlayout:swiperefreshlayout:1.2.0-alpha01") implementation("com.github.bumptech.glide:glide:$glideVersion") - implementation("com.google.android.material:material:1.6.0-alpha03") + implementation("com.google.android.material:material:1.6.0-beta01") implementation("com.google.code.gson:gson:2.9.0") implementation(platform("com.squareup.okhttp3:okhttp-bom:4.9.3")) implementation("com.squareup.okhttp3:okhttp") diff --git a/app/src/main/java/org/lsposed/manager/util/ThemeUtil.java b/app/src/main/java/org/lsposed/manager/util/ThemeUtil.java index 13460c9a..41b8a349 100644 --- a/app/src/main/java/org/lsposed/manager/util/ThemeUtil.java +++ b/app/src/main/java/org/lsposed/manager/util/ThemeUtil.java @@ -45,25 +45,25 @@ public class ThemeUtil { static { preferences = App.getPreferences(); - colorThemeMap.put("SAKURA", R.style.ThemeOverlay_sakura); - colorThemeMap.put("MATERIAL_RED", R.style.ThemeOverlay_material_red); - colorThemeMap.put("MATERIAL_PINK", R.style.ThemeOverlay_material_pink); - colorThemeMap.put("MATERIAL_PURPLE", R.style.ThemeOverlay_material_purple); - colorThemeMap.put("MATERIAL_DEEP_PURPLE", R.style.ThemeOverlay_material_deep_purple); - colorThemeMap.put("MATERIAL_INDIGO", R.style.ThemeOverlay_material_indigo); - colorThemeMap.put("MATERIAL_BLUE", R.style.ThemeOverlay_material_blue); - colorThemeMap.put("MATERIAL_LIGHT_BLUE", R.style.ThemeOverlay_material_light_blue); - colorThemeMap.put("MATERIAL_CYAN", R.style.ThemeOverlay_material_cyan); - colorThemeMap.put("MATERIAL_TEAL", R.style.ThemeOverlay_material_teal); - colorThemeMap.put("MATERIAL_GREEN", R.style.ThemeOverlay_material_green); - colorThemeMap.put("MATERIAL_LIGHT_GREEN", R.style.ThemeOverlay_material_light_green); - colorThemeMap.put("MATERIAL_LIME", R.style.ThemeOverlay_material_lime); - colorThemeMap.put("MATERIAL_YELLOW", R.style.ThemeOverlay_material_yellow); - colorThemeMap.put("MATERIAL_AMBER", R.style.ThemeOverlay_material_amber); - colorThemeMap.put("MATERIAL_ORANGE", R.style.ThemeOverlay_material_orange); - colorThemeMap.put("MATERIAL_DEEP_ORANGE", R.style.ThemeOverlay_material_deep_orange); - colorThemeMap.put("MATERIAL_BROWN", R.style.ThemeOverlay_material_brown); - colorThemeMap.put("MATERIAL_BLUE_GREY", R.style.ThemeOverlay_material_blue_grey); + colorThemeMap.put("SAKURA", R.style.ThemeOverlay_MaterialSakura); + colorThemeMap.put("MATERIAL_RED", R.style.ThemeOverlay_MaterialRed); + colorThemeMap.put("MATERIAL_PINK", R.style.ThemeOverlay_MaterialPink); + colorThemeMap.put("MATERIAL_PURPLE", R.style.ThemeOverlay_MaterialPurple); + colorThemeMap.put("MATERIAL_DEEP_PURPLE", R.style.ThemeOverlay_MaterialDeepPurple); + colorThemeMap.put("MATERIAL_INDIGO", R.style.ThemeOverlay_MaterialIndigo); + colorThemeMap.put("MATERIAL_BLUE", R.style.ThemeOverlay_MaterialBlue); + colorThemeMap.put("MATERIAL_LIGHT_BLUE", R.style.ThemeOverlay_MaterialLightBlue); + colorThemeMap.put("MATERIAL_CYAN", R.style.ThemeOverlay_MaterialCyan); + colorThemeMap.put("MATERIAL_TEAL", R.style.ThemeOverlay_MaterialTeal); + colorThemeMap.put("MATERIAL_GREEN", R.style.ThemeOverlay_MaterialGreen); + colorThemeMap.put("MATERIAL_LIGHT_GREEN", R.style.ThemeOverlay_MaterialLightGreen); + colorThemeMap.put("MATERIAL_LIME", R.style.ThemeOverlay_MaterialLime); + colorThemeMap.put("MATERIAL_YELLOW", R.style.ThemeOverlay_MaterialYellow); + colorThemeMap.put("MATERIAL_AMBER", R.style.ThemeOverlay_MaterialAmber); + colorThemeMap.put("MATERIAL_ORANGE", R.style.ThemeOverlay_MaterialOrange); + colorThemeMap.put("MATERIAL_DEEP_ORANGE", R.style.ThemeOverlay_MaterialDeepOrange); + colorThemeMap.put("MATERIAL_BROWN", R.style.ThemeOverlay_MaterialBrown); + colorThemeMap.put("MATERIAL_BLUE_GREY", R.style.ThemeOverlay_MaterialBlueGrey); } private static final String THEME_DEFAULT = "DEFAULT"; @@ -107,7 +107,7 @@ public class ThemeUtil { public static int getColorThemeStyleRes() { Integer theme = colorThemeMap.get(getColorTheme()); if (theme == null) { - return R.style.ThemeOverlay_material_blue; + return R.style.ThemeOverlay_MaterialBlue; } return theme; } diff --git a/app/src/main/res/values-night/colors_custom.xml b/app/src/main/res/values-night/colors_custom.xml deleted file mode 100644 index be11f010..00000000 --- a/app/src/main/res/values-night/colors_custom.xml +++ /dev/null @@ -1,535 +0,0 @@ - - - - - - #FFB4A8 - #680001 - #940002 - #FFDAD3 - #E7BCB6 - #442A26 - #5D3F3B - #FFDAD4 - #DFC38C - #3F2E04 - #574419 - #FCDFA6 - #FFB4A9 - #930006 - #680003 - #FFDAD4 - #211A19 - #EDE0DE - #211A19 - #EDE0DE - #534341 - #D8C2BF - #A08C89 - #211A19 - #EDE0DE - #BC1714 - - #FFB2C0 - #670024 - #900036 - #FFD9DF - #E5BDC2 - #43292D - #5C3F43 - #FFD9DE - #EBBF90 - #452B08 - #5F411C - #FFDDB8 - #FFB4A9 - #930006 - #680003 - #FFDAD4 - #201A1B - #ECE0E0 - #201A1B - #ECE0E0 - #524345 - #D6C1C3 - #9F8C8E - #201A1B - #ECE0E0 - #BC0049 - - #FBAAFF - #570068 - #7B0091 - #FFD5FF - #D7BFD5 - #3B2B3B - #534153 - #F5DBF2 - #F6B8AE - #4C251F - #663B34 - #FFDAD2 - #FFB4A9 - #930006 - #680003 - #FFDAD4 - #1E1A1D - #E9E0E5 - #1E1A1D - #E9E0E5 - #4D444C - #D0C3CC - #998E96 - #1E1A1D - #E9E0E5 - #9A25AE - - #D4BAFF - #3E008E - #5727A7 - #ECDCFF - #CDC2DB - #342D41 - #4B4358 - #E9DEF7 - #F0B8C5 - #4A2530 - #643B46 - #FFD9E2 - #FFB4A9 - #930006 - #680003 - #FFDAD4 - #1D1B1F - #E6E1E5 - #1D1B1F - #E6E1E5 - #49454E - #CBC4CF - #948E99 - #1D1B1F - #E6E1E5 - #6F43BF - - #B9C3FF - #08218A - #293CA0 - #DDE0FF - #C4C5DD - #2D2F42 - #43465A - #E0E1FA - #E5BAD7 - #45263E - #5D3C55 - #FFD7F3 - #FFB4A9 - #930006 - #680003 - #FFDAD4 - #1B1B1F - #E4E1E6 - #1B1B1F - #E4E1E6 - #46464F - #C6C5D0 - #90909A - #1B1B1F - #E4E1E6 - #4355B9 - - #9CCAFF - #00325A - #00497F - #D0E4FF - #BBC8DB - #253140 - #3C4858 - #D6E3F7 - #D6BEE4 - #3B2948 - #523F5F - #F3DAFF - #FFB4A9 - #930006 - #680003 - #FFDAD4 - #1B1B1B - #E2E2E6 - #1B1B1B - #E2E2E6 - #42474E - #C3C7D0 - #8D9199 - #1B1B1B - #E2E2E6 - #0061A6 - - #8BCEFF - #003450 - #004B71 - #C8E6FF - #B7C8D8 - #22323F - #384956 - #D3E4F5 - #CFBFE8 - #362B4B - #4D4162 - #ECDCFF - #FFB4A9 - #930006 - #680003 - #FFDAD4 - #1A1C1E - #E2E2E5 - #1A1C1E - #E2E2E5 - #41474D - #C1C7CE - #8B9198 - #1A1C1E - #E2E2E5 - #006494 - - #44D8F1 - #00363F - #004E5A - #9CEFFF - #B1CBD1 - #1C3439 - #334A4F - #CDE7ED - #BCC5EA - #262F4D - #3D4665 - #DAE1FF - #FFB4A9 - #930006 - #680003 - #FFDAD4 - #191C1D - #E1E3E3 - #191C1D - #E1E3E3 - #3F484A - #BFC8CA - #899294 - #191C1D - #E1E3E3 - #006877 - - #53DBC9 - #003730 - #005047 - #74F7E5 - #B1CCC6 - #1C3531 - #334B47 - #CDE8E2 - #ADCAE6 - #153349 - #2D4960 - #CBE5FF - #FFB4A9 - #930006 - #680003 - #FFDAD4 - #191C1B - #E0E3E1 - #191C1B - #E0E3E1 - #3F4947 - #BFC9C6 - #889390 - #191C1B - #E0E3E1 - #006A5F - - #7BDC77 - #003907 - #00530C - #96F990 - #BACCB3 - #253423 - #3C4B39 - #D5E8CE - #A1CFD4 - #00363A - #1E4D52 - #BCEBF0 - #FFB4A9 - #930006 - #680003 - #FFDAD4 - #1A1C19 - #E2E3DD - #1A1C19 - #E2E3DD - #424840 - #C2C8BD - #8C9288 - #1A1C19 - #E2E3DD - #006E17 - - #71DBA8 - #003822 - #005234 - #8DF7C2 - #B4CCBC - #20352A - #364B3F - #D0E9D8 - #A5CDDE - #063542 - #234C5A - #C0E9FA - #FFB4A9 - #930006 - #680003 - #FFDAD4 - #191C1A - #E1E3DF - #191C1A - #E1E3DF - #404943 - #C0C9C1 - #8A938C - #191C1A - #E1E3DF - #006C46 - - #C1D02C - #2E3400 - #434B00 - #DEED49 - #C7C9A6 - #30321A - #46492E - #E4E5C1 - #A3D0C1 - #06372C - #234E43 - #BEECDC - #FFB4A9 - #930006 - #680003 - #FFDAD4 - #1C1C17 - #E5E2DA - #1C1C17 - #E5E2DA - #47473B - #C8C7B7 - #929282 - #1C1C17 - #E5E2DA - #5A6400 - - #DBC808 - #373100 - #504700 - #F9E534 - #CEC7A3 - #353117 - #4B472B - #EBE3BD - #A6D0B7 - #113726 - #284E3B - #C2ECD2 - #FFB4A9 - #930006 - #680003 - #FFDAD4 - #1D1C16 - #E7E2D9 - #1D1C16 - #E7E2D9 - #4A473A - #CBC6B5 - #959181 - #1D1C16 - #E7E2D9 - #6A5F00 - - #FABD00 - #402D00 - #5C4300 - #FFDF99 - #D7C4A0 - #3B2F15 - #52452A - #F4E0BB - #B0CFA9 - #1D361C - #334D31 - #CCEBC5 - #FFB4A9 - #930006 - #680003 - #FFDAD4 - #1E1B16 - #E9E1D8 - #1E1B16 - #E9E1D8 - #4D4639 - #D0C5B4 - #999080 - #1E1B16 - #E9E1D8 - #795900 - - #FFB86D - #4B2800 - #6A3B00 - #FFDCBB - #E2C1A4 - #402C18 - #59422C - #FEDCBE - #C0CC9A - #2B3410 - #414B25 - #DCE8B4 - #FFB4A9 - #930006 - #680003 - #FFDAD4 - #1F1B17 - #EBE0D9 - #1F1B17 - #EBE0D9 - #51453A - #D5C3B5 - #9E8E81 - #1F1B17 - #EBE0D9 - #8C5000 - - #FFB49D - #601400 - #882000 - #FFDACF - #E7BDB2 - #442A22 - #5D3F37 - #FFDACF - #D8C58D - #3A2F04 - #53461A - #F5E1A6 - #FFB4A9 - #930006 - #680003 - #FFDAD4 - #201A18 - #EDE0DD - #201A18 - #EDE0DD - #53433F - #D8C2BC - #A08C87 - #201A18 - #EDE0DD - #B22D00 - - #FFB598 - #5C1A00 - #7B2E0D - #FFDBCD - #E7BEB0 - #442A20 - #5D4035 - #FFDBCD - #D5C78E - #383005 - #50461A - #F1E2A7 - #FFB4A9 - #930006 - #680003 - #FFDAD4 - #201A18 - #EDE0DC - #201A18 - #EDE0DC - #52433E - #D8C2BB - #A08C86 - #201A18 - #EDE0DC - #9A4523 - - #79D0FF - #00344A - #004C69 - #C2E8FF - #B5C9D7 - #20333E - #374955 - #D1E5F3 - #CAC1EA - #322C4C - #484264 - #E7DEFF - #FFB4A9 - #930006 - #680003 - #FFDAD4 - #191C1E - #E1E2E5 - #191C1E - #E1E2E5 - #41484D - #C0C7CD - #8B9298 - #191C1E - #E1E2E5 - #00668B - - #FFB2BC - #5F1123 - #7D2939 - #FFDADE - #E5BDC0 - #44292C - #5C3F42 - #FFD9DC - #E8BF8E - #442B06 - #5D411B - #FFDDB4 - #FFB4A9 - #930006 - #680003 - #FFDAD4 - #201A1A - #ECE0E0 - #201A1A - #ECE0E0 - #524344 - #D7C2C3 - #9F8C8D - #201A1A - #ECE0E0 - #9B404F - diff --git a/app/src/main/res/values-night/styles.xml b/app/src/main/res/values-night/styles.xml index 4444b296..e36ab278 100644 --- a/app/src/main/res/values-night/styles.xml +++ b/app/src/main/res/values-night/styles.xml @@ -21,4 +21,24 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +