diff --git a/app/src/main/java/com/quillstudios/pokegoalshelper/ui/FloatingComposeOverlay.kt b/app/src/main/java/com/quillstudios/pokegoalshelper/ui/FloatingComposeOverlay.kt index a4eec42..89ab602 100644 --- a/app/src/main/java/com/quillstudios/pokegoalshelper/ui/FloatingComposeOverlay.kt +++ b/app/src/main/java/com/quillstudios/pokegoalshelper/ui/FloatingComposeOverlay.kt @@ -7,14 +7,6 @@ import android.util.Log import android.view.Gravity import android.view.View import android.view.WindowManager -import androidx.lifecycle.Lifecycle -import androidx.lifecycle.LifecycleOwner -import androidx.lifecycle.LifecycleRegistry -import androidx.lifecycle.ViewTreeLifecycleOwner -import androidx.savedstate.SavedStateRegistry -import androidx.savedstate.SavedStateRegistryController -import androidx.savedstate.SavedStateRegistryOwner -import androidx.savedstate.ViewTreeSavedStateRegistryOwner import androidx.compose.animation.* import androidx.compose.animation.core.* import androidx.compose.foundation.gestures.detectDragGestures @@ -38,37 +30,6 @@ import androidx.compose.ui.unit.dp import androidx.compose.ui.unit.sp import com.quillstudios.pokegoalshelper.ui.theme.PokeGoalsHelperTheme -/** - * Simple lifecycle owner for ComposeView in overlay context - */ -class OverlayLifecycleOwner : LifecycleOwner, SavedStateRegistryOwner { - private val lifecycleRegistry: LifecycleRegistry = LifecycleRegistry(this) - private val savedStateRegistryController = SavedStateRegistryController.create(this) - - init { - savedStateRegistryController.performRestore(null) - lifecycleRegistry.currentState = Lifecycle.State.CREATED - } - - fun onCreate() { - lifecycleRegistry.currentState = Lifecycle.State.CREATED - } - - fun onStart() { - lifecycleRegistry.currentState = Lifecycle.State.STARTED - } - - fun onResume() { - lifecycleRegistry.currentState = Lifecycle.State.RESUMED - } - - fun onDestroy() { - lifecycleRegistry.currentState = Lifecycle.State.DESTROYED - } - - override val lifecycle: Lifecycle = lifecycleRegistry - override val savedStateRegistry: SavedStateRegistry = savedStateRegistryController.savedStateRegistry -} /** * True floating overlay using WindowManager + ComposeView. @@ -88,7 +49,6 @@ class FloatingComposeOverlay( private var windowManager: WindowManager? = null private var overlayView: ComposeView? = null private var isShowing = false - private val lifecycleOwner = OverlayLifecycleOwner() // Mutable state for Compose private var fabPosition = mutableStateOf(Offset.Zero) @@ -98,9 +58,6 @@ class FloatingComposeOverlay( try { windowManager = context.getSystemService(Context.WINDOW_SERVICE) as WindowManager - lifecycleOwner.onCreate() - lifecycleOwner.onStart() - lifecycleOwner.onResume() createOverlayView() isShowing = true Log.d(TAG, "✅ Floating Compose overlay shown") @@ -113,7 +70,6 @@ class FloatingComposeOverlay( if (!isShowing) return try { - lifecycleOwner.onDestroy() overlayView?.let { windowManager?.removeView(it) } overlayView = null windowManager = null @@ -126,10 +82,6 @@ class FloatingComposeOverlay( private fun createOverlayView() { overlayView = ComposeView(context).apply { - // Set lifecycle owner for ComposeView - ViewTreeLifecycleOwner.set(this, lifecycleOwner) - ViewTreeSavedStateRegistryOwner.set(this, lifecycleOwner) - setContent { PokeGoalsHelperTheme { FloatingFABContent(