finish the authorize logic

This commit is contained in:
unknown
2020-03-27 15:54:21 +08:00
parent d8351af5c5
commit 10a77cf8bb
39 changed files with 451 additions and 130 deletions

View File

@@ -1,8 +1,11 @@
package com.mogo.module.guide
import com.alibaba.android.arouter.launcher.ARouter
import com.mogo.module.authorize.authprovider.invoke.AuthorizeConstant
import com.mogo.module.authorize.authprovider.module.IMogoAuthorizeModuleManager
import com.mogo.module.guide.fragment.GuideFragment
import com.mogo.module.guide.util.SharedPreferenceUtil.hasGuide
import com.mogo.module.guide.util.SharedPreferenceUtil.setGuideFinish
import com.mogo.service.IMogoServiceApis
import com.mogo.service.MogoServicePaths
import com.mogo.service.fragmentmanager.FragmentDescriptor
@@ -15,7 +18,7 @@ object GuideBizManager {
fun init() {
Logger.d("GuideBizManager", "init===================================")
initService()
// addGuideFragmentToStack()
addGuideFragmentToStack()
}
private fun initService() {
@@ -35,8 +38,19 @@ object GuideBizManager {
}
fun removeGuideFragmentToStack() {
Logger.d("GuideBizManager", "removeGuideFragmentToStack")
setGuideFinish()
serviceApi?.let {
it.fragmentManagerApi.pop()
}
}
fun invokeAuthorize() {
val authorizeInvoke = ARouter.getInstance().build(AuthorizeConstant.PROVIDER_MODULE).navigation()
if (authorizeInvoke is IMogoAuthorizeModuleManager) {
if (authorizeInvoke.needAuthorize()) {
authorizeInvoke.invokeAuthorizeForShow()
}
}
}
}

View File

@@ -1,9 +1,6 @@
package com.mogo.module.guide.fragment
import com.alibaba.android.arouter.launcher.ARouter
import com.mogo.commons.mvp.MvpFragment
import com.mogo.module.authorize.authprovider.invoke.AuthorizeConstant
import com.mogo.module.authorize.authprovider.module.IMogoAuthorizeModuleManager
import com.mogo.module.guide.GuideBizManager
import com.mogo.module.guide.R
import com.mogo.utils.logger.Logger
@@ -44,17 +41,15 @@ class GuideFragment : MvpFragment<GuideConstract.View, GuidePresenter>(), GuideC
fun closeGuideFragment() {
Logger.d(TAG, "closeGuideFragment")
val authorizeInvoke = ARouter.getInstance().build(AuthorizeConstant.PROVIDER_MODULE).navigation()
if (authorizeInvoke is IMogoAuthorizeModuleManager) {
if (authorizeInvoke.needAuthorize()) {
authorizeInvoke.invokeAuthorizeForShow()
} else {
destroy()
}
}
destroy()
invokeAuthorize()
}
private fun destroy() {
GuideBizManager.removeGuideFragmentToStack()
}
private fun invokeAuthorize() {
GuideBizManager.invokeAuthorize()
}
}

View File

@@ -6,6 +6,7 @@ import com.mogo.commons.mvp.MvpFragment
import com.mogo.commons.mvp.Presenter
import com.mogo.module.guide.R
import com.mogo.module.guide.fragment.GuideFragment
import com.mogo.module.guide.util.AnalyticsUtil
import kotlinx.android.synthetic.main.module_guide_item_app_list.*
class GuideAppListFragment : MvpFragment<IView, Presenter<IView>>, View.OnClickListener {
@@ -25,6 +26,7 @@ class GuideAppListFragment : MvpFragment<IView, Presenter<IView>>, View.OnClickL
}
override fun initViews() {
AnalyticsUtil.track(AnalyticsUtil.INVOKE_TRACK_SHOW, hashMapOf("pages_num" to 6))
moduleGuideAppListNext.setOnClickListener(this)
moduleGuideAppListSkip.setOnClickListener(this)
}
@@ -32,9 +34,11 @@ class GuideAppListFragment : MvpFragment<IView, Presenter<IView>>, View.OnClickL
override fun onClick(v: View) {
when (v.id) {
R.id.moduleGuideAppListNext -> {
AnalyticsUtil.track(AnalyticsUtil.INVOKE_TRACK_CLICK, hashMapOf("pages_num" to 6, "button_type" to 1))
containerFragment?.moveToNext()
}
R.id.moduleGuideAppListSkip -> {
AnalyticsUtil.track(AnalyticsUtil.INVOKE_TRACK_CLICK, hashMapOf("pages_num" to 6, "button_type" to 2))
containerFragment?.moveToLast()
}
}

View File

@@ -6,13 +6,16 @@ import com.mogo.commons.mvp.MvpFragment
import com.mogo.commons.mvp.Presenter
import com.mogo.module.guide.R
import com.mogo.module.guide.fragment.GuideFragment
import com.mogo.module.guide.util.AnalyticsUtil
import com.mogo.module.guide.util.AnalyticsUtil.INVOKE_TRACK_CLICK
import com.mogo.module.guide.util.AnalyticsUtil.INVOKE_TRACK_SHOW
import kotlinx.android.synthetic.main.module_guide_item_card.*
class GuideCardFragment : MvpFragment<IView, Presenter<IView>>, View.OnClickListener {
private var containerFragment:GuideFragment? = null
private var containerFragment: GuideFragment? = null
constructor(containerFragment:GuideFragment){
constructor(containerFragment: GuideFragment) {
this.containerFragment = containerFragment
}
@@ -25,6 +28,7 @@ class GuideCardFragment : MvpFragment<IView, Presenter<IView>>, View.OnClickList
}
override fun initViews() {
AnalyticsUtil.track(INVOKE_TRACK_SHOW, hashMapOf("pages_num" to 2))
moduleGuideCardNext.setOnClickListener(this)
moduleGuideCardSkip.setOnClickListener(this)
}
@@ -32,9 +36,11 @@ class GuideCardFragment : MvpFragment<IView, Presenter<IView>>, View.OnClickList
override fun onClick(v: View) {
when (v.id) {
R.id.moduleGuideCardNext -> {
AnalyticsUtil.track(INVOKE_TRACK_CLICK, hashMapOf("pages_num" to 2, "button_type" to 1))
containerFragment?.moveToNext()
}
R.id.moduleGuideCardSkip -> {
AnalyticsUtil.track(INVOKE_TRACK_CLICK, hashMapOf("pages_num" to 2, "button_type" to 2))
containerFragment?.moveToLast()
}
}

View File

@@ -6,9 +6,10 @@ import com.mogo.commons.mvp.MvpFragment
import com.mogo.commons.mvp.Presenter
import com.mogo.module.guide.R
import com.mogo.module.guide.fragment.GuideFragment
import com.mogo.module.guide.util.AnalyticsUtil
import kotlinx.android.synthetic.main.module_guide_item_entry_main.*
class GuideEntryMainFragment : MvpFragment<IView, Presenter<IView>>,View.OnClickListener {
class GuideEntryMainFragment : MvpFragment<IView, Presenter<IView>>, View.OnClickListener {
private var containerFragment: GuideFragment? = null
@@ -25,12 +26,14 @@ class GuideEntryMainFragment : MvpFragment<IView, Presenter<IView>>,View.OnClick
}
override fun initViews() {
AnalyticsUtil.track(AnalyticsUtil.INVOKE_TRACK_SHOW, hashMapOf("pages_num" to 7))
moduleGuideEntryMain.setOnClickListener(this)
}
override fun onClick(v: View) {
when(v.id){
when (v.id) {
R.id.moduleGuideEntryMain -> {
AnalyticsUtil.track(AnalyticsUtil.INVOKE_TRACK_CLICK, hashMapOf("pages_num" to 7, "button_type" to 3))
containerFragment?.closeGuideFragment()
}
}

View File

@@ -6,6 +6,7 @@ import com.mogo.commons.mvp.MvpFragment
import com.mogo.commons.mvp.Presenter
import com.mogo.module.guide.R
import com.mogo.module.guide.fragment.GuideFragment
import com.mogo.module.guide.util.AnalyticsUtil
import kotlinx.android.synthetic.main.module_guide_item_location.*
class GuideLocationFragment : MvpFragment<IView, Presenter<IView>>, View.OnClickListener {
@@ -25,6 +26,7 @@ class GuideLocationFragment : MvpFragment<IView, Presenter<IView>>, View.OnClick
}
override fun initViews() {
AnalyticsUtil.track(AnalyticsUtil.INVOKE_TRACK_SHOW, hashMapOf("pages_num" to 5))
moduleGuideLocationNext.setOnClickListener(this)
moduleGuideLocationSkip.setOnClickListener(this)
}
@@ -32,9 +34,11 @@ class GuideLocationFragment : MvpFragment<IView, Presenter<IView>>, View.OnClick
override fun onClick(v: View) {
when (v.id) {
R.id.moduleGuideLocationNext -> {
AnalyticsUtil.track(AnalyticsUtil.INVOKE_TRACK_CLICK, hashMapOf("pages_num" to 5, "button_type" to 1))
containerFragment?.moveToNext()
}
R.id.moduleGuideLocationSkip -> {
AnalyticsUtil.track(AnalyticsUtil.INVOKE_TRACK_CLICK, hashMapOf("pages_num" to 5, "button_type" to 2))
containerFragment?.moveToLast()
}
}

View File

@@ -6,6 +6,7 @@ import com.mogo.commons.mvp.MvpFragment
import com.mogo.commons.mvp.Presenter
import com.mogo.module.guide.R
import com.mogo.module.guide.fragment.GuideFragment
import com.mogo.module.guide.util.AnalyticsUtil
import kotlinx.android.synthetic.main.module_guide_item_navigation.*
class GuideNavigationFragment : MvpFragment<IView, Presenter<IView>>, View.OnClickListener {
@@ -25,6 +26,7 @@ class GuideNavigationFragment : MvpFragment<IView, Presenter<IView>>, View.OnCli
}
override fun initViews() {
AnalyticsUtil.track(AnalyticsUtil.INVOKE_TRACK_SHOW, hashMapOf("pages_num" to 4))
moduleGuideNavigationNext.setOnClickListener(this)
moduleGuideNavigationSkip.setOnClickListener(this)
}
@@ -32,9 +34,11 @@ class GuideNavigationFragment : MvpFragment<IView, Presenter<IView>>, View.OnCli
override fun onClick(v: View) {
when (v.id) {
R.id.moduleGuideNavigationNext -> {
AnalyticsUtil.track(AnalyticsUtil.INVOKE_TRACK_CLICK, hashMapOf("pages_num" to 4, "button_type" to 1))
containerFragment?.moveToNext()
}
R.id.moduleGuideNavigationSkip -> {
AnalyticsUtil.track(AnalyticsUtil.INVOKE_TRACK_CLICK, hashMapOf("pages_num" to 4, "button_type" to 2))
containerFragment?.moveToLast()
}
}

View File

@@ -6,6 +6,7 @@ import com.mogo.commons.mvp.MvpFragment
import com.mogo.commons.mvp.Presenter
import com.mogo.module.guide.R
import com.mogo.module.guide.fragment.GuideFragment
import com.mogo.module.guide.util.AnalyticsUtil
import kotlinx.android.synthetic.main.module_guide_item_online_car.*
class GuideOnLineCarFragment : MvpFragment<IView, Presenter<IView>>, View.OnClickListener {
@@ -25,6 +26,7 @@ class GuideOnLineCarFragment : MvpFragment<IView, Presenter<IView>>, View.OnClic
}
override fun initViews() {
AnalyticsUtil.track(AnalyticsUtil.INVOKE_TRACK_SHOW, hashMapOf("pages_num" to 3))
moduleGuideOnLineCarNext.setOnClickListener(this)
moduleGuideOnLineCarSkip.setOnClickListener(this)
}
@@ -32,9 +34,11 @@ class GuideOnLineCarFragment : MvpFragment<IView, Presenter<IView>>, View.OnClic
override fun onClick(v: View) {
when (v.id) {
R.id.moduleGuideOnLineCarNext -> {
AnalyticsUtil.track(AnalyticsUtil.INVOKE_TRACK_CLICK, hashMapOf("pages_num" to 3, "button_type" to 1))
containerFragment?.moveToNext()
}
R.id.moduleGuideOnLineCarSkip -> {
AnalyticsUtil.track(AnalyticsUtil.INVOKE_TRACK_CLICK, hashMapOf("pages_num" to 3, "button_type" to 2))
containerFragment?.moveToLast()
}
}

View File

@@ -4,6 +4,8 @@ import com.mogo.commons.mvp.IView
import com.mogo.commons.mvp.MvpFragment
import com.mogo.commons.mvp.Presenter
import com.mogo.module.guide.R
import com.mogo.module.guide.util.AnalyticsUtil
import com.mogo.module.guide.util.AnalyticsUtil.INVOKE_TRACK_SHOW
class GuideStartFragment : MvpFragment<IView, Presenter<IView>>() {
@@ -16,7 +18,7 @@ class GuideStartFragment : MvpFragment<IView, Presenter<IView>>() {
}
override fun initViews() {
AnalyticsUtil.track(INVOKE_TRACK_SHOW, hashMapOf("pages_num" to 1))
}
class GuideStartPresenter : Presenter<IView> {

View File

@@ -0,0 +1,24 @@
package com.mogo.module.guide.util
import com.alibaba.android.arouter.launcher.ARouter
import com.mogo.service.IMogoServiceApis
import com.mogo.service.MogoServicePaths
import com.mogo.service.analytics.IMogoAnalytics
object AnalyticsUtil {
const val INVOKE_TRACK_SHOW = "newhand_show"
const val INVOKE_TRACK_CLICK = "newhand_click"
private var trackRouter: IMogoAnalytics? = null
fun track(eventType: String, data: MutableMap<String, Any>? = hashMapOf()) {
if (trackRouter == null) {
val arouter = ARouter.getInstance().build(MogoServicePaths.PATH_SERVICE_APIS).navigation()
if (arouter is IMogoServiceApis) {
trackRouter = arouter.analyticsApi
}
}
trackRouter!!.track(eventType, data)
}
}

View File

@@ -11,4 +11,8 @@ object SharedPreferenceUtil {
return SharedPrefsMgr.getInstance(AbsMogoApplication.getApp()).getBoolean(HAS_GUIDE, false)
}
fun setGuideFinish() {
SharedPrefsMgr.getInstance(AbsMogoApplication.getApp()).putBoolean(HAS_GUIDE, true)
}
}