OSDN Git Service

Fix secondary display toast placement on Android 11
authorBraden Farmer <farmerbb@gmail.com>
Mon, 28 Sep 2020 20:06:11 +0000 (14:06 -0600)
committerBraden Farmer <farmerbb@gmail.com>
Mon, 28 Sep 2020 20:06:11 +0000 (14:06 -0600)
app/src/main/java/com/farmerbb/taskbar/util/ToastFrameworkImpl.java

index 659a133..536c62c 100644 (file)
@@ -27,11 +27,13 @@ class ToastFrameworkImpl implements ToastInterface {
 
     @SuppressLint("ShowToast")
     ToastFrameworkImpl(Context context, String message, int length) {
+        int offset = context.getResources().getDimensionPixelSize(R.dimen.tb_toast_y_offset);
+        if(U.getCurrentApiVersion() > 29.0 && U.isDesktopModeActive(context)) {
+            offset = offset + U.getNavbarHeight(context);
+        }
+
         toast = Toast.makeText(context, message, length);
-        toast.setGravity(
-                Gravity.BOTTOM | Gravity.CENTER_VERTICAL,
-                0,
-                context.getResources().getDimensionPixelSize(R.dimen.tb_toast_y_offset));
+        toast.setGravity(Gravity.BOTTOM | Gravity.CENTER_VERTICAL, 0, offset);
     }
 
     @Override