iterator = null;
try {
- List< IMogoVoiceCmdCallBack > cmdCallBacks = mCmdMap.get( cmd );
+ List< IMogoVoiceCmdCallBack > cmdCallBacks = mCmdMap.get( cmd );
iterator = new ArrayList<>( cmdCallBacks ).iterator();
- } catch( Exception e ){
+ } catch ( Exception e ) {
}
while ( iterator != null && iterator.hasNext() ) {
@@ -348,10 +348,18 @@ public class AIAssist implements VoiceClient.VoiceCmdCallBack, OnTtsListener {
}
public static void startAssistant( Context context ) {
+ startAssistant( context, 1 );
+ }
+
+ /**
+ * @param context
+ * @param status window_start_cancel 0 - 结束, 1 - 显示, 2 - 未激活调试进入
+ */
+ public static void startAssistant( Context context, int status ) {
final Intent intent = new Intent();
intent.setFlags( Intent.FLAG_INCLUDE_STOPPED_PACKAGES );
intent.setAction( "pvetec.intent.action.txz.switch" );
- intent.putExtra( "window_start_cancel", 1 );
+ intent.putExtra( "window_start_cancel", status );
intent.putExtra( "extra_switch_type", "window_start_cancel" );
context.sendBroadcast( intent );
}
@@ -462,12 +470,12 @@ public class AIAssist implements VoiceClient.VoiceCmdCallBack, OnTtsListener {
try {
mSpeakVoiceMap.remove( text );
mogoVoiceManager.shutUp( ttsId );
- } catch( Exception e ){
+ } catch ( Exception e ) {
}
}
- public void clearTTSCallback(String text){
+ public void clearTTSCallback( String text ) {
try {
mSpeakVoiceMap.remove( text );
} catch ( Exception e ) {
diff --git a/gradle.properties b/gradle.properties
index d93260870c..3e167a99d8 100644
--- a/gradle.properties
+++ b/gradle.properties
@@ -27,33 +27,33 @@ PASSWORD=xintai2018
RELEASE=false
# 模块版本
## 工程内模块
-MOGO_COMMONS_VERSION=1.1.0.15
-MOGO_UTILS_VERSION=1.1.0.15
-MAP_AMAP_VERSION=1.1.0.15
-MAP_AUTONAVI_VERSION=1.1.0.15
-MOGO_MAP_VERSION=1.1.0.15
-MOGO_MAP_API_VERSION=1.1.0.15
-MOGO_SERVICE_VERSION=1.1.0.15
-MOGO_SERVICE_API_VERSION=1.1.0.15
-MOGO_CONNECTION_VERSION=1.1.0.15
-MOGO_MODULE_APPS_VERSION=1.1.0.15
-MOGO_MODULE_NAVI_VERSION=1.1.0.15
-MOGO_MODULE_SHARE_VERSION=1.1.0.15
-MOGO_MODULE_COMMON_VERSION=1.1.0.15
-MOGO_MODULE_MAIN_VERSION=1.1.0.15
-MOGO_MODULE_MAP_VERSION=1.1.0.15
-MOGO_MODULE_SERVICE_VERSION=1.1.0.15
-MOGO_MODULE_EXTENSIONS_VERSION=1.1.0.15
-MOGO_MODULE_SEARCH_VERSION=1.1.0.15
-MOGO_MODULE_BACK_VERSION=1.1.0.15
-MOGO_MODULE_GPS_SIMULATOR_VERSION=1.1.0.15
-MOGO_MODULE_GPS_SIMULATOR_DEBUG_VERSION=1.1.0.15
-MOGO_MODULE_GPS_SIMULATOR_NOOP_VERSION=1.1.0.15
-MOGO_MODULE_AUTHORIZE_VERSION=1.1.0.15
-MOGO_MODULE_GUIDE_VERSION=1.1.0.15
+MOGO_COMMONS_VERSION=1.2.0
+MOGO_UTILS_VERSION=1.2.0
+MAP_AMAP_VERSION=1.2.0
+MAP_AUTONAVI_VERSION=1.2.0
+MOGO_MAP_VERSION=1.2.0
+MOGO_MAP_API_VERSION=1.2.0
+MOGO_SERVICE_VERSION=1.2.0
+MOGO_SERVICE_API_VERSION=1.2.0
+MOGO_CONNECTION_VERSION=1.2.0
+MOGO_MODULE_APPS_VERSION=1.2.0
+MOGO_MODULE_NAVI_VERSION=1.2.0
+MOGO_MODULE_SHARE_VERSION=1.2.0
+MOGO_MODULE_COMMON_VERSION=1.2.0
+MOGO_MODULE_MAIN_VERSION=1.2.0
+MOGO_MODULE_MAP_VERSION=1.2.0
+MOGO_MODULE_SERVICE_VERSION=1.2.0
+MOGO_MODULE_EXTENSIONS_VERSION=1.2.0
+MOGO_MODULE_SEARCH_VERSION=1.2.0
+MOGO_MODULE_BACK_VERSION=1.2.0
+MOGO_MODULE_GPS_SIMULATOR_VERSION=1.2.0
+MOGO_MODULE_GPS_SIMULATOR_DEBUG_VERSION=1.2.0
+MOGO_MODULE_GPS_SIMULATOR_NOOP_VERSION=1.2.0
+MOGO_MODULE_AUTHORIZE_VERSION=1.2.0
+MOGO_MODULE_GUIDE_VERSION=1.2.0
-MOGO_MODULE_MAIN_LAUNCHER_VERSION = 1.0.0.0
-MOGO_MODULE_MAIN_INDEPENDENT_VERSION = 1.0.0.0
+MOGO_MODULE_MAIN_LAUNCHER_VERSION = 1.0.0.1
+MOGO_MODULE_MAIN_INDEPENDENT_VERSION = 1.0.0.1
## 工程外部模块
diff --git a/libraries/map-autonavi/build.gradle b/libraries/map-autonavi/build.gradle
index 941f9b2ff5..fe07d63360 100644
--- a/libraries/map-autonavi/build.gradle
+++ b/libraries/map-autonavi/build.gradle
@@ -42,4 +42,6 @@ dependencies {
implementation project(':libraries:map-amap')
}
-}
\ No newline at end of file
+}
+
+apply from: new File(rootProject.rootDir, "gradle/upload.gradle").toString()
\ No newline at end of file
diff --git a/libraries/map-autonavi/src/main/java/com/mogo/map/impl/automap/navi/AutoNaviReceiver.java b/libraries/map-autonavi/src/main/java/com/mogo/map/impl/automap/navi/AutoNaviReceiver.java
index 2ea104b75d..eb51047a36 100644
--- a/libraries/map-autonavi/src/main/java/com/mogo/map/impl/automap/navi/AutoNaviReceiver.java
+++ b/libraries/map-autonavi/src/main/java/com/mogo/map/impl/automap/navi/AutoNaviReceiver.java
@@ -117,13 +117,18 @@ public class AutoNaviReceiver extends BroadcastReceiver {
switch ( state ) {
case MapStateValue.START_NAVI:
case MapStateValue.START_EMULATOR_NAVI:
+ if ( MapState.getInstance().isNaving() ) {
+ return;
+ }
MapState.getInstance().setNaving( true );
MogoNaviListenerHandler.getInstance().onStartNavi();
break;
case MapStateValue.STOP_NAVI:
case MapStateValue.STOP_EMULATOR_NAVI:
- MapState.getInstance().setNaving( false );
- MogoNaviListenerHandler.getInstance().onStopNavi();
+ if ( MapState.getInstance().isNaving() ) {
+ MapState.getInstance().setNaving( false );
+ MogoNaviListenerHandler.getInstance().onStopNavi();
+ }
break;
case MapStateValue.START_AIMLESS_NAVI:
MapState.getInstance().setAimless( true );
diff --git a/modules/mogo-module-apps/src/main/java/com/mogo/module/apps/AppNavigatorFragment.java b/modules/mogo-module-apps/src/main/java/com/mogo/module/apps/AppNavigatorFragment.java
index f3d240be7b..a275d6545e 100644
--- a/modules/mogo-module-apps/src/main/java/com/mogo/module/apps/AppNavigatorFragment.java
+++ b/modules/mogo-module-apps/src/main/java/com/mogo/module/apps/AppNavigatorFragment.java
@@ -56,6 +56,7 @@ public class AppNavigatorFragment extends MvpFragment< AppNavigatorView, AppNavi
mAppIndicatorAdapter = new AppIndicatorAdapter( getContext(), NavigatorApps.getApps() );
mAppIndicatorAdapter.setOnItemClickedListener( ( data, position ) -> {
mLauncher.launch( getContext(), data );
+ trackNavigatorClickEvent( data.getTrackType() );
} );
mNavigatorAppsList.setAdapter( mAppIndicatorAdapter );
@@ -64,7 +65,7 @@ public class AppNavigatorFragment extends MvpFragment< AppNavigatorView, AppNavi
mAnim.initAnim( mAIAssist );
mAIAssist.setOnClickListener( view -> {
AIAssist.startAssistant( getContext() );
- AppServiceHandler.getApis().getAnalyticsApi().track( "Launcher_xiaozhi_Click", null );
+ trackNavigatorClickEvent( 5 );
} );
mAIAssistContainer.setOnClickListener( view -> {
mAIAssist.performClick();
diff --git a/modules/mogo-module-apps/src/main/java/com/mogo/module/apps/AppNavigatorPresenter.java b/modules/mogo-module-apps/src/main/java/com/mogo/module/apps/AppNavigatorPresenter.java
index 24119d559c..c42230cbca 100644
--- a/modules/mogo-module-apps/src/main/java/com/mogo/module/apps/AppNavigatorPresenter.java
+++ b/modules/mogo-module-apps/src/main/java/com/mogo/module/apps/AppNavigatorPresenter.java
@@ -6,6 +6,7 @@ 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.commons.voice.AIAssist;
import com.mogo.commons.voice.IMogoVoiceCmdCallBack;
@@ -33,9 +34,6 @@ public class AppNavigatorPresenter extends Presenter< AppNavigatorView > impleme
private static final String TAG = "AppNavigatorPresenter";
- IMogoIntentManager mIntentManager;
- IMogoStatusManager mMogoStatusManager;
-
public AppNavigatorPresenter( AppNavigatorView view ) {
super( view );
}
@@ -43,11 +41,11 @@ public class AppNavigatorPresenter extends Presenter< AppNavigatorView > impleme
@Override
public void onCreate( @NonNull LifecycleOwner owner ) {
super.onCreate( owner );
- mIntentManager = AppServiceHandler.getApis().getIntentManagerApi();
- mMogoStatusManager = AppServiceHandler.getApis().getStatusManagerApi();
AppServiceHandler.getApis().getRegisterCenterApi().registerMogoNaviListener( TAG, this );
- // 预加载应用列表,空间换时间
- AppsModel.getInstance( getContext() ).load( null );
+ if ( DebugConfig.isLauncher() ) {
+ // 预加载应用列表,空间换时间
+ AppsModel.getInstance( getContext() ).load( null );
+ }
}
@Override
@@ -55,13 +53,13 @@ public class AppNavigatorPresenter extends Presenter< AppNavigatorView > impleme
super.onResume( owner );
AIAssist.getInstance( getContext() ).registerUnWakeupCommand( AppsConst.CMD_UN_WAKE_OPEN_APP_LIST, AppsConst.CMD_UN_WAKE_WORDS_OPEN_APP_LIST, this );
AIAssist.getInstance( getContext() ).registerUnWakeupCommand( AppsConst.CMD_UN_WAKE_OPEN_CAR_SETTINGS, AppsConst.CMD_UN_WAKE_WORDS_OPEN_CAR_SETTINGS, this );
- mIntentManager.registerIntentListener( AppsConst.COMMAND_OPERATION, this );
+ AppServiceHandler.getApis().getIntentManagerApi().registerIntentListener( AppsConst.COMMAND_OPERATION, this );
}
@Override
public void onPause( @NonNull LifecycleOwner owner ) {
super.onPause( owner );
- mIntentManager.unregisterIntentListener( AppsConst.COMMAND_OPERATION, this );
+ AppServiceHandler.getApis().getIntentManagerApi().unregisterIntentListener( AppsConst.COMMAND_OPERATION, this );
AIAssist.getInstance( getContext() ).unregisterUnWakeupCommand( AppsConst.CMD_UN_WAKE_OPEN_APP_LIST );
AIAssist.getInstance( getContext() ).unregisterUnWakeupCommand( AppsConst.CMD_UN_WAKE_OPEN_CAR_SETTINGS );
}
@@ -76,10 +74,14 @@ public class AppNavigatorPresenter extends Presenter< AppNavigatorView > impleme
String app = object.optString( "object" );
String operation = object.optString( "operation" );
- if( !AppsConst.OBJECT_ADAS.equals( app ) ){
+ if ( !AppsConst.OBJECT_ADAS.equals( app ) ) {
AppServiceHandler.getApis().getAdasControllerApi().closeADAS();
}
+ if ( !DebugConfig.isLauncher() ) {
+ return;
+ }
+
if ( AppsConst.OBJECT_ALL_APPS.equals( app ) ) {
if ( AppsConst.OPERATION_OPEN.equals( operation ) ) {
mView.openAppsPanel();
@@ -116,10 +118,8 @@ public class AppNavigatorPresenter extends Presenter< AppNavigatorView > impleme
@Override
public void onDestroy( @NonNull LifecycleOwner owner ) {
- if ( mIntentManager != null ) {
- mIntentManager.unregisterIntentListener( AppsConst.COMMAND_OPERATION, this );
- }
super.onDestroy( owner );
+ AppServiceHandler.getApis().getIntentManagerApi().unregisterIntentListener( AppsConst.COMMAND_OPERATION, this );
}
@Override
diff --git a/modules/mogo-module-apps/src/main/java/com/mogo/module/apps/model/AppInfo.java b/modules/mogo-module-apps/src/main/java/com/mogo/module/apps/model/AppInfo.java
index 134cb0b33f..d9fddafb98 100644
--- a/modules/mogo-module-apps/src/main/java/com/mogo/module/apps/model/AppInfo.java
+++ b/modules/mogo-module-apps/src/main/java/com/mogo/module/apps/model/AppInfo.java
@@ -16,14 +16,20 @@ public class AppInfo {
private final int mVersionCode;
private final Drawable mIcon;
private final int mIconResId;
+ private final int mTrackType; // 埋点类型
- public AppInfo( String mName, String mPackageName, String mVersionName, int mVersionCode, Drawable mIcon, int mIconResId ) {
+ public AppInfo( String mName, String mPackageName, String mVersionName, int mVersionCode, Drawable mIcon, int mIconResId, int mTrackType ) {
this.mName = mName;
this.mPackageName = mPackageName;
this.mVersionName = mVersionName;
this.mVersionCode = mVersionCode;
this.mIcon = mIcon;
this.mIconResId = mIconResId;
+ this.mTrackType = mTrackType;
+ }
+
+ public AppInfo( String mName, String mPackageName, String mVersionName, int mVersionCode, Drawable mIcon, int mIconResId ) {
+ this(mName, mPackageName, mVersionName, mVersionCode, mIcon, mIconResId, 0);
}
public int getIconResId() {
@@ -50,6 +56,10 @@ public class AppInfo {
return mIcon;
}
+ public int getTrackType() {
+ return mTrackType;
+ }
+
@Override
public String toString() {
return "AppInfo{" +
diff --git a/modules/mogo-module-apps/src/main/java/com/mogo/module/apps/model/NavigatorApps.java b/modules/mogo-module-apps/src/main/java/com/mogo/module/apps/model/NavigatorApps.java
index 1b64ff1bb8..820d46c5a4 100644
--- a/modules/mogo-module-apps/src/main/java/com/mogo/module/apps/model/NavigatorApps.java
+++ b/modules/mogo-module-apps/src/main/java/com/mogo/module/apps/model/NavigatorApps.java
@@ -13,26 +13,26 @@ import java.util.List;
*/
public class NavigatorApps {
- private static AppInfo app = new AppInfo( "导航", "com.mogo.launcher.navi.search", "", 0, null, R.drawable.module_apps_ic_navigator_navi );
- private static AppInfo app_ = new AppInfo( "导航", "com.mogo.launcher.navi.search", "", 0, null, R.drawable.module_apps_ic_navigator_navi_disable );
- private static AppInfo app2 = new AppInfo( "音乐", "com.pvetec.musics", "", 0, null, R.drawable.module_apps_ic_navigator_media );
- private static AppInfo app3 = new AppInfo( "个人中心", "com.zhidao.auto.personal", "", 0, null, R.drawable.module_apps_ic_navigator_personcenter );
- private static AppInfo app4 = new AppInfo( "全部应用", "com.mogo.launcher.applist", "", 0, null, R.drawable.module_apps_ic_navigator_applist );
+ private static AppInfo app = new AppInfo( "导航", "com.mogo.launcher.navi.search", "", 0, null, R.drawable.module_apps_ic_navigator_navi, 1 );
+ private static AppInfo app_ = new AppInfo( "导航", "com.mogo.launcher.navi.search", "", 0, null, R.drawable.module_apps_ic_navigator_navi_disable, 1 );
+ private static AppInfo app2 = new AppInfo( "音乐", "com.pvetec.musics", "", 0, null, R.drawable.module_apps_ic_navigator_media, 2 );
+ private static AppInfo app3 = new AppInfo( "个人中心", "com.zhidao.auto.personal", "", 0, null, R.drawable.module_apps_ic_navigator_personcenter, 3 );
+ private static AppInfo app4 = new AppInfo( "全部应用", "com.mogo.launcher.applist", "", 0, null, R.drawable.module_apps_ic_navigator_applist, 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;
}
public static List< AppInfo > getAppsWithoutNavigation() {
List< AppInfo > sApps = new ArrayList<>();
- sApps.add( app_ );
+ sApps.add( app );
sApps.add( app2 );
- sApps.add( app3 );
+// sApps.add( app3 );
sApps.add( app4 );
return sApps;
}
diff --git a/modules/mogo-module-extensions/src/main/java/com/mogo/module/extensions/ExtensionsFragment.java b/modules/mogo-module-extensions/src/main/java/com/mogo/module/extensions/ExtensionsFragment.java
index 551ec8e41c..e5254a81c6 100644
--- a/modules/mogo-module-extensions/src/main/java/com/mogo/module/extensions/ExtensionsFragment.java
+++ b/modules/mogo-module-extensions/src/main/java/com/mogo/module/extensions/ExtensionsFragment.java
@@ -12,6 +12,8 @@ import androidx.annotation.Nullable;
import com.alibaba.android.arouter.launcher.ARouter;
import com.mogo.commons.mvp.MvpFragment;
import com.mogo.module.extensions.userinfo.UserInfo;
+import com.mogo.module.extensions.utils.LaunchUtils;
+import com.mogo.utils.glide.GlideApp;
import com.mogo.utils.logger.Logger;
/**
@@ -35,6 +37,8 @@ public class ExtensionsFragment extends MvpFragment< ExtensionsView, ExtensionsP
private View mMsgContainer;
private TextView mMsgCounter;
+ private ImageView mUserHeadImg;
+
@Override
protected int getLayoutId() {
return R.layout.module_ext_layout_extensions;
@@ -47,11 +51,20 @@ public class ExtensionsFragment extends MvpFragment< ExtensionsView, ExtensionsP
mWeatherIcon = findViewById( R.id.module_ext_id_weather_icon );
mWeatherTemp = findViewById( R.id.module_ext_id_weather_temp );
+ mUserHeadImg = findViewById(R.id.ivUserHeadImg);
+
mMsgContainer = findViewById( R.id.module_ext_id_msg );
mMsgContainer.setOnClickListener( view -> {
ARouter.getInstance().build( "/push/ui/message" ).navigation( getContext() );
} );
mMsgCounter = findViewById( R.id.module_ext_id_msg_counter );
+ mUserHeadImg.setOnClickListener(view ->{
+ try {
+ LaunchUtils.launchByPkg(getContext(), "com.zhidao.auto.personal");
+ } catch (Exception e) {
+ Logger.e(TAG, e, "打开个人中心Exception");
+ }
+ });
}
@NonNull
@@ -100,5 +113,6 @@ public class ExtensionsFragment extends MvpFragment< ExtensionsView, ExtensionsP
@Override
public void renderUserInfo(UserInfo userInfo) {
Logger.d(TAG, "renderUserInfo: " + userInfo);
+ GlideApp.with(getContext()).load(userInfo.getHeadImgurl()).circleCrop().into(mUserHeadImg);
}
}
diff --git a/modules/mogo-module-extensions/src/main/java/com/mogo/module/extensions/utils/LaunchUtils.java b/modules/mogo-module-extensions/src/main/java/com/mogo/module/extensions/utils/LaunchUtils.java
new file mode 100644
index 0000000000..14ff5c58d8
--- /dev/null
+++ b/modules/mogo-module-extensions/src/main/java/com/mogo/module/extensions/utils/LaunchUtils.java
@@ -0,0 +1,29 @@
+package com.mogo.module.extensions.utils;
+
+import android.content.Context;
+import android.content.Intent;
+
+/**
+ * @author congtaowang
+ * @since 2020-02-03
+ *
+ * 描述
+ */
+public class LaunchUtils {
+
+ /**
+ * 通过包名启动app
+ *
+ * @param context
+ * @param pkg 包名
+ */
+ public static void launchByPkg( Context context, String pkg ) throws Exception {
+ Intent intent = getLaunchIntentForPackage( context, pkg );
+ intent.addFlags( Intent.FLAG_ACTIVITY_NEW_TASK );
+ context.startActivity( intent );
+ }
+
+ public static Intent getLaunchIntentForPackage( Context context, String pkg ) {
+ return context.getPackageManager().getLaunchIntentForPackage( pkg );
+ }
+}
diff --git a/modules/mogo-module-extensions/src/main/res/drawable-xhdpi/model_ext_default_user_head.png b/modules/mogo-module-extensions/src/main/res/drawable-xhdpi/model_ext_default_user_head.png
new file mode 100644
index 0000000000..baa717be4d
Binary files /dev/null and b/modules/mogo-module-extensions/src/main/res/drawable-xhdpi/model_ext_default_user_head.png differ
diff --git a/modules/mogo-module-extensions/src/main/res/drawable/model_ext_default_user_head.png b/modules/mogo-module-extensions/src/main/res/drawable/model_ext_default_user_head.png
new file mode 100644
index 0000000000..726124020a
Binary files /dev/null and b/modules/mogo-module-extensions/src/main/res/drawable/model_ext_default_user_head.png differ
diff --git a/modules/mogo-module-extensions/src/main/res/layout/module_ext_layout_extensions.xml b/modules/mogo-module-extensions/src/main/res/layout/module_ext_layout_extensions.xml
index 87b42bda50..3110dc5404 100644
--- a/modules/mogo-module-extensions/src/main/res/layout/module_ext_layout_extensions.xml
+++ b/modules/mogo-module-extensions/src/main/res/layout/module_ext_layout_extensions.xml
@@ -41,8 +41,9 @@
android:layout_marginRight="@dimen/module_ext_msg_marginRight"
android:background="@drawable/module_ext_drawable_msg_container_bkg"
android:visibility="gone"
- app:layout_constraintRight_toRightOf="parent"
- app:layout_constraintTop_toTopOf="parent"
+ app:layout_constraintBottom_toBottomOf="@+id/ivUserHeadImg"
+ app:layout_constraintRight_toLeftOf="@+id/ivUserHeadImg"
+ app:layout_constraintTop_toTopOf="@+id/ivUserHeadImg"
tools:visibility="visible">
+
+
\ No newline at end of file
diff --git a/modules/mogo-module-extensions/src/main/res/values-xhdpi/dimens.xml b/modules/mogo-module-extensions/src/main/res/values-xhdpi/dimens.xml
index c9ef02f98b..631cd4f0d8 100644
--- a/modules/mogo-module-extensions/src/main/res/values-xhdpi/dimens.xml
+++ b/modules/mogo-module-extensions/src/main/res/values-xhdpi/dimens.xml
@@ -73,6 +73,9 @@
30px
20px
+ 103px
+ 103px
+
1058px
210px
diff --git a/modules/mogo-module-extensions/src/main/res/values/dimens.xml b/modules/mogo-module-extensions/src/main/res/values/dimens.xml
index 05bb2387f9..161772cb13 100644
--- a/modules/mogo-module-extensions/src/main/res/values/dimens.xml
+++ b/modules/mogo-module-extensions/src/main/res/values/dimens.xml
@@ -76,6 +76,9 @@
15px
11.73px
+ 56px
+ 56px
+
544px
117px
diff --git a/modules/mogo-module-media/src/main/java/com/mogo/module/media/MediaWindow2.java b/modules/mogo-module-media/src/main/java/com/mogo/module/media/MediaWindow2.java
index 2c89aead5d..69c9f8068a 100644
--- a/modules/mogo-module-media/src/main/java/com/mogo/module/media/MediaWindow2.java
+++ b/modules/mogo-module-media/src/main/java/com/mogo/module/media/MediaWindow2.java
@@ -7,6 +7,9 @@ import android.widget.ImageView;
import android.widget.LinearLayout;
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.constants.MusicConstant;
import com.mogo.module.media.listener.NoDoubleClickListener;
import com.mogo.module.media.model.MediaInfoData;
@@ -21,6 +24,7 @@ import com.mogo.module.media.widget.ScrollingTextView;
import com.mogo.utils.TipToast;
import com.mogo.utils.glide.GlideApp;
import com.mogo.utils.logger.Logger;
+import com.tencent.wecarflow.flowoutside.sdk.FlowPlayControl;
/**
* 适配爱趣听的window
@@ -54,7 +58,19 @@ public class MediaWindow2 implements IMusicView {
mPresenter = new WeCarFlowPresenter(this);
mPresenter.init(context);
- isFirstPlay = true;
+ if(DebugConfig.isLauncher()) {
+ AIAssist.getInstance(context).registerUnWakeupCommand("flow_we_car_stop", new String[]{"停止播放", "暂停播放"}, new IMogoVoiceCmdCallBack() {
+ @Override
+ public void onCmdSelected(String cmd) {
+ // 简单添加暂停播放全局免唤醒词
+ if ("flow_we_car_stop".equals(cmd)) {
+ FlowPlayControl.getInstance().doPause();
+ }
+ }
+ });
+ }
+
+ isFirstPlay = true;
}
private void addWindowView() {
diff --git a/modules/mogo-module-media/src/main/java/com/mogo/module/media/receiver/MediaSpeechReceiver.java b/modules/mogo-module-media/src/main/java/com/mogo/module/media/receiver/MediaSpeechReceiver.java
index 5fecc7468d..fd35cc5bb6 100644
--- a/modules/mogo-module-media/src/main/java/com/mogo/module/media/receiver/MediaSpeechReceiver.java
+++ b/modules/mogo-module-media/src/main/java/com/mogo/module/media/receiver/MediaSpeechReceiver.java
@@ -9,6 +9,9 @@ import com.mogo.module.media.utils.MusicControlBroadCast;
import com.mogo.utils.ActivityLifecycleManager;
import com.mogo.utils.UiThreadHandler;
import com.mogo.utils.logger.Logger;
+import com.tencent.wecarflow.flowoutside.sdk.FlowPlayControl;
+
+import io.reactivex.processors.FlowableProcessor;
/**
* 我要听{歌手/歌名}:
@@ -35,30 +38,32 @@ public class MediaSpeechReceiver extends BroadcastReceiver {
//我要听{歌手/歌名}
Logger.d("MediaSpeechReceiver"," "+"type qq ");
String musicModel = intent.getStringExtra("music_model");
- if (appActive){
- MusicControlBroadCast.playSomeBodyMusic(musicModel);
- MusicControlBroadCast.mediaCenterBroadcast();
- }else {
- MusicControlBroadCast.playSomeBodyMusic(musicModel);
- UiThreadHandler.postDelayed(new Runnable() {
- @Override
- public void run() {
- MusicControlBroadCast.qqOpenQQMusic();
- }
- },300);
- }
+ FlowPlayControl.getInstance().semanticSearch(context, "launcher", musicModel);
+// if (appActive){
+// MusicControlBroadCast.playSomeBodyMusic(musicModel);
+// MusicControlBroadCast.mediaCenterBroadcast();
+// }else {
+// MusicControlBroadCast.playSomeBodyMusic(musicModel);
+// UiThreadHandler.postDelayed(new Runnable() {
+// @Override
+// public void run() {
+// MusicControlBroadCast.qqOpenQQMusic();
+// }
+// },300);
+// }
}else if (cmdAction.equals("com.zhidao.speech.awake.notify")){
//播放音乐
String musicCmd = intent.getStringExtra("command");
Logger.d("MediaSpeechReceiver"," "+"qq book"+musicCmd==null?"":musicCmd);
if (musicCmd.equals("com.ileja.music.playapp")){
//QQ音乐
- if (appActive){
- MusicControlBroadCast.qqPlayQQMusic();
- MusicControlBroadCast.mediaCenterBroadcast();
- }else{
- MusicControlBroadCast.qqOpenQQMusic();
- }
+ FlowPlayControl.getInstance().doPlay();
+// if (appActive){
+// MusicControlBroadCast.qqPlayQQMusic();
+// MusicControlBroadCast.mediaCenterBroadcast();
+// }else{
+// MusicControlBroadCast.qqOpenQQMusic();
+// }
}else if (musicCmd.equals("com.zhidao.book.play")){
//懒人听书
if (appActive){
diff --git a/modules/mogo-module-service/src/main/java/com/mogo/module/service/marker/MapMarkerManager.java b/modules/mogo-module-service/src/main/java/com/mogo/module/service/marker/MapMarkerManager.java
index e695e6470d..1e6c812512 100644
--- a/modules/mogo-module-service/src/main/java/com/mogo/module/service/marker/MapMarkerManager.java
+++ b/modules/mogo-module-service/src/main/java/com/mogo/module/service/marker/MapMarkerManager.java
@@ -16,6 +16,7 @@ import com.mogo.module.common.entity.MarkerExploreWay;
import com.mogo.module.common.entity.MarkerLocation;
import com.mogo.module.common.entity.MarkerNoveltyInfo;
import com.mogo.module.common.entity.MarkerOnlineCar;
+import com.mogo.module.common.entity.MarkerPoiTypeEnum;
import com.mogo.module.common.entity.MarkerResponse;
import com.mogo.module.common.entity.MarkerShareMusic;
import com.mogo.module.common.entity.MarkerShowEntity;
@@ -110,6 +111,20 @@ public class MapMarkerManager implements IMogoMarkerClickListener,
if ( !result ) {
return false;
}
+
+ Map< String, Object > properties = new HashMap<>();
+
+ if ( marker.getObject() instanceof MarkerShowEntity ) {
+ properties.put( "sn", getCarSnFromMarker( marker ) );
+ if ( ( ( MarkerShowEntity ) marker.getObject() ).getBindObj() instanceof MarkerExploreWay ) {
+ MarkerExploreWay exploreWay = ( MarkerExploreWay ) ( ( MarkerShowEntity ) marker.getObject() ).getBindObj();
+ properties.put( "dbid", exploreWay.getInfoId() );
+ properties.put( "type", exploreWay.getPoiType() );
+ } else if ( ( ( MarkerShowEntity ) marker.getObject() ).getBindObj() instanceof MarkerOnlineCar ) {
+ properties.put( "type", "10000" );
+ }
+ }
+ MarkerServiceHandler.getMogoAnalytics().track( "v2x_road_click", properties );
} catch ( Exception e ) {
e.printStackTrace();
}
@@ -479,12 +494,38 @@ public class MapMarkerManager implements IMogoMarkerClickListener,
if ( markerCardResult == null ) {
return;
}
- JSONArray array = new JSONArray();
List< MarkerExploreWay > exploreWayList = markerCardResult.getExploreWay();
+ JSONArray array = new JSONArray();
int size = 0;
size = exploreWayList == null ? 0 : exploreWayList.size();
- fillPoiTypeTrackBody( array, ModuleNames.CARD_TYPE_ROAD_CONDITION, size );
+ final Map< String, Integer > typeCounterMap = new HashMap<>();
+ for ( int i = 0; i < size; i++ ) {
+ MarkerExploreWay exploreWay = exploreWayList.get( i );
+ String poiType = exploreWay.getPoiType();
+ int counter = 0;
+ if ( !typeCounterMap.containsKey( poiType ) ) {
+ counter = 0;
+ } else {
+ counter = typeCounterMap.get( poiType );
+ }
+ typeCounterMap.put( poiType, counter + 1 );
+ }
+ if ( !typeCounterMap.isEmpty() ) {
+ for ( Map.Entry< String, Integer > entry : typeCounterMap.entrySet() ) {
+ if ( entry == null || entry.getKey() == null ) {
+ continue;
+ }
+ JSONObject object = new JSONObject();
+ try {
+ object.put( "type", entry.getKey() );
+ object.put( "num", entry.getValue() );
+ array.put( object );
+ } catch ( JSONException e ) {
+ e.printStackTrace();
+ }
+ }
+ }
try {
if ( array.length() == 0 ) {
@@ -492,7 +533,7 @@ public class MapMarkerManager implements IMogoMarkerClickListener,
}
final Map< String, Object > properties = new HashMap<>();
properties.put( "data", array.toString() );
- MarkerServiceHandler.getMogoAnalytics().track( "Launcher_Data_Get", properties );
+ MarkerServiceHandler.getMogoAnalytics().track( "v2x_data_get", properties );
} catch ( Exception e ) {
e.printStackTrace();
}
@@ -650,6 +691,10 @@ public class MapMarkerManager implements IMogoMarkerClickListener,
int limit,
int radius ) {
+ if ( latLng == null ) {
+ return;
+ }
+
if ( ignoreOnlineCarRequest() ) {
removeCarMarkers();
return;
@@ -668,14 +713,31 @@ public class MapMarkerManager implements IMogoMarkerClickListener,
if ( MarkerServiceHandler.getMogoStatusManager().isSearchUIShow() ) {
return;
}
+ int size = onlineCarList == null ? 0 : onlineCarList.size();
+ trackData( size );
+
runOnTargetThread( () -> {
drawOnlineCarMarkers( onlineCarList, Integer.MAX_VALUE );
} );
}
- @Override
- public void onFail() {
+ private void trackData( int size ) {
+ JSONArray array = new JSONArray();
+ JSONObject object = new JSONObject();
+ try {
+ object.put( "type", "10000" );
+ object.put( "num", size );
+ array.put( object );
+ } catch ( JSONException e ) {
+ e.printStackTrace();
+ }
+ if ( array.length() == 0 ) {
+ return;
+ }
+ final Map< String, Object > properties = new HashMap<>();
+ properties.put( "data", array.toString() );
+ MarkerServiceHandler.getMogoAnalytics().track( "v2x_data_get", properties );
}
} );
}
diff --git a/modules/mogo-module-service/src/main/java/com/mogo/module/service/network/RefreshCallback.java b/modules/mogo-module-service/src/main/java/com/mogo/module/service/network/RefreshCallback.java
index 34a46cd615..64c691498c 100644
--- a/modules/mogo-module-service/src/main/java/com/mogo/module/service/network/RefreshCallback.java
+++ b/modules/mogo-module-service/src/main/java/com/mogo/module/service/network/RefreshCallback.java
@@ -10,5 +10,5 @@ public interface RefreshCallback {
void onSuccess(T o);
- void onFail();
+ default void onFail(){}
}
diff --git a/modules/mogo-module-service/src/main/java/com/mogo/module/service/network/RefreshModel.java b/modules/mogo-module-service/src/main/java/com/mogo/module/service/network/RefreshModel.java
index 3c1bfcd220..e6c3f1cde1 100644
--- a/modules/mogo-module-service/src/main/java/com/mogo/module/service/network/RefreshModel.java
+++ b/modules/mogo-module-service/src/main/java/com/mogo/module/service/network/RefreshModel.java
@@ -101,55 +101,6 @@ public class RefreshModel {
}
}
- /**
- * 查询在线车辆
- *
- * @param latLng 经纬度
- * @param radius 半径
- * @param onlyFocus 是否仅查询已关注的好友
- * @param onlySameCity 是否仅查询注册城市相同的同城用户
- * @param callback
- */
- public void queryOnLineCar( MogoLatLng latLng,
- int radius,
- boolean onlyFocus,
- boolean onlySameCity,
- final RefreshCallback callback ) {
- if ( mRefreshApiService != null ) {
- final Map< String, Object > query = new ParamsProvider.Builder( mContext ).build();
- final RefreshBody refreshBody = new RefreshBody();
- refreshBody.limit = 100;
- refreshBody.location = new RefreshBody.LatLon( latLng.lat, latLng.lng );
- refreshBody.radius = radius;
- refreshBody.onlyFocus = onlyFocus;
- refreshBody.onlySameCity = onlySameCity;
- refreshBody.dataType.add( ServiceConst.CARD_TYPE_USER_DATA );
-
- query.put( "data", GsonUtil.jsonFromObject( refreshBody ) );
- mRefreshApiService.refreshData( query )
- .subscribeOn( Schedulers.io() )
- .observeOn( AndroidSchedulers.mainThread() )
- .subscribe( new SubscribeImpl< BaseData >( RequestOptions.create( mContext ) ) {
- @Override
- public void onSuccess( BaseData o ) {
- super.onSuccess( o );
- if ( callback != null ) {
- callback.onSuccess( o );
- }
- }
-
- @Override
- public void onError( String message, int code ) {
- super.onError( message, code );
- if ( callback != null ) {
- callback.onFail();
- }
- }
- } );
- }
- }
-
-
/**
* 查询车辆 及路线
*
@@ -171,6 +122,7 @@ public class RefreshModel {
if ( limit > 0 ) {
refreshBody.limit = limit;
}
+ refreshBody.radius = radius;
refreshBody.location = new RefreshBody.LatLon( latLng.lat, latLng.lng );
refreshBody.onlyFocus = onlyFocus;
refreshBody.onlySameCity = onlySameCity;
diff --git a/services/mogo-service/src/main/java/com/mogo/service/impl/adas/MogoADASController.java b/services/mogo-service/src/main/java/com/mogo/service/impl/adas/MogoADASController.java
index aa344adc0b..f44ab838d0 100644
--- a/services/mogo-service/src/main/java/com/mogo/service/impl/adas/MogoADASController.java
+++ b/services/mogo-service/src/main/java/com/mogo/service/impl/adas/MogoADASController.java
@@ -67,8 +67,8 @@ public class MogoADASController implements IMogoADASController {
Logger.d( TAG, "show adas" );
if ( !isProcessRunning( AbsMogoApplication.getApp(), getPackageUid( AbsMogoApplication.getApp(), "com.zhidiao.autopilot" ) ) ) {
- init( AbsMogoApplication.getApp() );
}
+ init( AbsMogoApplication.getApp() );
if ( mStatusManager.isSearchUIShow() ) {
return;
diff --git a/upload.sh b/upload.sh
index 1b56049a7e..f2d05856f2 100755
--- a/upload.sh
+++ b/upload.sh
@@ -6,7 +6,7 @@
./gradlew :services:mogo-service-api:clean :services:mogo-service-api:uploadArchives
./gradlew :foudations:mogo-connection:clean :foudations:mogo-connection:uploadArchives
./gradlew :libraries:map-amap:clean :libraries:map-amap:uploadArchives
-./gradlew :libraries:map-autommap:clean :libraries:map-autommap:uploadArchives
+./gradlew :libraries:map-autonavi:clean :libraries:map-autonavi:uploadArchives
./gradlew :libraries:mogo-map:clean :libraries:mogo-map:uploadArchives
./gradlew :services:mogo-service:clean :services:mogo-service:uploadArchives
./gradlew :modules:mogo-module-common:clean :modules:mogo-module-common:uploadArchives
@@ -18,8 +18,9 @@
./gradlew :modules:mogo-module-extensions:clean :modules:mogo-module-extensions:uploadArchives
./gradlew :modules:mogo-module-gps-simulator:clean :modules:mogo-module-gps-simulator:uploadArchives
./gradlew :modules:mogo-module-search:clean :modules:mogo-module-search:uploadArchives
-./gradlew :modules:mogo-module-main:clean :modules:mogo-module-main:uploadArchives
+./gradlew :modules:mogo-module-media:clean :modules:mogo-module-media:uploadArchives
./gradlew :modules:mogo-module-back:clean :modules:mogo-module-back:uploadArchives
+./gradlew :modules:mogo-module-main:clean :modules:mogo-module-main:uploadArchives
./gradlew :modules:mogo-module-guide:clean :modules:mogo-module-guide:uploadArchives
./gradlew :modules:mogo-module-gps-simulator-debug:clean :modules:mogo-module-gps-simulator-debug:uploadArchives
./gradlew :modules:mogo-module-gps-simulator-noop:clean :modules:mogo-module-gps-simulator-noop:uploadArchives