diff --git a/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/dialog/BaseFloatDialog.java b/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/dialog/BaseFloatDialog.java index 2622eb1baf..7435516b70 100644 --- a/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/dialog/BaseFloatDialog.java +++ b/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/dialog/BaseFloatDialog.java @@ -9,10 +9,12 @@ import android.view.WindowManager; import android.widget.FrameLayout; import androidx.annotation.NonNull; +import androidx.annotation.RequiresApi; import com.mogo.commons.debug.DebugConfig; import com.mogo.eagle.core.function.hmi.R; import com.mogo.eagle.core.utilcode.mogo.logger.CallerLogger; +import com.mogo.eagle.core.utilcode.util.PermissionUtils; /** * 浮在各种wm上面的dialog基类,调用了window.setType @@ -34,12 +36,16 @@ public class BaseFloatDialog extends Dialog { } } + @RequiresApi(api = Build.VERSION_CODES.M) private void addFlag() { - 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(PermissionUtils.isGrantedDrawOverlays()){ + 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().addFlags(WindowManager.LayoutParams.FLAG_LAYOUT_IN_SCREEN | WindowManager.LayoutParams.FLAG_TRANSLUCENT_NAVIGATION | WindowManager.LayoutParams.FLAG_LOCAL_FOCUS_MODE); diff --git a/core/mogo-core-utils/src/main/java/com/mogo/eagle/core/utilcode/util/ToastUtils.java b/core/mogo-core-utils/src/main/java/com/mogo/eagle/core/utilcode/util/ToastUtils.java index ac78d030c6..dfa9844026 100644 --- a/core/mogo-core-utils/src/main/java/com/mogo/eagle/core/utilcode/util/ToastUtils.java +++ b/core/mogo-core-utils/src/main/java/com/mogo/eagle/core/utilcode/util/ToastUtils.java @@ -515,7 +515,7 @@ public final class ToastUtils { if (Build.VERSION.SDK_INT < Build.VERSION_CODES.M) { return new SystemToast(toastUtils); } - if (!UtilsBridge.isGrantedDrawOverlays()) { + if (UtilsBridge.isGrantedDrawOverlays()) { return new SystemToast(toastUtils); } }