diff --git a/modules/mogo-module-apps/src/main/res/drawable-ldpi/module_apps_ic_navigator_applist.png b/modules/mogo-module-apps/src/main/res/drawable-ldpi/module_apps_ic_navigator_applist.png
old mode 100755
new mode 100644
index 205ed11e64..f884758d3d
Binary files a/modules/mogo-module-apps/src/main/res/drawable-ldpi/module_apps_ic_navigator_applist.png and b/modules/mogo-module-apps/src/main/res/drawable-ldpi/module_apps_ic_navigator_applist.png differ
diff --git a/modules/mogo-module-apps/src/main/res/drawable-ldpi/module_apps_ic_navigator_media.png b/modules/mogo-module-apps/src/main/res/drawable-ldpi/module_apps_ic_navigator_media.png
old mode 100755
new mode 100644
index 3f47b7a60b..d9f6df313d
Binary files a/modules/mogo-module-apps/src/main/res/drawable-ldpi/module_apps_ic_navigator_media.png and b/modules/mogo-module-apps/src/main/res/drawable-ldpi/module_apps_ic_navigator_media.png differ
diff --git a/modules/mogo-module-apps/src/main/res/drawable-ldpi/module_apps_ic_navigator_navi.png b/modules/mogo-module-apps/src/main/res/drawable-ldpi/module_apps_ic_navigator_navi.png
old mode 100755
new mode 100644
index 585e128e9a..2401ce7c2a
Binary files a/modules/mogo-module-apps/src/main/res/drawable-ldpi/module_apps_ic_navigator_navi.png and b/modules/mogo-module-apps/src/main/res/drawable-ldpi/module_apps_ic_navigator_navi.png differ
diff --git a/modules/mogo-module-apps/src/main/res/drawable-ldpi/module_apps_ic_navigator_navi_disable.png b/modules/mogo-module-apps/src/main/res/drawable-ldpi/module_apps_ic_navigator_navi_disable.png
index 45c5eeb6b2..3df9f14026 100644
Binary files a/modules/mogo-module-apps/src/main/res/drawable-ldpi/module_apps_ic_navigator_navi_disable.png and b/modules/mogo-module-apps/src/main/res/drawable-ldpi/module_apps_ic_navigator_navi_disable.png differ
diff --git a/modules/mogo-module-apps/src/main/res/drawable-ldpi/module_apps_ic_navigator_personcenter.png b/modules/mogo-module-apps/src/main/res/drawable-ldpi/module_apps_ic_navigator_personcenter.png
old mode 100755
new mode 100644
index eb036c5ea0..df3ba081fe
Binary files a/modules/mogo-module-apps/src/main/res/drawable-ldpi/module_apps_ic_navigator_personcenter.png and b/modules/mogo-module-apps/src/main/res/drawable-ldpi/module_apps_ic_navigator_personcenter.png differ
diff --git a/modules/mogo-module-apps/src/main/res/values-ldpi/dimens.xml b/modules/mogo-module-apps/src/main/res/values-ldpi/dimens.xml
index fb55520395..5b12d6e39c 100644
--- a/modules/mogo-module-apps/src/main/res/values-ldpi/dimens.xml
+++ b/modules/mogo-module-apps/src/main/res/values-ldpi/dimens.xml
@@ -23,7 +23,7 @@
78px
78px
- 16px
+ 17px
78px
78px
\ No newline at end of file
diff --git a/modules/mogo-module-common/src/main/java/com/mogo/module/common/dialog/WMDialog.java b/modules/mogo-module-common/src/main/java/com/mogo/module/common/dialog/WMDialog.java
index 097330f871..9dc367585c 100644
--- a/modules/mogo-module-common/src/main/java/com/mogo/module/common/dialog/WMDialog.java
+++ b/modules/mogo-module-common/src/main/java/com/mogo/module/common/dialog/WMDialog.java
@@ -2,19 +2,12 @@ package com.mogo.module.common.dialog;
import android.content.Context;
import android.content.DialogInterface;
-import android.graphics.PixelFormat;
-import android.os.Build;
-import android.view.Gravity;
-import android.view.LayoutInflater;
-import android.view.View;
-import android.view.WindowManager;
import android.widget.TextView;
import androidx.annotation.StringRes;
import com.mogo.module.common.R;
-import com.mogo.module.common.utils.CarSeries;
-import com.mogo.utils.WindowUtils;
+import com.mogo.module.common.wm.WindowManagerView;
/**
* @author congtaowang
@@ -25,54 +18,22 @@ import com.mogo.utils.WindowUtils;
public class WMDialog implements DialogInterface {
private WMDialogParams mParams;
- private WindowManager mWindowManager;
- private boolean mIsShowing = false;
- private View mContentView;
- private WindowManager.LayoutParams mLayoutParams;
+ private WindowManagerView mWindowManagerView;
private WMDialog( WMDialogParams params ) {
this.mParams = params;
+ mWindowManagerView = new WindowManagerView.Builder( mParams.mContext ).contentView( R.layout.module_commons_layout_wm_dialog ).build();
+ initViews();
}
public void show() {
- if ( mIsShowing ) {
- return;
- }
- mIsShowing = true;
- if ( mWindowManager == null ) {
- mWindowManager = ( WindowManager ) mParams.mContext.getApplicationContext().getSystemService( Context.WINDOW_SERVICE );
- }
- if ( mContentView == null ) {
- mLayoutParams = new WindowManager.LayoutParams();
- if ( Build.VERSION.SDK_INT >= Build.VERSION_CODES.O ) {
- mLayoutParams.type = WindowManager.LayoutParams.TYPE_APPLICATION_OVERLAY;
- } else {
- mLayoutParams.type = WindowManager.LayoutParams.TYPE_SYSTEM_ALERT;
- }
- mLayoutParams.format = PixelFormat.TRANSLUCENT;
- mLayoutParams.gravity = Gravity.CENTER;
- mLayoutParams.flags = WindowManager.LayoutParams.FLAG_DIM_BEHIND | WindowManager.LayoutParams.FLAG_WATCH_OUTSIDE_TOUCH;
-
- if ( CarSeries.getSeries() == CarSeries.CAR_SERIES_F80X ) {
- mLayoutParams.width = 1920;
- mLayoutParams.height = 1080;
- } else {
- mLayoutParams.width = WindowUtils.getScreenWidth( mParams.mContext );
- mLayoutParams.height = WindowUtils.getScreenHeight( mParams.mContext );
- }
- mLayoutParams.dimAmount = 0.5f;
- mLayoutParams.x = 0;
- mLayoutParams.y = 0;
- mContentView = initViews();
- }
- mWindowManager.addView( mContentView, mLayoutParams );
+ mWindowManagerView.show();
}
- private View initViews() {
- View contentView = LayoutInflater.from( mParams.mContext ).inflate( R.layout.module_commons_layout_wm_dialog, null );
- TextView ok = contentView.findViewById( R.id.module_commons_wm_dialog_button_ok );
- TextView cancel = contentView.findViewById( R.id.module_commons_wm_dialog_button_cancel );
- TextView content = contentView.findViewById( R.id.module_commons_wm_dialog_content );
+ private void initViews() {
+ TextView ok = mWindowManagerView.findViewById( R.id.module_commons_wm_dialog_button_ok );
+ TextView cancel = mWindowManagerView.findViewById( R.id.module_commons_wm_dialog_button_cancel );
+ TextView content = mWindowManagerView.findViewById( R.id.module_commons_wm_dialog_content );
ok.setText( mParams.mOkButtonText );
if ( mParams.mOnOkButtonClickListener != null ) {
@@ -92,7 +53,6 @@ public class WMDialog implements DialogInterface {
}
content.setText( mParams.mContent );
- return contentView;
}
@Override
@@ -102,20 +62,11 @@ public class WMDialog implements DialogInterface {
@Override
public void dismiss() {
- if ( !mIsShowing ) {
- return;
- }
- if ( mContentView != null ) {
- mWindowManager.removeViewImmediate( mContentView );
- }
- if ( mParams.mOnDialogDismissListener != null ) {
- mParams.mOnDialogDismissListener.onDismiss( this );
- }
- mIsShowing = false;
+ mWindowManagerView.dismiss();
}
public boolean isShowing() {
- return mIsShowing;
+ return mWindowManagerView.isShowing();
}
public static class Builder {
@@ -129,16 +80,6 @@ public class WMDialog implements DialogInterface {
mParams.mContext = context;
}
-// public Builder setTitle( CharSequence title ) {
-// mParams.mTitle = title;
-// return this;
-// }
-//
-// public Builder setTitle( @StringRes int title ) {
-// mParams.mTitle = mContext.getString( title );
-// return this;
-// }
-
public Builder setContent( CharSequence content ) {
mParams.mContent = content;
return this;
diff --git a/modules/mogo-module-common/src/main/java/com/mogo/module/common/wm/WindowManagerView.java b/modules/mogo-module-common/src/main/java/com/mogo/module/common/wm/WindowManagerView.java
new file mode 100644
index 0000000000..29db8cd8fb
--- /dev/null
+++ b/modules/mogo-module-common/src/main/java/com/mogo/module/common/wm/WindowManagerView.java
@@ -0,0 +1,118 @@
+package com.mogo.module.common.wm;
+
+import android.content.Context;
+import android.graphics.PixelFormat;
+import android.os.Build;
+import android.view.Gravity;
+import android.view.LayoutInflater;
+import android.view.View;
+import android.view.WindowManager;
+
+import androidx.annotation.IdRes;
+import androidx.annotation.LayoutRes;
+
+import com.mogo.module.common.utils.CarSeries;
+import com.mogo.utils.WindowUtils;
+
+/**
+ * @author congtaowang
+ * @since 2020-05-21
+ *
+ * 往 window manager 添加view
+ */
+public class WindowManagerView {
+
+ private WMViewParams mParams;
+ private boolean mIsShowing;
+ private WindowManager mWindowManager;
+ private WindowManager.LayoutParams mLayoutParams;
+
+ private WindowManagerView( WMViewParams params ) {
+ this.mParams = params;
+ init();
+ }
+
+ private void init() {
+ mWindowManager = ( WindowManager ) mParams.mContext.getApplicationContext().getSystemService( Context.WINDOW_SERVICE );
+ mLayoutParams = new WindowManager.LayoutParams();
+ if ( Build.VERSION.SDK_INT >= Build.VERSION_CODES.O ) {
+ mLayoutParams.type = WindowManager.LayoutParams.TYPE_APPLICATION_OVERLAY;
+ } else {
+ mLayoutParams.type = WindowManager.LayoutParams.TYPE_SYSTEM_ALERT;
+ }
+ mLayoutParams.format = PixelFormat.TRANSLUCENT;
+ mLayoutParams.gravity = Gravity.CENTER;
+ mLayoutParams.flags = WindowManager.LayoutParams.FLAG_DIM_BEHIND | WindowManager.LayoutParams.FLAG_WATCH_OUTSIDE_TOUCH;
+
+ if ( CarSeries.getSeries() == CarSeries.CAR_SERIES_F80X ) {
+ mLayoutParams.width = 1920;
+ mLayoutParams.height = 1080;
+ } else {
+ mLayoutParams.width = WindowUtils.getScreenWidth( mParams.mContext );
+ mLayoutParams.height = WindowUtils.getScreenHeight( mParams.mContext );
+ }
+ mLayoutParams.dimAmount = 0.5f;
+ mLayoutParams.x = 0;
+ mLayoutParams.y = 0;
+ }
+
+ public boolean isShowing() {
+ return mIsShowing;
+ }
+
+ public < T extends View > T findViewById( @IdRes int id ) {
+ return mParams.mContentView.findViewById( id );
+ }
+
+ public void show() {
+ if ( mIsShowing ) {
+ return;
+ }
+ mIsShowing = true;
+ mWindowManager.addView( mParams.mContentView, mLayoutParams );
+ }
+
+ public void dismiss() {
+ if ( !mIsShowing ) {
+ return;
+ }
+ if ( mParams != null ) {
+ mWindowManager.removeViewImmediate( mParams.mContentView );
+ }
+ mIsShowing = false;
+ }
+
+ public static class Builder {
+
+ private WMViewParams mParams = null;
+
+ public Builder( Context context ) {
+ mParams = new WMViewParams();
+ mParams.mContext = context;
+ }
+
+ public Builder contentView( View contentView ) {
+ mParams.mContentView = contentView;
+ return this;
+ }
+
+ public Builder contentView( @LayoutRes int contentViewId ) {
+ mParams.mContentView = LayoutInflater.from( mParams.mContext ).inflate( contentViewId, null );
+ return this;
+ }
+
+ public WindowManagerView build() {
+ if ( mParams.mContentView == null ) {
+ throw new NullPointerException( "WMViewParams#mContentView must not be null." );
+ }
+ return new WindowManagerView( mParams );
+ }
+
+ }
+
+ public static class WMViewParams {
+
+ public View mContentView;
+ public Context mContext;
+ }
+}
diff --git a/modules/mogo-module-extensions/src/main/res/drawable-ldpi/module_ext_ic_navi_info3.png b/modules/mogo-module-extensions/src/main/res/drawable-ldpi/module_ext_ic_navi_info3.png
index c8580d052c..c62dfd068d 100755
Binary files a/modules/mogo-module-extensions/src/main/res/drawable-ldpi/module_ext_ic_navi_info3.png and b/modules/mogo-module-extensions/src/main/res/drawable-ldpi/module_ext_ic_navi_info3.png differ
diff --git a/modules/mogo-module-extensions/src/main/res/layout/module_map_layout_navi_info_panel.xml b/modules/mogo-module-extensions/src/main/res/layout/module_map_layout_navi_info_panel.xml
index 27f6551f89..fefa25212f 100644
--- a/modules/mogo-module-extensions/src/main/res/layout/module_map_layout_navi_info_panel.xml
+++ b/modules/mogo-module-extensions/src/main/res/layout/module_map_layout_navi_info_panel.xml
@@ -89,7 +89,7 @@
15px
- 9px
- 9px
- 18px
- 18px
- -1px
+ 9px
+ 9px
+ 18px
+ 18px
+ -1px
30px
23px
@@ -111,7 +111,7 @@
14px
20px
14px
- 34px
+ 34px
8px
8px
@@ -125,6 +125,6 @@
66px
66px
16px
- 22px
+ 14px
14px
\ 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 624e689985..fc372e59cf 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
@@ -89,11 +89,11 @@
24px
28px
- 17px
- 17px
- 36px
- 36px
- -2px
+ 17px
+ 17px
+ 36px
+ 36px
+ -2px
30px
40px
@@ -101,7 +101,7 @@
15px
15px
5px
- 50px
+ 50px
37px
26px
37px
@@ -121,6 +121,7 @@
120px
120px
30px
+ 122px
28px
\ 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 4e5e031906..d4922bc498 100644
--- a/modules/mogo-module-extensions/src/main/res/values/dimens.xml
+++ b/modules/mogo-module-extensions/src/main/res/values/dimens.xml
@@ -90,11 +90,11 @@
24px
28px
- 17px
- 17px
- 36px
- 36px
- -2px
+ 17px
+ 17px
+ 36px
+ 36px
+ -2px
30px
40px
@@ -108,7 +108,7 @@
26px
37px
26px
- 50px
+ 50px
15px
15px
@@ -122,7 +122,7 @@
120px
120px
30px
- 14px
+ 22px
28px
\ No newline at end of file
diff --git a/modules/mogo-module-service/src/main/java/com/mogo/module/service/intent/MockIntentHandler.java b/modules/mogo-module-service/src/main/java/com/mogo/module/service/intent/MockIntentHandler.java
index 972aa61212..ff9a355949 100644
--- a/modules/mogo-module-service/src/main/java/com/mogo/module/service/intent/MockIntentHandler.java
+++ b/modules/mogo-module-service/src/main/java/com/mogo/module/service/intent/MockIntentHandler.java
@@ -131,6 +131,9 @@ public class MockIntentHandler implements IntentHandler {
query.setRadius( 1000 );
geoSearch.getFromLocationAsyn( query );
break;
+ case 11:
+ MarkerServiceHandler.getADASController().setSettingStatus( intent.getBooleanExtra( "status", false ) );
+ break;
}
}
}
diff --git a/services/mogo-service-api/src/main/java/com/mogo/service/adas/IMogoADASController.java b/services/mogo-service-api/src/main/java/com/mogo/service/adas/IMogoADASController.java
index 468c965b26..7be4dd6e4e 100644
--- a/services/mogo-service-api/src/main/java/com/mogo/service/adas/IMogoADASController.java
+++ b/services/mogo-service-api/src/main/java/com/mogo/service/adas/IMogoADASController.java
@@ -31,4 +31,5 @@ public interface IMogoADASController extends IProvider {
*/
void killADAS();
+ void setSettingStatus(boolean show);
}
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 c38edf1b56..f0602070b2 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
@@ -166,4 +166,9 @@ public class MogoADASController implements IMogoADASController {
}
return false;
}
+
+ @Override
+ public void setSettingStatus( boolean show ) {
+ AutopilotServiceManage.getInstance().setSettingStatus( show );
+ }
}