Describe the bug
We have updated the com.google.android.gms:play-services-oss-licenses to version 17.5.1 and are using the com.google.android.gms.oss.licenses.v2.OssLicensesMenuActivity to show the list of licenses, but we are encountering error on certain devices, for example on Samsung S21 (Android 15) - when user clicks any license, app crashes. On some devices, e.g. Google Pixel, this seems to work as expected.
To Reproduce
Steps to reproduce the behavior:
- open the activity: startActivity(Intent(this, OssLicensesMenuActivity::class.java))
- Click on any record from the list
- App crashes
Expected behavior
URL link for the license should be displayed and not crash.
Desktop (please complete the following information):
- Gradle version: 9.6.1
- Android Studio version: Android Studio Quail 1 | 2026.1.1 Patch 2
- Plugin name and version: com.google.android.gms:play-services-oss-licenses:17.5.1
Additional context
Stacktrace:
Fatal Exception: java.lang.IllegalStateException: Cannot start this animator on a detached view!
at android.graphics.RenderNode.addAnimator(RenderNode.java:1655)
at android.graphics.animation.RenderNodeAnimator.setTarget(RenderNodeAnimator.java:288)
at android.graphics.animation.RenderNodeAnimator.setTarget(RenderNodeAnimator.java:277)
at android.graphics.drawable.RippleForeground.startPending(RippleForeground.java:139)
at android.graphics.drawable.RippleForeground.drawHardware(RippleForeground.java:168)
at android.graphics.drawable.RippleForeground.draw(RippleForeground.java:340)
at android.graphics.drawable.RippleDrawable.drawBackgroundAndRipples(RippleDrawable.java:1238)
at android.graphics.drawable.RippleDrawable.drawSolid(RippleDrawable.java:860)
at android.graphics.drawable.RippleDrawable.draw(RippleDrawable.java:842)
at android.view.View.drawBackground(View.java:26428)
at android.view.View.draw(View.java:26140)
at androidx.compose.material.ripple.RippleHostView.draw(RippleHostView.android.kt:60)
at androidx.compose.material.ripple.AndroidRippleNode.drawRipples(Ripple.android.kt:147)
at androidx.compose.material.ripple.RippleNode.draw(RippleNode.java:391)
at androidx.compose.ui.node.LayoutNodeDrawScope.drawDirect-eZhPAX0$ui(LayoutNodeDrawScope.kt:132)
at androidx.compose.ui.node.LayoutNodeDrawScope.draw-eZhPAX0$ui(LayoutNodeDrawScope.kt:119)
at androidx.compose.ui.node.NodeCoordinator.drawContainedDrawModifiers(NodeCoordinator.kt:488)
at androidx.compose.ui.node.NodeCoordinator.draw(NodeCoordinator.kt:477)
at androidx.compose.ui.node.LayoutModifierNodeCoordinator.performDraw(LayoutModifierNodeCoordinator.kt:274)
at androidx.compose.ui.node.NodeCoordinator.drawContainedDrawModifiers(NodeCoordinator.kt:485)
at androidx.compose.ui.node.NodeCoordinator.draw(NodeCoordinator.kt:477)
at androidx.compose.ui.node.LayoutNode.draw$ui(LayoutNode.kt:1043)
at androidx.compose.ui.node.InnerNodeCoordinator.performDraw(InnerNodeCoordinator.kt:179)
at androidx.compose.ui.node.NodeCoordinator.drawContainedDrawModifiers(NodeCoordinator.kt:485)
at androidx.compose.ui.node.NodeCoordinator.access$drawContainedDrawModifiers(NodeCoordinator.kt:73)
at androidx.compose.ui.node.NodeCoordinator$drawBlock$drawBlockCallToDrawModifiers$1.invoke(NodeCoordinator.kt:511)
at androidx.compose.ui.node.NodeCoordinator$drawBlock$drawBlockCallToDrawModifiers$1.invoke(NodeCoordinator.kt:510)
at androidx.compose.runtime.snapshots.SnapshotStateObserver.observeReads(SnapshotStateObserver.kt:729)
at androidx.compose.ui.node.NodeCoordinator$drawBlock$1.invoke(NodeCoordinator.java:1771)
at androidx.compose.ui.node.NodeCoordinator$drawBlock$1.invoke(NodeCoordinator.java:513)
at androidx.compose.ui.platform.GraphicsLayerOwnerLayer$recordLambda$1.invoke(GraphicsLayerOwnerLayer.java:281)
at androidx.compose.ui.platform.GraphicsLayerOwnerLayer$recordLambda$1.invoke(GraphicsLayerOwnerLayer.java:279)
at androidx.compose.ui.graphics.layer.GraphicsLayer.drawWithChildTracking(AndroidGraphicsLayer.android.kt:439)
at androidx.compose.ui.graphics.layer.GraphicsLayer.access$drawWithChildTracking(GraphicsLayer.java:56)
at androidx.compose.ui.graphics.layer.GraphicsLayer$clipDrawBlock$1.invoke(GraphicsLayer.java:69)
at androidx.compose.ui.graphics.layer.GraphicsLayer$clipDrawBlock$1.invoke(GraphicsLayer.java:64)
at androidx.compose.ui.graphics.layer.GraphicsLayerV29.record(GraphicsLayerV29.android.kt:251)
at androidx.compose.ui.graphics.layer.GraphicsLayer.recordInternal(GraphicsLayer.java:432)
at androidx.compose.ui.graphics.layer.GraphicsLayer.record-mL-hObY(GraphicsLayer.java:428)
at androidx.compose.ui.platform.GraphicsLayerOwnerLayer.updateDisplayList(GraphicsLayerOwnerLayer.android.kt:274)
at androidx.compose.ui.platform.GraphicsLayerOwnerLayer.drawLayer(GraphicsLayerOwnerLayer.java:253)
at androidx.compose.ui.node.NodeCoordinator.draw(NodeCoordinator.kt:472)
at androidx.compose.ui.node.LayoutNode.draw$ui(LayoutNode.kt:1043)
at androidx.compose.ui.node.InnerNodeCoordinator.performDraw(InnerNodeCoordinator.kt:179)
at androidx.compose.ui.node.LayoutNodeDrawScope.drawContent(LayoutNodeDrawScope.kt:74)
at androidx.compose.foundation.StretchOverscrollNode.draw(StretchOverscrollNode.java:218)
at androidx.compose.ui.node.LayoutNodeDrawScope.drawDirect-eZhPAX0$ui(LayoutNodeDrawScope.kt:132)
at androidx.compose.ui.node.LayoutNodeDrawScope.draw-eZhPAX0$ui(LayoutNodeDrawScope.kt:119)
at androidx.compose.ui.node.NodeCoordinator.drawContainedDrawModifiers(NodeCoordinator.kt:488)
at androidx.compose.ui.node.NodeCoordinator.access$drawContainedDrawModifiers(NodeCoordinator.kt:73)
at androidx.compose.ui.node.NodeCoordinator$drawBlock$drawBlockCallToDrawModifiers$1.invoke(NodeCoordinator.kt:511)
at androidx.compose.ui.node.NodeCoordinator$drawBlock$drawBlockCallToDrawModifiers$1.invoke(NodeCoordinator.kt:510)
at androidx.compose.runtime.snapshots.SnapshotStateObserver.observeReads(SnapshotStateObserver.kt:729)
at androidx.compose.ui.node.NodeCoordinator$drawBlock$1.invoke(NodeCoordinator.java:1771)
at androidx.compose.ui.node.NodeCoordinator$drawBlock$1.invoke(NodeCoordinator.java:513)
at androidx.compose.ui.platform.GraphicsLayerOwnerLayer$recordLambda$1.invoke(GraphicsLayerOwnerLayer.java:281)
at androidx.compose.ui.platform.GraphicsLayerOwnerLayer$recordLambda$1.invoke(GraphicsLayerOwnerLayer.java:279)
at androidx.compose.ui.graphics.layer.GraphicsLayer.drawWithChildTracking(AndroidGraphicsLayer.android.kt:439)
at androidx.compose.ui.graphics.layer.GraphicsLayer.draw$ui_graphics(GraphicsLayer.java:555)
at androidx.compose.ui.graphics.layer.GraphicsLayerKt.drawLayer(GraphicsLayer.kt:51)
at androidx.compose.ui.platform.GraphicsLayerOwnerLayer.drawLayer(GraphicsLayerOwnerLayer.java:259)
at androidx.compose.ui.node.NodeCoordinator.draw(NodeCoordinator.kt:472)
at androidx.compose.ui.node.LayoutModifierNodeCoordinator.performDraw(LayoutModifierNodeCoordinator.kt:274)
at androidx.compose.ui.node.LayoutNodeDrawScope.drawContent(LayoutNodeDrawScope.kt:74)
at androidx.compose.foundation.lazy.layout.LazyLayoutItemAnimator$DisplayingDisappearingItemsNode.draw(LazyLayoutItemAnimator.kt:553)
at androidx.compose.ui.node.LayoutNodeDrawScope.drawDirect-eZhPAX0$ui(LayoutNodeDrawScope.kt:132)
at androidx.compose.ui.node.LayoutNodeDrawScope.draw-eZhPAX0$ui(LayoutNodeDrawScope.kt:119)
at androidx.compose.ui.node.NodeCoordinator.drawContainedDrawModifiers(NodeCoordinator.kt:488)
at androidx.compose.ui.node.NodeCoordinator.draw(NodeCoordinator.kt:477)
at androidx.compose.ui.node.LayoutModifierNodeCoordinator.performDraw(LayoutModifierNodeCoordinator.kt:274)
at androidx.compose.ui.node.NodeCoordinator.drawContainedDrawModifiers(NodeCoordinator.kt:485)
at androidx.compose.ui.node.NodeCoordinator.draw(NodeCoordinator.kt:477)
at androidx.compose.ui.node.LayoutModifierNodeCoordinator.performDraw(LayoutModifierNodeCoordinator.kt:274)
at androidx.compose.ui.node.NodeCoordinator.drawContainedDrawModifiers(NodeCoordinator.kt:485)
at androidx.compose.ui.node.NodeCoordinator.draw(NodeCoordinator.kt:477)
at androidx.compose.ui.node.LayoutNode.draw$ui(LayoutNode.kt:1043)
at androidx.compose.ui.node.InnerNodeCoordinator.performDraw(InnerNodeCoordinator.kt:179)
at androidx.compose.ui.node.NodeCoordinator.drawContainedDrawModifiers(NodeCoordinator.kt:485)
at androidx.compose.ui.node.NodeCoordinator.draw(NodeCoordinator.kt:477)
at androidx.compose.ui.node.LayoutModifierNodeCoordinator.performDraw(LayoutModifierNodeCoordinator.kt:274)
at androidx.compose.ui.node.NodeCoordinator.drawContainedDrawModifiers(NodeCoordinator.kt:485)
at androidx.compose.ui.node.NodeCoordinator.draw(NodeCoordinator.kt:477)
at androidx.compose.ui.node.LayoutModifierNodeCoordinator.performDraw(LayoutModifierNodeCoordinator.kt:274)
at androidx.compose.ui.node.NodeCoordinator.drawContainedDrawModifiers(NodeCoordinator.kt:485)
at androidx.compose.ui.node.NodeCoordinator.draw(NodeCoordinator.kt:477)
at androidx.compose.ui.node.LayoutNode.draw$ui(LayoutNode.kt:1043)
at androidx.compose.ui.node.InnerNodeCoordinator.performDraw(InnerNodeCoordinator.kt:179)
at androidx.compose.ui.node.NodeCoordinator.drawContainedDrawModifiers(NodeCoordinator.kt:485)
at androidx.compose.ui.node.NodeCoordinator.draw(NodeCoordinator.kt:477)
at androidx.compose.ui.node.LayoutNode.draw$ui(LayoutNode.kt:1043)
at androidx.compose.ui.node.InnerNodeCoordinator.performDraw(InnerNodeCoordinator.kt:179)
at androidx.compose.ui.node.NodeCoordinator.drawContainedDrawModifiers(NodeCoordinator.kt:485)
at androidx.compose.ui.node.NodeCoordinator.draw(NodeCoordinator.kt:477)
at androidx.compose.ui.node.LayoutNode.draw$ui(LayoutNode.kt:1043)
at androidx.compose.ui.node.InnerNodeCoordinator.performDraw(InnerNodeCoordinator.kt:179)
at androidx.compose.ui.node.NodeCoordinator.drawContainedDrawModifiers(NodeCoordinator.kt:485)
at androidx.compose.ui.node.NodeCoordinator.access$drawContainedDrawModifiers(NodeCoordinator.kt:73)
at androidx.compose.ui.node.NodeCoordinator$drawBlock$drawBlockCallToDrawModifiers$1.invoke(NodeCoordinator.kt:511)
at androidx.compose.ui.node.NodeCoordinator$drawBlock$drawBlockCallToDrawModifiers$1.invoke(NodeCoordinator.kt:510)
at androidx.compose.runtime.snapshots.SnapshotStateObserver.observeReads(SnapshotStateObserver.kt:729)
at androidx.compose.ui.node.NodeCoordinator$drawBlock$1.invoke(NodeCoordinator.java:1771)
at androidx.compose.ui.node.NodeCoordinator$drawBlock$1.invoke(NodeCoordinator.java:513)
at androidx.compose.ui.platform.GraphicsLayerOwnerLayer$recordLambda$1.invoke(GraphicsLayerOwnerLayer.java:281)
at androidx.compose.ui.platform.GraphicsLayerOwnerLayer$recordLambda$1.invoke(GraphicsLayerOwnerLayer.java:279)
at androidx.compose.ui.graphics.layer.GraphicsLayer.drawWithChildTracking(AndroidGraphicsLayer.android.kt:439)
at androidx.compose.ui.graphics.layer.GraphicsLayer.draw$ui_graphics(GraphicsLayer.java:555)
at androidx.compose.ui.graphics.layer.GraphicsLayerKt.drawLayer(GraphicsLayer.kt:51)
at androidx.compose.ui.platform.GraphicsLayerOwnerLayer.drawLayer(GraphicsLayerOwnerLayer.java:259)
at androidx.compose.ui.node.NodeCoordinator.draw(NodeCoordinator.kt:472)
at androidx.compose.ui.node.LayoutModifierNodeCoordinator.performDraw(LayoutModifierNodeCoordinator.kt:274)
at androidx.compose.ui.node.LayoutNodeDrawScope.drawContent(LayoutNodeDrawScope.kt:74)
at androidx.compose.foundation.BackgroundNode.draw(Background.kt:167)
at androidx.compose.ui.node.LayoutNodeDrawScope.drawDirect-eZhPAX0$ui(LayoutNodeDrawScope.kt:132)
at androidx.compose.ui.node.LayoutNodeDrawScope.draw-eZhPAX0$ui(LayoutNodeDrawScope.kt:119)
at androidx.compose.ui.node.NodeCoordinator.drawContainedDrawModifiers(NodeCoordinator.kt:488)
at androidx.compose.ui.node.NodeCoordinator.draw(NodeCoordinator.kt:477)
at androidx.compose.ui.node.LayoutNode.draw$ui(LayoutNode.kt:1043)
at androidx.compose.ui.node.InnerNodeCoordinator.performDraw(InnerNodeCoordinator.kt:179)
at androidx.compose.ui.node.NodeCoordinator.drawContainedDrawModifiers(NodeCoordinator.kt:485)
at androidx.compose.ui.node.NodeCoordinator.access$drawContainedDrawModifiers(NodeCoordinator.kt:73)
at androidx.compose.ui.node.NodeCoordinator$drawBlock$drawBlockCallToDrawModifiers$1.invoke(NodeCoordinator.kt:511)
at androidx.compose.ui.node.NodeCoordinator$drawBlock$drawBlockCallToDrawModifiers$1.invoke(NodeCoordinator.kt:510)
at androidx.compose.runtime.snapshots.SnapshotStateObserver.observeReads(SnapshotStateObserver.kt:729)
at androidx.compose.ui.node.NodeCoordinator$drawBlock$1.invoke(NodeCoordinator.java:1771)
at androidx.compose.ui.node.NodeCoordinator$drawBlock$1.invoke(NodeCoordinator.java:513)
at androidx.compose.ui.platform.GraphicsLayerOwnerLayer$recordLambda$1.invoke(GraphicsLayerOwnerLayer.java:281)
at androidx.compose.ui.platform.GraphicsLayerOwnerLayer$recordLambda$1.invoke(GraphicsLayerOwnerLayer.java:279)
at androidx.compose.ui.graphics.layer.GraphicsLayer.drawWithChildTracking(AndroidGraphicsLayer.android.kt:439)
at androidx.compose.ui.graphics.layer.GraphicsLayer.draw$ui_graphics(GraphicsLayer.java:555)
at androidx.compose.ui.graphics.layer.GraphicsLayerKt.drawLayer(GraphicsLayer.kt:51)
at androidx.compose.ui.platform.GraphicsLayerOwnerLayer.drawLayer(GraphicsLayerOwnerLayer.java:259)
at androidx.compose.ui.node.NodeCoordinator.draw(NodeCoordinator.kt:472)
at androidx.compose.ui.node.LayoutModifierNodeCoordinator.performDraw(LayoutModifierNodeCoordinator.kt:274)
at androidx.compose.ui.node.NodeCoordinator.drawContainedDrawModifiers(NodeCoordinator.kt:485)
at androidx.compose.ui.node.NodeCoordinator.access$drawContainedDrawModifiers(NodeCoordinator.kt:73)
at androidx.compose.ui.node.NodeCoordinator$drawBlock$drawBlockCallToDrawModifiers$1.invoke(NodeCoordinator.kt:511)
at androidx.compose.ui.node.NodeCoordinator$drawBlock$drawBlockCallToDrawModifiers$1.invoke(NodeCoordinator.kt:510)
at androidx.compose.runtime.snapshots.SnapshotStateObserver.observeReads(SnapshotStateObserver.kt:729)
at androidx.compose.ui.node.NodeCoordinator$drawBlock$1.invoke(NodeCoordinator.java:1771)
at androidx.compose.ui.node.NodeCoordinator$drawBlock$1.invoke(NodeCoordinator.java:513)
at androidx.compose.ui.platform.GraphicsLayerOwnerLayer$recordLambda$1.invoke(GraphicsLayerOwnerLayer.java:281)
at androidx.compose.ui.platform.GraphicsLayerOwnerLayer$recordLambda$1.invoke(GraphicsLayerOwnerLayer.java:279)
at androidx.compose.ui.graphics.layer.GraphicsLayer.drawWithChildTracking(AndroidGraphicsLayer.android.kt:439)
at androidx.compose.ui.graphics.layer.GraphicsLayer.draw$ui_graphics(GraphicsLayer.java:555)
at androidx.compose.ui.graphics.layer.GraphicsLayerKt.drawLayer(GraphicsLayer.kt:51)
at androidx.compose.ui.platform.GraphicsLayerOwnerLayer.drawLayer(GraphicsLayerOwnerLayer.java:259)
at androidx.compose.ui.node.NodeCoordinator.draw(NodeCoordinator.kt:472)
at androidx.compose.ui.node.LayoutModifierNodeCoordinator.performDraw(LayoutModifierNodeCoordinator.kt:274)
at androidx.compose.ui.node.NodeCoordinator.drawContainedDrawModifiers(NodeCoordinator.kt:485)
at androidx.compose.ui.node.NodeCoordinator.draw(NodeCoordinator.kt:477)
at androidx.compose.ui.node.LayoutModifierNodeCoordinator.performDraw(LayoutModifierNodeCoordinator.kt:274)
at androidx.compose.ui.node.NodeCoordinator.drawContainedDrawModifiers(NodeCoordinator.kt:485)
at androidx.compose.ui.node.NodeCoordinator.draw(NodeCoordinator.kt:477)
at androidx.compose.ui.node.LayoutNode.draw$ui(LayoutNode.kt:1043)
at androidx.compose.ui.node.InnerNodeCoordinator.performDraw(InnerNodeCoordinator.kt:179)
at androidx.compose.ui.node.NodeCoordinator.drawContainedDrawModifiers(NodeCoordinator.kt:485)
at androidx.compose.ui.node.NodeCoordinator.draw(NodeCoordinator.kt:477)
at androidx.compose.ui.node.LayoutModifierNodeCoordinator.performDraw(LayoutModifierNodeCoordinator.kt:274)
at androidx.compose.ui.node.NodeCoordinator.drawContainedDrawModifiers(NodeCoordinator.kt:485)
at androidx.compose.ui.node.NodeCoordinator.draw(NodeCoordinator.kt:477)
at androidx.compose.ui.node.LayoutNode.draw$ui(LayoutNode.kt:1043)
at androidx.compose.ui.node.InnerNodeCoordinator.performDraw(InnerNodeCoordinator.kt:179)
at androidx.compose.ui.node.NodeCoordinator.drawContainedDrawModifiers(NodeCoordinator.kt:485)
at androidx.compose.ui.node.NodeCoordinator.access$drawContainedDrawModifiers(NodeCoordinator.kt:73)
at androidx.compose.ui.node.NodeCoordinator$drawBlock$drawBlockCallToDrawModifiers$1.invoke(NodeCoordinator.kt:511)
at androidx.compose.ui.node.NodeCoordinator$drawBlock$drawBlockCallToDrawModifiers$1.invoke(NodeCoordinator.kt:510)
at androidx.compose.runtime.snapshots.SnapshotStateObserver.observeReads(SnapshotStateObserver.kt:729)
at androidx.compose.ui.node.NodeCoordinator$drawBlock$1.invoke(NodeCoordinator.java:1771)
at androidx.compose.ui.node.NodeCoordinator$drawBlock$1.invoke(NodeCoordinator.java:513)
at androidx.compose.ui.platform.GraphicsLayerOwnerLayer$recordLambda$1.invoke(GraphicsLayerOwnerLayer.java:281)
at androidx.compose.ui.platform.GraphicsLayerOwnerLayer$recordLambda$1.invoke(GraphicsLayerOwnerLayer.java:279)
at androidx.compose.ui.graphics.layer.GraphicsLayer.drawWithChildTracking(AndroidGraphicsLayer.android.kt:439)
at androidx.compose.ui.graphics.layer.GraphicsLayer.draw$ui_graphics(GraphicsLayer.java:555)
at androidx.compose.ui.graphics.layer.GraphicsLayerKt.drawLayer(GraphicsLayer.kt:51)
at androidx.compose.ui.platform.GraphicsLayerOwnerLayer.drawLayer(GraphicsLayerOwnerLayer.java:259)
at androidx.compose.ui.node.NodeCoordinator.draw(NodeCoordinator.kt:472)
at androidx.compose.ui.node.LayoutModifierNodeCoordinator.performDraw(LayoutModifierNodeCoordinator.kt:274)
at androidx.compose.ui.node.LayoutNodeDrawScope.drawContent(LayoutNodeDrawScope.kt:74)
at androidx.compose.foundation.BackgroundNode.draw(Background.kt:167)
at androidx.compose.ui.node.LayoutNodeDrawScope.drawDirect-eZhPAX0$ui(LayoutNodeDrawScope.kt:132)
at androidx.compose.ui.node.LayoutNodeDrawScope.draw-eZhPAX0$ui(LayoutNodeDrawScope.kt:119)
at androidx.compose.ui.node.NodeCoordinator.drawContainedDrawModifiers(NodeCoordinator.kt:488)
at androidx.compose.ui.node.NodeCoordinator.draw(NodeCoordinator.kt:477)
at androidx.compose.ui.node.LayoutModifierNodeCoordinator.performDraw(LayoutModifierNodeCoordinator.kt:274)
at androidx.compose.ui.node.NodeCoordinator.drawContainedDrawModifiers(NodeCoordinator.kt:485)
at androidx.compose.ui.node.NodeCoordinator.access$drawContainedDrawModifiers(NodeCoordinator.kt:73)
at androidx.compose.ui.node.NodeCoordinator$drawBlock$drawBlockCallToDrawModifiers$1.invoke(NodeCoordinator.kt:511)
at androidx.compose.ui.node.NodeCoordinator$drawBlock$drawBlockCallToDrawModifiers$1.invoke(NodeCoordinator.kt:510)
at androidx.compose.runtime.snapshots.SnapshotStateObserver.observeReads(SnapshotStateObserver.kt:758)
at androidx.compose.ui.node.NodeCoordinator$drawBlock$1.invoke(NodeCoordinator.java:1771)
at androidx.compose.ui.node.NodeCoordinator$drawBlock$1.invoke(NodeCoordinator.java:513)
at androidx.compose.ui.platform.GraphicsLayerOwnerLayer$recordLambda$1.invoke(GraphicsLayerOwnerLayer.java:281)
at androidx.compose.ui.platform.GraphicsLayerOwnerLayer$recordLambda$1.invoke(GraphicsLayerOwnerLayer.java:279)
at androidx.compose.ui.graphics.layer.GraphicsLayer.drawWithChildTracking(AndroidGraphicsLayer.android.kt:439)
at androidx.compose.ui.graphics.layer.GraphicsLayer.draw$ui_graphics(GraphicsLayer.java:555)
at androidx.compose.ui.graphics.layer.GraphicsLayerKt.drawLayer(GraphicsLayer.kt:51)
at androidx.compose.ui.platform.GraphicsLayerOwnerLayer.drawLayer(GraphicsLayerOwnerLayer.java:259)
at androidx.compose.ui.node.NodeCoordinator.draw(NodeCoordinator.kt:472)
at androidx.compose.ui.node.LayoutNode.draw$ui(LayoutNode.kt:1043)
at androidx.compose.ui.node.InnerNodeCoordinator.performDraw(InnerNodeCoordinator.kt:179)
at androidx.compose.ui.node.NodeCoordinator.drawContainedDrawModifiers(NodeCoordinator.kt:485)
at androidx.compose.ui.node.NodeCoordinator.draw(NodeCoordinator.kt:477)
at androidx.compose.ui.node.LayoutModifierNodeCoordinator.performDraw(LayoutModifierNodeCoordinator.kt:274)
at androidx.compose.ui.node.NodeCoordinator.drawContainedDrawModifiers(NodeCoordinator.kt:485)
at androidx.compose.ui.node.NodeCoordinator.draw(NodeCoordinator.kt:477)
at androidx.compose.ui.node.LayoutNode.draw$ui(LayoutNode.kt:1043)
at androidx.compose.ui.platform.AndroidComposeView.dispatchDraw(AndroidComposeView.android.kt:2205)
at android.view.View.draw(View.java:26151)
at android.view.View.draw(View.java:26020)
at android.view.ViewGroup.drawChild(ViewGroup.java:4784)
at android.view.ViewGroup.dispatchDraw(ViewGroup.java:4542)
at android.view.View.draw(View.java:26018)
at android.view.ViewGroup.drawChild(ViewGroup.java:4784)
at android.view.ViewGroup.dispatchDraw(ViewGroup.java:4542)
at android.view.View.draw(View.java:26018)
at android.view.ViewGroup.drawChild(ViewGroup.java:4784)
at android.view.ViewGroup.dispatchDraw(ViewGroup.java:4542)
at android.view.View.draw(View.java:26018)
at android.view.ViewGroup.drawChild(ViewGroup.java:4784)
at android.view.ViewGroup.dispatchDraw(ViewGroup.java:4542)
at android.view.View.draw(View.java:26018)
at android.view.ViewGroup.drawChild(ViewGroup.java:4784)
at android.view.ViewGroup.dispatchDraw(ViewGroup.java:4542)
at android.view.View.draw(View.java:26018)
at android.view.ViewGroup.drawChild(ViewGroup.java:4784)
at android.view.ViewGroup.dispatchDraw(ViewGroup.java:4542)
at com.android.internal.policy.DecorView.dispatchDraw(DecorView.java:1197)
at android.view.View.draw(View.java:26151)
at com.android.internal.policy.DecorView.draw(DecorView.java:1179)
at android.view.ViewRootImpl.drawSoftware(ViewRootImpl.java:6892)
at android.view.ViewRootImpl.draw(ViewRootImpl.java:6811)
at android.view.ViewRootImpl.performDraw(ViewRootImpl.java:6372)
at android.view.ViewRootImpl.performTraversals(ViewRootImpl.java:5282)
at android.view.ViewRootImpl.doTraversal(ViewRootImpl.java:3708)
at android.view.ViewRootImpl$TraversalRunnable.run(ViewRootImpl.java:12542)
at android.view.Choreographer$CallbackRecord.run(Choreographer.java:1751)
at android.view.Choreographer$CallbackRecord.run(Choreographer.java:1760)
at android.view.Choreographer.doCallbacks(Choreographer.java:1216)
at android.view.Choreographer.doFrame(Choreographer.java:1142)
at android.view.Choreographer$FrameDisplayEventReceiver.run(Choreographer.java:1707)
at android.os.Handler.handleCallback(Handler.java:959)
at android.os.Handler.dispatchMessage(Handler.java:100)
at android.os.Looper.loopOnce(Looper.java:257)
at android.os.Looper.loop(Looper.java:342)
at android.app.ActivityThread.main(ActivityThread.java:9634)
at java.lang.reflect.Method.invoke(Method.java)
at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:619)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:929)
Describe the bug
We have updated the com.google.android.gms:play-services-oss-licenses to version 17.5.1 and are using the com.google.android.gms.oss.licenses.v2.OssLicensesMenuActivity to show the list of licenses, but we are encountering error on certain devices, for example on Samsung S21 (Android 15) - when user clicks any license, app crashes. On some devices, e.g. Google Pixel, this seems to work as expected.
To Reproduce
Steps to reproduce the behavior:
Expected behavior
URL link for the license should be displayed and not crash.
Desktop (please complete the following information):
Additional context
Stacktrace: