lets not add any extra margin to widgets

This commit is contained in:
tibbi 2022-09-27 11:17:20 +02:00
parent 8e79a9ccf5
commit e83aef8d9d
4 changed files with 23 additions and 28 deletions

View File

@ -16,3 +16,5 @@ const val REQUEST_CONFIGURE_WIDGET = 51
const val ITEM_TYPE_ICON = 0
const val ITEM_TYPE_WIDGET = 1
const val ITEM_TYPE_SHORTCUT = 2
const val WIDGET_HOST_ID = 12345

View File

@ -1,6 +0,0 @@
package com.simplemobiletools.launcher.helpers
import android.appwidget.AppWidgetHost
import android.content.Context
class MyAppWidgetHost(context: Context, hostId: Int) : AppWidgetHost(context, hostId)

View File

@ -1,6 +1,7 @@
package com.simplemobiletools.launcher.views
import android.annotation.SuppressLint
import android.appwidget.AppWidgetHost
import android.appwidget.AppWidgetManager
import android.content.Context
import android.graphics.Canvas
@ -28,7 +29,6 @@ class HomeScreenGrid(context: Context, attrs: AttributeSet, defStyle: Int) : Rel
constructor(context: Context, attrs: AttributeSet) : this(context, attrs, 0)
private var iconMargin = context.resources.getDimension(R.dimen.icon_side_margin).toInt()
private var widgetMargin = context.resources.getDimension(R.dimen.widget_side_margin).toInt()
private var labelSideMargin = context.resources.getDimension(R.dimen.small_margin).toInt()
private var roundedCornerRadius = context.resources.getDimension(R.dimen.activity_margin)
private var textPaint: TextPaint
@ -171,21 +171,21 @@ class HomeScreenGrid(context: Context, attrs: AttributeSet, defStyle: Int) : Rel
redrawIcons = true
} else if (draggedItem != null) {
// we are dragging a new item at the home screen from the All Apps fragment
val newHomeScreenGridItem =
HomeScreenGridItem(
null,
xIndex,
yIndex,
xIndex + 1,
yIndex + 1,
1,
1,
draggedItem!!.packageName,
draggedItem!!.title,
draggedItem!!.type,
"",
draggedItem!!.drawable
)
val newHomeScreenGridItem = HomeScreenGridItem(
null,
xIndex,
yIndex,
xIndex + 1,
yIndex + 1,
1,
1,
draggedItem!!.packageName,
draggedItem!!.title,
draggedItem!!.type,
"",
draggedItem!!.drawable
)
ensureBackgroundThread {
val newId = context.homeScreenGridItemsDB.insert(newHomeScreenGridItem)
newHomeScreenGridItem.id = newId
@ -239,7 +239,7 @@ class HomeScreenGrid(context: Context, attrs: AttributeSet, defStyle: Int) : Rel
val infoList = AppWidgetManager.getInstance(context).installedProviders
val appWidgetProviderInfo = infoList.firstOrNull { it.provider.shortClassName == draggedItem?.shortClassName }
if (appWidgetProviderInfo != null) {
val appWidgetHost = MyAppWidgetHost(context, 12345)
val appWidgetHost = AppWidgetHost(context, WIDGET_HOST_ID)
val appWidgetId = appWidgetHost.allocateAppWidgetId()
val appWidgetManager = AppWidgetManager.getInstance(context)
val canCreateWidget = appWidgetManager.bindAppWidgetIdIfAllowed(appWidgetId, appWidgetProviderInfo.provider)
@ -248,10 +248,10 @@ class HomeScreenGrid(context: Context, attrs: AttributeSet, defStyle: Int) : Rel
appWidgetHost.startAppWidgetConfigureActivityForResult(context as MainActivity, appWidgetId, 0, REQUEST_CONFIGURE_WIDGET, null)
} else {
val widgetView = appWidgetHost.createView(context, appWidgetId, appWidgetProviderInfo)
widgetView.x = widgetRect.left * rowWidth + sideMargins.left.toFloat() + widgetMargin
widgetView.y = widgetRect.top * rowHeight + sideMargins.top.toFloat() + widgetMargin
val widgetWidth = draggedItem!!.widthCells * rowWidth - widgetMargin * 2
val widgetHeight = draggedItem!!.heightCells * rowHeight - widgetMargin * 2
widgetView.x = widgetRect.left * rowWidth + sideMargins.left.toFloat()
widgetView.y = widgetRect.top * rowHeight + sideMargins.top.toFloat()
val widgetWidth = draggedItem!!.widthCells * rowWidth
val widgetHeight = draggedItem!!.heightCells * rowHeight
addView(widgetView, widgetWidth, widgetHeight)
}
}

View File

@ -4,5 +4,4 @@
<dimen name="home_long_press_anchor_offset_y">50dp</dimen>
<dimen name="widget_preview_size">140dp</dimen>
<dimen name="icon_side_margin">10dp</dimen>
<dimen name="widget_side_margin">6dp</dimen>
</resources>