Merge branch 'qa'

This commit is contained in:
wangcongtao
2020-07-27 17:23:18 +08:00
26 changed files with 366 additions and 137 deletions

2
.idea/misc.xml generated
View File

@@ -4,7 +4,7 @@
<asm skipDebug="false" skipFrames="false" skipCode="false" expandFrames="false" />
<groovy codeStyle="LEGACY" />
</component>
<component name="ProjectRootManager" version="2" languageLevel="JDK_1_8" project-jdk-name="JDK" project-jdk-type="JavaSDK">
<component name="ProjectRootManager" version="2" languageLevel="JDK_1_8" project-jdk-name="1.8" project-jdk-type="JavaSDK">
<output url="file://$PROJECT_DIR$/build/classes" />
</component>
</project>

View File

@@ -25,7 +25,7 @@ android {
externalNativeBuild {
ndk {
// 设置支持的SO库架构
abiFilters 'armeabi-v7a'
abiFilters "armeabi-v7a"
}
}
}
@@ -192,8 +192,6 @@ dependencies {
implementation rootProject.ext.dependencies.guideshowprovider
implementation rootProject.ext.dependencies.guideshow
implementation rootProject.ext.dependencies.moduleadcard
implementation rootProject.ext.dependencies.moduleV2x
implementation rootProject.ext.dependencies.moduletanlu, {
exclude group: 'com.mogo.module', module: 'module-share'
@@ -290,4 +288,28 @@ def getGitCommit() {
gitCommit
}
afterEvaluate {
it.getTasks().iterator().forEachRemaining {
def nameLowCase = it.name
if (nameLowCase.startsWith("assemble")
&& nameLowCase.contains("Independent")
&& (nameLowCase.endsWith("Debug") || nameLowCase.endsWith("Release"))) {
it.group = "assembleIndependent"
} else if (nameLowCase.startsWith("assemble")
&& nameLowCase.contains("Launcher")
&& (nameLowCase.endsWith("Debug") || nameLowCase.endsWith("Release"))) {
it.group = "assembleLauncher"
} else if (nameLowCase.startsWith("install")
&& nameLowCase.contains("Independent")
&& (nameLowCase.endsWith("Debug") || nameLowCase.endsWith("Release"))) {
it.group = "installIndependent"
} else if (nameLowCase.startsWith("install")
&& nameLowCase.contains("Launcher")
&& (nameLowCase.endsWith("Debug") || nameLowCase.endsWith("Release"))) {
it.group = "installLauncher"
}
}
}
//apply plugin: 'arouterhook'

View File

@@ -9,7 +9,6 @@ import com.auto.zhidao.logsdk.CrashSystem;
import com.bytedance.boost_multidex.BoostMultiDex;
import com.mogo.commons.AbsMogoApplication;
import com.mogo.commons.debug.DebugConfig;
import com.mogo.module.adcard.AdCardConstants;
import com.mogo.module.authorize.authprovider.invoke.AuthorizeConstant;
import com.mogo.module.carchatting.card.CallChatConstant;
import com.mogo.module.common.MogoModule;
@@ -48,11 +47,9 @@ public class MogoApplication extends AbsMogoApplication {
crashSystem.setDebug(BuildConfig.DEBUG);
Logger.init(BuildConfig.DEBUG ? LogLevel.DEBUG : LogLevel.OFF);
// MogoModulePaths.addModule(new MogoModule(PATH_GUIDE_FRAGMENT, PATH_GUIDE_MODULE_NAME));
MogoModulePaths.addModule(new MogoModule(AuthorizeConstant.PATH_AGREEMENT_FRAGMENT, AuthorizeConstant.PATH_AGREEMENT_MODULE_NAME));
//运营位卡片,需要默认显示,放在第一个加载
// MogoModulePaths.addModule(new MogoModule(AdCardConstants.TAG, AdCardConstants.MODULE_NAME));
if (DebugConfig.isLauncher()) {
MogoModulePaths.addModule(new MogoModule(MediaConstants.TAG, MediaConstants.MODULE_TYPE));
}
@@ -63,7 +60,6 @@ public class MogoApplication extends AbsMogoApplication {
MogoModulePaths.addBaseModule(new MogoModule(ServiceConst.PATH_REFRESH_STRATEGY, ServiceConst.PATH_REFRESH_STRATEGY));
MogoModulePaths.addBaseModule(new MogoModule(V2XConst.PATH_V2X_UI, V2XConst.PATH_V2X_UI));
// 暂时去掉推送
MogoModulePaths.addModule(new MogoModule( PushUIConstants.PATH, PushUIConstants.NAME));
if (!DebugConfig.isLauncher()) {

View File

@@ -123,7 +123,7 @@ ext {
mogomoduleauth : "com.mogo.module:module-authorize:${MOGO_MODULE_AUTHORIZE_VERSION}",
mogomoduleguide : "com.mogo.module:module-guide:${MOGO_MODULE_GUIDE_VERSION}",
// 长链
socketsdk : 'com.zhidao.socketsdk:socketsdk:2.1.1',
socketsdk : 'com.zhidao.socketsdk:socketsdk:2.1.4',
socketsdkconnsvrprotoco : 'com.zhidao.ptech:connsvr-protoco:0.1.23',
socketsdkprotobufjava : 'com.google.protobuf:protobuf-java:3.5.1',

View File

@@ -86,6 +86,10 @@ public class SocketManager implements IMogoSocketManager, OnSocketReceiveCallbac
}
@Override
public void onMessageReceived( byte[] content ) {
onMessageReceived( content, 0);
}
public void onMessageReceived( byte[] content, long msgId ) {
try {
MogoConnsvr.Payload payload = MogoConnsvr.Payload.parseFrom( content );

View File

@@ -59,9 +59,9 @@ MOGO_MODULE_MAIN_INDEPENDENT_VERSION = 1.2.1.9
## 工程外部模块
# 探路
MOGO_MODULE_TANLU_VERSION=1.2.1.13
MOGO_MODULE_TANLU_VERSION=1.2.1.15
# 车聊聊
CARCHATTING_VERSION=1.2.0
CARCHATTING_VERSION=1.4.6
# 车聊聊接口
CARCHATTINGPROVIDER_VERSION=1.2.0
# 视频引导
@@ -71,15 +71,15 @@ MOGO_MODULE_GUIDESHOW_PROVIDER_VERSION=1.0.2-SNAPSHOT
# 在线车辆F
MOGO_MODULE_ONLINECAR_VERSION=1.0.3.2
# v2x
MOGO_MODULE_V2X_VERSION=1.1.53
MOGO_MODULE_V2X_VERSION=1.1.533
# 推送
MOGO_MODULE_PUSH_VERSION=1.1.5.5
MOGO_MODULE_PUSH_VERSION=1.1.5.7
MOGO_MODULE_PUSH_BASE_VERSION=1.1.5.5
MOGO_MODULE_PUSH_NOOP_VERSION=1.1.5.5
MOGO_MODULE_PUSH_NOOP_VERSION=1.1.5.6
# 广告资源位
MOGO_MODULE_AD_CARD_VERSION=1.0.1
# 探路上报和分享模块
TANLULIB_VERSION=1.2.1.13
TANLULIB_VERSION=1.2.1.15
# Boost分包
BOOST_MULTIDEX_VERSION=1.0.0

View File

@@ -127,8 +127,8 @@ public class AMapNaviViewWrapper implements IMogoMapView,
options.setTrafficLayerEnabled( false );
// 设置导航界面是否显示路线全览按钮。
options.setRouteListButtonShow( false );
// 设置导航状态下屏幕是否一直开启
options.setScreenAlwaysBright( true );
// 设置屏幕是否常亮,默认开启
options.setScreenAlwaysBright( false );
// 设置交通播报是否打开(只适用于驾车导航,需要联网)。
options.setTrafficInfoUpdateEnabled( true );
// 设置摄像头播报是否打开(只适用于驾车导航)。

View File

@@ -4,15 +4,11 @@ import android.content.Context;
import android.content.pm.ApplicationInfo;
import android.content.pm.PackageInfo;
import com.mogo.module.apps.model.AppEnum;
import com.mogo.module.apps.model.AppEnumHelper;
import com.mogo.module.common.utils.CarSeries;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
/**
* @author congtaowang

View File

@@ -10,12 +10,14 @@ import androidx.annotation.Nullable;
import androidx.recyclerview.widget.LinearLayoutManager;
import androidx.recyclerview.widget.RecyclerView;
import com.mogo.commons.AbsMogoApplication;
import com.mogo.commons.mvp.MvpFragment;
import com.mogo.module.apps.adapter.AppIndicatorAdapter;
import com.mogo.module.apps.anim.AnimWrapper;
import com.mogo.module.apps.applaunch.AppLauncher;
import com.mogo.module.apps.applaunch.BaseAppLauncher;
import com.mogo.module.apps.applaunch.InternalFunctionLauncher;
import com.mogo.module.apps.model.AppEnum;
import com.mogo.module.apps.model.AppInfo;
import com.mogo.module.apps.model.NavigatorApps;
import com.mogo.module.apps.view.OnAiAssistClickListener;
@@ -128,7 +130,15 @@ public class AppNavigatorFragment extends MvpFragment< AppNavigatorView, AppNavi
properties.put( "appname", appLabel );
}
if ( !TextUtils.equals( "全部应用", app.getName() ) ) {
properties.put( "appversion", CommonUtils.getVersionName( getContext(), app.getPackageName() ) );
if ( TextUtils.equals( "com.zhidao.music", app.getPackageName() ) ) {
if ( AppUtils.isAppInstalled( AbsMogoApplication.getApp(), AppEnum.KwMusic.getPkg() ) ) {
properties.put( "appversion", CommonUtils.getVersionName( getContext(), AppEnum.KwMusic.getPkg() ) );
} else if ( AppUtils.isAppInstalled( AbsMogoApplication.getApp(), AppEnum.QQMusic.getPkg() ) ) {
properties.put( "appversion", CommonUtils.getVersionName( getContext(), AppEnum.QQMusic.getPkg() ) );
}
} else {
properties.put( "appversion", CommonUtils.getVersionName( getContext(), app.getPackageName() ) );
}
} else {
properties.put( "appversion", CommonUtils.getVersionName( getContext() ) );
}

View File

@@ -1,6 +1,7 @@
package com.mogo.module.apps;
import android.app.Activity;
import android.content.Context;
import android.content.Intent;
import android.graphics.Color;
import android.os.Build;
@@ -30,7 +31,7 @@ public class AppsListActivity extends MvpActivity< AppsListView, AppsListPresent
private BottomSheetBehavior mBottomSheetBehavior;
private IMogoFragmentManager mMogoFragmentManager;
public static void start( Activity context ) {
public static void start( Context context ) {
Intent starter = new Intent( context, AppsListActivity.class );
context.startActivity( starter );
}
@@ -46,6 +47,24 @@ public class AppsListActivity extends MvpActivity< AppsListView, AppsListPresent
AppServiceHandler.getApis().getStatusManagerApi().setAppListUIShow( TAG, true );
}
@Override
protected void onStart() {
super.onStart();
try {
AppServiceHandler.getApis().getAdasControllerApi().closeADAS();
} catch ( Exception e ) {
}
}
@Override
protected void onRestart() {
super.onRestart();
try {
AppServiceHandler.getApis().getAdasControllerApi().closeADAS();
} catch ( Exception e ) {
}
}
@Override
protected int getLayoutId() {
return R.layout.module_apps_activity_list;

View File

@@ -1,17 +1,15 @@
package com.mogo.module.apps;
import android.text.TextUtils;
import androidx.annotation.NonNull;
import androidx.lifecycle.LifecycleOwner;
import com.alibaba.android.arouter.launcher.ARouter;
import com.mogo.commons.debug.DebugConfig;
import com.mogo.commons.mvp.Presenter;
import com.mogo.module.apps.applaunch.AppLaunchFilter;
import com.mogo.module.apps.applaunch.AppLauncher;
import com.mogo.module.apps.applaunch.CardAppLauncher;
import com.mogo.module.apps.applaunch.GuideShowLauncher;
import com.mogo.module.apps.applaunch.InternalFunctionLauncher;
import com.mogo.module.apps.model.AppInfo;
import com.mogo.module.apps.model.AppsModel;
import com.mogo.module.apps.model.UnScannedApps;
@@ -24,7 +22,6 @@ import com.mogo.utils.ThreadPoolService;
import com.mogo.utils.UiThreadHandler;
import com.mogo.utils.logger.Logger;
import java.sql.ClientInfoStatus;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
@@ -54,11 +51,13 @@ public class AppsPresenter extends Presenter< AppsView > {
super( view );
mApis = ( IMogoServiceApis ) ARouter.getInstance().build( MogoServicePaths.PATH_SERVICE_APIS ).navigation( getContext() );
mCardManager = mApis.getCardManagerApi();
InternalFunctionLauncher internalFunctionLauncher = new InternalFunctionLauncher( getContext() );
CardAppLauncher cardAppLauncher = new CardAppLauncher( this, mCardManager );
GuideShowLauncher guideShowLauncher = new GuideShowLauncher( mApis.getMapServiceApi().getNavi( getContext() ) );
internalFunctionLauncher.setNext( cardAppLauncher );
cardAppLauncher.setNext( guideShowLauncher );
guideShowLauncher.setNext( new AppLauncher() );
mLauncher = cardAppLauncher;
mLauncher = internalFunctionLauncher;
}
@Override
@@ -130,7 +129,7 @@ public class AppsPresenter extends Presenter< AppsView > {
if ( appInfo == null ) {
continue;
}
if ( TextUtils.equals( appInfo.getPackageName(), app.getPackageName() ) ) {
if ( appInfo.equals( app ) ) {
addFlag = false;
break;
}
@@ -145,14 +144,6 @@ public class AppsPresenter extends Presenter< AppsView > {
}
}
}
// growthCapacity( result )
// // 添加介绍入口
// result.get( result.size() - 1 ).add( new AppInfo( GuideShowLauncher.APP_INFO_NAME_GUIDE_SHOW, getContext().getPackageName(), null, 0, null, R.drawable.module_apps_ic_guide_show ) );
if ( DebugConfig.isDebug() ) {
// 添加测试入口
growthCapacity( result );
result.get( result.size() - 1 ).add( new AppInfo( "包管理程序", "com.mogo.packages.manager", null, 0, null, -1 ) );
}
return result;
}

View File

@@ -14,5 +14,7 @@ public interface AppLaunchFilter {
void launch( Context context, AppInfo appInfo );
void launch( Context context, String pkg );
void destroy();
}

View File

@@ -21,15 +21,7 @@ public class AppLauncher extends BaseAppLauncher {
@Override
public void launch( Context context, AppInfo appInfo ) {
try {
if ( LaunchUtils.getLaunchIntentForPackage( context, appInfo.getPackageName() ) != null ) {
AppServiceHandler.getApis().getAdasControllerApi().closeADAS();
}
LaunchUtils.launchByPkg( context, appInfo.getPackageName() );
} catch ( Exception e ) {
Logger.e( TAG, e, "error." );
TipToast.shortTip( R.string.module_apps_str_no_app );
}
launch( context, appInfo.getPackageName() );
}
@Override

View File

@@ -1,5 +1,13 @@
package com.mogo.module.apps.applaunch;
import android.content.Context;
import com.mogo.module.apps.AppServiceHandler;
import com.mogo.module.apps.R;
import com.mogo.utils.LaunchUtils;
import com.mogo.utils.TipToast;
import com.mogo.utils.logger.Logger;
/**
* @author congtaowang
* @since 2020-02-09
@@ -8,6 +16,8 @@ package com.mogo.module.apps.applaunch;
*/
public abstract class BaseAppLauncher implements AppLaunchFilter {
private static final String TAG = "BaseAppLauncher";
private AppLaunchFilter mNext;
public AppLaunchFilter getNext() {
@@ -17,4 +27,17 @@ public abstract class BaseAppLauncher implements AppLaunchFilter {
public void setNext( AppLaunchFilter next ) {
this.mNext = next;
}
@Override
public void launch( Context context, String pkg ) {
try {
if ( LaunchUtils.getLaunchIntentForPackage( context, pkg ) != null ) {
AppServiceHandler.getApis().getAdasControllerApi().closeADAS();
}
LaunchUtils.launchByPkg( context, pkg );
} catch ( Exception e ) {
Logger.e( TAG, e, "error." );
TipToast.shortTip( R.string.module_apps_str_no_app );
}
}
}

View File

@@ -1,27 +1,34 @@
package com.mogo.module.apps.applaunch;
import android.app.Activity;
import android.content.ComponentName;
import android.content.Context;
import android.content.Intent;
import android.text.TextUtils;
import com.mogo.commons.AbsMogoApplication;
import com.mogo.module.apps.AppServiceHandler;
import com.mogo.module.apps.AppsListActivity;
import com.mogo.module.apps.R;
import com.mogo.module.apps.model.AppEnum;
import com.mogo.module.apps.model.AppInfo;
import com.mogo.module.common.map.CustomNaviInterrupter;
import com.mogo.utils.AppUtils;
import com.mogo.utils.LaunchUtils;
import com.mogo.utils.TipToast;
import com.mogo.utils.logger.Logger;
/**
* @author congtaowang
* @since 2020-05-14
* <p>
* 描述
* 处理一些特殊的跳转
*/
public class InternalFunctionLauncher extends BaseAppLauncher {
private Activity mActivity;
private Context mContext;
public InternalFunctionLauncher( Activity activity ) {
this.mActivity = activity;
public InternalFunctionLauncher( Context activity ) {
this.mContext = activity;
}
@Override
@@ -30,7 +37,7 @@ public class InternalFunctionLauncher extends BaseAppLauncher {
case "com.autonavi.amapauto":
if ( CustomNaviInterrupter.getInstance().interrupt() ) {
try {
LaunchUtils.launchByPkg( context, "com.autonavi.amapauto" );
launch( context, AppEnum.AUTO_NAVI.getPkg() );
} catch ( Exception e ) {
e.printStackTrace();
}
@@ -39,7 +46,31 @@ public class InternalFunctionLauncher extends BaseAppLauncher {
}
break;
case "com.mogo.launcher.applist":
AppsListActivity.start( mActivity );
AppsListActivity.start( mContext );
break;
case "com.zhidao.bluetooth":
if ( TextUtils.equals( "蓝牙音乐", appInfo.getName() ) ) {
startActivity( context, appInfo, "com.zhidao.bluetooth.ui.MusicActivity" );
} else if ( TextUtils.equals( "蓝牙电话", appInfo.getName() ) ) {
startActivity( context, appInfo, "com.zhidao.bluetooth.ui.MainActivity" );
}
break;
case "com.zhidao.music":
if ( AppUtils.isAppInstalled( AbsMogoApplication.getApp(), AppEnum.KwMusic.getPkg() ) ) {
try {
launch( context, AppEnum.KwMusic.getPkg() );
} catch ( Exception e ) {
e.printStackTrace();
}
} else if ( AppUtils.isAppInstalled( AbsMogoApplication.getApp(), AppEnum.QQMusic.getPkg() ) ) {
try {
launch( context, AppEnum.QQMusic.getPkg() );
} catch ( Exception e ) {
e.printStackTrace();
}
} else {
TipToast.shortTip( R.string.module_apps_str_no_app );
}
break;
default:
if ( getNext() != null ) {
@@ -48,6 +79,26 @@ public class InternalFunctionLauncher extends BaseAppLauncher {
}
}
private void startActivity( Context context, AppInfo target, String page ) {
if ( context == null || target == null ) {
return;
}
if ( TextUtils.isEmpty( page ) ) {
if ( getNext() != null ) {
getNext().launch( context, target );
return;
}
}
try {
Intent intent = new Intent();
intent.setComponent( new ComponentName( target.getPackageName(), page ) );
intent.addFlags( Intent.FLAG_ACTIVITY_NEW_TASK );
context.startActivity( intent );
} catch ( Exception e ) {
TipToast.shortTip( "APP未安装" );
}
}
@Override
public void destroy() {
if ( getNext() != null ) {

View File

@@ -86,7 +86,8 @@ public enum AppEnum {
CanBus( "车辆信息", "com.nwd.can.setting", R.drawable.module_apps_ic_canbus ),
// 蓝牙电话
BT_PHONE( "蓝牙电话", "com.nwd.android.phone", R.drawable.module_apps_ic_bt_phone ),
BT_PHONE_NWD( "蓝牙电话", "com.nwd.android.phone", R.drawable.module_apps_ic_bt_phone ),
BT_PHONE( "蓝牙电话", "com.zhidao.bluetooth", R.drawable.module_apps_ic_bt_phone ),
// 本地音乐
LOCAL_MUSIC( "本地音乐", "com.nwd.android.music.ui", R.drawable.module_apps_ic_local_music ),
@@ -95,7 +96,8 @@ public enum AppEnum {
WEATHER( "天气", "com.zhidao.weather", R.drawable.module_apps_ic_weather ),
// 蓝牙音乐
BT_MUSIC( "蓝牙音乐", "com.nwd.bt.music", R.drawable.module_apps_ic_bt_music ),
BT_MUSIC_NWD( "蓝牙音乐", "com.nwd.bt.music", R.drawable.module_apps_ic_bt_music ),
BT_MUSIC( "蓝牙音乐", "com.zhidao.bluetooth", R.drawable.module_apps_ic_bt_music ),
// 高德地图
AUTO_NAVI( "高德地图", "com.autonavi.amapauto", R.drawable.module_apps_ic_auto_navi ),

View File

@@ -68,7 +68,8 @@ public class AppInfo {
if ( this == o ) return true;
if ( o == null || getClass() != o.getClass() ) return false;
AppInfo appInfo = ( AppInfo ) o;
return TextUtils.equals( mPackageName, appInfo.mPackageName );
return TextUtils.equals( mPackageName, appInfo.mPackageName )
&& TextUtils.equals( mName, appInfo.mName );
}
@Override

View File

@@ -16,7 +16,7 @@ public class NavigatorApps {
private static AppInfo app = new AppInfo( "高德地图", "com.autonavi.amapauto", "", 0, null, R.drawable.module_apps_ic_navigator_navi, 1 );
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( "酷我音乐", "cn.kuwo.kwmusiccar", "", 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, 2 );
private static AppInfo app3 = new AppInfo( "车聊聊", "com.zhidao.imdemo", "", 0, null, R.drawable.module_apps_ic_navigator_im, 6 );
private static AppInfo app4 = new AppInfo( "全部应用", "com.mogo.launcher.applist", "", 0, null, R.drawable.module_apps_ic_navigator_applist, 4 );

View File

@@ -1,5 +1,7 @@
package com.mogo.module.apps.model;
import com.mogo.module.common.utils.CarSeries;
import java.util.ArrayList;
import java.util.List;
@@ -14,11 +16,17 @@ public class UnScannedApps {
private static List< AppInfo > sUnScannedApps = new ArrayList<>();
static {
sUnScannedApps.add( new AppInfo( AppEnum.BT_PHONE.getName(), AppEnum.BT_PHONE.getPkg(), null, 0, null, AppEnum.BT_PHONE.getIconResId() ) );
sUnScannedApps.add( new AppInfo( AppEnum.CanBus.getName(), AppEnum.CanBus.getPkg(), null, 0, null, AppEnum.CanBus.getIconResId() ) );
if ( CarSeries.getSeries() == CarSeries.CAR_SERIES_F80X ) {
sUnScannedApps.add( new AppInfo( AppEnum.BT_PHONE.getName(), AppEnum.BT_PHONE.getPkg(), null, 0, null, AppEnum.BT_PHONE.getIconResId() ) );
sUnScannedApps.add( new AppInfo( AppEnum.BT_MUSIC.getName(), AppEnum.BT_MUSIC.getPkg(), null, 0, null, AppEnum.BT_PHONE.getIconResId() ) );
} else {
sUnScannedApps.add( new AppInfo( AppEnum.BT_PHONE_NWD.getName(), AppEnum.BT_PHONE_NWD.getPkg(), null, 0, null, AppEnum.BT_PHONE_NWD.getIconResId() ) );
sUnScannedApps.add( new AppInfo( AppEnum.CanBus.getName(), AppEnum.CanBus.getPkg(), null, 0, null, AppEnum.CanBus.getIconResId() ) );
}
}
public static List< AppInfo > getUnScannedApps() {
return sUnScannedApps;
}
}

View File

@@ -18,6 +18,13 @@
<item>com.iflytek.inputmethod.pad</item>
<item>com.nwd.tools.reboot</item>
<item>com.android.car.setting</item>
<item>com.zhidao.bootmanager</item>
<item>com.zhidao.services</item>
<item>com.android.settings</item>
<item>com.android.documentsui</item>
<item>com.android.messaging</item>
<item>com.android.contacts</item>
<item>com.android.dialer</item>
</string-array>
<string-array name="module_apps_array_filter_packages">
<item>com.mogo.launcher</item>

View File

@@ -25,6 +25,7 @@ import com.mogo.module.common.MogoModule;
import com.mogo.module.common.MogoModulePaths;
import com.mogo.module.common.map.MapCenterPointStrategy;
import com.mogo.module.common.map.Scene;
import com.mogo.module.common.utils.CarSeries;
import com.mogo.module.main.cards.MogoModulesHandler;
import com.mogo.module.main.cards.MogoModulesManager;
import com.mogo.module.main.service.MogoMainService;
@@ -235,12 +236,21 @@ public class MainActivity extends MvpActivity< MainView, MainPresenter > impleme
super.onPause();
mMogoStatusManager.setMainPageResumeStatus( TAG, false );
mMogoStatusManager.setMainPageLaunchedStatus( TAG, false );
if ( !mIsHomeKeyDown ) {
if ( shouldCloseADASPanel() ) {
mServiceApis.getAdasControllerApi().closeADAS();
}
mIsHomeKeyDown = false;
}
private boolean shouldCloseADASPanel(){
// m4 系列因为按home键会造成页面pause后resume造成adas panel 闪烁
// f 系列加上上滑返回桌面后会走 mIsHomeKeyDown = true但是不会造成页面pause
// 独立 app 任何情况下都需要隐藏 adas
return !mIsHomeKeyDown
|| CarSeries.getSeries() == CarSeries.CAR_SERIES_F80X
|| !DebugConfig.isLauncher();
}
@Override
protected void onStop() {
super.onStop();

View File

@@ -14,7 +14,6 @@ import com.mogo.service.IMogoServiceApis;
import com.mogo.service.MogoServicePaths;
import com.mogo.service.statusmanager.IMogoStatusChangedListener;
import com.mogo.service.statusmanager.StatusDescriptor;
import com.mogo.utils.logger.Logger;
import cn.kuwo.autosdk.api.KWAPI;
import cn.kuwo.autosdk.api.OnGetSongImgUrlListener;
@@ -43,14 +42,14 @@ public class KwPresenter extends BaseMediaPresenter<IMusicView> {
kwapi = KWAPI.createKWAPI(context, "auto");
kwapi.registerConnectedListener(b -> {
Logger.d(TAG, "onConnected: " + b);
Log.d(TAG, "onConnected: " + b);
Log.d(TAG, "onConnected: " + b);
isBind = b;
if (!isBind) {
mView.onMusicStopped();
}else{
PlayerStatus currentState = kwapi.getPlayerStatus();
Logger.d(TAG, "check current status: " + currentState);
Log.d(TAG, "check current status: " + currentState);
Log.d(TAG, "check current status: " + currentState);
if(currentState == PlayerStatus.BUFFERING||currentState == PlayerStatus.PLAYING){
currentMedia.setPlayState(MusicConstant.PLAY_STATE_PLAYING);
@@ -62,13 +61,16 @@ public class KwPresenter extends BaseMediaPresenter<IMusicView> {
});
kwapi.registerExitListener(() -> {
Logger.d(TAG, "onExit===");
Log.d(TAG, "onExit===");
Log.d(TAG, "onExit===");
mView.onAppExit();
});
kwapi.registerPlayerStatusListener((playerStatus, music) -> {
Logger.d(TAG, "onPlayerStatusListener: " + playerStatus + " music: " + music.name);
if ( music == null ) {
return;
}
Log.d(TAG, "onPlayerStatusListener: " + playerStatus + " music: " + music.name);
switch (playerStatus) {
case BUFFERING:
if (currentMedia.getMediaName() == null || !currentMedia.getMediaName().equals(music.name)) {
@@ -113,7 +115,7 @@ public class KwPresenter extends BaseMediaPresenter<IMusicView> {
@Override
public void onStatusChanged(StatusDescriptor descriptor, boolean isTrue) {
if (isTrue) {
Logger.d(TAG, "onResume, isBind: " + isBind);
Log.d(TAG, "onResume, isBind: " + isBind);
Log.d(TAG, "onResume, isBind: " + isBind);
// 需要在resume时候判断绑定关系是否正常
if (!isBind) {
@@ -125,14 +127,14 @@ public class KwPresenter extends BaseMediaPresenter<IMusicView> {
// 当前处于绑定状态,且有音乐信息,需判断是否正在播放,进行界面刷新
Log.d(TAG, "step1==" + currentMusic.name);
if (kwapi.getPlayerStatus() == PlayerStatus.BUFFERING || kwapi.getPlayerStatus() == PlayerStatus.PLAYING) {
Logger.d(TAG, "当前可能正在播放音乐,需要更新=1=" + currentMusic.name);
Log.d(TAG, "当前可能正在播放音乐,需要更新=1=" + currentMusic.name);
currentMedia.setMediaName(currentMusic.name);
currentMedia.setPlayState(MusicConstant.PLAY_STATE_PLAYING);
mView.onMediaInfoChanged(currentMedia);
mView.onMusicPlaying();
kwapi.getSongPicUrl(currentMusic, onGetSongImgUrlListener);
} else if (kwapi.getPlayerStatus() == PlayerStatus.INIT) {
Logger.d(TAG, "当前可能正在播放音乐,需要更新=3=" + currentMusic.name);
Log.d(TAG, "当前可能正在播放音乐,需要更新=3=" + currentMusic.name);
currentMedia.setMediaName(currentMusic.name);
currentMedia.setPlayState(MusicConstant.PLAY_STATE_PAUSE_OR_STOP);
mView.onMediaInfoChanged(currentMedia);
@@ -142,14 +144,14 @@ public class KwPresenter extends BaseMediaPresenter<IMusicView> {
Log.d(TAG, "step2==media: " + currentMedia.getMediaName() + " " +
"musicName: " + currentMusic.name + " status: " + kwapi.getPlayerStatus());
if (kwapi.getPlayerStatus() == PlayerStatus.BUFFERING || kwapi.getPlayerStatus() == PlayerStatus.PLAYING) {
Logger.d(TAG, "当前可能正在播放音乐,需要更新=2=" + currentMusic.name);
Log.d(TAG, "当前可能正在播放音乐,需要更新=2=" + currentMusic.name);
currentMedia.setMediaName(currentMusic.name);
currentMedia.setPlayState(MusicConstant.PLAY_STATE_PLAYING);
mView.onMediaInfoChanged(currentMedia);
mView.onMusicPlaying();
kwapi.getSongPicUrl(currentMusic, onGetSongImgUrlListener);
}else if (kwapi.getPlayerStatus() == PlayerStatus.INIT) {
Logger.d(TAG, "当前可能正在播放音乐,需要更新=4=" + currentMusic.name);
Log.d(TAG, "当前可能正在播放音乐,需要更新=4=" + currentMusic.name);
currentMedia.setMediaName(currentMusic.name);
currentMedia.setPlayState(MusicConstant.PLAY_STATE_PAUSE_OR_STOP);
mView.onMediaInfoChanged(currentMedia);
@@ -237,16 +239,18 @@ public class KwPresenter extends BaseMediaPresenter<IMusicView> {
private OnGetSongImgUrlListener onGetSongImgUrlListener = new OnGetSongImgUrlListener() {
@Override
public void onGetSongImgUrlSucessed(Music music, String s) {
currentMedia.setMediaName(music.name);
currentMedia.setMediaImg(s);
Logger.d(TAG,
"onGetSongImgUrlSucessed: " + currentMedia);
handler.post(() -> mView.onMediaInfoChanged(currentMedia));
if(currentMedia.getPlayState() == MusicConstant.PLAY_STATE_PLAYING) {
currentMedia.setMediaName(music.name);
currentMedia.setMediaImg(s);
Log.d(TAG,
"onGetSongImgUrlSucessed: " + currentMedia);
handler.post(() -> mView.onMediaInfoChanged(currentMedia));
}
}
@Override
public void onGetSongImgUrlFailed(Music music, int i) {
Logger.e(TAG, "onGetSongImgUrlFailed: " + i);
Log.e(TAG, "onGetSongImgUrlFailed: " + i);
}
};

View File

@@ -1,6 +1,7 @@
package com.mogo.module.media.window;
import android.content.Context;
import android.util.Log;
import android.view.LayoutInflater;
import android.view.View;
import android.widget.FrameLayout;
@@ -10,6 +11,7 @@ import android.widget.TextView;
import com.mogo.commons.debug.DebugConfig;
import com.mogo.commons.voice.AIAssist;
import com.mogo.commons.voice.IMogoVoiceCmdCallBack;
import com.mogo.module.media.MediaConstants;
import com.mogo.module.media.R;
import com.mogo.module.media.ServiceMediaHandler;
import com.mogo.module.media.constants.MusicConstant;
@@ -21,6 +23,8 @@ import com.mogo.module.media.view.IMusicView;
import com.mogo.module.media.widget.AnimCircleImageView;
import com.mogo.module.media.widget.NoScrollSeekBar;
import com.mogo.module.media.widget.ScrollingTextView;
import com.mogo.service.statusmanager.IMogoStatusChangedListener;
import com.mogo.service.statusmanager.StatusDescriptor;
import com.mogo.utils.WindowUtils;
import com.mogo.utils.glide.GlideApp;
import com.mogo.utils.logger.Logger;
@@ -69,11 +73,20 @@ public class MediaWindow2 implements IMusicView {
});
}
ServiceMediaHandler.getIMogoStatusManager().registerStatusChangedListener(MediaConstants.MODULE_TYPE, StatusDescriptor.ACC_STATUS, (descriptor, isTrue) -> {
if (descriptor == StatusDescriptor.ACC_STATUS&&!isTrue) {
ServiceMediaHandler.getMogoWindowManager().removeView(mWindowView);
mHasAddWindow = false;
}
});
isFirstPlay = true;
}
private void addWindowView() {
Log.d(TAG, "addWindowView===" + mHasAddWindow);
if (ServiceMediaHandler.getMogoWindowManager() == null) {
Log.d(TAG, "addWindowView return");
return;
}
@@ -99,6 +112,7 @@ public class MediaWindow2 implements IMusicView {
int statusBarHeight = WindowUtils.getStatusBarHeight(mContext);
Logger.d(TAG,
"yPos: " + yPos + " xPos: " + xPos + " statusBarHeight: " + statusBarHeight);
Log.d(TAG, "addMediaWindoView");
FrameLayout.LayoutParams params =
new FrameLayout.LayoutParams((int) mContext.getResources().getDimension(R.dimen.module_media_pop_window_width), (int) mContext.getResources().getDimension(R.dimen.module_media_pop_window_height));
params.leftMargin = xPos;
@@ -202,6 +216,7 @@ public class MediaWindow2 implements IMusicView {
@Override
public void onMusicPlaying() {
Logger.d(TAG, "onMusicPlaying===" + mMediaInfoData);
Log.d(TAG, "onMusicPlaying===" + mMediaInfoData);
isFirstPlay = false;
updateWindowUI(false);
if (mWindowPlayPause != null) {
@@ -216,6 +231,7 @@ public class MediaWindow2 implements IMusicView {
@Override
public void onMusicPause() {
Logger.d(TAG, "onMusicPause: ===" + mMediaInfoData);
Log.d(TAG, "onMusicPause: ===" + mMediaInfoData);
if (mWindowPlayPause != null) {
mWindowPlayPause.setImageResource(R.drawable.module_media_window_pop_pause);
}
@@ -228,6 +244,7 @@ public class MediaWindow2 implements IMusicView {
@Override
public void onMusicStopped() {
Logger.d(TAG, "onMusicStopped===" + mMediaInfoData);
Log.d(TAG, "onMusicStopped===" + mMediaInfoData);
if (mWindowPlayPause != null) {
mWindowPlayPause.setImageResource(R.drawable.module_media_window_pop_pause);
}
@@ -242,6 +259,7 @@ public class MediaWindow2 implements IMusicView {
@Override
public void onMediaInfoChanged(MediaInfoData mediaInfoData) {
Logger.d(TAG, "onMediaInfoChanged: " + mediaInfoData);
Log.d(TAG, "onMediaInfoChanged:" + mediaInfoData);
mMediaInfoData = mediaInfoData;
addWindowView();
updateWindowUI();
@@ -271,6 +289,8 @@ public class MediaWindow2 implements IMusicView {
@Override
public void onAppExit() {
mWindowView.setVisibility(View.GONE);
if ( mWindowView != null ) {
mWindowView.setVisibility(View.GONE);
}
}
}

View File

@@ -0,0 +1,66 @@
<?xml version="1.0" encoding="utf-8"?>
<resources>
<!-- module_main_activity_main.xml-->
<dimen name="module_search_fragment_padding" >32px</dimen>
<dimen name="module_search_fragment_padding_top">32px</dimen>
<dimen name="module_search_et_width">640px</dimen>
<dimen name="module_search_et_hight">64px</dimen>
<dimen name="module_search_iv_back_hight">42px</dimen>
<dimen name="module_search_iv_back_margin_left">12px</dimen>
<dimen name="module_search_iv_back_margin_right">10px</dimen>
<dimen name="module_search_et_margin_right">30px</dimen>
<dimen name="module_search_et_text_size">22px</dimen>
<dimen name="module_search_btn_width">142px</dimen>
<dimen name="module_search_btn_right_margin">4px</dimen>
<dimen name="module_search_txt_big">22px</dimen>
<dimen name="module_search_btn_height">55.5px</dimen>
<dimen name="module_search_navi_home_width">304px</dimen>
<dimen name="module_search_navi_home_height">64px</dimen>
<dimen name="module_search_navi_home_margin_left">16px</dimen>
<dimen name="txt_normal">18px</dimen>
<dimen name="module_search_dp_72">38px</dimen>
<dimen name="module_search_dp_75">75px</dimen>
<dimen name="module_search_navi_home_padding_left">40px</dimen>
<dimen name="module_search_dp_778">410px</dimen>
<dimen name="module_search_dp_1200">640px</dimen>
<dimen name="module_search_dp_32">16px</dimen>
<dimen name="module_search_dp_40">20px</dimen>
<dimen name="module_search_dp_60">30px</dimen>
<dimen name="module_search_dp_37">20px</dimen>
<dimen name="txt_large">28px</dimen>
<dimen name="module_search_dp_268">144px</dimen>
<dimen name="module_search_dp_236">126px</dimen>
<dimen name="module_search_dp_180">96px</dimen>
<dimen name="module_search_dp_80">42px</dimen>
<dimen name="module_search_dp_70">38px</dimen>
<dimen name="module_search_25sp">28px</dimen>
<dimen name="module_search_dp_42">23px</dimen>
<dimen name="module_search_dp_160">96px</dimen>
<dimen name="module_search_dp_150">69px</dimen>
<dimen name="module_search_180dp">192px</dimen>
<dimen name="module_search_dp_120">64px</dimen>
<dimen name="module_search_txt_setting_width">24px</dimen>
<dimen name="module_search_dp_838">446px</dimen>
<dimen name="module_search_category_margin_bottom">83px</dimen>
<dimen name="module_search_dp_104">56px</dimen>
<dimen name="module_search_strategy_name_width" >100px</dimen>
<dimen name="module_search_marker_number_textSize">18px</dimen>
<dimen name="module_search_choose_path_item_height">111px</dimen>
<dimen name="module_search_calculate_item_strategy_name_textSize">16px</dimen>
<dimen name="module_search_calculate_item_strategy_name_marginLeft">20px</dimen>
<dimen name="module_search_calculate_item_strategy_name_paddingLeft">12px</dimen>
<dimen name="module_search_calculate_item_strategy_name_paddingRight">12px</dimen>
<dimen name="module_search_calculate_item_strategy_name_paddingTop">2px</dimen>
<dimen name="module_search_calculate_item_strategy_name_paddingBottom">2px</dimen>
<dimen name="module_search_calculate_item_strategy_time_textSize">22px</dimen>
<dimen name="module_search_calculate_item_strategy_time_marginTop">3px</dimen>
<dimen name="module_search_calculate_item_strategy_divider_marginLeft">16px</dimen>
<dimen name="module_search_calculate_item_strategy_desc_textSize">16px</dimen>
<dimen name="module_search_calculate_item_strategy_desc_marginTop">2px</dimen>
<dimen name="module_search_search_padding">32px</dimen>
<dimen name="module_search_search_paddingTop">34px</dimen>
<dimen name="module_search_search_result_marginTop">16px</dimen>
<dimen name="module_search_start_button">20px</dimen>
</resources>

View File

@@ -1,66 +1,67 @@
<?xml version="1.0" encoding="utf-8"?>
<resources>
<!-- module_main_activity_main.xml-->
<dimen name="txt_normal">@dimen/sp_32</dimen>
<dimen name="fragment_left_margin">@dimen/dp_60</dimen>
<dimen name="txt_title">@dimen/sp_40</dimen>
<dimen name="module_search_fragment_padding" >32px</dimen>
<dimen name="module_search_fragment_padding_top">32px</dimen>
<dimen name="module_search_et_width">640px</dimen>
<dimen name="module_search_et_hight">64px</dimen>
<dimen name="module_search_iv_back_hight">42px</dimen>
<dimen name="module_search_iv_back_margin_left">12px</dimen>
<dimen name="module_search_iv_back_margin_right">10px</dimen>
<dimen name="module_search_et_margin_right">30px</dimen>
<dimen name="module_search_et_text_size">22px</dimen>
<dimen name="module_search_btn_width">142px</dimen>
<dimen name="module_search_btn_right_margin">4px</dimen>
<dimen name="module_search_txt_big">22px</dimen>
<dimen name="module_search_btn_height">55.5px</dimen>
<dimen name="module_search_navi_home_width">304px</dimen>
<dimen name="module_search_navi_home_height">64px</dimen>
<dimen name="module_search_navi_home_margin_left">16px</dimen>
<dimen name="txt_normal">18px</dimen>
<dimen name="module_search_dp_72">38px</dimen>
<dimen name="txt_large">25sp</dimen>
<dimen name="module_search_fragment_padding">@dimen/dp_60</dimen>
<dimen name="module_search_fragment_padding_top">@dimen/dp_40</dimen>
<dimen name="module_search_et_width">600dp</dimen>
<dimen name="module_search_et_hight">@dimen/dp_120</dimen>
<dimen name="module_search_iv_back_hight">@dimen/dp_80</dimen>
<dimen name="module_search_iv_back_margin_left">@dimen/dp_24</dimen>
<dimen name="module_search_iv_back_margin_right">@dimen/dp_20</dimen>
<dimen name="module_search_et_margin_right">@dimen/dp_50</dimen>
<dimen name="module_search_et_text_size">40px</dimen>
<dimen name="module_search_btn_width">266px</dimen>
<dimen name="module_search_btn_right_margin">8px</dimen>
<dimen name="module_search_txt_big">40px</dimen>
<dimen name="module_search_btn_height">104px</dimen>
<dimen name="module_search_navi_home_width">568px</dimen>
<dimen name="module_search_navi_home_height">120px</dimen>
<dimen name="module_search_navi_home_margin_left">32px</dimen>
<dimen name="module_search_navi_home_padding_left">75px</dimen>
<dimen name="module_search_dp_72">72px</dimen>
<dimen name="module_search_dp_75">75px</dimen>
<dimen name="module_search_navi_home_padding_left">40px</dimen>
<dimen name="module_search_dp_778">410px</dimen>
<dimen name="module_search_dp_1200">640px</dimen>
<dimen name="module_search_dp_32">16px</dimen>
<dimen name="module_search_dp_40">20px</dimen>
<dimen name="module_search_dp_60">30px</dimen>
<dimen name="module_search_dp_37">20px</dimen>
<dimen name="txt_large">28px</dimen>
<dimen name="module_search_dp_268">144px</dimen>
<dimen name="module_search_dp_236">126px</dimen>
<dimen name="module_search_dp_180">96px</dimen>
<dimen name="module_search_dp_80">42px</dimen>
<dimen name="module_search_dp_70">38px</dimen>
<dimen name="module_search_25sp">28px</dimen>
<dimen name="module_search_dp_42">23px</dimen>
<dimen name="module_search_dp_160">96px</dimen>
<dimen name="module_search_dp_150">69px</dimen>
<dimen name="module_search_180dp">192px</dimen>
<dimen name="module_search_dp_120">64px</dimen>
<dimen name="module_search_txt_setting_width">24px</dimen>
<dimen name="module_search_dp_838">446px</dimen>
<dimen name="module_search_category_margin_bottom">83px</dimen>
<dimen name="module_search_dp_104">56px</dimen>
<dimen name="module_search_strategy_name_width" >100px</dimen>
<dimen name="module_search_marker_number_textSize">18px</dimen>
<dimen name="module_search_choose_path_item_height">111px</dimen>
<dimen name="module_search_calculate_item_strategy_name_textSize">16px</dimen>
<dimen name="module_search_calculate_item_strategy_name_marginLeft">20px</dimen>
<dimen name="module_search_calculate_item_strategy_name_paddingLeft">12px</dimen>
<dimen name="module_search_calculate_item_strategy_name_paddingRight">12px</dimen>
<dimen name="module_search_calculate_item_strategy_name_paddingTop">2px</dimen>
<dimen name="module_search_calculate_item_strategy_name_paddingBottom">2px</dimen>
<dimen name="module_search_calculate_item_strategy_time_textSize">22px</dimen>
<dimen name="module_search_calculate_item_strategy_time_marginTop">3px</dimen>
<dimen name="module_search_calculate_item_strategy_divider_marginLeft">16px</dimen>
<dimen name="module_search_calculate_item_strategy_desc_textSize">16px</dimen>
<dimen name="module_search_calculate_item_strategy_desc_marginTop">2px</dimen>
<dimen name="module_search_search_padding">32px</dimen>
<dimen name="module_search_search_paddingTop">34px</dimen>
<dimen name="module_search_search_result_marginTop">16px</dimen>
<dimen name="module_search_start_button">20px</dimen>
<dimen name="module_search_dp_778">778px</dimen>
<dimen name="module_search_dp_1200">1200px</dimen>
<dimen name="module_search_dp_32">32px</dimen>
<dimen name="module_search_dp_40">40px</dimen>
<dimen name="module_search_dp_60">60px</dimen>
<dimen name="module_search_dp_37">37px</dimen>
<dimen name="module_search_dp_268">268px</dimen>
<dimen name="module_search_dp_236">236px</dimen>
<dimen name="module_search_dp_180">180px</dimen>
<dimen name="module_search_dp_80">80px</dimen>
<dimen name="module_search_dp_70">70px</dimen>
<dimen name="module_search_25sp">25sp</dimen>
<dimen name="module_search_dp_42">42px</dimen>
<dimen name="module_search_dp_160">160px</dimen>
<dimen name="module_search_dp_150">150px</dimen>
<dimen name="module_search_180dp">180dp</dimen>
<dimen name="module_search_dp_120">120px</dimen>
<dimen name="module_search_txt_setting_width">45px</dimen>
<dimen name="module_search_dp_838">838px</dimen>
<dimen name="module_search_category_margin_bottom">142px</dimen>
<dimen name="module_search_dp_104">104px</dimen>
<dimen name="module_search_strategy_name_width" >154px</dimen>
<dimen name="module_search_marker_number_textSize">32px</dimen>
<dimen name="module_search_choose_path_item_height">212px</dimen>
<dimen name="module_search_calculate_item_strategy_name_textSize">26px</dimen>
<dimen name="module_search_calculate_item_strategy_name_marginLeft">40px</dimen>
<dimen name="module_search_calculate_item_strategy_name_paddingLeft">20px</dimen>
<dimen name="module_search_calculate_item_strategy_name_paddingRight">20px</dimen>
<dimen name="module_search_calculate_item_strategy_name_paddingTop">3px</dimen>
<dimen name="module_search_calculate_item_strategy_name_paddingBottom">3px</dimen>
<dimen name="module_search_calculate_item_strategy_time_textSize">48px</dimen>
<dimen name="module_search_calculate_item_strategy_time_marginTop">14px</dimen>
<dimen name="module_search_calculate_item_strategy_divider_marginLeft">36px</dimen>
<dimen name="module_search_calculate_item_strategy_desc_textSize">30px</dimen>
<dimen name="module_search_calculate_item_strategy_desc_marginTop">3px</dimen>
<dimen name="module_search_search_padding">60px</dimen>
<dimen name="module_search_search_paddingTop">40px</dimen>
<dimen name="module_search_search_result_marginTop">32px</dimen>
<dimen name="module_search_start_button">40px</dimen>
</resources>

View File

@@ -716,8 +716,12 @@ public class MogoServices implements IMogoMapListener,
case ACC_STATUS:
if ( isTrue ) {
mADASController.showADAS();
refreshStrategy();
MarkerServiceHandler.getApis().getMapServiceApi().getSingletonLocationClient( mContext ).stop();
} else {
try {
MarkerServiceHandler.getApis().getMapServiceApi().getMarkerManager( mContext ).removeMarkers();
MarkerServiceHandler.getApis().getMapServiceApi().getSingletonLocationClient( mContext ).start();
} catch ( Exception e ) {
Logger.e( TAG, e, "error." );
}