diff --git a/app/src/main/java/com/gh/common/constant/Constants.java b/app/src/main/java/com/gh/common/constant/Constants.java index f23900ba5d..6ec0b47b99 100644 --- a/app/src/main/java/com/gh/common/constant/Constants.java +++ b/app/src/main/java/com/gh/common/constant/Constants.java @@ -252,6 +252,22 @@ public class Constants { public static final String LEVEL_ADDRESS_DEV = "https://static-web.ghzs.com/ghzs-userhome-dev/index.html#/level"; public static final String LEVEL_ADDRESS = "https://static-web.ghzs.com/ghzs-userhome/index.html#/level"; + // 兑换规则 + public static final String EXCHANGE_RULE_ADDRESS_DEV = "https://static-web.ghzs.com/shop-dev/index.html#/exchange-rule?from=ghzs"; + public static final String EXCHANGE_RULE_ADDRESS = "https://static-web.ghzs.com/shop/index.html#/exchange-rule?from=ghzs"; + + // 光能规则 + public static final String ENERGY_RULE_ADDRESS_DEV = "https://static-web.ghzs.com/shop-dev/index.html#/energy-rule?from=ghzs"; + public static final String ENERGY_RULE_ADDRESS = "https://static-web.ghzs.com/shop/index.html#/energy-rule?from=ghzs"; + + // 兑换商品 + public static final String EXCHANGE_COMMODITY_ADDRESS_DEV = "https://static-web.ghzs.com/shop-dev/index.html#/exchange-log?from=ghzsg"; + public static final String EXCHANGE_COMMODITY_ADDRESS = "https://static-web.ghzs.com/shop/index.html#/exchange-log?from=ghzs"; + + // 抽奖乐园 + public static final String LOTTERY_PARADISE_ADDRESS_DEV = "https://static-web.ghzs.com/shop-dev/index.html#/lottery-list?from=ghzs"; + public static final String LOTTERY_PARADISE_ADDRESS = "https://static-web.ghzs.com/shop/index.html#/lottery-list?from=ghzs"; + //最少需要多少数据才能上传 public static final int DATA_AMOUNT = 20; diff --git a/app/src/main/java/com/gh/common/util/DirectUtils.kt b/app/src/main/java/com/gh/common/util/DirectUtils.kt index 2b6027337d..2aed479c0b 100644 --- a/app/src/main/java/com/gh/common/util/DirectUtils.kt +++ b/app/src/main/java/com/gh/common/util/DirectUtils.kt @@ -1285,4 +1285,64 @@ object DirectUtils { url = String.format(Locale.CHINA, "%s?timestamp=%d", url, (Date().time / 1000 / 1000.toFloat()).roundToInt()) directToFullScreenWebPage(context, url, true) } + + /** + * 跳转至兑换规则 + */ + @JvmStatic + fun directToExchangeRulePage(context: Context) { + var url: String = if (isPublishEnv()) { + Constants.EXCHANGE_RULE_ADDRESS + } else { + Constants.EXCHANGE_RULE_ADDRESS_DEV + } + + url = String.format(Locale.CHINA, "%s×tamp=%d", url, (Date().time / 1000 / 1000.toFloat()).roundToInt()) + directToFullScreenWebPage(context, url, true) + } + + /** + * 跳转至光能规则 + */ + @JvmStatic + fun directToEnergyRulePage(context: Context) { + var url: String = if (isPublishEnv()) { + Constants.ENERGY_RULE_ADDRESS + } else { + Constants.ENERGY_RULE_ADDRESS_DEV + } + + url = String.format(Locale.CHINA, "%s×tamp=%d", url, (Date().time / 1000 / 1000.toFloat()).roundToInt()) + directToFullScreenWebPage(context, url, true) + } + + /** + * 跳转至兑换商品 + */ + @JvmStatic + fun directToExchangeCommodityPage(context: Context) { + var url: String = if (isPublishEnv()) { + Constants.EXCHANGE_COMMODITY_ADDRESS + } else { + Constants.EXCHANGE_COMMODITY_ADDRESS_DEV + } + + url = String.format(Locale.CHINA, "%s×tamp=%d", url, (Date().time / 1000 / 1000.toFloat()).roundToInt()) + directToFullScreenWebPage(context, url, true) + } + + /** + * 跳转至抽奖乐园 + */ + @JvmStatic + fun directToLotteryParadisePage(context: Context) { + var url: String = if (isPublishEnv()) { + Constants.LOTTERY_PARADISE_ADDRESS + } else { + Constants.LOTTERY_PARADISE_ADDRESS_DEV + } + + url = String.format(Locale.CHINA, "%s×tamp=%d", url, (Date().time / 1000 / 1000.toFloat()).roundToInt()) + directToFullScreenWebPage(context, url, true) + } } \ No newline at end of file diff --git a/app/src/main/java/com/gh/common/util/EntranceUtils.java b/app/src/main/java/com/gh/common/util/EntranceUtils.java index e81af2a20a..b4ff38cb88 100644 --- a/app/src/main/java/com/gh/common/util/EntranceUtils.java +++ b/app/src/main/java/com/gh/common/util/EntranceUtils.java @@ -225,6 +225,7 @@ public class EntranceUtils { public static final String KEY_CATEGORY_LIST = "categoty_list"; public static final String KEY_IS_FREE = "is_free"; public static final String KEY_IS_SIGN = "is_sign"; + public static final String KEY_TAB_INDEX = "tab_index"; public static void jumpActivity(Context context, Bundle bundle) { bundle.putBoolean(KEY_REQUIRE_REDIRECT, true); diff --git a/app/src/main/java/com/gh/gamecenter/energy/EnergyCenterActivity.kt b/app/src/main/java/com/gh/gamecenter/energy/EnergyCenterActivity.kt index 24aca2e000..0005058712 100644 --- a/app/src/main/java/com/gh/gamecenter/energy/EnergyCenterActivity.kt +++ b/app/src/main/java/com/gh/gamecenter/energy/EnergyCenterActivity.kt @@ -24,12 +24,21 @@ class EnergyCenterActivity : NormalActivity() { companion object { fun getIntent(context: Context?): Intent? { - return getIntent(context, false) + return getIntent(context, false, 0) } - fun getIntent(context: Context?, isSign: Boolean = false): Intent? { + fun getIntent(context: Context?, isSign: Boolean): Intent? { + return getIntent(context, isSign, 0) + } + + fun getIntent(context: Context?, initTabIndex: Int): Intent? { + return getIntent(context, false, initTabIndex) + } + + fun getIntent(context: Context?, isSign: Boolean = false, initTabIndex: Int): Intent? { val bundle = Bundle() bundle.putBoolean(EntranceUtils.KEY_IS_SIGN, isSign) + bundle.putInt(EntranceUtils.KEY_TAB_INDEX, if (initTabIndex == 0 || initTabIndex == 1) initTabIndex else 0) return getTargetIntent(context, EnergyCenterActivity::class.java, EnergyCenterFragment::class.java, bundle) } } diff --git a/app/src/main/java/com/gh/gamecenter/energy/EnergyCenterFragment.kt b/app/src/main/java/com/gh/gamecenter/energy/EnergyCenterFragment.kt index 22fd7faf4a..d1af03110b 100644 --- a/app/src/main/java/com/gh/gamecenter/energy/EnergyCenterFragment.kt +++ b/app/src/main/java/com/gh/gamecenter/energy/EnergyCenterFragment.kt @@ -35,9 +35,10 @@ class EnergyCenterFragment : BaseLazyFragment() { private var mFragmentsList = ArrayList() private var mCategoryList = ArrayList() private var mUserInfo: UserInfoEntity? = null - private var mEnergy = 0 + private var mEnergy = 0 private var mAutoSign = false private var mSignStatus: SignStatusEntity? = null + private var mInitTabIndex = 0 override fun getLayoutId() = 0 @@ -76,6 +77,8 @@ class EnergyCenterFragment : BaseLazyFragment() { super.onCreate(savedInstanceState) mAutoSign = arguments?.getBoolean(EntranceUtils.KEY_IS_SIGN) ?: false + mInitTabIndex = arguments?.getInt(EntranceUtils.KEY_TAB_INDEX) ?: 0 + if (mInitTabIndex != 0 && mInitTabIndex != 1) mInitTabIndex = 0 mEnergyCenterViewModel = viewModelProvider() mUserViewModel = viewModelProvider(UserViewModel.Factory(HaloApp.getInstance().application)) @@ -249,7 +252,10 @@ class EnergyCenterFragment : BaseLazyFragment() { tab.customView = tabView } - tabLayout.getTabAt(0)?.let { updateTabStyle(it, true) } + viewpager.currentItem = mInitTabIndex + tabLayout.getTabAt(mInitTabIndex)?.let { updateTabStyle(it, true) } + if (mInitTabIndex == 1) setNestedScrollingEnabledForIndex(mInitTabIndex) + tabLayout.addOnTabSelectedListener(object : TabLayout.OnTabSelectedListener { override fun onTabReselected(tab: TabLayout.Tab?) { updateTabStyle(tab, true) @@ -271,13 +277,18 @@ class EnergyCenterFragment : BaseLazyFragment() { } else { IntegralLogHelper.log("click_tab_exchange", LOCATION) } - (mFragmentsList[0] as TaskFragment).setNestedScrollingEnabled(it == 0) - (mFragmentsList[1] as CommodityFragment).setNestedScrollingEnabled(it == 1) - bottomSheet.requestLayout() + + setNestedScrollingEnabledForIndex(it) } } } + private fun setNestedScrollingEnabledForIndex(index: Int) { + (mFragmentsList[0] as TaskFragment).setNestedScrollingEnabled(index == 0) + (mFragmentsList[1] as CommodityFragment).setNestedScrollingEnabled(index == 1) + mBinding?.bottomSheet?.requestLayout() + } + private fun getTabView(title: String): View { val view = LayoutInflater.from(HaloApp.getInstance().application.baseContext).inflate(R.layout.tab_item_energy_center, null) val tabTitle = view.findViewById(R.id.tab_title) @@ -306,6 +317,7 @@ class EnergyCenterFragment : BaseLazyFragment() { log("click_energy_record", LOCATION, "光能中心-光能值") log("view_energy_record", "光能明细") } + ifLogin("光能中心-光能值") { DirectUtils.directToEnergyRecord(requireContext()) } @@ -316,6 +328,8 @@ class EnergyCenterFragment : BaseLazyFragment() { log("click_energy_rule", LOCATION) log("view_energy_rule", "光能规则") } + + DirectUtils.directToEnergyRulePage(requireContext()) } R.id.inviteFriends -> { @@ -323,6 +337,7 @@ class EnergyCenterFragment : BaseLazyFragment() { log("click_invite_friend", LOCATION) log("view_invite_friend", "邀请好友页") } + ifLogin("光能中心-邀请好友") { DirectUtils.directToInviteFriends(requireContext()) } @@ -330,6 +345,7 @@ class EnergyCenterFragment : BaseLazyFragment() { R.id.signSwitch -> { IntegralLogHelper.log("click_sign_remind", LOCATION) + ifLogin("光能中心-签到提醒") { if (!ClickUtils.isFastDoubleClick()) { dealSignRemind() diff --git a/app/src/main/java/com/gh/gamecenter/energy/EnergyHouseFragment.kt b/app/src/main/java/com/gh/gamecenter/energy/EnergyHouseFragment.kt index 72bf6737e8..42b5eb1f9a 100644 --- a/app/src/main/java/com/gh/gamecenter/energy/EnergyHouseFragment.kt +++ b/app/src/main/java/com/gh/gamecenter/energy/EnergyHouseFragment.kt @@ -349,6 +349,8 @@ class EnergyHouseFragment: BaseLazyFragment() { log("click_exchange_rule", LOCATION) log("view_exchange_rule", "兑换规则") } + + DirectUtils.directToExchangeRulePage(requireContext()) } R.id.exchangeCommodity -> { @@ -356,8 +358,9 @@ class EnergyHouseFragment: BaseLazyFragment() { log("click_exchange_record", LOCATION) log("view_exchange_record", "兑换商品") } - ifLogin("光能屋-兑换商品") { + ifLogin("光能屋-兑换商品") { + DirectUtils.directToExchangeCommodityPage(requireContext()) } } @@ -366,8 +369,9 @@ class EnergyHouseFragment: BaseLazyFragment() { log("click_draw_center", LOCATION) log("view_raffle_center", "抽奖乐园页") } - ifLogin("光能屋-抽奖乐园") { + ifLogin("光能屋-抽奖乐园") { + DirectUtils.directToLotteryParadisePage(requireContext()) } } diff --git a/app/src/main/java/com/gh/gamecenter/message/KeFuFragmentAdapter.java b/app/src/main/java/com/gh/gamecenter/message/KeFuFragmentAdapter.java index 369cc38bdc..c343803e2c 100644 --- a/app/src/main/java/com/gh/gamecenter/message/KeFuFragmentAdapter.java +++ b/app/src/main/java/com/gh/gamecenter/message/KeFuFragmentAdapter.java @@ -33,6 +33,7 @@ import com.gh.gamecenter.R; import com.gh.gamecenter.WebActivity; import com.gh.gamecenter.adapter.viewholder.FooterViewHolder; import com.gh.gamecenter.baselist.ListAdapter; +import com.gh.gamecenter.energy.EnergyCenterActivity; import com.gh.gamecenter.entity.LinkEntity; import com.gh.gamecenter.entity.MessageKeFuEntity; import com.gh.gamecenter.entity.MessageLinkEntity; @@ -379,8 +380,18 @@ public class KeFuFragmentAdapter extends ListAdapter { } break; case "光能记录": + case "光能记录获取": DirectUtils.directToEnergyRecord(mContext); break; + case "光能记录使用": + DirectUtils.directToEnergyRecord(mContext, 1); + break; + case "光能中心赚光能": + mContext.startActivity(EnergyCenterActivity.Companion.getIntent(mContext)); + break; + case "光能中心兑换": + mContext.startActivity(EnergyCenterActivity.Companion.getIntent(mContext, 1)); + break; default: LinkEntity entity = new LinkEntity(); entity.setType(data.getType()); @@ -424,8 +435,18 @@ public class KeFuFragmentAdapter extends ListAdapter { } break; case "energy_record": + case "energy_record_get": DirectUtils.directToEnergyRecord(mContext); break; + case "energy_record_cost": + DirectUtils.directToEnergyRecord(mContext, 1); + break; + case "energy_center_get": + mContext.startActivity(EnergyCenterActivity.Companion.getIntent(mContext)); + break; + case "energy_center_exchange": + mContext.startActivity(EnergyCenterActivity.Companion.getIntent(mContext, 1)); + break; default: DirectUtils.directToLinkPage(mContext, data, mEntrance, "(消息-客服)"); break;