fix: API compatibility and leanback requirement

- Replace resources.getColor(id, null) with ContextCompat.getColor() for API 21-22 compatibility
- Change android.software.leanback to required=false to allow testing on non-TV emulators
This commit is contained in:
xiaji
2026-05-24 21:14:19 +08:00
parent 98d05aa90a
commit 7dee3977de
3 changed files with 5 additions and 3 deletions

View File

@@ -9,7 +9,7 @@
android:required="false" />
<uses-feature
android:name="android.software.leanback"
android:required="true" />
android:required="false" />
<application
android:allowBackup="true"

View File

@@ -7,6 +7,7 @@ import android.webkit.WebView
import android.webkit.WebViewClient
import android.widget.Button
import androidx.appcompat.app.AppCompatActivity
import androidx.core.content.ContextCompat
import androidx.lifecycle.lifecycleScope
import androidx.media3.common.MediaItem
import androidx.media3.exoplayer.ExoPlayer
@@ -93,7 +94,7 @@ class PlayerActivity : AppCompatActivity() {
val btn = Button(this).apply {
text = ep.title
setBackgroundResource(R.drawable.episode_selector)
setTextColor(resources.getColor(R.color.text_primary, null))
setTextColor(ContextCompat.getColor(this@PlayerActivity, R.color.text_primary))
textSize = 13f
minWidth = 0
setPadding(16, 8, 16, 8)

View File

@@ -13,6 +13,7 @@ import android.widget.Button
import android.widget.EditText
import android.widget.TextView
import android.widget.Toast
import androidx.core.content.ContextCompat
import androidx.fragment.app.Fragment
import androidx.lifecycle.lifecycleScope
import androidx.recyclerview.widget.GridLayoutManager
@@ -215,7 +216,7 @@ class SearchFragment : Fragment() {
for (item in list) {
val chip = Button(requireContext()).apply {
text = item.keyword
setTextColor(resources.getColor(R.color.text_primary, null))
setTextColor(ContextCompat.getColor(requireContext(), R.color.text_primary))
setBackgroundResource(R.drawable.history_chip_selector)
textSize = 14f
setPadding(24, 8, 24, 8)