juicycleff / flutter-unity-view-widget

Embeddable unity game engine view for Flutter. Advance demo here https://github.com/juicycleff/flutter-unity-arkit-demo
BSD 3-Clause "New" or "Revised" License
2.16k stars 525 forks source link

[Android 12] UnityWidget becomes blank when returning to the app from the background. #637

Open timbotimbo opened 2 years ago

timbotimbo commented 2 years ago

Describe the bug On android 12, when I return to the example app from the background, the UnityWidget sometimes turns blank. Reopening the screen with the UnityWidget, or leaving the app and coming back another time will make unity appear again.

I think this is a flutter issue related to PlatformView / Virtual Display, as I've seen it happen in google_maps_flutter too. This probably won't happen with HybridComposition enabled.

Even though it is probably a Flutter issue it can't hurt to document it here too.

To Reproduce Steps to reproduce the behavior:

  1. Run the example on Android 12.
  2. Leave the app (To home or another app), wait a few seconds and return to the app.
  3. Repeat step 2 lots of times (might take 5, might take 50).
  4. The widget is now blank
  5. The rotation speed slider still has effect on the cube, meaning unity is still running. (seen in the video when the simple demo screen is openend again)

Logs The console will be spammed with the following once te bug occurs: E/BufferQueueProducer(16275): [SurfaceTexture-0-16275-0](id:3f9300000002,api:0,p:-1,c:16275) dequeueBuffer: BufferQueue has no connected producer

Debug console of leaving the app and returning, without the bug ``` I/ViewRootImpl@658344c[MainActivity](16275): MSG_WINDOW_FOCUS_CHANGED 0 1 D/FlutterUnityController(16275): onPause D/_widget_exampl(16275): PlayerBase::stop() from IPlayer D/AudioTrack(16275): stop(364): called with 1358208 frames delivered I/ViewRootImpl@658344c[MainActivity](16275): handleAppVisibility mAppVisible=true visible=false I/ViewRootImpl@658344c[MainActivity](16275): stopped(true) old=false I/SurfaceView@8b8c1c(16275): 192894616 wPL, frameNr = 0 I/SurfaceView@8b8c1c(16275): aOrMT: uB = true t = android.view.SurfaceControl$Transaction@f7efe6e fN = 0 android.view.SurfaceView.access$500:124 android.view.SurfaceView$SurfaceViewPositionUpdateListener.positionLost:1785 android.graphics.RenderNode$CompositePositionUpdateListener.positionLost:326 I/SurfaceView@8b8c1c(16275): aOrMT: vR.mWNT, vR = ViewRootImpl@658344c[MainActivity] I/ViewRootImpl@658344c[MainActivity](16275): mWNT: t = android.view.SurfaceControl$Transaction@f7efe6e fN = 0 android.view.SurfaceView.applyOrMergeTransaction:1628 android.view.SurfaceView.access$500:124 android.view.SurfaceView$SurfaceViewPositionUpdateListener.positionLost:1785 I/ViewRootImpl@658344c[MainActivity](16275): mWNT: merge t to BBQ I/SurfaceView@8b8c1c(16275): windowStopped(true) false io.flutter.embedding.android.FlutterSurfaceView{8b8c1c V.E...... ........ 0,0-1080,2168} of ViewRootImpl@658344c[MainActivity] I/SurfaceView@8b8c1c(16275): pST: mTmpTransaction.apply, mTmpTransaction = android.view.SurfaceControl$Transaction@cce480 I/SurfaceView@8b8c1c(16275): surfaceDestroyed callback.size 1 #1 io.flutter.embedding.android.FlutterSurfaceView{8b8c1c V.E...... ........ 0,0-1080,2168} I/SurfaceView@8b8c1c(16275): updateSurface: mVisible = false mSurface.isValid() = true I/SurfaceView@8b8c1c(16275): remove() io.flutter.embedding.android.FlutterSurfaceView{8b8c1c V.E...... ........ 0,0-1080,2168} Surface(name=SurfaceView - com.xraph.plugin.flutter_unity_widget_example/com.xraph.plugin.flutter_unity_widget_example.MainActivity@8b8c1c@4)/@0x32a5ef1 D/InputTransport(16275): Input channel destroyed: 'ClientS', fd=130 I/SurfaceView@8b8c1c(16275): onWindowVisibilityChanged(8) false io.flutter.embedding.android.FlutterSurfaceView{8b8c1c V.E...... ........ 0,0-1080,2168} of ViewRootImpl@658344c[MainActivity] D/SurfaceView@8b8c1c(16275): updateSurface: surface is not valid D/OpenGLRenderer(16275): setSurface called with nullptr D/OpenGLRenderer(16275): setSurface() destroyed EGLSurface D/OpenGLRenderer(16275): destroyEglSurface I/ViewRootImpl@658344c[MainActivity](16275): Relayout returned: old=(0,0,1080,2400) new=(0,0,1080,2400) req=(1080,2400)8 dur=5 res=0x5 s={false 0} ch=false fn=-1 D/SurfaceView@8b8c1c(16275): updateSurface: surface is not valid I/_widget_exampl(16275): Compiler allocated 4546KB to compile void android.view.ViewRootImpl.performTraversals() I/ViewRootImpl@658344c[MainActivity](16275): handleAppVisibility mAppVisible=false visible=true I/SurfaceView@8b8c1c(16275): onWindowVisibilityChanged(4) false io.flutter.embedding.android.FlutterSurfaceView{8b8c1c V.E...... ........ 0,0-1080,2168} of ViewRootImpl@658344c[MainActivity] D/SurfaceView@8b8c1c(16275): updateSurface: surface is not valid D/OpenGLRenderer(16275): setSurface called with nullptr I/ViewRootImpl@658344c[MainActivity](16275): Relayout returned: old=(0,0,1080,2400) new=(0,0,1080,2400) req=(1080,2400)4 dur=6 res=0x1 s={false 0} ch=false fn=-1 D/SurfaceView@8b8c1c(16275): updateSurface: surface is not valid I/ViewRootImpl@658344c[MainActivity](16275): stopped(false) old=true I/ViewRootImpl@658344c[MainActivity](16275): stopped(false) old=false D/FlutterUnityController(16275): onResume D/FlutterUnityController(16275): Attaching unity to view I/SurfaceView@780362(16275): onWindowVisibilityChanged(8) false android.view.SurfaceView{780362 VFE...... ......ID 0,0-1032,1864 #7f05004c app:id/unitySurfaceView} of ViewRootImpl@d4a2e14[] I/SurfaceView@780362(16275): pST: mTmpTransaction.apply, mTmpTransaction = android.view.SurfaceControl$Transaction@de4c374 I/SurfaceView@780362(16275): surfaceDestroyed callback.size 1 #2 android.view.SurfaceView{780362 VFE...... ......ID 0,0-1032,1864 #7f05004c app:id/unitySurfaceView} I/SurfaceView@780362(16275): updateSurface: mVisible = false mSurface.isValid() = true I/SurfaceView@780362(16275): tryReleaseSurfaces: set mRtReleaseSurfaces = true I/SurfaceView@780362(16275): onDetachedFromWindow: tryReleaseSurfaces() I/SurfaceView@780362(16275): tryReleaseSurfaces: set mRtReleaseSurfaces = true I/CustomUnityPlayer(16275): onDetachedFromWindow I/CustomUnityPlayer(16275): onAttachedToWindow D/_widget_exampl(16275): PlayerBase::stop() from IPlayer D/AudioTrack(16275): stop(364): called with 1920 frames delivered I/SurfaceView@780362(16275): onWindowVisibilityChanged(0) true android.view.SurfaceView{780362 VFE...... ......ID 0,0-1032,1864 #7f05004c app:id/unitySurfaceView} of ViewRootImpl@d4a2e14[] I/DecorView(16275): notifyKeepScreenOnChanged: keepScreenOn=false I/SurfaceView@8b8c1c(16275): onWindowVisibilityChanged(0) false io.flutter.embedding.android.FlutterSurfaceView{8b8c1c V.E...... ........ 0,0-1080,2168} of ViewRootImpl@658344c[MainActivity] D/SurfaceView@8b8c1c(16275): updateSurface: surface is not valid D/OpenGLRenderer(16275): setSurface called with nullptr I/DecorView(16275): notifyKeepScreenOnChanged: keepScreenOn=false I/ViewRootImpl@658344c[MainActivity](16275): Relayout returned: old=(0,0,1080,2400) new=(0,0,1080,2400) req=(1080,2400)0 dur=6 res=0x7 s={true -5476376671068725248} ch=true fn=-1 D/OpenGLRenderer(16275): eglCreateWindowSurface I/SurfaceView@8b8c1c(16275): windowStopped(false) true io.flutter.embedding.android.FlutterSurfaceView{8b8c1c V.E...... ......ID 0,0-1080,2256} of ViewRootImpl@658344c[MainActivity] I/SurfaceView@8b8c1c(16275): pST: sr = Rect(0, 0 - 1080, 2256) sw = 1080 sh = 2256 I/SurfaceView@8b8c1c(16275): onSSPAndSRT: pl = 0 pt = 0 sx = 1.0 sy = 1.0 I/SurfaceView@8b8c1c(16275): pST: mTmpTransaction.apply, mTmpTransaction = android.view.SurfaceControl$Transaction@cce480 I/SurfaceView@8b8c1c(16275): updateSurface: mVisible = true mSurface.isValid() = true I/SurfaceView@8b8c1c(16275): updateSurface: mSurfaceCreated = false surfaceChanged = true visibleChanged = true I/SurfaceView@8b8c1c(16275): surfaceCreated 1 #1 io.flutter.embedding.android.FlutterSurfaceView{8b8c1c V.E...... ......ID 0,0-1080,2256} I/SurfaceView@8b8c1c(16275): surfaceChanged (1080,2256) 1 #1 io.flutter.embedding.android.FlutterSurfaceView{8b8c1c V.E...... ......ID 0,0-1080,2256} I/ViewRootImpl@658344c[MainActivity](16275): [DP] dp(1) 1 android.view.SurfaceView.updateSurface:1375 android.view.SurfaceView.setWindowStopped:383 android.view.SurfaceView.surfaceCreated:2051 I/ViewRootImpl@658344c[MainActivity](16275): [DP] pdf(0) 1 android.view.SurfaceView.notifyDrawFinished:599 android.view.SurfaceView.performDrawFinished:586 android.view.SurfaceView.$r8$lambda$st27mCkd9jfJkTrN_P3qIGKX6NY:0 I/ViewRootImpl@658344c[MainActivity](16275): [DP] rdf() D/ViewRootImpl@658344c[MainActivity](16275): reportDrawFinished (fn: -1) I/ViewRootImpl@658344c[MainActivity](16275): [DP] dp(1) 1 android.view.ViewRootImpl.reportNextDraw:11387 android.view.ViewRootImpl.performTraversals:4185 android.view.ViewRootImpl.doTraversal:2911 D/ViewRootImpl@658344c[MainActivity](16275): Creating frameDrawingCallback nextDrawUseBlastSync=false reportNextDraw=true hasBlurUpdates=false D/ViewRootImpl@658344c[MainActivity](16275): Creating frameCompleteCallback I/SurfaceView@8b8c1c(16275): uSP: rtp = Rect(0, 0 - 1080, 2256) rtsw = 1080 rtsh = 2256 D/ViewRootImpl@658344c[MainActivity](16275): Received frameDrawingCallback frameNum=1. Creating transactionCompleteCallback=false I/SurfaceView@8b8c1c(16275): onSSPAndSRT: pl = 0 pt = 0 sx = 1.0 sy = 1.0 I/SurfaceView@8b8c1c(16275): aOrMT: uB = true t = android.view.SurfaceControl$Transaction@6b55bf3 fN = 1 android.view.SurfaceView.access$500:124 android.view.SurfaceView$SurfaceViewPositionUpdateListener.positionChanged:1728 android.graphics.RenderNode$CompositePositionUpdateListener.positionChanged:319 I/SurfaceView@8b8c1c(16275): aOrMT: vR.mWNT, vR = ViewRootImpl@658344c[MainActivity] I/ViewRootImpl@658344c[MainActivity](16275): mWNT: t = android.view.SurfaceControl$Transaction@6b55bf3 fN = 1 android.view.SurfaceView.applyOrMergeTransaction:1628 android.view.SurfaceView.access$500:124 android.view.SurfaceView$SurfaceViewPositionUpdateListener.positionChanged:1728 I/ViewRootImpl@658344c[MainActivity](16275): mWNT: merge t to BBQ I/BufferQueueProducer(16275): [ViewRootImpl@658344c[MainActivity]#34(BLAST Consumer)34](id:3f9300000023,api:1,p:16275,c:16275) queueBuffer: queued for the first time. D/ViewRootImpl@658344c[MainActivity](16275): Received frameCompleteCallback lastAcquiredFrameNum=1 lastAttemptedDrawFrameNum=1 I/SurfaceView@780362(16275): pST: sr = Rect(0, 0 - 1032, 1864) sw = 1032 sh = 1864 I/SurfaceView@780362(16275): onSSPAndSRT: pl = 0 pt = 0 sx = 1.0 sy = 1.0 I/SurfaceView@780362(16275): pST: mTmpTransaction.apply, mTmpTransaction = android.view.SurfaceControl$Transaction@de4c374 I/SurfaceView@780362(16275): updateSurface: mVisible = true mSurface.isValid() = true I/SurfaceView@780362(16275): updateSurface: mSurfaceCreated = false surfaceChanged = true visibleChanged = true I/SurfaceView@780362(16275): Clear mRtReleaseSurfaces as false android.view.SurfaceView{780362 VFE...... .F....ID 0,0-1032,1864 #7f05004c app:id/unitySurfaceView} I/SurfaceView@780362(16275): surfaceCreated 1 #8 android.view.SurfaceView{780362 VFE...... .F....ID 0,0-1032,1864 #7f05004c app:id/unitySurfaceView} I/SurfaceView@780362(16275): surfaceChanged (1032,1864) 1 #8 android.view.SurfaceView{780362 VFE...... .F....ID 0,0-1032,1864 #7f05004c app:id/unitySurfaceView} I/ViewRootImpl@d4a2e14[](16275): [DP] dp(1) 1 android.view.SurfaceView.updateSurface:1375 android.view.SurfaceView.lambda$new$1$SurfaceView:254 android.view.SurfaceView$$ExternalSyntheticLambda2.onPreDraw:2 I/ViewRootImpl@d4a2e14[](16275): [DP] pdf(0) 1 android.view.SurfaceView.notifyDrawFinished:599 android.view.SurfaceView.performDrawFinished:586 android.view.SurfaceView.$r8$lambda$st27mCkd9jfJkTrN_P3qIGKX6NY:0 I/ViewRootImpl@d4a2e14[](16275): [DP] rdf() D/ViewRootImpl@d4a2e14[](16275): reportDrawFinished (fn: -1) E/BufferQueueProducer(16275): [SurfaceView - @780362@9#33(BLAST Consumer)33](id:3f9300000022,api:0,p:-1,c:16275) disconnect: not connected (req=1) W/libEGL (16275): EGLNativeWindowType 0xb400006ec48a0010 disconnect failed I/ViewRootImpl@658344c[MainActivity](16275): [DP] pdf(0) 1 android.view.ViewRootImpl.lambda$addFrameCompleteCallbackIfNeeded$3$ViewRootImpl:4987 android.view.ViewRootImpl$$ExternalSyntheticLambda16.run:6 android.os.Handler.handleCallback:938 I/ViewRootImpl@658344c[MainActivity](16275): [DP] rdf() D/ViewRootImpl@658344c[MainActivity](16275): reportDrawFinished (fn: -1) D/MediaRouter(16275): onRestoreRoute() : route=RouteInfo{ name=Phone, description=null, status=null, category=RouteCategory{ name=System types=ROUTE_TYPE_LIVE_AUDIO ROUTE_TYPE_LIVE_VIDEO groupable=false }, supportedTypes=ROUTE_TYPE_LIVE_AUDIO ROUTE_TYPE_LIVE_VIDEO , presentationDisplay=null } V/MediaRouter(16275): Selecting route: RouteInfo{ name=Phone, description=null, status=null, category=RouteCategory{ name=System types=ROUTE_TYPE_LIVE_AUDIO ROUTE_TYPE_LIVE_VIDEO groupable=false }, supportedTypes=ROUTE_TYPE_LIVE_AUDIO ROUTE_TYPE_LIVE_VIDEO , presentationDisplay=null } D/InsetsSourceConsumer(16275): ensureControlAlpha: for ITYPE_NAVIGATION_BAR on com.xraph.plugin.flutter_unity_widget_example/com.xraph.plugin.flutter_unity_widget_example.MainActivity D/InsetsSourceConsumer(16275): ensureControlAlpha: for ITYPE_STATUS_BAR on com.xraph.plugin.flutter_unity_widget_example/com.xraph.plugin.flutter_unity_widget_example.MainActivity I/DecorView(16275): notifyKeepScreenOnChanged: keepScreenOn=false I/ViewRootImpl@658344c[MainActivity](16275): Relayout returned: old=(0,0,1080,2400) new=(0,0,1080,2400) req=(1080,2400)0 dur=12 res=0x1 s={true -5476376671068725248} ch=false fn=2 I/SurfaceView@8b8c1c(16275): pST: sr = Rect(0, 88 - 1080, 2256) sw = 1080 sh = 2168 I/SurfaceView@8b8c1c(16275): onSSPAndSRT: pl = 0 pt = 88 sx = 1.0 sy = 1.0 I/SurfaceView@8b8c1c(16275): pST: mTmpTransaction.apply, mTmpTransaction = android.view.SurfaceControl$Transaction@cce480 I/SurfaceView@8b8c1c(16275): updateSurface: mVisible = true mSurface.isValid() = true I/SurfaceView@8b8c1c(16275): updateSurface: mSurfaceCreated = true surfaceChanged = false visibleChanged = false I/SurfaceView@8b8c1c(16275): surfaceChanged (1080,2168) 1 #5 io.flutter.embedding.android.FlutterSurfaceView{8b8c1c V.E...... ......ID 0,0-1080,2168} I/ViewRootImpl@658344c[MainActivity](16275): [DP] dp(1) 1 android.view.SurfaceView.updateSurface:1375 android.view.SurfaceView.setFrame:675 android.view.View.layout:24458 I/ViewRootImpl@658344c[MainActivity](16275): [DP] pdf(0) 1 android.view.SurfaceView.notifyDrawFinished:599 android.view.SurfaceView.performDrawFinished:586 android.view.SurfaceView.$r8$lambda$st27mCkd9jfJkTrN_P3qIGKX6NY:0 I/ViewRootImpl@658344c[MainActivity](16275): [DP] rdf() D/ViewRootImpl@658344c[MainActivity](16275): reportDrawFinished (fn: 2) I/SurfaceView@8b8c1c(16275): uSP: rtp = Rect(0, 88 - 1080, 2256) rtsw = 1080 rtsh = 2168 I/SurfaceView@8b8c1c(16275): onSSPAndSRT: pl = 0 pt = 88 sx = 1.0 sy = 1.0 I/SurfaceView@8b8c1c(16275): aOrMT: uB = true t = android.view.SurfaceControl$Transaction@e2e60b0 fN = 2 android.view.SurfaceView.access$500:124 android.view.SurfaceView$SurfaceViewPositionUpdateListener.positionChanged:1728 android.graphics.RenderNode$CompositePositionUpdateListener.positionChanged:319 I/SurfaceView@8b8c1c(16275): aOrMT: vR.mWNT, vR = ViewRootImpl@658344c[MainActivity] I/ViewRootImpl@658344c[MainActivity](16275): mWNT: t = android.view.SurfaceControl$Transaction@e2e60b0 fN = 2 android.view.SurfaceView.applyOrMergeTransaction:1628 android.view.SurfaceView.access$500:124 android.view.SurfaceView$SurfaceViewPositionUpdateListener.positionChanged:1728 I/ViewRootImpl@658344c[MainActivity](16275): mWNT: merge t to BBQ I/ViewRootImpl@658344c[MainActivity](16275): MSG_WINDOW_FOCUS_CHANGED 1 1 D/InputMethodManager(16275): startInputInner - Id : 0 I/InputMethodManager(16275): startInputInner - mService.startInputOrWindowGainedFocus D/MediaRouter(16275): onRestoreRoute() : route=RouteInfo{ name=Phone, description=null, status=null, category=RouteCategory{ name=System types=ROUTE_TYPE_LIVE_AUDIO ROUTE_TYPE_LIVE_VIDEO groupable=false }, supportedTypes=ROUTE_TYPE_LIVE_AUDIO ROUTE_TYPE_LIVE_VIDEO , presentationDisplay=null } V/MediaRouter(16275): Selecting route: RouteInfo{ name=Phone, description=null, status=null, category=RouteCategory{ name=System types=ROUTE_TYPE_LIVE_AUDIO ROUTE_TYPE_LIVE_VIDEO groupable=false }, supportedTypes=ROUTE_TYPE_LIVE_AUDIO ROUTE_TYPE_LIVE_VIDEO , presentationDisplay=null } I/SurfaceView@780362(16275): onWindowVisibilityChanged(8) false android.view.SurfaceView{780362 VFE...... ......ID 0,0-1032,1864 #7f05004c app:id/unitySurfaceView} of ViewRootImpl@d4a2e14[] I/SurfaceView@780362(16275): pST: mTmpTransaction.apply, mTmpTransaction = android.view.SurfaceControl$Transaction@de4c374 I/SurfaceView@780362(16275): surfaceDestroyed callback.size 1 #2 android.view.SurfaceView{780362 VFE...... ......ID 0,0-1032,1864 #7f05004c app:id/unitySurfaceView} I/BufferQueueProducer(16275): [SurfaceView - @780362@10#36(BLAST Consumer)36](id:3f9300000025,api:1,p:16275,c:16275) queueBuffer: queued for the first time. I/SurfaceView@780362(16275): updateSurface: mVisible = false mSurface.isValid() = true I/SurfaceView@780362(16275): tryReleaseSurfaces: set mRtReleaseSurfaces = true I/SurfaceView@780362(16275): onDetachedFromWindow: tryReleaseSurfaces() I/SurfaceView@780362(16275): tryReleaseSurfaces: set mRtReleaseSurfaces = true I/CustomUnityPlayer(16275): onDetachedFromWindow I/BufferQueueProducer(16275): [SurfaceTexture-0-16275-0](id:3f9300000002,api:1,p:1159,c:16275) queueBuffer: queued for the first time. I/Dialog (16275): mIsDeviceDefault = false, mIsSamsungBasicInteraction = false, isMetaDataInActivity = false I/DecorView(16275): [INFO] isPopOver=false, config=false I/DecorView(16275): updateCaptionType >> DecorView@f4195c8[], isFloating=false, isApplication=false, hasWindowControllerCallback=false, hasWindowDecorCaption=false D/DecorView(16275): setCaptionType = 0, this = DecorView@f4195c8[] D/NativeCustomFrequencyManager(16275): [NativeCFMS] BpCustomFrequencyManager::BpCustomFrequencyManager() I/ViewRootImpl@5be4674[](16275): setView = com.android.internal.policy.DecorView@f4195c8 TM=true I/SurfaceView@780362(16275): 149759971 wPL, frameNr = 0 I/SurfaceView@780362(16275): remove() from RT android.view.SurfaceView$SurfaceViewPositionUpdateListener@8ed27e3 Surface(name=SurfaceView - @780362@9)/@0xbb355e0 I/SurfaceView@780362(16275): remove() android.view.SurfaceView{780362 VFE...... ......ID 0,0-1032,1864 #7f05004c app:id/unitySurfaceView} Surface(name=SurfaceView - @780362@9)/@0xbb355e0 I/SurfaceView@780362(16275): aOrMT: uB = false t = android.view.SurfaceControl$Transaction@7325a1f fN = 0 android.view.SurfaceView.access$500:124 android.view.SurfaceView$SurfaceViewPositionUpdateListener.positionLost:1785 android.graphics.RenderNode$CompositePositionUpdateListener.positionLost:326 I/SurfaceView@780362(16275): aOrMT: t.apply D/OpenGLRenderer(16275): setSurface called with nullptr D/OpenGLRenderer(16275): setSurface() destroyed EGLSurface D/OpenGLRenderer(16275): destroyEglSurface I/ViewRootImpl@d4a2e14[](16275): dispatchDetachedFromWindow D/InputTransport(16275): Input channel destroyed: '8e7d9fa', fd=155 I/CustomUnityPlayer(16275): onAttachedToWindow D/_widget_exampl(16275): PlayerBase::stop() from IPlayer D/AudioTrack(16275): stop(364): called with 10176 frames delivered I/SurfaceView@780362(16275): onWindowVisibilityChanged(0) true android.view.SurfaceView{780362 VFE...... ......ID 0,0-1032,1864 #7f05004c app:id/unitySurfaceView} of ViewRootImpl@5be4674[] I/ViewRootImpl@5be4674[](16275): Relayout returned: old=(0,0,1032,1952) new=(0,0,1032,1952) req=(1032,1952)0 dur=5 res=0x7 s={true -5476376671134169088} ch=true fn=-1 D/OpenGLRenderer(16275): eglCreateWindowSurface I/SurfaceView@780362(16275): windowStopped(false) true android.view.SurfaceView{780362 VFE...... ......ID 0,0-1032,1952 #7f05004c app:id/unitySurfaceView} of ViewRootImpl@5be4674[] I/ViewRootImpl@5be4674[](16275): [DP] dp(1) 1 android.view.ViewRootImpl.reportNextDraw:11387 android.view.ViewRootImpl.performTraversals:4185 android.view.ViewRootImpl.doTraversal:2911 I/SurfaceView@780362(16275): pST: sr = Rect(0, 0 - 1032, 1952) sw = 1032 sh = 1952 I/SurfaceView@780362(16275): onSSPAndSRT: pl = 0 pt = 0 sx = 1.0 sy = 1.0 I/SurfaceView@780362(16275): pST: mTmpTransaction.apply, mTmpTransaction = android.view.SurfaceControl$Transaction@de4c374 I/SurfaceView@780362(16275): updateSurface: mVisible = true mSurface.isValid() = true I/SurfaceView@780362(16275): updateSurface: mSurfaceCreated = false surfaceChanged = true visibleChanged = true I/SurfaceView@780362(16275): surfaceCreated 1 #8 android.view.SurfaceView{780362 VFE...... ......ID 0,0-1032,1952 #7f05004c app:id/unitySurfaceView} I/SurfaceView@780362(16275): surfaceChanged (1032,1952) 1 #8 android.view.SurfaceView{780362 VFE...... ......ID 0,0-1032,1952 #7f05004c app:id/unitySurfaceView} E/BufferQueueProducer(16275): [SurfaceView - @780362@10#36(BLAST Consumer)36](id:3f9300000025,api:0,p:-1,c:16275) disconnect: not connected (req=1) W/libEGL (16275): EGLNativeWindowType 0xb400006ec485f010 disconnect failed I/ViewRootImpl@5be4674[](16275): [DP] dp(2) 1 android.view.SurfaceView.updateSurface:1375 android.view.SurfaceView.lambda$new$1$SurfaceView:254 android.view.SurfaceView$$ExternalSyntheticLambda2.onPreDraw:2 I/ViewRootImpl@5be4674[](16275): [DP] pdf(1) 1 android.view.SurfaceView.notifyDrawFinished:599 android.view.SurfaceView.performDrawFinished:586 android.view.SurfaceView.$r8$lambda$st27mCkd9jfJkTrN_P3qIGKX6NY:0 D/ViewRootImpl@5be4674[](16275): pendingDrawFinished. Waiting on draw reported mDrawsNeededToReport=1 D/ViewRootImpl@5be4674[](16275): Creating frameDrawingCallback nextDrawUseBlastSync=false reportNextDraw=true hasBlurUpdates=false D/ViewRootImpl@5be4674[](16275): Creating frameCompleteCallback I/SurfaceView@780362(16275): uSP: rtp = Rect(0, 0 - 1032, 1952) rtsw = 1032 rtsh = 1952 I/SurfaceView@780362(16275): onSSPAndSRT: pl = 0 pt = 0 sx = 1.0 sy = 1.0 I/SurfaceView@780362(16275): aOrMT: uB = true t = android.view.SurfaceControl$Transaction@e405f3f fN = 1 android.view.SurfaceView.access$500:124 android.view.SurfaceView$SurfaceViewPositionUpdateListener.positionChanged:1728 android.graphics.RenderNode$CompositePositionUpdateListener.positionChanged:319 I/SurfaceView@780362(16275): aOrMT: vR.mWNT, vR = ViewRootImpl@5be4674[] I/ViewRootImpl@5be4674[](16275): mWNT: t = android.view.SurfaceControl$Transaction@e405f3f fN = 1 android.view.SurfaceView.applyOrMergeTransaction:1628 android.view.SurfaceView.access$500:124 android.view.SurfaceView$SurfaceViewPositionUpdateListener.positionChanged:1728 I/ViewRootImpl@5be4674[](16275): mWNT: merge t to BBQ D/ViewRootImpl@5be4674[](16275): Received frameDrawingCallback frameNum=1. Creating transactionCompleteCallback=false I/BufferQueueProducer(16275): [ViewRootImpl@5be4674[]#37(BLAST Consumer)37](id:3f9300000026,api:1,p:16275,c:16275) queueBuffer: queued for the first time. D/OpenGLRenderer(16275): GPIS:: SetUp Pid : 16275 Tid : 16297 D/ViewRootImpl@5be4674[](16275): Received frameCompleteCallback lastAcquiredFrameNum=1 lastAttemptedDrawFrameNum=1 I/ViewRootImpl@5be4674[](16275): [DP] pdf(0) 1 android.view.ViewRootImpl.lambda$addFrameCompleteCallbackIfNeeded$3$ViewRootImpl:4987 android.view.ViewRootImpl$$ExternalSyntheticLambda16.run:6 android.os.Handler.handleCallback:938 I/ViewRootImpl@5be4674[](16275): [DP] rdf() D/ViewRootImpl@5be4674[](16275): reportDrawFinished (fn: -1) D/MediaRouter(16275): onRestoreRoute() : route=RouteInfo{ name=Phone, description=null, status=null, category=RouteCategory{ name=System types=ROUTE_TYPE_LIVE_AUDIO ROUTE_TYPE_LIVE_VIDEO groupable=false }, supportedTypes=ROUTE_TYPE_LIVE_AUDIO ROUTE_TYPE_LIVE_VIDEO , presentationDisplay=null } V/MediaRouter(16275): Selecting route: RouteInfo{ name=Phone, description=null, status=null, category=RouteCategory{ name=System types=ROUTE_TYPE_LIVE_AUDIO ROUTE_TYPE_LIVE_VIDEO groupable=false }, supportedTypes=ROUTE_TYPE_LIVE_AUDIO ROUTE_TYPE_LIVE_VIDEO , presentationDisplay=null } I/BufferQueueProducer(16275): [SurfaceView - com.xraph.plugin.flutter_unity_widget_example/com.xraph.plugin.flutter_unity_widget_example.MainActivity@8b8c1c@5#35(BLAST Consumer)35](id:3f9300000024,api:1,p:16275,c:16275) queueBuffer: queued for the first time. I/BufferQueueProducer(16275): [SurfaceView - @780362@10#38(BLAST Consumer)38](id:3f9300000027,api:1,p:16275,c:16275) queueBuffer: queued for the first time. I/SurfaceView@780362(16275): onWindowVisibilityChanged(8) false android.view.SurfaceView{780362 VFE...... ........ 0,0-1032,1952 #7f05004c app:id/unitySurfaceView} of ViewRootImpl@5be4674[] I/SurfaceView@780362(16275): pST: mTmpTransaction.apply, mTmpTransaction = android.view.SurfaceControl$Transaction@de4c374 I/SurfaceView@780362(16275): surfaceDestroyed callback.size 1 #2 android.view.SurfaceView{780362 VFE...... ........ 0,0-1032,1952 #7f05004c app:id/unitySurfaceView} I/SurfaceView@780362(16275): updateSurface: mVisible = false mSurface.isValid() = true I/SurfaceView@780362(16275): tryReleaseSurfaces: set mRtReleaseSurfaces = true I/SurfaceView@780362(16275): onDetachedFromWindow: tryReleaseSurfaces() I/SurfaceView@780362(16275): tryReleaseSurfaces: set mRtReleaseSurfaces = true I/CustomUnityPlayer(16275): onDetachedFromWindow I/BufferQueueProducer(16275): [SurfaceTexture-0-16275-0](id:3f9300000002,api:1,p:1159,c:16275) queueBuffer: queued for the first time. I/Dialog (16275): mIsDeviceDefault = false, mIsSamsungBasicInteraction = false, isMetaDataInActivity = false I/DecorView(16275): [INFO] isPopOver=false, config=false I/DecorView(16275): updateCaptionType >> DecorView@96a00f8[], isFloating=false, isApplication=false, hasWindowControllerCallback=false, hasWindowDecorCaption=false D/DecorView(16275): setCaptionType = 0, this = DecorView@96a00f8[] D/NativeCustomFrequencyManager(16275): [NativeCFMS] BpCustomFrequencyManager::BpCustomFrequencyManager() I/ViewRootImpl@2ba34a4[](16275): setView = com.android.internal.policy.DecorView@96a00f8 TM=true I/SurfaceView@780362(16275): 124243923 wPL, frameNr = 0 I/SurfaceView@780362(16275): remove() from RT android.view.SurfaceView$SurfaceViewPositionUpdateListener@767cfd3 Surface(name=SurfaceView - @780362@10)/@0x8b7f710 I/SurfaceView@780362(16275): remove() android.view.SurfaceView{780362 VFE...... ........ 0,0-1032,1952 #7f05004c app:id/unitySurfaceView} Surface(name=SurfaceView - @780362@10)/@0x8b7f710 I/SurfaceView@780362(16275): aOrMT: uB = false t = android.view.SurfaceControl$Transaction@7325a1f fN = 0 android.view.SurfaceView.access$500:124 android.view.SurfaceView$SurfaceViewPositionUpdateListener.positionLost:1785 android.graphics.RenderNode$CompositePositionUpdateListener.positionLost:326 I/SurfaceView@780362(16275): aOrMT: t.apply D/OpenGLRenderer(16275): setSurface called with nullptr D/OpenGLRenderer(16275): setSurface() destroyed EGLSurface D/OpenGLRenderer(16275): destroyEglSurface I/ViewRootImpl@5be4674[](16275): dispatchDetachedFromWindow D/InputTransport(16275): Input channel destroyed: '3bdb812', fd=176 I/CustomUnityPlayer(16275): onAttachedToWindow D/_widget_exampl(16275): PlayerBase::stop() from IPlayer D/AudioTrack(16275): stop(364): called with 12480 frames delivered I/SurfaceView@780362(16275): onWindowVisibilityChanged(0) true android.view.SurfaceView{780362 VFE...... ........ 0,0-1032,1952 #7f05004c app:id/unitySurfaceView} of ViewRootImpl@2ba34a4[] I/ViewRootImpl@2ba34a4[](16275): Relayout returned: old=(0,0,1032,1864) new=(0,0,1032,1864) req=(1032,1864)0 dur=4 res=0x7 s={true -5476376671134169088} ch=true fn=-1 D/OpenGLRenderer(16275): eglCreateWindowSurface I/SurfaceView@780362(16275): windowStopped(false) true android.view.SurfaceView{780362 VFE...... ......ID 0,0-1032,1864 #7f05004c app:id/unitySurfaceView} of ViewRootImpl@2ba34a4[] I/ViewRootImpl@2ba34a4[](16275): [DP] dp(1) 1 android.view.ViewRootImpl.reportNextDraw:11387 android.view.ViewRootImpl.performTraversals:4185 android.view.ViewRootImpl.doTraversal:2911 I/SurfaceView@780362(16275): pST: sr = Rect(0, 0 - 1032, 1864) sw = 1032 sh = 1864 I/SurfaceView@780362(16275): onSSPAndSRT: pl = 0 pt = 0 sx = 1.0 sy = 1.0 I/SurfaceView@780362(16275): pST: mTmpTransaction.apply, mTmpTransaction = android.view.SurfaceControl$Transaction@de4c374 I/SurfaceView@780362(16275): updateSurface: mVisible = true mSurface.isValid() = true I/SurfaceView@780362(16275): updateSurface: mSurfaceCreated = false surfaceChanged = true visibleChanged = true I/SurfaceView@780362(16275): surfaceCreated 1 #8 android.view.SurfaceView{780362 VFE...... ......ID 0,0-1032,1864 #7f05004c app:id/unitySurfaceView} I/SurfaceView@780362(16275): surfaceChanged (1032,1864) 1 #8 android.view.SurfaceView{780362 VFE...... ......ID 0,0-1032,1864 #7f05004c app:id/unitySurfaceView} E/BufferQueueProducer(16275): [SurfaceView - @780362@10#38(BLAST Consumer)38](id:3f9300000027,api:0,p:-1,c:16275) disconnect: not connected (req=1) W/libEGL (16275): EGLNativeWindowType 0xb400006ec4a8d810 disconnect failed I/ViewRootImpl@2ba34a4[](16275): [DP] dp(2) 1 android.view.SurfaceView.updateSurface:1375 android.view.SurfaceView.lambda$new$1$SurfaceView:254 android.view.SurfaceView$$ExternalSyntheticLambda2.onPreDraw:2 I/ViewRootImpl@2ba34a4[](16275): [DP] pdf(1) 1 android.view.SurfaceView.notifyDrawFinished:599 android.view.SurfaceView.performDrawFinished:586 android.view.SurfaceView.$r8$lambda$st27mCkd9jfJkTrN_P3qIGKX6NY:0 D/ViewRootImpl@2ba34a4[](16275): pendingDrawFinished. Waiting on draw reported mDrawsNeededToReport=1 D/ViewRootImpl@2ba34a4[](16275): Creating frameDrawingCallback nextDrawUseBlastSync=false reportNextDraw=true hasBlurUpdates=false D/ViewRootImpl@2ba34a4[](16275): Creating frameCompleteCallback I/SurfaceView@780362(16275): uSP: rtp = Rect(0, 0 - 1032, 1864) rtsw = 1032 rtsh = 1864 I/SurfaceView@780362(16275): onSSPAndSRT: pl = 0 pt = 0 sx = 1.0 sy = 1.0 I/SurfaceView@780362(16275): aOrMT: uB = true t = android.view.SurfaceControl$Transaction@d55962f fN = 1 android.view.SurfaceView.access$500:124 android.view.SurfaceView$SurfaceViewPositionUpdateListener.positionChanged:1728 android.graphics.RenderNode$CompositePositionUpdateListener.positionChanged:319 I/SurfaceView@780362(16275): aOrMT: vR.mWNT, vR = ViewRootImpl@2ba34a4[] I/ViewRootImpl@2ba34a4[](16275): mWNT: t = android.view.SurfaceControl$Transaction@d55962f fN = 1 android.view.SurfaceView.applyOrMergeTransaction:1628 android.view.SurfaceView.access$500:124 android.view.SurfaceView$SurfaceViewPositionUpdateListener.positionChanged:1728 I/ViewRootImpl@2ba34a4[](16275): mWNT: merge t to BBQ D/ViewRootImpl@2ba34a4[](16275): Received frameDrawingCallback frameNum=1. Creating transactionCompleteCallback=false I/BufferQueueProducer(16275): [ViewRootImpl@2ba34a4[]#39(BLAST Consumer)39](id:3f9300000028,api:1,p:16275,c:16275) queueBuffer: queued for the first time. D/OpenGLRenderer(16275): GPIS:: SetUp Pid : 16275 Tid : 16297 D/ViewRootImpl@2ba34a4[](16275): Received frameCompleteCallback lastAcquiredFrameNum=1 lastAttemptedDrawFrameNum=1 I/ViewRootImpl@2ba34a4[](16275): [DP] pdf(0) 1 android.view.ViewRootImpl.lambda$addFrameCompleteCallbackIfNeeded$3$ViewRootImpl:4987 android.view.ViewRootImpl$$ExternalSyntheticLambda16.run:6 android.os.Handler.handleCallback:938 I/ViewRootImpl@2ba34a4[](16275): [DP] rdf() D/ViewRootImpl@2ba34a4[](16275): reportDrawFinished (fn: -1) D/MediaRouter(16275): onRestoreRoute() : route=RouteInfo{ name=Phone, description=null, status=null, category=RouteCategory{ name=System types=ROUTE_TYPE_LIVE_AUDIO ROUTE_TYPE_LIVE_VIDEO groupable=false }, supportedTypes=ROUTE_TYPE_LIVE_AUDIO ROUTE_TYPE_LIVE_VIDEO , presentationDisplay=null } V/MediaRouter(16275): Selecting route: RouteInfo{ name=Phone, description=null, status=null, category=RouteCategory{ name=System types=ROUTE_TYPE_LIVE_AUDIO ROUTE_TYPE_LIVE_VIDEO groupable=false }, supportedTypes=ROUTE_TYPE_LIVE_AUDIO ROUTE_TYPE_LIVE_VIDEO , presentationDisplay=null } I/BufferQueueProducer(16275): [SurfaceView - @780362@11#40(BLAST Consumer)40](id:3f9300000029,api:1,p:16275,c:16275) queueBuffer: queued for the first time. ```
Debug console of leaving the app and returning, with the bug ``` I/ViewRootImpl@658344c[MainActivity](16275): handleAppVisibility mAppVisible=false visible=true I/SurfaceView@8b8c1c(16275): onWindowVisibilityChanged(4) false io.flutter.embedding.android.FlutterSurfaceView{8b8c1c V.E...... ........ 0,0-1080,2168} of ViewRootImpl@658344c[MainActivity] D/SurfaceView@8b8c1c(16275): updateSurface: surface is not valid D/OpenGLRenderer(16275): setSurface called with nullptr I/ViewRootImpl@658344c[MainActivity](16275): Relayout returned: old=(0,0,1080,2400) new=(0,0,1080,2400) req=(1080,2400)4 dur=11 res=0x1 s={false 0} ch=false fn=-1 D/SurfaceView@8b8c1c(16275): updateSurface: surface is not valid I/ViewRootImpl@658344c[MainActivity](16275): stopped(false) old=true I/ViewRootImpl@658344c[MainActivity](16275): stopped(false) old=false D/FlutterUnityController(16275): onResume D/FlutterUnityController(16275): Attaching unity to view I/SurfaceView@780362(16275): onWindowVisibilityChanged(8) false android.view.SurfaceView{780362 VFE...... ......ID 0,0-1032,1864 #7f05004c app:id/unitySurfaceView} of ViewRootImpl@da66ce2[] I/SurfaceView@780362(16275): pST: mTmpTransaction.apply, mTmpTransaction = android.view.SurfaceControl$Transaction@de4c374 I/SurfaceView@780362(16275): surfaceDestroyed callback.size 1 #2 android.view.SurfaceView{780362 VFE...... ......ID 0,0-1032,1864 #7f05004c app:id/unitySurfaceView} I/SurfaceView@780362(16275): updateSurface: mVisible = false mSurface.isValid() = true I/SurfaceView@780362(16275): tryReleaseSurfaces: set mRtReleaseSurfaces = true I/SurfaceView@780362(16275): onDetachedFromWindow: tryReleaseSurfaces() I/SurfaceView@780362(16275): tryReleaseSurfaces: set mRtReleaseSurfaces = true I/CustomUnityPlayer(16275): onDetachedFromWindow I/CustomUnityPlayer(16275): onAttachedToWindow D/_widget_exampl(16275): PlayerBase::stop() from IPlayer D/AudioTrack(16275): stop(364): called with 1728 frames delivered I/SurfaceView@780362(16275): onWindowVisibilityChanged(0) true android.view.SurfaceView{780362 VFE...... ......ID 0,0-1032,1864 #7f05004c app:id/unitySurfaceView} of ViewRootImpl@da66ce2[] I/DecorView(16275): notifyKeepScreenOnChanged: keepScreenOn=false I/SurfaceView@8b8c1c(16275): onWindowVisibilityChanged(0) false io.flutter.embedding.android.FlutterSurfaceView{8b8c1c V.E...... ........ 0,0-1080,2168} of ViewRootImpl@658344c[MainActivity] D/SurfaceView@8b8c1c(16275): updateSurface: surface is not valid D/OpenGLRenderer(16275): setSurface called with nullptr I/DecorView(16275): notifyKeepScreenOnChanged: keepScreenOn=false I/ViewRootImpl@658344c[MainActivity](16275): Relayout returned: old=(0,0,1080,2400) new=(0,0,1080,2400) req=(1080,2400)0 dur=6 res=0x7 s={true -5476376671477229568} ch=true fn=-1 D/OpenGLRenderer(16275): eglCreateWindowSurface I/SurfaceView@8b8c1c(16275): windowStopped(false) true io.flutter.embedding.android.FlutterSurfaceView{8b8c1c V.E...... ......ID 0,0-1080,2256} of ViewRootImpl@658344c[MainActivity] I/SurfaceView@8b8c1c(16275): pST: sr = Rect(0, 0 - 1080, 2256) sw = 1080 sh = 2256 I/SurfaceView@8b8c1c(16275): onSSPAndSRT: pl = 0 pt = 0 sx = 1.0 sy = 1.0 I/SurfaceView@8b8c1c(16275): pST: mTmpTransaction.apply, mTmpTransaction = android.view.SurfaceControl$Transaction@cce480 I/SurfaceView@8b8c1c(16275): updateSurface: mVisible = true mSurface.isValid() = true I/SurfaceView@8b8c1c(16275): updateSurface: mSurfaceCreated = false surfaceChanged = true visibleChanged = true I/SurfaceView@8b8c1c(16275): surfaceCreated 1 #1 io.flutter.embedding.android.FlutterSurfaceView{8b8c1c V.E...... ......ID 0,0-1080,2256} I/SurfaceView@8b8c1c(16275): surfaceChanged (1080,2256) 1 #1 io.flutter.embedding.android.FlutterSurfaceView{8b8c1c V.E...... ......ID 0,0-1080,2256} I/ViewRootImpl@658344c[MainActivity](16275): [DP] dp(1) 1 android.view.SurfaceView.updateSurface:1375 android.view.SurfaceView.setWindowStopped:383 android.view.SurfaceView.surfaceCreated:2051 I/ViewRootImpl@658344c[MainActivity](16275): [DP] pdf(0) 1 android.view.SurfaceView.notifyDrawFinished:599 android.view.SurfaceView.performDrawFinished:586 android.view.SurfaceView.$r8$lambda$st27mCkd9jfJkTrN_P3qIGKX6NY:0 I/ViewRootImpl@658344c[MainActivity](16275): [DP] rdf() D/ViewRootImpl@658344c[MainActivity](16275): reportDrawFinished (fn: -1) I/ViewRootImpl@658344c[MainActivity](16275): [DP] dp(1) 1 android.view.ViewRootImpl.reportNextDraw:11387 android.view.ViewRootImpl.performTraversals:4185 android.view.ViewRootImpl.doTraversal:2911 D/ViewRootImpl@658344c[MainActivity](16275): Creating frameDrawingCallback nextDrawUseBlastSync=false reportNextDraw=true hasBlurUpdates=false D/ViewRootImpl@658344c[MainActivity](16275): Creating frameCompleteCallback I/SurfaceView@8b8c1c(16275): uSP: rtp = Rect(0, 0 - 1080, 2256) rtsw = 1080 rtsh = 2256 I/SurfaceView@8b8c1c(16275): onSSPAndSRT: pl = 0 pt = 0 sx = 1.0 sy = 1.0 I/SurfaceView@8b8c1c(16275): aOrMT: uB = true t = android.view.SurfaceControl$Transaction@794119 fN = 1 android.view.SurfaceView.access$500:124 android.view.SurfaceView$SurfaceViewPositionUpdateListener.positionChanged:1728 android.graphics.RenderNode$CompositePositionUpdateListener.positionChanged:319 I/SurfaceView@8b8c1c(16275): aOrMT: vR.mWNT, vR = ViewRootImpl@658344c[MainActivity] I/ViewRootImpl@658344c[MainActivity](16275): mWNT: t = android.view.SurfaceControl$Transaction@794119 fN = 1 android.view.SurfaceView.applyOrMergeTransaction:1628 android.view.SurfaceView.access$500:124 android.view.SurfaceView$SurfaceViewPositionUpdateListener.positionChanged:1728 I/ViewRootImpl@658344c[MainActivity](16275): mWNT: merge t to BBQ D/ViewRootImpl@658344c[MainActivity](16275): Received frameDrawingCallback frameNum=1. Creating transactionCompleteCallback=false I/BufferQueueProducer(16275): [ViewRootImpl@658344c[MainActivity]#174(BLAST Consumer)174](id:3f93000000af,api:1,p:16275,c:16275) queueBuffer: queued for the first time. D/ViewRootImpl@658344c[MainActivity](16275): Received frameCompleteCallback lastAcquiredFrameNum=1 lastAttemptedDrawFrameNum=1 I/SurfaceView@780362(16275): pST: sr = Rect(0, 0 - 1032, 1864) sw = 1032 sh = 1864 I/SurfaceView@780362(16275): onSSPAndSRT: pl = 0 pt = 0 sx = 1.0 sy = 1.0 I/SurfaceView@780362(16275): pST: mTmpTransaction.apply, mTmpTransaction = android.view.SurfaceControl$Transaction@de4c374 I/SurfaceView@780362(16275): updateSurface: mVisible = true mSurface.isValid() = true I/SurfaceView@780362(16275): updateSurface: mSurfaceCreated = false surfaceChanged = true visibleChanged = true I/SurfaceView@780362(16275): Clear mRtReleaseSurfaces as false android.view.SurfaceView{780362 VFE...... .F....ID 0,0-1032,1864 #7f05004c app:id/unitySurfaceView} I/SurfaceView@780362(16275): surfaceCreated 1 #8 android.view.SurfaceView{780362 VFE...... .F....ID 0,0-1032,1864 #7f05004c app:id/unitySurfaceView} I/SurfaceView@780362(16275): surfaceChanged (1032,1864) 1 #8 android.view.SurfaceView{780362 VFE...... .F....ID 0,0-1032,1864 #7f05004c app:id/unitySurfaceView} I/ViewRootImpl@da66ce2[](16275): [DP] dp(1) 1 android.view.SurfaceView.updateSurface:1375 android.view.SurfaceView.lambda$new$1$SurfaceView:254 android.view.SurfaceView$$ExternalSyntheticLambda2.onPreDraw:2 I/ViewRootImpl@da66ce2[](16275): [DP] pdf(0) 1 android.view.SurfaceView.notifyDrawFinished:599 android.view.SurfaceView.performDrawFinished:586 android.view.SurfaceView.$r8$lambda$st27mCkd9jfJkTrN_P3qIGKX6NY:0 I/ViewRootImpl@da66ce2[](16275): [DP] rdf() D/ViewRootImpl@da66ce2[](16275): reportDrawFinished (fn: -1) E/BufferQueueProducer(16275): [SurfaceView - @780362@49#173(BLAST Consumer)173](id:3f93000000ae,api:0,p:-1,c:16275) disconnect: not connected (req=1) W/libEGL (16275): EGLNativeWindowType 0xb400006eb05cf010 disconnect failed I/ViewRootImpl@658344c[MainActivity](16275): [DP] pdf(0) 1 android.view.ViewRootImpl.lambda$addFrameCompleteCallbackIfNeeded$3$ViewRootImpl:4987 android.view.ViewRootImpl$$ExternalSyntheticLambda16.run:6 android.os.Handler.handleCallback:938 I/ViewRootImpl@658344c[MainActivity](16275): [DP] rdf() D/ViewRootImpl@658344c[MainActivity](16275): reportDrawFinished (fn: -1) D/MediaRouter(16275): onRestoreRoute() : route=RouteInfo{ name=Phone, description=null, status=null, category=RouteCategory{ name=System types=ROUTE_TYPE_LIVE_AUDIO ROUTE_TYPE_LIVE_VIDEO groupable=false }, supportedTypes=ROUTE_TYPE_LIVE_AUDIO ROUTE_TYPE_LIVE_VIDEO , presentationDisplay=null } V/MediaRouter(16275): Selecting route: RouteInfo{ name=Phone, description=null, status=null, category=RouteCategory{ name=System types=ROUTE_TYPE_LIVE_AUDIO ROUTE_TYPE_LIVE_VIDEO groupable=false }, supportedTypes=ROUTE_TYPE_LIVE_AUDIO ROUTE_TYPE_LIVE_VIDEO , presentationDisplay=null } D/InsetsSourceConsumer(16275): ensureControlAlpha: for ITYPE_NAVIGATION_BAR on com.xraph.plugin.flutter_unity_widget_example/com.xraph.plugin.flutter_unity_widget_example.MainActivity D/InsetsSourceConsumer(16275): ensureControlAlpha: for ITYPE_STATUS_BAR on com.xraph.plugin.flutter_unity_widget_example/com.xraph.plugin.flutter_unity_widget_example.MainActivity I/DecorView(16275): notifyKeepScreenOnChanged: keepScreenOn=false I/ViewRootImpl@658344c[MainActivity](16275): Relayout returned: old=(0,0,1080,2400) new=(0,0,1080,2400) req=(1080,2400)0 dur=4 res=0x1 s={true -5476376671477229568} ch=false fn=2 I/SurfaceView@8b8c1c(16275): pST: sr = Rect(0, 88 - 1080, 2256) sw = 1080 sh = 2168 I/SurfaceView@8b8c1c(16275): onSSPAndSRT: pl = 0 pt = 88 sx = 1.0 sy = 1.0 I/SurfaceView@8b8c1c(16275): pST: mTmpTransaction.apply, mTmpTransaction = android.view.SurfaceControl$Transaction@cce480 I/SurfaceView@8b8c1c(16275): updateSurface: mVisible = true mSurface.isValid() = true I/SurfaceView@8b8c1c(16275): updateSurface: mSurfaceCreated = true surfaceChanged = false visibleChanged = false I/SurfaceView@8b8c1c(16275): surfaceChanged (1080,2168) 1 #5 io.flutter.embedding.android.FlutterSurfaceView{8b8c1c V.E...... ......ID 0,0-1080,2168} I/ViewRootImpl@658344c[MainActivity](16275): [DP] dp(1) 1 android.view.SurfaceView.updateSurface:1375 android.view.SurfaceView.setFrame:675 android.view.View.layout:24458 I/ViewRootImpl@658344c[MainActivity](16275): [DP] pdf(0) 1 android.view.SurfaceView.notifyDrawFinished:599 android.view.SurfaceView.performDrawFinished:586 android.view.SurfaceView.$r8$lambda$st27mCkd9jfJkTrN_P3qIGKX6NY:0 I/ViewRootImpl@658344c[MainActivity](16275): [DP] rdf() D/ViewRootImpl@658344c[MainActivity](16275): reportDrawFinished (fn: 2) I/SurfaceView@8b8c1c(16275): uSP: rtp = Rect(0, 88 - 1080, 2256) rtsw = 1080 rtsh = 2168 I/SurfaceView@8b8c1c(16275): onSSPAndSRT: pl = 0 pt = 88 sx = 1.0 sy = 1.0 I/SurfaceView@8b8c1c(16275): aOrMT: uB = true t = android.view.SurfaceControl$Transaction@7cc85de fN = 2 android.view.SurfaceView.access$500:124 android.view.SurfaceView$SurfaceViewPositionUpdateListener.positionChanged:1728 android.graphics.RenderNode$CompositePositionUpdateListener.positionChanged:319 I/SurfaceView@8b8c1c(16275): aOrMT: vR.mWNT, vR = ViewRootImpl@658344c[MainActivity] I/ViewRootImpl@658344c[MainActivity](16275): mWNT: t = android.view.SurfaceControl$Transaction@7cc85de fN = 2 android.view.SurfaceView.applyOrMergeTransaction:1628 android.view.SurfaceView.access$500:124 android.view.SurfaceView$SurfaceViewPositionUpdateListener.positionChanged:1728 I/ViewRootImpl@658344c[MainActivity](16275): mWNT: merge t to BBQ I/ViewRootImpl@658344c[MainActivity](16275): MSG_WINDOW_FOCUS_CHANGED 1 1 D/InputMethodManager(16275): startInputInner - Id : 0 I/InputMethodManager(16275): startInputInner - mService.startInputOrWindowGainedFocus I/SurfaceView@780362(16275): onWindowVisibilityChanged(8) false android.view.SurfaceView{780362 VFE...... ......ID 0,0-1032,1864 #7f05004c app:id/unitySurfaceView} of ViewRootImpl@da66ce2[] I/SurfaceView@780362(16275): pST: mTmpTransaction.apply, mTmpTransaction = android.view.SurfaceControl$Transaction@de4c374 I/SurfaceView@780362(16275): surfaceDestroyed callback.size 1 #2 android.view.SurfaceView{780362 VFE...... ......ID 0,0-1032,1864 #7f05004c app:id/unitySurfaceView} I/SurfaceView@780362(16275): updateSurface: mVisible = false mSurface.isValid() = true I/SurfaceView@780362(16275): tryReleaseSurfaces: set mRtReleaseSurfaces = true I/SurfaceView@780362(16275): onDetachedFromWindow: tryReleaseSurfaces() I/SurfaceView@780362(16275): tryReleaseSurfaces: set mRtReleaseSurfaces = true I/CustomUnityPlayer(16275): onDetachedFromWindow I/BufferQueueProducer(16275): [SurfaceTexture-0-16275-0](id:3f9300000002,api:1,p:1159,c:16275) queueBuffer: queued for the first time. I/Dialog (16275): mIsDeviceDefault = false, mIsSamsungBasicInteraction = false, isMetaDataInActivity = false I/DecorView(16275): [INFO] isPopOver=false, config=false I/DecorView(16275): updateCaptionType >> DecorView@89721ea[], isFloating=false, isApplication=false, hasWindowControllerCallback=false, hasWindowDecorCaption=false D/DecorView(16275): setCaptionType = 0, this = DecorView@89721ea[] D/NativeCustomFrequencyManager(16275): [NativeCFMS] BpCustomFrequencyManager::BpCustomFrequencyManager() I/ViewRootImpl@9bd72b6[](16275): setView = com.android.internal.policy.DecorView@89721ea TM=true I/SurfaceView@780362(16275): 219277965 wPL, frameNr = 0 I/SurfaceView@780362(16275): remove() from RT android.view.SurfaceView$SurfaceViewPositionUpdateListener@d11ea8d Surface(name=SurfaceView - @780362@49)/@0xc260442 I/SurfaceView@780362(16275): remove() android.view.SurfaceView{780362 VFE...... ......ID 0,0-1032,1864 #7f05004c app:id/unitySurfaceView} Surface(name=SurfaceView - @780362@49)/@0xc260442 I/SurfaceView@780362(16275): aOrMT: uB = false t = android.view.SurfaceControl$Transaction@7325a1f fN = 0 android.view.SurfaceView.access$500:124 android.view.SurfaceView$SurfaceViewPositionUpdateListener.positionLost:1785 android.graphics.RenderNode$CompositePositionUpdateListener.positionLost:326 I/SurfaceView@780362(16275): aOrMT: t.apply D/OpenGLRenderer(16275): setSurface called with nullptr D/OpenGLRenderer(16275): setSurface() destroyed EGLSurface D/OpenGLRenderer(16275): destroyEglSurface I/ViewRootImpl@da66ce2[](16275): dispatchDetachedFromWindow D/InputTransport(16275): Input channel destroyed: '352a3fb', fd=180 I/CustomUnityPlayer(16275): onAttachedToWindow D/_widget_exampl(16275): PlayerBase::stop() from IPlayer D/AudioTrack(16275): stop(364): called with 6336 frames delivered I/SurfaceView@780362(16275): onWindowVisibilityChanged(0) true android.view.SurfaceView{780362 VFE...... ......ID 0,0-1032,1864 #7f05004c app:id/unitySurfaceView} of ViewRootImpl@9bd72b6[] I/BufferQueueProducer(16275): [SurfaceView - com.xraph.plugin.flutter_unity_widget_example/com.xraph.plugin.flutter_unity_widget_example.MainActivity@8b8c1c@25#175(BLAST Consumer)175](id:3f93000000b0,api:1,p:16275,c:16275) queueBuffer: queued for the first time. I/ViewRootImpl@9bd72b6[](16275): Relayout returned: old=(0,0,1032,1952) new=(0,0,1032,1952) req=(1032,1952)0 dur=12 res=0x7 s={true -5476376671134169088} ch=true fn=-1 D/OpenGLRenderer(16275): eglCreateWindowSurface I/SurfaceView@780362(16275): windowStopped(false) true android.view.SurfaceView{780362 VFE...... ......ID 0,0-1032,1952 #7f05004c app:id/unitySurfaceView} of ViewRootImpl@9bd72b6[] I/ViewRootImpl@9bd72b6[](16275): [DP] dp(1) 1 android.view.ViewRootImpl.reportNextDraw:11387 android.view.ViewRootImpl.performTraversals:4185 android.view.ViewRootImpl.doTraversal:2911 I/SurfaceView@780362(16275): pST: sr = Rect(0, 0 - 1032, 1952) sw = 1032 sh = 1952 I/SurfaceView@780362(16275): onSSPAndSRT: pl = 0 pt = 0 sx = 1.0 sy = 1.0 I/SurfaceView@780362(16275): pST: mTmpTransaction.apply, mTmpTransaction = android.view.SurfaceControl$Transaction@de4c374 I/SurfaceView@780362(16275): updateSurface: mVisible = true mSurface.isValid() = true I/SurfaceView@780362(16275): updateSurface: mSurfaceCreated = false surfaceChanged = true visibleChanged = true I/SurfaceView@780362(16275): surfaceCreated 1 #8 android.view.SurfaceView{780362 VFE...... ......ID 0,0-1032,1952 #7f05004c app:id/unitySurfaceView} E/BufferQueueProducer(16275): [SurfaceView - @780362@50#176(BLAST Consumer)176](id:3f93000000b1,api:0,p:-1,c:16275) disconnect: not connected (req=1) W/libEGL (16275): EGLNativeWindowType 0xb400006ec4945810 disconnect failed I/SurfaceView@780362(16275): surfaceChanged (1032,1952) 1 #8 android.view.SurfaceView{780362 VFE...... ......ID 0,0-1032,1952 #7f05004c app:id/unitySurfaceView} I/ViewRootImpl@9bd72b6[](16275): [DP] dp(2) 1 android.view.SurfaceView.updateSurface:1375 android.view.SurfaceView.lambda$new$1$SurfaceView:254 android.view.SurfaceView$$ExternalSyntheticLambda2.onPreDraw:2 I/ViewRootImpl@9bd72b6[](16275): [DP] pdf(1) 1 android.view.SurfaceView.notifyDrawFinished:599 android.view.SurfaceView.performDrawFinished:586 android.view.SurfaceView.$r8$lambda$st27mCkd9jfJkTrN_P3qIGKX6NY:0 D/ViewRootImpl@9bd72b6[](16275): pendingDrawFinished. Waiting on draw reported mDrawsNeededToReport=1 D/ViewRootImpl@9bd72b6[](16275): Creating frameDrawingCallback nextDrawUseBlastSync=false reportNextDraw=true hasBlurUpdates=false D/ViewRootImpl@9bd72b6[](16275): Creating frameCompleteCallback I/SurfaceView@780362(16275): uSP: rtp = Rect(0, 0 - 1032, 1952) rtsw = 1032 rtsh = 1952 I/SurfaceView@780362(16275): onSSPAndSRT: pl = 0 pt = 0 sx = 1.0 sy = 1.0 I/SurfaceView@780362(16275): aOrMT: uB = true t = android.view.SurfaceControl$Transaction@d3fa289 fN = 1 android.view.SurfaceView.access$500:124 android.view.SurfaceView$SurfaceViewPositionUpdateListener.positionChanged:1728 android.graphics.RenderNode$CompositePositionUpdateListener.positionChanged:319 I/SurfaceView@780362(16275): aOrMT: vR.mWNT, vR = ViewRootImpl@9bd72b6[] I/ViewRootImpl@9bd72b6[](16275): mWNT: t = android.view.SurfaceControl$Transaction@d3fa289 fN = 1 android.view.SurfaceView.applyOrMergeTransaction:1628 android.view.SurfaceView.access$500:124 android.view.SurfaceView$SurfaceViewPositionUpdateListener.positionChanged:1728 I/ViewRootImpl@9bd72b6[](16275): mWNT: merge t to BBQ D/ViewRootImpl@9bd72b6[](16275): Received frameDrawingCallback frameNum=1. Creating transactionCompleteCallback=false I/BufferQueueProducer(16275): [ViewRootImpl@9bd72b6[]#177(BLAST Consumer)177](id:3f93000000b2,api:1,p:16275,c:16275) queueBuffer: queued for the first time. D/OpenGLRenderer(16275): GPIS:: SetUp Pid : 16275 Tid : 16297 D/ViewRootImpl@9bd72b6[](16275): Received frameCompleteCallback lastAcquiredFrameNum=1 lastAttemptedDrawFrameNum=1 I/ViewRootImpl@9bd72b6[](16275): [DP] pdf(0) 1 android.view.ViewRootImpl.lambda$addFrameCompleteCallbackIfNeeded$3$ViewRootImpl:4987 android.view.ViewRootImpl$$ExternalSyntheticLambda16.run:6 android.os.Handler.handleCallback:938 I/ViewRootImpl@9bd72b6[](16275): [DP] rdf() D/ViewRootImpl@9bd72b6[](16275): reportDrawFinished (fn: -1) D/MediaRouter(16275): onRestoreRoute() : route=RouteInfo{ name=Phone, description=null, status=null, category=RouteCategory{ name=System types=ROUTE_TYPE_LIVE_AUDIO ROUTE_TYPE_LIVE_VIDEO groupable=false }, supportedTypes=ROUTE_TYPE_LIVE_AUDIO ROUTE_TYPE_LIVE_VIDEO , presentationDisplay=null } V/MediaRouter(16275): Selecting route: RouteInfo{ name=Phone, description=null, status=null, category=RouteCategory{ name=System types=ROUTE_TYPE_LIVE_AUDIO ROUTE_TYPE_LIVE_VIDEO groupable=false }, supportedTypes=ROUTE_TYPE_LIVE_AUDIO ROUTE_TYPE_LIVE_VIDEO , presentationDisplay=null } D/MediaRouter(16275): onRestoreRoute() : route=RouteInfo{ name=Phone, description=null, status=null, category=RouteCategory{ name=System types=ROUTE_TYPE_LIVE_AUDIO ROUTE_TYPE_LIVE_VIDEO groupable=false }, supportedTypes=ROUTE_TYPE_LIVE_AUDIO ROUTE_TYPE_LIVE_VIDEO , presentationDisplay=null } V/MediaRouter(16275): Selecting route: RouteInfo{ name=Phone, description=null, status=null, category=RouteCategory{ name=System types=ROUTE_TYPE_LIVE_AUDIO ROUTE_TYPE_LIVE_VIDEO groupable=false }, supportedTypes=ROUTE_TYPE_LIVE_AUDIO ROUTE_TYPE_LIVE_VIDEO , presentationDisplay=null } I/BufferQueueProducer(16275): [SurfaceView - @780362@50#178(BLAST Consumer)178](id:3f93000000b3,api:1,p:16275,c:16275) queueBuffer: queued for the first time. I/SurfaceView@780362(16275): onWindowVisibilityChanged(8) false android.view.SurfaceView{780362 VFE...... ........ 0,0-1032,1952 #7f05004c app:id/unitySurfaceView} of ViewRootImpl@9bd72b6[] I/SurfaceView@780362(16275): pST: mTmpTransaction.apply, mTmpTransaction = android.view.SurfaceControl$Transaction@de4c374 I/SurfaceView@780362(16275): surfaceDestroyed callback.size 1 #2 android.view.SurfaceView{780362 VFE...... ........ 0,0-1032,1952 #7f05004c app:id/unitySurfaceView} I/SurfaceView@780362(16275): updateSurface: mVisible = false mSurface.isValid() = true I/SurfaceView@780362(16275): tryReleaseSurfaces: set mRtReleaseSurfaces = true I/SurfaceView@780362(16275): onDetachedFromWindow: tryReleaseSurfaces() I/SurfaceView@780362(16275): tryReleaseSurfaces: set mRtReleaseSurfaces = true I/CustomUnityPlayer(16275): onDetachedFromWindow E/BufferQueueProducer(16275): [SurfaceTexture-0-16275-0](id:3f9300000002,api:1,p:1159,c:16275) connect: already connected (cur=1 req=1) E/BufferQueueProducer(16275): [SurfaceTexture-0-16275-0](id:3f9300000002,api:0,p:-1,c:16275) dequeueBuffer: BufferQueue has no connected producer I/Dialog (16275): mIsDeviceDefault = false, mIsSamsungBasicInteraction = false, isMetaDataInActivity = false I/DecorView(16275): [INFO] isPopOver=false, config=false I/DecorView(16275): updateCaptionType >> DecorView@6b3d99a[], isFloating=false, isApplication=false, hasWindowControllerCallback=false, hasWindowDecorCaption=false D/DecorView(16275): setCaptionType = 0, this = DecorView@6b3d99a[] D/NativeCustomFrequencyManager(16275): [NativeCFMS] BpCustomFrequencyManager::BpCustomFrequencyManager() E/BufferQueueProducer(16275): [SurfaceTexture-0-16275-0](id:3f9300000002,api:0,p:-1,c:16275) dequeueBuffer: BufferQueue has no connected producer I/ViewRootImpl@6e5f566[](16275): setView = com.android.internal.policy.DecorView@6b3d99a TM=true I/SurfaceView@780362(16275): 178229501 wPL, frameNr = 0 I/SurfaceView@780362(16275): remove() from RT android.view.SurfaceView$SurfaceViewPositionUpdateListener@a9f90fd Surface(name=SurfaceView - @780362@50)/@0x4cc01f2 I/SurfaceView@780362(16275): remove() android.view.SurfaceView{780362 VFE...... ........ 0,0-1032,1952 #7f05004c app:id/unitySurfaceView} Surface(name=SurfaceView - @780362@50)/@0x4cc01f2 I/SurfaceView@780362(16275): aOrMT: uB = false t = android.view.SurfaceControl$Transaction@7325a1f fN = 0 android.view.SurfaceView.access$500:124 android.view.SurfaceView$SurfaceViewPositionUpdateListener.positionLost:1785 android.graphics.RenderNode$CompositePositionUpdateListener.positionLost:326 I/SurfaceView@780362(16275): aOrMT: t.apply D/OpenGLRenderer(16275): setSurface called with nullptr D/OpenGLRenderer(16275): setSurface() destroyed EGLSurface D/OpenGLRenderer(16275): destroyEglSurface I/ViewRootImpl@9bd72b6[](16275): dispatchDetachedFromWindow D/InputTransport(16275): Input channel destroyed: 'bde8201', fd=156 I/CustomUnityPlayer(16275): onAttachedToWindow D/OpenGLRenderer(16275): setSurface called with nullptr D/OpenGLRenderer(16275): setSurface called with nullptr D/_widget_exampl(16275): PlayerBase::stop() from IPlayer D/AudioTrack(16275): stop(364): called with 12096 frames delivered D/OpenGLRenderer(16275): setSurface called with nullptr D/OpenGLRenderer(16275): setSurface called with nullptr D/OpenGLRenderer(16275): setSurface called with nullptr D/OpenGLRenderer(16275): setSurface called with nullptr D/OpenGLRenderer(16275): setSurface called with nullptr D/OpenGLRenderer(16275): setSurface called with nullptr D/OpenGLRenderer(16275): setSurface called with nullptr E/BufferQueueProducer(16275): [SurfaceTexture-0-16275-0](id:3f9300000002,api:0,p:-1,c:16275) dequeueBuffer: BufferQueue has no connected producer D/OpenGLRenderer(16275): setSurface called with nullptr I/SurfaceView@780362(16275): onWindowVisibilityChanged(0) true android.view.SurfaceView{780362 VFE...... ........ 0,0-1032,1952 #7f05004c app:id/unitySurfaceView} of ViewRootImpl@6e5f566[] I/ViewRootImpl@6e5f566[](16275): Relayout returned: old=(0,0,1032,1864) new=(0,0,1032,1864) req=(1032,1864)0 dur=3 res=0x7 s={true -5476376671134169088} ch=true fn=-1 D/OpenGLRenderer(16275): eglCreateWindowSurface I/SurfaceView@780362(16275): windowStopped(false) true android.view.SurfaceView{780362 VFE...... ......ID 0,0-1032,1864 #7f05004c app:id/unitySurfaceView} of ViewRootImpl@6e5f566[] I/ViewRootImpl@6e5f566[](16275): [DP] dp(1) 1 android.view.ViewRootImpl.reportNextDraw:11387 android.view.ViewRootImpl.performTraversals:4185 android.view.ViewRootImpl.doTraversal:2911 E/BufferQueueProducer(16275): [SurfaceTexture-0-16275-0](id:3f9300000002,api:0,p:-1,c:16275) dequeueBuffer: BufferQueue has no connected producer I/SurfaceView@780362(16275): pST: sr = Rect(0, 0 - 1032, 1864) sw = 1032 sh = 1864 I/SurfaceView@780362(16275): onSSPAndSRT: pl = 0 pt = 0 sx = 1.0 sy = 1.0 I/SurfaceView@780362(16275): pST: mTmpTransaction.apply, mTmpTransaction = android.view.SurfaceControl$Transaction@de4c374 I/SurfaceView@780362(16275): updateSurface: mVisible = true mSurface.isValid() = true I/SurfaceView@780362(16275): updateSurface: mSurfaceCreated = false surfaceChanged = true visibleChanged = true I/SurfaceView@780362(16275): surfaceCreated 1 #8 android.view.SurfaceView{780362 VFE...... ......ID 0,0-1032,1864 #7f05004c app:id/unitySurfaceView} I/SurfaceView@780362(16275): surfaceChanged (1032,1864) 1 #8 android.view.SurfaceView{780362 VFE...... ......ID 0,0-1032,1864 #7f05004c app:id/unitySurfaceView} E/BufferQueueProducer(16275): [SurfaceView - @780362@50#178(BLAST Consumer)178](id:3f93000000b3,api:0,p:-1,c:16275) disconnect: not connected (req=1) W/libEGL (16275): EGLNativeWindowType 0xb400006eb0070810 disconnect failed I/ViewRootImpl@6e5f566[](16275): [DP] dp(2) 1 android.view.SurfaceView.updateSurface:1375 android.view.SurfaceView.lambda$new$1$SurfaceView:254 android.view.SurfaceView$$ExternalSyntheticLambda2.onPreDraw:2 I/ViewRootImpl@6e5f566[](16275): [DP] pdf(1) 1 android.view.SurfaceView.notifyDrawFinished:599 android.view.SurfaceView.performDrawFinished:586 android.view.SurfaceView.$r8$lambda$st27mCkd9jfJkTrN_P3qIGKX6NY:0 D/ViewRootImpl@6e5f566[](16275): pendingDrawFinished. Waiting on draw reported mDrawsNeededToReport=1 D/ViewRootImpl@6e5f566[](16275): Creating frameDrawingCallback nextDrawUseBlastSync=false reportNextDraw=true hasBlurUpdates=false D/ViewRootImpl@6e5f566[](16275): Creating frameCompleteCallback I/SurfaceView@780362(16275): uSP: rtp = Rect(0, 0 - 1032, 1864) rtsw = 1032 rtsh = 1864 D/ViewRootImpl@6e5f566[](16275): Received frameDrawingCallback frameNum=1. Creating transactionCompleteCallback=false I/SurfaceView@780362(16275): onSSPAndSRT: pl = 0 pt = 0 sx = 1.0 sy = 1.0 I/SurfaceView@780362(16275): aOrMT: uB = true t = android.view.SurfaceControl$Transaction@fd93ff9 fN = 1 android.view.SurfaceView.access$500:124 android.view.SurfaceView$SurfaceViewPositionUpdateListener.positionChanged:1728 android.graphics.RenderNode$CompositePositionUpdateListener.positionChanged:319 I/SurfaceView@780362(16275): aOrMT: vR.mWNT, vR = ViewRootImpl@6e5f566[] I/ViewRootImpl@6e5f566[](16275): mWNT: t = android.view.SurfaceControl$Transaction@fd93ff9 fN = 1 android.view.SurfaceView.applyOrMergeTransaction:1628 android.view.SurfaceView.access$500:124 android.view.SurfaceView$SurfaceViewPositionUpdateListener.positionChanged:1728 I/ViewRootImpl@6e5f566[](16275): mWNT: merge t to BBQ I/BufferQueueProducer(16275): [ViewRootImpl@6e5f566[]#179(BLAST Consumer)179](id:3f93000000b4,api:1,p:16275,c:16275) queueBuffer: queued for the first time. D/OpenGLRenderer(16275): GPIS:: SetUp Pid : 16275 Tid : 16297 D/ViewRootImpl@6e5f566[](16275): Received frameCompleteCallback lastAcquiredFrameNum=1 lastAttemptedDrawFrameNum=1 I/ViewRootImpl@6e5f566[](16275): [DP] pdf(0) 1 android.view.ViewRootImpl.lambda$addFrameCompleteCallbackIfNeeded$3$ViewRootImpl:4987 android.view.ViewRootImpl$$ExternalSyntheticLambda16.run:6 android.os.Handler.handleCallback:938 I/ViewRootImpl@6e5f566[](16275): [DP] rdf() D/ViewRootImpl@6e5f566[](16275): reportDrawFinished (fn: -1) E/BufferQueueProducer(16275): [SurfaceTexture-0-16275-0](id:3f9300000002,api:0,p:-1,c:16275) dequeueBuffer: BufferQueue has no connected producer E/BufferQueueProducer(16275): [SurfaceTexture-0-16275-0](id:3f9300000002,api:0,p:-1,c:16275) dequeueBuffer: BufferQueue has no connected producer D/MediaRouter(16275): onRestoreRoute() : route=RouteInfo{ name=Phone, description=null, status=null, category=RouteCategory{ name=System types=ROUTE_TYPE_LIVE_AUDIO ROUTE_TYPE_LIVE_VIDEO groupable=false }, supportedTypes=ROUTE_TYPE_LIVE_AUDIO ROUTE_TYPE_LIVE_VIDEO , presentationDisplay=null } V/MediaRouter(16275): Selecting route: RouteInfo{ name=Phone, description=null, status=null, category=RouteCategory{ name=System types=ROUTE_TYPE_LIVE_AUDIO ROUTE_TYPE_LIVE_VIDEO groupable=false }, supportedTypes=ROUTE_TYPE_LIVE_AUDIO ROUTE_TYPE_LIVE_VIDEO , presentationDisplay=null } E/BufferQueueProducer(16275): [SurfaceTexture-0-16275-0](id:3f9300000002,api:0,p:-1,c:16275) dequeueBuffer: BufferQueue has no connected producer E/BufferQueueProducer(16275): [SurfaceTexture-0-16275-0](id:3f9300000002,api:0,p:-1,c:16275) dequeueBuffer: BufferQueue has no connected producer E/BufferQueueProducer(16275): [SurfaceTexture-0-16275-0](id:3f9300000002,api:0,p:-1,c:16275) dequeueBuffer: BufferQueue has no connected producer I/BufferQueueProducer(16275): [SurfaceView - @780362@51#180(BLAST Consumer)180](id:3f93000000b5,api:1,p:16275,c:16275) queueBuffer: queued for the first time. E/BufferQueueProducer(16275): [SurfaceTexture-0-16275-0](id:3f9300000002,api:0,p:-1,c:16275) dequeueBuffer: BufferQueue has no connected producer E/BufferQueueProducer(16275): [SurfaceTexture-0-16275-0](id:3f9300000002,api:0,p:-1,c:16275) dequeueBuffer: BufferQueue has no connected producer E/BufferQueueProducer(16275): [SurfaceTexture-0-16275-0](id:3f9300000002,api:0,p:-1,c:16275) dequeueBuffer: BufferQueue has no connected producer E/BufferQueueProducer(16275): [SurfaceTexture-0-16275-0](id:3f9300000002,api:0,p:-1,c:16275) dequeueBuffer: BufferQueue has no connected producer E/BufferQueueProducer(16275): [SurfaceTexture-0-16275-0](id:3f9300000002,api:0,p:-1,c:16275) dequeueBuffer: BufferQueue has no connected producer E/BufferQueueProducer(16275): [SurfaceTexture-0-16275-0](id:3f9300000002,api:0,p:-1,c:16275) dequeueBuffer: BufferQueue has no connected producer E/BufferQueueProducer(16275): [SurfaceTexture-0-16275-0](id:3f9300000002,api:0,p:-1,c:16275) dequeueBuffer: BufferQueue has no connected producer ```

Video

Unity 2019.4.40 (issue at 0:21) https://user-images.githubusercontent.com/11444698/175834596-e24e44f6-2f9f-4e74-abc2-17c2225587b6.mp4
Unity 2021.3.5 (Issue at 0:27) https://user-images.githubusercontent.com/11444698/175834610-5385602f-9aab-4296-8306-7a785588104a.mp4

Versions

I will have to try Flutter 3.0 later.

Cheong43 commented 2 years ago

Same issue also in android 11

ivanarellano commented 2 years ago

I had this issue sometimes on a Pixel 3a with Android 12 as well. I downgraded flutter_unity_widget to 2020.3.25 as a temporary workaround for myself and haven't had time to look into using 2022.1.0 again unfortunately.

dawiddszewczyk commented 2 years ago

Hi @timbotimbo , Please try to upgrade unity to 2021.3.4f1 and to flutter 3.0 to be able to upgrade to current available Flutter Unity Framework version. Also import 2022.1.1v2 Flutter Unity package.

dawiddszewczyk commented 2 years ago

@juicycleff I also saw this bug second time there, can you look on that?

Ahmadre commented 2 years ago

Did you try:

@override
void didChangeAppLifecycleState(AppLifecycleState state) {
  switch (state) {
    case AppLifecycleState.resumed:
      unityWidgetController.resume();
      break;
    case AppLifecycleState.paused:
      unityWidgetController.pause();
      break;
    default:
  }
}

For more read Flutter's: WidgetsBindingObserver

ghost commented 1 year ago

same issue(android 12)