diff --git a/app/src/main/kotlin/com/simplemobiletools/launcher/views/HomeScreenGrid.kt b/app/src/main/kotlin/com/simplemobiletools/launcher/views/HomeScreenGrid.kt
index df7c7a6..9746f9f 100644
--- a/app/src/main/kotlin/com/simplemobiletools/launcher/views/HomeScreenGrid.kt
+++ b/app/src/main/kotlin/com/simplemobiletools/launcher/views/HomeScreenGrid.kt
@@ -920,6 +920,7 @@ class HomeScreenGrid(context: Context, attrs: AttributeSet, defStyle: Int) : Rel
post {
setWillNotDraw(false)
invalidate()
+ binding.drawingArea.invalidate()
}
}
@@ -927,9 +928,7 @@ class HomeScreenGrid(context: Context, attrs: AttributeSet, defStyle: Int) : Rel
private fun getFakeHeight() = height - sideMargins.top - sideMargins.bottom
- @SuppressLint("DrawAllocation")
- override fun onDraw(canvas: Canvas) {
- super.onDraw(canvas)
+ fun drawInto(canvas: Canvas) {
if (cells.isEmpty()) {
fillCellSizes()
}
diff --git a/app/src/main/kotlin/com/simplemobiletools/launcher/views/HomeScreenGridDrawingArea.kt b/app/src/main/kotlin/com/simplemobiletools/launcher/views/HomeScreenGridDrawingArea.kt
new file mode 100644
index 0000000..9186435
--- /dev/null
+++ b/app/src/main/kotlin/com/simplemobiletools/launcher/views/HomeScreenGridDrawingArea.kt
@@ -0,0 +1,16 @@
+package com.simplemobiletools.launcher.views
+
+import android.content.Context
+import android.graphics.Canvas
+import android.util.AttributeSet
+import android.view.View
+
+class HomeScreenGridDrawingArea @JvmOverloads constructor(
+ context: Context, attrs: AttributeSet? = null, defStyleAttr: Int = 0
+) : View(context, attrs, defStyleAttr) {
+
+ override fun onDraw(canvas: Canvas) {
+ super.onDraw(canvas)
+ (parent as HomeScreenGrid).drawInto(canvas)
+ }
+}
diff --git a/app/src/main/res/layout/home_screen_grid.xml b/app/src/main/res/layout/home_screen_grid.xml
index c4fb843..7cab991 100644
--- a/app/src/main/res/layout/home_screen_grid.xml
+++ b/app/src/main/res/layout/home_screen_grid.xml
@@ -4,6 +4,13 @@
android:layout_width="match_parent"
android:layout_height="match_parent">
+
+
+