Merge branch 'qa_1.1.8' into dev
# Conflicts: # skin/mogo-skin-light/src/main/module-v2x-res/drawable/bg_v2x_event_description_light.xml
@@ -129,7 +129,7 @@ TTS_NOOP_VERSION=2.0.7
|
||||
|
||||
######## 外部依赖引用
|
||||
# 车聊聊
|
||||
CARCHATTING_VERSION=1.8.8
|
||||
CARCHATTING_VERSION=1.9.0
|
||||
# 车聊聊接口
|
||||
CARCHATTINGPROVIDER_VERSION=1.1.7
|
||||
# loglib
|
||||
|
||||
@@ -44,6 +44,8 @@ public class AppsListActivity extends MvpActivity< AppsListView, AppsListPresent
|
||||
getWindow().setStatusBarColor( Color.BLACK );
|
||||
}
|
||||
super.onCreate( savedInstanceState );
|
||||
// 透明 activity 不会让前一个 activity 走 onStop 方法
|
||||
AppServiceHandler.getApis().getStatusManagerApi().setMainPageIsBackgroundStatus( TAG, true );
|
||||
AppServiceHandler.getApis().getStatusManagerApi().setAppListUIShow( TAG, true );
|
||||
}
|
||||
|
||||
|
||||
@@ -17,14 +17,14 @@ public class NavigatorApps {
|
||||
private static AppInfo app_ = new AppInfo( "高德地图", "com.autonavi.amapauto", "", 0, null, R.drawable.module_apps_ic_navigator_navi_disable, 1 );
|
||||
// private static AppInfo app2 = new AppInfo( "音乐", "com.tencent.wecarflow", "", 0, null, R.drawable.module_apps_ic_navigator_media, 2 );
|
||||
private static AppInfo app2 = new AppInfo( "音乐", "com.zhidao.music", "", 0, null, R.drawable.module_apps_ic_navigator_media_selector, 2 );
|
||||
private static AppInfo app3 = new AppInfo( "车聊聊", "com.zhidao.imdemo", "", 0, null, R.drawable.module_apps_ic_navigator_im_selector, 6 );
|
||||
// private static AppInfo app3 = new AppInfo( "车聊聊", "com.zhidao.imdemo", "", 0, null, R.drawable.module_apps_ic_navigator_im_selector, 6 );
|
||||
private static AppInfo app4 = new AppInfo( "全部应用", "com.mogo.launcher.applist", "", 0, null, R.drawable.module_apps_ic_navigator_applist_selector, 4 );
|
||||
|
||||
public static List< AppInfo > getApps() {
|
||||
List< AppInfo > sApps = new ArrayList<>();
|
||||
sApps.add( app );
|
||||
sApps.add( app2 );
|
||||
sApps.add( app3 );
|
||||
// sApps.add( app3 );
|
||||
sApps.add( app4 );
|
||||
return sApps;
|
||||
}
|
||||
@@ -33,7 +33,7 @@ public class NavigatorApps {
|
||||
List< AppInfo > sApps = new ArrayList<>();
|
||||
sApps.add( app );
|
||||
sApps.add( app2 );
|
||||
sApps.add( app3 );
|
||||
// sApps.add( app3 );
|
||||
sApps.add( app4 );
|
||||
return sApps;
|
||||
}
|
||||
|
||||
|
After Width: | Height: | Size: 4.4 KiB |
|
After Width: | Height: | Size: 4.5 KiB |
|
After Width: | Height: | Size: 4.0 KiB |
|
After Width: | Height: | Size: 4.2 KiB |
|
After Width: | Height: | Size: 4.4 KiB |
|
After Width: | Height: | Size: 4.5 KiB |
|
After Width: | Height: | Size: 4.0 KiB |
|
After Width: | Height: | Size: 4.2 KiB |
@@ -26,6 +26,7 @@
|
||||
<item>com.android.messaging</item>
|
||||
<item>com.android.contacts</item>
|
||||
<item>com.android.dialer</item>
|
||||
<item>com.zhidao.imdemo</item>
|
||||
</string-array>
|
||||
<string-array name="module_apps_array_filter_packages">
|
||||
<item>com.mogo.launcher</item>
|
||||
@@ -44,5 +45,6 @@
|
||||
<item>com.iflytek.inputmethod.pad</item>
|
||||
<item>com.nwd.tools.reboot</item>
|
||||
<item>com.android.car.setting</item>
|
||||
<item>com.zhidao.imdemo</item>
|
||||
</string-array>
|
||||
</resources>
|
||||
|
||||
@@ -120,9 +120,6 @@ public class EntrancePresenter extends Presenter<EntranceView> implements Weathe
|
||||
// 相当于每次onResume都会请求一下个人信息,目的是能够相对及时的同步手机端的个人信息修改
|
||||
requestUserInfo();
|
||||
}
|
||||
if(DebugConfig.isMapBased()) {
|
||||
requestCarModelList();
|
||||
}
|
||||
getCommonConfig();
|
||||
}
|
||||
|
||||
@@ -242,38 +239,4 @@ public class EntrancePresenter extends Presenter<EntranceView> implements Weathe
|
||||
return "";
|
||||
}
|
||||
}
|
||||
|
||||
private void requestCarModelList() {
|
||||
Map<String, String> params = new HashMap<>(8);
|
||||
params.put("sn", Utils.getSn());
|
||||
// params.put("sn", "ZD802B1932L00617");
|
||||
mNetWork.create(UserInfoNetApiServices.class, DztHttpConstant.getBaseUrl()).
|
||||
requestCarModelList(params).
|
||||
subscribeOn(Schedulers.io()).
|
||||
observeOn(Schedulers.io()).
|
||||
subscribe(new SubscribeImpl<CarModelListResponse>(RequestOptions.create(context)) {
|
||||
@Override
|
||||
public void onSuccess(CarModelListResponse o) {
|
||||
super.onSuccess(o);
|
||||
Logger.d(TAG, "请求车模列表成功: " + o);
|
||||
// todo 保存到sp中
|
||||
SharedPrefsMgr.getInstance(context).putString("CAR_MODEL_LIST",
|
||||
GsonUtil.jsonFromObject(o.getResult()));
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onError(Throwable e) {
|
||||
super.onError(e);
|
||||
Logger.e(TAG, e, "请求自车模型失败");
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onError(String message, int code) {
|
||||
super.onError(message, code);
|
||||
Logger.e(TAG, "请求自车模型失败: " + message);
|
||||
}
|
||||
});
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -23,7 +23,4 @@ public interface UserInfoNetApiServices {
|
||||
*/
|
||||
@GET("carlife/carMachine/getAccountInfo")
|
||||
Single<UserInfoResponse> requestUserInfo(@QueryMap Map<String, String> params);
|
||||
|
||||
@GET("yycp-userDataService/app/enthusiasm/getEnthusiasmInfo/v1")
|
||||
Observable<CarModelListResponse> requestCarModelList(@QueryMap Map<String, String> params);
|
||||
}
|
||||
|
||||
@@ -32,8 +32,8 @@
|
||||
|
||||
<dimen name="module_main_panel_margin_right">0px</dimen>
|
||||
<!--事件面板-->
|
||||
<dimen name="module_main_event_panel_fragment_paddingTop">2px</dimen>
|
||||
<dimen name="module_main_event_panel_fragment_paddingBottom">2px</dimen>
|
||||
<dimen name="module_main_event_panel_fragment_paddingTop">0px</dimen>
|
||||
<dimen name="module_main_event_panel_fragment_paddingBottom">0px</dimen>
|
||||
<dimen name="module_main_event_panel_fragment_paddingLeft">6px</dimen>
|
||||
<dimen name="module_main_event_panel_fragment_paddingRight">6px</dimen>
|
||||
</resources>
|
||||
@@ -399,11 +399,14 @@ public class MogoServices implements IMogoMapListener,
|
||||
* 关闭所有模块的控制面板
|
||||
*/
|
||||
private void closeAllPanel() {
|
||||
mCallProviderResponse = new ICallChatResponse() {
|
||||
@Override
|
||||
public void hideUserWindowError(@NotNull String errorMsg) {
|
||||
}
|
||||
};
|
||||
|
||||
if ( mCallProviderResponse != null ) {
|
||||
mCallProviderResponse = new ICallChatResponse() {
|
||||
@Override
|
||||
public void hideUserWindowError(@NotNull String errorMsg) {
|
||||
}
|
||||
};
|
||||
}
|
||||
MogoApisHandler.getInstance().getApis().getShareManager().dismissShareDialog();
|
||||
MogoApisHandler.getInstance().getApis().getOnlineCarPanelApi().hidePanel();
|
||||
MogoApisHandler.getInstance().getApis().getAdasControllerApi().setSettingStatus(false);
|
||||
@@ -480,6 +483,10 @@ public class MogoServices implements IMogoMapListener,
|
||||
}
|
||||
|
||||
AutoPilotRemoteController.getInstance().start();
|
||||
|
||||
Intent intent = new Intent( "com.freedom.ser.ACTION" );
|
||||
intent.addFlags( Intent.FLAG_INCLUDE_STOPPED_PACKAGES );
|
||||
mContext.sendBroadcast( intent );
|
||||
}
|
||||
|
||||
private void initLocationServiceProcess(Context context) {
|
||||
|
||||
@@ -98,22 +98,16 @@ public class V2XEventPanelModuleProvider implements
|
||||
|
||||
@Override
|
||||
public void showPanelWithSelectedItem(int item) {
|
||||
if (!V2XServiceManager.getMoGoStatusManager().isMainPageIsBackground()) {
|
||||
V2XEventPanelFragment.Companion.getInstance().showPanelWithSelectedItem(item);
|
||||
}
|
||||
V2XEventPanelFragment.Companion.getInstance().showPanelWithSelectedItem(item);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void showPanel() {
|
||||
if (!V2XServiceManager.getMoGoStatusManager().isMainPageIsBackground()) {
|
||||
V2XEventPanelFragment.Companion.getInstance().showPanel();
|
||||
}
|
||||
V2XEventPanelFragment.Companion.getInstance().showPanel();
|
||||
}
|
||||
|
||||
@Override
|
||||
public void hidePanel() {
|
||||
if (!V2XServiceManager.getMoGoStatusManager().isMainPageIsBackground()) {
|
||||
V2XEventPanelFragment.Companion.getInstance().hidePanel();
|
||||
}
|
||||
V2XEventPanelFragment.Companion.getInstance().hidePanel();
|
||||
}
|
||||
}
|
||||
|
||||
@@ -35,6 +35,7 @@ import java.util.HashMap;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
import static com.mogo.module.common.entity.MarkerPoiTypeEnum.FOURS_BLOCK_UP;
|
||||
import static com.mogo.module.v2x.V2XConst.MODULE_NAME;
|
||||
|
||||
/**
|
||||
@@ -167,6 +168,12 @@ public class V2XLocationListener implements IMogoLocationListener, CarStatusList
|
||||
v2XMessageEntity.setContent(v2XRoadEventEntity);
|
||||
v2XMessageEntity.setShowState(true);
|
||||
V2XScenarioManager.getInstance().handlerMessage(v2XMessageEntity);
|
||||
|
||||
//如果poiType是道路拥堵,则调用接口查询拥堵状态
|
||||
String poiType = v2XRoadEventEntity.getPoiType();
|
||||
if(poiType != null && poiType.equals(FOURS_BLOCK_UP)){
|
||||
V2XServiceManager.getIMogoTrafficUploadProvider().verifyCurrentTrafficStatus();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -170,12 +170,6 @@ public class V2XRoadEventWindow extends RelativeLayout
|
||||
// 道路事件行驶到了50米附近,弹出事件纠错框给用户
|
||||
//Logger.d(MODULE_NAME, "V2X===道路事件:" + v2XRoadEventEntity);
|
||||
|
||||
//如果poiType是道路拥堵,则调用接口查询拥堵状态
|
||||
String poiType = v2XRoadEventEntity.getPoiType();
|
||||
if(poiType != null && poiType.equals(FOURS_BLOCK_UP)){
|
||||
V2XServiceManager.getIMogoTrafficUploadProvider().verifyCurrentTrafficStatus();
|
||||
}
|
||||
|
||||
// 进行类型分发
|
||||
switch (v2XRoadEventEntity.getPoiType()) {
|
||||
case V2XPoiTypeEnum.TRAFFIC_CHECK: // 交通检查
|
||||
|
||||
@@ -0,0 +1,34 @@
|
||||
package com.mogo.service.impl.adas;
|
||||
|
||||
import com.mogo.commons.debug.DebugConfig;
|
||||
|
||||
import java.util.Map;
|
||||
|
||||
import io.reactivex.Observable;
|
||||
import retrofit2.http.GET;
|
||||
import retrofit2.http.QueryMap;
|
||||
|
||||
interface CarModelInfoNetApiServices {
|
||||
String HOST_DEV = "http://dzt-test.zhidaozhixing.com";
|
||||
String HOST_TEST = "http://dzt-test.zhidaozhixing.com";
|
||||
String HOST_DEMO = "http://dzt-show.zhidaozhixing.com";
|
||||
String HOST_PRODUCT = "http://dzt.zhidaozhixing.com";
|
||||
|
||||
static String getBaseUrl(){
|
||||
switch ( DebugConfig.getNetMode() ) {
|
||||
case DebugConfig.NET_MODE_DEV:
|
||||
return HOST_DEV;
|
||||
case DebugConfig.NET_MODE_QA:
|
||||
return HOST_TEST;
|
||||
case DebugConfig.NET_MODE_DEMO:
|
||||
return HOST_DEMO;
|
||||
default:
|
||||
return HOST_PRODUCT;
|
||||
}
|
||||
}
|
||||
|
||||
@GET("yycp-userDataService/app/enthusiasm/getEnthusiasmInfo/v1")
|
||||
Observable<CarModelListResponse> requestCarModelList(@QueryMap Map<String, String> params);
|
||||
|
||||
|
||||
}
|
||||
@@ -0,0 +1,47 @@
|
||||
package com.mogo.service.impl.adas;
|
||||
|
||||
import com.mogo.module.common.entity.OwnCarModelEntity;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
public class CarModelListInfo {
|
||||
private String sn;
|
||||
/**
|
||||
* 热心指数 eg: 1 1.5 2 2.5
|
||||
*/
|
||||
private float enthusiasmIndex;
|
||||
private List<OwnCarModelEntity> imageData;
|
||||
|
||||
public String getSn() {
|
||||
return sn;
|
||||
}
|
||||
|
||||
public void setSn(String sn) {
|
||||
this.sn = sn;
|
||||
}
|
||||
|
||||
public float getEnthusiasmIndex() {
|
||||
return enthusiasmIndex;
|
||||
}
|
||||
|
||||
public void setEnthusiasmIndex(float enthusiasmIndex) {
|
||||
this.enthusiasmIndex = enthusiasmIndex;
|
||||
}
|
||||
|
||||
public List<OwnCarModelEntity> getImageData() {
|
||||
return imageData;
|
||||
}
|
||||
|
||||
public void setImageData(List<OwnCarModelEntity> imageData) {
|
||||
this.imageData = imageData;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String toString() {
|
||||
return "CarModelListInfo{" +
|
||||
"sn='" + sn + '\'' +
|
||||
", enthusiasmIndex=" + enthusiasmIndex +
|
||||
", imageData=" + imageData +
|
||||
'}';
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,29 @@
|
||||
package com.mogo.service.impl.adas;
|
||||
|
||||
import com.mogo.commons.data.BaseData;
|
||||
|
||||
/**
|
||||
* 请求根据热心指数获取自车图标列表的响应类
|
||||
*
|
||||
* @author tongchenfei
|
||||
*/
|
||||
public class CarModelListResponse extends BaseData {
|
||||
private CarModelListInfo result;
|
||||
|
||||
public CarModelListInfo getResult() {
|
||||
return result;
|
||||
}
|
||||
|
||||
public void setResult(CarModelListInfo result) {
|
||||
this.result = result;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String toString() {
|
||||
return "CarModelListResponse{" +
|
||||
"result=" + result +
|
||||
", code=" + code +
|
||||
", msg='" + msg + '\'' +
|
||||
'}';
|
||||
}
|
||||
}
|
||||
@@ -8,6 +8,8 @@ import com.alibaba.android.arouter.facade.annotation.Route;
|
||||
import com.mogo.commons.AbsMogoApplication;
|
||||
import com.mogo.commons.context.ContextHolderUtil;
|
||||
import com.mogo.commons.debug.DebugConfig;
|
||||
import com.mogo.commons.network.SubscribeImpl;
|
||||
import com.mogo.commons.network.Utils;
|
||||
import com.mogo.map.uicontroller.EnumMapUI;
|
||||
import com.mogo.module.common.MogoApisHandler;
|
||||
import com.mogo.module.common.MogoModule;
|
||||
@@ -22,6 +24,8 @@ import com.mogo.service.statusmanager.IMogoStatusManager;
|
||||
import com.mogo.utils.TipToast;
|
||||
import com.mogo.utils.UiThreadHandler;
|
||||
import com.mogo.utils.logger.Logger;
|
||||
import com.mogo.utils.network.RequestOptions;
|
||||
import com.mogo.utils.network.utils.GsonUtil;
|
||||
import com.mogo.utils.storage.SharedPrefsMgr;
|
||||
import com.zhidao.adasconfig.api.AdasConfigApiController;
|
||||
import com.zhidao.adasconfig.common.config.EnumCarChatIncognitoMode;
|
||||
@@ -34,7 +38,11 @@ import com.zhidao.autopilot.support.api.IAutopolitDataCallBack;
|
||||
import org.json.JSONObject;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.HashMap;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
import io.reactivex.schedulers.Schedulers;
|
||||
|
||||
import static com.mogo.module.common.utils.SPConst.getSpGuide;
|
||||
|
||||
@@ -132,10 +140,17 @@ public class MogoADASController implements IMogoADASController {
|
||||
|
||||
@Override
|
||||
public void requestGetCarModelListInfo() {
|
||||
Logger.d( TAG, "requestGetCarModelListInfo" );
|
||||
// 向adas发送车模list
|
||||
AutopilotServiceManage.getInstance().settingCarModelListInfo( SharedPrefsMgr.getInstance( context ).getString(
|
||||
"CAR_MODEL_LIST", "default-value" ) );
|
||||
if (DebugConfig.isMapBased()) {
|
||||
Logger.d(TAG, "requestGetCarModelListInfo");
|
||||
// 向adas发送车模list
|
||||
String carModelList = SharedPrefsMgr.getInstance(context).getString(
|
||||
"CAR_MODEL_LIST", "");
|
||||
if (carModelList != null && !carModelList.isEmpty()) {
|
||||
AutopilotServiceManage.getInstance().settingCarModelListInfo(carModelList);
|
||||
}
|
||||
// 此处进行网络请求,请求成功后再通知一次adas
|
||||
requestCarModelList();
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -144,6 +159,8 @@ public class MogoADASController implements IMogoADASController {
|
||||
MyLocationUtil.emphasizeMyLocation();
|
||||
}
|
||||
needEmphasizeMyLocation = false;
|
||||
|
||||
useTestSn = !useTestSn;
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -155,6 +172,8 @@ public class MogoADASController implements IMogoADASController {
|
||||
}
|
||||
}
|
||||
|
||||
private boolean useTestSn = false;
|
||||
|
||||
private void invokeShowADASOperation() {
|
||||
int delay = CarSeries.isF8xxSeries() ? 0 : 100;
|
||||
|
||||
@@ -303,6 +322,47 @@ public class MogoADASController implements IMogoADASController {
|
||||
adasDataCallbackList.remove(callback);
|
||||
}
|
||||
|
||||
private static final String TEST_SN = "ZD802B1932L00617";
|
||||
private String currentSn = TEST_SN;
|
||||
|
||||
private void requestCarModelList() {
|
||||
Map<String, String> params = new HashMap<>(8);
|
||||
params.put("sn", Utils.getSn());
|
||||
// currentSn = useTestSn ? TEST_SN : Utils.getSn();
|
||||
// params.put("sn", currentSn);
|
||||
MogoApisHandler.getInstance().getApis().getNetworkApi().create(CarModelInfoNetApiServices.class, CarModelInfoNetApiServices.getBaseUrl()).
|
||||
requestCarModelList(params).
|
||||
subscribeOn(Schedulers.io()).
|
||||
observeOn(Schedulers.io()).
|
||||
subscribe(new SubscribeImpl<CarModelListResponse>(RequestOptions.create(context)) {
|
||||
@Override
|
||||
public void onSuccess(CarModelListResponse o) {
|
||||
super.onSuccess(o);
|
||||
Logger.d(TAG, "请求车模列表成功: " + o);
|
||||
// 保存到sp中
|
||||
String value = GsonUtil.jsonFromObject(o.getResult());
|
||||
SharedPrefsMgr.getInstance(context).putString("CAR_MODEL_LIST",
|
||||
value);
|
||||
if(value != null && !value.isEmpty()){
|
||||
AutopilotServiceManage.getInstance().settingCarModelListInfo(value);
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onError(Throwable e) {
|
||||
super.onError(e);
|
||||
Logger.e(TAG, e, "请求自车模型失败");
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onError(String message, int code) {
|
||||
super.onError(message, code);
|
||||
Logger.e(TAG, "请求自车模型失败: " + message);
|
||||
}
|
||||
});
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
public void release() {
|
||||
AutopilotServiceManage.getInstance().release();
|
||||
|
||||
|
After Width: | Height: | Size: 7.5 KiB |
|
After Width: | Height: | Size: 7.9 KiB |
|
After Width: | Height: | Size: 8.0 KiB |
|
After Width: | Height: | Size: 8.1 KiB |
@@ -2,6 +2,7 @@
|
||||
<shape xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:shape="rectangle">
|
||||
<corners android:radius="@dimen/dp_30"/>
|
||||
|
||||
<gradient
|
||||
android:startColor="#579EFF"
|
||||
android:endColor="#357BDA"
|
||||
|
||||