From 3a84650cd1c4ad5b72e9536c62d27c9a0597b080 Mon Sep 17 00:00:00 2001 From: TacoTheDank Date: Thu, 7 Apr 2022 17:20:16 -0400 Subject: [PATCH] Utilize TextWatcher KTX extensions --- .../tageditor/AlbumTagEditorActivity.kt | 24 ++++--------- .../tageditor/SongTagEditorActivity.kt | 35 +++++++------------ .../player/gradient/GradientPlayerFragment.kt | 7 ++-- .../fragments/search/SearchFragment.kt | 20 ++++------- 4 files changed, 28 insertions(+), 58 deletions(-) diff --git a/app/src/main/java/code/name/monkey/retromusic/activities/tageditor/AlbumTagEditorActivity.kt b/app/src/main/java/code/name/monkey/retromusic/activities/tageditor/AlbumTagEditorActivity.kt index d301e6aff..40e03b8a3 100755 --- a/app/src/main/java/code/name/monkey/retromusic/activities/tageditor/AlbumTagEditorActivity.kt +++ b/app/src/main/java/code/name/monkey/retromusic/activities/tageditor/AlbumTagEditorActivity.kt @@ -22,12 +22,11 @@ import android.graphics.Color import android.graphics.drawable.Drawable import android.net.Uri import android.os.Bundle -import android.text.Editable -import android.text.TextWatcher import android.transition.Slide import android.view.LayoutInflater import android.widget.ImageView import android.widget.Toast +import androidx.core.widget.doAfterTextChanged import code.name.monkey.appthemehelper.util.MaterialValueHelper import code.name.monkey.retromusic.R import code.name.monkey.retromusic.databinding.ActivityAlbumTagEditorBinding @@ -50,7 +49,7 @@ import com.google.android.material.shape.MaterialShapeDrawable import org.jaudiotagger.tag.FieldKey import java.util.* -class AlbumTagEditorActivity : AbsTagEditorActivity(), TextWatcher { +class AlbumTagEditorActivity : AbsTagEditorActivity() { override val bindingInflater: (LayoutInflater) -> ActivityAlbumTagEditorBinding = ActivityAlbumTagEditorBinding::inflate @@ -91,10 +90,10 @@ class AlbumTagEditorActivity : AbsTagEditorActivity(), TextWatcher { +class SongTagEditorActivity : AbsTagEditorActivity() { override val bindingInflater: (LayoutInflater) -> ActivitySongTagEditorBinding = ActivitySongTagEditorBinding::inflate @@ -83,16 +82,16 @@ class SongTagEditorActivity : AbsTagEditorActivity binding.discNumberContainer.setTint(false) binding.lyricsContainer.setTint(false) - binding.songText.appHandleColor().addTextChangedListener(this) - binding.albumText.appHandleColor().addTextChangedListener(this) - binding.albumArtistText.appHandleColor().addTextChangedListener(this) - binding.artistText.appHandleColor().addTextChangedListener(this) - binding.genreText.appHandleColor().addTextChangedListener(this) - binding.yearText.appHandleColor().addTextChangedListener(this) - binding.trackNumberText.appHandleColor().addTextChangedListener(this) - binding.discNumberText.appHandleColor().addTextChangedListener(this) - binding.lyricsText.appHandleColor().addTextChangedListener(this) - binding.songComposerText.appHandleColor().addTextChangedListener(this) + binding.songText.appHandleColor().doAfterTextChanged { dataChanged() } + binding.albumText.appHandleColor().doAfterTextChanged { dataChanged() } + binding.albumArtistText.appHandleColor().doAfterTextChanged { dataChanged() } + binding.artistText.appHandleColor().doAfterTextChanged { dataChanged() } + binding.genreText.appHandleColor().doAfterTextChanged { dataChanged() } + binding.yearText.appHandleColor().doAfterTextChanged { dataChanged() } + binding.trackNumberText.appHandleColor().doAfterTextChanged { dataChanged() } + binding.discNumberText.appHandleColor().doAfterTextChanged { dataChanged() } + binding.lyricsText.appHandleColor().doAfterTextChanged { dataChanged() } + binding.songComposerText.appHandleColor().doAfterTextChanged { dataChanged() } } private fun fillViewsWithFileTags() { @@ -205,16 +204,6 @@ class SongTagEditorActivity : AbsTagEditorActivity }) } - override fun beforeTextChanged(s: CharSequence, start: Int, count: Int, after: Int) { - } - - override fun onTextChanged(s: CharSequence, start: Int, before: Int, count: Int) { - } - - override fun afterTextChanged(s: Editable) { - dataChanged() - } - companion object { val TAG: String = SongTagEditorActivity::class.java.simpleName } diff --git a/app/src/main/java/code/name/monkey/retromusic/fragments/player/gradient/GradientPlayerFragment.kt b/app/src/main/java/code/name/monkey/retromusic/fragments/player/gradient/GradientPlayerFragment.kt index a3e2a4c1e..aaa6c7fc7 100644 --- a/app/src/main/java/code/name/monkey/retromusic/fragments/player/gradient/GradientPlayerFragment.kt +++ b/app/src/main/java/code/name/monkey/retromusic/fragments/player/gradient/GradientPlayerFragment.kt @@ -31,6 +31,7 @@ import androidx.constraintlayout.widget.ConstraintLayout import androidx.core.view.ViewCompat import androidx.core.view.WindowInsetsCompat import androidx.core.view.updatePadding +import androidx.fragment.app.commit import androidx.lifecycle.lifecycleScope import androidx.recyclerview.widget.LinearLayoutManager import androidx.recyclerview.widget.RecyclerView @@ -303,9 +304,9 @@ class GradientPlayerFragment : AbsPlayerFragment(R.layout.fragment_gradient_play private fun hideVolumeIfAvailable() { if (PreferenceUtil.isVolumeVisibilityMode) { - childFragmentManager.beginTransaction() - .replace(R.id.volumeFragmentContainer, VolumeFragment.newInstance()) - .commit() + childFragmentManager.commit { + replace(R.id.volumeFragmentContainer, VolumeFragment.newInstance()) + } childFragmentManager.executePendingTransactions() volumeFragment = childFragmentManager.findFragmentById(R.id.volumeFragmentContainer) as VolumeFragment? diff --git a/app/src/main/java/code/name/monkey/retromusic/fragments/search/SearchFragment.kt b/app/src/main/java/code/name/monkey/retromusic/fragments/search/SearchFragment.kt index 8ce902b03..5b7c25d76 100644 --- a/app/src/main/java/code/name/monkey/retromusic/fragments/search/SearchFragment.kt +++ b/app/src/main/java/code/name/monkey/retromusic/fragments/search/SearchFragment.kt @@ -20,13 +20,12 @@ import android.content.Intent import android.content.res.ColorStateList import android.os.Bundle import android.speech.RecognizerIntent -import android.text.Editable -import android.text.TextWatcher import android.view.View import android.view.ViewGroup import android.view.inputmethod.InputMethodManager import androidx.core.content.getSystemService import androidx.core.view.* +import androidx.core.widget.doAfterTextChanged import androidx.recyclerview.widget.LinearLayoutManager import androidx.recyclerview.widget.RecyclerView import androidx.transition.TransitionManager @@ -51,7 +50,7 @@ import net.yslibrary.android.keyboardvisibilityevent.KeyboardVisibilityEvent import java.util.* -class SearchFragment : AbsMainActivityFragment(R.layout.fragment_search), TextWatcher, +class SearchFragment : AbsMainActivityFragment(R.layout.fragment_search), ChipGroup.OnCheckedStateChangeListener { companion object { const val QUERY = "query" @@ -81,7 +80,10 @@ class SearchFragment : AbsMainActivityFragment(R.layout.fragment_search), TextWa searchAdapter.swapDataSet(listOf()) } binding.searchView.apply { - addTextChangedListener(this@SearchFragment) + doAfterTextChanged { + if (!it.isNullOrEmpty()) + search(it.toString()) + } focusAndShowKeyboard() } binding.keyboardPopup.apply { @@ -171,16 +173,6 @@ class SearchFragment : AbsMainActivityFragment(R.layout.fragment_search), TextWa } } - override fun afterTextChanged(newText: Editable?) { - if (!newText.isNullOrEmpty()) search(newText.toString()) - } - - override fun beforeTextChanged(s: CharSequence?, start: Int, count: Int, after: Int) { - } - - override fun onTextChanged(s: CharSequence?, start: Int, before: Int, count: Int) { - } - private fun search(query: String) { this.query = query TransitionManager.beginDelayedTransition(binding.appBarLayout)