fix(custom-theme): fix cursor color in migration-bottom-sheet (#885)

This commit is contained in:
Cuong-Tran 2025-05-03 23:49:57 +07:00
parent e40abcf40b
commit 24b6c4aa3c
3 changed files with 21 additions and 17 deletions

View file

@ -12,7 +12,6 @@ import androidx.compose.ui.graphics.Color
import androidx.compose.ui.graphics.toArgb import androidx.compose.ui.graphics.toArgb
import androidx.compose.ui.unit.dp import androidx.compose.ui.unit.dp
import androidx.core.content.getSystemService import androidx.core.content.getSystemService
import androidx.core.graphics.drawable.toDrawable
import com.google.android.material.progressindicator.LinearProgressIndicator import com.google.android.material.progressindicator.LinearProgressIndicator
import com.google.android.material.textfield.TextInputEditText import com.google.android.material.textfield.TextInputEditText
import com.google.android.material.textfield.TextInputLayout import com.google.android.material.textfield.TextInputLayout
@ -236,14 +235,13 @@ class AndroidViewColorScheme(
* @param editText The EditText to set the color for. * @param editText The EditText to set the color for.
*/ */
fun setEditTextColor( fun setEditTextColor(
editText: EditText, editText: TextInputEditText,
) { ) {
editText.setTextColor(onSurfaceVariant) editText.setTextColor(onSurfaceVariant)
editText.highlightColor = inversePrimary editText.highlightColor = inversePrimary
editText.backgroundTintList = editTextBackgroundTintList editText.backgroundTintList = editTextBackgroundTintList
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.Q) { if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.Q) {
editText.textCursorDrawable = primary.toDrawable()
editText.textSelectHandle?.let { drawable -> editText.textSelectHandle?.let { drawable ->
drawable.setTint(primary) drawable.setTint(primary)
editText.setTextSelectHandle(drawable) editText.setTextSelectHandle(drawable)

View file

@ -81,6 +81,7 @@ fun MigrationBottomSheetDialog(
binding.HideNotFoundManga.thumbTintList = colorScheme.thumbTintList binding.HideNotFoundManga.thumbTintList = colorScheme.thumbTintList
binding.OnlyShowUpdates.thumbTintList = colorScheme.thumbTintList binding.OnlyShowUpdates.thumbTintList = colorScheme.thumbTintList
colorScheme.setTextInputLayoutColor(binding.extraSearchParamInputLayout)
colorScheme.setEditTextColor(binding.extraSearchParamText) colorScheme.setEditTextColor(binding.extraSearchParamText)
// KMK <-- // KMK <--
binding.root binding.root
@ -119,9 +120,9 @@ class MigrationBottomSheetDialogState(
binding.migDeleteDownloaded.setOnCheckedChangeListener { _, _ -> setFlags(binding) } binding.migDeleteDownloaded.setOnCheckedChangeListener { _, _ -> setFlags(binding) }
binding.useSmartSearch.bindToPreference(preferences.smartMigration()) binding.useSmartSearch.bindToPreference(preferences.smartMigration())
binding.extraSearchParamText.isVisible = false binding.extraSearchParamInputLayout.isVisible = false
binding.extraSearchParam.setOnCheckedChangeListener { _, isChecked -> binding.extraSearchParam.setOnCheckedChangeListener { _, isChecked ->
binding.extraSearchParamText.isVisible = isChecked binding.extraSearchParamInputLayout.isVisible = isChecked
} }
binding.sourceGroup.bindToPreference(preferences.useSourceWithMost()) binding.sourceGroup.bindToPreference(preferences.useSourceWithMost())
@ -142,8 +143,8 @@ class MigrationBottomSheetDialogState(
preferences.hideNotFoundMigration().set(binding.HideNotFoundManga.isChecked) preferences.hideNotFoundMigration().set(binding.HideNotFoundManga.isChecked)
preferences.showOnlyUpdatesMigration().set(binding.OnlyShowUpdates.isChecked) preferences.showOnlyUpdatesMigration().set(binding.OnlyShowUpdates.isChecked)
onStartMigration.value( onStartMigration.value(
if (binding.useSmartSearch.isChecked && binding.extraSearchParamText.text.isNotBlank()) { if (binding.useSmartSearch.isChecked && !binding.extraSearchParamText.text.isNullOrBlank()) {
binding.extraSearchParamText.toString() binding.extraSearchParamText.text.toString()
} else { } else {
null null
}, },
@ -154,7 +155,7 @@ class MigrationBottomSheetDialogState(
if (!fullSettings) { if (!fullSettings) {
binding.useSmartSearch.isVisible = false binding.useSmartSearch.isVisible = false
binding.extraSearchParam.isVisible = false binding.extraSearchParam.isVisible = false
binding.extraSearchParamText.isVisible = false binding.extraSearchParamInputLayout.isVisible = false
binding.sourceGroup.isVisible = false binding.sourceGroup.isVisible = false
binding.skipStep.isVisible = false binding.skipStep.isVisible = false
binding.migrateBtn.text = binding.root.context.stringResource(MR.strings.action_save) binding.migrateBtn.text = binding.root.context.stringResource(MR.strings.action_save)

View file

@ -182,16 +182,21 @@
android:paddingVertical="16dp" android:paddingVertical="16dp"
android:text="@string/include_extra_search_parameter" /> android:text="@string/include_extra_search_parameter" />
<EditText
android:id="@+id/extra_search_param_text" <com.google.android.material.textfield.TextInputLayout
app:boxBackgroundMode="none"
android:id="@+id/extra_search_param_input_layout"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="wrap_content" android:layout_height="wrap_content">
android:layout_marginTop="8dp" <com.google.android.material.textfield.TextInputEditText
android:ems="10" android:id="@+id/extra_search_param_text"
android:hint="@string/search_parameter" android:layout_width="match_parent"
android:importantForAutofill="no" android:layout_height="wrap_content"
android:inputType="textPersonName" android:hint="@string/search_parameter"
android:textSize="16sp" /> android:importantForAutofill="no"
android:inputType="textPersonName"
android:textSize="14sp"/>
</com.google.android.material.textfield.TextInputLayout>
<com.google.android.material.materialswitch.MaterialSwitch <com.google.android.material.materialswitch.MaterialSwitch
android:id="@+id/skip_step" android:id="@+id/skip_step"