Browse Source

Change source preference theming fix (#8679)

Ivan Iskandar 2 years ago
parent
commit
8945ef8880

+ 0 - 3
app/src/main/java/eu/kanade/tachiyomi/ui/base/delegate/ThemingDelegate.kt

@@ -53,9 +53,6 @@ interface ThemingDelegate {
                 resIds += R.style.ThemeOverlay_Tachiyomi_Amoled
             }
 
-            // For source preference theme
-            resIds += R.style.PreferenceThemeOverlay_Tachiyomi
-
             return resIds
         }
     }

+ 9 - 0
app/src/main/java/eu/kanade/tachiyomi/ui/browse/extension/details/SourcePreferencesScreen.kt

@@ -2,7 +2,9 @@ package eu.kanade.tachiyomi.ui.browse.extension.details
 
 import android.content.Context
 import android.os.Bundle
+import android.util.TypedValue
 import android.view.View
+import androidx.appcompat.view.ContextThemeWrapper
 import androidx.compose.foundation.layout.fillMaxSize
 import androidx.compose.foundation.layout.padding
 import androidx.compose.material.icons.Icons
@@ -127,6 +129,13 @@ class SourcePreferencesScreen(val sourceId: Long) : Screen {
 
 class SourcePreferencesFragment : PreferenceFragmentCompat() {
 
+    override fun getContext(): Context? {
+        val superCtx = super.getContext() ?: return null
+        val tv = TypedValue()
+        superCtx.theme.resolveAttribute(R.attr.preferenceTheme, tv, true)
+        return ContextThemeWrapper(superCtx, tv.resourceId)
+    }
+
     override fun onCreatePreferences(savedInstanceState: Bundle?, rootKey: String?) {
         preferenceScreen = populateScreen()
     }