OSDN Git Service

Extend HomeActivity wallpaper into notch area
authorBraden Farmer <farmerbb@gmail.com>
Fri, 10 Aug 2018 04:54:30 +0000 (22:54 -0600)
committerBraden Farmer <farmerbb@gmail.com>
Fri, 10 Aug 2018 04:54:30 +0000 (22:54 -0600)
app/src/compat-27/java/com/farmerbb/taskbar/util/CompatUtils.java
app/src/compat-28/java/com/farmerbb/taskbar/util/CompatUtils.java
app/src/main/java/com/farmerbb/taskbar/activity/HomeActivity.java

index 37ac1b4..47d87ca 100644 (file)
@@ -19,4 +19,5 @@ public class CompatUtils {
 
     private CompatUtils() {}
 
+    public static void applyLayoutInDisplayCutoutModeTo(WindowManager.LayoutParams params) {}
 }
index 0d277cf..6519d74 100644 (file)
@@ -19,8 +19,16 @@ package com.farmerbb.taskbar.util;
 // and the Play Store version of Taskbar (compiled with SDK 28).
 // TODO Do not make changes to this file without making corresponding changes to the Android-x86 version.
 
+import android.annotation.TargetApi;
+import android.os.Build;
+import android.view.WindowManager;
+
+@TargetApi(Build.VERSION_CODES.P)
 public class CompatUtils {
 
     private CompatUtils() {}
-
+    
+    public static void applyLayoutInDisplayCutoutModeTo(WindowManager.LayoutParams params) {
+        params.layoutInDisplayCutoutMode = WindowManager.LayoutParams.LAYOUT_IN_DISPLAY_CUTOUT_MODE_SHORT_EDGES;
+    }
 }
\ No newline at end of file
index 0bc2df7..c4d1d11 100644 (file)
@@ -41,6 +41,7 @@ import com.farmerbb.taskbar.service.DashboardService;
 import com.farmerbb.taskbar.service.NotificationService;
 import com.farmerbb.taskbar.service.StartMenuService;
 import com.farmerbb.taskbar.service.TaskbarService;
+import com.farmerbb.taskbar.util.CompatUtils;
 import com.farmerbb.taskbar.util.IconCache;
 import com.farmerbb.taskbar.util.LauncherHelper;
 import com.farmerbb.taskbar.util.U;
@@ -82,6 +83,9 @@ public class HomeActivity extends Activity {
         shouldDelayFreeformHack = true;
         hits = 0;
 
+        WindowManager.LayoutParams params = getWindow().getAttributes();
+        CompatUtils.applyLayoutInDisplayCutoutModeTo(params);
+        getWindow().setAttributes(params);
         getWindow().setFlags(WindowManager.LayoutParams.FLAG_LAYOUT_NO_LIMITS, WindowManager.LayoutParams.FLAG_LAYOUT_NO_LIMITS);
 
         View view = new View(this) {