diff --git a/.idea/misc.xml b/.idea/misc.xml
index 2dc54c489f..707ee6e613 100644
--- a/.idea/misc.xml
+++ b/.idea/misc.xml
@@ -1,6 +1,6 @@
-
+
\ No newline at end of file
diff --git a/app/src/nwd/AndroidManifest.xml b/app/src/nwd/AndroidManifest.xml
index c11d678710..ba50fd7bec 100644
--- a/app/src/nwd/AndroidManifest.xml
+++ b/app/src/nwd/AndroidManifest.xml
@@ -4,7 +4,6 @@
package="com.mogo.launcher"
android:sharedUserId="android.uid.system">
-
20 ) {
+ mDefaultZoomLevel = 20;
+ }
} else {
- mMapView.zoomOut();
+ mDefaultZoomLevel -= 1.5f;
+ if ( mDefaultZoomLevel < 1 ) {
+ mDefaultZoomLevel = 1;
+ }
}
- Logger.i( TAG, "mapview zoom = " + mMapView.getMap().getCameraPosition().zoom );
+ changeZoom( mDefaultZoomLevel );
+ Logger.i( TAG, "mapview zoom = " + mDefaultZoomLevel );
}
}
diff --git a/modules/mogo-module-extensions/src/main/java/com/mogo/module/extensions/entrance/EntranceFragment.java b/modules/mogo-module-extensions/src/main/java/com/mogo/module/extensions/entrance/EntranceFragment.java
index a2bba90a73..be606e22e7 100644
--- a/modules/mogo-module-extensions/src/main/java/com/mogo/module/extensions/entrance/EntranceFragment.java
+++ b/modules/mogo-module-extensions/src/main/java/com/mogo/module/extensions/entrance/EntranceFragment.java
@@ -2,6 +2,7 @@ package com.mogo.module.extensions.entrance;
import android.content.Intent;
import android.graphics.Color;
+import android.graphics.Rect;
import android.os.Bundle;
import android.text.TextUtils;
import android.util.Log;
@@ -54,6 +55,7 @@ import com.mogo.service.module.IMogoAddressManager;
import com.mogo.service.module.IMogoModuleProvider;
import com.mogo.service.module.IMogoRegisterCenter;
import com.mogo.service.statusmanager.IMogoStatusManager;
+import com.mogo.utils.WindowUtils;
import java.util.ArrayList;
import java.util.Arrays;
@@ -61,6 +63,8 @@ import java.util.HashMap;
import java.util.List;
import java.util.Map;
+import retrofit2.http.HEAD;
+
/**
* @author congtaowang
* @since 2020-01-07
@@ -117,6 +121,7 @@ public class EntranceFragment extends MvpFragment< EntranceView, EntrancePresent
private TextView ivMode;
private IMogoPolyline iMogoPolyline;
+ public static boolean isClickShare;
@Override
protected int getLayoutId() {
@@ -127,9 +132,9 @@ public class EntranceFragment extends MvpFragment< EntranceView, EntrancePresent
protected void initViews() {
mApis = ( IMogoServiceApis ) ARouter.getInstance().build( MogoServicePaths.PATH_SERVICE_APIS ).navigation( getContext() );
mIMogoAuthorizeModuleManager = (IMogoAuthorizeModuleManager) ARouter.getInstance().build(AuthorizeConstant.PROVIDER_MODULE).navigation(getContext());
- mIMogoAuthorizeModuleManager.registerAuthorizeListener(AuthorizeInvokerConstant.AUTHORIZE_TYPE_LAUNCHER_SHARE_NOVELTY, this);
+ mIMogoAuthorizeModuleManager.registerAuthorizeListener(AuthorizeInvokerConstant.AUTHORIZE_TYPE_LAUNCHER_SHARE, this);
- mEntrancePresenter = new EntrancePresenter(getContext(), this, mIMogoAuthorizeModuleManager);
+ mEntrancePresenter = new EntrancePresenter( getContext(), this, mIMogoAuthorizeModuleManager );
mMogoFragmentManager = mApis.getFragmentManagerApi();
mMogoAddressManager = mApis.getAddressManagerApi();
@@ -138,7 +143,7 @@ public class EntranceFragment extends MvpFragment< EntranceView, EntrancePresent
mSearch = findViewById( R.id.module_entrance_id_search );
mSearch.setOnClickListener( view -> {
- setMarkerStatus(true);
+ setMarkerStatus( true );
mSearchProvider = ( IMogoModuleProvider ) ARouter.getInstance()
.build( MogoModulePaths.PATH_MODULE_SEARCH )
.navigation();
@@ -153,7 +158,7 @@ public class EntranceFragment extends MvpFragment< EntranceView, EntrancePresent
mHome = findViewById( R.id.module_entrance_id_home );
mHome.setOnClickListener( view -> {
- setMarkerStatus(true);
+ setMarkerStatus( true );
mMogoAddressManager.goHome();
mApis.getAdasControllerApi().closeADAS();
@@ -161,7 +166,7 @@ public class EntranceFragment extends MvpFragment< EntranceView, EntrancePresent
mCompany = findViewById( R.id.module_entrance_id_company );
mCompany.setOnClickListener( view -> {
- setMarkerStatus(true);
+ setMarkerStatus( true );
mMogoAddressManager.goCompany();
mApis.getAdasControllerApi().closeADAS();
@@ -169,11 +174,36 @@ public class EntranceFragment extends MvpFragment< EntranceView, EntrancePresent
mUploadRoadCondition = findViewById( R.id.module_entrance_id_upload_road_condition );
mUploadRoadCondition.setOnClickListener( view -> {
- ShareControl.getInstance( getActivity() ).showDialog();
- traceData( "1" );
+ isClickShare = true;
+ if (mIMogoAuthorizeModuleManager.needAuthorize()) {
+ mIMogoAuthorizeModuleManager.invokeAuthorization(AuthorizeInvokerConstant.AUTHORIZE_TYPE_LAUNCHER_SHARE);
+ } else {
+ ShareControl.getInstance( getActivity() ).showDialog();
+ traceData( "1" );
+ }
} );
mVRMode = findViewById( R.id.module_entrance_id_vr_mode );
mVRMode.setOnClickListener( view -> {
+
+ mMogoStatusManager.setUserInteractionStatus( TAG, true, false );
+ Rect mBoundRect = new Rect();
+ final int paddingTop = WindowUtils.dip2px( getContext(), 250 );
+ final int paddingBottom = WindowUtils.dip2px( getContext(), 150 );
+ final int paddingRight = WindowUtils.dip2px( getContext(), 150 );
+ final int paddingLeft = WindowUtils.dip2px( getContext(), 650 );
+
+ mBoundRect.bottom = paddingBottom;
+ mBoundRect.top = paddingTop;
+ mBoundRect.left = paddingLeft;
+ mBoundRect.right = paddingRight;
+ mMApUIController.showBounds( TAG,
+ new MogoLatLng(
+ mService.getSingletonLocationClient( getContext() ).getLastKnowLocation().getLatitude(),
+ mService.getSingletonLocationClient( getContext() ).getLastKnowLocation().getLongitude()
+ ),
+ Arrays.asList( new MogoLatLng( 39.9736012000, 116.4220762300 ) ),
+ mBoundRect,
+ false );
} );
mMove2CurrentLocation = findViewById( R.id.module_entrance_id_move2_current_location );
@@ -223,36 +253,38 @@ public class EntranceFragment extends MvpFragment< EntranceView, EntrancePresent
mSpeedLimitUnit = findViewById( R.id.module_entrance_id_speed_limit_unit );
- mApis.getIntentManagerApi().registerIntentListener(AUTONAVI_STANDARD_BROADCAST_RECV, new IMogoIntentListener() {
- @Override public void onIntentReceived(String intentStr, Intent intent) {
- int key_type = intent.getIntExtra("KEY_TYPE", 0);
+ mApis.getIntentManagerApi().registerIntentListener( AUTONAVI_STANDARD_BROADCAST_RECV, new IMogoIntentListener() {
+ @Override
+ public void onIntentReceived( String intentStr, Intent intent ) {
+ int key_type = intent.getIntExtra( "KEY_TYPE", 0 );
- int type = intent.getIntExtra("EXTRA_TYPE", -1);
- int opera_type = intent.getIntExtra("EXTRA_OPERA", -1);
- if (key_type == 10027) {
- if (opera_type == 0) {
- ivMode.setSelected(false);
- } else if (opera_type == 1) {
- ivMode.setSelected(true);
+ int type = intent.getIntExtra( "EXTRA_TYPE", -1 );
+ int opera_type = intent.getIntExtra( "EXTRA_OPERA", -1 );
+ if ( key_type == 10027 ) {
+ if ( opera_type == 0 ) {
+ ivMode.setSelected( false );
+ } else if ( opera_type == 1 ) {
+ ivMode.setSelected( true );
}
ivMode.setText(
- getString( ivMode.isSelected() ? R.string.mode_car_up : R.string.mode_north_up ) );
+ getString( ivMode.isSelected() ? R.string.mode_car_up : R.string.mode_north_up ) );
}
}
- });
+ } );
}
- protected void setMarkerStatus(boolean show){
+ protected void setMarkerStatus( boolean show ) {
mMogoStatusManager.setSearchUIShow(
- MogoModulePaths.PATH_FRAGMENT_SEARCH_CATEGORY, show
+ MogoModulePaths.PATH_FRAGMENT_SEARCH_CATEGORY, show
);
}
private static final String AUTONAVI_STANDARD_BROADCAST_RECV =
- "AUTONAVI_STANDARD_BROADCAST_RECV";
+ "AUTONAVI_STANDARD_BROADCAST_RECV";
+
@NonNull
@Override
protected EntrancePresenter createPresenter() {
@@ -280,28 +312,34 @@ public class EntranceFragment extends MvpFragment< EntranceView, EntrancePresent
@Override
public void onDestroyView() {
super.onDestroyView();
- if (mEntrancePresenter != null) {
+ if ( mEntrancePresenter != null ) {
mEntrancePresenter.unregisterUnWake();
}
- mIMogoAuthorizeModuleManager.unregisterAuthorizeListener(AuthorizeInvokerConstant.AUTHORIZE_TYPE_LAUNCHER_SHARE_NOVELTY);
+ isClickShare = false;
+ mIMogoAuthorizeModuleManager.unregisterAuthorizeListener(AuthorizeInvokerConstant.AUTHORIZE_TYPE_LAUNCHER_SHARE);
}
@Override
public void authorizeSuccess() {
- Log.d(TAG, "authorizeSuccess --------> ");
- mEntrancePresenter.handleNeedAuthorizeCmd();
+ Log.d(TAG, "authorizeSuccess --------> isClickShare = " + isClickShare);
+ if (isClickShare) {
+ ShareControl.getInstance( getActivity() ).showDialog();
+ traceData( "1" );
+ } else {
+ mEntrancePresenter.handleNeedAuthorizeCmd();
+ }
}
@Override
- public void authorizeFailed(String errorMsg) {
- Log.e(TAG, "authorizeFailed --------> ");
+ public void authorizeFailed( String errorMsg ) {
+ Log.e( TAG, "authorizeFailed --------> " );
}
@Override
- public void forbiddenVoiceWhenAuthorize(String cmd) {
- Log.d(TAG, "forbiddenVoiceWhenAuthorize --------> ");
+ public void forbiddenVoiceWhenAuthorize( String cmd ) {
+ Log.d( TAG, "forbiddenVoiceWhenAuthorize --------> " );
}
@@ -328,7 +366,7 @@ public class EntranceFragment extends MvpFragment< EntranceView, EntrancePresent
ivMode.setVisibility( View.VISIBLE );
mExitNavi.setVisibility( View.VISIBLE );
mMApUIController.setPointToCenter( 0.675926, 0.77552 );
- mMApUIController.changeMapMode(ivMode.isSelected()?EnumMapUI.NorthUP_2D :EnumMapUI.CarUp_2D );
+ mMApUIController.changeMapMode( ivMode.isSelected() ? EnumMapUI.NorthUP_2D : EnumMapUI.CarUp_2D );
}
@Override
@@ -339,7 +377,7 @@ public class EntranceFragment extends MvpFragment< EntranceView, EntrancePresent
mExitNavi.setVisibility( View.GONE );
mSpeedLimit.setVisibility( View.GONE );
mMApUIController.setPointToCenter( 0.66145, 0.590688 );
- mMApUIController.changeMapMode(EnumMapUI.NorthUP_2D);
+ mMApUIController.changeMapMode( EnumMapUI.NorthUP_2D );
}
@Override
diff --git a/modules/mogo-module-extensions/src/main/java/com/mogo/module/extensions/entrance/EntrancePresenter.java b/modules/mogo-module-extensions/src/main/java/com/mogo/module/extensions/entrance/EntrancePresenter.java
index 00d5b691a4..fb797472a5 100644
--- a/modules/mogo-module-extensions/src/main/java/com/mogo/module/extensions/entrance/EntrancePresenter.java
+++ b/modules/mogo-module-extensions/src/main/java/com/mogo/module/extensions/entrance/EntrancePresenter.java
@@ -76,28 +76,30 @@ public class EntrancePresenter extends Presenter {
public void onCmdSelected(String cmd) {
Log.d(TAG, "免唤醒 mogoVoiceListener needAuthorize = " + mIMogoAuthorizeModuleManager.needAuthorize() + " >>>cmd = " + cmd);
mVoiceCmdType = cmd;
+ EntranceFragment.isClickShare = false;
+
if (cmd.equals(ExtensionsModuleConst.CANCLE_SHARE)
|| cmd.equals(ExtensionsModuleConst.CLOSE)) { //取消分享,关闭页面
if (mIMogoAuthorizeModuleManager.needAuthorize()) {
- mIMogoAuthorizeModuleManager.invokeAuthorization(AuthorizeInvokerConstant.AUTHORIZE_TYPE_LAUNCHER_SHARE_NOVELTY);
+ mIMogoAuthorizeModuleManager.invokeAuthorization(AuthorizeInvokerConstant.AUTHORIZE_TYPE_LAUNCHER_SHARE);
} else {
ShareControl.getInstance(mContext).dismissDialog();
}
} else if (cmd.equals(ExtensionsModuleConst.UPLOAD_ROAD_BLOCK)) { //上报拥堵
if (mIMogoAuthorizeModuleManager.needAuthorize()) {
- mIMogoAuthorizeModuleManager.invokeAuthorization(AuthorizeInvokerConstant.AUTHORIZE_TYPE_LAUNCHER_SHARE_NOVELTY);
+ mIMogoAuthorizeModuleManager.invokeAuthorization(AuthorizeInvokerConstant.AUTHORIZE_TYPE_LAUNCHER_SHARE);
} else {
uploadRoadCondition();
}
} else if (cmd.equals(ExtensionsModuleConst.UPLOAD_TRAFFIC_CHECK)) { //上报交通检查
if (mIMogoAuthorizeModuleManager.needAuthorize()) {
- mIMogoAuthorizeModuleManager.invokeAuthorization(AuthorizeInvokerConstant.AUTHORIZE_TYPE_LAUNCHER_SHARE_NOVELTY);
+ mIMogoAuthorizeModuleManager.invokeAuthorization(AuthorizeInvokerConstant.AUTHORIZE_TYPE_LAUNCHER_SHARE);
} else {
uploadTrfficCheck();
}
} else if (cmd.equals(ExtensionsModuleConst.UPLOAD_ROAD_CLOSURE)) { //上报封路
if (mIMogoAuthorizeModuleManager.needAuthorize()) {
- mIMogoAuthorizeModuleManager.invokeAuthorization(AuthorizeInvokerConstant.AUTHORIZE_TYPE_LAUNCHER_SHARE_NOVELTY);
+ mIMogoAuthorizeModuleManager.invokeAuthorization(AuthorizeInvokerConstant.AUTHORIZE_TYPE_LAUNCHER_SHARE);
} else {
uploadRoadClosed();
}
@@ -140,6 +142,8 @@ public class EntrancePresenter extends Presenter {
@Override
public void onIntentReceived(String intentStr, Intent intent) {
mVoiceCmdType = intentStr;
+ EntranceFragment.isClickShare = false;
+
String data = intent.getStringExtra("data");
Log.d(TAG, "唤醒 mogoIntentListener intentStr =" + intentStr + ">>data =" + data + " >>> needAuthorize = " + mIMogoAuthorizeModuleManager.needAuthorize());
if (intentStr.equals(ExtensionsModuleConst.GO_TO_SHARE)) { //我要分享 --ok
@@ -153,21 +157,21 @@ public class EntrancePresenter extends Presenter {
if (!TextUtils.isEmpty(typeString)) {
if (typeString.equals("封路")) {
if (mIMogoAuthorizeModuleManager.needAuthorize()) {
- mIMogoAuthorizeModuleManager.invokeAuthorization(AuthorizeInvokerConstant.AUTHORIZE_TYPE_LAUNCHER_SHARE_NOVELTY);
+ mIMogoAuthorizeModuleManager.invokeAuthorization(AuthorizeInvokerConstant.AUTHORIZE_TYPE_LAUNCHER_SHARE);
} else {
Log.d(TAG, "mogoIntentListener 封路 -------> ");
uploadRoadClosed();
}
} else if (typeString.equals("油价")) {
if (mIMogoAuthorizeModuleManager.needAuthorize()) {
- mIMogoAuthorizeModuleManager.invokeAuthorization(AuthorizeInvokerConstant.AUTHORIZE_TYPE_LAUNCHER_SHARE_NOVELTY);
+ mIMogoAuthorizeModuleManager.invokeAuthorization(AuthorizeInvokerConstant.AUTHORIZE_TYPE_LAUNCHER_SHARE);
} else {
Log.d(TAG, "mogoIntentListener 油价 -------> ");
shareOilPrice();
}
} else if (typeString.equals("交通检查")) {
if (mIMogoAuthorizeModuleManager.needAuthorize()) {
- mIMogoAuthorizeModuleManager.invokeAuthorization(AuthorizeInvokerConstant.AUTHORIZE_TYPE_LAUNCHER_SHARE_NOVELTY);
+ mIMogoAuthorizeModuleManager.invokeAuthorization(AuthorizeInvokerConstant.AUTHORIZE_TYPE_LAUNCHER_SHARE);
} else {
Log.d(TAG, "mogoIntentListener 交通检查 -------> ");
uploadTrfficCheck();
@@ -175,7 +179,7 @@ public class EntrancePresenter extends Presenter {
}
} else {
if (mIMogoAuthorizeModuleManager.needAuthorize()) {
- mIMogoAuthorizeModuleManager.invokeAuthorization(AuthorizeInvokerConstant.AUTHORIZE_TYPE_LAUNCHER_SHARE_NOVELTY);
+ mIMogoAuthorizeModuleManager.invokeAuthorization(AuthorizeInvokerConstant.AUTHORIZE_TYPE_LAUNCHER_SHARE);
} else {
ShareControl.getInstance(mContext).showDialog();
Log.d(TAG, "mogoIntentListener 我要分享 ----> ");
@@ -188,14 +192,14 @@ public class EntrancePresenter extends Presenter {
} else if (intentStr.equals(ExtensionsModuleConst.UPLOAD_ROAD_CONDITION_AWAKEN)) {
//分享路况/上报路况/上报拥堵 唤醒
if (mIMogoAuthorizeModuleManager.needAuthorize()) {
- mIMogoAuthorizeModuleManager.invokeAuthorization(AuthorizeInvokerConstant.AUTHORIZE_TYPE_LAUNCHER_SHARE_NOVELTY);
+ mIMogoAuthorizeModuleManager.invokeAuthorization(AuthorizeInvokerConstant.AUTHORIZE_TYPE_LAUNCHER_SHARE);
} else {
uploadRoadCondition();
Log.d(TAG, "mogoIntentListener 分享路况 唤醒 ----> ");
}
} else if (intentStr.equals(ExtensionsModuleConst.SHARE_DIALOG_CLOSE)) { //关闭分享框 唤醒
if (mIMogoAuthorizeModuleManager.needAuthorize()) {
- mIMogoAuthorizeModuleManager.invokeAuthorization(AuthorizeInvokerConstant.AUTHORIZE_TYPE_LAUNCHER_SHARE_NOVELTY);
+ mIMogoAuthorizeModuleManager.invokeAuthorization(AuthorizeInvokerConstant.AUTHORIZE_TYPE_LAUNCHER_SHARE);
} else {
ShareControl.getInstance(mContext).dismissDialog();
Log.d(TAG, "mogoIntentListener 关闭分享框 唤醒 ----> ");
@@ -203,13 +207,17 @@ public class EntrancePresenter extends Presenter {
} else if (intentStr.equals(ExtensionsModuleConst.NO_REPLY_SHARE_DIALOG_CLOSE)) {
// 两次未回复关闭对话框
if (mIMogoAuthorizeModuleManager.needAuthorize()) {
- mIMogoAuthorizeModuleManager.invokeAuthorization(AuthorizeInvokerConstant.AUTHORIZE_TYPE_LAUNCHER_SHARE_NOVELTY);
+ mIMogoAuthorizeModuleManager.invokeAuthorization(AuthorizeInvokerConstant.AUTHORIZE_TYPE_LAUNCHER_SHARE);
} else {
ShareControl.getInstance(mContext).dismissDialog();
Logger.d(TAG, "mogoIntentListener 两次未回复关闭对话框");
}
} else if (intentStr.equals(ExtensionsModuleConst.UPLOAD_ROAD_CONDITION)) { //上报路况 免唤醒 --ok
+ if (mIMogoAuthorizeModuleManager.needAuthorize()) {
+ mIMogoAuthorizeModuleManager.invokeAuthorization(AuthorizeInvokerConstant.AUTHORIZE_TYPE_LAUNCHER_SHARE);
+ } else {
uploadRoadCondition();
+ }
}
}
};
diff --git a/modules/mogo-module-extensions/src/main/res/drawable-ldpi/module_ext_ic_right_arrow.png b/modules/mogo-module-extensions/src/main/res/drawable-ldpi/module_ext_ic_right_arrow.png
new file mode 100644
index 0000000000..348a125779
Binary files /dev/null and b/modules/mogo-module-extensions/src/main/res/drawable-ldpi/module_ext_ic_right_arrow.png differ
diff --git a/modules/mogo-module-extensions/src/main/res/drawable-xhdpi/module_ext_ic_right_arrow.png b/modules/mogo-module-extensions/src/main/res/drawable-xhdpi/module_ext_ic_right_arrow.png
new file mode 100644
index 0000000000..3482d56ece
Binary files /dev/null and b/modules/mogo-module-extensions/src/main/res/drawable-xhdpi/module_ext_ic_right_arrow.png differ
diff --git a/modules/mogo-module-extensions/src/main/res/drawable/module_ext_dw_grey_bottom_bkg.xml b/modules/mogo-module-extensions/src/main/res/drawable/module_ext_dw_grey_bottom_bkg.xml
new file mode 100644
index 0000000000..68f51f1d56
--- /dev/null
+++ b/modules/mogo-module-extensions/src/main/res/drawable/module_ext_dw_grey_bottom_bkg.xml
@@ -0,0 +1,5 @@
+
+
+
+
+
diff --git a/modules/mogo-module-extensions/src/main/res/layout/module_ext_layout_entrance.xml b/modules/mogo-module-extensions/src/main/res/layout/module_ext_layout_entrance.xml
index 2fb0371afd..46c37d2177 100644
--- a/modules/mogo-module-extensions/src/main/res/layout/module_ext_layout_entrance.xml
+++ b/modules/mogo-module-extensions/src/main/res/layout/module_ext_layout_entrance.xml
@@ -146,7 +146,7 @@
android:layout_height="@dimen/module_ext_operation_panel_vr_height"
android:background="@drawable/module_ext_dw_top_corner_bkg"
android:orientation="vertical"
- android:visibility="gone">
+ android:visibility="visible">
+ app:layout_constraintTop_toTopOf="parent" />
-
-
-
-
+ app:layout_constraintTop_toTopOf="parent">
+
+
+
+
+
+
+ android:textColor="#FFFFFF"
+ android:textSize="@dimen/module_ext_weather_temp_desc_textSize" />
24px
15px
+
+ 9px
+ 9px
+ 18px
+ 18px
+ -1px
\ 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 05f3fc78bc..faf483cc84 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
@@ -88,4 +88,10 @@
24px
28px
+ 17px
+ 17px
+ 36px
+ 36px
+ -2px
+
\ No newline at end of file
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 bb5f4d1780..5e54d8ef68 100644
--- a/modules/mogo-module-extensions/src/main/res/values/dimens.xml
+++ b/modules/mogo-module-extensions/src/main/res/values/dimens.xml
@@ -88,4 +88,10 @@
24px
28px
+ 17px
+ 17px
+ 36px
+ 36px
+ -2px
+
\ No newline at end of file
diff --git a/modules/mogo-module-extensions/src/main/res/values/strings.xml b/modules/mogo-module-extensions/src/main/res/values/strings.xml
index 52dbe4bee8..bb5d91252c 100644
--- a/modules/mogo-module-extensions/src/main/res/values/strings.xml
+++ b/modules/mogo-module-extensions/src/main/res/values/strings.xml
@@ -20,28 +20,31 @@
退出导航
继续导航
退出全览
- 车头
- 正北
+ 车头
+ 正北
-
+
- 你好小智,播放音乐
- - 你好小智,我要听音乐
- 你好小智,播放赵磊的歌
- 你好小智,我想听成都
- 你好小智,打开导航
- - 你好小智,我要去拉萨
+ - 你好小智,我要回家
- 你好小智,我要去加油站
- 你好小智,导航去西单商场
- 你好小智,打开行车记录仪
- 你好小智,打开收音机
- 你好小智,调频到97.4
- - 你好小智,调频到103.9
- 你好小智,今天天气怎么样
- - 你好小智,北京明天天气怎么样
- 你好小智,打开车聊聊
- 你好小智,我想聊天
- 你好小智,中关村堵不堵
- - 你好小智,打开探路
- - 你好小智,附近路况
+ - 你好小智,前方路况怎么样
+ - 你好小智,上报路况
+ - 你好小智,分享这首歌
+ - 你好小智,打开辅助驾驶
+ - 你好小智,查询附近的人
+ - 你好小智,音量开到百分之三十
+ - 你好小智,打开全部应用
+ - 你好小智,返回桌面
diff --git a/modules/mogo-module-main/src/main/java/com/mogo/module/main/cards/CardIntroduceConfigs.java b/modules/mogo-module-main/src/main/java/com/mogo/module/main/cards/CardIntroduceConfigs.java
index 3c928968d1..70124fa932 100644
--- a/modules/mogo-module-main/src/main/java/com/mogo/module/main/cards/CardIntroduceConfigs.java
+++ b/modules/mogo-module-main/src/main/java/com/mogo/module/main/cards/CardIntroduceConfigs.java
@@ -5,6 +5,7 @@ import android.content.Context;
import com.mogo.commons.voice.AIAssist;
import com.mogo.commons.voice.VoicePreemptType;
import com.mogo.module.common.ModuleNames;
+import com.mogo.service.statusmanager.IMogoStatusManager;
import com.mogo.utils.CommonUtils;
import com.mogo.utils.WorkThreadHandler;
import com.mogo.utils.logger.Logger;
@@ -30,6 +31,7 @@ public class CardIntroduceConfigs {
public static String sBroadcastConfigKey;
public static Map< String, CardIntroduceConfig > sConfigs = new HashMap<>();
+ private static IMogoStatusManager sStatusManager;
static {
sConfigs.put( ModuleNames.CARD_TYPE_BUSINESS_OPERATION, new CardIntroduceConfig( ModuleNames.CARD_TYPE_BUSINESS_OPERATION, "", 3 ) );
@@ -40,8 +42,8 @@ public class CardIntroduceConfigs {
sConfigs.put( ModuleNames.CARD_TYPE_NOVELTY, new CardIntroduceConfig( ModuleNames.CARD_TYPE_NOVELTY, "新鲜事,邀你给同城车友分享沿途封路、拥堵消息", 0 ) );
}
- public static void init( Context context ) {
-
+ public static void init( Context context, IMogoStatusManager manager ) {
+ sStatusManager = manager;
WorkThreadHandler.getInstance().post( () -> {
sBroadcastConfigKey = KEY_VOICE_BROADCAST_CONFIG + CommonUtils.getVersionCode( context );
String configsStr = SharedPrefsMgr.getInstance( context ).getString( sBroadcastConfigKey );
@@ -58,16 +60,24 @@ public class CardIntroduceConfigs {
} );
}
- public static void broadcast( Context context, String type ) {
+ public static void broadcastCardIntroduce( Context context, String type ) {
if ( sConfigs.get( type ) == null ) {
Logger.d( TAG, "un support %s", type );
return;
}
+
if ( sConfigs.get( type ).broadcastAmount >= 3 ) {
- Logger.d( TAG, "do not broadcast %s cast amount = %s", type, type );
+ Logger.d( TAG, "do not broadcastCardIntroduce %s cast amount = %s", type, type );
return;
}
+ if ( sStatusManager != null ) {
+ if ( !sStatusManager.isAIAssistReady() ) {
+ Logger.w( TAG, "ai assist not ready: %s", type );
+ return;
+ }
+ }
+
CardIntroduceConfig config = sConfigs.get( type );
config.broadcastAmount++;
diff --git a/modules/mogo-module-main/src/main/java/com/mogo/module/main/cards/MogoModulesManager.java b/modules/mogo-module-main/src/main/java/com/mogo/module/main/cards/MogoModulesManager.java
index fb8370c364..94c87acb14 100644
--- a/modules/mogo-module-main/src/main/java/com/mogo/module/main/cards/MogoModulesManager.java
+++ b/modules/mogo-module-main/src/main/java/com/mogo/module/main/cards/MogoModulesManager.java
@@ -39,9 +39,7 @@ import com.mogo.service.intent.IMogoIntentManager;
import com.mogo.service.module.IMogoModuleLifecycle;
import com.mogo.service.module.IMogoModuleProvider;
import com.mogo.service.module.ModuleType;
-import com.mogo.utils.CommonUtils;
import com.mogo.utils.ResourcesHelper;
-import com.mogo.utils.WorkThreadHandler;
import com.mogo.utils.logger.Logger;
import com.mogo.utils.network.utils.GsonUtil;
import com.mogo.utils.storage.SharedPrefsMgr;
@@ -97,7 +95,7 @@ public class MogoModulesManager implements MogoModulesHandler,
mMogoIntentManager = apis.getIntentManagerApi();
registerReceiver();
- CardIntroduceConfigs.init( getContext() );
+ CardIntroduceConfigs.init( getContext(), apis.getStatusManagerApi() );
}
private Context getContext() {
@@ -283,7 +281,7 @@ public class MogoModulesManager implements MogoModulesHandler,
SharedPrefsMgr.getInstance( getContext() ).putString( KEY_SORTED_CARD_MODULES, GsonUtil.jsonFromObject( mSortedCards ) );
Log.i( TAG, "enable & disable card cost " + ( System.currentTimeMillis() - start1 ) + "ms" );
- CardIntroduceConfigs.broadcast( mActivity, mEnableModuleName );
+ CardIntroduceConfigs.broadcastCardIntroduce( mActivity, mEnableModuleName );
}
@Override
diff --git a/modules/mogo-module-main/src/main/res/drawable/module_main_dw_top_frame_bkg.xml b/modules/mogo-module-main/src/main/res/drawable/module_main_dw_top_frame_bkg.xml
index f9f2d1743c..96231332f1 100644
--- a/modules/mogo-module-main/src/main/res/drawable/module_main_dw_top_frame_bkg.xml
+++ b/modules/mogo-module-main/src/main/res/drawable/module_main_dw_top_frame_bkg.xml
@@ -2,7 +2,7 @@
-
-
+
\ No newline at end of file
diff --git a/modules/mogo-module-map/src/main/java/com/mogo/module/map/MapPresenter.java b/modules/mogo-module-map/src/main/java/com/mogo/module/map/MapPresenter.java
index 0ab0657e81..9de4be2d80 100644
--- a/modules/mogo-module-map/src/main/java/com/mogo/module/map/MapPresenter.java
+++ b/modules/mogo-module-map/src/main/java/com/mogo/module/map/MapPresenter.java
@@ -85,7 +85,7 @@ public class MapPresenter extends Presenter implements
}, 1_000 );
} else {
// 30s后锁车刷新
- mRefreshStrategyController.restartAutoRefreshAtTime( 30 );
+ mRefreshStrategyController.restartAutoRefreshAtTime( 30_000 );
}
} else if (type == 2) {
diff --git a/modules/mogo-module-service/src/main/java/com/mogo/module/service/MogoServices.java b/modules/mogo-module-service/src/main/java/com/mogo/module/service/MogoServices.java
index 9fb7bd3426..97b99a52ab 100644
--- a/modules/mogo-module-service/src/main/java/com/mogo/module/service/MogoServices.java
+++ b/modules/mogo-module-service/src/main/java/com/mogo/module/service/MogoServices.java
@@ -13,12 +13,14 @@ import android.os.Looper;
import android.os.Message;
import android.os.Trace;
import android.text.TextUtils;
+import android.util.Log;
import android.view.MotionEvent;
import android.view.View;
import androidx.annotation.NonNull;
import com.alibaba.android.arouter.launcher.ARouter;
+import com.mogo.commons.debug.DebugConfig;
import com.mogo.commons.voice.AIAssist;
import com.mogo.commons.voice.IMogoVoiceCmdCallBack;
import com.mogo.map.MogoLatLng;
@@ -451,6 +453,9 @@ public class MogoServices implements IMogoMapListener,
}
private void stopAutoRefreshStrategy() {
+ if ( DebugConfig.isDebug() ) {
+ Logger.d( TAG, Log.getStackTraceString( new Throwable() ) );
+ }
Logger.d( TAG, "stop auto refresh strategy" );
mHandler.removeMessages( ServiceConst.MSG_TYPE_REFRESH_DECREASE );
}
@@ -814,6 +819,7 @@ public class MogoServices implements IMogoMapListener,
}
} else if ( MogoReceiver.ACTION_VOICE_READY.equals( command ) ) {
AIAssist.getInstance( mContext ).flush();
+ mStatusManager.setAIAssistReady( TAG, true );
} else if ( ServiceConst.COMMAND_MY_LOCATION.equals( command ) ) {
if ( mStatusManager.isSearchUIShow() ) {
return;
@@ -907,12 +913,12 @@ public class MogoServices implements IMogoMapListener,
return;
}
mInternalUnWakeupRegisterStatus = true;
- AIAssist.getInstance( mContext )
- .registerUnWakeupCommand( ServiceConst.CMD_UN_WAKE_PREV,
- ServiceConst.CMD_UN_WAKE_PREV_UN_WAKE_WORDS, this );
- AIAssist.getInstance( mContext )
- .registerUnWakeupCommand( ServiceConst.CMD_UN_WAKE_NEXT,
- ServiceConst.CMD_UN_WAKE_NEXT_UN_WAKE_WORDS, this );
+// AIAssist.getInstance( mContext )
+// .registerUnWakeupCommand( ServiceConst.CMD_UN_WAKE_PREV,
+// ServiceConst.CMD_UN_WAKE_PREV_UN_WAKE_WORDS, this );
+// AIAssist.getInstance( mContext )
+// .registerUnWakeupCommand( ServiceConst.CMD_UN_WAKE_NEXT,
+// ServiceConst.CMD_UN_WAKE_NEXT_UN_WAKE_WORDS, this );
AIAssist.getInstance( mContext )
.registerUnWakeupCommand( ServiceConst.CMD_UN_WAKEUP_MY_LOCATION,
ServiceConst.CMD_UN_WAKEUP_WORDS_MY_LOCATION, this );
@@ -926,10 +932,10 @@ public class MogoServices implements IMogoMapListener,
return;
}
mInternalUnWakeupRegisterStatus = false;
- AIAssist.getInstance( mContext )
- .unregisterUnWakeupCommand( ServiceConst.CMD_UN_WAKE_PREV, this );
- AIAssist.getInstance( mContext )
- .unregisterUnWakeupCommand( ServiceConst.CMD_UN_WAKE_NEXT, this );
+// AIAssist.getInstance( mContext )
+// .unregisterUnWakeupCommand( ServiceConst.CMD_UN_WAKE_PREV, this );
+// AIAssist.getInstance( mContext )
+// .unregisterUnWakeupCommand( ServiceConst.CMD_UN_WAKE_NEXT, this );
AIAssist.getInstance( mContext )
.unregisterUnWakeupCommand( ServiceConst.CMD_UN_WAKEUP_MY_LOCATION, this );
}
@@ -974,7 +980,11 @@ public class MogoServices implements IMogoMapListener,
@Override
public void onTransaction( int size ) {
if ( size == 0 ) {
- mUiController.setPointToCenter( 0.66145, 0.661094 );
+ if ( mNavi.isNaviing() ) {
+ mUiController.setPointToCenter( 0.675926, 0.77552 );
+ } else {
+ mUiController.setPointToCenter( 0.66145, 0.661094 );
+ }
mUiController.showMyLocation( !mNavi.isNaviing() );
AIAssist.getInstance( mContext ).unregisterUnWakeupCommand( ServiceConst.CMD_BACK );
} else {
diff --git a/services/mogo-service-api/src/main/java/com/mogo/service/statusmanager/IMogoStatusManager.java b/services/mogo-service-api/src/main/java/com/mogo/service/statusmanager/IMogoStatusManager.java
index 0c4c379e3e..f749d793a6 100644
--- a/services/mogo-service-api/src/main/java/com/mogo/service/statusmanager/IMogoStatusManager.java
+++ b/services/mogo-service-api/src/main/java/com/mogo/service/statusmanager/IMogoStatusManager.java
@@ -77,6 +77,13 @@ public interface IMogoStatusManager extends IProvider {
*/
boolean isMainPageOnResume();
+ /**
+ * 小智语音是否准备完毕
+ *
+ * @return
+ */
+ boolean isAIAssistReady();
+
/**
* 设置小智语音UI状态
*
@@ -151,6 +158,14 @@ public interface IMogoStatusManager extends IProvider {
*/
void setMainPageResumeStatus( String tag, boolean resume );
+ /**
+ * 设置小智语音状态
+ *
+ * @param tag
+ * @param ready
+ */
+ void setAIAssistReady( String tag, boolean ready );
+
/**
* 注册监听
*
diff --git a/services/mogo-service-api/src/main/java/com/mogo/service/statusmanager/StatusDescriptor.java b/services/mogo-service-api/src/main/java/com/mogo/service/statusmanager/StatusDescriptor.java
index c1274c21a8..0f75d8d92f 100644
--- a/services/mogo-service-api/src/main/java/com/mogo/service/statusmanager/StatusDescriptor.java
+++ b/services/mogo-service-api/src/main/java/com/mogo/service/statusmanager/StatusDescriptor.java
@@ -54,5 +54,10 @@ public enum StatusDescriptor {
/**
* 主页 resume 状态
*/
- MAIN_PAGE_RESUME;
+ MAIN_PAGE_RESUME,
+
+ /**
+ * 小智语音状态
+ */
+ AI_ASSIST_READY;
}
diff --git a/services/mogo-service/src/main/java/com/mogo/service/impl/statusmanager/MogoStatusManager.java b/services/mogo-service/src/main/java/com/mogo/service/impl/statusmanager/MogoStatusManager.java
index 4802a529cb..0ac3f099db 100644
--- a/services/mogo-service/src/main/java/com/mogo/service/impl/statusmanager/MogoStatusManager.java
+++ b/services/mogo-service/src/main/java/com/mogo/service/impl/statusmanager/MogoStatusManager.java
@@ -94,6 +94,11 @@ public class MogoStatusManager implements IMogoStatusManager {
return get_bool_val( StatusDescriptor.MAIN_PAGE_RESUME );
}
+ @Override
+ public boolean isAIAssistReady() {
+ return get_bool_val( StatusDescriptor.AI_ASSIST_READY );
+ }
+
private boolean get_bool_val( StatusDescriptor descriptor ) {
Boolean val = mStatus.get( descriptor );
return val == null ? false : val;
@@ -165,6 +170,13 @@ public class MogoStatusManager implements IMogoStatusManager {
recordStatusModifier( tag, StatusDescriptor.MAIN_PAGE_RESUME );
}
+ @Override
+ public void setAIAssistReady( String tag, boolean ready ) {
+ mStatus.put( StatusDescriptor.AI_ASSIST_READY, ready );
+ invokeStatusChangedListener( StatusDescriptor.AI_ASSIST_READY, ready );
+ recordStatusModifier( tag, StatusDescriptor.AI_ASSIST_READY );
+ }
+
private void invokeStatusChangedListener( StatusDescriptor descriptor, boolean status ) {
if ( mListeners.containsKey( descriptor ) ) {
Iterator< IMogoStatusChangedListener > iterator = mListeners.get( descriptor ).iterator();