Merge branch 'feature/v1.0.3' of gitlab.zhidaoauto.com:ecos/yycp-service/Launcher into feature/v1.0.3

This commit is contained in:
wangcongtao
2020-03-27 20:43:51 +08:00
8 changed files with 115 additions and 14 deletions

View File

@@ -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')
}
}

View File

@@ -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));

View File

@@ -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
}
}

View File

@@ -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"
}
}

View File

@@ -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)
}
}

View File

@@ -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" );
@@ -297,7 +299,7 @@ public class EntranceFragment extends MvpFragment< EntranceView, EntrancePresent
}
isClickShare = false;
mIMogoAuthorizeModuleManager.unregisterAuthorizeListener(AuthorizeInvokerConstant.AUTHORIZE_TYPE_LAUNCHER_SHARE);
mIMogoAuthorizeModuleManager.unregisterAuthorizeListener(AUTHORIZE_TYPE_LAUNCHER_SHARE);
}

View File

@@ -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"
}
}

View File

@@ -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? {