I am playing around with surfaceview and compose a...
# android
o
I am playing around with surfaceview and compose and I often land into this issue where the surfaceview is disconnected from the surface randomly.
🧵 1
@Manuel Vivo @Ian Lake ^^^
Copy code
java.lang.IllegalArgumentException: detached
    at MobilePlayerViewModel$createSurfaceViewOnAttachStateChangeListener$1.onViewDetachedFromWindow(MobilePlayerViewModel.kt:356)
    at android.view.View.dispatchDetachedFromWindow(View.java:21362)
    at android.view.ViewGroup.dispatchDetachedFromWindow(ViewGroup.java:3949)
    at android.view.ViewGroup.removeAllViewsInLayout(ViewGroup.java:5785)
    at androidx.compose.ui.viewinterop.AndroidViewHolder.setView$ui_release(AndroidViewHolder.android.kt:95)
    at androidx.compose.ui.viewinterop.AndroidViewHolder$layoutNode$1$4.invoke(AndroidViewHolder.android.kt:310)
    at androidx.compose.ui.viewinterop.AndroidViewHolder$layoutNode$1$4.invoke(AndroidViewHolder.android.kt:307)
    at androidx.compose.ui.node.LayoutNode.detach$ui_release(LayoutNode.kt:420)
    at androidx.compose.ui.node.LayoutNode.detach$ui_release(LayoutNode.kt:432)
    at androidx.compose.ui.node.LayoutNode.detach$ui_release(LayoutNode.kt:432)
    at androidx.compose.ui.node.LayoutNode.detach$ui_release(LayoutNode.kt:432)
    at androidx.compose.ui.node.LayoutNode.detach$ui_release(LayoutNode.kt:432)
    at androidx.compose.ui.node.LayoutNode.onChildRemoved(LayoutNode.kt:314)
    at androidx.compose.ui.node.LayoutNode.removeAt$ui_release(LayoutNode.kt:288)
    at androidx.compose.ui.node.UiApplier.remove(UiApplier.android.kt:35)
    at androidx.compose.runtime.ComposerImpl$realizeMovement$1.invoke(Composer.kt:3835)
    at androidx.compose.runtime.ComposerImpl$realizeMovement$1.invoke(Composer.kt:3835)
    at androidx.compose.runtime.CompositionImpl.applyChangesInLocked(Composition.kt:808)
    at androidx.compose.runtime.CompositionImpl.applyChanges(Composition.kt:839)
    at androidx.compose.runtime.Recomposer.composeInitial$runtime_release(Recomposer.kt:995)
    at androidx.compose.runtime.CompositionImpl.setContent(Composition.kt:519)
    at androidx.compose.runtime.Recomposer$HotReloadable.clearContent(Recomposer.kt:385)
    at androidx.compose.runtime.Recomposer$RecomposerInfoImpl.saveStateAndDisposeForHotReload(Recomposer.kt:369)
    at androidx.compose.runtime.Recomposer$Companion.saveStateAndDisposeForHotReload$runtime_release(Recomposer.kt:1285)
    at androidx.compose.runtime.HotReloader$Companion.saveStateAndDispose(Composition.kt:1136)
    at dalvik.system.VMDebug.nativeAttachAgent(Native Method)
    at dalvik.system.VMDebug.attachAgent(VMDebug.java:656)
    at android.app.ActivityThread.attemptAttachAgent(ActivityThread.java:4220)
    at android.app.ActivityThread.handleAttachAgent(ActivityThread.java:4230)
    at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2296)
    at android.os.Handler.dispatchMessage(Handler.java:106)
    at android.os.Looper.loopOnce(Looper.java:201)
    at android.os.Looper.loop(Looper.java:288)
    at android.app.ActivityThread.main(ActivityThread.java:7898)
    at java.lang.reflect.Method.invoke(Native Method)
    at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:548)
    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:936)