package com.zhidao.roadcondition; import android.content.Context; import android.util.ArrayMap; import com.alibaba.android.arouter.facade.annotation.Route; import com.mogo.commons.analytics.AnalyticsUtils; import com.mogo.map.location.MogoLocation; import com.mogo.module.common.MogoApisHandler; import com.mogo.service.share.IMogoTanluProvider; import com.mogo.service.share.TanluUploadParams; import com.mogo.utils.logger.Logger; import com.zhidao.roadcondition.service.MainService; import com.zhidao.roadcondition.service.UploadParams; import java.util.Map; import static com.zhidao.roadcondition.constant.ConstKt.API_MODULE_NAME; import static com.zhidao.roadcondition.constant.ConstKt.API_MODULE_PATH; /** * 探路api * * @author tongchenfei */ @Route(path = API_MODULE_PATH) public class MogoTanluApiProvider implements IMogoTanluProvider { private Context context; /** * 上传情报 * * @param params 情报类型 */ @Override public void uploadRoadCondition(TanluUploadParams params) { if(params!=null) { Logger.d(API_MODULE_NAME, "uploadRoadCondition: " + params); Map properties = new ArrayMap<>(); properties.put("type", params.getEventType()); properties.put("from", params.getFromType()); AnalyticsUtils.track("v2x_share_type", properties); MogoLocation location = MogoApisHandler.getInstance().getApis().getMapServiceApi().getSingletonLocationClient(context).getLastKnowLocation(); MainService.Companion.launchService(context, new UploadParams(params.getEventType(), params.getFromType(), params.getDuration(), params.getParentId(), params.getLocation().lat, params.getLocation().lon, location.getAddress(), location.getBearing(), location.getAdCode(), location.getCityCode())); }else{ Logger.e(API_MODULE_NAME,"params为空,无法上报情报"); } } /** * 开启探路业务服务 */ @Override public void startTanluService() { Logger.d(API_MODULE_NAME, "startTanluService"); MainService.Companion.launchService(context, null); } @Override public void init(Context context) { this.context = context; Logger.d(API_MODULE_NAME,"新TanluApi模块 init===="); } }