Browse Source

fix: MainActivity handleNewIntent设置当前tab

pengwuliang 11 months ago
parent
commit
173de7d94b

+ 5 - 1
app/src/main/java/com/adealink/weparty/MainActivity.kt

@@ -112,7 +112,10 @@ class MainActivity : BaseActivity() {
 
     override fun handleNewIntent(intent: Intent?) {
         super.handleNewIntent(intent)
-
+        intent?.extras?.let {
+            mainTabKey = it.getString(AppModule.Main.EXTRA_MAIN_TAB)
+            subTabKey = it.getString(AppModule.Main.EXTRA_MAIN_SUB_TAB)
+        }
         dispatch(intent, DispatchFrom.ON_NEW_INTENT)
     }
 
@@ -178,6 +181,7 @@ class MainActivity : BaseActivity() {
         var homeFragment =
             supportFragmentManager.findFragmentByTag(HomeFragment.TAG) as? HomeFragment
         if (homeFragment?.isAdded == true) {
+            homeFragment.setDefaultTab(mainTabKey)
             return
         }
 

+ 4 - 0
module/backpack/src/main/java/com/adealink/weparty/backpack/adapter/BackpackGoodsUsingItemViewBinder.kt

@@ -67,6 +67,10 @@ class BackpackGoodsUsingItemViewBinder(
             val isInUse = item.packageInfo.status == GoodUseStatus.IN_USE.status
             updatePrivilegeStyle(item, binding, isInUse, packageInfo)
             binding.clUse.setOnClickListener {
+                if(packageInfo.goodsType == StoreGoodType.EXPERIENCE_CARD.type) {
+                    listener.goMessageTab()
+                    return@setOnClickListener
+                }
                 if (isPrivilegeItem) {
                     listener.goMoreBtnClick(packageInfo.activityType ?: return@setOnClickListener)
                     return@setOnClickListener

+ 8 - 0
module/backpack/src/main/java/com/adealink/weparty/backpack/fragment/BackpackUsingTabFragment.kt

@@ -10,6 +10,7 @@ import com.adealink.frame.mvvm.view.viewBinding
 import com.adealink.frame.router.Router
 import com.adealink.frame.router.annotation.BindExtra
 import com.adealink.frame.util.DisplayUtil
+import com.adealink.weparty.AppModule
 import com.adealink.weparty.backpack.R
 import com.adealink.weparty.backpack.adapter.BackpackErrorEmptyViewBinder
 import com.adealink.weparty.backpack.adapter.BackpackGoodsUsingItemViewBinder
@@ -50,6 +51,7 @@ import com.adealink.weparty.module.store.data.StoreGoodType
 import com.adealink.weparty.module.store.data.UserGoodInfo
 import com.adealink.weparty.module.store.data.UserGoodOpType
 import com.adealink.weparty.module.webview.Web
+import com.adealink.weparty.ui.tab.HomeTab
 import com.adealink.weparty.url.H5Page
 import com.adealink.weparty.url.urlConfigService
 
@@ -158,6 +160,12 @@ class BackpackUsingTabFragment : BaseFragment(R.layout.fragment_backpack), IBack
             }
     }
 
+    override fun goMessageTab() {
+        Router.build(requireActivity(), AppModule.Main.PATH)
+            .putExtra(AppModule.Main.EXTRA_MAIN_TAB, HomeTab.MESSAGE.tab)
+            .start()
+    }
+
     override fun goMoreBtnClick(privilegeType: Int) {
         val activity = activity ?: return
         when (privilegeType) {