|
|
|
|
@@ -3,6 +3,7 @@ package com.mogo.module.extensions.entrance;
|
|
|
|
|
import android.content.Context;
|
|
|
|
|
import android.content.Intent;
|
|
|
|
|
import android.text.TextUtils;
|
|
|
|
|
import android.util.ArrayMap;
|
|
|
|
|
import android.util.Log;
|
|
|
|
|
|
|
|
|
|
import androidx.annotation.NonNull;
|
|
|
|
|
@@ -13,15 +14,24 @@ 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;
|
|
|
|
|
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.service.IMogoServiceApis;
|
|
|
|
|
import com.mogo.service.MogoServicePaths;
|
|
|
|
|
import com.mogo.service.analytics.IMogoAnalytics;
|
|
|
|
|
import com.mogo.service.intent.IMogoIntentListener;
|
|
|
|
|
import com.mogo.service.intent.IMogoIntentManager;
|
|
|
|
|
import com.mogo.service.network.IMogoNetwork;
|
|
|
|
|
import com.mogo.service.statusmanager.IMogoStatusManager;
|
|
|
|
|
import com.mogo.utils.digest.DigestUtils;
|
|
|
|
|
import com.mogo.utils.logger.Logger;
|
|
|
|
|
import com.zhidao.auto.platform.util.DeviceUtil;
|
|
|
|
|
|
|
|
|
|
import org.json.JSONException;
|
|
|
|
|
import org.json.JSONObject;
|
|
|
|
|
@@ -29,6 +39,11 @@ import org.json.JSONObject;
|
|
|
|
|
import java.util.HashMap;
|
|
|
|
|
import java.util.Map;
|
|
|
|
|
|
|
|
|
|
import io.reactivex.SingleObserver;
|
|
|
|
|
import io.reactivex.android.schedulers.AndroidSchedulers;
|
|
|
|
|
import io.reactivex.disposables.Disposable;
|
|
|
|
|
import io.reactivex.schedulers.Schedulers;
|
|
|
|
|
|
|
|
|
|
import static com.mogo.module.authorize.authprovider.invoke.AuthorizeInvokerConstant.AUTHORIZE_TYPE_LAUNCHER_SHARE;
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
@@ -37,7 +52,7 @@ import static com.mogo.module.authorize.authprovider.invoke.AuthorizeInvokerCons
|
|
|
|
|
* <p>
|
|
|
|
|
* 描述
|
|
|
|
|
*/
|
|
|
|
|
public class EntrancePresenter extends Presenter< EntranceView > {
|
|
|
|
|
public class EntrancePresenter extends Presenter<EntranceView> {
|
|
|
|
|
private static final String REPORT_TANLU_BLOCK = "10007";
|
|
|
|
|
private static final String REPORT_TANLU_TRAFFIC_CHECK = "10002";
|
|
|
|
|
private static final String REPORT_TANLU_CLOSURE = "10003";
|
|
|
|
|
@@ -50,27 +65,44 @@ public class EntrancePresenter extends Presenter< EntranceView > {
|
|
|
|
|
private String mVoiceCmdType; //一级命令
|
|
|
|
|
private String mVoiceCmdShareType; //对某些一级命令里面细分的类型做处理
|
|
|
|
|
private IMogoStatusManager mStatusManager;
|
|
|
|
|
private IMogoNetwork mNetWork;
|
|
|
|
|
|
|
|
|
|
private UserInfo userInfo = null;
|
|
|
|
|
|
|
|
|
|
public EntrancePresenter( Context context, EntranceView view, IMogoAuthorizeModuleManager authorizeModuleManager ) {
|
|
|
|
|
super( view );
|
|
|
|
|
public EntrancePresenter(Context context, EntranceView view,
|
|
|
|
|
IMogoAuthorizeModuleManager authorizeModuleManager) {
|
|
|
|
|
super(view);
|
|
|
|
|
mContext = context;
|
|
|
|
|
IMogoServiceApis apis = ( IMogoServiceApis ) ARouter.getInstance().build( MogoServicePaths.PATH_SERVICE_APIS ).navigation( mContext );
|
|
|
|
|
IMogoServiceApis apis =
|
|
|
|
|
(IMogoServiceApis) ARouter.getInstance().build(MogoServicePaths.PATH_SERVICE_APIS).navigation(mContext);
|
|
|
|
|
mAnalytics = apis.getAnalyticsApi();
|
|
|
|
|
mogoIntentManager = apis.getIntentManagerApi();
|
|
|
|
|
mIMogoAuthorizeModuleManager = authorizeModuleManager;
|
|
|
|
|
mStatusManager = apis.getStatusManagerApi();
|
|
|
|
|
mNetWork = apis.getNetworkApi();
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
registerUnWake();
|
|
|
|
|
registerAwakeVoice();
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
private void registerUnWake() {
|
|
|
|
|
// AIAssist.getInstance( mContext ).registerUnWakeupCommand( ExtensionsModuleConst.CLOSE, ExtensionsModuleConst.CMD_CLOSE, mogoVoiceListener );
|
|
|
|
|
AIAssist.getInstance( mContext ).registerUnWakeupCommand( ExtensionsModuleConst.CANCLE_SHARE, ExtensionsModuleConst.CMD_CANCLE_SHARE, mogoVoiceListener );
|
|
|
|
|
// AIAssist.getInstance( mContext ).registerUnWakeupCommand( ExtensionsModuleConst.CLOSE,
|
|
|
|
|
// ExtensionsModuleConst.CMD_CLOSE, mogoVoiceListener );
|
|
|
|
|
AIAssist.getInstance(mContext).registerUnWakeupCommand(ExtensionsModuleConst.CANCLE_SHARE
|
|
|
|
|
, ExtensionsModuleConst.CMD_CANCLE_SHARE, mogoVoiceListener);
|
|
|
|
|
//探路相关上报
|
|
|
|
|
AIAssist.getInstance( mContext ).registerUnWakeupCommand( ExtensionsModuleConst.UPLOAD_ROAD_BLOCK, ExtensionsModuleConst.CMD_UPLOAD_BLOCK, mogoVoiceListener );
|
|
|
|
|
AIAssist.getInstance( mContext ).registerUnWakeupCommand( ExtensionsModuleConst.UPLOAD_TRAFFIC_CHECK, ExtensionsModuleConst.CMD_TRAFFIC_CHECK, mogoVoiceListener );
|
|
|
|
|
AIAssist.getInstance( mContext ).registerUnWakeupCommand( ExtensionsModuleConst.UPLOAD_ROAD_CLOSURE, ExtensionsModuleConst.CMD_ROAD_CLOSURE, mogoVoiceListener );
|
|
|
|
|
AIAssist.getInstance(mContext).registerUnWakeupCommand(ExtensionsModuleConst.UPLOAD_ROAD_BLOCK, ExtensionsModuleConst.CMD_UPLOAD_BLOCK, mogoVoiceListener);
|
|
|
|
|
AIAssist.getInstance(mContext).registerUnWakeupCommand(ExtensionsModuleConst.UPLOAD_TRAFFIC_CHECK, ExtensionsModuleConst.CMD_TRAFFIC_CHECK, mogoVoiceListener);
|
|
|
|
|
AIAssist.getInstance(mContext).registerUnWakeupCommand(ExtensionsModuleConst.UPLOAD_ROAD_CLOSURE, ExtensionsModuleConst.CMD_ROAD_CLOSURE, mogoVoiceListener);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
@Override
|
|
|
|
|
public void onResume(@NonNull LifecycleOwner owner) {
|
|
|
|
|
super.onResume(owner);
|
|
|
|
|
if (ExtensionsConfig.needRequestUserInfo() && userInfo == null) {
|
|
|
|
|
requestUserInfo();
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
@@ -78,31 +110,32 @@ public class EntrancePresenter extends Presenter< EntranceView > {
|
|
|
|
|
*/
|
|
|
|
|
private IMogoVoiceCmdCallBack mogoVoiceListener = new IMogoVoiceCmdCallBack() {
|
|
|
|
|
@Override
|
|
|
|
|
public void onCmdSelected( String cmd ) {
|
|
|
|
|
Log.d( TAG, "免唤醒 mogoVoiceListener needAuthorize = " + mIMogoAuthorizeModuleManager.needAuthorize( AUTHORIZE_TYPE_LAUNCHER_SHARE ) + " >>>cmd = " + cmd );
|
|
|
|
|
public void onCmdSelected(String 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( AUTHORIZE_TYPE_LAUNCHER_SHARE ) ) {
|
|
|
|
|
mIMogoAuthorizeModuleManager.invokeAuthorization( AUTHORIZE_TYPE_LAUNCHER_SHARE );
|
|
|
|
|
if (cmd.equals(ExtensionsModuleConst.CANCLE_SHARE)
|
|
|
|
|
/*|| cmd.equals( ExtensionsModuleConst.CLOSE ) */) { //取消分享,关闭页面
|
|
|
|
|
if (mIMogoAuthorizeModuleManager.needAuthorize(AUTHORIZE_TYPE_LAUNCHER_SHARE)) {
|
|
|
|
|
mIMogoAuthorizeModuleManager.invokeAuthorization(AUTHORIZE_TYPE_LAUNCHER_SHARE);
|
|
|
|
|
} else {
|
|
|
|
|
ShareControl.getInstance( mContext ).dismissDialog();
|
|
|
|
|
ShareControl.getInstance(mContext).dismissDialog();
|
|
|
|
|
}
|
|
|
|
|
} else if ( cmd.equals( ExtensionsModuleConst.UPLOAD_ROAD_BLOCK ) ) { //上报拥堵
|
|
|
|
|
if ( mIMogoAuthorizeModuleManager.needAuthorize( AUTHORIZE_TYPE_LAUNCHER_SHARE ) ) {
|
|
|
|
|
mIMogoAuthorizeModuleManager.invokeAuthorization( AUTHORIZE_TYPE_LAUNCHER_SHARE );
|
|
|
|
|
} else if (cmd.equals(ExtensionsModuleConst.UPLOAD_ROAD_BLOCK)) { //上报拥堵
|
|
|
|
|
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( AUTHORIZE_TYPE_LAUNCHER_SHARE ) ) {
|
|
|
|
|
mIMogoAuthorizeModuleManager.invokeAuthorization( AUTHORIZE_TYPE_LAUNCHER_SHARE );
|
|
|
|
|
} else if (cmd.equals(ExtensionsModuleConst.UPLOAD_TRAFFIC_CHECK)) { //上报交通检查
|
|
|
|
|
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( AUTHORIZE_TYPE_LAUNCHER_SHARE ) ) {
|
|
|
|
|
mIMogoAuthorizeModuleManager.invokeAuthorization( AUTHORIZE_TYPE_LAUNCHER_SHARE );
|
|
|
|
|
} else if (cmd.equals(ExtensionsModuleConst.UPLOAD_ROAD_CLOSURE)) { //上报封路
|
|
|
|
|
if (mIMogoAuthorizeModuleManager.needAuthorize(AUTHORIZE_TYPE_LAUNCHER_SHARE)) {
|
|
|
|
|
mIMogoAuthorizeModuleManager.invokeAuthorization(AUTHORIZE_TYPE_LAUNCHER_SHARE);
|
|
|
|
|
} else {
|
|
|
|
|
uploadRoadClosed();
|
|
|
|
|
}
|
|
|
|
|
@@ -110,37 +143,40 @@ public class EntrancePresenter extends Presenter< EntranceView > {
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
@Override
|
|
|
|
|
public void onCmdAction( String speakText ) {
|
|
|
|
|
public void onCmdAction(String speakText) {
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
@Override
|
|
|
|
|
public void onCmdCancel( String speakText ) {
|
|
|
|
|
public void onCmdCancel(String speakText) {
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
@Override
|
|
|
|
|
public void onSpeakEnd( String speakText ) {
|
|
|
|
|
public void onSpeakEnd(String speakText) {
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
@Override
|
|
|
|
|
public void onSpeakSelectTimeOut( String speakText ) {
|
|
|
|
|
public void onSpeakSelectTimeOut(String speakText) {
|
|
|
|
|
}
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
@Override
|
|
|
|
|
public void onCreate( @NonNull LifecycleOwner owner ) {
|
|
|
|
|
super.onCreate( owner );
|
|
|
|
|
public void onCreate(@NonNull LifecycleOwner owner) {
|
|
|
|
|
super.onCreate(owner);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* 注册唤醒命令
|
|
|
|
|
*/
|
|
|
|
|
private void registerAwakeVoice() {
|
|
|
|
|
mogoIntentManager.registerIntentListener( ExtensionsModuleConst.UPLOAD_ROAD_CONDITION, mogoIntentListener );
|
|
|
|
|
mogoIntentManager.registerIntentListener(ExtensionsModuleConst.UPLOAD_ROAD_CONDITION,
|
|
|
|
|
mogoIntentListener);
|
|
|
|
|
|
|
|
|
|
mogoIntentManager.registerIntentListener( ExtensionsModuleConst.GO_TO_SHARE, mogoIntentListener );
|
|
|
|
|
mogoIntentManager.registerIntentListener( ExtensionsModuleConst.SHARE_DIALOG_CLOSE, mogoIntentListener );
|
|
|
|
|
mogoIntentManager.registerIntentListener( ExtensionsModuleConst.UPLOAD_ROAD_CONDITION_AWAKEN, mogoIntentListener );
|
|
|
|
|
mogoIntentManager.registerIntentListener( ExtensionsModuleConst.NO_REPLY_SHARE_DIALOG_CLOSE, mogoIntentListener );
|
|
|
|
|
mogoIntentManager.registerIntentListener(ExtensionsModuleConst.GO_TO_SHARE,
|
|
|
|
|
mogoIntentListener);
|
|
|
|
|
mogoIntentManager.registerIntentListener(ExtensionsModuleConst.SHARE_DIALOG_CLOSE,
|
|
|
|
|
mogoIntentListener);
|
|
|
|
|
mogoIntentManager.registerIntentListener(ExtensionsModuleConst.UPLOAD_ROAD_CONDITION_AWAKEN, mogoIntentListener);
|
|
|
|
|
mogoIntentManager.registerIntentListener(ExtensionsModuleConst.NO_REPLY_SHARE_DIALOG_CLOSE, mogoIntentListener);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
@@ -148,66 +184,68 @@ public class EntrancePresenter extends Presenter< EntranceView > {
|
|
|
|
|
*/
|
|
|
|
|
private IMogoIntentListener mogoIntentListener = new IMogoIntentListener() {
|
|
|
|
|
@Override
|
|
|
|
|
public void onIntentReceived( String intentStr, Intent intent ) {
|
|
|
|
|
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( 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 );
|
|
|
|
|
String data = intent.getStringExtra("data");
|
|
|
|
|
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);
|
|
|
|
|
try {
|
|
|
|
|
JSONObject jsonObject = new JSONObject( data );
|
|
|
|
|
String typeString = jsonObject.get( "ob" ).toString();
|
|
|
|
|
Log.d( TAG, "mogoIntentListener specified typeString = " + typeString );
|
|
|
|
|
JSONObject jsonObject = new JSONObject(data);
|
|
|
|
|
String typeString = jsonObject.get("ob").toString();
|
|
|
|
|
Log.d(TAG, "mogoIntentListener specified typeString = " + typeString);
|
|
|
|
|
mVoiceCmdShareType = typeString;
|
|
|
|
|
if ( !TextUtils.isEmpty( typeString ) ) {
|
|
|
|
|
if ( typeString.equals( "封路" ) ) {
|
|
|
|
|
if ( mIMogoAuthorizeModuleManager.needAuthorize( AUTHORIZE_TYPE_LAUNCHER_SHARE ) ) {
|
|
|
|
|
mIMogoAuthorizeModuleManager.invokeAuthorization( AUTHORIZE_TYPE_LAUNCHER_SHARE );
|
|
|
|
|
if (!TextUtils.isEmpty(typeString)) {
|
|
|
|
|
if (typeString.equals("封路")) {
|
|
|
|
|
if (mIMogoAuthorizeModuleManager.needAuthorize(AUTHORIZE_TYPE_LAUNCHER_SHARE)) {
|
|
|
|
|
mIMogoAuthorizeModuleManager.invokeAuthorization(AUTHORIZE_TYPE_LAUNCHER_SHARE);
|
|
|
|
|
} else {
|
|
|
|
|
Log.d( TAG, "mogoIntentListener 封路 -------> " );
|
|
|
|
|
Log.d(TAG, "mogoIntentListener 封路 -------> ");
|
|
|
|
|
uploadRoadClosed();
|
|
|
|
|
}
|
|
|
|
|
} else if ( typeString.equals( "油价" ) ) {
|
|
|
|
|
if ( mIMogoAuthorizeModuleManager.needAuthorize( AUTHORIZE_TYPE_LAUNCHER_SHARE ) ) {
|
|
|
|
|
mIMogoAuthorizeModuleManager.invokeAuthorization( AUTHORIZE_TYPE_LAUNCHER_SHARE );
|
|
|
|
|
} else if (typeString.equals("油价")) {
|
|
|
|
|
if (mIMogoAuthorizeModuleManager.needAuthorize(AUTHORIZE_TYPE_LAUNCHER_SHARE)) {
|
|
|
|
|
mIMogoAuthorizeModuleManager.invokeAuthorization(AUTHORIZE_TYPE_LAUNCHER_SHARE);
|
|
|
|
|
} else {
|
|
|
|
|
Log.d( TAG, "mogoIntentListener 油价 -------> " );
|
|
|
|
|
Log.d(TAG, "mogoIntentListener 油价 -------> ");
|
|
|
|
|
shareOilPrice();
|
|
|
|
|
}
|
|
|
|
|
} else if ( typeString.equals( "交通检查" ) ) {
|
|
|
|
|
if ( mIMogoAuthorizeModuleManager.needAuthorize( AUTHORIZE_TYPE_LAUNCHER_SHARE ) ) {
|
|
|
|
|
mIMogoAuthorizeModuleManager.invokeAuthorization( AUTHORIZE_TYPE_LAUNCHER_SHARE );
|
|
|
|
|
} else if (typeString.equals("交通检查")) {
|
|
|
|
|
if (mIMogoAuthorizeModuleManager.needAuthorize(AUTHORIZE_TYPE_LAUNCHER_SHARE)) {
|
|
|
|
|
mIMogoAuthorizeModuleManager.invokeAuthorization(AUTHORIZE_TYPE_LAUNCHER_SHARE);
|
|
|
|
|
} else {
|
|
|
|
|
Log.d( TAG, "mogoIntentListener 交通检查 -------> " );
|
|
|
|
|
Log.d(TAG, "mogoIntentListener 交通检查 -------> ");
|
|
|
|
|
uploadTrfficCheck();
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
} else {
|
|
|
|
|
if ( mIMogoAuthorizeModuleManager.needAuthorize( AUTHORIZE_TYPE_LAUNCHER_SHARE ) ) {
|
|
|
|
|
mIMogoAuthorizeModuleManager.invokeAuthorization( AUTHORIZE_TYPE_LAUNCHER_SHARE );
|
|
|
|
|
if (mIMogoAuthorizeModuleManager.needAuthorize(AUTHORIZE_TYPE_LAUNCHER_SHARE)) {
|
|
|
|
|
mIMogoAuthorizeModuleManager.invokeAuthorization(AUTHORIZE_TYPE_LAUNCHER_SHARE);
|
|
|
|
|
} else {
|
|
|
|
|
ShareControl.getInstance( mContext ).showDialog();
|
|
|
|
|
Log.d( TAG, "mogoIntentListener 我要分享 ----> " );
|
|
|
|
|
traceData( "2" );
|
|
|
|
|
ShareControl.getInstance(mContext).showDialog();
|
|
|
|
|
Log.d(TAG, "mogoIntentListener 我要分享 ----> ");
|
|
|
|
|
traceData("2");
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
} catch ( Exception e ) {
|
|
|
|
|
} catch (Exception e) {
|
|
|
|
|
e.printStackTrace();
|
|
|
|
|
}
|
|
|
|
|
} else if ( intentStr.equals( ExtensionsModuleConst.UPLOAD_ROAD_CONDITION_AWAKEN ) ) {
|
|
|
|
|
} else if (intentStr.equals(ExtensionsModuleConst.UPLOAD_ROAD_CONDITION_AWAKEN)) {
|
|
|
|
|
//分享路况/上报路况/上报拥堵 唤醒
|
|
|
|
|
if ( mIMogoAuthorizeModuleManager.needAuthorize( AUTHORIZE_TYPE_LAUNCHER_SHARE ) ) {
|
|
|
|
|
mIMogoAuthorizeModuleManager.invokeAuthorization( AUTHORIZE_TYPE_LAUNCHER_SHARE );
|
|
|
|
|
if (mIMogoAuthorizeModuleManager.needAuthorize(AUTHORIZE_TYPE_LAUNCHER_SHARE)) {
|
|
|
|
|
mIMogoAuthorizeModuleManager.invokeAuthorization(AUTHORIZE_TYPE_LAUNCHER_SHARE);
|
|
|
|
|
} else {
|
|
|
|
|
JSONObject jsonObject = null;
|
|
|
|
|
try {
|
|
|
|
|
jsonObject = new JSONObject( data );
|
|
|
|
|
String typeString = jsonObject.get( "obj" ).toString();
|
|
|
|
|
jsonObject = new JSONObject(data);
|
|
|
|
|
String typeString = jsonObject.get("obj").toString();
|
|
|
|
|
Logger.d(TAG, "mogiIntentListener 准备上报拥堵: " + typeString);
|
|
|
|
|
if("拥堵".equals(typeString)) {
|
|
|
|
|
if ("拥堵".equals(typeString)) {
|
|
|
|
|
uploadRoadCondition();
|
|
|
|
|
Log.d(TAG, "mogoIntentListener 上报拥堵 唤醒 ----> ");
|
|
|
|
|
}
|
|
|
|
|
@@ -216,24 +254,25 @@ public class EntrancePresenter extends Presenter< EntranceView > {
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
} else if ( intentStr.equals( ExtensionsModuleConst.SHARE_DIALOG_CLOSE ) ) { //关闭分享框 唤醒
|
|
|
|
|
if ( mIMogoAuthorizeModuleManager.needAuthorize( AUTHORIZE_TYPE_LAUNCHER_SHARE ) ) {
|
|
|
|
|
mIMogoAuthorizeModuleManager.invokeAuthorization( AUTHORIZE_TYPE_LAUNCHER_SHARE );
|
|
|
|
|
} else if (intentStr.equals(ExtensionsModuleConst.SHARE_DIALOG_CLOSE)) { //关闭分享框 唤醒
|
|
|
|
|
if (mIMogoAuthorizeModuleManager.needAuthorize(AUTHORIZE_TYPE_LAUNCHER_SHARE)) {
|
|
|
|
|
mIMogoAuthorizeModuleManager.invokeAuthorization(AUTHORIZE_TYPE_LAUNCHER_SHARE);
|
|
|
|
|
} else {
|
|
|
|
|
ShareControl.getInstance( mContext ).dismissDialog();
|
|
|
|
|
Log.d( TAG, "mogoIntentListener 关闭分享框 唤醒 ----> " );
|
|
|
|
|
ShareControl.getInstance(mContext).dismissDialog();
|
|
|
|
|
Log.d(TAG, "mogoIntentListener 关闭分享框 唤醒 ----> ");
|
|
|
|
|
}
|
|
|
|
|
} else if ( intentStr.equals( ExtensionsModuleConst.NO_REPLY_SHARE_DIALOG_CLOSE ) ) {
|
|
|
|
|
} else if (intentStr.equals(ExtensionsModuleConst.NO_REPLY_SHARE_DIALOG_CLOSE)) {
|
|
|
|
|
// 两次未回复关闭对话框
|
|
|
|
|
if ( mIMogoAuthorizeModuleManager.needAuthorize( AUTHORIZE_TYPE_LAUNCHER_SHARE ) ) {
|
|
|
|
|
mIMogoAuthorizeModuleManager.invokeAuthorization( AUTHORIZE_TYPE_LAUNCHER_SHARE );
|
|
|
|
|
if (mIMogoAuthorizeModuleManager.needAuthorize(AUTHORIZE_TYPE_LAUNCHER_SHARE)) {
|
|
|
|
|
mIMogoAuthorizeModuleManager.invokeAuthorization(AUTHORIZE_TYPE_LAUNCHER_SHARE);
|
|
|
|
|
} else {
|
|
|
|
|
ShareControl.getInstance( mContext ).dismissDialog();
|
|
|
|
|
Logger.d( TAG, "mogoIntentListener 两次未回复关闭对话框" );
|
|
|
|
|
ShareControl.getInstance(mContext).dismissDialog();
|
|
|
|
|
Logger.d(TAG, "mogoIntentListener 两次未回复关闭对话框");
|
|
|
|
|
}
|
|
|
|
|
} else if ( intentStr.equals( ExtensionsModuleConst.UPLOAD_ROAD_CONDITION ) ) { //上报路况 免唤醒 --ok
|
|
|
|
|
if ( mIMogoAuthorizeModuleManager.needAuthorize( AUTHORIZE_TYPE_LAUNCHER_SHARE ) ) {
|
|
|
|
|
mIMogoAuthorizeModuleManager.invokeAuthorization( AUTHORIZE_TYPE_LAUNCHER_SHARE );
|
|
|
|
|
} else if (intentStr.equals(ExtensionsModuleConst.UPLOAD_ROAD_CONDITION)) { //上报路况
|
|
|
|
|
// 免唤醒 --ok
|
|
|
|
|
if (mIMogoAuthorizeModuleManager.needAuthorize(AUTHORIZE_TYPE_LAUNCHER_SHARE)) {
|
|
|
|
|
mIMogoAuthorizeModuleManager.invokeAuthorization(AUTHORIZE_TYPE_LAUNCHER_SHARE);
|
|
|
|
|
} else {
|
|
|
|
|
uploadRoadCondition();
|
|
|
|
|
}
|
|
|
|
|
@@ -246,69 +285,71 @@ public class EntrancePresenter extends Presenter< EntranceView > {
|
|
|
|
|
* 处理需要授权的命令 TODO
|
|
|
|
|
*/
|
|
|
|
|
public void handleNeedAuthorizeCmd() {
|
|
|
|
|
Log.e( TAG, "handleNeedAuthorizeCmd mVoiceCmdType = " + mVoiceCmdType + " >>> mVoiceCmdShareType = " + mVoiceCmdShareType );
|
|
|
|
|
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();
|
|
|
|
|
} else if ( mVoiceCmdType.equals( ExtensionsModuleConst.GO_TO_SHARE ) ) { //打开分享弹框
|
|
|
|
|
if ( !TextUtils.isEmpty( mVoiceCmdShareType ) ) {
|
|
|
|
|
if ( mVoiceCmdShareType.equals( "封路" ) ) {
|
|
|
|
|
Log.d( TAG, "handleNeedAuthorizeCmd 封路 -------> " );
|
|
|
|
|
Log.e(TAG, "handleNeedAuthorizeCmd mVoiceCmdType = " + mVoiceCmdType + " >>> " +
|
|
|
|
|
"mVoiceCmdShareType = " + mVoiceCmdShareType);
|
|
|
|
|
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();
|
|
|
|
|
} else if (mVoiceCmdType.equals(ExtensionsModuleConst.GO_TO_SHARE)) { //打开分享弹框
|
|
|
|
|
if (!TextUtils.isEmpty(mVoiceCmdShareType)) {
|
|
|
|
|
if (mVoiceCmdShareType.equals("封路")) {
|
|
|
|
|
Log.d(TAG, "handleNeedAuthorizeCmd 封路 -------> ");
|
|
|
|
|
uploadRoadClosed();
|
|
|
|
|
} else if ( mVoiceCmdShareType.equals( "油价" ) ) {
|
|
|
|
|
Log.d( TAG, "handleNeedAuthorizeCmd 油价 -------> " );
|
|
|
|
|
} else if (mVoiceCmdShareType.equals("油价")) {
|
|
|
|
|
Log.d(TAG, "handleNeedAuthorizeCmd 油价 -------> ");
|
|
|
|
|
shareOilPrice();
|
|
|
|
|
} else if ( mVoiceCmdShareType.equals( "交通检查" ) ) {
|
|
|
|
|
Log.d( TAG, "handleNeedAuthorizeCmd 交通检查 -------> " );
|
|
|
|
|
} else if (mVoiceCmdShareType.equals("交通检查")) {
|
|
|
|
|
Log.d(TAG, "handleNeedAuthorizeCmd 交通检查 -------> ");
|
|
|
|
|
uploadTrfficCheck();
|
|
|
|
|
}
|
|
|
|
|
} else {
|
|
|
|
|
ShareControl.getInstance( mContext ).showDialog();
|
|
|
|
|
Log.d( TAG, "handleNeedAuthorizeCmd 我要分享 ----> " );
|
|
|
|
|
traceData( "2" );
|
|
|
|
|
ShareControl.getInstance(mContext).showDialog();
|
|
|
|
|
Log.d(TAG, "handleNeedAuthorizeCmd 我要分享 ----> ");
|
|
|
|
|
traceData("2");
|
|
|
|
|
}
|
|
|
|
|
} else if ( mVoiceCmdType.equals( ExtensionsModuleConst.UPLOAD_TRAFFIC_CHECK ) ) { //上报交通检查
|
|
|
|
|
Log.d( TAG, "handleNeedAuthorizeCmd 上报交通检查 ----> " );
|
|
|
|
|
} else if (mVoiceCmdType.equals(ExtensionsModuleConst.UPLOAD_TRAFFIC_CHECK)) { //上报交通检查
|
|
|
|
|
Log.d(TAG, "handleNeedAuthorizeCmd 上报交通检查 ----> ");
|
|
|
|
|
uploadTrfficCheck();
|
|
|
|
|
} else if ( mVoiceCmdType.equals( ExtensionsModuleConst.UPLOAD_ROAD_CLOSURE ) ) { //上报封路
|
|
|
|
|
Log.d( TAG, "handleNeedAuthorizeCmd 上报封路 ----> " );
|
|
|
|
|
} else if (mVoiceCmdType.equals(ExtensionsModuleConst.UPLOAD_ROAD_CLOSURE)) { //上报封路
|
|
|
|
|
Log.d(TAG, "handleNeedAuthorizeCmd 上报封路 ----> ");
|
|
|
|
|
uploadRoadClosed();
|
|
|
|
|
} else if ( mVoiceCmdType.equals( ExtensionsModuleConst.UPLOAD_ROAD_BLOCK )
|
|
|
|
|
|| mVoiceCmdType.equals( ExtensionsModuleConst.UPLOAD_ROAD_CONDITION_AWAKEN )
|
|
|
|
|
|| mVoiceCmdType.equals( ExtensionsModuleConst.UPLOAD_ROAD_CONDITION ) ) { //上报拥堵, 分享路况, 上报路况
|
|
|
|
|
Log.d( TAG, "handleNeedAuthorizeCmd 上报路况 ----> " );
|
|
|
|
|
} else if (mVoiceCmdType.equals(ExtensionsModuleConst.UPLOAD_ROAD_BLOCK)
|
|
|
|
|
|| mVoiceCmdType.equals(ExtensionsModuleConst.UPLOAD_ROAD_CONDITION_AWAKEN)
|
|
|
|
|
|| mVoiceCmdType.equals(ExtensionsModuleConst.UPLOAD_ROAD_CONDITION)) {
|
|
|
|
|
//上报拥堵, 分享路况, 上报路况
|
|
|
|
|
Log.d(TAG, "handleNeedAuthorizeCmd 上报路况 ----> ");
|
|
|
|
|
uploadRoadCondition();
|
|
|
|
|
}
|
|
|
|
|
} else {
|
|
|
|
|
Log.e( TAG, "handleNeedAuthorizeCmd mVoiceCmdType == null " );
|
|
|
|
|
Log.e(TAG, "handleNeedAuthorizeCmd mVoiceCmdType == null ");
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
private void uploadRoadCondition() {
|
|
|
|
|
mStatusManager.setUploadingStatus( "CARD_TYPE_ROAD_CONDITION", true );
|
|
|
|
|
mStatusManager.setUploadingStatus("CARD_TYPE_ROAD_CONDITION", true);
|
|
|
|
|
|
|
|
|
|
traceTanluData( "2" );
|
|
|
|
|
sendShareReceiver( REPORT_TANLU_BLOCK );
|
|
|
|
|
Logger.d( "EntrancePresenter", "mogoIntentListener 上报路况 ----> " );
|
|
|
|
|
traceTypeData( "1" );
|
|
|
|
|
ShareControl.getInstance( mContext ).dismissDialog();
|
|
|
|
|
traceTanluData("2");
|
|
|
|
|
sendShareReceiver(REPORT_TANLU_BLOCK);
|
|
|
|
|
Logger.d("EntrancePresenter", "mogoIntentListener 上报路况 ----> ");
|
|
|
|
|
traceTypeData("1");
|
|
|
|
|
ShareControl.getInstance(mContext).dismissDialog();
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
private void uploadTrfficCheck() {
|
|
|
|
|
mStatusManager.setUploadingStatus( "CARD_TYPE_ROAD_CONDITION", true );
|
|
|
|
|
sendShareReceiver( REPORT_TANLU_TRAFFIC_CHECK );
|
|
|
|
|
Logger.d( "EntrancePresenter", "mogoIntentListener 分享交通检查 ----> " );
|
|
|
|
|
traceTypeData( "3" );
|
|
|
|
|
ShareControl.getInstance( mContext ).dismissDialog();
|
|
|
|
|
mStatusManager.setUploadingStatus("CARD_TYPE_ROAD_CONDITION", true);
|
|
|
|
|
sendShareReceiver(REPORT_TANLU_TRAFFIC_CHECK);
|
|
|
|
|
Logger.d("EntrancePresenter", "mogoIntentListener 分享交通检查 ----> ");
|
|
|
|
|
traceTypeData("3");
|
|
|
|
|
ShareControl.getInstance(mContext).dismissDialog();
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
private void uploadRoadClosed() {
|
|
|
|
|
mStatusManager.setUploadingStatus( "CARD_TYPE_ROAD_CONDITION", true );
|
|
|
|
|
sendShareReceiver( REPORT_TANLU_CLOSURE );
|
|
|
|
|
Logger.d( "EntrancePresenter", "mogoIntentListener 分享封路 ----> " );
|
|
|
|
|
traceTypeData( "4" );
|
|
|
|
|
ShareControl.getInstance( mContext ).dismissDialog();
|
|
|
|
|
mStatusManager.setUploadingStatus("CARD_TYPE_ROAD_CONDITION", true);
|
|
|
|
|
sendShareReceiver(REPORT_TANLU_CLOSURE);
|
|
|
|
|
Logger.d("EntrancePresenter", "mogoIntentListener 分享封路 ----> ");
|
|
|
|
|
traceTypeData("4");
|
|
|
|
|
ShareControl.getInstance(mContext).dismissDialog();
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
@@ -316,10 +357,10 @@ public class EntrancePresenter extends Presenter< EntranceView > {
|
|
|
|
|
*
|
|
|
|
|
* @param from
|
|
|
|
|
*/
|
|
|
|
|
private void traceData( String from ) {
|
|
|
|
|
Map< String, Object > properties = new HashMap<>();
|
|
|
|
|
properties.put( "from", from );
|
|
|
|
|
mAnalytics.track( ExtensionsModuleConst.LAUNCHER_SHARE_CLICK, properties );
|
|
|
|
|
private void traceData(String from) {
|
|
|
|
|
Map<String, Object> properties = new HashMap<>();
|
|
|
|
|
properties.put("from", from);
|
|
|
|
|
mAnalytics.track(ExtensionsModuleConst.LAUNCHER_SHARE_CLICK, properties);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
private void shareOilPrice() {
|
|
|
|
|
@@ -333,14 +374,14 @@ public class EntrancePresenter extends Presenter< EntranceView > {
|
|
|
|
|
/**
|
|
|
|
|
* 发送广播 上报路况
|
|
|
|
|
*/
|
|
|
|
|
private void sendShareReceiver( String type ) {
|
|
|
|
|
Logger.d( "EntrancePresenter", "TanluCardViewFragment sendShareReceiver ---->" );
|
|
|
|
|
private void sendShareReceiver(String type) {
|
|
|
|
|
Logger.d("EntrancePresenter", "TanluCardViewFragment sendShareReceiver ---->");
|
|
|
|
|
Intent intent = new Intent();
|
|
|
|
|
intent.setAction( "com.zhidao.roadcondition.share" );
|
|
|
|
|
intent.addFlags( Intent.FLAG_RECEIVER_FOREGROUND );
|
|
|
|
|
intent.addFlags( Intent.FLAG_INCLUDE_STOPPED_PACKAGES );
|
|
|
|
|
intent.putExtra( "type", type );
|
|
|
|
|
getContext().sendBroadcast( intent );
|
|
|
|
|
intent.setAction("com.zhidao.roadcondition.share");
|
|
|
|
|
intent.addFlags(Intent.FLAG_RECEIVER_FOREGROUND);
|
|
|
|
|
intent.addFlags(Intent.FLAG_INCLUDE_STOPPED_PACKAGES);
|
|
|
|
|
intent.putExtra("type", type);
|
|
|
|
|
getContext().sendBroadcast(intent);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
@@ -354,24 +395,68 @@ public class EntrancePresenter extends Presenter< EntranceView > {
|
|
|
|
|
*
|
|
|
|
|
* @param type
|
|
|
|
|
*/
|
|
|
|
|
private void traceTypeData( String type ) {
|
|
|
|
|
Map< String, Object > properties = new HashMap<>();
|
|
|
|
|
properties.put( "type", type );
|
|
|
|
|
mAnalytics.track( ExtensionsModuleConst.LAUNCHER_SHARE_TYPE, properties );
|
|
|
|
|
private void traceTypeData(String type) {
|
|
|
|
|
Map<String, Object> properties = new HashMap<>();
|
|
|
|
|
properties.put("type", type);
|
|
|
|
|
mAnalytics.track(ExtensionsModuleConst.LAUNCHER_SHARE_TYPE, properties);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
private void traceTanluData( String type ) {
|
|
|
|
|
Map< String, Object > properties = new HashMap<>();
|
|
|
|
|
properties.put( "type", type );
|
|
|
|
|
mAnalytics.track( ExtensionsModuleConst.CARNET_USER_UPLOAD, properties );
|
|
|
|
|
private void traceTanluData(String type) {
|
|
|
|
|
Map<String, Object> properties = new HashMap<>();
|
|
|
|
|
properties.put("type", type);
|
|
|
|
|
mAnalytics.track(ExtensionsModuleConst.CARNET_USER_UPLOAD, properties);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
public void unregisterUnWake() {
|
|
|
|
|
AIAssist.getInstance( mContext ).unregisterUnWakeupCommand( ExtensionsModuleConst.CANCLE_SHARE );
|
|
|
|
|
AIAssist.getInstance( mContext ).unregisterUnWakeupCommand( ExtensionsModuleConst.CLOSE );
|
|
|
|
|
AIAssist.getInstance( mContext ).unregisterUnWakeupCommand( ExtensionsModuleConst.UPLOAD_ROAD_BLOCK );
|
|
|
|
|
AIAssist.getInstance( mContext ).unregisterUnWakeupCommand( ExtensionsModuleConst.UPLOAD_TRAFFIC_CHECK );
|
|
|
|
|
AIAssist.getInstance( mContext ).unregisterUnWakeupCommand( ExtensionsModuleConst.UPLOAD_ROAD_CLOSURE );
|
|
|
|
|
AIAssist.getInstance(mContext).unregisterUnWakeupCommand(ExtensionsModuleConst.CANCLE_SHARE);
|
|
|
|
|
AIAssist.getInstance(mContext).unregisterUnWakeupCommand(ExtensionsModuleConst.CLOSE);
|
|
|
|
|
AIAssist.getInstance(mContext).unregisterUnWakeupCommand(ExtensionsModuleConst.UPLOAD_ROAD_BLOCK);
|
|
|
|
|
AIAssist.getInstance(mContext).unregisterUnWakeupCommand(ExtensionsModuleConst.UPLOAD_TRAFFIC_CHECK);
|
|
|
|
|
AIAssist.getInstance(mContext).unregisterUnWakeupCommand(ExtensionsModuleConst.UPLOAD_ROAD_CLOSURE);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
public void requestUserInfo() {
|
|
|
|
|
Map<String, String> params = new ArrayMap<>();
|
|
|
|
|
params.put("sn", DeviceUtil.getSn());
|
|
|
|
|
params.put("source", "2");
|
|
|
|
|
String sign = createSign(params, "JGqZw9");
|
|
|
|
|
params.put("sig", sign);
|
|
|
|
|
mNetWork.create(UserInfoNetApiServices.class, UserInfoConstant.getUserInfoBaseUrl()).requestUserInfo(params).subscribeOn(Schedulers.io()).observeOn(AndroidSchedulers.mainThread()).subscribe(new SingleObserver<UserInfoResponse>() {
|
|
|
|
|
@Override
|
|
|
|
|
public void onSubscribe(Disposable d) {
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
@Override
|
|
|
|
|
public void onSuccess(UserInfoResponse userInfoBaseResponse) {
|
|
|
|
|
userInfo = userInfoBaseResponse.getResult();
|
|
|
|
|
Logger.d(TAG, "获取个人信息成功: " + userInfo);
|
|
|
|
|
mView.refreshUserInfo(userInfo);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
@Override
|
|
|
|
|
public void onError(Throwable e) {
|
|
|
|
|
e.printStackTrace();
|
|
|
|
|
Logger.e(TAG, e, "获取个人信息失败==");
|
|
|
|
|
}
|
|
|
|
|
});
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
private String createSign(Map<String, String> map, String salt) {
|
|
|
|
|
try {
|
|
|
|
|
StringBuilder queryString = new StringBuilder();
|
|
|
|
|
for (Map.Entry<String, String> entry : map.entrySet()) {
|
|
|
|
|
queryString.append(entry.getKey())
|
|
|
|
|
.append("=")
|
|
|
|
|
.append(entry.getValue())
|
|
|
|
|
.append("&");
|
|
|
|
|
}
|
|
|
|
|
queryString.append("key=").append(DigestUtils.shaHex(salt));
|
|
|
|
|
return DigestUtils.shaHex(queryString.toString()).toUpperCase();
|
|
|
|
|
} catch (Exception e) {
|
|
|
|
|
e.printStackTrace();
|
|
|
|
|
Logger.e(TAG, e, "createSign()");
|
|
|
|
|
return "";
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|