From 423116b9f0659940ce60d8e690110804fcad3fc0 Mon Sep 17 00:00:00 2001 From: unknown Date: Fri, 27 Mar 2020 20:41:07 +0800 Subject: [PATCH 1/2] add init load authorize --- app/build.gradle | 2 + .../com/mogo/launcher/MogoApplication.java | 9 ++- .../authprovider/biz/MogoAuthorizeProvider.kt | 79 +++++++++++++++++++ .../authprovider/invoke/AuthorizeConstant.kt | 10 +++ .../authorize/util/SharedPreferenceUtil.kt | 5 ++ .../com/mogo/module/guide/GuideConstant.kt | 6 +- .../mogo/module/guide/MogoGuideProvider.kt | 8 +- 7 files changed, 109 insertions(+), 10 deletions(-) create mode 100644 modules/mogo-module-authorize/src/main/java/com/mogo/module/authorize/authprovider/biz/MogoAuthorizeProvider.kt diff --git a/app/build.gradle b/app/build.gradle index 40de9798e7..182f07c5f6 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -121,6 +121,7 @@ dependencies { implementation rootProject.ext.dependencies.modulesearch implementation rootProject.ext.dependencies.mogomoduleback implementation rootProject.ext.dependencies.mogomoduleguide + implementation rootProject.ext.dependencies.mogomoduleauth } else { implementation project(':modules:mogo-module-main') implementation project(':foudations:mogo-commons') @@ -128,6 +129,7 @@ dependencies { implementation project(':modules:mogo-module-search') implementation project(':modules:mogo-module-back') implementation project(':modules:mogo-module-guide') + implementation project(':modules:mogo-module-authorize') } } diff --git a/app/src/main/java/com/mogo/launcher/MogoApplication.java b/app/src/main/java/com/mogo/launcher/MogoApplication.java index 144e16a2f4..73f7b17c6e 100644 --- a/app/src/main/java/com/mogo/launcher/MogoApplication.java +++ b/app/src/main/java/com/mogo/launcher/MogoApplication.java @@ -25,8 +25,10 @@ import com.mogo.service.connection.IMogoSocketManager; import com.mogo.utils.logger.LogLevel; import com.mogo.utils.logger.Logger; -import static com.mogo.module.guide.GuideConstant.PATH_GUIDE_AGREEMENT_FRAGMENT; -import static com.mogo.module.guide.GuideConstant.PATH_GUIDE_AGREEMENT_MODULE_NAME; +import static com.mogo.module.authorize.authprovider.invoke.AuthorizeConstant.PATH_AGREEMENT_FRAGMENT; +import static com.mogo.module.authorize.authprovider.invoke.AuthorizeConstant.PATH_AGREEMENT_MODULE_NAME; +import static com.mogo.module.guide.GuideConstant.PATH_GUIDE_FRAGMENT; +import static com.mogo.module.guide.GuideConstant.PATH_GUIDE_MODULE_NAME; /** * @author congtaowang @@ -47,7 +49,8 @@ public class MogoApplication extends AbsMogoApplication { crashSystem.setDebug(BuildConfig.DEBUG); Logger.init(BuildConfig.DEBUG ? LogLevel.DEBUG : LogLevel.OFF); - MogoModulePaths.addModule(new MogoModule(PATH_GUIDE_AGREEMENT_FRAGMENT, PATH_GUIDE_AGREEMENT_MODULE_NAME)); + MogoModulePaths.addModule(new MogoModule(PATH_GUIDE_FRAGMENT, PATH_GUIDE_MODULE_NAME)); + MogoModulePaths.addModule(new MogoModule(PATH_AGREEMENT_FRAGMENT, PATH_AGREEMENT_MODULE_NAME)); //运营位卡片,需要默认显示,放在第一个加载 MogoModulePaths.addModule(new MogoModule(AdCardConstants.TAG, AdCardConstants.MODULE_NAME)); MogoModulePaths.addModule(new MogoModule(MediaConstants.TAG, MediaConstants.MODULE_TYPE)); diff --git a/modules/mogo-module-authorize/src/main/java/com/mogo/module/authorize/authprovider/biz/MogoAuthorizeProvider.kt b/modules/mogo-module-authorize/src/main/java/com/mogo/module/authorize/authprovider/biz/MogoAuthorizeProvider.kt new file mode 100644 index 0000000000..dad763ba83 --- /dev/null +++ b/modules/mogo-module-authorize/src/main/java/com/mogo/module/authorize/authprovider/biz/MogoAuthorizeProvider.kt @@ -0,0 +1,79 @@ +package com.mogo.module.authorize.authprovider.biz + +import android.content.Context +import android.os.Bundle +import android.view.View +import androidx.fragment.app.Fragment +import com.alibaba.android.arouter.facade.annotation.Route +import com.mogo.map.listener.IMogoMapListener +import com.mogo.map.location.IMogoLocationListener +import com.mogo.map.marker.IMogoMarkerClickListener +import com.mogo.map.navi.IMogoNaviListener +import com.mogo.module.authorize.authprovider.invoke.AuthorizeConstant.Companion.PATH_AGREEMENT_FRAGMENT +import com.mogo.module.authorize.authprovider.invoke.AuthorizeConstant.Companion.PATH_AGREEMENT_MODULE_NAME +import com.mogo.module.authorize.authprovider.launcher.MogoMainAuthorize.Companion.mogoAuthShow +import com.mogo.module.authorize.util.SharedPreferenceUtil.hasGuide +import com.mogo.service.module.IMogoModuleLifecycle +import com.mogo.service.module.IMogoModuleProvider +import com.mogo.service.module.ModuleType +import com.mogo.utils.logger.Logger + +@Route(path = PATH_AGREEMENT_FRAGMENT) +class MogoAuthorizeProvider : IMogoModuleProvider { + + companion object { + const val TAG = "MogoAuthorizeProvider" + } + + override fun createFragment(context: Context?, data: Bundle?): Fragment? { + return null + } + + override fun createView(context: Context?): View? { + return null + } + + override fun getModuleName(): String { + return PATH_AGREEMENT_MODULE_NAME + } + + override fun getCardLifecycle(): IMogoModuleLifecycle? { + return null + } + + override fun getMapListener(): IMogoMapListener? { + return null + } + + override fun getType(): Int { + return ModuleType.TYPE_SERVICE + } + + override fun getNaviListener(): IMogoNaviListener? { + return null + } + + override fun getLocationListener(): IMogoLocationListener? { + return null + } + + override fun getMarkerClickListener(): IMogoMarkerClickListener? { + return null + } + + override fun init(context: Context?) { + if (hasGuide()) { + mogoAuthShow.invokeAuthorizeForShow() + } else { + Logger.d(TAG, "wait for guide invoke") + } + } + + override fun getAppPackage(): String? { + return null + } + + override fun getAppName(): String? { + return null + } +} \ No newline at end of file diff --git a/modules/mogo-module-authorize/src/main/java/com/mogo/module/authorize/authprovider/invoke/AuthorizeConstant.kt b/modules/mogo-module-authorize/src/main/java/com/mogo/module/authorize/authprovider/invoke/AuthorizeConstant.kt index 5c9e0be663..d41c4df56e 100644 --- a/modules/mogo-module-authorize/src/main/java/com/mogo/module/authorize/authprovider/invoke/AuthorizeConstant.kt +++ b/modules/mogo-module-authorize/src/main/java/com/mogo/module/authorize/authprovider/invoke/AuthorizeConstant.kt @@ -5,5 +5,15 @@ class AuthorizeConstant { companion object{ const val PROVIDER_MODULE = "/authorize/biz" const val PROVIDER_LAUNCHER = "/authorize/showbiz" + + /** + * 展示用户协议模块地址 + */ + const val PATH_AGREEMENT_FRAGMENT = "/agreement/showFragment" + + /** + * provider模块实例名称(暂时仅有卡片用到) + */ + const val PATH_AGREEMENT_MODULE_NAME = "AGREEMENT_MODULE_NAME" } } \ 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 07e1714365..d585622cde 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 @@ -6,6 +6,7 @@ import com.mogo.utils.storage.SharedPrefsMgr object SharedPreferenceUtil { private const val HAS_AUTH = "HAS_AUTH" + private const val HAS_GUIDE = "HAS_GUIDE" private const val AUTHORIZE_UPDATE_TIME = "AUTHORIZE_UPDATE_TIME" fun needAuthorization(type: Int): Boolean { @@ -27,4 +28,8 @@ object SharedPreferenceUtil { fun getAuthorizeVersion(): Long { return SharedPrefsMgr.getInstance(AbsMogoApplication.getApp()).getLong(AUTHORIZE_UPDATE_TIME, 0L) } + + fun hasGuide(): Boolean { + return SharedPrefsMgr.getInstance(AbsMogoApplication.getApp()).getBoolean(HAS_GUIDE, false) + } } \ No newline at end of file diff --git a/modules/mogo-module-guide/src/main/java/com/mogo/module/guide/GuideConstant.kt b/modules/mogo-module-guide/src/main/java/com/mogo/module/guide/GuideConstant.kt index 8da06359eb..4e2c54c706 100644 --- a/modules/mogo-module-guide/src/main/java/com/mogo/module/guide/GuideConstant.kt +++ b/modules/mogo-module-guide/src/main/java/com/mogo/module/guide/GuideConstant.kt @@ -4,13 +4,13 @@ class GuideConstant { companion object { /** - * 展示用户引导或者用户协议模块地址 + * 展示用户引导模块地址 */ - const val PATH_GUIDE_AGREEMENT_FRAGMENT = "/guideAgreement/showFragment" + const val PATH_GUIDE_FRAGMENT = "/guide/showFragment" /** * provider模块实例名称(暂时仅有卡片用到) */ - const val PATH_GUIDE_AGREEMENT_MODULE_NAME = "GUIDE_AND_AGREEMENT" + const val PATH_GUIDE_MODULE_NAME = "GUIDE_MODULE_NAME" } } \ No newline at end of file diff --git a/modules/mogo-module-guide/src/main/java/com/mogo/module/guide/MogoGuideProvider.kt b/modules/mogo-module-guide/src/main/java/com/mogo/module/guide/MogoGuideProvider.kt index ff568350da..917b658898 100644 --- a/modules/mogo-module-guide/src/main/java/com/mogo/module/guide/MogoGuideProvider.kt +++ b/modules/mogo-module-guide/src/main/java/com/mogo/module/guide/MogoGuideProvider.kt @@ -9,13 +9,13 @@ import com.mogo.map.listener.IMogoMapListener import com.mogo.map.location.IMogoLocationListener import com.mogo.map.marker.IMogoMarkerClickListener import com.mogo.map.navi.IMogoNaviListener -import com.mogo.module.guide.GuideConstant.Companion.PATH_GUIDE_AGREEMENT_FRAGMENT -import com.mogo.module.guide.GuideConstant.Companion.PATH_GUIDE_AGREEMENT_MODULE_NAME +import com.mogo.module.guide.GuideConstant.Companion.PATH_GUIDE_FRAGMENT +import com.mogo.module.guide.GuideConstant.Companion.PATH_GUIDE_MODULE_NAME import com.mogo.service.module.IMogoModuleLifecycle import com.mogo.service.module.IMogoModuleProvider import com.mogo.service.module.ModuleType -@Route(path = PATH_GUIDE_AGREEMENT_FRAGMENT) +@Route(path = PATH_GUIDE_FRAGMENT) class MogoGuideProvider : IMogoModuleProvider { /** @@ -30,7 +30,7 @@ class MogoGuideProvider : IMogoModuleProvider { } override fun getModuleName(): String { - return PATH_GUIDE_AGREEMENT_MODULE_NAME + return PATH_GUIDE_MODULE_NAME } override fun getCardLifecycle(): IMogoModuleLifecycle? { From 5311ccd20e830bbd08f154289832f9beed353d88 Mon Sep 17 00:00:00 2001 From: unknown Date: Fri, 27 Mar 2020 20:42:13 +0800 Subject: [PATCH 2/2] miss one --- .../module/extensions/entrance/EntranceFragment.java | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/modules/mogo-module-extensions/src/main/java/com/mogo/module/extensions/entrance/EntranceFragment.java b/modules/mogo-module-extensions/src/main/java/com/mogo/module/extensions/entrance/EntranceFragment.java index be606e22e7..202bc928b7 100644 --- a/modules/mogo-module-extensions/src/main/java/com/mogo/module/extensions/entrance/EntranceFragment.java +++ b/modules/mogo-module-extensions/src/main/java/com/mogo/module/extensions/entrance/EntranceFragment.java @@ -65,6 +65,8 @@ import java.util.Map; import retrofit2.http.HEAD; +import static com.mogo.module.authorize.authprovider.invoke.AuthorizeInvokerConstant.AUTHORIZE_TYPE_LAUNCHER_SHARE; + /** * @author congtaowang * @since 2020-01-07 @@ -132,7 +134,7 @@ public class EntranceFragment extends MvpFragment< EntranceView, EntrancePresent protected void initViews() { mApis = ( IMogoServiceApis ) ARouter.getInstance().build( MogoServicePaths.PATH_SERVICE_APIS ).navigation( getContext() ); mIMogoAuthorizeModuleManager = (IMogoAuthorizeModuleManager) ARouter.getInstance().build(AuthorizeConstant.PROVIDER_MODULE).navigation(getContext()); - mIMogoAuthorizeModuleManager.registerAuthorizeListener(AuthorizeInvokerConstant.AUTHORIZE_TYPE_LAUNCHER_SHARE, this); + mIMogoAuthorizeModuleManager.registerAuthorizeListener(AUTHORIZE_TYPE_LAUNCHER_SHARE, this); mEntrancePresenter = new EntrancePresenter( getContext(), this, mIMogoAuthorizeModuleManager ); mMogoFragmentManager = mApis.getFragmentManagerApi(); @@ -175,8 +177,8 @@ public class EntranceFragment extends MvpFragment< EntranceView, EntrancePresent mUploadRoadCondition = findViewById( R.id.module_entrance_id_upload_road_condition ); mUploadRoadCondition.setOnClickListener( view -> { isClickShare = true; - if (mIMogoAuthorizeModuleManager.needAuthorize()) { - mIMogoAuthorizeModuleManager.invokeAuthorization(AuthorizeInvokerConstant.AUTHORIZE_TYPE_LAUNCHER_SHARE); + if (mIMogoAuthorizeModuleManager.needAuthorize(AUTHORIZE_TYPE_LAUNCHER_SHARE)) { + mIMogoAuthorizeModuleManager.invokeAuthorization(AUTHORIZE_TYPE_LAUNCHER_SHARE); } else { ShareControl.getInstance( getActivity() ).showDialog(); traceData( "1" ); @@ -317,7 +319,7 @@ public class EntranceFragment extends MvpFragment< EntranceView, EntrancePresent } isClickShare = false; - mIMogoAuthorizeModuleManager.unregisterAuthorizeListener(AuthorizeInvokerConstant.AUTHORIZE_TYPE_LAUNCHER_SHARE); + mIMogoAuthorizeModuleManager.unregisterAuthorizeListener(AUTHORIZE_TYPE_LAUNCHER_SHARE); }