From 9ca2a852d6ca32d29b1d4023f15d957aead62d01 Mon Sep 17 00:00:00 2001 From: chenfufeng Date: Tue, 8 Mar 2022 16:39:32 +0800 Subject: [PATCH] =?UTF-8?q?[Fix]=E5=8F=96=E6=B6=88=E6=82=AC=E6=B5=AE?= =?UTF-8?q?=E7=AA=97=E6=9D=83=E9=99=90?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/main/AndroidManifest.xml | 1 - .../eagle/core/function/main/MainActivity.java | 16 ++++++++-------- libraries/mogo-adas/build.gradle | 1 + .../module/common/dialog/BaseFloatDialog.java | 12 ++++++------ .../com/mogo/module/common/dialog/WMDialog.java | 7 ++++--- .../module/common/wm/WindowManagerImpl.java | 4 +++- .../module/common/wm/WindowManagerView.java | 1 + .../service/intent/MockIntentHandler.java | 17 +++++++++++------ .../mogo-service/src/main/AndroidManifest.xml | 1 - 9 files changed, 34 insertions(+), 26 deletions(-) diff --git a/core/function-impl/mogo-core-function-main/src/main/AndroidManifest.xml b/core/function-impl/mogo-core-function-main/src/main/AndroidManifest.xml index 7fc3ee0a60..b068b0c04a 100644 --- a/core/function-impl/mogo-core-function-main/src/main/AndroidManifest.xml +++ b/core/function-impl/mogo-core-function-main/src/main/AndroidManifest.xml @@ -8,7 +8,6 @@ - diff --git a/core/function-impl/mogo-core-function-main/src/main/java/com/mogo/eagle/core/function/main/MainActivity.java b/core/function-impl/mogo-core-function-main/src/main/java/com/mogo/eagle/core/function/main/MainActivity.java index 2a8f0141f8..06b0cd4dc1 100644 --- a/core/function-impl/mogo-core-function-main/src/main/java/com/mogo/eagle/core/function/main/MainActivity.java +++ b/core/function-impl/mogo-core-function-main/src/main/java/com/mogo/eagle/core/function/main/MainActivity.java @@ -105,14 +105,14 @@ public class MainActivity extends MvpActivity implement if (CallChatApi.getInstance().getApiProvider() != null) { CallChatApi.getInstance().getApiProvider().initVehicleTeamContainer("init", R.id.module_main_id_message_history_fragment_container, this); } - //申请悬浮窗权限 - if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) { - // 检查是否有悬浮窗权限 - if (Settings.canDrawOverlays(this)) { - return; - } - PermissionsDialogUtils.openAppDetails(this, "显示悬浮窗", REQUEST_CODE_DIALOG); - } +// //申请悬浮窗权限 +// if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) { +// // 检查是否有悬浮窗权限 +// if (Settings.canDrawOverlays(this)) { +// return; +// } +// PermissionsDialogUtils.openAppDetails(this, "显示悬浮窗", REQUEST_CODE_DIALOG); +// } } // 隐藏布局 diff --git a/libraries/mogo-adas/build.gradle b/libraries/mogo-adas/build.gradle index 1ad426e62a..f9e69ebba1 100644 --- a/libraries/mogo-adas/build.gradle +++ b/libraries/mogo-adas/build.gradle @@ -48,6 +48,7 @@ android { protobuf { protoc { + // Apple Silicon M1 使用artifact = 'com.google.protobuf:protoc:3.6.1:osx-x86_64' artifact = 'com.google.protobuf:protoc:3.6.1' } diff --git a/modules/mogo-module-common/src/main/java/com/mogo/module/common/dialog/BaseFloatDialog.java b/modules/mogo-module-common/src/main/java/com/mogo/module/common/dialog/BaseFloatDialog.java index 47a017b50e..5915d510c6 100644 --- a/modules/mogo-module-common/src/main/java/com/mogo/module/common/dialog/BaseFloatDialog.java +++ b/modules/mogo-module-common/src/main/java/com/mogo/module/common/dialog/BaseFloatDialog.java @@ -33,12 +33,12 @@ public class BaseFloatDialog extends Dialog { } private void addFlag() { - // TODO 这里需要申请悬浮床权限 - if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) { - getWindow().setType(WindowManager.LayoutParams.TYPE_APPLICATION_OVERLAY); - } else { - getWindow().setType(WindowManager.LayoutParams.TYPE_SYSTEM_ALERT); - } +// if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) { +// getWindow().setType(WindowManager.LayoutParams.TYPE_APPLICATION_OVERLAY); +// } else { +// getWindow().setType(WindowManager.LayoutParams.TYPE_SYSTEM_ALERT); +// } + getWindow().setType(WindowManager.LayoutParams.LAST_SUB_WINDOW); getWindow().addFlags(WindowManager.LayoutParams.FLAG_LAYOUT_IN_SCREEN | WindowManager.LayoutParams.FLAG_TRANSLUCENT_NAVIGATION | WindowManager.LayoutParams.FLAG_LOCAL_FOCUS_MODE); 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 9dc367585c..8fc96f49c0 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 @@ -1,5 +1,6 @@ package com.mogo.module.common.dialog; +import android.app.Activity; import android.content.Context; import android.content.DialogInterface; import android.widget.TextView; @@ -74,10 +75,10 @@ public class WMDialog implements DialogInterface { private Context mContext; private WMDialogParams mParams; - public Builder( Context context ) { - this.mContext = context; + public Builder( Activity activity ) { + this.mContext = activity; mParams = new WMDialogParams(); - mParams.mContext = context; + mParams.mContext = activity; } public Builder setContent( CharSequence content ) { diff --git a/modules/mogo-module-common/src/main/java/com/mogo/module/common/wm/WindowManagerImpl.java b/modules/mogo-module-common/src/main/java/com/mogo/module/common/wm/WindowManagerImpl.java index 89f614f7bb..72fda90c51 100644 --- a/modules/mogo-module-common/src/main/java/com/mogo/module/common/wm/WindowManagerImpl.java +++ b/modules/mogo-module-common/src/main/java/com/mogo/module/common/wm/WindowManagerImpl.java @@ -8,8 +8,10 @@ import android.view.View; import android.view.WindowManager; /** - * 采用windowManager实现接口 + * 采用windowManager实现接口(取消系统级弹窗) + * {@link DialogImpl} */ +@Deprecated class WindowManagerImpl implements IWindowManagerView { private WindowManager mWindowManager; 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 index e5c0a562af..29b3d0a5a6 100644 --- 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 @@ -97,6 +97,7 @@ public class WindowManagerView { return new WindowManagerView( mParams, new DialogImpl() ); } + @Deprecated public WindowManagerView showInWindowManager() { if ( mParams.mContentView == null ) { throw new NullPointerException( "WMViewParams#mContentView must not be null." ); 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 b4dffd4d1e..6889865259 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 @@ -1,5 +1,6 @@ package com.mogo.module.service.intent; +import android.app.Activity; import android.content.Context; import android.content.Intent; import android.graphics.BitmapFactory; @@ -23,6 +24,7 @@ import com.mogo.eagle.core.utilcode.mogo.logger.Logger; import com.mogo.eagle.core.utilcode.mogo.storage.SharedPrefsMgr; import com.mogo.eagle.core.utilcode.mogo.thread.WorkThreadHandler; import com.mogo.eagle.core.utilcode.mogo.toast.TipToast; +import com.mogo.eagle.core.utilcode.util.AppStateManager; import com.mogo.eagle.core.utilcode.util.ThreadUtils; import com.mogo.eagle.core.utilcode.util.ToastUtils; import com.mogo.map.marker.IMogoMarker; @@ -94,12 +96,15 @@ public class MockIntentHandler implements IntentHandler { MarkerServiceHandler.getMapUIController().changeBearing(bearing); break; case 9:// 测试弹窗 - new WMDialog.Builder(context) - .setOkButton("确认", (dlg, which) -> dlg.dismiss()) - .setCancelButton("取消", (dlg, which) -> dlg.dismiss()) - .setContent("内容内容内容内容内容内容内容内容") - .build() - .show(); + Activity activity = AppStateManager.INSTANCE.currentActivity(); + if (activity != null) { + new WMDialog.Builder(activity) + .setOkButton("确认", (dlg, which) -> dlg.dismiss()) + .setCancelButton("取消", (dlg, which) -> dlg.dismiss()) + .setContent("内容内容内容内容内容内容内容内容") + .build() + .show(); + } break; case 10://测试GEO查询 IMogoGeoSearch geoSearch = MarkerServiceHandler.getMapService().getGeoSearch(context); diff --git a/services/mogo-service/src/main/AndroidManifest.xml b/services/mogo-service/src/main/AndroidManifest.xml index cffc2c97c3..196728d1b6 100644 --- a/services/mogo-service/src/main/AndroidManifest.xml +++ b/services/mogo-service/src/main/AndroidManifest.xml @@ -1,5 +1,4 @@ -