diff --git a/app/src/main/java/org/koitharu/kotatsu/main/ui/MainActivity.kt b/app/src/main/java/org/koitharu/kotatsu/main/ui/MainActivity.kt index 15a3b303f..87983c024 100644 --- a/app/src/main/java/org/koitharu/kotatsu/main/ui/MainActivity.kt +++ b/app/src/main/java/org/koitharu/kotatsu/main/ui/MainActivity.kt @@ -327,8 +327,10 @@ class MainActivity : TrackWorker.setup(applicationContext) SuggestionsWorker.setup(applicationContext) } - MangaPrefetchService.prefetchLast(this@MainActivity) - requestNotificationsPermission() + whenResumed { + MangaPrefetchService.prefetchLast(this@MainActivity) + requestNotificationsPermission() + } } } diff --git a/app/src/main/java/org/koitharu/kotatsu/search/ui/widget/SearchEditText.kt b/app/src/main/java/org/koitharu/kotatsu/search/ui/widget/SearchEditText.kt index 261648fce..2c00a1310 100644 --- a/app/src/main/java/org/koitharu/kotatsu/search/ui/widget/SearchEditText.kt +++ b/app/src/main/java/org/koitharu/kotatsu/search/ui/widget/SearchEditText.kt @@ -3,6 +3,9 @@ package org.koitharu.kotatsu.search.ui.widget import android.annotation.SuppressLint import android.content.Context import android.os.Parcelable +import android.text.Spannable +import android.text.SpannableString +import android.text.style.TextAppearanceSpan import android.util.AttributeSet import android.view.KeyEvent import android.view.MotionEvent @@ -12,11 +15,11 @@ import android.view.inputmethod.EditorInfo import androidx.annotation.AttrRes import androidx.appcompat.widget.AppCompatEditText import androidx.core.content.ContextCompat -import com.google.android.material.R as materialR import org.koitharu.kotatsu.R import org.koitharu.kotatsu.search.ui.suggestion.SearchSuggestionListener import org.koitharu.kotatsu.utils.ext.drawableEnd import org.koitharu.kotatsu.utils.ext.drawableStart +import com.google.android.material.R as materialR private const val DRAWABLE_END = 2 @@ -31,6 +34,10 @@ class SearchEditText @JvmOverloads constructor( private val voiceIcon = ContextCompat.getDrawable(context, R.drawable.ic_voice_input) private var isEmpty = text.isNullOrEmpty() + init { + wrapHint() + } + var isVoiceSearchEnabled: Boolean = false set(value) { field = value @@ -124,4 +131,16 @@ class SearchEditText @JvmOverloads constructor( setCompoundDrawablesRelativeWithIntrinsicBounds(drawableStart, null, icon, null) } } -} \ No newline at end of file + + private fun wrapHint() { + val rawHint = hint?.toString() ?: return + val formatted = SpannableString(rawHint) + formatted.setSpan( + TextAppearanceSpan(context, materialR.style.TextAppearance_Material3_SearchView), + 0, + formatted.length, + Spannable.SPAN_EXCLUSIVE_EXCLUSIVE, + ) + hint = formatted + } +} diff --git a/app/src/main/res/values/styles.xml b/app/src/main/res/values/styles.xml index 9d48d40aa..88030d607 100644 --- a/app/src/main/res/values/styles.xml +++ b/app/src/main/res/values/styles.xml @@ -86,7 +86,6 @@