This commit is contained in:
unknown
2020-03-25 21:03:48 +08:00
parent e9a6dd2bc4
commit f33f4faf61
29 changed files with 307 additions and 45 deletions

View File

@@ -24,7 +24,7 @@ SNAPSHOT_REPOSITORY_URL=http://nexus.zhidaoauto.com/repository/maven-snapshots/
USERNAME=xintai
PASSWORD=xintai2018
# 编译模式: false - 依赖本地版本, true - 依赖 maven 版本
RELEASE=false
RELEASE=true
# 模块版本
## 工程内模块
MOGO_MODULE_SHARE_VERSION=1.0.2-SNAPSHOT

View File

@@ -4,14 +4,15 @@ import com.mogo.module.authorize.authprovider.invoke.IMogoAuthorizeContentListen
import com.mogo.module.authorize.authprovider.invoke.IMogoAuthorizeInvoke
import com.mogo.module.authorize.authprovider.module.IMogoAcquireAuthorizeListener
import com.mogo.module.authorize.model.proxy.AuthorizeProxy
import com.mogo.module.authorize.util.SharedPreferenceUtil.hasAuth
import com.mogo.module.authorize.util.SharedPreferenceUtil.needAuthorization
import com.mogo.utils.logger.Logger
open abstract class MogoAuthorizeManagerImpl : IMogoAuthorizeInvoke {
private val baseController: IMogoAuthorizeController by lazy { IMogoAuthorizeController() }
override fun needAuthorize(): Boolean {
return hasAuth()
return needAuthorization()
}
override fun invokeAuthorizeContent(tag: String) {
@@ -29,6 +30,7 @@ open abstract class MogoAuthorizeManagerImpl : IMogoAuthorizeInvoke {
}
override fun registerAuthorizeListener(tag: String, listener: IMogoAcquireAuthorizeListener) {
Logger.d("AuthorizeManager", "registerAuthorize tag : $tag listener:$listener")
MogoAuthorizeRegisterHandler.registerAuthorizeListener(tag, listener)
}

View File

@@ -3,6 +3,7 @@ package com.mogo.module.authorize.authprovider.biz
import com.mogo.module.authorize.authprovider.invoke.IMogoAuthorizeContentListener
import com.mogo.module.authorize.authprovider.invoke.IMogoAuthorizeRegister
import com.mogo.module.authorize.authprovider.module.IMogoAcquireAuthorizeListener
import com.mogo.utils.logger.Logger
import java.util.concurrent.ConcurrentHashMap
object MogoAuthorizeRegisterHandler : IMogoAuthorizeRegister {
@@ -11,6 +12,7 @@ object MogoAuthorizeRegisterHandler : IMogoAuthorizeRegister {
private val authContentMap: ConcurrentHashMap<String, IMogoAuthorizeContentListener> = ConcurrentHashMap()
override fun registerAuthorizeListener(tag: String, listener: IMogoAcquireAuthorizeListener) {
Logger.d("RegisterHandler", "tag : $tag listener:$listener")
authMap[tag] = listener
}

View File

@@ -9,33 +9,25 @@ interface IMogoAuthorizeRegister {
* tag:module tag
* @see IMogoAcquireAuthorizeListener
*/
fun registerAuthorizeListener(tag: String, listener: IMogoAcquireAuthorizeListener) {
}
fun registerAuthorizeListener(tag: String, listener: IMogoAcquireAuthorizeListener)
/**
* 反注册授权回调
* tag:module tag
*/
fun unregisterAuthorizeListener(tag: String) {
}
fun unregisterAuthorizeListener(tag: String)
/**
* 注册授权信息内容回调
* tag:module tag
* @see IMogoAuthorizeContentListener
*/
fun registerInvokeAuthorizeContentListener(tag: String, listener: IMogoAuthorizeContentListener) {
}
fun registerInvokeAuthorizeContentListener(tag: String, listener: IMogoAuthorizeContentListener)
/**
* 反注册授权信息内容回调
* tag:module tag
*/
fun unregisterInvokeAuthorizeContentListener(tag: String) {
}
fun unregisterInvokeAuthorizeContentListener(tag: String)
}

View File

@@ -4,6 +4,7 @@ import com.alibaba.android.arouter.facade.annotation.Route
import com.mogo.module.authorize.authprovider.invoke.AuthorizeConstant
import com.mogo.module.authorize.authprovider.invoke.IMogoAuthorizeContentListener
import com.mogo.module.authorize.authprovider.launcher.MogoMainAuthorize.Companion.mogoAuthShow
import com.mogo.module.authorize.authprovider.module.IMogoAcquireAuthorizeListener
@Route(path = AuthorizeConstant.PROVIDER_LAUNCHER)
class IMogoAuthorizeMainManager : IMogoAuthorizeMainProvider {
@@ -23,4 +24,20 @@ class IMogoAuthorizeMainManager : IMogoAuthorizeMainProvider {
override fun disAgreeAuthorize(tag: String, agrId: Long) {
mogoAuthShow.disAgreeAuthorize(tag, agrId)
}
override fun registerAuthorizeListener(tag: String, listener: IMogoAcquireAuthorizeListener) {
mogoAuthShow.registerAuthorizeListener(tag, listener)
}
override fun unregisterAuthorizeListener(tag: String) {
mogoAuthShow.unregisterAuthorizeListener(tag)
}
override fun registerInvokeAuthorizeContentListener(tag: String, listener: IMogoAuthorizeContentListener) {
mogoAuthShow.registerInvokeAuthorizeContentListener(tag, listener)
}
override fun unregisterInvokeAuthorizeContentListener(tag: String) {
mogoAuthShow.unregisterInvokeAuthorizeContentListener(tag)
}
}

View File

@@ -5,10 +5,12 @@ import com.alibaba.android.arouter.launcher.ARouter
import com.mogo.module.authorize.authprovider.biz.MogoAuthorizeManagerImpl
import com.mogo.module.authorize.authprovider.biz.MogoAuthorizeRegisterHandler
import com.mogo.module.authorize.fragment.AuthorizeFragment
import com.mogo.module.authorize.util.ServiceUtil.getFragmentManagerApi
import com.mogo.module.authorize.util.SharedPreferenceUtil.hasAuth
import com.mogo.service.IMogoServiceApis
import com.mogo.service.MogoServicePaths
import com.mogo.service.fragmentmanager.FragmentDescriptor
import com.mogo.utils.logger.Logger
class MogoMainAuthorize private constructor() : MogoAuthorizeManagerImpl(), IMogoAuthorizeMainProvider {
@@ -21,7 +23,8 @@ class MogoMainAuthorize private constructor() : MogoAuthorizeManagerImpl(), IMog
}
}
private var serviceApi: IMogoServiceApis? = null
@Volatile
private var showAuthorizeView: Boolean = false
override fun agreeAuthorize(tag: String, agrId: Long) {
MogoAuthorizeMainController.agreeAuthorize(tag, agrId)
@@ -31,27 +34,61 @@ class MogoMainAuthorize private constructor() : MogoAuthorizeManagerImpl(), IMog
MogoAuthorizeMainController.disAgreeAuthorize(tag, agrId)
}
fun invokeAuthorizeForShow() {
if (showAuthorizeView) {
Logger.d(TAG, "User is operation authorization, do not repeat invoke")
return
}
pushFragmentToMainView {
showAuthorizeView = true
}
}
fun showAuthorizeView(tag: String, forbiddenVoice: (() -> Unit), onError: ((String) -> Unit)) {
val listener = MogoAuthorizeRegisterHandler.getAuthorizeListener(tag)
if (listener == null) {
onError.invoke("launcher authorizeShowListener is null,must register in MainActivity")
return
}
forbiddenVoice()
if (Thread.currentThread() != Looper.getMainLooper().thread) {
onError.invoke("invoke should be in main thread")
}
val mogoService = ARouter.getInstance().build(MogoServicePaths.PATH_SERVICE_APIS).navigation()
if (mogoService is IMogoServiceApis) {
serviceApi = mogoService
return
}
if (hasAuth()) {
onError.invoke("already authorize,do not repeat operation")
return
}
serviceApi?.let {
val builderWrapper = FragmentDescriptor.Builder().fragment(AuthorizeFragment()).build()
it.fragmentManagerApi.push(builderWrapper)
if (showAuthorizeView) {
onError.invoke("User is operation authorization, do not repeat invoke")
return
}
Logger.d(TAG, "ready to forbidden voice")
forbiddenVoice.invoke()
Logger.d(TAG, "ready to push fragment")
pushFragmentToMainView {
showAuthorizeView = true
}
}
fun hideAuthorizeView() {
popFragmentFromMainView {
showAuthorizeView = false
}
}
private inline fun pushFragmentToMainView(push: (() -> Unit)) {
val builderWrapper = FragmentDescriptor.Builder().fragment(AuthorizeFragment()).build()
Logger.d(TAG,"pushFragmentToMainView")
val mogoService = ARouter.getInstance().build(MogoServicePaths.PATH_SERVICE_APIS).navigation()
if (mogoService is IMogoServiceApis) {
mogoService.fragmentManagerApi.push(builderWrapper)
}
push.invoke()
}
private inline fun popFragmentFromMainView(pop: (() -> Unit)) {
getFragmentManagerApi().pop()
pop.invoke()
}
}

View File

@@ -12,6 +12,10 @@ class IMogoAuthorizeModuleManager : IMogoAuthorizeModuleProvider {
return mogoAuth.needAuthorize()
}
override fun invokeAuthorizeForShow() {
mogoAuth.invokeAuthorizeForShow()
}
override fun invokeAuthorization(tag: String) {
mogoAuth.invokeAuthorization(tag)
}
@@ -20,4 +24,20 @@ class IMogoAuthorizeModuleManager : IMogoAuthorizeModuleProvider {
mogoAuth.invokeAuthorizeContent(tag)
}
override fun registerAuthorizeListener(tag: String, listener: IMogoAcquireAuthorizeListener) {
mogoAuth.registerAuthorizeListener(tag, listener)
}
override fun unregisterAuthorizeListener(tag: String) {
mogoAuth.unregisterAuthorizeListener(tag)
}
override fun registerInvokeAuthorizeContentListener(tag: String, listener: IMogoAuthorizeContentListener) {
mogoAuth.registerInvokeAuthorizeContentListener(tag, listener)
}
override fun unregisterInvokeAuthorizeContentListener(tag: String) {
mogoAuth.unregisterInvokeAuthorizeContentListener(tag)
}
}

View File

@@ -11,6 +11,11 @@ interface IMogoAuthorizeModuleProvider : IProvider, IMogoAuthorizeInvoke {
}
/**
* 用于没有回调且直接调用授权页面展示 仅Launcher主界面业务使用
*/
fun invokeAuthorizeForShow()
/**
* 调用授权页面
*/

View File

@@ -12,6 +12,10 @@ class MogoModuleAuthorize private constructor() : MogoAuthorizeManagerImpl(), IM
}
}
override fun invokeAuthorizeForShow() {
mogoAuthShow.invokeAuthorizeForShow()
}
override fun invokeAuthorization(tag: String) {
mogoAuthShow.showAuthorizeView(tag, {
//todo SP存储状态

View File

@@ -1,10 +1,12 @@
package com.mogo.module.authorize.util
import com.alibaba.android.arouter.launcher.ARouter
import com.mogo.commons.AbsMogoApplication
import com.mogo.module.authorize.constant.HttpConstant.Companion.getNetHost
import com.mogo.module.authorize.net.AuthorizeApi
import com.mogo.service.IMogoServiceApis
import com.mogo.service.MogoServicePaths
import com.mogo.service.fragmentmanager.IMogoFragmentManager
object ServiceUtil {
@@ -24,7 +26,19 @@ object ServiceUtil {
}
fun getNetWorkApi(): AuthorizeApi {
checkInit()
return serviceApi.networkApi.create(AuthorizeApi::class.java, getNetHost())
}
fun getFragmentManagerApi(): IMogoFragmentManager {
checkInit()
return serviceApi.fragmentManagerApi
}
private fun checkInit() {
if (serviceApi == null) {
initMogoService()
}
}
}

View File

@@ -5,7 +5,11 @@ import com.mogo.utils.storage.SharedPrefsMgr
object SharedPreferenceUtil {
const val HAS_AUTH = "HAS_AUTH"
private const val HAS_AUTH = "HAS_AUTH"
fun needAuthorization():Boolean{
return !hasAuth()
}
fun hasAuth(): Boolean {
return SharedPrefsMgr.getInstance(AbsMogoApplication.getApp()).getBoolean(HAS_AUTH, false)

View File

@@ -56,11 +56,13 @@ dependencies {
implementation rootProject.ext.dependencies.mogocommons
implementation rootProject.ext.dependencies.moduleservice
implementation rootProject.ext.dependencies.mogoserviceapi
implementation rootProject.ext.dependencies.mogomoduleauth
} else {
implementation project(":foudations:mogo-utils")
implementation project(":foudations:mogo-commons")
implementation project(":modules:mogo-module-service")
implementation project(':services:mogo-service-api')
implementation project(':modules:mogo-module-authorize')
}
}

View File

@@ -13,9 +13,9 @@ object GuideBizManager {
private var serviceApi: IMogoServiceApis? = null
fun init() {
Logger.d("GuideBizManager","init===================================")
// initService()
// addGuideFragmentToStack()
Logger.d("GuideBizManager", "init===================================")
initService()
addGuideFragmentToStack()
}
private fun initService() {
@@ -33,4 +33,10 @@ object GuideBizManager {
}
}
}
fun removeGuideFragmentToStack() {
serviceApi?.let {
it.fragmentManagerApi.pop()
}
}
}

View File

@@ -4,7 +4,7 @@ import androidx.fragment.app.Fragment
import androidx.viewpager2.adapter.FragmentStateAdapter
import com.mogo.module.guide.guide.*
class GuideAdapter(fragmentActivity: Fragment) : FragmentStateAdapter(fragmentActivity) {
class GuideAdapter(fragmentActivity: GuideFragment) : FragmentStateAdapter(fragmentActivity) {
override fun getItemCount(): Int {
return guideList.size
@@ -28,12 +28,12 @@ class GuideAdapter(fragmentActivity: Fragment) : FragmentStateAdapter(fragmentAc
init {
guideList.add(GUIDE_PAGE_START, GuideStartFragment())
guideList.add(GUIDE_PAGE_CARD, GuideCardFragment())
guideList.add(GUIDE_PAGE_ONLINE_CAR, GuideOnLineCarFragment())
guideList.add(GUIDE_PAGE_NAVIGATION, GuideNavigationFragment())
guideList.add(GUIDE_PAGE_LOCATION, GuideLocationFragment())
guideList.add(GUIDE_PAGE_APP_LIST, GuideAppListFragment())
guideList.add(GUIDE_PAGE_ENTRY_MAIN, GuideEntryMainFragment())
guideList.add(GUIDE_PAGE_CARD, GuideCardFragment(fragmentActivity))
guideList.add(GUIDE_PAGE_ONLINE_CAR, GuideOnLineCarFragment(fragmentActivity))
guideList.add(GUIDE_PAGE_NAVIGATION, GuideNavigationFragment(fragmentActivity))
guideList.add(GUIDE_PAGE_LOCATION, GuideLocationFragment(fragmentActivity))
guideList.add(GUIDE_PAGE_APP_LIST, GuideAppListFragment(fragmentActivity))
guideList.add(GUIDE_PAGE_ENTRY_MAIN, GuideEntryMainFragment(fragmentActivity))
}
}

View File

@@ -1,6 +1,10 @@
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
import kotlinx.android.synthetic.main.module_guide_fragment.*
@@ -19,10 +23,38 @@ class GuideFragment : MvpFragment<GuideConstract.View, GuidePresenter>(), GuideC
return GuidePresenter(this)
}
private var adapter: GuideAdapter? = null
override fun initViews() {
Logger.d(TAG, "init Views")
// val adapter = GuideAdapter(this)
// moduleGuideViewPager.adapter = adapter
adapter = GuideAdapter(this)
moduleGuideViewPager.adapter = adapter
}
fun moveToNext() {
val count = adapter?.itemCount
if (moduleGuideViewPager.currentItem != count) {
moduleGuideViewPager.currentItem = moduleGuideViewPager.currentItem + 1
}
}
fun moveToLast() {
moduleGuideViewPager.setCurrentItem(adapter!!.itemCount, false)
}
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()
}
}
}
private fun destroy() {
GuideBizManager.removeGuideFragmentToStack()
}
}

View File

@@ -1,11 +1,20 @@
package com.mogo.module.guide.guide
import android.view.View
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.fragment.GuideFragment
import kotlinx.android.synthetic.main.module_guide_item_app_list.*
class GuideAppListFragment : MvpFragment<IView, Presenter<IView>>() {
class GuideAppListFragment : MvpFragment<IView, Presenter<IView>>, View.OnClickListener {
private var containerFragment: GuideFragment? = null
constructor(containerFragment: GuideFragment) {
this.containerFragment = containerFragment
}
override fun getLayoutId(): Int {
return R.layout.module_guide_item_app_list
@@ -16,7 +25,19 @@ class GuideAppListFragment : MvpFragment<IView, Presenter<IView>>() {
}
override fun initViews() {
moduleGuideAppListNext.setOnClickListener(this)
moduleGuideAppListSkip.setOnClickListener(this)
}
override fun onClick(v: View) {
when (v.id) {
R.id.moduleGuideAppListNext -> {
containerFragment?.moveToNext()
}
R.id.moduleGuideAppListSkip -> {
containerFragment?.moveToLast()
}
}
}
class GuideAppListPresenter : Presenter<IView> {

View File

@@ -1,11 +1,20 @@
package com.mogo.module.guide.guide
import android.view.View
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.fragment.GuideFragment
import kotlinx.android.synthetic.main.module_guide_item_card.*
class GuideCardFragment : MvpFragment<IView, Presenter<IView>>() {
class GuideCardFragment : MvpFragment<IView, Presenter<IView>>, View.OnClickListener {
private var containerFragment:GuideFragment? = null
constructor(containerFragment:GuideFragment){
this.containerFragment = containerFragment
}
override fun getLayoutId(): Int {
return R.layout.module_guide_item_card
@@ -16,7 +25,19 @@ class GuideCardFragment : MvpFragment<IView, Presenter<IView>>() {
}
override fun initViews() {
moduleGuideCardNext.setOnClickListener(this)
moduleGuideCardSkip.setOnClickListener(this)
}
override fun onClick(v: View) {
when (v.id) {
R.id.moduleGuideCardNext -> {
containerFragment?.moveToNext()
}
R.id.moduleGuideCardSkip -> {
containerFragment?.moveToLast()
}
}
}
class GuideCardPresenter : Presenter<IView> {

View File

@@ -1,11 +1,20 @@
package com.mogo.module.guide.guide
import android.view.View
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.fragment.GuideFragment
import kotlinx.android.synthetic.main.module_guide_item_entry_main.*
class GuideEntryMainFragment : MvpFragment<IView, Presenter<IView>>() {
class GuideEntryMainFragment : MvpFragment<IView, Presenter<IView>>,View.OnClickListener {
private var containerFragment: GuideFragment? = null
constructor(containerFragment: GuideFragment) {
this.containerFragment = containerFragment
}
override fun getLayoutId(): Int {
return R.layout.module_guide_item_entry_main
@@ -16,9 +25,16 @@ class GuideEntryMainFragment : MvpFragment<IView, Presenter<IView>>() {
}
override fun initViews() {
moduleGuideEntryMain.setOnClickListener(this)
}
override fun onClick(v: View) {
when(v.id){
R.id.moduleGuideEntryMain -> {
containerFragment?.closeGuideFragment()
}
}
}
class GuideEntryPresenter : Presenter<IView> {

View File

@@ -1,11 +1,20 @@
package com.mogo.module.guide.guide
import android.view.View
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.fragment.GuideFragment
import kotlinx.android.synthetic.main.module_guide_item_location.*
class GuideLocationFragment : MvpFragment<IView, Presenter<IView>>() {
class GuideLocationFragment : MvpFragment<IView, Presenter<IView>>, View.OnClickListener {
private var containerFragment: GuideFragment? = null
constructor(containerFragment: GuideFragment) {
this.containerFragment = containerFragment
}
override fun getLayoutId(): Int {
return R.layout.module_guide_item_location
@@ -16,7 +25,19 @@ class GuideLocationFragment : MvpFragment<IView, Presenter<IView>>() {
}
override fun initViews() {
moduleGuideLocationNext.setOnClickListener(this)
moduleGuideLocationSkip.setOnClickListener(this)
}
override fun onClick(v: View) {
when (v.id) {
R.id.moduleGuideLocationNext -> {
containerFragment?.moveToNext()
}
R.id.moduleGuideLocationSkip -> {
containerFragment?.moveToLast()
}
}
}
class GuideLocationPresenter : Presenter<IView> {

View File

@@ -1,11 +1,20 @@
package com.mogo.module.guide.guide
import android.view.View
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.fragment.GuideFragment
import kotlinx.android.synthetic.main.module_guide_item_navigation.*
class GuideNavigationFragment : MvpFragment<IView, Presenter<IView>>() {
class GuideNavigationFragment : MvpFragment<IView, Presenter<IView>>, View.OnClickListener {
private var containerFragment: GuideFragment? = null
constructor(containerFragment: GuideFragment) {
this.containerFragment = containerFragment
}
override fun getLayoutId(): Int {
return R.layout.module_guide_item_navigation
@@ -16,7 +25,19 @@ class GuideNavigationFragment : MvpFragment<IView, Presenter<IView>>() {
}
override fun initViews() {
moduleGuideNavigationNext.setOnClickListener(this)
moduleGuideNavigationSkip.setOnClickListener(this)
}
override fun onClick(v: View) {
when (v.id) {
R.id.moduleGuideNavigationNext -> {
containerFragment?.moveToNext()
}
R.id.moduleGuideNavigationSkip -> {
containerFragment?.moveToLast()
}
}
}
class GuideNavigationPresenter : Presenter<IView> {

View File

@@ -1,11 +1,20 @@
package com.mogo.module.guide.guide
import android.view.View
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.fragment.GuideFragment
import kotlinx.android.synthetic.main.module_guide_item_online_car.*
class GuideOnLineCarFragment : MvpFragment<IView, Presenter<IView>>() {
class GuideOnLineCarFragment : MvpFragment<IView, Presenter<IView>>, View.OnClickListener {
private var containerFragment: GuideFragment? = null
constructor(containerFragment: GuideFragment) {
this.containerFragment = containerFragment
}
override fun getLayoutId(): Int {
return R.layout.module_guide_item_online_car
@@ -16,7 +25,19 @@ class GuideOnLineCarFragment : MvpFragment<IView, Presenter<IView>>() {
}
override fun initViews() {
moduleGuideOnLineCarNext.setOnClickListener(this)
moduleGuideOnLineCarSkip.setOnClickListener(this)
}
override fun onClick(v: View) {
when (v.id) {
R.id.moduleGuideOnLineCarNext -> {
containerFragment?.moveToNext()
}
R.id.moduleGuideOnLineCarSkip -> {
containerFragment?.moveToLast()
}
}
}
class GuideOnLineCarPresenter : Presenter<IView> {

Binary file not shown.

Before

Width:  |  Height:  |  Size: 322 KiB

After

Width:  |  Height:  |  Size: 315 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 423 KiB

After

Width:  |  Height:  |  Size: 416 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 329 KiB

After

Width:  |  Height:  |  Size: 322 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 386 KiB

After

Width:  |  Height:  |  Size: 379 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 320 KiB

After

Width:  |  Height:  |  Size: 314 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 335 KiB

After

Width:  |  Height:  |  Size: 328 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 311 KiB

After

Width:  |  Height:  |  Size: 305 KiB

View File

@@ -13,7 +13,11 @@
./gradlew :modules:mogo-module-apps:clean :modules:mogo-module-apps:uploadArchives
./gradlew :modules:mogo-module-service:clean :modules:mogo-module-service:uploadArchives
./gradlew :modules:mogo-module-share:clean :modules:mogo-module-share:uploadArchives
./gradlew :modules:mogo-module-authorize:clean :modules:mogo-module-authorize:uploadArchives
./gradlew :modules:mogo-module-extensions:clean :modules:mogo-module-extensions:uploadArchives
./gradlew :modules:mogo-module-search:clean :modules:mogo-module-search:uploadArchives
./gradlew :modules:mogo-module-main:clean :modules:mogo-module-main:uploadArchives
./gradlew :modules:mogo-module-back:clean :modules:mogo-module-back:uploadArchives
./gradlew :modules:mogo-module-guide:clean :modules:mogo-module-guide:uploadArchives