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(); }