From db02a2ce4053f495a188c68dddaa3c103fc09a2f Mon Sep 17 00:00:00 2001 From: tibbi Date: Sat, 1 Oct 2022 23:15:39 +0200 Subject: [PATCH] specify the default widget sizes after creating --- .../launcher/views/HomeScreenGrid.kt | 14 ++++++++++++++ 1 file changed, 14 insertions(+) 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 3db64b38..6e476fb3 100644 --- a/app/src/main/kotlin/com/simplemobiletools/launcher/views/HomeScreenGrid.kt +++ b/app/src/main/kotlin/com/simplemobiletools/launcher/views/HomeScreenGrid.kt @@ -5,15 +5,18 @@ import android.appwidget.AppWidgetManager import android.appwidget.AppWidgetProviderInfo import android.content.Context import android.graphics.* +import android.os.Bundle import android.text.Layout import android.text.StaticLayout import android.text.TextPaint import android.text.TextUtils import android.util.AttributeSet +import android.util.SizeF import android.widget.RelativeLayout import androidx.core.graphics.drawable.toDrawable import com.simplemobiletools.commons.extensions.* import com.simplemobiletools.commons.helpers.ensureBackgroundThread +import com.simplemobiletools.commons.helpers.isSPlus import com.simplemobiletools.launcher.R import com.simplemobiletools.launcher.activities.MainActivity import com.simplemobiletools.launcher.extensions.getDrawableForPackageName @@ -363,6 +366,17 @@ class HomeScreenGrid(context: Context, attrs: AttributeSet, defStyle: Int) : Rel widgetView.y = calculateWidgetY(item.top) val widgetWidth = item.widthCells * rowWidth val widgetHeight = item.heightCells * rowHeight + + // set initial sizes to avoid some glitches + if (isSPlus()) { + val sizes = listOf(SizeF(widgetWidth.toFloat(), widgetHeight.toFloat())) + widgetView.updateAppWidgetSize(Bundle(), sizes) + } else { + val minWidth = appWidgetProviderInfo.minWidth + val minHeight = appWidgetProviderInfo.minHeight + widgetView.updateAppWidgetSize(Bundle(), minWidth, minHeight, minWidth, minHeight) + } + addView(widgetView, widgetWidth, widgetHeight) widgetViews.add(widgetView)