1. 添加打开分享框的scheme

2. 改变分享框显示触发实现方式,改用IProvider实现
This commit is contained in:
tongchenfei
2020-06-06 18:05:40 +08:00
parent 62728c227e
commit 30847d81bf
10 changed files with 80 additions and 46 deletions

View File

@@ -2,10 +2,12 @@ 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.service.IMogoServiceApis;
import com.mogo.service.MogoServicePaths;
import com.mogo.service.share.IMogoShareManager;
import com.mogo.utils.logger.Logger;
/**
@@ -13,55 +15,27 @@ 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;
}
}

View File

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