diff --git a/gradle.properties b/gradle.properties index b6a733117c..6c9454aa79 100644 --- a/gradle.properties +++ b/gradle.properties @@ -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 diff --git a/modules/mogo-module-authorize/src/main/java/com/mogo/module/authorize/authprovider/biz/MogoAuthorizeManagerImpl.kt b/modules/mogo-module-authorize/src/main/java/com/mogo/module/authorize/authprovider/biz/MogoAuthorizeManagerImpl.kt index 43c8edfe14..997c4aac5d 100644 --- a/modules/mogo-module-authorize/src/main/java/com/mogo/module/authorize/authprovider/biz/MogoAuthorizeManagerImpl.kt +++ b/modules/mogo-module-authorize/src/main/java/com/mogo/module/authorize/authprovider/biz/MogoAuthorizeManagerImpl.kt @@ -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) } diff --git a/modules/mogo-module-authorize/src/main/java/com/mogo/module/authorize/authprovider/biz/MogoAuthorizeRegisterHandler.kt b/modules/mogo-module-authorize/src/main/java/com/mogo/module/authorize/authprovider/biz/MogoAuthorizeRegisterHandler.kt index 67e4ab7060..889e0e70b2 100644 --- a/modules/mogo-module-authorize/src/main/java/com/mogo/module/authorize/authprovider/biz/MogoAuthorizeRegisterHandler.kt +++ b/modules/mogo-module-authorize/src/main/java/com/mogo/module/authorize/authprovider/biz/MogoAuthorizeRegisterHandler.kt @@ -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 = ConcurrentHashMap() override fun registerAuthorizeListener(tag: String, listener: IMogoAcquireAuthorizeListener) { + Logger.d("RegisterHandler", "tag : $tag listener:$listener") authMap[tag] = listener } diff --git a/modules/mogo-module-authorize/src/main/java/com/mogo/module/authorize/authprovider/invoke/IMogoAuthorizeRegister.kt b/modules/mogo-module-authorize/src/main/java/com/mogo/module/authorize/authprovider/invoke/IMogoAuthorizeRegister.kt index 80dada5078..280bc6998a 100644 --- a/modules/mogo-module-authorize/src/main/java/com/mogo/module/authorize/authprovider/invoke/IMogoAuthorizeRegister.kt +++ b/modules/mogo-module-authorize/src/main/java/com/mogo/module/authorize/authprovider/invoke/IMogoAuthorizeRegister.kt @@ -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) } \ No newline at end of file diff --git a/modules/mogo-module-authorize/src/main/java/com/mogo/module/authorize/authprovider/launcher/IMogoAuthorizeMainManager.kt b/modules/mogo-module-authorize/src/main/java/com/mogo/module/authorize/authprovider/launcher/IMogoAuthorizeMainManager.kt index 366b5b40b1..2519d6cbed 100644 --- a/modules/mogo-module-authorize/src/main/java/com/mogo/module/authorize/authprovider/launcher/IMogoAuthorizeMainManager.kt +++ b/modules/mogo-module-authorize/src/main/java/com/mogo/module/authorize/authprovider/launcher/IMogoAuthorizeMainManager.kt @@ -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) + } } \ No newline at end of file diff --git a/modules/mogo-module-authorize/src/main/java/com/mogo/module/authorize/authprovider/launcher/MogoMainAuthorize.kt b/modules/mogo-module-authorize/src/main/java/com/mogo/module/authorize/authprovider/launcher/MogoMainAuthorize.kt index e8ba3050d3..ec4e4f82e3 100644 --- a/modules/mogo-module-authorize/src/main/java/com/mogo/module/authorize/authprovider/launcher/MogoMainAuthorize.kt +++ b/modules/mogo-module-authorize/src/main/java/com/mogo/module/authorize/authprovider/launcher/MogoMainAuthorize.kt @@ -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() + } + } \ No newline at end of file diff --git a/modules/mogo-module-authorize/src/main/java/com/mogo/module/authorize/authprovider/module/IMogoAuthorizeModuleManager.kt b/modules/mogo-module-authorize/src/main/java/com/mogo/module/authorize/authprovider/module/IMogoAuthorizeModuleManager.kt index 81c6682d0e..64626be098 100644 --- a/modules/mogo-module-authorize/src/main/java/com/mogo/module/authorize/authprovider/module/IMogoAuthorizeModuleManager.kt +++ b/modules/mogo-module-authorize/src/main/java/com/mogo/module/authorize/authprovider/module/IMogoAuthorizeModuleManager.kt @@ -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) + } + } \ No newline at end of file diff --git a/modules/mogo-module-authorize/src/main/java/com/mogo/module/authorize/authprovider/module/IMogoAuthorizeModuleProvider.kt b/modules/mogo-module-authorize/src/main/java/com/mogo/module/authorize/authprovider/module/IMogoAuthorizeModuleProvider.kt index 9dc0e81bb9..c85b31190f 100644 --- a/modules/mogo-module-authorize/src/main/java/com/mogo/module/authorize/authprovider/module/IMogoAuthorizeModuleProvider.kt +++ b/modules/mogo-module-authorize/src/main/java/com/mogo/module/authorize/authprovider/module/IMogoAuthorizeModuleProvider.kt @@ -11,6 +11,11 @@ interface IMogoAuthorizeModuleProvider : IProvider, IMogoAuthorizeInvoke { } + /** + * 用于没有回调且直接调用授权页面展示 仅Launcher主界面业务使用 + */ + fun invokeAuthorizeForShow() + /** * 调用授权页面 */ diff --git a/modules/mogo-module-authorize/src/main/java/com/mogo/module/authorize/authprovider/module/MogoModuleAuthorize.kt b/modules/mogo-module-authorize/src/main/java/com/mogo/module/authorize/authprovider/module/MogoModuleAuthorize.kt index 8dc0ed4aae..1f6faddb97 100644 --- a/modules/mogo-module-authorize/src/main/java/com/mogo/module/authorize/authprovider/module/MogoModuleAuthorize.kt +++ b/modules/mogo-module-authorize/src/main/java/com/mogo/module/authorize/authprovider/module/MogoModuleAuthorize.kt @@ -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存储状态 diff --git a/modules/mogo-module-authorize/src/main/java/com/mogo/module/authorize/util/ServiceUtil.kt b/modules/mogo-module-authorize/src/main/java/com/mogo/module/authorize/util/ServiceUtil.kt index ee86d86294..5d5c87d7a9 100644 --- a/modules/mogo-module-authorize/src/main/java/com/mogo/module/authorize/util/ServiceUtil.kt +++ b/modules/mogo-module-authorize/src/main/java/com/mogo/module/authorize/util/ServiceUtil.kt @@ -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() + } + } + } \ No newline at end of file diff --git a/modules/mogo-module-authorize/src/main/java/com/mogo/module/authorize/util/SharedPreferenceUtil.kt b/modules/mogo-module-authorize/src/main/java/com/mogo/module/authorize/util/SharedPreferenceUtil.kt index 1b42ca059d..1817218390 100644 --- a/modules/mogo-module-authorize/src/main/java/com/mogo/module/authorize/util/SharedPreferenceUtil.kt +++ b/modules/mogo-module-authorize/src/main/java/com/mogo/module/authorize/util/SharedPreferenceUtil.kt @@ -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) diff --git a/modules/mogo-module-guide/build.gradle b/modules/mogo-module-guide/build.gradle index f6d685f964..00d3b373cd 100644 --- a/modules/mogo-module-guide/build.gradle +++ b/modules/mogo-module-guide/build.gradle @@ -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') } } diff --git a/modules/mogo-module-guide/src/main/java/com/mogo/module/guide/GuideBizManager.kt b/modules/mogo-module-guide/src/main/java/com/mogo/module/guide/GuideBizManager.kt index 881b2d8e9d..98193801b1 100644 --- a/modules/mogo-module-guide/src/main/java/com/mogo/module/guide/GuideBizManager.kt +++ b/modules/mogo-module-guide/src/main/java/com/mogo/module/guide/GuideBizManager.kt @@ -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() + } + } } \ No newline at end of file diff --git a/modules/mogo-module-guide/src/main/java/com/mogo/module/guide/fragment/GuideAdapter.kt b/modules/mogo-module-guide/src/main/java/com/mogo/module/guide/fragment/GuideAdapter.kt index 61876e7efb..6d21d0fa62 100644 --- a/modules/mogo-module-guide/src/main/java/com/mogo/module/guide/fragment/GuideAdapter.kt +++ b/modules/mogo-module-guide/src/main/java/com/mogo/module/guide/fragment/GuideAdapter.kt @@ -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)) } } \ No newline at end of file diff --git a/modules/mogo-module-guide/src/main/java/com/mogo/module/guide/fragment/GuideFragment.kt b/modules/mogo-module-guide/src/main/java/com/mogo/module/guide/fragment/GuideFragment.kt index ce1cf8418d..311baa5998 100644 --- a/modules/mogo-module-guide/src/main/java/com/mogo/module/guide/fragment/GuideFragment.kt +++ b/modules/mogo-module-guide/src/main/java/com/mogo/module/guide/fragment/GuideFragment.kt @@ -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(), 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() + } } \ No newline at end of file diff --git a/modules/mogo-module-guide/src/main/java/com/mogo/module/guide/guide/GuideAppListFragment.kt b/modules/mogo-module-guide/src/main/java/com/mogo/module/guide/guide/GuideAppListFragment.kt index 48039db7f6..8179f261f2 100644 --- a/modules/mogo-module-guide/src/main/java/com/mogo/module/guide/guide/GuideAppListFragment.kt +++ b/modules/mogo-module-guide/src/main/java/com/mogo/module/guide/guide/GuideAppListFragment.kt @@ -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>() { +class GuideAppListFragment : MvpFragment>, 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>() { } 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 { diff --git a/modules/mogo-module-guide/src/main/java/com/mogo/module/guide/guide/GuideCardFragment.kt b/modules/mogo-module-guide/src/main/java/com/mogo/module/guide/guide/GuideCardFragment.kt index 861a1e18dd..8c7a434e21 100644 --- a/modules/mogo-module-guide/src/main/java/com/mogo/module/guide/guide/GuideCardFragment.kt +++ b/modules/mogo-module-guide/src/main/java/com/mogo/module/guide/guide/GuideCardFragment.kt @@ -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>() { +class GuideCardFragment : MvpFragment>, 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>() { } 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 { diff --git a/modules/mogo-module-guide/src/main/java/com/mogo/module/guide/guide/GuideEntryMainFragment.kt b/modules/mogo-module-guide/src/main/java/com/mogo/module/guide/guide/GuideEntryMainFragment.kt index 8a526abaf6..cfdcc64052 100644 --- a/modules/mogo-module-guide/src/main/java/com/mogo/module/guide/guide/GuideEntryMainFragment.kt +++ b/modules/mogo-module-guide/src/main/java/com/mogo/module/guide/guide/GuideEntryMainFragment.kt @@ -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>() { +class GuideEntryMainFragment : MvpFragment>,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>() { } override fun initViews() { - + moduleGuideEntryMain.setOnClickListener(this) } + override fun onClick(v: View) { + when(v.id){ + R.id.moduleGuideEntryMain -> { + containerFragment?.closeGuideFragment() + } + } + } class GuideEntryPresenter : Presenter { diff --git a/modules/mogo-module-guide/src/main/java/com/mogo/module/guide/guide/GuideLocationFragment.kt b/modules/mogo-module-guide/src/main/java/com/mogo/module/guide/guide/GuideLocationFragment.kt index 38eadfe12f..4e28bd302e 100644 --- a/modules/mogo-module-guide/src/main/java/com/mogo/module/guide/guide/GuideLocationFragment.kt +++ b/modules/mogo-module-guide/src/main/java/com/mogo/module/guide/guide/GuideLocationFragment.kt @@ -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>() { +class GuideLocationFragment : MvpFragment>, 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>() { } 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 { diff --git a/modules/mogo-module-guide/src/main/java/com/mogo/module/guide/guide/GuideNavigationFragment.kt b/modules/mogo-module-guide/src/main/java/com/mogo/module/guide/guide/GuideNavigationFragment.kt index 03381ba438..26eebb6d25 100644 --- a/modules/mogo-module-guide/src/main/java/com/mogo/module/guide/guide/GuideNavigationFragment.kt +++ b/modules/mogo-module-guide/src/main/java/com/mogo/module/guide/guide/GuideNavigationFragment.kt @@ -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>() { +class GuideNavigationFragment : MvpFragment>, 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>() { } 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 { diff --git a/modules/mogo-module-guide/src/main/java/com/mogo/module/guide/guide/GuideOnLineCarFragment.kt b/modules/mogo-module-guide/src/main/java/com/mogo/module/guide/guide/GuideOnLineCarFragment.kt index 253be825b9..b8229361f5 100644 --- a/modules/mogo-module-guide/src/main/java/com/mogo/module/guide/guide/GuideOnLineCarFragment.kt +++ b/modules/mogo-module-guide/src/main/java/com/mogo/module/guide/guide/GuideOnLineCarFragment.kt @@ -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>() { +class GuideOnLineCarFragment : MvpFragment>, 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>() { } 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 { diff --git a/modules/mogo-module-guide/src/main/res/mipmap-ldpi/module_guide_item_app_list.png b/modules/mogo-module-guide/src/main/res/mipmap-ldpi/module_guide_item_app_list.png index a7d11657e9..21b6cb9d2e 100644 Binary files a/modules/mogo-module-guide/src/main/res/mipmap-ldpi/module_guide_item_app_list.png and b/modules/mogo-module-guide/src/main/res/mipmap-ldpi/module_guide_item_app_list.png differ diff --git a/modules/mogo-module-guide/src/main/res/mipmap-ldpi/module_guide_item_card.png b/modules/mogo-module-guide/src/main/res/mipmap-ldpi/module_guide_item_card.png index 0674913d2c..ad448fdb0c 100644 Binary files a/modules/mogo-module-guide/src/main/res/mipmap-ldpi/module_guide_item_card.png and b/modules/mogo-module-guide/src/main/res/mipmap-ldpi/module_guide_item_card.png differ diff --git a/modules/mogo-module-guide/src/main/res/mipmap-ldpi/module_guide_item_entry_main.png b/modules/mogo-module-guide/src/main/res/mipmap-ldpi/module_guide_item_entry_main.png index 9065826d22..7b8468eb3d 100644 Binary files a/modules/mogo-module-guide/src/main/res/mipmap-ldpi/module_guide_item_entry_main.png and b/modules/mogo-module-guide/src/main/res/mipmap-ldpi/module_guide_item_entry_main.png differ diff --git a/modules/mogo-module-guide/src/main/res/mipmap-ldpi/module_guide_item_location.png b/modules/mogo-module-guide/src/main/res/mipmap-ldpi/module_guide_item_location.png index 049960bc72..5e3d0ba8b1 100644 Binary files a/modules/mogo-module-guide/src/main/res/mipmap-ldpi/module_guide_item_location.png and b/modules/mogo-module-guide/src/main/res/mipmap-ldpi/module_guide_item_location.png differ diff --git a/modules/mogo-module-guide/src/main/res/mipmap-ldpi/module_guide_item_navigation.png b/modules/mogo-module-guide/src/main/res/mipmap-ldpi/module_guide_item_navigation.png index 3ef6e7c122..0b766fe07e 100644 Binary files a/modules/mogo-module-guide/src/main/res/mipmap-ldpi/module_guide_item_navigation.png and b/modules/mogo-module-guide/src/main/res/mipmap-ldpi/module_guide_item_navigation.png differ diff --git a/modules/mogo-module-guide/src/main/res/mipmap-ldpi/module_guide_item_online_car.png b/modules/mogo-module-guide/src/main/res/mipmap-ldpi/module_guide_item_online_car.png index b3fa560556..63f55e2426 100644 Binary files a/modules/mogo-module-guide/src/main/res/mipmap-ldpi/module_guide_item_online_car.png and b/modules/mogo-module-guide/src/main/res/mipmap-ldpi/module_guide_item_online_car.png differ diff --git a/modules/mogo-module-guide/src/main/res/mipmap-ldpi/module_guide_item_start.png b/modules/mogo-module-guide/src/main/res/mipmap-ldpi/module_guide_item_start.png index 98ba07b3fb..ba7f209b9f 100644 Binary files a/modules/mogo-module-guide/src/main/res/mipmap-ldpi/module_guide_item_start.png and b/modules/mogo-module-guide/src/main/res/mipmap-ldpi/module_guide_item_start.png differ diff --git a/upload.sh b/upload.sh index 9d0375eb7b..080861e7b2 100755 --- a/upload.sh +++ b/upload.sh @@ -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 + +