diff --git a/app/src/main/java/melody/offline/music/activity/PrimaryActivity.kt b/app/src/main/java/melody/offline/music/activity/PrimaryActivity.kt index f1acfae..38c262b 100644 --- a/app/src/main/java/melody/offline/music/activity/PrimaryActivity.kt +++ b/app/src/main/java/melody/offline/music/activity/PrimaryActivity.kt @@ -12,7 +12,7 @@ import melody.offline.music.fragment.SearchFragment import kotlinx.coroutines.isActive import kotlinx.coroutines.selects.select -class PrimaryActivity : MoBaseActivity(), SearchFragment.SearchFragmentCancelClickListener { +class PrimaryActivity : MoBaseActivity(), SearchFragment.SearchFragmentCancelClickListener ,MoHomeFragment.MoHomeFragmentToSearchClickListener{ /** * musicResponsiveListItemRenderer * musicTwoRowItemRenderer @@ -60,7 +60,9 @@ class PrimaryActivity : MoBaseActivity(), SearchFragment.SearchFragmentCancelCli private fun initFragment() { mFragments.clear() - mFragments.add(MoHomeFragment()) + val homeFragment = MoHomeFragment() + homeFragment.setToSearchClickListener(this) + mFragments.add(homeFragment) val searchFragment = SearchFragment() searchFragment.setButtonClickListener(this) mFragments.add(searchFragment) @@ -165,6 +167,10 @@ class PrimaryActivity : MoBaseActivity(), SearchFragment.SearchFragmentCancelCli onBackPressed() } + override fun onToSearchClick() { + updateBtnState(1) + changeFragment(1) + } private var backPressedTime: Long = 0 private val backToast: Toast by lazy { diff --git a/app/src/main/java/melody/offline/music/fragment/MoHomeFragment.kt b/app/src/main/java/melody/offline/music/fragment/MoHomeFragment.kt index 43b473e..f82e69d 100644 --- a/app/src/main/java/melody/offline/music/fragment/MoHomeFragment.kt +++ b/app/src/main/java/melody/offline/music/fragment/MoHomeFragment.kt @@ -21,6 +21,18 @@ import org.json.JSONObject class MoHomeFragment : MoBaseFragment() { + + interface MoHomeFragmentToSearchClickListener { + fun onToSearchClick() + } + + fun setToSearchClickListener(listener: MoHomeFragmentToSearchClickListener) { + this.toSearchClickListener = listener + } + + private var toSearchClickListener: MoHomeFragmentToSearchClickListener? = null + + private val requests: Channel = Channel(Channel.UNLIMITED) enum class Request { @@ -69,6 +81,11 @@ class MoHomeFragment : MoBaseFragment() { AnalysisUtil.logEvent(AnalysisUtil.HOME_B_MODULE_TRY_AGAIN_ACTION) requests.trySend(Request.TryAgain) } + binding.topSearchBtn.setOnClickListener { + if (toSearchClickListener != null) { + toSearchClickListener?.onToSearchClick() + } + } } private suspend fun initData() { diff --git a/app/src/main/res/layout/fragment_mo_home.xml b/app/src/main/res/layout/fragment_mo_home.xml index 2fb318d..c6a9b2e 100644 --- a/app/src/main/res/layout/fragment_mo_home.xml +++ b/app/src/main/res/layout/fragment_mo_home.xml @@ -24,10 +24,10 @@ + android:progressTint="@color/green" /> @@ -98,6 +98,45 @@ + + + + + + + + + + + +