v0.3.1 — overlay drag fix + drag-to-dismiss zone
- Bug: dragging the bubble panned the OSM map instead of moving the bubble. The OnTouchListener was attached to the ComposeView, but the inner MapView consumed ACTION_DOWN for its own pan handling before the listener fired. Fix: wrap the ComposeView in a custom TouchInterceptor FrameLayout whose onInterceptTouchEvent always returns true. Touches go to the wrapper's OnTouchListener; child views (including MapView) never see them. Bubble is now purely a visualization — pan/zoom is impossible. - Drag-to-dismiss: when the user starts dragging (after passing TAP_SLOP), a translucent dark circle with a white X appears at bottom-center via a separate WindowManager view. Highlights red when the bubble's screen-space center is within hit slop of the X. Releasing on the X tears down the bubble AND fires onDismissed — DetectionService flips setOverlayEnabled(false) so the toggle and the bubble state stay in sync. Releasing elsewhere is a normal drag (just repositions). The dismiss zone uses FLAG_NOT_TOUCHABLE so it never steals the gesture; it's purely visual feedback.
This commit is contained in:
@@ -12,8 +12,8 @@ android {
|
||||
applicationId = "org.soulstone.overwatch"
|
||||
minSdk = 26
|
||||
targetSdk = 35
|
||||
versionCode = 12
|
||||
versionName = "0.3.0"
|
||||
versionCode = 13
|
||||
versionName = "0.3.1"
|
||||
}
|
||||
|
||||
buildTypes {
|
||||
|
||||
Reference in New Issue
Block a user