From 49ff2e7d448ad4a5b919c59fb64404a1e568f0db Mon Sep 17 00:00:00 2001 From: unknown Date: Fri, 27 Mar 2020 17:15:28 +0800 Subject: [PATCH 01/13] wait continue --- .../authprovider/biz/IMogoAuthorizeController.kt | 8 ++++++++ .../authprovider/biz/MogoAuthorizeManagerImpl.kt | 10 +++++----- .../authprovider/invoke/IMogoAuthorizeInvoke.kt | 2 +- .../authprovider/launcher/MogoMainAuthorize.kt | 4 +++- .../module/authorize/util/SharedPreferenceUtil.kt | 12 ++++++------ 5 files changed, 23 insertions(+), 13 deletions(-) diff --git a/modules/mogo-module-authorize/src/main/java/com/mogo/module/authorize/authprovider/biz/IMogoAuthorizeController.kt b/modules/mogo-module-authorize/src/main/java/com/mogo/module/authorize/authprovider/biz/IMogoAuthorizeController.kt index 3f0c24f96b..7b2bb767eb 100644 --- a/modules/mogo-module-authorize/src/main/java/com/mogo/module/authorize/authprovider/biz/IMogoAuthorizeController.kt +++ b/modules/mogo-module-authorize/src/main/java/com/mogo/module/authorize/authprovider/biz/IMogoAuthorizeController.kt @@ -1,5 +1,6 @@ package com.mogo.module.authorize.authprovider.biz +import com.mogo.module.authorize.authprovider.invoke.AuthorizeInvokerConstant.Companion.AUTHORIZE_TYPE_LAUNCHER_MAIN import com.mogo.module.authorize.authprovider.invoke.IMogoAuthorizeContentListener import com.mogo.module.authorize.model.BaseResponse import com.mogo.module.authorize.model.IMogoAuthorizeModel @@ -53,6 +54,10 @@ open class IMogoAuthorizeController { } } + private fun realInvokeAuthorizeContent(){ + + } + private inline fun getAuthorizeContentListener(tag: String, blockSuccess: ((IMogoAuthorizeContentListener) -> Unit), blockNull: (() -> Unit)) { val authorizeContentListener = MogoAuthorizeRegisterHandler.getAuthorizeContentListener(tag) if (authorizeContentListener != null) { @@ -62,4 +67,7 @@ open class IMogoAuthorizeController { } } + fun updateAgreementAndAuthorization(agreementType: Int) { + invokeAuthorizeContent(AUTHORIZE_TYPE_LAUNCHER_MAIN, agreementType) + } } \ No newline at end of file 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 9f331bc92f..00850bc66f 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 @@ -11,16 +11,16 @@ open abstract class MogoAuthorizeManagerImpl : IMogoAuthorizeInvoke { private val baseController: IMogoAuthorizeController by lazy { IMogoAuthorizeController() } - override fun needAuthorize(): Boolean { - - return needAuthorization() + override fun needAuthorize(tag: String): Boolean { + val type = AuthorizeProxy.getAuthorizeType(tag) + return needAuthorization(type) } override fun invokeAuthorizeContent(tag: String) { //todo 后面动态代理统一处理校验问题 - Logger.d("invokeAuthorizeContent","tag:$tag") + Logger.d("invokeAuthorizeContent", "tag:$tag") val agreementType = AuthorizeProxy.getAuthorizeType(tag) - Logger.d("invokeAuthorizeContent","agreementType:$agreementType") + Logger.d("invokeAuthorizeContent", "agreementType:$agreementType") baseController.invokeAuthorizeContent(tag, agreementType) } diff --git a/modules/mogo-module-authorize/src/main/java/com/mogo/module/authorize/authprovider/invoke/IMogoAuthorizeInvoke.kt b/modules/mogo-module-authorize/src/main/java/com/mogo/module/authorize/authprovider/invoke/IMogoAuthorizeInvoke.kt index cf02f66f73..dad969b47e 100644 --- a/modules/mogo-module-authorize/src/main/java/com/mogo/module/authorize/authprovider/invoke/IMogoAuthorizeInvoke.kt +++ b/modules/mogo-module-authorize/src/main/java/com/mogo/module/authorize/authprovider/invoke/IMogoAuthorizeInvoke.kt @@ -8,7 +8,7 @@ interface IMogoAuthorizeInvoke : IMogoAuthorizeRegister { /** * 是否需要授权 */ - fun needAuthorize(): Boolean + fun needAuthorize(tag:String): Boolean /** * 获取授权内容 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 af33c45ed5..3da7bf1d9c 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 @@ -6,6 +6,7 @@ import com.mogo.module.authorize.authprovider.biz.MogoAuthorizeManagerImpl import com.mogo.module.authorize.authprovider.biz.MogoAuthorizeRegisterHandler import com.mogo.module.authorize.authprovider.invoke.AuthorizeInvokerConstant.Companion.AUTHORIZE_TYPE_LAUNCHER_MAIN import com.mogo.module.authorize.fragment.AuthorizeFragment +import com.mogo.module.authorize.model.proxy.AuthorizeProxy import com.mogo.module.authorize.util.SharedPreferenceUtil.hasAuth import com.mogo.service.IMogoServiceApis import com.mogo.service.MogoServicePaths @@ -60,7 +61,8 @@ class MogoMainAuthorize private constructor() : MogoAuthorizeManagerImpl(), IMog onError.invoke("invoke should be in main thread") return } - if (hasAuth()) { + val type = AuthorizeProxy.getAuthorizeType(tag) + if (hasAuth(type)) { onError.invoke("already authorize,do not repeat operation") return } 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 68dc8a288d..050c3b812e 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 @@ -7,15 +7,15 @@ object SharedPreferenceUtil { private const val HAS_AUTH = "HAS_AUTH" - fun needAuthorization(): Boolean { - return !hasAuth() + fun needAuthorization(type: Int): Boolean { + return !hasAuth(type) } - fun hasAuth(): Boolean { - return SharedPrefsMgr.getInstance(AbsMogoApplication.getApp()).getBoolean(HAS_AUTH, false) + fun hasAuth(type: Int): Boolean { + return SharedPrefsMgr.getInstance(AbsMogoApplication.getApp()).getBoolean(HAS_AUTH + type, false) } - fun setAuthorizeStatus() { - SharedPrefsMgr.getInstance(AbsMogoApplication.getApp()).putBoolean(HAS_AUTH, true) + fun setAuthorizeStatus(type: Int) { + SharedPrefsMgr.getInstance(AbsMogoApplication.getApp()).putBoolean(HAS_AUTH + type, true) } } \ No newline at end of file From 205d8eda25d3cd1109cbc901ba7c96333e3fb434 Mon Sep 17 00:00:00 2001 From: lixiaopeng Date: Fri, 27 Mar 2020 17:46:26 +0800 Subject: [PATCH 02/13] fix comflict --- .../extensions/entrance/EntranceFragment.java | 20 ++++++++++--- .../entrance/EntrancePresenter.java | 28 +++++++++++-------- 2 files changed, 32 insertions(+), 16 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 fdf8030545..be606e22e7 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 @@ -121,6 +121,7 @@ public class EntranceFragment extends MvpFragment< EntranceView, EntrancePresent private TextView ivMode; private IMogoPolyline iMogoPolyline; + public static boolean isClickShare; @Override protected int getLayoutId() { @@ -173,8 +174,13 @@ public class EntranceFragment extends MvpFragment< EntranceView, EntrancePresent mUploadRoadCondition = findViewById( R.id.module_entrance_id_upload_road_condition ); mUploadRoadCondition.setOnClickListener( view -> { - ShareControl.getInstance( getActivity() ).showDialog(); - traceData( "1" ); + isClickShare = true; + if (mIMogoAuthorizeModuleManager.needAuthorize()) { + mIMogoAuthorizeModuleManager.invokeAuthorization(AuthorizeInvokerConstant.AUTHORIZE_TYPE_LAUNCHER_SHARE); + } else { + ShareControl.getInstance( getActivity() ).showDialog(); + traceData( "1" ); + } } ); mVRMode = findViewById( R.id.module_entrance_id_vr_mode ); mVRMode.setOnClickListener( view -> { @@ -310,14 +316,20 @@ public class EntranceFragment extends MvpFragment< EntranceView, EntrancePresent mEntrancePresenter.unregisterUnWake(); } + isClickShare = false; mIMogoAuthorizeModuleManager.unregisterAuthorizeListener(AuthorizeInvokerConstant.AUTHORIZE_TYPE_LAUNCHER_SHARE); } @Override public void authorizeSuccess() { - Log.d( TAG, "authorizeSuccess --------> " ); - mEntrancePresenter.handleNeedAuthorizeCmd(); + Log.d(TAG, "authorizeSuccess --------> isClickShare = " + isClickShare); + if (isClickShare) { + ShareControl.getInstance( getActivity() ).showDialog(); + traceData( "1" ); + } else { + mEntrancePresenter.handleNeedAuthorizeCmd(); + } } @Override diff --git a/modules/mogo-module-extensions/src/main/java/com/mogo/module/extensions/entrance/EntrancePresenter.java b/modules/mogo-module-extensions/src/main/java/com/mogo/module/extensions/entrance/EntrancePresenter.java index b9d879615f..fb797472a5 100644 --- a/modules/mogo-module-extensions/src/main/java/com/mogo/module/extensions/entrance/EntrancePresenter.java +++ b/modules/mogo-module-extensions/src/main/java/com/mogo/module/extensions/entrance/EntrancePresenter.java @@ -76,28 +76,30 @@ public class EntrancePresenter extends Presenter { public void onCmdSelected(String cmd) { Log.d(TAG, "免唤醒 mogoVoiceListener needAuthorize = " + mIMogoAuthorizeModuleManager.needAuthorize() + " >>>cmd = " + cmd); mVoiceCmdType = cmd; + EntranceFragment.isClickShare = false; + if (cmd.equals(ExtensionsModuleConst.CANCLE_SHARE) || cmd.equals(ExtensionsModuleConst.CLOSE)) { //取消分享,关闭页面 if (mIMogoAuthorizeModuleManager.needAuthorize()) { - mIMogoAuthorizeModuleManager.invokeAuthorization(AuthorizeInvokerConstant.AUTHORIZE_TYPE_LAUNCHER_SHARE_NOVELTY); + mIMogoAuthorizeModuleManager.invokeAuthorization(AuthorizeInvokerConstant.AUTHORIZE_TYPE_LAUNCHER_SHARE); } else { ShareControl.getInstance(mContext).dismissDialog(); } } else if (cmd.equals(ExtensionsModuleConst.UPLOAD_ROAD_BLOCK)) { //上报拥堵 if (mIMogoAuthorizeModuleManager.needAuthorize()) { - mIMogoAuthorizeModuleManager.invokeAuthorization(AuthorizeInvokerConstant.AUTHORIZE_TYPE_LAUNCHER_SHARE_NOVELTY); + mIMogoAuthorizeModuleManager.invokeAuthorization(AuthorizeInvokerConstant.AUTHORIZE_TYPE_LAUNCHER_SHARE); } else { uploadRoadCondition(); } } else if (cmd.equals(ExtensionsModuleConst.UPLOAD_TRAFFIC_CHECK)) { //上报交通检查 if (mIMogoAuthorizeModuleManager.needAuthorize()) { - mIMogoAuthorizeModuleManager.invokeAuthorization(AuthorizeInvokerConstant.AUTHORIZE_TYPE_LAUNCHER_SHARE_NOVELTY); + mIMogoAuthorizeModuleManager.invokeAuthorization(AuthorizeInvokerConstant.AUTHORIZE_TYPE_LAUNCHER_SHARE); } else { uploadTrfficCheck(); } } else if (cmd.equals(ExtensionsModuleConst.UPLOAD_ROAD_CLOSURE)) { //上报封路 if (mIMogoAuthorizeModuleManager.needAuthorize()) { - mIMogoAuthorizeModuleManager.invokeAuthorization(AuthorizeInvokerConstant.AUTHORIZE_TYPE_LAUNCHER_SHARE_NOVELTY); + mIMogoAuthorizeModuleManager.invokeAuthorization(AuthorizeInvokerConstant.AUTHORIZE_TYPE_LAUNCHER_SHARE); } else { uploadRoadClosed(); } @@ -140,6 +142,8 @@ public class EntrancePresenter extends Presenter { @Override public void onIntentReceived(String intentStr, Intent intent) { mVoiceCmdType = intentStr; + EntranceFragment.isClickShare = false; + String data = intent.getStringExtra("data"); Log.d(TAG, "唤醒 mogoIntentListener intentStr =" + intentStr + ">>data =" + data + " >>> needAuthorize = " + mIMogoAuthorizeModuleManager.needAuthorize()); if (intentStr.equals(ExtensionsModuleConst.GO_TO_SHARE)) { //我要分享 --ok @@ -153,21 +157,21 @@ public class EntrancePresenter extends Presenter { if (!TextUtils.isEmpty(typeString)) { if (typeString.equals("封路")) { if (mIMogoAuthorizeModuleManager.needAuthorize()) { - mIMogoAuthorizeModuleManager.invokeAuthorization(AuthorizeInvokerConstant.AUTHORIZE_TYPE_LAUNCHER_SHARE_NOVELTY); + mIMogoAuthorizeModuleManager.invokeAuthorization(AuthorizeInvokerConstant.AUTHORIZE_TYPE_LAUNCHER_SHARE); } else { Log.d(TAG, "mogoIntentListener 封路 -------> "); uploadRoadClosed(); } } else if (typeString.equals("油价")) { if (mIMogoAuthorizeModuleManager.needAuthorize()) { - mIMogoAuthorizeModuleManager.invokeAuthorization(AuthorizeInvokerConstant.AUTHORIZE_TYPE_LAUNCHER_SHARE_NOVELTY); + mIMogoAuthorizeModuleManager.invokeAuthorization(AuthorizeInvokerConstant.AUTHORIZE_TYPE_LAUNCHER_SHARE); } else { Log.d(TAG, "mogoIntentListener 油价 -------> "); shareOilPrice(); } } else if (typeString.equals("交通检查")) { if (mIMogoAuthorizeModuleManager.needAuthorize()) { - mIMogoAuthorizeModuleManager.invokeAuthorization(AuthorizeInvokerConstant.AUTHORIZE_TYPE_LAUNCHER_SHARE_NOVELTY); + mIMogoAuthorizeModuleManager.invokeAuthorization(AuthorizeInvokerConstant.AUTHORIZE_TYPE_LAUNCHER_SHARE); } else { Log.d(TAG, "mogoIntentListener 交通检查 -------> "); uploadTrfficCheck(); @@ -175,7 +179,7 @@ public class EntrancePresenter extends Presenter { } } else { if (mIMogoAuthorizeModuleManager.needAuthorize()) { - mIMogoAuthorizeModuleManager.invokeAuthorization(AuthorizeInvokerConstant.AUTHORIZE_TYPE_LAUNCHER_SHARE_NOVELTY); + mIMogoAuthorizeModuleManager.invokeAuthorization(AuthorizeInvokerConstant.AUTHORIZE_TYPE_LAUNCHER_SHARE); } else { ShareControl.getInstance(mContext).showDialog(); Log.d(TAG, "mogoIntentListener 我要分享 ----> "); @@ -188,14 +192,14 @@ public class EntrancePresenter extends Presenter { } else if (intentStr.equals(ExtensionsModuleConst.UPLOAD_ROAD_CONDITION_AWAKEN)) { //分享路况/上报路况/上报拥堵 唤醒 if (mIMogoAuthorizeModuleManager.needAuthorize()) { - mIMogoAuthorizeModuleManager.invokeAuthorization(AuthorizeInvokerConstant.AUTHORIZE_TYPE_LAUNCHER_SHARE_NOVELTY); + mIMogoAuthorizeModuleManager.invokeAuthorization(AuthorizeInvokerConstant.AUTHORIZE_TYPE_LAUNCHER_SHARE); } else { uploadRoadCondition(); Log.d(TAG, "mogoIntentListener 分享路况 唤醒 ----> "); } } else if (intentStr.equals(ExtensionsModuleConst.SHARE_DIALOG_CLOSE)) { //关闭分享框 唤醒 if (mIMogoAuthorizeModuleManager.needAuthorize()) { - mIMogoAuthorizeModuleManager.invokeAuthorization(AuthorizeInvokerConstant.AUTHORIZE_TYPE_LAUNCHER_SHARE_NOVELTY); + mIMogoAuthorizeModuleManager.invokeAuthorization(AuthorizeInvokerConstant.AUTHORIZE_TYPE_LAUNCHER_SHARE); } else { ShareControl.getInstance(mContext).dismissDialog(); Log.d(TAG, "mogoIntentListener 关闭分享框 唤醒 ----> "); @@ -203,14 +207,14 @@ public class EntrancePresenter extends Presenter { } else if (intentStr.equals(ExtensionsModuleConst.NO_REPLY_SHARE_DIALOG_CLOSE)) { // 两次未回复关闭对话框 if (mIMogoAuthorizeModuleManager.needAuthorize()) { - mIMogoAuthorizeModuleManager.invokeAuthorization(AuthorizeInvokerConstant.AUTHORIZE_TYPE_LAUNCHER_SHARE_NOVELTY); + mIMogoAuthorizeModuleManager.invokeAuthorization(AuthorizeInvokerConstant.AUTHORIZE_TYPE_LAUNCHER_SHARE); } else { ShareControl.getInstance(mContext).dismissDialog(); Logger.d(TAG, "mogoIntentListener 两次未回复关闭对话框"); } } else if (intentStr.equals(ExtensionsModuleConst.UPLOAD_ROAD_CONDITION)) { //上报路况 免唤醒 --ok if (mIMogoAuthorizeModuleManager.needAuthorize()) { - mIMogoAuthorizeModuleManager.invokeAuthorization(AuthorizeInvokerConstant.AUTHORIZE_TYPE_LAUNCHER_SHARE_NOVELTY); + mIMogoAuthorizeModuleManager.invokeAuthorization(AuthorizeInvokerConstant.AUTHORIZE_TYPE_LAUNCHER_SHARE); } else { uploadRoadCondition(); } From b745879476014aca00fef7a97f08d90074a53829 Mon Sep 17 00:00:00 2001 From: tongchenfei Date: Fri, 27 Mar 2020 18:21:28 +0800 Subject: [PATCH 03/13] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E5=88=86=E4=BA=AB?= =?UTF-8?q?=E6=A1=86=E5=AE=9E=E7=8E=B0=E6=96=B9=E5=BC=8F=EF=BC=8C=E4=B8=BA?= =?UTF-8?q?=E4=BA=86=E5=92=8Cadas=E5=B7=A6=E4=BE=A71/3=E5=85=B1=E5=AD=98?= =?UTF-8?q?=EF=BC=8C=E4=BD=BF=E7=94=A8window=20manager=E7=9A=84=E6=96=B9?= =?UTF-8?q?=E5=BC=8F=EF=BC=8C=E8=BF=99=E7=A7=8D=E6=96=B9=E5=BC=8F=E6=97=A0?= =?UTF-8?q?=E6=B3=95=E5=93=8D=E5=BA=94back=E9=94=AE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/main/AndroidManifest.xml | 4 +- .../com/mogo/module/share/ShareControl.java | 8 +- .../share/dialog/LaucherShareDialog.java | 94 ++++-- .../main/res/layout/launcher_dialog_share.xml | 281 +++++++++--------- 4 files changed, 222 insertions(+), 165 deletions(-) diff --git a/modules/mogo-module-share/src/main/AndroidManifest.xml b/modules/mogo-module-share/src/main/AndroidManifest.xml index 82aba71bd0..fb780d7be4 100644 --- a/modules/mogo-module-share/src/main/AndroidManifest.xml +++ b/modules/mogo-module-share/src/main/AndroidManifest.xml @@ -1,2 +1,4 @@ + package="com.mogo.module.share" > + + diff --git a/modules/mogo-module-share/src/main/java/com/mogo/module/share/ShareControl.java b/modules/mogo-module-share/src/main/java/com/mogo/module/share/ShareControl.java index d100a6e95b..4256364c5e 100644 --- a/modules/mogo-module-share/src/main/java/com/mogo/module/share/ShareControl.java +++ b/modules/mogo-module-share/src/main/java/com/mogo/module/share/ShareControl.java @@ -45,12 +45,12 @@ public class ShareControl implements IShareControl { boolean isAdasShow = mogoServiceApis.getStatusManagerApi().isADASShow(); Logger.d("ShareControl", "showDialog 判断adas是否展示: " + isAdasShow); - if (isAdasShow) { - mogoServiceApis.getAdasControllerApi().closeADAS(); - } +// if (isAdasShow) { +// mogoServiceApis.getAdasControllerApi().closeADAS(); +// } mShareDialog = new LaucherShareDialog(mContext); - mShareDialog.setCanceledOnTouchOutside(true); +// mShareDialog.setCanceledOnTouchOutside(true); mShareDialog.show(); } diff --git a/modules/mogo-module-share/src/main/java/com/mogo/module/share/dialog/LaucherShareDialog.java b/modules/mogo-module-share/src/main/java/com/mogo/module/share/dialog/LaucherShareDialog.java index db5b2899af..fa9aa484db 100644 --- a/modules/mogo-module-share/src/main/java/com/mogo/module/share/dialog/LaucherShareDialog.java +++ b/modules/mogo-module-share/src/main/java/com/mogo/module/share/dialog/LaucherShareDialog.java @@ -1,11 +1,14 @@ package com.mogo.module.share.dialog; -import android.app.Dialog; import android.content.Context; import android.content.Intent; +import android.graphics.PixelFormat; import android.net.Uri; -import android.os.Bundle; +import android.os.Build; +import android.view.Gravity; +import android.view.LayoutInflater; import android.view.View; +import android.view.WindowManager; import android.widget.RelativeLayout; import android.widget.TextView; @@ -16,6 +19,7 @@ import com.mogo.module.share.R; import com.mogo.module.share.constant.ShareConstants; import com.mogo.service.MogoServicePaths; import com.mogo.service.analytics.IMogoAnalytics; +import com.mogo.utils.WindowUtils; import com.mogo.utils.logger.Logger; import java.util.HashMap; @@ -25,9 +29,15 @@ import java.util.Map; /** * @author lixiaopeng * @description 通用分享dialog + * + * 由于和左侧Adas冲突,改成了windowManager方式实现,这种实现方式的问题是,无法监测back键的事件 * @since 2020-01-10 */ -public class LaucherShareDialog extends Dialog implements View.OnClickListener { +public class LaucherShareDialog implements View.OnClickListener { + private static final String TAG = "LaucherShareDialog"; + + private boolean isShown = false; + private TextView txtOk; private RelativeLayout mBlockLayout; private RelativeLayout mOilPriceLayout; @@ -36,33 +46,29 @@ public class LaucherShareDialog extends Dialog implements View.OnClickListener { private Context mContext; private IMogoAnalytics mAnalytics; + private WindowManager windowManager; + private WindowManager.LayoutParams layoutParams; public LaucherShareDialog(@NonNull Context context) { - super(context, R.style.BottomDialog); this.mContext = context; - getWindow().setBackgroundDrawableResource(android.R.color.transparent); mAnalytics = (IMogoAnalytics) ARouter.getInstance().build(MogoServicePaths.PATH_UTILS_ANALYTICS).navigation(mContext); - - } - - public LaucherShareDialog(@NonNull Context context, int themeResId) { - super(context, R.style.BottomDialog); - } - - @Override - protected void onCreate(Bundle savedInstanceState) { - super.onCreate(savedInstanceState); - initView(); - initListener(); } + private View body; private void initView() { - setContentView(R.layout.launcher_dialog_share); - txtOk = findViewById(R.id.btn_share_title); - mBlockLayout = findViewById(R.id.btn_block_layout); - mOilPriceLayout = findViewById(R.id.oil_price_layout); - mTrafficCheckLayout = findViewById(R.id.traffic_check_layout); - mRoadClosureLayout = findViewById(R.id.road_closure_layout); + Logger.d(TAG, "test-------3"); + body = LayoutInflater.from(mContext).inflate(R.layout.launcher_dialog_share, null); + body.setOnClickListener(new View.OnClickListener() { + @Override + public void onClick(View v) { + dismiss(); + } + }); + txtOk = body.findViewById(R.id.btn_share_title); + mBlockLayout = body.findViewById(R.id.btn_block_layout); + mOilPriceLayout = body.findViewById(R.id.oil_price_layout); + mTrafficCheckLayout = body.findViewById(R.id.traffic_check_layout); + mRoadClosureLayout = body.findViewById(R.id.road_closure_layout); } @@ -73,31 +79,34 @@ public class LaucherShareDialog extends Dialog implements View.OnClickListener { mRoadClosureLayout.setOnClickListener(this); } - @Override public void onClick(View view) { int id = view.getId(); + Logger.d(TAG, "onClick: " + id); if (id == R.id.btn_block_layout) { //拥堵 traceTanluData("1"); sendShareReceiver("1"); traceTypeData("1"); + dismiss(); } else if (id == R.id.oil_price_layout) { traceData("1"); Intent intent = new Intent(); intent.setData(Uri.parse("freshthing://com.zhidao.fresh.things/shareOilPrice")); mContext.startActivity(intent); traceTypeData("2"); + dismiss(); } else if (id == R.id.traffic_check_layout) { //交通检查 traceData("1"); sendShareReceiver("2"); traceTypeData("3"); + dismiss(); } else if (id == R.id.road_closure_layout) { //封路 traceData("1"); sendShareReceiver("3"); traceTypeData("4"); + dismiss(); } - dismiss(); } /** @@ -143,4 +152,39 @@ public class LaucherShareDialog extends Dialog implements View.OnClickListener { } + public void show(){ + Logger.d(TAG,"使用windowManager实现"); + if (!isShown) { + windowManager = (WindowManager) mContext.getApplicationContext().getSystemService(Context.WINDOW_SERVICE); + layoutParams = new WindowManager.LayoutParams(); + if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) { + layoutParams.type = WindowManager.LayoutParams.TYPE_APPLICATION_OVERLAY; + } else { + layoutParams.type = WindowManager.LayoutParams.TYPE_SYSTEM_ALERT; + } + layoutParams.format = PixelFormat.TRANSLUCENT; + layoutParams.gravity = Gravity.LEFT | Gravity.TOP; +// mWindowLayoutParams.flags = WindowManager.LayoutParams.FLAG_NOT_TOUCH_MODAL | WindowManager.LayoutParams.FLAG_NOT_FOCUSABLE; + // FLAG_LAYOUT_IN_SCREEN:将window放置在整个屏幕之内,无视其他的装饰(比如状态栏); FLAG_NOT_TOUCH_MODAL:不阻塞事件传递到后面的窗口 + layoutParams.flags = WindowManager.LayoutParams.FLAG_LAYOUT_IN_SCREEN | WindowManager.LayoutParams.FLAG_NOT_TOUCH_MODAL | WindowManager.LayoutParams.FLAG_WATCH_OUTSIDE_TOUCH | WindowManager.LayoutParams.FLAG_NOT_FOCUSABLE; + layoutParams.width = WindowUtils.getScreenWidth(mContext); + layoutParams.height = WindowUtils.getScreenHeight(mContext); + layoutParams.dimAmount = 0;//后面变暗区域透明... + layoutParams.x = 0; + layoutParams.y = 0; + initView(); + initListener(); + windowManager.addView(body, layoutParams); + isShown = true; + } + } + + public void dismiss(){ + if (isShown && windowManager != null && body != null) { + windowManager.removeViewImmediate(body); + windowManager = null; + isShown = false; + } + } + } diff --git a/modules/mogo-module-share/src/main/res/layout/launcher_dialog_share.xml b/modules/mogo-module-share/src/main/res/layout/launcher_dialog_share.xml index e38447d88a..3e9ca3ab44 100644 --- a/modules/mogo-module-share/src/main/res/layout/launcher_dialog_share.xml +++ b/modules/mogo-module-share/src/main/res/layout/launcher_dialog_share.xml @@ -1,146 +1,157 @@ - - - + android:layout_width="match_parent" + android:layout_height="match_parent" + android:clickable="true" + android:focusable="true" + android:background="#88000000"> - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + android:layout_width="@dimen/share_module_width" + android:layout_height="@dimen/share_module_height" + android:clickable="true" + android:focusable="true" + android:layout_gravity="center" + android:background="@drawable/shape_bg_222533_20px"> - - \ No newline at end of file + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file From 26b2f4979a13847dec2efa4e92d0f7fc71e15441 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=91=A3=E5=AE=8F=E5=AE=87?= Date: Fri, 27 Mar 2020 19:25:00 +0800 Subject: [PATCH 04/13] =?UTF-8?q?=E5=A2=9E=E5=8A=A0=E4=BA=86=E6=97=A5?= =?UTF-8?q?=E5=BF=97=E8=BE=93=E5=87=BA?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../main/java/com/mogo/map/impl/amap/AMapNaviViewWrapper.java | 1 + 1 file changed, 1 insertion(+) diff --git a/libraries/map-amap/src/main/java/com/mogo/map/impl/amap/AMapNaviViewWrapper.java b/libraries/map-amap/src/main/java/com/mogo/map/impl/amap/AMapNaviViewWrapper.java index 0c8bf9483d..28a4b6d7eb 100644 --- a/libraries/map-amap/src/main/java/com/mogo/map/impl/amap/AMapNaviViewWrapper.java +++ b/libraries/map-amap/src/main/java/com/mogo/map/impl/amap/AMapNaviViewWrapper.java @@ -570,6 +570,7 @@ public class AMapNaviViewWrapper implements IMogoMapView, if ( DebugConfig.isDebug() ) { Logger.d( TAG, Log.getStackTraceString( new Throwable() ) ); } + Logger.d( TAG, "解锁锁车" ); mockTouchEvent(); } From 207e8edce6a95dc30e570b114fe634b232d0ac9d Mon Sep 17 00:00:00 2001 From: unknown Date: Fri, 27 Mar 2020 20:18:37 +0800 Subject: [PATCH 05/13] fix bug and add need authorize background work --- .../biz/IMogoAuthorizeController.kt | 81 +++++++++++++------ .../biz/MogoAuthorizeManagerImpl.kt | 16 ++-- .../invoke/IMogoAuthorizeInvoke.kt | 2 +- .../launcher/IMogoAuthorizeMainManager.kt | 4 +- .../launcher/MogoAuthorizeMainController.kt | 11 ++- .../launcher/MogoMainAuthorize.kt | 9 +-- .../module/IMogoAuthorizeModuleManager.kt | 4 +- .../authorize/fragment/AuthorizePresenter.kt | 12 ++- .../authorize/model/proxy/AuthorizeProxy.kt | 5 ++ .../mogo/module/authorize/util/DateUtil.kt | 11 +++ .../authorize/util/SharedPreferenceUtil.kt | 13 ++- .../entrance/EntrancePresenter.java | 54 +++++++------ .../com/mogo/module/guide/GuideBizManager.kt | 4 +- 13 files changed, 149 insertions(+), 77 deletions(-) create mode 100644 modules/mogo-module-authorize/src/main/java/com/mogo/module/authorize/util/DateUtil.kt diff --git a/modules/mogo-module-authorize/src/main/java/com/mogo/module/authorize/authprovider/biz/IMogoAuthorizeController.kt b/modules/mogo-module-authorize/src/main/java/com/mogo/module/authorize/authprovider/biz/IMogoAuthorizeController.kt index 7b2bb767eb..3bcf0e4d7f 100644 --- a/modules/mogo-module-authorize/src/main/java/com/mogo/module/authorize/authprovider/biz/IMogoAuthorizeController.kt +++ b/modules/mogo-module-authorize/src/main/java/com/mogo/module/authorize/authprovider/biz/IMogoAuthorizeController.kt @@ -1,11 +1,14 @@ package com.mogo.module.authorize.authprovider.biz -import com.mogo.module.authorize.authprovider.invoke.AuthorizeInvokerConstant.Companion.AUTHORIZE_TYPE_LAUNCHER_MAIN import com.mogo.module.authorize.authprovider.invoke.IMogoAuthorizeContentListener import com.mogo.module.authorize.model.BaseResponse import com.mogo.module.authorize.model.IMogoAuthorizeModel import com.mogo.module.authorize.model.bean.AgreementData import com.mogo.module.authorize.net.request +import com.mogo.module.authorize.util.DateUtil.parseDateToTime +import com.mogo.module.authorize.util.SharedPreferenceUtil.getAuthorizeVersion +import com.mogo.module.authorize.util.SharedPreferenceUtil.setAuthorizeStatus +import com.mogo.module.authorize.util.SharedPreferenceUtil.updateAuthorizeVersion import com.mogo.utils.logger.Logger open class IMogoAuthorizeController { @@ -17,47 +20,54 @@ open class IMogoAuthorizeController { private val authorizeModel: IMogoAuthorizeModel by lazy { IMogoAuthorizeModel() } fun invokeAuthorizeContent(tag: String, agreementType: Int) { - if (agreementType == -1) { + realInvokeAuthorizeContent(agreementType, { + if (agreementType == -1) { + getAuthorizeContentListener(tag, { listener -> + listener.requestContentFailed("invokeAuthorizeContent param tag is not right") + }, { + Logger.d(TAG, "invokeAuthorizeContent ---checkAgreementType can not find tag :$tag") + }) + } + }, { getAuthorizeContentListener(tag, { listener -> - listener.requestContentFailed("invokeAuthorizeContent param tag is not right") + if (it.result != null && it.result.agreement.agreementContent != null) { + listener.requestContentSuccess(it.result.agreement) + } else { + listener.requestContentFailed("request authorize content success ,but result data is :${it.result}") + } }, { - Logger.d(TAG, "invokeAuthorizeContent ---checkAgreementType can not find tag :$tag") + Logger.d(TAG, "invokeAuthorizeContent --- can not find listener by this tag :$tag") }) - } + }, { msg: String -> + getAuthorizeContentListener(tag, { listener -> + listener.requestContentFailed(msg) + }, { + Logger.d(TAG, "invokeAuthorizeContent --- can not find listener by this tag :$tag") + }) + }) + } + + private fun realInvokeAuthorizeContent(agreementType: Int, onStart: (() -> Unit), onSuccess: ((BaseResponse) -> Unit), onError: ((String) -> Unit)) { + onStart.invoke() try { request> { loader { authorizeModel.invokeAuthorizeContent(agreementType) } onSuccess { - getAuthorizeContentListener(tag, { listener -> - if (it.result != null && it.result.agreement.agreementContent != null) { - listener.requestContentSuccess(it.result.agreement) - } else { - listener.requestContentFailed("request authorize content success ,but result data is :${it.result}") - } - }, { - Logger.d(TAG, "invokeAuthorizeContent --- can not find listener by this tag :$tag") - }) + onSuccess.invoke(it) } onError { - getAuthorizeContentListener(tag, { listener -> - listener.requestContentFailed(it.message - ?: "request authorize content failed,please check network") - }, { - Logger.d(TAG, "invokeAuthorizeContent --- can not find listener by this tag :$tag") - }) + onError.invoke(it.message + ?: "realInvokeAuthorizeContent onError, message is null") } } } catch (e: Exception) { e.printStackTrace() + onError.invoke(e.message ?: "realInvokeAuthorizeContent has exception, message is null") } } - private fun realInvokeAuthorizeContent(){ - - } - private inline fun getAuthorizeContentListener(tag: String, blockSuccess: ((IMogoAuthorizeContentListener) -> Unit), blockNull: (() -> Unit)) { val authorizeContentListener = MogoAuthorizeRegisterHandler.getAuthorizeContentListener(tag) if (authorizeContentListener != null) { @@ -67,7 +77,26 @@ open class IMogoAuthorizeController { } } - fun updateAgreementAndAuthorization(agreementType: Int) { - invokeAuthorizeContent(AUTHORIZE_TYPE_LAUNCHER_MAIN, agreementType) + fun updateAgreementVersion(agreementType: Int) { + realInvokeAuthorizeContent(agreementType, { + Logger.d(TAG, "ready to update agreement") + }, { + if (it.result != null) { + val agreement = it.result.agreement + val updateTime = agreement.tUserAgreementEntity.updateTime + val currentTime = parseDateToTime(updateTime) + if (hasNewVersion(currentTime)) { + updateAuthorizeVersion(currentTime) + setAuthorizeStatus(agreementType, false) + } + } + }, { s: String -> + Logger.d(TAG, "updateAgreementAndAuthorization reason:$s") + }) + } + + private fun hasNewVersion(currentTime: Long): Boolean { + val oldVersion = getAuthorizeVersion() + return currentTime > oldVersion } } \ No newline at end of file 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 00850bc66f..ca4faaa0fc 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,23 +4,29 @@ 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.model.proxy.toAuthorizeType import com.mogo.module.authorize.util.SharedPreferenceUtil.needAuthorization import com.mogo.utils.logger.Logger open abstract class MogoAuthorizeManagerImpl : IMogoAuthorizeInvoke { + companion object { + const val TAG = "AuthorizeManagerImpl" + } + private val baseController: IMogoAuthorizeController by lazy { IMogoAuthorizeController() } override fun needAuthorize(tag: String): Boolean { - val type = AuthorizeProxy.getAuthorizeType(tag) - return needAuthorization(type) + Logger.d(TAG, "needAuthorize update agreement in background") + baseController.updateAgreementVersion(tag.toAuthorizeType()) + return needAuthorization(tag.toAuthorizeType()) } override fun invokeAuthorizeContent(tag: String) { //todo 后面动态代理统一处理校验问题 - Logger.d("invokeAuthorizeContent", "tag:$tag") + Logger.d(TAG, "tag:$tag") val agreementType = AuthorizeProxy.getAuthorizeType(tag) - Logger.d("invokeAuthorizeContent", "agreementType:$agreementType") + Logger.d(TAG, "agreementType:$agreementType") baseController.invokeAuthorizeContent(tag, agreementType) } @@ -33,7 +39,7 @@ open abstract class MogoAuthorizeManagerImpl : IMogoAuthorizeInvoke { } override fun registerAuthorizeListener(tag: String, listener: IMogoAcquireAuthorizeListener) { - Logger.d("AuthorizeManager", "registerAuthorize tag : $tag listener:$listener") + Logger.d(TAG, "registerAuthorize tag : $tag listener:$listener") MogoAuthorizeRegisterHandler.registerAuthorizeListener(tag, listener) } diff --git a/modules/mogo-module-authorize/src/main/java/com/mogo/module/authorize/authprovider/invoke/IMogoAuthorizeInvoke.kt b/modules/mogo-module-authorize/src/main/java/com/mogo/module/authorize/authprovider/invoke/IMogoAuthorizeInvoke.kt index dad969b47e..7cdfc6af18 100644 --- a/modules/mogo-module-authorize/src/main/java/com/mogo/module/authorize/authprovider/invoke/IMogoAuthorizeInvoke.kt +++ b/modules/mogo-module-authorize/src/main/java/com/mogo/module/authorize/authprovider/invoke/IMogoAuthorizeInvoke.kt @@ -8,7 +8,7 @@ interface IMogoAuthorizeInvoke : IMogoAuthorizeRegister { /** * 是否需要授权 */ - fun needAuthorize(tag:String): Boolean + fun needAuthorize(tag: String): Boolean /** * 获取授权内容 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 810997e582..c20053c616 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 @@ -13,8 +13,8 @@ class IMogoAuthorizeMainManager : IMogoAuthorizeMainProvider { return mogoAuthShow.hasRegister(tag) } - override fun needAuthorize(): Boolean { - return mogoAuthShow.needAuthorize() + override fun needAuthorize(tag: String): Boolean { + return mogoAuthShow.needAuthorize(tag) } override fun invokeAuthorizeContent(tag: String) { diff --git a/modules/mogo-module-authorize/src/main/java/com/mogo/module/authorize/authprovider/launcher/MogoAuthorizeMainController.kt b/modules/mogo-module-authorize/src/main/java/com/mogo/module/authorize/authprovider/launcher/MogoAuthorizeMainController.kt index 976f98d086..88c03cf851 100644 --- a/modules/mogo-module-authorize/src/main/java/com/mogo/module/authorize/authprovider/launcher/MogoAuthorizeMainController.kt +++ b/modules/mogo-module-authorize/src/main/java/com/mogo/module/authorize/authprovider/launcher/MogoAuthorizeMainController.kt @@ -5,7 +5,9 @@ import com.mogo.module.authorize.authprovider.biz.MogoAuthorizeRegisterHandler import com.mogo.module.authorize.model.BaseResponse import com.mogo.module.authorize.model.bean.AGREEMENT_EFFECT import com.mogo.module.authorize.model.bean.AGREEMENT_NOT_EFFECT +import com.mogo.module.authorize.model.proxy.toAuthorizeType import com.mogo.module.authorize.net.request +import com.mogo.module.authorize.util.SharedPreferenceUtil.setAuthorizeStatus import com.mogo.utils.logger.Logger object MogoAuthorizeMainController : IMogoAuthorizeController() { @@ -17,27 +19,28 @@ object MogoAuthorizeMainController : IMogoAuthorizeController() { val acquireAuthListener = MogoAuthorizeRegisterHandler.getAuthorizeListener(tag) updateAuthorize(agrId, AGREEMENT_EFFECT, { if (acquireAuthListener != null) { - onSuccess.invoke() + setAuthorizeStatus(tag.toAuthorizeType(), true) acquireAuthListener.authorizeSuccess() + onSuccess.invoke() } else { Logger.d(TAG, "agreeAuthorize --- can not find listener by this tag :$tag ") } }, { val errorMsg = it ?: "agreeAuthorize failed,please check network" - onError.invoke(errorMsg) authorizeFailed(tag, errorMsg) + onError.invoke(errorMsg) }) } @Synchronized fun disAgreeAuthorize(tag: String, agrId: Long, onSuccess: (() -> Unit), onError: ((String) -> Unit)) { updateAuthorize(agrId, AGREEMENT_NOT_EFFECT, { - onSuccess.invoke() authorizeFailed(tag, "UserDisAgree authorize") + onSuccess.invoke() }, { val errorMsg = it ?: "disAgreeAuthorize failed,please check network" - onError.invoke(errorMsg) authorizeFailed(tag, errorMsg) + onError.invoke(errorMsg) }) } 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 3da7bf1d9c..7d8ab11136 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 @@ -6,7 +6,7 @@ import com.mogo.module.authorize.authprovider.biz.MogoAuthorizeManagerImpl import com.mogo.module.authorize.authprovider.biz.MogoAuthorizeRegisterHandler import com.mogo.module.authorize.authprovider.invoke.AuthorizeInvokerConstant.Companion.AUTHORIZE_TYPE_LAUNCHER_MAIN import com.mogo.module.authorize.fragment.AuthorizeFragment -import com.mogo.module.authorize.model.proxy.AuthorizeProxy +import com.mogo.module.authorize.model.proxy.toAuthorizeType import com.mogo.module.authorize.util.SharedPreferenceUtil.hasAuth import com.mogo.service.IMogoServiceApis import com.mogo.service.MogoServicePaths @@ -61,8 +61,7 @@ class MogoMainAuthorize private constructor() : MogoAuthorizeManagerImpl(), IMog onError.invoke("invoke should be in main thread") return } - val type = AuthorizeProxy.getAuthorizeType(tag) - if (hasAuth(type)) { + if (hasAuth(tag.toAuthorizeType())) { onError.invoke("already authorize,do not repeat operation") return } @@ -89,17 +88,17 @@ class MogoMainAuthorize private constructor() : MogoAuthorizeManagerImpl(), IMog Logger.d(TAG, "pushFragmentToMainView") val mogoService = ARouter.getInstance().build(MogoServicePaths.PATH_SERVICE_APIS).navigation() if (mogoService is IMogoServiceApis) { + push.invoke() mogoService.fragmentManagerApi.push(builderWrapper) } - push.invoke() } private inline fun popFragmentFromMainView(pop: (() -> Unit)) { val mogoService = ARouter.getInstance().build(MogoServicePaths.PATH_SERVICE_APIS).navigation() if (mogoService is IMogoServiceApis) { + pop.invoke() mogoService.fragmentManagerApi.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 64626be098..d33c9f66e5 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 @@ -8,8 +8,8 @@ import com.mogo.module.authorize.authprovider.module.MogoModuleAuthorize.Compani @Route(path = AuthorizeConstant.PROVIDER_MODULE) class IMogoAuthorizeModuleManager : IMogoAuthorizeModuleProvider { - override fun needAuthorize(): Boolean { - return mogoAuth.needAuthorize() + override fun needAuthorize(tag: String): Boolean { + return mogoAuth.needAuthorize(tag) } override fun invokeAuthorizeForShow() { diff --git a/modules/mogo-module-authorize/src/main/java/com/mogo/module/authorize/fragment/AuthorizePresenter.kt b/modules/mogo-module-authorize/src/main/java/com/mogo/module/authorize/fragment/AuthorizePresenter.kt index 010df3f4e8..27a398d1fa 100644 --- a/modules/mogo-module-authorize/src/main/java/com/mogo/module/authorize/fragment/AuthorizePresenter.kt +++ b/modules/mogo-module-authorize/src/main/java/com/mogo/module/authorize/fragment/AuthorizePresenter.kt @@ -5,6 +5,8 @@ import com.mogo.commons.mvp.Presenter import com.mogo.module.authorize.authprovider.invoke.IMogoAuthorizeContentListener import com.mogo.module.authorize.authprovider.launcher.MogoMainAuthorize.Companion.mogoAuthShow import com.mogo.module.authorize.model.bean.Agreement +import com.mogo.module.authorize.util.DateUtil.parseDateToTime +import com.mogo.module.authorize.util.SharedPreferenceUtil.updateAuthorizeVersion import com.mogo.utils.logger.Logger class AuthorizePresenter : Presenter, AuthorizeContract.Biz, IMogoAuthorizeContentListener { @@ -14,6 +16,7 @@ class AuthorizePresenter : Presenter, AuthorizeContract. } private var invokeTag: String? = null + private var updateTime: Long = 0L constructor(invokeTag: String, view: AuthorizeContract.View?) : super(view) { this.invokeTag = invokeTag @@ -42,6 +45,9 @@ class AuthorizePresenter : Presenter, AuthorizeContract. val title = userAgreement.tUserAgreementEntity.title val bottomContent = userAgreement.tUserAgreementEntity.agreementButtonFirst val lastContent = userAgreement.tUserAgreementEntity.agreementButtonSecond + val tmpUpdate = userAgreement.tUserAgreementEntity.updateTime + updateTime = parseDateToTime(tmpUpdate) + Logger.d(TAG, "updateTime ===== $updateTime") mView.showAuthorizationAgreementContent(id, content, title, bottomContent, lastContent) } else { mView.showAuthorizationError() @@ -50,15 +56,15 @@ class AuthorizePresenter : Presenter, AuthorizeContract. override fun requestContentFailed(errorMsg: String) { Logger.d(TAG, "requestContentFailed errorMsg:$errorMsg") -// mView.showAuthorizationAgreementContent(0, "123", "123456", "34234", "3543535") mView.showAuthorizationError() } override fun agreeAuthorize(tag: String, agreementId: Long) { mogoAuthShow.agreeAuthorize(tag, agreementId, { Logger.d(TAG, "agreeAuthorize success") + updateAuthorizeVersion(updateTime) closeAuthorizeView() - }, { s: String -> + }, { Logger.d(TAG, "agreeAuthorize failed") closeAuthorizeView() }) @@ -67,7 +73,7 @@ class AuthorizePresenter : Presenter, AuthorizeContract. override fun disAgreeAuthorize(tag: String, agreementId: Long) { mogoAuthShow.disAgreeAuthorize(tag, agreementId, { closeAuthorizeView() - }, { s: String -> + }, { closeAuthorizeView() }) } diff --git a/modules/mogo-module-authorize/src/main/java/com/mogo/module/authorize/model/proxy/AuthorizeProxy.kt b/modules/mogo-module-authorize/src/main/java/com/mogo/module/authorize/model/proxy/AuthorizeProxy.kt index 799259266a..093b4b20e8 100644 --- a/modules/mogo-module-authorize/src/main/java/com/mogo/module/authorize/model/proxy/AuthorizeProxy.kt +++ b/modules/mogo-module-authorize/src/main/java/com/mogo/module/authorize/model/proxy/AuthorizeProxy.kt @@ -9,6 +9,11 @@ import com.mogo.module.authorize.authprovider.invoke.AuthorizeInvokerConstant.Co import com.mogo.module.authorize.authprovider.invoke.AuthorizeInvokerConstant.Companion.AUTHORIZE_TYPE_NOVELTY import com.mogo.module.authorize.authprovider.invoke.AuthorizeInvokerConstant.Companion.AUTHORIZE_TYPE_TAN_LU + +fun String.toAuthorizeType(): Int { + return AuthorizeProxy.getAuthorizeType(this) +} + class AuthorizeProxy { companion object { diff --git a/modules/mogo-module-authorize/src/main/java/com/mogo/module/authorize/util/DateUtil.kt b/modules/mogo-module-authorize/src/main/java/com/mogo/module/authorize/util/DateUtil.kt new file mode 100644 index 0000000000..cba4cd0248 --- /dev/null +++ b/modules/mogo-module-authorize/src/main/java/com/mogo/module/authorize/util/DateUtil.kt @@ -0,0 +1,11 @@ +package com.mogo.module.authorize.util + +import java.util.* + +object DateUtil { + + fun parseDateToTime(tmpDate: String): Long { + val time = Date(tmpDate) + return time.time + } +} \ 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 050c3b812e..07e1714365 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 AUTHORIZE_UPDATE_TIME = "AUTHORIZE_UPDATE_TIME" fun needAuthorization(type: Int): Boolean { return !hasAuth(type) @@ -15,7 +16,15 @@ object SharedPreferenceUtil { return SharedPrefsMgr.getInstance(AbsMogoApplication.getApp()).getBoolean(HAS_AUTH + type, false) } - fun setAuthorizeStatus(type: Int) { - SharedPrefsMgr.getInstance(AbsMogoApplication.getApp()).putBoolean(HAS_AUTH + type, true) + fun setAuthorizeStatus(type: Int, authorize: Boolean) { + SharedPrefsMgr.getInstance(AbsMogoApplication.getApp()).putBoolean(HAS_AUTH + type, authorize) + } + + fun updateAuthorizeVersion(updateTime: Long) { + SharedPrefsMgr.getInstance(AbsMogoApplication.getApp()).putLong(AUTHORIZE_UPDATE_TIME, updateTime) + } + + fun getAuthorizeVersion(): Long { + return SharedPrefsMgr.getInstance(AbsMogoApplication.getApp()).getLong(AUTHORIZE_UPDATE_TIME, 0L) } } \ No newline at end of file diff --git a/modules/mogo-module-extensions/src/main/java/com/mogo/module/extensions/entrance/EntrancePresenter.java b/modules/mogo-module-extensions/src/main/java/com/mogo/module/extensions/entrance/EntrancePresenter.java index b9d879615f..520194c88a 100644 --- a/modules/mogo-module-extensions/src/main/java/com/mogo/module/extensions/entrance/EntrancePresenter.java +++ b/modules/mogo-module-extensions/src/main/java/com/mogo/module/extensions/entrance/EntrancePresenter.java @@ -25,6 +25,8 @@ import org.json.JSONObject; import java.util.HashMap; import java.util.Map; +import static com.mogo.module.authorize.authprovider.invoke.AuthorizeInvokerConstant.AUTHORIZE_TYPE_LAUNCHER_SHARE; + /** * @author congtaowang * @since 2020-01-07 @@ -74,30 +76,30 @@ public class EntrancePresenter extends Presenter { private IMogoVoiceCmdCallBack mogoVoiceListener = new IMogoVoiceCmdCallBack() { @Override public void onCmdSelected(String cmd) { - Log.d(TAG, "免唤醒 mogoVoiceListener needAuthorize = " + mIMogoAuthorizeModuleManager.needAuthorize() + " >>>cmd = " + cmd); + Log.d(TAG, "免唤醒 mogoVoiceListener needAuthorize = " + mIMogoAuthorizeModuleManager.needAuthorize(AUTHORIZE_TYPE_LAUNCHER_SHARE) + " >>>cmd = " + cmd); mVoiceCmdType = cmd; if (cmd.equals(ExtensionsModuleConst.CANCLE_SHARE) || cmd.equals(ExtensionsModuleConst.CLOSE)) { //取消分享,关闭页面 - if (mIMogoAuthorizeModuleManager.needAuthorize()) { - mIMogoAuthorizeModuleManager.invokeAuthorization(AuthorizeInvokerConstant.AUTHORIZE_TYPE_LAUNCHER_SHARE_NOVELTY); + if (mIMogoAuthorizeModuleManager.needAuthorize(AUTHORIZE_TYPE_LAUNCHER_SHARE)) { + mIMogoAuthorizeModuleManager.invokeAuthorization(AUTHORIZE_TYPE_LAUNCHER_SHARE); } else { ShareControl.getInstance(mContext).dismissDialog(); } } else if (cmd.equals(ExtensionsModuleConst.UPLOAD_ROAD_BLOCK)) { //上报拥堵 - if (mIMogoAuthorizeModuleManager.needAuthorize()) { - mIMogoAuthorizeModuleManager.invokeAuthorization(AuthorizeInvokerConstant.AUTHORIZE_TYPE_LAUNCHER_SHARE_NOVELTY); + if (mIMogoAuthorizeModuleManager.needAuthorize(AUTHORIZE_TYPE_LAUNCHER_SHARE)) { + mIMogoAuthorizeModuleManager.invokeAuthorization(AUTHORIZE_TYPE_LAUNCHER_SHARE); } else { uploadRoadCondition(); } } else if (cmd.equals(ExtensionsModuleConst.UPLOAD_TRAFFIC_CHECK)) { //上报交通检查 - if (mIMogoAuthorizeModuleManager.needAuthorize()) { - mIMogoAuthorizeModuleManager.invokeAuthorization(AuthorizeInvokerConstant.AUTHORIZE_TYPE_LAUNCHER_SHARE_NOVELTY); + if (mIMogoAuthorizeModuleManager.needAuthorize(AUTHORIZE_TYPE_LAUNCHER_SHARE)) { + mIMogoAuthorizeModuleManager.invokeAuthorization(AUTHORIZE_TYPE_LAUNCHER_SHARE); } else { uploadTrfficCheck(); } } else if (cmd.equals(ExtensionsModuleConst.UPLOAD_ROAD_CLOSURE)) { //上报封路 - if (mIMogoAuthorizeModuleManager.needAuthorize()) { - mIMogoAuthorizeModuleManager.invokeAuthorization(AuthorizeInvokerConstant.AUTHORIZE_TYPE_LAUNCHER_SHARE_NOVELTY); + if (mIMogoAuthorizeModuleManager.needAuthorize(AUTHORIZE_TYPE_LAUNCHER_SHARE)) { + mIMogoAuthorizeModuleManager.invokeAuthorization(AUTHORIZE_TYPE_LAUNCHER_SHARE); } else { uploadRoadClosed(); } @@ -141,7 +143,7 @@ public class EntrancePresenter extends Presenter { public void onIntentReceived(String intentStr, Intent intent) { mVoiceCmdType = intentStr; String data = intent.getStringExtra("data"); - Log.d(TAG, "唤醒 mogoIntentListener intentStr =" + intentStr + ">>data =" + data + " >>> needAuthorize = " + mIMogoAuthorizeModuleManager.needAuthorize()); + Log.d(TAG, "唤醒 mogoIntentListener intentStr =" + intentStr + ">>data =" + data + " >>> needAuthorize = " + mIMogoAuthorizeModuleManager.needAuthorize(AUTHORIZE_TYPE_LAUNCHER_SHARE)); if (intentStr.equals(ExtensionsModuleConst.GO_TO_SHARE)) { //我要分享 --ok String conditionData = intent.getStringExtra("data"); Log.d(TAG, "唤醒 mogoIntentListener intentStr =" + intentStr + ">>conditionData =" + conditionData); @@ -152,30 +154,30 @@ public class EntrancePresenter extends Presenter { mVoiceCmdShareType = typeString; if (!TextUtils.isEmpty(typeString)) { if (typeString.equals("封路")) { - if (mIMogoAuthorizeModuleManager.needAuthorize()) { - mIMogoAuthorizeModuleManager.invokeAuthorization(AuthorizeInvokerConstant.AUTHORIZE_TYPE_LAUNCHER_SHARE_NOVELTY); + if (mIMogoAuthorizeModuleManager.needAuthorize(AUTHORIZE_TYPE_LAUNCHER_SHARE)) { + mIMogoAuthorizeModuleManager.invokeAuthorization(AUTHORIZE_TYPE_LAUNCHER_SHARE); } else { Log.d(TAG, "mogoIntentListener 封路 -------> "); uploadRoadClosed(); } } else if (typeString.equals("油价")) { - if (mIMogoAuthorizeModuleManager.needAuthorize()) { - mIMogoAuthorizeModuleManager.invokeAuthorization(AuthorizeInvokerConstant.AUTHORIZE_TYPE_LAUNCHER_SHARE_NOVELTY); + if (mIMogoAuthorizeModuleManager.needAuthorize(AUTHORIZE_TYPE_LAUNCHER_SHARE)) { + mIMogoAuthorizeModuleManager.invokeAuthorization(AUTHORIZE_TYPE_LAUNCHER_SHARE); } else { Log.d(TAG, "mogoIntentListener 油价 -------> "); shareOilPrice(); } } else if (typeString.equals("交通检查")) { - if (mIMogoAuthorizeModuleManager.needAuthorize()) { - mIMogoAuthorizeModuleManager.invokeAuthorization(AuthorizeInvokerConstant.AUTHORIZE_TYPE_LAUNCHER_SHARE_NOVELTY); + if (mIMogoAuthorizeModuleManager.needAuthorize(AUTHORIZE_TYPE_LAUNCHER_SHARE)) { + mIMogoAuthorizeModuleManager.invokeAuthorization(AUTHORIZE_TYPE_LAUNCHER_SHARE); } else { Log.d(TAG, "mogoIntentListener 交通检查 -------> "); uploadTrfficCheck(); } } } else { - if (mIMogoAuthorizeModuleManager.needAuthorize()) { - mIMogoAuthorizeModuleManager.invokeAuthorization(AuthorizeInvokerConstant.AUTHORIZE_TYPE_LAUNCHER_SHARE_NOVELTY); + if (mIMogoAuthorizeModuleManager.needAuthorize(AUTHORIZE_TYPE_LAUNCHER_SHARE)) { + mIMogoAuthorizeModuleManager.invokeAuthorization(AUTHORIZE_TYPE_LAUNCHER_SHARE); } else { ShareControl.getInstance(mContext).showDialog(); Log.d(TAG, "mogoIntentListener 我要分享 ----> "); @@ -187,30 +189,30 @@ public class EntrancePresenter extends Presenter { } } else if (intentStr.equals(ExtensionsModuleConst.UPLOAD_ROAD_CONDITION_AWAKEN)) { //分享路况/上报路况/上报拥堵 唤醒 - if (mIMogoAuthorizeModuleManager.needAuthorize()) { - mIMogoAuthorizeModuleManager.invokeAuthorization(AuthorizeInvokerConstant.AUTHORIZE_TYPE_LAUNCHER_SHARE_NOVELTY); + if (mIMogoAuthorizeModuleManager.needAuthorize(AUTHORIZE_TYPE_LAUNCHER_SHARE)) { + mIMogoAuthorizeModuleManager.invokeAuthorization(AUTHORIZE_TYPE_LAUNCHER_SHARE); } else { uploadRoadCondition(); Log.d(TAG, "mogoIntentListener 分享路况 唤醒 ----> "); } } else if (intentStr.equals(ExtensionsModuleConst.SHARE_DIALOG_CLOSE)) { //关闭分享框 唤醒 - if (mIMogoAuthorizeModuleManager.needAuthorize()) { - mIMogoAuthorizeModuleManager.invokeAuthorization(AuthorizeInvokerConstant.AUTHORIZE_TYPE_LAUNCHER_SHARE_NOVELTY); + if (mIMogoAuthorizeModuleManager.needAuthorize(AUTHORIZE_TYPE_LAUNCHER_SHARE)) { + mIMogoAuthorizeModuleManager.invokeAuthorization(AUTHORIZE_TYPE_LAUNCHER_SHARE); } else { ShareControl.getInstance(mContext).dismissDialog(); Log.d(TAG, "mogoIntentListener 关闭分享框 唤醒 ----> "); } } else if (intentStr.equals(ExtensionsModuleConst.NO_REPLY_SHARE_DIALOG_CLOSE)) { // 两次未回复关闭对话框 - if (mIMogoAuthorizeModuleManager.needAuthorize()) { - mIMogoAuthorizeModuleManager.invokeAuthorization(AuthorizeInvokerConstant.AUTHORIZE_TYPE_LAUNCHER_SHARE_NOVELTY); + if (mIMogoAuthorizeModuleManager.needAuthorize(AUTHORIZE_TYPE_LAUNCHER_SHARE)) { + mIMogoAuthorizeModuleManager.invokeAuthorization(AUTHORIZE_TYPE_LAUNCHER_SHARE); } else { ShareControl.getInstance(mContext).dismissDialog(); Logger.d(TAG, "mogoIntentListener 两次未回复关闭对话框"); } } else if (intentStr.equals(ExtensionsModuleConst.UPLOAD_ROAD_CONDITION)) { //上报路况 免唤醒 --ok - if (mIMogoAuthorizeModuleManager.needAuthorize()) { - mIMogoAuthorizeModuleManager.invokeAuthorization(AuthorizeInvokerConstant.AUTHORIZE_TYPE_LAUNCHER_SHARE_NOVELTY); + if (mIMogoAuthorizeModuleManager.needAuthorize(AUTHORIZE_TYPE_LAUNCHER_SHARE)) { + mIMogoAuthorizeModuleManager.invokeAuthorization(AUTHORIZE_TYPE_LAUNCHER_SHARE); } else { uploadRoadCondition(); } 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 83b3628aca..9d356de257 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 @@ -2,6 +2,8 @@ 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.invoke.AuthorizeInvokerConstant +import com.mogo.module.authorize.authprovider.invoke.AuthorizeInvokerConstant.Companion.AUTHORIZE_TYPE_LAUNCHER_MAIN import com.mogo.module.authorize.authprovider.module.IMogoAuthorizeModuleManager import com.mogo.module.guide.fragment.GuideFragment import com.mogo.module.guide.util.SharedPreferenceUtil.hasGuide @@ -48,7 +50,7 @@ object GuideBizManager { fun invokeAuthorize() { val authorizeInvoke = ARouter.getInstance().build(AuthorizeConstant.PROVIDER_MODULE).navigation() if (authorizeInvoke is IMogoAuthorizeModuleManager) { - if (authorizeInvoke.needAuthorize()) { + if (authorizeInvoke.needAuthorize(AUTHORIZE_TYPE_LAUNCHER_MAIN)) { authorizeInvoke.invokeAuthorizeForShow() } } From 5bb8e830fec2248cace0d7d14da48bacba70d8b2 Mon Sep 17 00:00:00 2001 From: wangcongtao Date: Fri, 27 Mar 2020 20:32:38 +0800 Subject: [PATCH 06/13] opt --- .idea/misc.xml | 2 +- .../map/impl/amap/utils/MogoMapUtils.java | 1 - .../extensions/entrance/EntranceFragment.java | 20 ------------------- .../res/layout/module_ext_layout_entrance.xml | 2 +- 4 files changed, 2 insertions(+), 23 deletions(-) diff --git a/.idea/misc.xml b/.idea/misc.xml index 707ee6e613..2dc54c489f 100644 --- a/.idea/misc.xml +++ b/.idea/misc.xml @@ -1,6 +1,6 @@ - + \ No newline at end of file diff --git a/libraries/map-amap/src/main/java/com/mogo/map/impl/amap/utils/MogoMapUtils.java b/libraries/map-amap/src/main/java/com/mogo/map/impl/amap/utils/MogoMapUtils.java index 9fddebce13..ee152da0cb 100644 --- a/libraries/map-amap/src/main/java/com/mogo/map/impl/amap/utils/MogoMapUtils.java +++ b/libraries/map-amap/src/main/java/com/mogo/map/impl/amap/utils/MogoMapUtils.java @@ -89,7 +89,6 @@ public class MogoMapUtils { south = tmp; } - Logger.d( TAG, "west = %s, east = %s, north = %s, south = %s", west, east, north, south ); return new LatLngBounds.Builder().include( new LatLng( east, north ) ).include( new LatLng( west, south ) ).build(); 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 fdf8030545..bc5f2e406b 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 @@ -178,26 +178,6 @@ public class EntranceFragment extends MvpFragment< EntranceView, EntrancePresent } ); mVRMode = findViewById( R.id.module_entrance_id_vr_mode ); mVRMode.setOnClickListener( view -> { - - mMogoStatusManager.setUserInteractionStatus( TAG, true, false ); - Rect mBoundRect = new Rect(); - final int paddingTop = WindowUtils.dip2px( getContext(), 250 ); - final int paddingBottom = WindowUtils.dip2px( getContext(), 150 ); - final int paddingRight = WindowUtils.dip2px( getContext(), 150 ); - final int paddingLeft = WindowUtils.dip2px( getContext(), 650 ); - - mBoundRect.bottom = paddingBottom; - mBoundRect.top = paddingTop; - mBoundRect.left = paddingLeft; - mBoundRect.right = paddingRight; - mMApUIController.showBounds( TAG, - new MogoLatLng( - mService.getSingletonLocationClient( getContext() ).getLastKnowLocation().getLatitude(), - mService.getSingletonLocationClient( getContext() ).getLastKnowLocation().getLongitude() - ), - Arrays.asList( new MogoLatLng( 39.9736012000, 116.4220762300 ) ), - mBoundRect, - false ); } ); mMove2CurrentLocation = findViewById( R.id.module_entrance_id_move2_current_location ); diff --git a/modules/mogo-module-extensions/src/main/res/layout/module_ext_layout_entrance.xml b/modules/mogo-module-extensions/src/main/res/layout/module_ext_layout_entrance.xml index 46c37d2177..2fb0371afd 100644 --- a/modules/mogo-module-extensions/src/main/res/layout/module_ext_layout_entrance.xml +++ b/modules/mogo-module-extensions/src/main/res/layout/module_ext_layout_entrance.xml @@ -146,7 +146,7 @@ android:layout_height="@dimen/module_ext_operation_panel_vr_height" android:background="@drawable/module_ext_dw_top_corner_bkg" android:orientation="vertical" - android:visibility="visible"> + android:visibility="gone"> Date: Fri, 27 Mar 2020 20:41:07 +0800 Subject: [PATCH 07/13] 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 08/13] 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); } From aaeb7f4c4870ca731923fe0f3b51fadd06222eac Mon Sep 17 00:00:00 2001 From: unknown Date: Fri, 27 Mar 2020 20:54:49 +0800 Subject: [PATCH 09/13] fix bug --- .../authorize/authprovider/biz/IMogoAuthorizeController.kt | 2 ++ .../module/authorize/authprovider/biz/MogoAuthorizeProvider.kt | 3 ++- 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/modules/mogo-module-authorize/src/main/java/com/mogo/module/authorize/authprovider/biz/IMogoAuthorizeController.kt b/modules/mogo-module-authorize/src/main/java/com/mogo/module/authorize/authprovider/biz/IMogoAuthorizeController.kt index 3bcf0e4d7f..8a5f7fccc4 100644 --- a/modules/mogo-module-authorize/src/main/java/com/mogo/module/authorize/authprovider/biz/IMogoAuthorizeController.kt +++ b/modules/mogo-module-authorize/src/main/java/com/mogo/module/authorize/authprovider/biz/IMogoAuthorizeController.kt @@ -88,6 +88,8 @@ open class IMogoAuthorizeController { if (hasNewVersion(currentTime)) { updateAuthorizeVersion(currentTime) setAuthorizeStatus(agreementType, false) + }else{ + Logger.d(TAG,"no new version") } } }, { s: String -> 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 index dad763ba83..8522ade69c 100644 --- 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 @@ -12,6 +12,7 @@ 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.hasAuth import com.mogo.module.authorize.util.SharedPreferenceUtil.hasGuide import com.mogo.service.module.IMogoModuleLifecycle import com.mogo.service.module.IMogoModuleProvider @@ -62,7 +63,7 @@ class MogoAuthorizeProvider : IMogoModuleProvider { } override fun init(context: Context?) { - if (hasGuide()) { + if (hasGuide() && !hasAuth(0)) { mogoAuthShow.invokeAuthorizeForShow() } else { Logger.d(TAG, "wait for guide invoke") From d993160ec36cf70477757babec2161183b1bd7cf Mon Sep 17 00:00:00 2001 From: wangcongtao Date: Fri, 27 Mar 2020 20:57:01 +0800 Subject: [PATCH 10/13] opt' --- .../com/mogo/module/extensions/entrance/EntranceFragment.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) 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 43c7c6b26c..1449cfed75 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 @@ -194,8 +194,8 @@ public class EntranceFragment extends MvpFragment< EntranceView, EntrancePresent if ( location != null ) { if ( !mMogoStatusManager.isADASShow() ) { mMogoStatusManager.setUserInteractionStatus( TAG, true, false ); - mMApUIController.changeZoom( 16.0f ); mMApUIController.setLockZoom( 16 ); + mMApUIController.changeZoom( 16.0f ); } mMogoStatusManager.setUserInteractionStatus( TAG, true, false ); mMApUIController.recoverLockMode(); From 121f8083dce759ef981f5cb479fdf019383534f1 Mon Sep 17 00:00:00 2001 From: unknown Date: Fri, 27 Mar 2020 22:24:07 +0800 Subject: [PATCH 11/13] fix bug and add voice wakeupCmd --- .../authprovider/biz/MogoAuthorizeProvider.kt | 4 ++-- .../launcher/MogoAuthorizeMainController.kt | 20 +++++++++++-------- .../authorize/fragment/AuthorizeFragment.kt | 1 + .../mogo/module/authorize/voice/VoiceUtil.kt | 4 ++-- 4 files changed, 17 insertions(+), 12 deletions(-) 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 index 8522ade69c..e3850d1c71 100644 --- 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 @@ -11,8 +11,8 @@ 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.invoke.AuthorizeInvokerConstant.Companion.AUTHORIZE_TYPE_LAUNCHER_MAIN import com.mogo.module.authorize.authprovider.launcher.MogoMainAuthorize.Companion.mogoAuthShow -import com.mogo.module.authorize.util.SharedPreferenceUtil.hasAuth import com.mogo.module.authorize.util.SharedPreferenceUtil.hasGuide import com.mogo.service.module.IMogoModuleLifecycle import com.mogo.service.module.IMogoModuleProvider @@ -63,7 +63,7 @@ class MogoAuthorizeProvider : IMogoModuleProvider { } override fun init(context: Context?) { - if (hasGuide() && !hasAuth(0)) { + if (hasGuide() && mogoAuthShow.needAuthorize(AUTHORIZE_TYPE_LAUNCHER_MAIN)) { mogoAuthShow.invokeAuthorizeForShow() } else { Logger.d(TAG, "wait for guide invoke") diff --git a/modules/mogo-module-authorize/src/main/java/com/mogo/module/authorize/authprovider/launcher/MogoAuthorizeMainController.kt b/modules/mogo-module-authorize/src/main/java/com/mogo/module/authorize/authprovider/launcher/MogoAuthorizeMainController.kt index 88c03cf851..0a0e3f31b9 100644 --- a/modules/mogo-module-authorize/src/main/java/com/mogo/module/authorize/authprovider/launcher/MogoAuthorizeMainController.kt +++ b/modules/mogo-module-authorize/src/main/java/com/mogo/module/authorize/authprovider/launcher/MogoAuthorizeMainController.kt @@ -16,15 +16,11 @@ object MogoAuthorizeMainController : IMogoAuthorizeController() { @Synchronized fun agreeAuthorize(tag: String, agrId: Long, onSuccess: (() -> Unit), onError: ((String) -> Unit)) { - val acquireAuthListener = MogoAuthorizeRegisterHandler.getAuthorizeListener(tag) + updateAuthorize(agrId, AGREEMENT_EFFECT, { - if (acquireAuthListener != null) { - setAuthorizeStatus(tag.toAuthorizeType(), true) - acquireAuthListener.authorizeSuccess() - onSuccess.invoke() - } else { - Logger.d(TAG, "agreeAuthorize --- can not find listener by this tag :$tag ") - } + authorizeSuccess(tag) + setAuthorizeStatus(tag.toAuthorizeType(), true) + onSuccess.invoke() }, { val errorMsg = it ?: "agreeAuthorize failed,please check network" authorizeFailed(tag, errorMsg) @@ -67,4 +63,12 @@ object MogoAuthorizeMainController : IMogoAuthorizeController() { } } + private fun authorizeSuccess(tag: String) { + val acquireAuthListener = MogoAuthorizeRegisterHandler.getAuthorizeListener(tag) + if (acquireAuthListener != null) { + acquireAuthListener.authorizeSuccess() + } else { + Logger.d(TAG, "agreeAuthorize --- can not find listener by this tag :$tag ") + } + } } \ No newline at end of file diff --git a/modules/mogo-module-authorize/src/main/java/com/mogo/module/authorize/fragment/AuthorizeFragment.kt b/modules/mogo-module-authorize/src/main/java/com/mogo/module/authorize/fragment/AuthorizeFragment.kt index 7d2dcb8258..7e919f996d 100644 --- a/modules/mogo-module-authorize/src/main/java/com/mogo/module/authorize/fragment/AuthorizeFragment.kt +++ b/modules/mogo-module-authorize/src/main/java/com/mogo/module/authorize/fragment/AuthorizeFragment.kt @@ -93,6 +93,7 @@ class AuthorizeFragment(private val invokeTag: String) : MvpFragment Date: Sat, 28 Mar 2020 18:54:43 +0800 Subject: [PATCH 12/13] add guide show model --- app/build.gradle | 2 ++ app/src/main/java/com/mogo/launcher/MogoApplication.java | 3 +++ config.gradle | 2 ++ gradle.properties | 4 ++++ 4 files changed, 11 insertions(+) diff --git a/app/build.gradle b/app/build.gradle index 182f07c5f6..4146c63e4f 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -98,6 +98,8 @@ dependencies { // implementation rootProject.ext.dependencies.moduledemo2 implementation rootProject.ext.dependencies.carcallprovider implementation rootProject.ext.dependencies.carcall + implementation rootProject.ext.dependencies.guideshowprovider + implementation rootProject.ext.dependencies.guideshow implementation rootProject.ext.dependencies.modulemedia implementation rootProject.ext.dependencies.modulefreshnews,{ exclude group:'com.mogo.module',module:'module-onlinecar' diff --git a/app/src/main/java/com/mogo/launcher/MogoApplication.java b/app/src/main/java/com/mogo/launcher/MogoApplication.java index 73f7b17c6e..c9c51f6503 100644 --- a/app/src/main/java/com/mogo/launcher/MogoApplication.java +++ b/app/src/main/java/com/mogo/launcher/MogoApplication.java @@ -15,6 +15,7 @@ import com.mogo.module.back.BackToLauncherConst; import com.mogo.module.carchatting.card.CallChatConstant; import com.mogo.module.common.MogoModule; import com.mogo.module.common.MogoModulePaths; +import com.mogo.module.guideshow.provider.GuideShowProviderConstant; import com.mogo.module.media.MediaConstants; import com.mogo.module.onlinecar.OnLineCarConstants; import com.mogo.module.push.PushUIConstants; @@ -51,6 +52,8 @@ public class MogoApplication extends AbsMogoApplication { 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(GuideShowProviderConstant.PATH_GUIDE_SHOW_FRAGMENT, GuideShowProviderConstant.PATH_GUIDE_SHOW_MODULE_NAME)); + //运营位卡片,需要默认显示,放在第一个加载 MogoModulePaths.addModule(new MogoModule(AdCardConstants.TAG, AdCardConstants.MODULE_NAME)); MogoModulePaths.addModule(new MogoModule(MediaConstants.TAG, MediaConstants.MODULE_TYPE)); diff --git a/config.gradle b/config.gradle index 42749665e5..e3d37b397e 100644 --- a/config.gradle +++ b/config.gradle @@ -96,6 +96,8 @@ ext { moduleextensions : "com.mogo.module:module-extensions:${MOGO_MODULE_EXTENSIONS_VERSION}", carcall : "com.mogo.module.carchatting:module-carchatting:${CARCHATTING_VERSION}", carcallprovider : "com.mogo.module.carchatting:module-carchatting-provider:${CARCHATTINGPROVIDER_VERSION}", + guideshow : "com.mogo.module.guideshow:module-guideshow:${MOGO_MODULE_GUIDESHOW_VERSION}", + guideshowprovider : "com.mogo.module.guideshow:module-guideshow-provider:${MOGO_MODULE_GUIDESHOW_PROVIDER_VERSION}", // 在线车辆 moduleonlinecar : "com.mogo.module:module-onlinecar:${MOGO_MODULE_ONLINECAR_VERSION}", // V2X diff --git a/gradle.properties b/gradle.properties index 79610a7704..4abdde39cd 100644 --- a/gradle.properties +++ b/gradle.properties @@ -55,6 +55,10 @@ MOGO_MODULE_TANLU_VERSION=1.0.3-SNAPSHOT CARCHATTING_VERSION=1.0.2.3-SNAPSHOT # 车聊聊接口 CARCHATTINGPROVIDER_VERSION=1.0.2.3-SNAPSHOT +# 视频引导 +MOGO_MODULE_GUIDESHOW_VERSION=1.0.0-SNAPSHOT +# 视频引导接口 +MOGO_MODULE_GUIDESHOW_PROVIDER_VERSION=1.0.1-SNAPSHOT # 在线车辆F MOGO_MODULE_ONLINECAR_VERSION=1.0.2-SNAPSHOT # v2x From a4243e6340b7809c388aac0a19f827059724cdcd Mon Sep 17 00:00:00 2001 From: unknown Date: Sun, 29 Mar 2020 17:49:02 +0800 Subject: [PATCH 13/13] fix bug of no callBack when exit authorize --- .../com/mogo/module/authorize/fragment/AuthorizePresenter.kt | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/modules/mogo-module-authorize/src/main/java/com/mogo/module/authorize/fragment/AuthorizePresenter.kt b/modules/mogo-module-authorize/src/main/java/com/mogo/module/authorize/fragment/AuthorizePresenter.kt index 27a398d1fa..f767588254 100644 --- a/modules/mogo-module-authorize/src/main/java/com/mogo/module/authorize/fragment/AuthorizePresenter.kt +++ b/modules/mogo-module-authorize/src/main/java/com/mogo/module/authorize/fragment/AuthorizePresenter.kt @@ -2,6 +2,7 @@ package com.mogo.module.authorize.fragment import androidx.lifecycle.LifecycleOwner import com.mogo.commons.mvp.Presenter +import com.mogo.module.authorize.authprovider.biz.MogoAuthorizeRegisterHandler import com.mogo.module.authorize.authprovider.invoke.IMogoAuthorizeContentListener import com.mogo.module.authorize.authprovider.launcher.MogoMainAuthorize.Companion.mogoAuthShow import com.mogo.module.authorize.model.bean.Agreement @@ -86,8 +87,8 @@ class AuthorizePresenter : Presenter, AuthorizeContract. super.onDestroy(owner) Logger.d(TAG, "onDestroy invokeTag : $invokeTag") invokeTag?.let { - mogoAuthShow.unregisterInvokeAuthorizeContentListener(it) - mogoAuthShow.unregisterAuthorizeListener(it) + MogoAuthorizeRegisterHandler.getAuthorizeContentListener(it)?.requestContentFailed("user exit authorize by back press") + MogoAuthorizeRegisterHandler.getAuthorizeListener(it)?.authorizeFailed("user exit authorize by back press") } } } \ No newline at end of file