Android server disconnects when screen goes dark

Hi all!

Purchased a copy of VirtualHere for Android. Works "fine", but disconnects when the screen goes dark. I have checked "keep awake" and "keep wifi on".
Android device is a Samsung Galaxy S20 FE on latest update.
Her is the log:

--------- beginning of main
07-02 11:00:24.327 21661 30505 I vhusbd  : Sun Jul  2 11:00:24 2023 LOG_INFO    Connection 10 successfully removed (reason:timeout)
07-02 11:00:38.606 21661 30505 I vhusbd  : Sun Jul  2 11:00:38 2023 LOG_INFO    192.168.1.19 connected as connection 11 (Standard TCP)
07-02 11:16:22.484 21661 21661 I Choreographer: Skipped 36 frames!  The application may be doing too much work on its main thread.
07-02 11:16:22.498 21661 21661 I DecorView: [INFO] isPopOver=false config=true
07-02 11:16:22.498 21661 21661 I DecorView: updateCaptionType: isFloating=true isApplication=true hasWindowDecorCaption=false this=DecorView@a2fa40b[]
07-02 11:16:22.498 21661 21661 D DecorView: setCaptionType = 0, this = DecorView@a2fa40b[]
07-02 11:16:22.499 21661 21661 I DecorView: setWindowBackground: isPopOver=false color=0 d=android.graphics.drawable.ColorDrawable@f0afd01
07-02 11:16:22.500 21661 30505 I vhusbd  : Sun Jul  2 11:16:22 2023 LOG_INFO    Found Full speed device [10c4:ea60] "Silicon Labs, CP2102 USB to UART Bridge Controller" at address 1002
07-02 11:16:23.169 21661 30505 I vhusbd  : Sun Jul  2 11:16:23 2023 LOG_INFO    Connection 11 successfully removed (reason:timeout)
07-02 11:16:27.714 21661 30505 I vhusbd  : Sun Jul  2 11:16:27 2023 LOG_INFO    192.168.1.19 connected as connection 12 (Standard TCP)
07-02 11:16:28.570 21661 21671 W System  : A resource failed to call close.
07-02 11:16:31.683 21661 30505 I vhusbd  : Sun Jul  2 11:16:31 2023 LOG_INFO    Device 1002 [10c4:ea60] BOUND to connection 12
07-02 11:18:26.493 21661 30505 I vhusbd  : Sun Jul  2 11:18:26 2023 LOG_INFO    Device 1002 [10c4:ea60] UNBOUND from connection 12
07-02 11:18:27.492 21661 30505 I vhusbd  : Sun Jul  2 11:18:27 2023 LOG_INFO    Connection 12 successfully removed (reason:timeout)
07-02 11:18:28.437 21661 21661 I ViewRootImpl@24a2725[GUI]: handleAppVisibility mAppVisible = false visible = true
07-02 11:18:28.440 21661 21661 I ViewRootImpl@24a2725[GUI]: stopped(false) old = true
07-02 11:18:28.441 21661 21661 I ViewRootImpl@24a2725[GUI]: WindowStopped on com.virtualhere.androidserver/com.virtualhere.androidserver.GUI set to false
07-02 11:18:28.448 21661 21661 I MSHandlerLifeCycle: removeMultiSplitHandler: no exist. decor=DecorView@486d14a[GUI]
07-02 11:18:28.448 21661 21661 I ViewRootImpl@24a2725[GUI]: stopped(false) old = false
07-02 11:18:28.457 21661 21661 I DecorView: notifyKeepScreenOnChanged: keepScreenOn=false
07-02 11:18:28.461 21661 21661 I MSHandlerLifeCycle: removeMultiSplitHandler: no exist. decor=DecorView@486d14a[GUI]
07-02 11:18:28.464 21661 21661 I ViewRootImpl@24a2725[GUI]: performTraversals params={(0,0)(fillxfill) sim={adjust=pan forwardNavigation} ty=BASE_APPLICATION wanim=0x1030309
07-02 11:18:28.464 21661 21661 I ViewRootImpl@24a2725[GUI]:   fl=81810100
07-02 11:18:28.464 21661 21661 I ViewRootImpl@24a2725[GUI]:   pfl=12020040
07-02 11:18:28.464 21661 21661 I ViewRootImpl@24a2725[GUI]:   bhv=DEFAULT
07-02 11:18:28.464 21661 21661 I ViewRootImpl@24a2725[GUI]:   fitSides= naviIconColor=0
07-02 11:18:28.464 21661 21661 I ViewRootImpl@24a2725[GUI]:   sfl=100000}
07-02 11:18:28.465 21661 21661 I ViewRootImpl@24a2725[GUI]: performTraversals mFirst=false windowShouldResize=false viewVisibilityChanged=true mForceNextWindowRelayout=false params={(0,0)(fillxfill) sim={adjust=pan forwardNavigation} ty=BASE_APPLICATION wanim=0x1030309
07-02 11:18:28.465 21661 21661 I ViewRootImpl@24a2725[GUI]:   fl=81810100
07-02 11:18:28.465 21661 21661 I ViewRootImpl@24a2725[GUI]:   pfl=12020040
07-02 11:18:28.465 21661 21661 I ViewRootImpl@24a2725[GUI]:   bhv=DEFAULT
07-02 11:18:28.465 21661 21661 I ViewRootImpl@24a2725[GUI]:   fitSides= naviIconColor=0
07-02 11:18:28.465 21661 21661 I ViewRootImpl@24a2725[GUI]:   sfl=100000}
07-02 11:18:28.475 21661 21661 I ViewRootImpl@24a2725[GUI]: updateBlastSurfaceIfNeeded mBlastBufferQueue=null isSameSurfaceControl=false
07-02 11:18:28.476 21661 21661 I BLASTBufferQueue: new BLASTBufferQueue, mName= ViewRootImpl@24a2725[GUI] mNativeObject= 0xb400007c2d29e500 sc.mNativeObject= 0xb400007b99f84f00 caller= android.view.ViewRootImpl.updateBlastSurfaceIfNeeded:2909 android.view.ViewRootImpl.relayoutWindow:9847 android.view.ViewRootImpl.performTraversals:3884 android.view.ViewRootImpl.doTraversal:3116 android.view.ViewRootImpl$TraversalRunnable.run:10885 android.view.Choreographer$CallbackRecord.run:1301 android.view.Choreographer$CallbackRecord.run:1309 android.view.Choreographer.doCallbacks:923 android.view.Choreographer.doFrame:852 android.view.Choreographer$FrameDisplayEventReceiver.run:1283
07-02 11:18:28.476 21661 21661 I BLASTBufferQueue: update, w= 1080 h= 2400 mName = ViewRootImpl@24a2725[GUI] mNativeObject= 0xb400007c2d29e500 sc.mNativeObject= 0xb400007b99f84f00 format= -1 caller= android.graphics.BLASTBufferQueue.<init>:84 android.view.ViewRootImpl.updateBlastSurfaceIfNeeded:2909 android.view.ViewRootImpl.relayoutWindow:9847 android.view.ViewRootImpl.performTraversals:3884 android.view.ViewRootImpl.doTraversal:3116 android.view.ViewRootImpl$TraversalRunnable.run:10885
07-02 11:18:28.477 21661 21661 I ViewRootImpl@24a2725[GUI]: Relayout returned: old=(0,0,1080,2400) new=(0,0,1080,2400) req=(1080,2400)0 dur=10 res=0x3 s={true 0xb400007ba9bb6000} ch=true seqId=0
07-02 11:18:28.479 21661 21661 I ViewRootImpl@24a2725[GUI]: mThreadedRenderer.initialize() mSurface={isValid=true 0xb400007ba9bb6000} hwInitialized=true
07-02 11:18:28.479 21661 21687 D OpenGLRenderer: eglCreateWindowSurface
07-02 11:18:28.480 21661 21661 I ViewRootImpl@24a2725[GUI]: reportNextDraw android.view.ViewRootImpl.performTraversals:4438 android.view.ViewRootImpl.doTraversal:3116 android.view.ViewRootImpl$TraversalRunnable.run:10885 android.view.Choreographer$CallbackRecord.run:1301 android.view.Choreographer$CallbackRecord.run:1309
07-02 11:18:28.480 21661 21661 I ViewRootImpl@24a2725[GUI]: Setup new sync id=7
07-02 11:18:28.480 21661 21661 I ViewRootImpl@24a2725[GUI]: Setting syncFrameCallback
07-02 11:18:28.480 21661 21661 I ViewRootImpl@24a2725[GUI]: registerCallbacksForSync syncBuffer=false
07-02 11:18:28.490 21661 21710 I ViewRootImpl@24a2725[GUI]: Received frameDrawingCallback syncResult=0 frameNum=1.
07-02 11:18:28.490 21661 21710 I ViewRootImpl@24a2725[GUI]: Setting up sync and frameCommitCallback
07-02 11:18:28.502 21661 21687 I BLASTBufferQueue: [ViewRootImpl@24a2725[GUI]#47](f:0,a:0) onFrameAvailable the first frame is available
07-02 11:18:28.503 21661 21687 I ViewRootImpl@24a2725[GUI]: Received frameCommittedCallback lastAttemptedDrawFrameNum=1 didProduceBuffer=true
07-02 11:18:28.503 21661 21661 I ViewRootImpl@24a2725[GUI]: onSyncComplete
07-02 11:18:28.504 21661 21661 I ViewRootImpl@24a2725[GUI]: setupSync seqId=0 mSyncId=7 fn=1 caller=android.view.ViewRootImpl$$ExternalSyntheticLambda11.accept:6 android.window.SurfaceSyncer.lambda$setupSync$1$android-window-SurfaceSyncer:128 android.window.SurfaceSyncer$$ExternalSyntheticLambda1.accept:8 android.window.SurfaceSyncer$SyncSet.checkIfSyncIsComplete:382 android.window.SurfaceSyncer$SyncSet.markSyncReady:359 android.window.SurfaceSyncer.markSyncReady:151 android.view.ViewRootImpl.performTraversals:4503
07-02 11:18:28.504 21661 21661 I ViewRootImpl@24a2725[GUI]: reportDrawFinished seqId=0 mSyncId=-1 fn=1 mSurfaceChangedTransaction=0xb400007ba9fbf800
07-02 11:18:28.570 21661 21661 I ViewRootImpl@24a2725[GUI]: MSG_WINDOW_FOCUS_CHANGED 1 0
07-02 11:18:28.570 21661 21661 I ViewRootImpl@24a2725[GUI]: mThreadedRenderer.initializeIfNeeded()#2 mSurface={isValid=true 0xb400007ba9bb6000}
07-02 11:18:28.575 21661 21661 D InputMethodManager: startInputInner - Id : 0
07-02 11:18:28.575 21661 21661 I InputMethodManager: startInputInner - mService.startInputOrWindowGainedFocus
07-02 11:18:30.527 21661 21661 I ViewRootImpl@24a2725[GUI]: ViewPostIme pointer 0
07-02 11:18:30.580 21661 21661 I ViewRootImpl@24a2725[GUI]: ViewPostIme pointer 1
07-02 11:18:30.622 21661 21687 D NativeCustomFrequencyManager: [NativeCFMS] BpCustomFrequencyManager::BpCustomFrequencyManager()
07-02 11:18:30.631 21661 21661 D InsetsController: onStateChanged: InsetsState: {mDisplayFrame=Rect(0, 0 - 1080, 2400), mDisplayCutout=DisplayCutout{insets=Rect(0, 88 - 0, 0) waterfall=Insets{left=0, top=0, right=0, bottom=0} boundingRect={Bounds=[Rect(0, 0 - 0, 0), Rect(512, 0 - 568, 88), Rect(0, 0 - 0, 0), Rect(0, 0 - 0, 0)]} cutoutPathParserInfo={CutoutPathParserInfo{displayWidth=1080 displayHeight=2400 physicalDisplayWidth=1080 physicalDisplayHeight=2400 density={3.0} cutoutSpec={M 0,0 M 0,10.71963616907435 a 9.280363830925644,9.280363830925644 0 1,0 0,18.56072766185129 a 9.280363830925644,9.280363830925644 0 1,0 0,-18.56072766185129 Z @dp} rotation={0} scale={1.0} physicalPixelDisplaySizeRatio={1.0}}}}, mRoundedCorners=RoundedCorners{[RoundedCorner{position=TopLeft, radius=90, center=Point(90, 90)}, RoundedCorner{position=TopRight, radius=90, center=Point(990, 90)}, RoundedCorner{position=BottomRight, radius=90, center=Point(990, 2310)}, RoundedCorner{position=BottomLeft, radius=90, center=Point(90, 2310)}]}  mRoundedCornerFrame=Rect(0, 0 - 1080, 2400), mPrivacyIndicatorBounds=PrivacyIndicatorBounds {static bounds=Rect(956, 0 - 1080, 88) rotation=0}, mSources= { InsetsSource: {mType=ITYPE_STATUS_BAR, mFrame=[0,0][1080,88], mVisible=true, mInsetsRoundedCornerFrame=false}, InsetsSource: {mType=ITYPE_NAVIGATION_BAR, mFrame=[0,2265][1080,2400], mVisible=true, mInsetsRoundedCornerFrame=false}, InsetsSource: {mType=ITYPE_LEFT_GESTURES, mFrame=[0,0][0,2400], mVisible=true, mInsetsRoundedCornerFrame=false}, InsetsSource: {mType=ITYPE_RIGHT_GESTURES, mFrame=[1080,0][1080,2400], mVisible=true, mInsetsRoundedCornerFrame=false}, InsetsSource: {mType=ITYPE_TOP_MANDATORY_GESTURES, mFrame=[0,0][1080,122], mVisible=true, mInsetsRoundedCornerFrame=false}, InsetsSource: {mType=ITYPE_BOTTOM_MANDATORY_GESTURES, mFrame=[0,2265][1080,2400], mVisible=true, mInsetsRoundedCornerFrame=false}, InsetsSource: {mType=ITYPE_LEFT_DISPLAY_CUTOUT, mFrame=[0,0][-100000,2400], mVisible=true, mInsetsRoundedCornerFrame=false}, InsetsSource: {mType=ITYPE_TOP_DISPLAY_CUTOUT, mFrame=[0,0][1080,88], mVisible=true, mInsetsRoundedCornerFrame=false}, InsetsSource: {mType=ITYPE_RIGHT_DISPLAY_CUTOUT, mFrame=[100000,0][1080,2400], mVisible=true, mInsetsRoundedCornerFrame=false}, InsetsSource: {mType=ITYPE_BOTTOM_DISPLAY_CUTOUT, mFrame=[0,100000][1080,2400], mVisible=true, mInsetsRoundedCornerFrame=false}, InsetsSource: {mType=ITYPE_TOP_TAPPABLE_ELEMENT, mFrame=[0,0][1080,88], mVisible=true, mInsetsRoundedCornerFrame=false}, InsetsSource: {mType=ITYPE_BOTTOM_TAPPABLE_ELEMENT, mFrame=[0,2265][1080,2400], mVisible=true, mInsetsRoundedCornerFrame=false} } host=PopupWindow:ae91e26 from=android.view.ViewRootImpl.setView:1732
07-02 11:18:30.631 21661 21661 I ViewRootImpl@3d59a67[PopupWindow:ae91e26]: setView = android.widget.PopupWindow$PopupDecorView@f977603 TM=true
07-02 11:18:30.637 21661 21661 I ViewRootImpl@3d59a67[PopupWindow:ae91e26]: performTraversals params={(518,99)(551x1620) gr=TOP START CENTER DISPLAY_CLIP_VERTICAL sim={state=unchanged adjust=resize} ty=APPLICATION_SUB_PANEL fmt=TRANSLUCENT surfaceInsets=Rect(90, 90 - 90, 90) (manual)
07-02 11:18:30.637 21661 21661 I ViewRootImpl@3d59a67[PopupWindow:ae91e26]:   fl=41860200
07-02 11:18:30.637 21661 21661 I ViewRootImpl@3d59a67[PopupWindow:ae91e26]:   pfl=2018000
07-02 11:18:30.637 21661 21661 I ViewRootImpl@3d59a67[PopupWindow:ae91e26]:   bhv=DEFAULT
07-02 11:18:30.637 21661 21661 I ViewRootImpl@3d59a67[PopupWindow:ae91e26]:   fitTypes=STATUS_BARS NAVIGATION_BARS CAPTION_BAR naviIconColor=0
07-02 11:18:30.637 21661 21661 I ViewRootImpl@3d59a67[PopupWindow:ae91e26]:   sfl=20000}
07-02 11:18:30.638 21661 21661 I ViewRootImpl@3d59a67[PopupWindow:ae91e26]: performTraversals mFirst=true windowShouldResize=true viewVisibilityChanged=false mForceNextWindowRelayout=false params={(518,99)(551x1620) gr=TOP START CENTER DISPLAY_CLIP_VERTICAL sim={state=unchanged adjust=resize} ty=APPLICATION_SUB_PANEL fmt=TRANSLUCENT surfaceInsets=Rect(90, 90 - 90, 90) (manual)
07-02 11:18:30.638 21661 21661 I ViewRootImpl@3d59a67[PopupWindow:ae91e26]:   fl=41860200
07-02 11:18:30.638 21661 21661 I ViewRootImpl@3d59a67[PopupWindow:ae91e26]:   pfl=2018000
07-02 11:18:30.638 21661 21661 I ViewRootImpl@3d59a67[PopupWindow:ae91e26]:   bhv=DEFAULT
07-02 11:18:30.638 21661 21661 I ViewRootImpl@3d59a67[PopupWindow:ae91e26]:   fitTypes=STATUS_BARS NAVIGATION_BARS CAPTION_BAR IME naviIconColor=0
07-02 11:18:30.638 21661 21661 I ViewRootImpl@3d59a67[PopupWindow:ae91e26]:   sfl=20000}
07-02 11:18:30.640 21661 18208 I ViewRootImpl@3d59a67[PopupWindow:ae91e26]: Resizing android.view.ViewRootImpl@2c45980: frame = [518,99][1069,1719] reportDraw = true forceLayout = false syncSeqId = 0
07-02 11:18:30.641 21661 21661 I ViewRootImpl@3d59a67[PopupWindow:ae91e26]: updateBlastSurfaceIfNeeded mBlastBufferQueue=null isSameSurfaceControl=false
07-02 11:18:30.641 21661 21661 I BLASTBufferQueue: new BLASTBufferQueue, mName= ViewRootImpl@3d59a67[PopupWindow:ae91e26] mNativeObject= 0xb400007ba9a5bd00 sc.mNativeObject= 0xb400007b9a299520 caller= android.view.ViewRootImpl.updateBlastSurfaceIfNeeded:2909 android.view.ViewRootImpl.relayoutWindow:9847 android.view.ViewRootImpl.performTraversals:3884 android.view.ViewRootImpl.doTraversal:3116 android.view.ViewRootImpl$TraversalRunnable.run:10885 android.view.Choreographer$CallbackRecord.run:1301 android.view.Choreographer$CallbackRecord.run:1309 android.view.Choreographer.doCallbacks:923 android.view.Choreographer.doFrame:852 android.view.Choreographer$FrameDisplayEventReceiver.run:1283
07-02 11:18:30.641 21661 21661 I BLASTBufferQueue: update, w= 731 h= 1800 mName = ViewRootImpl@3d59a67[PopupWindow:ae91e26] mNativeObject= 0xb400007ba9a5bd00 sc.mNativeObject= 0xb400007b9a299520 format= -3 caller= android.graphics.BLASTBufferQueue.<init>:84 android.view.ViewRootImpl.updateBlastSurfaceIfNeeded:2909 android.view.ViewRootImpl.relayoutWindow:9847 android.view.ViewRootImpl.performTraversals:3884 android.view.ViewRootImpl.doTraversal:3116 android.view.ViewRootImpl$TraversalRunnable.run:10885
07-02 11:18:30.642 21661 21661 I ViewRootImpl@3d59a67[PopupWindow:ae91e26]: Relayout returned: old=(518,99,1069,99) new=(518,99,1069,1719) req=(551,1620)0 dur=3 res=0x3 s={true 0xb400007ba9bb8800} ch=true seqId=0
07-02 11:18:30.642 21661 21661 I ViewRootImpl@3d59a67[PopupWindow:ae91e26]: mThreadedRenderer.initialize() mSurface={isValid=true 0xb400007ba9bb8800} hwInitialized=true
07-02 11:18:30.642 21661 21687 D OpenGLRenderer: eglCreateWindowSurface
07-02 11:18:30.658 21661 21661 D AbsListView:  in onLayout changed
07-02 11:18:30.659 21661 21661 I ViewRootImpl@3d59a67[PopupWindow:ae91e26]: reportNextDraw android.view.ViewRootImpl.performTraversals:4438 android.view.ViewRootImpl.doTraversal:3116 android.view.ViewRootImpl$TraversalRunnable.run:10885 android.view.Choreographer$CallbackRecord.run:1301 android.view.Choreographer$CallbackRecord.run:1309
07-02 11:18:30.661 21661 21661 I ViewRootImpl@3d59a67[PopupWindow:ae91e26]: Setup new sync id=0
07-02 11:18:30.661 21661 21661 I ViewRootImpl@3d59a67[PopupWindow:ae91e26]: Setting syncFrameCallback
07-02 11:18:30.661 21661 21661 I ViewRootImpl@3d59a67[PopupWindow:ae91e26]: registerCallbacksForSync syncBuffer=false
07-02 11:18:30.664 21661 21711 I ViewRootImpl@3d59a67[PopupWindow:ae91e26]: Received frameDrawingCallback syncResult=0 frameNum=1.
07-02 11:18:30.664 21661 21711 I ViewRootImpl@3d59a67[PopupWindow:ae91e26]: Setting up sync and frameCommitCallback
07-02 11:18:30.667 21661 21687 I BLASTBufferQueue: [ViewRootImpl@3d59a67[PopupWindow:ae91e26]#48](f:0,a:0) onFrameAvailable the first frame is available
07-02 11:18:30.667 21661 21687 I ViewRootImpl@3d59a67[PopupWindow:ae91e26]: Received frameCommittedCallback lastAttemptedDrawFrameNum=1 didProduceBuffer=true
07-02 11:18:30.667 21661 21687 D OpenGLRenderer: CFMS:: SetUp Pid : 21661    Tid : 21687
07-02 11:18:30.668 21661 21687 W Parcel  : Expecting binder but got null!
07-02 11:18:30.668 21661 21661 I ViewRootImpl@3d59a67[PopupWindow:ae91e26]: onSyncComplete
07-02 11:18:30.668 21661 21661 I ViewRootImpl@3d59a67[PopupWindow:ae91e26]: setupSync seqId=0 mSyncId=0 fn=1 caller=android.view.ViewRootImpl$$ExternalSyntheticLambda11.accept:6 android.window.SurfaceSyncer.lambda$setupSync$1$android-window-SurfaceSyncer:128 android.window.SurfaceSyncer$$ExternalSyntheticLambda1.accept:8 android.window.SurfaceSyncer$SyncSet.checkIfSyncIsComplete:382 android.window.SurfaceSyncer$SyncSet.markSyncReady:359 android.window.SurfaceSyncer.markSyncReady:151 android.view.ViewRootImpl.performTraversals:4503
07-02 11:18:30.668 21661 21661 I ViewRootImpl@3d59a67[PopupWindow:ae91e26]: reportDrawFinished seqId=0 mSyncId=-1 fn=1 mSurfaceChangedTransaction=0xb400007b9a0be600
07-02 11:18:30.669 21661 21661 I ViewRootImpl@3d59a67[PopupWindow:ae91e26]: handleResized, msg = 5 frames=ClientWindowFrames{frame=[518,99][1069,1719] display=[-100000,-100000][100000,100000] parentFrame=[0,0][0,0] parentClippedByDisplayCutout=false} forceNextWindowRelayout=false displayId=0 resizeMode=-1 frameChanged=false displayFrameChanged=false configChanged=false displayChanged=false
07-02 11:18:30.669 21661 21661 I ViewRootImpl@3d59a67[PopupWindow:ae91e26]: handleResized mSyncSeqId = 0
07-02 11:18:30.669 21661 21661 I ViewRootImpl@3d59a67[PopupWindow:ae91e26]: reportNextDraw android.view.ViewRootImpl.handleResized:2450 android.view.ViewRootImpl.-$$Nest$mhandleResized:0 android.view.ViewRootImpl$ViewRootHandler.handleMessageImpl:6728 android.view.ViewRootImpl$ViewRootHandler.handleMessage:6697 android.os.Handler.dispatchMessage:106
07-02 11:18:30.669 21661 21661 I ViewRootImpl@3d59a67[PopupWindow:ae91e26]: Setup new sync id=1
07-02 11:18:30.669 21661 21661 I ViewRootImpl@3d59a67[PopupWindow:ae91e26]: Setting syncFrameCallback
07-02 11:18:30.669 21661 21661 I ViewRootImpl@3d59a67[PopupWindow:ae91e26]: registerCallbacksForSync syncBuffer=false
07-02 11:18:30.671 21661 21710 I ViewRootImpl@3d59a67[PopupWindow:ae91e26]: Received frameDrawingCallback syncResult=0 frameNum=2.
07-02 11:18:30.671 21661 21710 I ViewRootImpl@3d59a67[PopupWindow:ae91e26]: Setting up sync and frameCommitCallback
07-02 11:18:30.671 21661 21687 I ViewRootImpl@3d59a67[PopupWindow:ae91e26]: Received frameCommittedCallback lastAttemptedDrawFrameNum=2 didProduceBuffer=true
07-02 11:18:30.671 21661 21661 I ViewRootImpl@3d59a67[PopupWindow:ae91e26]: onSyncComplete
07-02 11:18:30.672 21661 21661 I ViewRootImpl@3d59a67[PopupWindow:ae91e26]: setupSync seqId=0 mSyncId=1 fn=2 caller=android.view.ViewRootImpl$$ExternalSyntheticLambda11.accept:6 android.window.SurfaceSyncer.lambda$setupSync$1$android-window-SurfaceSyncer:128 android.window.SurfaceSyncer$$ExternalSyntheticLambda1.accept:8 android.window.SurfaceSyncer$SyncSet.checkIfSyncIsComplete:382 android.window.SurfaceSyncer$SyncSet.markSyncReady:359 android.window.SurfaceSyncer.markSyncReady:151 android.view.ViewRootImpl.performTraversals:4503
07-02 11:18:30.672 21661 21661 I ViewRootImpl@3d59a67[PopupWindow:ae91e26]: reportDrawFinished seqId=0 mSyncId=-1 fn=2 mSurfaceChangedTransaction=0xb400007b9a0be600
07-02 11:18:30.672 21661 21661 I ViewRootImpl@24a2725[GUI]: MSG_WINDOW_FOCUS_CHANGED 0 0
07-02 11:18:30.680 21661 21661 I ViewRootImpl@3d59a67[PopupWindow:ae91e26]: MSG_WINDOW_FOCUS_CHANGED 1 0
07-02 11:18:30.680 21661 21661 I ViewRootImpl@3d59a67[PopupWindow:ae91e26]: mThreadedRenderer.initializeIfNeeded()#2 mSurface={isValid=true 0xb400007ba9bb8800}
07-02 11:18:31.320 21661 30505 I vhusbd  : Sun Jul  2 11:18:31 2023 LOG_INFO    192.168.1.19 connected as connection 14 (Standard TCP)
07-02 11:18:31.637 21661 21661 I ViewRootImpl@3d59a67[PopupWindow:ae91e26]: ViewPostIme pointer 0
07-02 11:18:31.709 21661 21661 I ViewRootImpl@3d59a67[PopupWindow:ae91e26]: ViewPostIme pointer 1
07-02 11:18:31.709 21661 21661 D AbsListView: onTouchUp() mTouchMode : 0
07-02 11:18:31.783 21661 21661 I ViewRootImpl@3d59a67[PopupWindow:ae91e26]: performTraversals params={(518,99)(551x1620) gr=TOP START CENTER DISPLAY_CLIP_VERTICAL sim={state=unchanged adjust=pan} ty=APPLICATION_SUB_PANEL fmt=TRANSLUCENT surfaceInsets=Rect(90, 90 - 90, 90) (manual)
07-02 11:18:31.783 21661 21661 I ViewRootImpl@3d59a67[PopupWindow:ae91e26]:   fl=41840218
07-02 11:18:31.783 21661 21661 I ViewRootImpl@3d59a67[PopupWindow:ae91e26]:   pfl=2018000
07-02 11:18:31.783 21661 21661 I ViewRootImpl@3d59a67[PopupWindow:ae91e26]:   bhv=DEFAULT
07-02 11:18:31.783 21661 21661 I ViewRootImpl@3d59a67[PopupWindow:ae91e26]:   fitTypes=STATUS_BARS NAVIGATION_BARS CAPTION_BAR naviIconColor=0
07-02 11:18:31.783 21661 21661 I ViewRootImpl@3d59a67[PopupWindow:ae91e26]:   sfl=20000}
07-02 11:18:31.783 21661 21661 I ViewRootImpl@3d59a67[PopupWindow:ae91e26]: performTraversals mFirst=false windowShouldResize=false viewVisibilityChanged=false mForceNextWindowRelayout=false params={(518,99)(551x1620) gr=TOP START CENTER DISPLAY_CLIP_VERTICAL sim={state=unchanged adjust=pan} ty=APPLICATION_SUB_PANEL fmt=TRANSLUCENT surfaceInsets=Rect(90, 90 - 90, 90) (manual)
07-02 11:18:31.783 21661 21661 I ViewRootImpl@3d59a67[PopupWindow:ae91e26]:   fl=41840218
07-02 11:18:31.783 21661 21661 I ViewRootImpl@3d59a67[PopupWindow:ae91e26]:   pfl=42018000
07-02 11:18:31.783 21661 21661 I ViewRootImpl@3d59a67[PopupWindow:ae91e26]:   bhv=DEFAULT
07-02 11:18:31.783 21661 21661 I ViewRootImpl@3d59a67[PopupWindow:ae91e26]:   fitTypes=STATUS_BARS NAVIGATION_BARS CAPTION_BAR naviIconColor=0
07-02 11:18:31.783 21661 21661 I ViewRootImpl@3d59a67[PopupWindow:ae91e26]:   sfl=20000}
07-02 11:18:31.788 21661 21661 I ViewRootImpl@3d59a67[PopupWindow:ae91e26]: updateBlastSurfaceIfNeeded mBlastBufferQueue=0xb400007ba9a5bd00 isSameSurfaceControl=true
07-02 11:18:31.789 21661 21661 I BLASTBufferQueue: update, w= 731 h= 1800 mName = ViewRootImpl@3d59a67[PopupWindow:ae91e26] mNativeObject= 0xb400007ba9a5bd00 sc.mNativeObject= 0xb400007b88f5f660 format= -3 caller= android.view.ViewRootImpl.updateBlastSurfaceIfNeeded:2898 android.view.ViewRootImpl.relayoutWindow:9847 android.view.ViewRootImpl.performTraversals:3884 android.view.ViewRootImpl.doTraversal:3116 android.view.ViewRootImpl$TraversalRunnable.run:10885 android.view.Choreographer$CallbackRecord.run:1301
07-02 11:18:31.789 21661 21661 I ViewRootImpl@3d59a67[PopupWindow:ae91e26]: Relayout returned: old=(518,99,1069,1719) new=(518,99,1069,1719) req=(551,1620)0 dur=5 res=0x0 s={true 0xb400007ba9bb8800} ch=false seqId=0
07-02 11:18:31.804 21661 21661 I ViewRootImpl@3d59a67[PopupWindow:ae91e26]: MSG_WINDOW_FOCUS_CHANGED 0 0
07-02 11:18:31.805 21661 21661 I ViewRootImpl@24a2725[GUI]: MSG_WINDOW_FOCUS_CHANGED 1 0
07-02 11:18:31.805 21661 21661 I ViewRootImpl@24a2725[GUI]: mThreadedRenderer.initializeIfNeeded()#2 mSurface={isValid=true 0xb400007ba9bb6000}
07-02 11:18:31.805 21661 21661 D InputMethodManager: startInputInner - Id : 0
07-02 11:18:31.805 21661 21661 I InputMethodManager: startInputInner - mService.startInputOrWindowGainedFocus
07-02 11:18:32.104 21661 21687 D OpenGLRenderer: setSurface called with nullptr
07-02 11:18:32.104 21661 21687 D OpenGLRenderer: setSurface() destroyed EGLSurface
07-02 11:18:32.105 21661 21687 D OpenGLRenderer: destroyEglSurface
07-02 11:18:32.105 21661 21661 I ViewRootImpl@3d59a67[PopupWindow:ae91e26]: dispatchDetachedFromWindow
07-02 11:18:32.112 21661 21661 D InputTransport: Input channel destroyed: '8e3fb20', fd=106
07-02 11:18:36.185 21661 30505 I vhusbd  : Sun Jul  2 11:18:36 2023 LOG_INFO    Device 1002 [10c4:ea60] BOUND to connection 14
07-02 11:18:40.548 21661 21670 D InputTransport: Input channel destroyed: 'ClientS', fd=121
07-02 11:18:40.548 21661 21687 D OpenGLRenderer: setSurface called with nullptr
07-02 11:19:32.019 21661 21661 I ViewRootImpl@24a2725[GUI]: handleAppVisibility mAppVisible = true visible = false
07-02 11:19:32.031 21661 21687 D OpenGLRenderer: setSurface called with nullptr
07-02 11:19:32.031 21661 21687 D OpenGLRenderer: setSurface() destroyed EGLSurface
07-02 11:19:32.031 21661 21687 D OpenGLRenderer: destroyEglSurface
07-02 11:19:32.037 21661 21661 I ViewRootImpl@24a2725[GUI]: performTraversals mFirst=false windowShouldResize=false viewVisibilityChanged=true mForceNextWindowRelayout=false params=null
07-02 11:19:32.048 21661 21661 I ViewRootImpl@24a2725[GUI]: Relayout returned: old=(0,0,1080,2400) new=(0,0,1080,2400) req=(1080,2400)8 dur=9 res=0x2 s={false 0x0} ch=true seqId=0
07-02 11:19:32.048 21661 21661 I ViewRootImpl@24a2725[GUI]: MSG_WINDOW_FOCUS_CHANGED 0 0
07-02 11:19:32.049 21661 21661 I ViewRootImpl@24a2725[GUI]: stopped(true) old = false
07-02 11:19:32.049 21661 21661 I ViewRootImpl@24a2725[GUI]: WindowStopped on com.virtualhere.androidserver/com.virtualhere.androidserver.GUI set to true
07-02 11:19:32.076 21661 21661 I MSHandlerLifeCycle: removeMultiSplitHandler: no exist. decor=DecorView@486d14a[GUI]
07-02 11:20:12.774 21661 21661 W RemoteInputConnectionImpl: getExtractedText on inactive InputConnection
07-02 11:20:12.775 21661 21661 W RemoteInputConnectionImpl: getTextBeforeCursor on inactive InputConnection
07-02 11:21:46.504 21661 30505 I vhusbd  : Sun Jul  2 11:21:46 2023 LOG_INFO    Device 1002 [10c4:ea60] UNBOUND from connection 14
07-02 11:21:47.502 21661 30505 I vhusbd  : Sun Jul  2 11:21:47 2023 LOG_INFO    Connection 14 successfully removed (reason:timeout)
07-02 11:21:48.406 21661 21661 I ViewRootImpl@24a2725[GUI]: handleAppVisibility mAppVisible = false visible = true
07-02 11:21:48.411 21661 21661 I ViewRootImpl@24a2725[GUI]: stopped(false) old = true
07-02 11:21:48.411 21661 21661 I ViewRootImpl@24a2725[GUI]: WindowStopped on com.virtualhere.androidserver/com.virtualhere.androidserver.GUI set to false
07-02 11:21:48.417 21661 21661 I MSHandlerLifeCycle: removeMultiSplitHandler: no exist. decor=DecorView@486d14a[GUI]
07-02 11:21:48.417 21661 21661 I ViewRootImpl@24a2725[GUI]: stopped(false) old = false
07-02 11:21:48.440 21661 21661 I DecorView: notifyKeepScreenOnChanged: keepScreenOn=false
07-02 11:21:48.442 21661 21661 I MSHandlerLifeCycle: removeMultiSplitHandler: no exist. decor=DecorView@486d14a[GUI]
07-02 11:21:48.443 21661 21661 I ViewRootImpl@24a2725[GUI]: performTraversals params={(0,0)(fillxfill) sim={adjust=pan forwardNavigation} ty=BASE_APPLICATION wanim=0x1030309
07-02 11:21:48.443 21661 21661 I ViewRootImpl@24a2725[GUI]:   fl=81810100
07-02 11:21:48.443 21661 21661 I ViewRootImpl@24a2725[GUI]:   pfl=12020040
07-02 11:21:48.443 21661 21661 I ViewRootImpl@24a2725[GUI]:   bhv=DEFAULT
07-02 11:21:48.443 21661 21661 I ViewRootImpl@24a2725[GUI]:   fitSides= naviIconColor=0
07-02 11:21:48.443 21661 21661 I ViewRootImpl@24a2725[GUI]:   sfl=100000}
07-02 11:21:48.443 21661 21661 I ViewRootImpl@24a2725[GUI]: performTraversals mFirst=false windowShouldResize=false viewVisibilityChanged=true mForceNextWindowRelayout=false params={(0,0)(fillxfill) sim={adjust=pan forwardNavigation} ty=BASE_APPLICATION wanim=0x1030309
07-02 11:21:48.443 21661 21661 I ViewRootImpl@24a2725[GUI]:   fl=81810100
07-02 11:21:48.443 21661 21661 I ViewRootImpl@24a2725[GUI]:   pfl=12020040
07-02 11:21:48.443 21661 21661 I ViewRootImpl@24a2725[GUI]:   bhv=DEFAULT
07-02 11:21:48.443 21661 21661 I ViewRootImpl@24a2725[GUI]:   fitSides= naviIconColor=0
07-02 11:21:48.443 21661 21661 I ViewRootImpl@24a2725[GUI]:   sfl=100000}
07-02 11:21:48.447 21661 21661 D InsetsController: onStateChanged: InsetsState: {mDisplayFrame=Rect(0, 0 - 1080, 2400), mDisplayCutout=DisplayCutout{insets=Rect(0, 88 - 0, 0) waterfall=Insets{left=0, top=0, right=0, bottom=0} boundingRect={Bounds=[Rect(0, 0 - 0, 0), Rect(512, 0 - 568, 88), Rect(0, 0 - 0, 0), Rect(0, 0 - 0, 0)]} cutoutPathParserInfo={CutoutPathParserInfo{displayWidth=1080 displayHeight=2400 physicalDisplayWidth=1080 physicalDisplayHeight=2400 density={3.0} cutoutSpec={M 0,0 M 0,10.71963616907435 a 9.280363830925644,9.280363830925644 0 1,0 0,18.56072766185129 a 9.280363830925644,9.280363830925644 0 1,0 0,-18.56072766185129 Z @dp} rotation={0} scale={1.0} physicalPixelDisplaySizeRatio={1.0}}}}, mRoundedCorners=RoundedCorners{[RoundedCorner{position=TopLeft, radius=90, center=Point(90, 90)}, RoundedCorner{position=TopRight, radius=90, center=Point(990, 90)}, RoundedCorner{position=BottomRight, radius=90, center=Point(990, 2310)}, RoundedCorner{position=BottomLeft, radius=90, center=Point(90, 2310)}]}  mRoundedCornerFrame=Rect(0, 0 - 1080, 2400), mPrivacyIndicatorBounds=PrivacyIndicatorBounds {static bounds=Rect(956, 0 - 1080, 88) rotation=0}, mSources= { InsetsSource: {mType=ITYPE_STATUS_BAR, mFrame=[0,0][1080,88], mVisible=true, mInsetsRoundedCornerFrame=false}, InsetsSource: {mType=ITYPE_NAVIGATION_BAR, mFrame=[0,2265][1080,2400], mVisible=false, mInsetsRoundedCornerFrame=false}, InsetsSource: {mType=ITYPE_LEFT_GESTURES, mFrame=[0,0][0,2400], mVisible=true, mInsetsRoundedCornerFrame=false}, InsetsSource: {mType=ITYPE_RIGHT_GESTURES, mFrame=[1080,0][1080,2400], mVisible=true, mInsetsRoundedCornerFrame=false}, InsetsSource: {mType=ITYPE_TOP_MANDATORY_GESTURES, mFrame=[0,0][1080,122], mVisible=true, mInsetsRoundedCornerFrame=false}, InsetsSource: {mType=ITYPE_BOTTOM_MANDATORY_GESTURES, mFrame=[0,2265][1080,2400], mVisible=true, mInsetsRoundedCornerFrame=false}, InsetsSource: {mType=ITYPE_LEFT_DISPLAY_CUTOUT, mFrame=[0,0][-100000,2400], mVisible=true, mInsetsRoundedCornerFrame=false}, InsetsSource: {mType=ITYPE_TOP_DISPLAY_CUTOUT, mFrame=[0,0][1080,88], mVisible=true, mInsetsRoundedCornerFrame=false}, InsetsSource: {mType=ITYPE_RIGHT_DISPLAY_CUTOUT, mFrame=[100000,0][1080,2400], mVisible=true, mInsetsRoundedCornerFrame=false}, InsetsSource: {mType=ITYPE_BOTTOM_DISPLAY_CUTOUT, mFrame=[0,100000][1080,2400], mVisible=true, mInsetsRoundedCornerFrame=false}, InsetsSource: {mType=ITYPE_TOP_TAPPABLE_ELEMENT, mFrame=[0,0][1080,88], mVisible=true, mInsetsRoundedCornerFrame=false}, InsetsSource: {mType=ITYPE_BOTTOM_TAPPABLE_ELEMENT, mFrame=[0,2265][1080,2400], mVisible=true, mInsetsRoundedCornerFrame=false}, InsetsSource: {mType=ITYPE_IME, mFrame=[0,0][0,0], mVisibleFrame=[0,1709][1080,2400], mVisible=false, mInsetsRoundedCornerFrame=false} } host=com.virtualhere.androidserver/com.virtualhere.androidserver.GUI from=android.view.ViewRootImpl.relayoutWindow:9802
07-02 11:21:48.447 21661 21661 I ViewRootImpl@24a2725[GUI]: updateBlastSurfaceIfNeeded mBlastBufferQueue=null isSameSurfaceControl=false
07-02 11:21:48.448 21661 21661 I BLASTBufferQueue: new BLASTBufferQueue, mName= ViewRootImpl@24a2725[GUI] mNativeObject= 0xb400007c2d29e500 sc.mNativeObject= 0xb400007ba9c6bee0 caller= android.view.ViewRootImpl.updateBlastSurfaceIfNeeded:2909 android.view.ViewRootImpl.relayoutWindow:9847 android.view.ViewRootImpl.performTraversals:3884 android.view.ViewRootImpl.doTraversal:3116 android.view.ViewRootImpl$TraversalRunnable.run:10885 android.view.Choreographer$CallbackRecord.run:1301 android.view.Choreographer$CallbackRecord.run:1309 android.view.Choreographer.doCallbacks:923 android.view.Choreographer.doFrame:852 android.view.Choreographer$FrameDisplayEventReceiver.run:1283
07-02 11:21:48.448 21661 21661 I BLASTBufferQueue: update, w= 1080 h= 2400 mName = ViewRootImpl@24a2725[GUI] mNativeObject= 0xb400007c2d29e500 sc.mNativeObject= 0xb400007ba9c6bee0 format= -1 caller= android.graphics.BLASTBufferQueue.<init>:84 android.view.ViewRootImpl.updateBlastSurfaceIfNeeded:2909 android.view.ViewRootImpl.relayoutWindow:9847 android.view.ViewRootImpl.performTraversals:3884 android.view.ViewRootImpl.doTraversal:3116 android.view.ViewRootImpl$TraversalRunnable.run:10885
07-02 11:21:48.448 21661 21661 I ViewRootImpl@24a2725[GUI]: Relayout returned: old=(0,0,1080,2400) new=(0,0,1080,2400) req=(1080,2400)0 dur=4 res=0x3 s={true 0xb400007b88b90800} ch=true seqId=0
07-02 11:21:48.449 21661 21661 I ViewRootImpl@24a2725[GUI]: mThreadedRenderer.initialize() mSurface={isValid=true 0xb400007b88b90800} hwInitialized=true
07-02 11:21:48.449 21661 21661 I ViewRootImpl@24a2725[GUI]: reportNextDraw android.view.ViewRootImpl.performTraversals:4438 android.view.ViewRootImpl.doTraversal:3116 android.view.ViewRootImpl$TraversalRunnable.run:10885 android.view.Choreographer$CallbackRecord.run:1301 android.view.Choreographer$CallbackRecord.run:1309
07-02 11:21:48.449 21661 21661 I ViewRootImpl@24a2725[GUI]: Setup new sync id=8
07-02 11:21:48.449 21661 21661 I ViewRootImpl@24a2725[GUI]: Setting syncFrameCallback
07-02 11:21:48.449 21661 21661 I ViewRootImpl@24a2725[GUI]: registerCallbacksForSync syncBuffer=false
07-02 11:21:48.450 21661 21687 D OpenGLRenderer: eglCreateWindowSurface
07-02 11:21:48.452 21661 21711 I ViewRootImpl@24a2725[GUI]: Received frameDrawingCallback syncResult=0 frameNum=1.
07-02 11:21:48.452 21661 21711 I ViewRootImpl@24a2725[GUI]: Setting up sync and frameCommitCallback
07-02 11:21:48.458 21661 21687 I BLASTBufferQueue: [ViewRootImpl@24a2725[GUI]#49](f:0,a:0) onFrameAvailable the first frame is available
07-02 11:21:48.458 21661 21687 I ViewRootImpl@24a2725[GUI]: Received frameCommittedCallback lastAttemptedDrawFrameNum=1 didProduceBuffer=true
07-02 11:21:48.459 21661 21661 I ViewRootImpl@24a2725[GUI]: onSyncComplete
07-02 11:21:48.460 21661 21661 I ViewRootImpl@24a2725[GUI]: setupSync seqId=0 mSyncId=8 fn=1 caller=android.view.ViewRootImpl$$ExternalSyntheticLambda11.accept:6 android.window.SurfaceSyncer.lambda$setupSync$1$android-window-SurfaceSyncer:128 android.window.SurfaceSyncer$$ExternalSyntheticLambda1.accept:8 android.window.SurfaceSyncer$SyncSet.checkIfSyncIsComplete:382 android.window.SurfaceSyncer$SyncSet.markSyncReady:359 android.window.SurfaceSyncer.markSyncReady:151 android.view.ViewRootImpl.performTraversals:4503
07-02 11:21:48.460 21661 21661 I ViewRootImpl@24a2725[GUI]: reportDrawFinished seqId=0 mSyncId=-1 fn=1 mSurfaceChangedTransaction=0xb400007ba9fbf800
07-02 11:21:48.498 21661 29408 I ViewRootImpl@24a2725[GUI]: Resizing android.view.ViewRootImpl@79b10a1: frame = [0,0][1080,2400] reportDraw = false forceLayout = false syncSeqId = 0
07-02 11:21:48.499 21661 21661 D InsetsController: onStateChanged: InsetsState: {mDisplayFrame=Rect(0, 0 - 1080, 2400), mDisplayCutout=DisplayCutout{insets=Rect(0, 88 - 0, 0) waterfall=Insets{left=0, top=0, right=0, bottom=0} boundingRect={Bounds=[Rect(0, 0 - 0, 0), Rect(512, 0 - 568, 88), Rect(0, 0 - 0, 0), Rect(0, 0 - 0, 0)]} cutoutPathParserInfo={CutoutPathParserInfo{displayWidth=1080 displayHeight=2400 physicalDisplayWidth=1080 physicalDisplayHeight=2400 density={3.0} cutoutSpec={M 0,0 M 0,10.71963616907435 a 9.280363830925644,9.280363830925644 0 1,0 0,18.56072766185129 a 9.280363830925644,9.280363830925644 0 1,0 0,-18.56072766185129 Z @dp} rotation={0} scale={1.0} physicalPixelDisplaySizeRatio={1.0}}}}, mRoundedCorners=RoundedCorners{[RoundedCorner{position=TopLeft, radius=90, center=Point(90, 90)}, RoundedCorner{position=TopRight, radius=90, center=Point(990, 90)}, RoundedCorner{position=BottomRight, radius=90, center=Point(990, 2310)}, RoundedCorner{position=BottomLeft, radius=90, center=Point(90, 2310)}]}  mRoundedCornerFrame=Rect(0, 0 - 1080, 2400), mPrivacyIndicatorBounds=PrivacyIndicatorBounds {static bounds=Rect(956, 0 - 1080, 88) rotation=0}, mSources= { InsetsSource: {mType=ITYPE_STATUS_BAR, mFrame=[0,0][1080,88], mVisible=true, mInsetsRoundedCornerFrame=false}, InsetsSource: {mType=ITYPE_NAVIGATION_BAR, mFrame=[0,2265][1080,2400], mVisible=true, mInsetsRoundedCornerFrame=false}, InsetsSource: {mType=ITYPE_LEFT_GESTURES, mFrame=[0,0][0,2400], mVisible=true, mInsetsRoundedCornerFrame=false}, InsetsSource: {mType=ITYPE_RIGHT_GESTURES, mFrame=[1080,0][1080,2400], mVisible=true, mInsetsRoundedCornerFrame=false}, InsetsSource: {mType=ITYPE_TOP_MANDATORY_GESTURES, mFrame=[0,0][1080,122], mVisible=true, mInsetsRoundedCornerFrame=false}, InsetsSource: {mType=ITYPE_BOTTOM_MANDATORY_GESTURES, mFrame=[0,2265][1080,2400], mVisible=true, mInsetsRoundedCornerFrame=false}, InsetsSource: {mType=ITYPE_LEFT_DISPLAY_CUTOUT, mFrame=[0,0][-100000,2400], mVisible=true, mInsetsRoundedCornerFrame=false}, InsetsSource: {mType=ITYPE_TOP_DISPLAY_CUTOUT, mFrame=[0,0][1080,88], mVisible=true, mInsetsRoundedCornerFrame=false}, InsetsSource: {mType=ITYPE_RIGHT_DISPLAY_CUTOUT, mFrame=[100000,0][1080,2400], mVisible=true, mInsetsRoundedCornerFrame=false}, InsetsSource: {mType=ITYPE_BOTTOM_DISPLAY_CUTOUT, mFrame=[0,100000][1080,2400], mVisible=true, mInsetsRoundedCornerFrame=false}, InsetsSource: {mType=ITYPE_TOP_TAPPABLE_ELEMENT, mFrame=[0,0][1080,88], mVisible=true, mInsetsRoundedCornerFrame=false}, InsetsSource: {mType=ITYPE_BOTTOM_TAPPABLE_ELEMENT, mFrame=[0,2265][1080,2400], mVisible=true, mInsetsRoundedCornerFrame=false}, InsetsSource: {mType=ITYPE_IME, mFrame=[0,0][0,0], mVisibleFrame=[0,1709][1080,2400], mVisible=false, mInsetsRoundedCornerFrame=false} } host=com.virtualhere.androidserver/com.virtualhere.androidserver.GUI from=android.view.ViewRootImpl$ViewRootHandler.handleMessageImpl:6727
07-02 11:21:48.499 21661 21661 I ViewRootImpl@24a2725[GUI]: handleResized, msg = 4 frames=ClientWindowFrames{frame=[0,0][1080,2400] display=[0,0][1080,2400] parentFrame=[0,0][0,0] parentClippedByDisplayCutout=false} forceNextWindowRelayout=false displayId=0 resizeMode=-1 frameChanged=false displayFrameChanged=false configChanged=false displayChanged=false
07-02 11:21:48.551 21661 21661 I ViewRootImpl@24a2725[GUI]: MSG_WINDOW_FOCUS_CHANGED 1 0
07-02 11:21:48.552 21661 21661 I ViewRootImpl@24a2725[GUI]: mThreadedRenderer.initializeIfNeeded()#2 mSurface={isValid=true 0xb400007b88b90800}
07-02 11:21:48.552 21661 21661 D InputMethodManager: startInputInner - Id : 0
07-02 11:21:48.552 21661 21661 I InputMethodManager: startInputInner - mService.startInputOrWindowGainedFocus
07-02 11:21:49.527 21661 21661 I ViewRootImpl@24a2725[GUI]: ViewPostIme pointer 0
07-02 11:21:49.533 21661 21661 I ViewRootImpl@24a2725[GUI]: ViewPostIme pointer 1
07-02 11:21:49.559 21661 21687 D NativeCustomFrequencyManager: [NativeCFMS] BpCustomFrequencyManager::BpCustomFrequencyManager()
07-02 11:21:49.563 21661 21661 D InsetsController: onStateChanged: InsetsState: {mDisplayFrame=Rect(0, 0 - 1080, 2400), mDisplayCutout=DisplayCutout{insets=Rect(0, 88 - 0, 0) waterfall=Insets{left=0, top=0, right=0, bottom=0} boundingRect={Bounds=[Rect(0, 0 - 0, 0), Rect(512, 0 - 568, 88), Rect(0, 0 - 0, 0), Rect(0, 0 - 0, 0)]} cutoutPathParserInfo={CutoutPathParserInfo{displayWidth=1080 displayHeight=2400 physicalDisplayWidth=1080 physicalDisplayHeight=2400 density={3.0} cutoutSpec={M 0,0 M 0,10.71963616907435 a 9.280363830925644,9.280363830925644 0 1,0 0,18.56072766185129 a 9.280363830925644,9.280363830925644 0 1,0 0,-18.56072766185129 Z @dp} rotation={0} scale={1.0} physicalPixelDisplaySizeRatio={1.0}}}}, mRoundedCorners=RoundedCorners{[RoundedCorner{position=TopLeft, radius=90, center=Point(90, 90)}, RoundedCorner{position=TopRight, radius=90, center=Point(990, 90)}, RoundedCorner{position=BottomRight, radius=90, center=Point(990, 2310)}, RoundedCorner{position=BottomLeft, radius=90, center=Point(90, 2310)}]}  mRoundedCornerFrame=Rect(0, 0 - 1080, 2400), mPrivacyIndicatorBounds=PrivacyIndicatorBounds {static bounds=Rect(956, 0 - 1080, 88) rotation=0}, mSources= { InsetsSource: {mType=ITYPE_STATUS_BAR, mFrame=[0,0][1080,88], mVisible=true, mInsetsRoundedCornerFrame=false}, InsetsSource: {mType=ITYPE_NAVIGATION_BAR, mFrame=[0,2265][1080,2400], mVisible=true, mInsetsRoundedCornerFrame=false}, InsetsSource: {mType=ITYPE_LEFT_GESTURES, mFrame=[0,0][0,2400], mVisible=true, mInsetsRoundedCornerFrame=false}, InsetsSource: {mType=ITYPE_RIGHT_GESTURES, mFrame=[1080,0][1080,2400], mVisible=true, mInsetsRoundedCornerFrame=false}, InsetsSource: {mType=ITYPE_TOP_MANDATORY_GESTURES, mFrame=[0,0][1080,122], mVisible=true, mInsetsRoundedCornerFrame=false}, InsetsSource: {mType=ITYPE_BOTTOM_MANDATORY_GESTURES, mFrame=[0,2265][1080,2400], mVisible=true, mInsetsRoundedCornerFrame=false}, InsetsSource: {mType=ITYPE_LEFT_DISPLAY_CUTOUT, mFrame=[0,0][-100000,2400], mVisible=true, mInsetsRoundedCornerFrame=false}, InsetsSource: {mType=ITYPE_TOP_DISPLAY_CUTOUT, mFrame=[0,0][1080,88], mVisible=true, mInsetsRoundedCornerFrame=false}, InsetsSource: {mType=ITYPE_RIGHT_DISPLAY_CUTOUT, mFrame=[100000,0][1080,2400], mVisible=true, mInsetsRoundedCornerFrame=false}, InsetsSource: {mType=ITYPE_BOTTOM_DISPLAY_CUTOUT, mFrame=[0,100000][1080,2400], mVisible=true, mInsetsRoundedCornerFrame=false}, InsetsSource: {mType=ITYPE_TOP_TAPPABLE_ELEMENT, mFrame=[0,0][1080,88], mVisible=true, mInsetsRoundedCornerFrame=false}, InsetsSource: {mType=ITYPE_BOTTOM_TAPPABLE_ELEMENT, mFrame=[0,2265][1080,2400], mVisible=true, mInsetsRoundedCornerFrame=false} } host=PopupWindow:400f7eb from=android.view.ViewRootImpl.setView:1732
07-02 11:21:49.564 21661 21661 I ViewRootImpl@ab55948[PopupWindow:400f7eb]: setView = android.widget.PopupWindow$PopupDecorView@b6ac1f4 TM=true
07-02 11:21:49.570 21661 21661 I ViewRootImpl@ab55948[PopupWindow:400f7eb]: performTraversals params={(518,99)(551x1620) gr=TOP START CENTER DISPLAY_CLIP_VERTICAL sim={state=unchanged adjust=resize} ty=APPLICATION_SUB_PANEL fmt=TRANSLUCENT surfaceInsets=Rect(90, 90 - 90, 90) (manual)
07-02 11:21:49.570 21661 21661 I ViewRootImpl@ab55948[PopupWindow:400f7eb]:   fl=41860200
07-02 11:21:49.570 21661 21661 I ViewRootImpl@ab55948[PopupWindow:400f7eb]:   pfl=2018000
07-02 11:21:49.570 21661 21661 I ViewRootImpl@ab55948[PopupWindow:400f7eb]:   bhv=DEFAULT
07-02 11:21:49.570 21661 21661 I ViewRootImpl@ab55948[PopupWindow:400f7eb]:   fitTypes=STATUS_BARS NAVIGATION_BARS CAPTION_BAR naviIconColor=0
07-02 11:21:49.570 21661 21661 I ViewRootImpl@ab55948[PopupWindow:400f7eb]:   sfl=20000}
07-02 11:21:49.570 21661 21661 I ViewRootImpl@ab55948[PopupWindow:400f7eb]: performTraversals mFirst=true windowShouldResize=true viewVisibilityChanged=false mForceNextWindowRelayout=false params={(518,99)(551x1620) gr=TOP START CENTER DISPLAY_CLIP_VERTICAL sim={state=unchanged adjust=resize} ty=APPLICATION_SUB_PANEL fmt=TRANSLUCENT surfaceInsets=Rect(90, 90 - 90, 90) (manual)
07-02 11:21:49.570 21661 21661 I ViewRootImpl@ab55948[PopupWindow:400f7eb]:   fl=41860200
07-02 11:21:49.570 21661 21661 I ViewRootImpl@ab55948[PopupWindow:400f7eb]:   pfl=2018000
07-02 11:21:49.570 21661 21661 I ViewRootImpl@ab55948[PopupWindow:400f7eb]:   bhv=DEFAULT
07-02 11:21:49.570 21661 21661 I ViewRootImpl@ab55948[PopupWindow:400f7eb]:   fitTypes=STATUS_BARS NAVIGATION_BARS CAPTION_BAR IME naviIconColor=0
07-02 11:21:49.570 21661 21661 I ViewRootImpl@ab55948[PopupWindow:400f7eb]:   sfl=20000}
07-02 11:21:49.572 21661 29408 I ViewRootImpl@ab55948[PopupWindow:400f7eb]: Resizing android.view.ViewRootImpl@a451d1d: frame = [518,99][1069,1719] reportDraw = true forceLayout = false syncSeqId = 0
07-02 11:21:49.575 21661 21661 I ViewRootImpl@ab55948[PopupWindow:400f7eb]: updateBlastSurfaceIfNeeded mBlastBufferQueue=null isSameSurfaceControl=false
07-02 11:21:49.575 21661 21661 I BLASTBufferQueue: new BLASTBufferQueue, mName= ViewRootImpl@ab55948[PopupWindow:400f7eb] mNativeObject= 0xb400007ba9a5bd00 sc.mNativeObject= 0xb400007b88d1ca20 caller= android.view.ViewRootImpl.updateBlastSurfaceIfNeeded:2909 android.view.ViewRootImpl.relayoutWindow:9847 android.view.ViewRootImpl.performTraversals:3884 android.view.ViewRootImpl.doTraversal:3116 android.view.ViewRootImpl$TraversalRunnable.run:10885 android.view.Choreographer$CallbackRecord.run:1301 android.view.Choreographer$CallbackRecord.run:1309 android.view.Choreographer.doCallbacks:923 android.view.Choreographer.doFrame:852 android.view.Choreographer$FrameDisplayEventReceiver.run:1283
07-02 11:21:49.575 21661 21661 I BLASTBufferQueue: update, w= 731 h= 1800 mName = ViewRootImpl@ab55948[PopupWindow:400f7eb] mNativeObject= 0xb400007ba9a5bd00 sc.mNativeObject= 0xb400007b88d1ca20 format= -3 caller= android.graphics.BLASTBufferQueue.<init>:84 android.view.ViewRootImpl.updateBlastSurfaceIfNeeded:2909 android.view.ViewRootImpl.relayoutWindow:9847 android.view.ViewRootImpl.performTraversals:3884 android.view.ViewRootImpl.doTraversal:3116 android.view.ViewRootImpl$TraversalRunnable.run:10885
07-02 11:21:49.576 21661 21661 I ViewRootImpl@ab55948[PopupWindow:400f7eb]: Relayout returned: old=(518,99,1069,99) new=(518,99,1069,1719) req=(551,1620)0 dur=5 res=0x3 s={true 0xb400007b88fad000} ch=true seqId=0
07-02 11:21:49.576 21661 21661 I ViewRootImpl@ab55948[PopupWindow:400f7eb]: mThreadedRenderer.initialize() mSurface={isValid=true 0xb400007b88fad000} hwInitialized=true
07-02 11:21:49.576 21661 21687 D OpenGLRenderer: eglCreateWindowSurface
07-02 11:21:49.589 21661 21661 D AbsListView:  in onLayout changed
07-02 11:21:49.589 21661 21661 I ViewRootImpl@ab55948[PopupWindow:400f7eb]: reportNextDraw android.view.ViewRootImpl.performTraversals:4438 android.view.ViewRootImpl.doTraversal:3116 android.view.ViewRootImpl$TraversalRunnable.run:10885 android.view.Choreographer$CallbackRecord.run:1301 android.view.Choreographer$CallbackRecord.run:1309
07-02 11:21:49.590 21661 21661 I ViewRootImpl@ab55948[PopupWindow:400f7eb]: Setup new sync id=0
07-02 11:21:49.590 21661 21661 I ViewRootImpl@ab55948[PopupWindow:400f7eb]: Setting syncFrameCallback
07-02 11:21:49.590 21661 21661 I ViewRootImpl@ab55948[PopupWindow:400f7eb]: registerCallbacksForSync syncBuffer=false
07-02 11:21:49.592 21661 21710 I ViewRootImpl@ab55948[PopupWindow:400f7eb]: Received frameDrawingCallback syncResult=0 frameNum=1.
07-02 11:21:49.592 21661 21710 I ViewRootImpl@ab55948[PopupWindow:400f7eb]: Setting up sync and frameCommitCallback
07-02 11:21:49.593 21661 21687 I BLASTBufferQueue: [ViewRootImpl@ab55948[PopupWindow:400f7eb]#50](f:0,a:0) onFrameAvailable the first frame is available
07-02 11:21:49.594 21661 21687 I ViewRootImpl@ab55948[PopupWindow:400f7eb]: Received frameCommittedCallback lastAttemptedDrawFrameNum=1 didProduceBuffer=true
07-02 11:21:49.594 21661 21687 D OpenGLRenderer: CFMS:: SetUp Pid : 21661    Tid : 21687
07-02 11:21:49.595 21661 21687 W Parcel  : Expecting binder but got null!
07-02 11:21:49.595 21661 21661 I ViewRootImpl@ab55948[PopupWindow:400f7eb]: onSyncComplete
07-02 11:21:49.595 21661 21661 I ViewRootImpl@ab55948[PopupWindow:400f7eb]: setupSync seqId=0 mSyncId=0 fn=1 caller=android.view.ViewRootImpl$$ExternalSyntheticLambda11.accept:6 android.window.SurfaceSyncer.lambda$setupSync$1$android-window-SurfaceSyncer:128 android.window.SurfaceSyncer$$ExternalSyntheticLambda1.accept:8 android.window.SurfaceSyncer$SyncSet.checkIfSyncIsComplete:382 android.window.SurfaceSyncer$SyncSet.markSyncReady:359 android.window.SurfaceSyncer.markSyncReady:151 android.view.ViewRootImpl.performTraversals:4503
07-02 11:21:49.595 21661 21661 I ViewRootImpl@ab55948[PopupWindow:400f7eb]: reportDrawFinished seqId=0 mSyncId=-1 fn=1 mSurfaceChangedTransaction=0xb400007b9a0be800
07-02 11:21:49.597 21661 21661 I ViewRootImpl@ab55948[PopupWindow:400f7eb]: handleResized, msg = 5 frames=ClientWindowFrames{frame=[518,99][1069,1719] display=[-100000,-100000][100000,100000] parentFrame=[0,0][0,0] parentClippedByDisplayCutout=false} forceNextWindowRelayout=false displayId=0 resizeMode=-1 frameChanged=false displayFrameChanged=false configChanged=false displayChanged=false
07-02 11:21:49.597 21661 21661 I ViewRootImpl@ab55948[PopupWindow:400f7eb]: handleResized mSyncSeqId = 0
07-02 11:21:49.597 21661 21661 I ViewRootImpl@ab55948[PopupWindow:400f7eb]: reportNextDraw android.view.ViewRootImpl.handleResized:2450 android.view.ViewRootImpl.-$$Nest$mhandleResized:0 android.view.ViewRootImpl$ViewRootHandler.handleMessageImpl:6728 android.view.ViewRootImpl$ViewRootHandler.handleMessage:6697 android.os.Handler.dispatchMessage:106
07-02 11:21:49.597 21661 21661 I ViewRootImpl@24a2725[GUI]: MSG_WINDOW_FOCUS_CHANGED 0 0
07-02 11:21:49.607 21661 21661 I ViewRootImpl@ab55948[PopupWindow:400f7eb]: Setup new sync id=1
07-02 11:21:49.607 21661 21661 I ViewRootImpl@ab55948[PopupWindow:400f7eb]: Setting syncFrameCallback
07-02 11:21:49.607 21661 21661 I ViewRootImpl@ab55948[PopupWindow:400f7eb]: registerCallbacksForSync syncBuffer=false
07-02 11:21:49.610 21661 21711 I ViewRootImpl@ab55948[PopupWindow:400f7eb]: Received frameDrawingCallback syncResult=0 frameNum=2.
07-02 11:21:49.610 21661 21711 I ViewRootImpl@ab55948[PopupWindow:400f7eb]: Setting up sync and frameCommitCallback
07-02 11:21:49.611 21661 21687 I ViewRootImpl@ab55948[PopupWindow:400f7eb]: Received frameCommittedCallback lastAttemptedDrawFrameNum=2 didProduceBuffer=true
07-02 11:21:49.611 21661 21661 I ViewRootImpl@ab55948[PopupWindow:400f7eb]: onSyncComplete
07-02 11:21:49.611 21661 21661 I ViewRootImpl@ab55948[PopupWindow:400f7eb]: setupSync seqId=0 mSyncId=1 fn=2 caller=android.view.ViewRootImpl$$ExternalSyntheticLambda11.accept:6 android.window.SurfaceSyncer.lambda$setupSync$1$android-window-SurfaceSyncer:128 android.window.SurfaceSyncer$$ExternalSyntheticLambda1.accept:8 android.window.SurfaceSyncer$SyncSet.checkIfSyncIsComplete:382 android.window.SurfaceSyncer$SyncSet.markSyncReady:359 android.window.SurfaceSyncer.markSyncReady:151 android.view.ViewRootImpl.performTraversals:4503
07-02 11:21:49.612 21661 21661 I ViewRootImpl@ab55948[PopupWindow:400f7eb]: reportDrawFinished seqId=0 mSyncId=-1 fn=2 mSurfaceChangedTransaction=0xb400007b9a0be800
07-02 11:21:49.612 21661 21661 I ViewRootImpl@ab55948[PopupWindow:400f7eb]: MSG_WINDOW_FOCUS_CHANGED 1 0
07-02 11:21:49.612 21661 21661 I ViewRootImpl@ab55948[PopupWindow:400f7eb]: mThreadedRenderer.initializeIfNeeded()#2 mSurface={isValid=true 0xb400007b88fad000}
07-02 11:21:50.539 21661 21661 I ViewRootImpl@ab55948[PopupWindow:400f7eb]: ViewPostIme pointer 0
07-02 11:21:50.586 21661 21661 I ViewRootImpl@ab55948[PopupWindow:400f7eb]: ViewPostIme pointer 1
07-02 11:21:50.586 21661 21661 D AbsListView: onTouchUp() mTouchMode : 0

#2

Looking at the log, its showing that wifi is dropping. Do you use Multiple access points on your phone? It might be switching between different access points at that time.  VirtualHere is asking to keep the wifi on and that has worked for many years in android and ive double checked the restrictions in the latest version of Android 13 and it should still work.

 

There are quite a few wifi related settings you can change in android. So i think you need to manually set the wifi to be on and not switch between AP and dont sleep (i.e turn off Connection Optimization). There are a lot of articles on google on how to do this.

#3

I cant't undertand that the WiFi would be dropping. I have no other problems with connectivity..
I do have two accespoints, mesh system. But I can see that the phone is not switching and is also lying still on the table the whole time I use VirtualHere.
I have tried turning off every option I could find under WiFi, battery optimization is also turned off, also jus tdid a network settings reset. Nothing changes the behavior.

After the phone goes idle and the screen turn off it take ~1-2min or so before VirtualHere Client disconnects and cannot find my phone before I turn on the screen again.

Any more suggetions?

#4

I dont know the solution unfortunately. Just keep the screen on while gaming.  I think that's the only way, just turn down the brightness to save the battery

#5

Yeah.. That is part of the problem because the screening does not stay on. Isen't that what keep awake is supposed to do? 

And i'm not using it for gaming.. Was supposed to be used as a tool to help logging etc different equipment

#6

I think there is some other issue with the phone. Keep awake will keep the CPU running (not the screen) and wifi lock will keep the wifi on. Both these definately work.  My feeling is that it is the multiple access points mesh issue. I tried that setup at my home office and it was nothing but trouble with the mesh dropping out or going slow sometimes. This was on a tplink router network with several mesh nodes.