123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122 |
- package com.develop.auth.ui
- import android.os.Bundle
- import android.view.LayoutInflater
- import android.view.View
- import androidx.fragment.app.Fragment
- import com.alibaba.android.arouter.facade.annotation.Autowired
- import com.alibaba.android.arouter.facade.annotation.Route
- import com.alibaba.android.arouter.launcher.ARouter
- import com.develop.auth.R
- import com.develop.auth.databinding.ActivityMemberAuthBinding
- import com.develop.auth.viewmodel.FragmentTag
- import com.develop.auth.viewmodel.MemberViewModel
- import com.develop.base.ext.getSN
- import com.develop.base.ext.isBrand011A
- import com.develop.base.ext.isBrand036I
- import com.develop.base.ext.isBrand054A
- import com.develop.base.ext.isNightTheme
- import com.develop.base.ext.navigateTo
- import com.develop.base.ext.setVisible
- import com.develop.base.util.MMkvUtils
- import com.develop.common.router.Screens
- import com.develop.common.tag.LOGIN_TAG
- import com.develop.common.ui.CommonBVMActivity
- @Route(path = Screens.Auth.MEMBER)
- class MemberAuthActivity : CommonBVMActivity<ActivityMemberAuthBinding, MemberViewModel>() {
- @JvmField
- @Autowired(name = "enter_from_home")
- var enterFromHome: Boolean = false
- @JvmField
- @Autowired(name = "isTokenOut")
- var isTokenOut: Boolean = false
- private val memberForgotFragment = MemberForgotFragment()
- private val memberLaunchFragment = MemberLaunchFragment()
- private val memberLoginBinding = MemberLoginFragment()
- private val memberProfileFragment = MemberProfileFragment()
- private val memberRegisterFragment = MemberRegisterFragment()
- private val fragmentMap = HashMap<FragmentTag, Fragment>()
- override fun createViewModel(): MemberViewModel {
- return getViewModel(MemberViewModel::class.java)
- }
- override fun createViewBinding(inflater: LayoutInflater): ActivityMemberAuthBinding {
- return ActivityMemberAuthBinding.inflate(inflater)
- }
- override fun onCreate(savedInstanceState: Bundle?) {
- super.onCreate(savedInstanceState)
- ARouter.getInstance().inject(this)
- if (isNightTheme()) {
- binding.tvSkip.setBackgroundResource(0)
- } else {
- binding.tvSkip.setBackgroundResource(com.develop.common.R.drawable.bg_skip_text)
- }
- if (isBrand036I()) {
- //binding.ivLogo.setVisible()
- binding.ivBanner.setImageResource(com.develop.common.R.drawable.guide_bg_036i)
- } else if (getSN().startsWith("002D")){
- binding.ivBanner.setImageResource(com.develop.common.R.drawable.account_background_002d)
- }else if (isBrand011A()){
- binding.ivBanner.setImageResource(com.develop.common.R.drawable.account_background_011a)
- }else if (isBrand054A()){
- binding.ivBanner.setImageResource(com.develop.common.R.drawable.account_background_054a)
- }else if (getSN().startsWith("045")){
- binding.ivBanner.setImageResource(com.develop.common.R.drawable.account_background_045a)
- }
- initFragmentList()
- viewModel.enterFromHome = enterFromHome
- binding.tvSkip.setOnClickListener {
- if (enterFromHome) {
- finish()
- } else {
- navigateTo(Screens.Main.ENTRANCE_CHOSEN)
- finish()
- }
- }
- viewModel.fragmentChangeLiveData.observe(this) {
- fragmentMap[it]?.apply {
- replaceFragment(R.id.fl_container, this)
- }
- }
- if (isTokenOut) {
- ensureFragmentAdd(
- R.id.fl_container,
- MemberLoginFragment()
- )
- } else {
- if (MMkvUtils.getBool(LOGIN_TAG)) {
- addFragment(
- R.id.fl_container,
- memberProfileFragment
- )
- } else {
- addFragment(
- R.id.fl_container,
- memberLaunchFragment
- )
- }
- }
- }
- private fun initFragmentList() {
- fragmentMap[FragmentTag.MEMBER_FORGER] = memberForgotFragment
- fragmentMap[FragmentTag.MEMBER_LAUNCH] = memberLaunchFragment
- fragmentMap[FragmentTag.MEMBER_LOGIN] = memberLoginBinding
- fragmentMap[FragmentTag.MEMBER_PROFILE] = memberProfileFragment
- fragmentMap[FragmentTag.MEMBER_REGISTER] = memberRegisterFragment
- }
- fun getRootView(): View {
- return binding.flRoot
- }
- override fun onDestroy() {
- super.onDestroy()
- fragmentMap.clear()
- }
- }
|