From 5eef1b9aa383afdd0d59a49703f162fc1564d7ba Mon Sep 17 00:00:00 2001
From: xinkev <11447571+xinkev@users.noreply.github.com>
Date: Wed, 25 Feb 2026 17:26:46 +0900
Subject: [PATCH 1/6] fix: Handle missing colorError attribute on Nougat
This prevents crash on Nougat. AppDetailAdapter.kt referenced android.R.attr.colorError, introduced in API 26.
---
.../com/looker/droidify/ui/appDetail/AppDetailAdapter.kt | 3 ++-
app/src/main/res/values-v26/themes.xml | 6 ++++++
app/src/main/res/values/attrs.xml | 4 ++++
app/src/main/res/values/base_theme.xml | 1 +
app/src/main/res/values/colors.xml | 1 +
5 files changed, 14 insertions(+), 1 deletion(-)
create mode 100644 app/src/main/res/values-v26/themes.xml
create mode 100644 app/src/main/res/values/attrs.xml
diff --git a/app/src/main/kotlin/com/looker/droidify/ui/appDetail/AppDetailAdapter.kt b/app/src/main/kotlin/com/looker/droidify/ui/appDetail/AppDetailAdapter.kt
index c20c6084c..daad5916e 100644
--- a/app/src/main/kotlin/com/looker/droidify/ui/appDetail/AppDetailAdapter.kt
+++ b/app/src/main/kotlin/com/looker/droidify/ui/appDetail/AppDetailAdapter.kt
@@ -31,6 +31,7 @@ import androidx.core.graphics.createBitmap
import androidx.core.net.toUri
import androidx.core.text.bold
import androidx.core.text.buildSpannedString
+import androidx.core.util.TypedValueCompat
import androidx.core.view.isGone
import androidx.core.view.isVisible
import androidx.recyclerview.widget.LinearLayoutManager
@@ -448,7 +449,7 @@ class AppDetailAdapter(private val callbacks: Callbacks) :
val actionTintNormal = button.context.getColorFromAttr(android.R.attr.colorPrimary)
val actionTintOnNormal = button.context.getColorFromAttr(MaterialR.attr.colorOnPrimary)
- val actionTintCancel = button.context.getColorFromAttr(android.R.attr.colorError)
+ val actionTintCancel = button.context.getColorFromAttr(R.attr.colorError)
val actionTintOnCancel = button.context.getColorFromAttr(MaterialR.attr.colorOnError)
val actionTintDisabled = button.context.getColorFromAttr(MaterialR.attr.colorOutline)
val actionTintOnDisabled = button.context.getColorFromAttr(android.R.attr.colorBackground)
diff --git a/app/src/main/res/values-v26/themes.xml b/app/src/main/res/values-v26/themes.xml
new file mode 100644
index 000000000..63dc7d63f
--- /dev/null
+++ b/app/src/main/res/values-v26/themes.xml
@@ -0,0 +1,6 @@
+
+
+
+
diff --git a/app/src/main/res/values/attrs.xml b/app/src/main/res/values/attrs.xml
new file mode 100644
index 000000000..27f4f4a43
--- /dev/null
+++ b/app/src/main/res/values/attrs.xml
@@ -0,0 +1,4 @@
+
+
+
+
diff --git a/app/src/main/res/values/base_theme.xml b/app/src/main/res/values/base_theme.xml
index 9fd155e25..e0aec1188 100644
--- a/app/src/main/res/values/base_theme.xml
+++ b/app/src/main/res/values/base_theme.xml
@@ -4,5 +4,6 @@
- @color/md_theme_l_background
- ?android:attr/colorBackground
- ?android:attr/colorBackground
+ - #FC3E1B
diff --git a/app/src/main/res/values/colors.xml b/app/src/main/res/values/colors.xml
index cc798e2a4..38f2b4486 100644
--- a/app/src/main/res/values/colors.xml
+++ b/app/src/main/res/values/colors.xml
@@ -1,6 +1,7 @@
#000000
+
#416835
#FFFFFF
From 902a9ae2a66be531f2a1ed18139d3404624fd2cf Mon Sep 17 00:00:00 2001
From: xinkev <11447571+xinkev@users.noreply.github.com>
Date: Sun, 1 Mar 2026 17:46:15 +0900
Subject: [PATCH 2/6] chore: Rename values-v26/themes.xml to
values-v26/base_theme.xml
---
app/src/main/res/values-v26/{themes.xml => base_theme.xml} | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
rename app/src/main/res/values-v26/{themes.xml => base_theme.xml} (82%)
diff --git a/app/src/main/res/values-v26/themes.xml b/app/src/main/res/values-v26/base_theme.xml
similarity index 82%
rename from app/src/main/res/values-v26/themes.xml
rename to app/src/main/res/values-v26/base_theme.xml
index 63dc7d63f..8e66ecaf2 100644
--- a/app/src/main/res/values-v26/themes.xml
+++ b/app/src/main/res/values-v26/base_theme.xml
@@ -1,6 +1,6 @@
-
From cdcda20ab3c8b7ee5954b41ee3b3b2ed314eb3ba Mon Sep 17 00:00:00 2001
From: xinkev <11447571+xinkev@users.noreply.github.com>
Date: Sun, 1 Mar 2026 18:02:41 +0900
Subject: [PATCH 3/6] chore: Remove redundant color entry colorError
---
app/src/main/res/values/colors.xml | 1 -
1 file changed, 1 deletion(-)
diff --git a/app/src/main/res/values/colors.xml b/app/src/main/res/values/colors.xml
index 38f2b4486..cc798e2a4 100644
--- a/app/src/main/res/values/colors.xml
+++ b/app/src/main/res/values/colors.xml
@@ -1,7 +1,6 @@
#000000
-
#416835
#FFFFFF
From 9b2f51eea84eeff0df22dcd76c2cf39b8398e30f Mon Sep 17 00:00:00 2001
From: xinkev <11447571+xinkev@users.noreply.github.com>
Date: Sun, 1 Mar 2026 18:06:18 +0900
Subject: [PATCH 4/6] style: use base theme inheritance for API 26+ colorError
override
---
app/src/main/res/values-v26/base_theme.xml | 2 +-
app/src/main/res/values/base_theme.xml | 4 +++-
2 files changed, 4 insertions(+), 2 deletions(-)
diff --git a/app/src/main/res/values-v26/base_theme.xml b/app/src/main/res/values-v26/base_theme.xml
index 8e66ecaf2..b8933de56 100644
--- a/app/src/main/res/values-v26/base_theme.xml
+++ b/app/src/main/res/values-v26/base_theme.xml
@@ -1,6 +1,6 @@
-
diff --git a/app/src/main/res/values/base_theme.xml b/app/src/main/res/values/base_theme.xml
index e0aec1188..82d3d85a8 100644
--- a/app/src/main/res/values/base_theme.xml
+++ b/app/src/main/res/values/base_theme.xml
@@ -1,9 +1,11 @@
-
+
From c6aaa1b744849fd4264815295effba5aee1d0975 Mon Sep 17 00:00:00 2001
From: xinkev <11447571+xinkev@users.noreply.github.com>
Date: Sun, 1 Mar 2026 18:42:07 +0900
Subject: [PATCH 5/6] refactor(theme): add colorError style to night theme
- Rename Base.MainTheme to Base.MainTheme.Light
- Add Base.MainTheme.Night to dark night theme
- Add colorError style to night themes
---
app/src/main/res/values-night-v26/base_theme.xml | 6 ++++++
app/src/main/res/values-night/base_theme.xml | 5 ++++-
app/src/main/res/values-v26/base_theme.xml | 2 +-
app/src/main/res/values/base_theme.xml | 6 +++---
4 files changed, 14 insertions(+), 5 deletions(-)
create mode 100644 app/src/main/res/values-night-v26/base_theme.xml
diff --git a/app/src/main/res/values-night-v26/base_theme.xml b/app/src/main/res/values-night-v26/base_theme.xml
new file mode 100644
index 000000000..fa9e95dfe
--- /dev/null
+++ b/app/src/main/res/values-night-v26/base_theme.xml
@@ -0,0 +1,6 @@
+
+
+
+
diff --git a/app/src/main/res/values-night/base_theme.xml b/app/src/main/res/values-night/base_theme.xml
index 636cbc9ff..74bde7722 100644
--- a/app/src/main/res/values-night/base_theme.xml
+++ b/app/src/main/res/values-night/base_theme.xml
@@ -1,8 +1,11 @@
-
+
diff --git a/app/src/main/res/values-v26/base_theme.xml b/app/src/main/res/values-v26/base_theme.xml
index b8933de56..209ba9f95 100644
--- a/app/src/main/res/values-v26/base_theme.xml
+++ b/app/src/main/res/values-v26/base_theme.xml
@@ -1,6 +1,6 @@
-
diff --git a/app/src/main/res/values/base_theme.xml b/app/src/main/res/values/base_theme.xml
index 82d3d85a8..b2024a5f8 100644
--- a/app/src/main/res/values/base_theme.xml
+++ b/app/src/main/res/values/base_theme.xml
@@ -1,11 +1,11 @@
-
-
From c9171f167ebd4057a42bb88537ea497635849404 Mon Sep 17 00:00:00 2001
From: xinkev <11447571+xinkev@users.noreply.github.com>
Date: Sun, 1 Mar 2026 18:44:29 +0900
Subject: [PATCH 6/6] style: use md_theme_l_error for light theme colorError
---
app/src/main/res/values/base_theme.xml | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/app/src/main/res/values/base_theme.xml b/app/src/main/res/values/base_theme.xml
index b2024a5f8..89c74fffb 100644
--- a/app/src/main/res/values/base_theme.xml
+++ b/app/src/main/res/values/base_theme.xml
@@ -6,6 +6,6 @@
- @color/md_theme_l_background