From ecc0243e602212e99a67d198ce46f699f4fe053e Mon Sep 17 00:00:00 2001 From: tibbi Date: Sun, 2 Oct 2022 21:42:46 +0200 Subject: [PATCH] hide the resizing frame at clicking on the widget --- .../simplemobiletools/launcher/views/HomeScreenGrid.kt | 8 +++++++- .../launcher/views/MyAppWidgetHostView.kt | 2 ++ 2 files changed, 9 insertions(+), 1 deletion(-) 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 2916b144..713bc763 100644 --- a/app/src/main/kotlin/com/simplemobiletools/launcher/views/HomeScreenGrid.kt +++ b/app/src/main/kotlin/com/simplemobiletools/launcher/views/HomeScreenGrid.kt @@ -178,6 +178,7 @@ class HomeScreenGrid(context: Context, attrs: AttributeSet, defStyle: Int) : Rel val frameRect = Rect(viewX, viewY, viewX + widgetView.width, viewY + widgetView.height) resize_frame.updateFrameCoords(frameRect) resize_frame.beVisible() + widgetView.ignoreTouches = true } } @@ -186,8 +187,9 @@ class HomeScreenGrid(context: Context, attrs: AttributeSet, defStyle: Int) : Rel return } - resizedWidget = null resize_frame.beGone() + widgetViews.firstOrNull { it.tag == resizedWidget!!.widgetId }?.ignoreTouches = false + resizedWidget = null } private fun addAppIcon() { @@ -387,6 +389,10 @@ class HomeScreenGrid(context: Context, attrs: AttributeSet, defStyle: Int) : Rel (context as? MainActivity)?.showHomeIconMenu(x, widgetView.y, item, false) } + widgetView.onIgnoreInterceptedListener = { + hideResizeLines() + } + widgetView.x = calculateWidgetX(item.left) widgetView.y = calculateWidgetY(item.top) val widgetWidth = item.widthCells * rowWidth diff --git a/app/src/main/kotlin/com/simplemobiletools/launcher/views/MyAppWidgetHostView.kt b/app/src/main/kotlin/com/simplemobiletools/launcher/views/MyAppWidgetHostView.kt index 8553974a..d78b0be7 100644 --- a/app/src/main/kotlin/com/simplemobiletools/launcher/views/MyAppWidgetHostView.kt +++ b/app/src/main/kotlin/com/simplemobiletools/launcher/views/MyAppWidgetHostView.kt @@ -16,9 +16,11 @@ class MyAppWidgetHostView(context: Context) : AppWidgetHostView(context) { var hasLongPressed = false var ignoreTouches = false var longPressListener: ((x: Float, y: Float) -> Unit)? = null + var onIgnoreInterceptedListener: (() -> Unit)? = null // let the home grid react on swallowed clicks, for example by hiding the widget resize frame override fun onTouchEvent(event: MotionEvent?): Boolean { return if (ignoreTouches) { + onIgnoreInterceptedListener?.invoke() true } else { super.onTouchEvent(event)