diff --git a/main-extensions/mogo-module-main-independent/src/main/AndroidManifest.xml b/main-extensions/mogo-module-main-independent/src/main/AndroidManifest.xml
index fcfddb2b4a..0d4d401316 100644
--- a/main-extensions/mogo-module-main-independent/src/main/AndroidManifest.xml
+++ b/main-extensions/mogo-module-main-independent/src/main/AndroidManifest.xml
@@ -29,6 +29,15 @@
+
+
+
+
+
+
\ No newline at end of file
diff --git a/main-extensions/mogo-module-main-independent/src/main/java/com/zhidao/mogo/module/main/independent/MainIndependentActivity.java b/main-extensions/mogo-module-main-independent/src/main/java/com/zhidao/mogo/module/main/independent/MainIndependentActivity.java
index 52bf70be04..63c9099486 100644
--- a/main-extensions/mogo-module-main-independent/src/main/java/com/zhidao/mogo/module/main/independent/MainIndependentActivity.java
+++ b/main-extensions/mogo-module-main-independent/src/main/java/com/zhidao/mogo/module/main/independent/MainIndependentActivity.java
@@ -17,6 +17,8 @@ public class MainIndependentActivity extends MainActivity {
@Override
protected void onCreate(@Nullable Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
+ // 独立app需要在onCreate里面增加处理scheme的情况
+ mPresenter.handleSchemeIntent(getIntent());
}
@Override
diff --git a/modules/mogo-module-back/src/main/java/com/mogo/module/back/BackToMainHomeManager.java b/modules/mogo-module-back/src/main/java/com/mogo/module/back/BackToMainHomeManager.java
index 20818c844d..4ded331a36 100644
--- a/modules/mogo-module-back/src/main/java/com/mogo/module/back/BackToMainHomeManager.java
+++ b/modules/mogo-module-back/src/main/java/com/mogo/module/back/BackToMainHomeManager.java
@@ -34,7 +34,10 @@ public class BackToMainHomeManager {
}
public static void backToLauncher() {
-
+ if (mStatusManager == null) {
+ Logger.e(TAG,"未初始化完成");
+ return;
+ }
if ( mStatusManager.isMainPageOnResume() ) {
if ( mStatusManager.isSearchUIShow() ) {
mFragmentManager.clearAll();
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 9520ef3000..8240544ce2 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
@@ -222,13 +222,7 @@ public class EntranceFragment extends MvpFragment< EntranceView, EntrancePresent
// }
// });
// 原始逻辑
- isClickShare = true;
- if ( mIMogoAuthorizeModuleManager.needAuthorize( AUTHORIZE_TYPE_LAUNCHER_SHARE ) ) {
- mIMogoAuthorizeModuleManager.invokeAuthorization( AUTHORIZE_TYPE_LAUNCHER_SHARE );
- } else {
- ShareControl.getInstance( getActivity() ).showDialog();
- traceData( "1" );
- }
+ showShareDialog();
} );
mDisplayOverview = findViewById( R.id.module_ext_id_display_overview );
@@ -348,6 +342,16 @@ public class EntranceFragment extends MvpFragment< EntranceView, EntrancePresent
mNaviInfo.inflate( rootView );
}
+ public void showShareDialog() {
+ isClickShare = true;
+ if ( mIMogoAuthorizeModuleManager.needAuthorize( AUTHORIZE_TYPE_LAUNCHER_SHARE ) ) {
+ mIMogoAuthorizeModuleManager.invokeAuthorization( AUTHORIZE_TYPE_LAUNCHER_SHARE );
+ } else {
+ mApis.getShareManager().showShareDialog();
+ traceData( "1" );
+ }
+ }
+
private static final String AUTONAVI_STANDARD_BROADCAST_RECV = "AUTONAVI_STANDARD_BROADCAST_RECV";
@NonNull
@@ -395,7 +399,7 @@ public class EntranceFragment extends MvpFragment< EntranceView, EntrancePresent
public void authorizeSuccess() {
Log.d( TAG, "authorizeSuccess --------> isClickShare = " + isClickShare );
if ( isClickShare ) {
- ShareControl.getInstance( getActivity() ).showDialog();
+ mApis.getShareManager().showShareDialog();
traceData( "1" );
} else {
mEntrancePresenter.handleNeedAuthorizeCmd();
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 5a921c613f..eab934bfcf 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
@@ -14,7 +14,6 @@ import com.mogo.commons.mvp.Presenter;
import com.mogo.commons.voice.AIAssist;
import com.mogo.commons.voice.IMogoVoiceCmdCallBack;
import com.mogo.module.authorize.authprovider.module.IMogoAuthorizeModuleManager;
-import com.mogo.module.authorize.model.BaseResponse;
import com.mogo.module.extensions.ExtensionsModuleConst;
import com.mogo.module.extensions.net.UserInfoNetApiServices;
import com.mogo.module.extensions.userinfo.UserInfo;
@@ -22,6 +21,7 @@ import com.mogo.module.extensions.userinfo.UserInfoConstant;
import com.mogo.module.extensions.userinfo.UserInfoResponse;
import com.mogo.module.extensions.utils.ExtensionsConfig;
import com.mogo.module.share.ShareControl;
+import com.mogo.module.share.manager.ServiceApisManager;
import com.mogo.service.IMogoServiceApis;
import com.mogo.service.MogoServicePaths;
import com.mogo.service.analytics.IMogoAnalytics;
@@ -119,7 +119,7 @@ public class EntrancePresenter extends Presenter {
if (mIMogoAuthorizeModuleManager.needAuthorize(AUTHORIZE_TYPE_LAUNCHER_SHARE)) {
mIMogoAuthorizeModuleManager.invokeAuthorization(AUTHORIZE_TYPE_LAUNCHER_SHARE);
} else {
- ShareControl.getInstance(mContext).dismissDialog();
+ ServiceApisManager.serviceApis.getShareManager().dismissShareDialog();
}
} else if (cmd.equals(ExtensionsModuleConst.UPLOAD_ROAD_BLOCK)) { //上报拥堵
if (mIMogoAuthorizeModuleManager.needAuthorize(AUTHORIZE_TYPE_LAUNCHER_SHARE)) {
@@ -227,7 +227,7 @@ public class EntrancePresenter extends Presenter {
if (mIMogoAuthorizeModuleManager.needAuthorize(AUTHORIZE_TYPE_LAUNCHER_SHARE)) {
mIMogoAuthorizeModuleManager.invokeAuthorization(AUTHORIZE_TYPE_LAUNCHER_SHARE);
} else {
- ShareControl.getInstance(mContext).showDialog();
+ ServiceApisManager.serviceApis.getShareManager().dismissShareDialog();
Log.d(TAG, "mogoIntentListener 我要分享 ----> ");
traceData("2");
}
@@ -258,7 +258,7 @@ public class EntrancePresenter extends Presenter {
if (mIMogoAuthorizeModuleManager.needAuthorize(AUTHORIZE_TYPE_LAUNCHER_SHARE)) {
mIMogoAuthorizeModuleManager.invokeAuthorization(AUTHORIZE_TYPE_LAUNCHER_SHARE);
} else {
- ShareControl.getInstance(mContext).dismissDialog();
+ ServiceApisManager.serviceApis.getShareManager().dismissShareDialog();
Log.d(TAG, "mogoIntentListener 关闭分享框 唤醒 ----> ");
}
} else if (intentStr.equals(ExtensionsModuleConst.NO_REPLY_SHARE_DIALOG_CLOSE)) {
@@ -266,7 +266,7 @@ public class EntrancePresenter extends Presenter {
if (mIMogoAuthorizeModuleManager.needAuthorize(AUTHORIZE_TYPE_LAUNCHER_SHARE)) {
mIMogoAuthorizeModuleManager.invokeAuthorization(AUTHORIZE_TYPE_LAUNCHER_SHARE);
} else {
- ShareControl.getInstance(mContext).dismissDialog();
+ ServiceApisManager.serviceApis.getShareManager().dismissShareDialog();
Logger.d(TAG, "mogoIntentListener 两次未回复关闭对话框");
}
} else if (intentStr.equals(ExtensionsModuleConst.UPLOAD_ROAD_CONDITION)) { //上报路况
@@ -290,7 +290,7 @@ public class EntrancePresenter extends Presenter {
if (!TextUtils.isEmpty(mVoiceCmdType)) {
if (mVoiceCmdType.equals(ExtensionsModuleConst.CANCLE_SHARE) || mVoiceCmdType.equals(ExtensionsModuleConst.CLOSE)
|| mVoiceCmdType.equals(ExtensionsModuleConst.SHARE_DIALOG_CLOSE) || mVoiceCmdType.equals(ExtensionsModuleConst.NO_REPLY_SHARE_DIALOG_CLOSE)) { //关闭分享弹框
- ShareControl.getInstance(mContext).dismissDialog();
+ ServiceApisManager.serviceApis.getShareManager().dismissShareDialog();
} else if (mVoiceCmdType.equals(ExtensionsModuleConst.GO_TO_SHARE)) { //打开分享弹框
if (!TextUtils.isEmpty(mVoiceCmdShareType)) {
if (mVoiceCmdShareType.equals("封路")) {
@@ -304,7 +304,7 @@ public class EntrancePresenter extends Presenter {
uploadTrfficCheck();
}
} else {
- ShareControl.getInstance(mContext).showDialog();
+ ServiceApisManager.serviceApis.getShareManager().showShareDialog();
Log.d(TAG, "handleNeedAuthorizeCmd 我要分享 ----> ");
traceData("2");
}
@@ -333,7 +333,7 @@ public class EntrancePresenter extends Presenter {
sendShareReceiver(REPORT_TANLU_BLOCK);
Logger.d("EntrancePresenter", "mogoIntentListener 上报路况 ----> ");
traceTypeData("1");
- ShareControl.getInstance(mContext).dismissDialog();
+ ServiceApisManager.serviceApis.getShareManager().dismissShareDialog();
}
private void uploadTrfficCheck() {
@@ -341,7 +341,7 @@ public class EntrancePresenter extends Presenter {
sendShareReceiver(REPORT_TANLU_TRAFFIC_CHECK);
Logger.d("EntrancePresenter", "mogoIntentListener 分享交通检查 ----> ");
traceTypeData("3");
- ShareControl.getInstance(mContext).dismissDialog();
+ ServiceApisManager.serviceApis.getShareManager().dismissShareDialog();
}
private void uploadRoadClosed() {
@@ -349,7 +349,7 @@ public class EntrancePresenter extends Presenter {
sendShareReceiver(REPORT_TANLU_CLOSURE);
Logger.d("EntrancePresenter", "mogoIntentListener 分享封路 ----> ");
traceTypeData("4");
- ShareControl.getInstance(mContext).dismissDialog();
+ ServiceApisManager.serviceApis.getShareManager().dismissShareDialog();
}
/**
@@ -368,7 +368,7 @@ public class EntrancePresenter extends Presenter {
// intent.setData(Uri.parse("freshthing://com.zhidao.fresh.things/shareOilPrice"));
// getContext().startActivity(intent);
// traceTypeData("2");
-// ShareControl.getInstance(mContext).dismissDialog();
+// ServiceApisManager.serviceApis.getShareManager().dismissShareDialog();
}
/**
diff --git a/modules/mogo-module-main/src/main/java/com/mogo/module/main/SchemeIntent.java b/modules/mogo-module-main/src/main/java/com/mogo/module/main/SchemeIntent.java
index 14ec2be9ab..b477536dcf 100644
--- a/modules/mogo-module-main/src/main/java/com/mogo/module/main/SchemeIntent.java
+++ b/modules/mogo-module-main/src/main/java/com/mogo/module/main/SchemeIntent.java
@@ -80,6 +80,12 @@ public class SchemeIntent implements IMogoStatusChangedListener {
case "/main/switch2":
handleSwitch2Action( target );
break;
+ case "/main/share":
+ Logger.d(TAG,"收到打开分享框的scheme,准备打开分享框");
+ mApis.getShareManager().showShareDialog();
+ break;
+ default:
+ break;
}
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 5307736cd1..a5b5aba610 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
@@ -2,10 +2,13 @@ package com.mogo.module.share;
import android.content.Context;
+import com.alibaba.android.arouter.facade.annotation.Route;
import com.alibaba.android.arouter.launcher.ARouter;
import com.mogo.module.share.dialog.LaucherShareDialog;
+import com.mogo.module.share.manager.ServiceApisManager;
import com.mogo.service.IMogoServiceApis;
import com.mogo.service.MogoServicePaths;
+import com.mogo.service.share.IMogoShareManager;
import com.mogo.utils.logger.Logger;
/**
@@ -13,55 +16,28 @@ import com.mogo.utils.logger.Logger;
* @description 分享弹框接口
* @since 2020-01-10
*/
-public class ShareControl implements IShareControl {
+@Route(path = MogoServicePaths.PATH_SHARE)
+public class ShareControl implements IMogoShareManager {
- private static volatile ShareControl sInstance;
private Context mContext;
private LaucherShareDialog mShareDialog;
- private IMogoServiceApis mogoServiceApis;
-
- private ShareControl(Context context) {
- mContext = context;
- mogoServiceApis =
- (IMogoServiceApis) ARouter.getInstance().build(MogoServicePaths.PATH_SERVICE_APIS).navigation(context);
- }
-
- public IMogoServiceApis getMogoServiceApis(){
- return mogoServiceApis;
- }
-
- public static ShareControl getInstance(Context context) {
- if (sInstance == null) {
- synchronized (ShareControl.class) {
- if (sInstance == null) {
- sInstance = new ShareControl(context);
- }
- }
- }
- return sInstance;
- }
-
-
@Override
- public void showDialog() {
-
- boolean isAdasShow = mogoServiceApis.getStatusManagerApi().isADASShow();
- Logger.d("ShareControl", "showDialog 判断adas是否展示: " + isAdasShow);
-// if (isAdasShow) {
-// mogoServiceApis.getAdasControllerApi().closeADAS();
-// }
-
+ public void showShareDialog() {
mShareDialog = new LaucherShareDialog(mContext);
-// mShareDialog.setCanceledOnTouchOutside(true);
mShareDialog.show();
}
@Override
- public void dismissDialog() {
+ public void dismissShareDialog() {
if (mShareDialog != null) {
mShareDialog.dismiss();
}
}
+ @Override
+ public void init(Context context) {
+ mContext = context;
+ ServiceApisManager.INSTANCE.init(context);
+ }
}
diff --git a/modules/mogo-module-share/src/main/java/com/mogo/module/share/ShareVoiceCmdReceiver.kt b/modules/mogo-module-share/src/main/java/com/mogo/module/share/ShareVoiceCmdReceiver.kt
index 0d99d1655b..b8695ceb5d 100644
--- a/modules/mogo-module-share/src/main/java/com/mogo/module/share/ShareVoiceCmdReceiver.kt
+++ b/modules/mogo-module-share/src/main/java/com/mogo/module/share/ShareVoiceCmdReceiver.kt
@@ -5,6 +5,7 @@ import android.content.Context
import android.content.Intent
import com.mogo.module.share.constant.ShareConstants
import com.mogo.module.share.constant.ShareConstants.*
+import com.mogo.module.share.manager.ServiceApisManager
import com.mogo.module.share.manager.UploadHelper
import com.mogo.utils.logger.Logger
import org.json.JSONObject
@@ -24,7 +25,8 @@ class ShareVoiceCmdReceiver : BroadcastReceiver() {
val seekHelp = Intent(context, VoiceCmdService::class.java)
seekHelp.putExtra(ShareConstants.VOICE_CMD_SERVICE_EVENT_KEY, ShareConstants.VOICE_CMD_SERVICE_SEEK_HELP)
context.startService(seekHelp)
- ShareControl.getInstance(context).dismissDialog()
+ ServiceApisManager.serviceApis.shareManager.dismissShareDialog()
+// ShareControl.getInstance(context).dismissDialog()
}
VOICE_CMD_GO_TO_SHARE ->{
val ob = JSONObject(intent.getStringExtra("data") ?: "").opt("ob")
@@ -32,23 +34,28 @@ class ShareVoiceCmdReceiver : BroadcastReceiver() {
when (ob) {
"积水"->{
UploadHelper.upload(context, TYPE_STAGNANT_WATER)
- ShareControl.getInstance(context).dismissDialog()
+ ServiceApisManager.serviceApis.shareManager.dismissShareDialog()
+// ShareControl.getInstance(context).dismissDialog()
}
"积冰"->{
UploadHelper.upload(context, TYPE_ROAD_ICY)
- ShareControl.getInstance(context).dismissDialog()
+ ServiceApisManager.serviceApis.shareManager.dismissShareDialog()
+// ShareControl.getInstance(context).dismissDialog()
}
"雾"->{
UploadHelper.upload(context, TYPE_DENSE_FOG)
- ShareControl.getInstance(context).dismissDialog()
+ ServiceApisManager.serviceApis.shareManager.dismissShareDialog()
+// ShareControl.getInstance(context).dismissDialog()
}
"交通事故"->{
UploadHelper.upload(context, TYPE_ACCIDENT)
- ShareControl.getInstance(context).dismissDialog()
+ ServiceApisManager.serviceApis.shareManager.dismissShareDialog()
+// ShareControl.getInstance(context).dismissDialog()
}
"施工"->{
UploadHelper.upload(context, TYPE_ROAD_CONSTRUCTION)
- ShareControl.getInstance(context).dismissDialog()
+ ServiceApisManager.serviceApis.shareManager.dismissShareDialog()
+// ShareControl.getInstance(context).dismissDialog()
}
}
}
@@ -59,7 +66,8 @@ class ShareVoiceCmdReceiver : BroadcastReceiver() {
// 上报实时路况
Logger.d(TAG, "分享框准备触发上报实时路况")
UploadHelper.upload(context, TYPE_REAL_TIME_TRAFFIC)
- ShareControl.getInstance(context).dismissDialog()
+ ServiceApisManager.serviceApis.shareManager.dismissShareDialog()
+// ShareControl.getInstance(context).dismissDialog()
}
}
}
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 056450ac89..519f098dea 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
@@ -66,8 +66,8 @@ public class LaucherShareDialog implements View.OnClickListener {
public LaucherShareDialog(@NonNull Context context) {
this.mContext = context;
- mAnalytics = ShareControl.getInstance(context).getMogoServiceApis().getAnalyticsApi();
mApis = (IMogoServiceApis) ARouter.getInstance().build( MogoServicePaths.PATH_SERVICE_APIS ).navigation(context);
+ mAnalytics = mApis.getAnalyticsApi();
mStatusManager = mApis.getStatusManagerApi();
}
diff --git a/modules/mogo-module-share/src/main/java/com/mogo/module/share/manager/SeekHelpManager.kt b/modules/mogo-module-share/src/main/java/com/mogo/module/share/manager/SeekHelpManager.kt
index 70050fb729..9a9c1d949f 100644
--- a/modules/mogo-module-share/src/main/java/com/mogo/module/share/manager/SeekHelpManager.kt
+++ b/modules/mogo-module-share/src/main/java/com/mogo/module/share/manager/SeekHelpManager.kt
@@ -7,7 +7,6 @@ import com.mogo.commons.data.BaseData
import com.mogo.commons.network.SubscribeImpl
import com.mogo.commons.voice.AIAssist
import com.mogo.commons.voice.IMogoVoiceCmdCallBack
-import com.mogo.module.share.ShareControl
import com.mogo.module.share.bean.SeekRecord
import com.mogo.module.share.bean.SeekRequest
import com.mogo.module.share.bean.getJson
@@ -20,7 +19,6 @@ import com.mogo.utils.storage.SharedPrefsMgr
import com.zhidao.auto.platform.util.DeviceUtil
import io.reactivex.android.schedulers.AndroidSchedulers
import io.reactivex.schedulers.Schedulers
-import java.util.*
/**
* 故障求助管理类,相关故障求助操作的具体实现类
@@ -73,7 +71,6 @@ object SeekHelpManager {
}
-
/**
* 寻求帮助,是开始故障求助的入口
* 由于当前需求仅需要提供这一个方法,所以context的初始化放到了此方法,后面如果有增加,需要把这部分提出去
@@ -88,7 +85,8 @@ object SeekHelpManager {
this.context = context
}
aiAssist = AIAssist.getInstance(context)
- isSeekHelp = ShareControl.getInstance(SeekHelpManager.context).mogoServiceApis.statusManagerApi.isSeekHelping
+
+ isSeekHelp = ServiceApisManager.serviceApis.statusManagerApi.isSeekHelping
Logger.d(TAG, "开始故障求助上报---${isSeekHelp}")
seekListenerList.add(seekHelpListener)
when {
@@ -157,11 +155,11 @@ object SeekHelpManager {
val seekRequest = SeekRequest(DeviceUtil.getSn())
val param = mutableMapOf("data" to seekRequest.getJson())
- ShareControl.getInstance(context).mogoServiceApis.networkApi.create(ShareApiService::class.java, HttpConstant.getNetHost()).sendHelpSignal(param).subscribeOn(Schedulers.io()).observeOn(AndroidSchedulers.mainThread()).subscribe(object : SubscribeImpl(RequestOptions.create(context)) {
+ ServiceApisManager.serviceApis.networkApi.create(ShareApiService::class.java, HttpConstant.getNetHost()).sendHelpSignal(param).subscribeOn(Schedulers.io()).observeOn(AndroidSchedulers.mainThread()).subscribe(object : SubscribeImpl(RequestOptions.create(context)) {
override fun onSuccess(o: BaseData?) {
super.onSuccess(o)
// 接口请求成功,内部同步v2x状态,通知adas,改变自车图标
- ShareControl.getInstance(context).mogoServiceApis.statusManagerApi.setSeekHelping("ShareDialog", true)
+ ServiceApisManager.serviceApis.statusManagerApi.setSeekHelping("ShareDialog", true)
SharedPrefsMgr.getInstance(context!!).putLong("seek_help_time", System.currentTimeMillis())
isSeekHelp = true
aiAssist?.speakTTSVoice("已发布求助信息,将为你通知其他车主")
@@ -213,11 +211,11 @@ object SeekHelpManager {
fun debugCancelSeek() {
val seekRequest = SeekRequest(DeviceUtil.getSn(), 0)
val param = mutableMapOf("data" to seekRequest.getJson())
- ShareControl.getInstance(context).mogoServiceApis.networkApi.create(ShareApiService::class.java, HttpConstant.getNetHost()).sendHelpSignal(param).subscribeOn(Schedulers.io()).observeOn(AndroidSchedulers.mainThread()).subscribe(object : SubscribeImpl(RequestOptions.create(context)) {
+ ServiceApisManager.serviceApis.networkApi.create(ShareApiService::class.java, HttpConstant.getNetHost()).sendHelpSignal(param).subscribeOn(Schedulers.io()).observeOn(AndroidSchedulers.mainThread()).subscribe(object : SubscribeImpl(RequestOptions.create(context)) {
override fun onSuccess(o: BaseData?) {
super.onSuccess(o)
// 接口请求成功,内部同步v2x状态,通知adas,改变自车图标
- ShareControl.getInstance(context).mogoServiceApis.statusManagerApi.setSeekHelping("ShareDialog", false)
+ ServiceApisManager.serviceApis.statusManagerApi.setSeekHelping("ShareDialog", false)
isSeekHelp = false
}
diff --git a/modules/mogo-module-share/src/main/java/com/mogo/module/share/manager/ServiceApisManager.kt b/modules/mogo-module-share/src/main/java/com/mogo/module/share/manager/ServiceApisManager.kt
new file mode 100644
index 0000000000..74c0ab300d
--- /dev/null
+++ b/modules/mogo-module-share/src/main/java/com/mogo/module/share/manager/ServiceApisManager.kt
@@ -0,0 +1,17 @@
+package com.mogo.module.share.manager
+
+import android.content.Context
+import com.alibaba.android.arouter.launcher.ARouter
+import com.mogo.service.IMogoServiceApis
+import com.mogo.service.MogoServicePaths
+
+/**
+ * 全局管理IMogoServiceApis
+ */
+object ServiceApisManager {
+ lateinit var serviceApis: IMogoServiceApis
+
+ fun init(context: Context) {
+ serviceApis = ARouter.getInstance().build(MogoServicePaths.PATH_SERVICE_APIS).navigation(context) as IMogoServiceApis
+ }
+}
\ No newline at end of file
diff --git a/modules/mogo-module-share/src/main/java/com/mogo/module/share/manager/UploadHelper.kt b/modules/mogo-module-share/src/main/java/com/mogo/module/share/manager/UploadHelper.kt
index 906c291da8..e53473bacd 100644
--- a/modules/mogo-module-share/src/main/java/com/mogo/module/share/manager/UploadHelper.kt
+++ b/modules/mogo-module-share/src/main/java/com/mogo/module/share/manager/UploadHelper.kt
@@ -11,7 +11,7 @@ import com.mogo.utils.logger.Logger
*/
object UploadHelper {
fun upload(context:Context, type: String) {
- ShareControl.getInstance(context).mogoServiceApis.statusManagerApi.setUploadingStatus("CARD_TYPE_ROAD_CONDITION", true)
+ ServiceApisManager.serviceApis.statusManagerApi.setUploadingStatus("CARD_TYPE_ROAD_CONDITION", true)
Logger.d("UploadHelper", "upload ----> $type")
val intent = Intent()
intent.action = "com.zhidao.roadcondition.share"
diff --git a/services/mogo-service-api/src/main/java/com/mogo/service/IMogoServiceApis.java b/services/mogo-service-api/src/main/java/com/mogo/service/IMogoServiceApis.java
index 647a236561..73ba95f5a2 100644
--- a/services/mogo-service-api/src/main/java/com/mogo/service/IMogoServiceApis.java
+++ b/services/mogo-service-api/src/main/java/com/mogo/service/IMogoServiceApis.java
@@ -21,6 +21,7 @@ import com.mogo.service.module.IMogoRegisterCenter;
import com.mogo.service.module.IMogoSearchManager;
import com.mogo.service.module.IMogoSettingManager;
import com.mogo.service.network.IMogoNetwork;
+import com.mogo.service.share.IMogoShareManager;
import com.mogo.service.statusmanager.IMogoMsgCenter;
import com.mogo.service.statusmanager.IMogoStatusManager;
import com.mogo.service.strategy.IMogoRefreshStrategyController;
@@ -194,4 +195,10 @@ public interface IMogoServiceApis extends IProvider {
* @return
*/
IMogoMarkerService getMarkerService();
+
+ /**
+ * 其他模块调用分享框的显示和隐藏
+ * @return
+ */
+ IMogoShareManager getShareManager();
}
diff --git a/services/mogo-service-api/src/main/java/com/mogo/service/MogoServicePaths.java b/services/mogo-service-api/src/main/java/com/mogo/service/MogoServicePaths.java
index 93986037c7..d511aaf799 100644
--- a/services/mogo-service-api/src/main/java/com/mogo/service/MogoServicePaths.java
+++ b/services/mogo-service-api/src/main/java/com/mogo/service/MogoServicePaths.java
@@ -170,6 +170,7 @@ public class MogoServicePaths {
/**
* 顶部1/2屏管理
*/
+ @Deprecated
public static final String PATH_EXTENSIONS_TOP_VIEW_MANAGER = "/topview/api";
/**
@@ -177,4 +178,10 @@ public class MogoServicePaths {
*/
@Deprecated
public static final String PATH_MARKER_SERVICE = "/mogomarker/api";
+
+ /**
+ * 其他模块调用分享框
+ */
+ @Deprecated
+ public static final String PATH_SHARE = "/extensions/share";
}
diff --git a/services/mogo-service-api/src/main/java/com/mogo/service/share/IMogoShareManager.java b/services/mogo-service-api/src/main/java/com/mogo/service/share/IMogoShareManager.java
new file mode 100644
index 0000000000..2ed5841ad8
--- /dev/null
+++ b/services/mogo-service-api/src/main/java/com/mogo/service/share/IMogoShareManager.java
@@ -0,0 +1,19 @@
+package com.mogo.service.share;
+
+import com.alibaba.android.arouter.facade.template.IProvider;
+
+/**
+ * 分享框管理接口
+ * @author tongchenfei
+ */
+public interface IMogoShareManager extends IProvider {
+ /**
+ * 显示分享框
+ */
+ void showShareDialog();
+
+ /**
+ * 隐藏分享框
+ */
+ void dismissShareDialog();
+}
diff --git a/services/mogo-service/src/main/java/com/mogo/service/impl/MogoServiceApis.java b/services/mogo-service/src/main/java/com/mogo/service/impl/MogoServiceApis.java
index 534de90589..30f5a47ab1 100644
--- a/services/mogo-service/src/main/java/com/mogo/service/impl/MogoServiceApis.java
+++ b/services/mogo-service/src/main/java/com/mogo/service/impl/MogoServiceApis.java
@@ -30,6 +30,7 @@ import com.mogo.service.module.IMogoRegisterCenter;
import com.mogo.service.module.IMogoSearchManager;
import com.mogo.service.module.IMogoSettingManager;
import com.mogo.service.network.IMogoNetwork;
+import com.mogo.service.share.IMogoShareManager;
import com.mogo.service.statusmanager.IMogoMsgCenter;
import com.mogo.service.statusmanager.IMogoStatusManager;
import com.mogo.service.strategy.IMogoRefreshStrategyController;
@@ -171,7 +172,12 @@ public class MogoServiceApis implements IMogoServiceApis {
return getApiInstance( IMogoMarkerService.class, MogoServicePaths.PATH_MARKER_SERVICE );
}
- private static < T extends IProvider > T getApiInstance( Class< T > clazz, String path ) {
+ @Override
+ public IMogoShareManager getShareManager() {
+ return getApiInstance(IMogoShareManager.class,MogoServicePaths.PATH_SHARE);
+ }
+
+ private static < T extends IProvider > T getApiInstance(Class< T > clazz, String path ) {
T inst = SingletonsHolder.get( clazz );
if ( inst == null ) {
synchronized ( sLock ) {