Skip to content

[Bug]: Browser / Webview doenst close after succesfull callback on Android #158

Open
@Philip762

Description

@Philip762

Description

I have been using this library for a personal project of mine but I recently noticed a problem on Android regarding the opening and closing of the browser window when authenticating. Everything works fine up till the callback URL with the authorization code is received from the 3rd party I'm trying to authenticate with. The code is successfully received in the app but the browser window does not close (even though I have a deep link registered in my android manifest) Below is a screen recording to demonstrate the issue using the example this repository provides.

Screen_Recording_20250308_152055.mp4

Minimal Reproduction

Steps to reproduce the behaviour:

  1. Use the following code: (copy paste from /example/lib/main.dart)
  2. In the AndroidManifest.xml I also added following code as per the instructions:
<manifest xmlns:android="http://schemas.android.com/apk/res/android">
    <!-- The INTERNET permission is required for development. Specifically,
         the Flutter tool needs it to communicate with the running application
         to allow setting breakpoints, to provide hot reload, etc.
    -->
    <uses-permission android:name="android.permission.INTERNET"/>
    <application>

        <activity
            android:name="com.linusu.flutter_web_auth_2.CallbackActivity"
            android:exported="true">
            <intent-filter android:label="flutter_web_auth_2">
                <action android:name="android.intent.action.VIEW" />
                <category android:name="android.intent.category.DEFAULT" />
                <category android:name="android.intent.category.BROWSABLE" />
                <data android:scheme="foobar" />
            </intent-filter>
        </activity>

    </application>
</manifest>

Exception or Error

Launching lib\main.dart on SM S911B in debug mode...
Running Gradle task 'assembleDebug'...
√ Built build\app\outputs\flutter-apk\app-debug.apk
Installing build\app\outputs\flutter-apk\app-debug.apk...
I/flutter (15725): [IMPORTANT:flutter/shell/platform/android/android_context_vk_impeller.cc(60)] Using the Impeller rendering backend (Vulkan).
Debug service listening on ws://127.0.0.1:59740/rY-KnKRsmyQ=/ws
Syncing files to device SM S911B...
I/BLASTBufferQueue(15725): [SurfaceView[com.example.test_web_auth_2/com.example.test_web_auth_2.MainActivity]@0#1](f:0,a:0,s:0) onFrameAvailable the first frame is available
D/SurfaceView@cdf163f(15725): 215946815 setAlpha: alpha=1.0
I/SurfaceView(15725): 215946815 Changes: creating=false format=false size=false visible=false alpha=true hint=false visible=false left=false top=false z=false attached=true lifecycleStrategy=false
I/SurfaceView@cdf163f(15725): 215946815 Cur surface: Surface(name=null)/@0xe87c85d
I/SurfaceView@cdf163f(15725): updateSurface: mVisible = true mSurface.isValid() = true
I/SurfaceView@cdf163f(15725): updateSurface: mSurfaceCreated = true surfaceChanged = false visibleChanged = false
I/SurfaceView(15725): 215946815 surfaceRedrawNeeded
I/SurfaceView(15725): 215946815 finishedDrawing
V/SurfaceView@cdf163f(15725): Layout: x=0 y=0 w=1080 h=2298, frame=Rect(0, 0 - 1080, 2298)
I/BLASTBufferQueue_Java(15725): update, w= 1080 h= 2340 mName = ViewRootImpl@49dc4c5[MainActivity] mNativeObject= 0xb40000738cdfb700 sc.mNativeObject= 0xb40000738d4d0b00 format= -3 caller= android.view.ViewRootImpl.updateBlastSurfaceIfNeeded:3074 android.view.ViewRootImpl.relayoutWindow:10224 android.view.ViewRootImpl.performTraversals:4167 android.view.ViewRootImpl.doTraversal:3345 android.view.ViewRootImpl$TraversalRunnable.run:11437 android.view.Choreographer$CallbackRecord.run:1690 
I/ViewRootImpl@49dc4c5[MainActivity](15725): Relayout returned: old=(0,0,1080,2340) new=(0,0,1080,2340) relayoutAsync=false req=(1080,2340)0 dur=5 res=0x401 s={true 0xb40000738cf95000} ch=false seqId=0
I/ViewRootImpl@49dc4c5[MainActivity](15725): updateBoundsLayer: t=android.view.SurfaceControl$Transaction@9c28e91 sc=Surface(name=Bounds for - com.example.test_web_auth_2/com.example.test_web_auth_2.MainActivity@0)/@0x46d11f6 frame=1
D/ViewRootImpl@49dc4c5[MainActivity](15725): reportNextDraw android.view.ViewRootImpl.performTraversals:4781 android.view.ViewRootImpl.doTraversal:3345 android.view.ViewRootImpl$TraversalRunnable.run:11437 android.view.Choreographer$CallbackRecord.run:1690 android.view.Choreographer$CallbackRecord.run:1699 
I/ViewRootImpl@49dc4c5[MainActivity](15725): Setup new sync=wmsSync-ViewRootImpl@49dc4c5[MainActivity]#2
I/ViewRootImpl@49dc4c5[MainActivity](15725): Creating new active sync group ViewRootImpl@49dc4c5[MainActivity]#3
I/SurfaceSyncGroup(15725): addLocalSync=ViewRootImpl@49dc4c5[MainActivity]#3 to name=wmsSync-ViewRootImpl@49dc4c5[MainActivity]#2, callers=android.window.SurfaceSyncGroup.add:431 android.window.SurfaceSyncGroup.add:392 android.window.SurfaceSyncGroup.add:340 android.view.ViewRootImpl.createSyncIfNeeded:4912 android.view.ViewRootImpl.performTraversals:4796 android.view.ViewRootImpl.doTraversal:3345 
I/ViewRootImpl@49dc4c5[MainActivity](15725): registerCallbacksForSync syncBuffer=false
D/SurfaceView(15725): 215946815 updateSurfacePosition RenderWorker, frameNr = 1, position = [0, 0, 1080, 2298] surfaceSize = 1080x2298
I/SurfaceView@cdf163f(15725): uSP: rtp = Rect(0, 0 - 1080, 2298) rtsw = 1080 rtsh = 2298
I/SurfaceView@cdf163f(15725): onSSPAndSRT: pl = 0 pt = 0 sx = 1.0 sy = 1.0
I/SurfaceView@cdf163f(15725): aOrMT: ViewRootImpl@49dc4c5[MainActivity] t = android.view.SurfaceControl$Transaction@b127064 fN = 1 android.view.SurfaceView.-$$Nest$mapplyOrMergeTransaction:0 android.view.SurfaceView$SurfaceViewPositionUpdateListener.positionChanged:1667 android.graphics.RenderNode$CompositePositionUpdateListener.positionChanged:369 
I/ViewRootImpl@49dc4c5[MainActivity](15725): mWNT: t=0xb4000072e5d9e600 mBlastBufferQueue=0xb40000738cdfb700 fn= 1 mRenderHdrSdrRatio=1.0 caller= android.view.SurfaceView.applyOrMergeTransaction:1599 android.view.SurfaceView.-$$Nest$mapplyOrMergeTransaction:0 android.view.SurfaceView$SurfaceViewPositionUpdateListener.positionChanged:1667 
I/ViewRootImpl@49dc4c5[MainActivity](15725): Received frameDrawingCallback syncResult=0 frameNum=1.
I/ViewRootImpl@49dc4c5[MainActivity](15725): mWNT: t=0xb40000738d50eb00 mBlastBufferQueue=0xb40000738cdfb700 fn= 1 mRenderHdrSdrRatio=1.0 caller= android.view.ViewRootImpl$8.onFrameDraw:13946 android.view.ThreadedRenderer$1.onFrameDraw:792 <bottom of call stack> 
I/ViewRootImpl@49dc4c5[MainActivity](15725): Setting up sync and frameCommitCallback
I/BLASTBufferQueue(15725): [ViewRootImpl@49dc4c5[MainActivity]#0](f:0,a:0,s:0) onFrameAvailable the first frame is available
I/ViewRootImpl@49dc4c5[MainActivity](15725): Received frameCommittedCallback lastAttemptedDrawFrameNum=1 didProduceBuffer=true
I/SurfaceSyncGroup(15725): onTransactionReady mName=wmsSync-ViewRootImpl@49dc4c5[MainActivity]#2 callback=137218551
D/OpenGLRenderer(15725): CFMS:: SetUp Pid : 15725    Tid : 15783
I/ViewRootImpl@49dc4c5[MainActivity](15725): reportDrawFinished seqId=0
I/ViewRootImpl@49dc4c5[MainActivity](15725): handleWindowFocusChanged: 1 0 call from android.view.ViewRootImpl.-$$Nest$mhandleWindowFocusChanged:0
D/ViewRootImpl@49dc4c5[MainActivity](15725): mThreadedRenderer.initializeIfNeeded()#2 mSurface={isValid=true 0xb40000738cf95000}
D/InputMethodManagerUtils(15725): startInputInner - Id : 0
I/InputMethodManager(15725): startInputInner - IInputMethodManagerGlobalInvoker.startInputOrWindowGainedFocus
D/InputMethodManagerUtils(15725): startInputInner - Id : 0
I/InsetsController(15725): onStateChanged: host=com.example.test_web_auth_2/com.example.test_web_auth_2.MainActivity, from=android.view.ViewRootImpl$ViewRootHandler.handleMessageImpl:7279, state=InsetsState: {mDisplayFrame=Rect(0, 0 - 1080, 2340), mDisplayCutout=DisplayCutout{insets=Rect(0, 81 - 0, 0) waterfall=Insets{left=0, top=0, right=0, bottom=0} boundingRect={Bounds=[Rect(0, 0 - 0, 0), Rect(512, 0 - 568, 81), Rect(0, 0 - 0, 0), Rect(0, 0 - 0, 0)]} cutoutPathParserInfo={CutoutPathParserInfo{displayWidth=1080 displayHeight=2340 physicalDisplayWidth=1080 physicalDisplayHeight=2340 density={3.0} cutoutSpec={M 0,0 H -9.333333333333333‬ V 27 H 9.333333333333333‬ V 0 H 0 Z @dp} rotation={0} scale={1.0} physicalPixelDisplaySizeRatio={1.0}}}}, mRoundedCorners=RoundedCorners{[RoundedCorner{position=TopLeft, radius=96, center=Point(96, 96)}, RoundedCorner{position=TopRight, radius=96, center=Point(984, 96)}, RoundedCorner{position=BottomRight, radius=96, center=Point(984, 2244)}, RoundedCorner{position=BottomLeft, radius=96, center=Point(96, 2244)}]}  mRoundedCornerFrame=Rect(0, 0 - 1080, 2340), mPrivacyIndicatorBounds=PrivacyIndicatorBounds {static bounds=Rect(956, 0 - 1080, 81) rotation=0}, mDisplayShape=DisplayShape{ spec=-311912193 displayWidth=1080 displayHeight=2340 physicalPixelDisplaySizeRatio=1.0 rotation=0 offsetX=0 offsetY=0 scale=1.0}, mSources= { InsetsSource: {b3450000 mType=statusBars mFrame=[0,0][1080,81] mVisible=true mFlags=[]}, InsetsSource: {b3450005 mType=mandatorySystemGestures mFrame=[0,0][1080,115] mVisible=true mFlags=[]}, InsetsSource: {b3450006 mType=tappableElement mFrame=[0,0][1080,81] mVisible=true mFlags=[]}, InsetsSource: {bd9f0001 mType=navigationBars mFrame=[0,2298][1080,2340] mVisible=true mFlags=[SUPPRESS_SCRIM]}, InsetsSource: {bd9f0004 mType=systemGestures mFrame=[0,0][63,2340] mVisible=true mFlags=[]}, InsetsSource: {bd9f0005 mType=mandatorySystemGestures mFrame=[0,2250][1080,2340] mVisible=true mFlags=[]}, InsetsSource: {bd9f0006 mType=tappableElement mFrame=[0,0][0,0] mVisible=true mFlags=[]}, InsetsSource: {bd9f0024 mType=systemGestures mFrame=[1017,0][1080,2340] mVisible=true mFlags=[]}, InsetsSource: {3 mType=ime mFrame=[0,0][0,0] mVisible=false mFlags=[]}, InsetsSource: {27 mType=displayCutout mFrame=[0,0][1080,81] mVisible=true mFlags=[]} }
I/InsetsSourceConsumer(15725): applyRequestedVisibilityToControl: visible=false, type=ime, host=com.example.test_web_auth_2/com.example.test_web_auth_2.MainActivity
I/ViewRootImpl@49dc4c5[MainActivity](15725): onDisplayChanged oldDisplayState=2 newDisplayState=2
I/ViewRootImpl@49dc4c5[MainActivity](15725): handleWindowFocusChanged: 0 0 call from android.view.ViewRootImpl.-$$Nest$mhandleWindowFocusChanged:0
I/ImeFocusController(15725): onPreWindowFocus: skipped, hasWindowFocus=false mHasImeFocus=true
I/ImeFocusController(15725): onPostWindowFocus: skipped, hasWindowFocus=false mHasImeFocus=true
D/ProfileInstaller(15725): Installing profile for com.example.test_web_auth_2
D/InputTransport(15725): Input channel destroyed: 'ClientS', fd=153
I/ViewRootImpl@49dc4c5[MainActivity](15725): handleAppVisibility mAppVisible = true visible = false
I/ViewRootImpl@49dc4c5[MainActivity](15725): stopped(true) old = false
D/ViewRootImpl@49dc4c5[MainActivity](15725): WindowStopped on com.example.test_web_auth_2/com.example.test_web_auth_2.MainActivity set to true
D/OpenGLRenderer(15725): CacheManager::trimMemory(20)
D/SurfaceView(15725): 76758529 windowPositionLost, frameNr = 0
I/SurfaceView@cdf163f(15725): aOrMT: ViewRootImpl@49dc4c5[MainActivity] t = android.view.SurfaceControl$Transaction@55be4a6 fN = 0 android.view.SurfaceView.-$$Nest$mapplyOrMergeTransaction:0 android.view.SurfaceView$SurfaceViewPositionUpdateListener.positionLost:1697 android.graphics.RenderNode$CompositePositionUpdateListener.positionLost:376 
I/ViewRootImpl@49dc4c5[MainActivity](15725): mWNT: t=0xb4000073e2dcae00 mBlastBufferQueue=0xb40000738cdfb700 fn= 0 mRenderHdrSdrRatio=1.0 caller= android.view.SurfaceView.applyOrMergeTransaction:1599 android.view.SurfaceView.-$$Nest$mapplyOrMergeTransaction:0 android.view.SurfaceView$SurfaceViewPositionUpdateListener.positionLost:1697 
I/SurfaceView@cdf163f(15725): windowStopped(true) false io.flutter.embedding.android.FlutterSurfaceView{cdf163f V.E...... ........ 0,0-1080,2298} of ViewRootImpl@49dc4c5[MainActivity]
I/SurfaceView(15725): 215946815 Changes: creating=false format=false size=false visible=true alpha=false hint=false visible=true left=false top=false z=false attached=true lifecycleStrategy=false
I/SurfaceView@cdf163f(15725): 215946815 Cur surface: Surface(name=null)/@0xe87c85d
I/SurfaceView(15725): 215946815 surfaceDestroyed
I/SurfaceView@cdf163f(15725): surfaceDestroyed callback.size 1 #1 io.flutter.embedding.android.FlutterSurfaceView{cdf163f V.E...... ........ 0,0-1080,2298}
I/SurfaceView@cdf163f(15725): updateSurface: mVisible = false mSurface.isValid() = true
I/SurfaceView@cdf163f(15725): releaseSurfaces: viewRoot = ViewRootImpl@49dc4c5[MainActivity]
V/SurfaceView@cdf163f(15725): Layout: x=0 y=0 w=1080 h=2298, frame=Rect(0, 0 - 1080, 2298)
D/SurfaceView@cdf163f(15725): updateSurface: surface is not valid
I/SurfaceView@cdf163f(15725): releaseSurfaces: viewRoot = ViewRootImpl@49dc4c5[MainActivity]
I/SurfaceView@cdf163f(15725): onWindowVisibilityChanged(8) false io.flutter.embedding.android.FlutterSurfaceView{cdf163f G.E...... ......I. 0,0-1080,2298} of ViewRootImpl@49dc4c5[MainActivity]
D/SurfaceView@cdf163f(15725): updateSurface: surface is not valid
I/SurfaceView@cdf163f(15725): releaseSurfaces: viewRoot = ViewRootImpl@49dc4c5[MainActivity]
I/ViewRootImpl@49dc4c5[MainActivity](15725): destroyHardwareResources: Callers=android.view.ViewRootImpl.performTraversals:3989 android.view.ViewRootImpl.doTraversal:3345 android.view.ViewRootImpl$TraversalRunnable.run:11437 android.view.Choreographer$CallbackRecord.run:1690 android.view.Choreographer$CallbackRecord.run:1699 android.view.Choreographer.doCallbacks:1154 android.view.Choreographer.doFrame:1080 android.view.Choreographer$FrameDisplayEventReceiver.run:1647 android.os.Handler.handleCallback:958 android.os.Handler.dispatchMessage:99 
D/OpenGLRenderer(15725): CacheManager::trimMemory(20)
I/ViewRootImpl@49dc4c5[MainActivity](15725): Relayout returned: old=(0,0,1080,2340) new=(0,0,1080,2340) relayoutAsync=false req=(1080,2340)8 dur=8 res=0x402 s={false 0x0} ch=false seqId=0
D/SurfaceView@cdf163f(15725): updateSurface: surface is not valid
I/SurfaceView@cdf163f(15725): releaseSurfaces: viewRoot = ViewRootImpl@49dc4c5[MainActivity]
D/OpenGLRenderer(15725): CacheManager::trimMemory(20)
D/SurfaceView@cdf163f(15725): updateSurface: surface is not valid
I/SurfaceView@cdf163f(15725): releaseSurfaces: viewRoot = ViewRootImpl@49dc4c5[MainActivity]
I/DecorView(15725): setWindowBackground: isPopOver=false color=fff0f0f3 d=android.graphics.drawable.ColorDrawable@bcc356
D/OpenGLRenderer(15725): CacheManager::trimMemory(40)
D/OpenGLRenderer(15725): RenderThread::destroyRenderingContext()
I/ViewRootImpl@49dc4c5[MainActivity](15725): handleAppVisibility mAppVisible = false visible = true
I/ViewRootImpl@49dc4c5[MainActivity](15725): stopped(false) old = true
D/ViewRootImpl@49dc4c5[MainActivity](15725): WindowStopped on com.example.test_web_auth_2/com.example.test_web_auth_2.MainActivity set to false
D/SurfaceView@cdf163f(15725): updateSurface: surface is not valid
I/SurfaceView@cdf163f(15725): releaseSurfaces: viewRoot = ViewRootImpl@49dc4c5[MainActivity]
I/SurfaceView@cdf163f(15725): onWindowVisibilityChanged(0) false io.flutter.embedding.android.FlutterSurfaceView{cdf163f V.E...... ......ID 0,0-1080,2298} of ViewRootImpl@49dc4c5[MainActivity]
D/SurfaceView@cdf163f(15725): updateSurface: surface is not valid
I/SurfaceView@cdf163f(15725): releaseSurfaces: viewRoot = ViewRootImpl@49dc4c5[MainActivity]
I/BufferQueueProducer(15725): [](id:3d6d00000002,api:0,p:-1532737875,c:15725) setDequeueTimeout:2077252342
I/BLASTBufferQueue_Java(15725): new BLASTBufferQueue, mName= ViewRootImpl@49dc4c5[MainActivity] mNativeObject= 0xb40000738d4a3c00 sc.mNativeObject= 0xb40000738d36e780 caller= android.view.ViewRootImpl.updateBlastSurfaceIfNeeded:3085 android.view.ViewRootImpl.relayoutWindow:10224 android.view.ViewRootImpl.performTraversals:4167 android.view.ViewRootImpl.doTraversal:3345 android.view.ViewRootImpl$TraversalRunnable.run:11437 android.view.Choreographer$CallbackRecord.run:1690 android.view.Choreographer$CallbackRecord.run:1699 android.view.Choreographer.doCallbacks:1154 android.view.Choreographer.doFrame:1080 android.view.Choreographer$FrameDisplayEventReceiver.run:1647 
I/BLASTBufferQueue_Java(15725): update, w= 1080 h= 2340 mName = ViewRootImpl@49dc4c5[MainActivity] mNativeObject= 0xb40000738d4a3c00 sc.mNativeObject= 0xb40000738d36e780 format= -3 caller= android.graphics.BLASTBufferQueue.<init>:89 android.view.ViewRootImpl.updateBlastSurfaceIfNeeded:3085 android.view.ViewRootImpl.relayoutWindow:10224 android.view.ViewRootImpl.performTraversals:4167 android.view.ViewRootImpl.doTraversal:3345 android.view.ViewRootImpl$TraversalRunnable.run:11437 
I/ViewRootImpl@49dc4c5[MainActivity](15725): Relayout returned: old=(0,0,1080,2340) new=(0,0,1080,2340) relayoutAsync=false req=(1080,2340)0 dur=6 res=0x403 s={true 0xb40000738d557000} ch=true seqId=0
I/AdrenoGLES-0(15725): QUALCOMM build                   : 7b26bdd942, Iab69c31769
I/AdrenoGLES-0(15725): Build Date                       : 08/28/23
I/AdrenoGLES-0(15725): OpenGL ES Shader Compiler Version: E031.41.03.44
I/AdrenoGLES-0(15725): Local Branch                     : 
I/AdrenoGLES-0(15725): Remote Branch                    : refs/tags/AU_LINUX_ANDROID_LA.VENDOR.13.2.0.11.00.00.855.659
I/AdrenoGLES-0(15725): Remote Branch                    : NONE
I/AdrenoGLES-0(15725): Reconstruct Branch               : NOTHING
I/AdrenoGLES-0(15725): Build Config                     : S P 14.1.4 AArch64
I/AdrenoGLES-0(15725): Driver Path                      : /vendor/lib64/egl/libGLESv2_adreno.so
I/AdrenoGLES-0(15725): Driver Version                   : 0676.42
D/ViewRootImpl@49dc4c5[MainActivity](15725): mThreadedRenderer.initialize() mSurface={isValid=true 0xb40000738d557000} hwInitialized=true
I/SurfaceView@cdf163f(15725): windowStopped(false) true io.flutter.embedding.android.FlutterSurfaceView{cdf163f V.E...... ......ID 0,0-1080,2298} of ViewRootImpl@49dc4c5[MainActivity]
I/SurfaceView(15725): 215946815 Changes: creating=true format=false size=false visible=true alpha=false hint=false visible=true left=false top=false z=false attached=true lifecycleStrategy=false
I/BufferQueueProducer(15725): [](id:3d6d00000003,api:0,p:0,c:15725) setDequeueTimeout:2077252342
I/BLASTBufferQueue_Java(15725): update, w= 1080 h= 2298 mName = null mNativeObject= 0xb40000738d4a3f00 sc.mNativeObject= 0xb40000738d370c40 format= 4 caller= android.view.SurfaceView.createBlastSurfaceControls:1518 android.view.SurfaceView.updateSurface:1194 android.view.SurfaceView.setWindowStopped:403 android.view.SurfaceView.surfaceCreated:1995 android.view.ViewRootImpl.notifySurfaceCreated:3002 android.view.ViewRootImpl.performTraversals:4643 
I/SurfaceView@cdf163f(15725): 215946815 Cur surface: Surface(name=null)/@0xe87c85d
I/SurfaceView@cdf163f(15725): pST: sr = Rect(0, 0 - 1080, 2298) sw = 1080 sh = 2298
D/SurfaceView@cdf163f(15725): 215946815 performSurfaceTransaction RenderWorker position = [0, 0, 1080, 2298] surfaceSize = 1080x2298
I/SurfaceView@cdf163f(15725): updateSurface: mVisible = true mSurface.isValid() = true
I/SurfaceView@cdf163f(15725): updateSurface: mSurfaceCreated = false surfaceChanged = true visibleChanged = true
I/SurfaceView(15725): 215946815 visibleChanged -- surfaceCreated
I/SurfaceView@cdf163f(15725): surfaceCreated 1 #1 io.flutter.embedding.android.FlutterSurfaceView{cdf163f V.E...... ......ID 0,0-1080,2298}
I/AdrenoGLES-0(15725): PFP: 0x01740158, ME: 0x00000000
E/qdgralloc(15725): GetSize: Unrecognized pixel format: 0x3b
W/qdgralloc(15725): gralloc failed to allocate buffer for size 0 format 59 AWxAH 1x1 usage 2816
E/Gralloc4(15725): isSupported(1, 1, 59, 1, ...) failed with 7
E/GraphicBufferAllocator(15725): Failed to allocate (4 x 4) layerCount 1 format 59 usage b00: 7
E/AHardwareBuffer(15725): GraphicBuffer(w=4, h=4, lc=1) failed (Unknown error -7), handle=0x0
E/qdgralloc(15725): GetSize: Unrecognized pixel format: 0x3b
W/qdgralloc(15725): gralloc failed to allocate buffer for size 0 format 59 AWxAH 1x1 usage 2816
E/Gralloc4(15725): isSupported(1, 1, 59, 1, ...) failed with 7
E/GraphicBufferAllocator(15725): Failed to allocate (4 x 4) layerCount 1 format 59 usage b00: 7
E/AHardwareBuffer(15725): GraphicBuffer(w=4, h=4, lc=1) failed (Unknown error -7), handle=0x0
W/qdgralloc(15725): getInterlacedFlag: getMetaData returned 3, defaulting to interlaced_flag = 0
W/Adreno-AppProfiles(15725): Could not find QSPM HAL service. Skipping adreno profile processing.
W/qdgralloc(15725): getInterlacedFlag: getMetaData returned 3, defaulting to interlaced_flag = 0
W/qdgralloc(15725): getInterlacedFlag: getMetaData returned 3, defaulting to interlaced_flag = 0
W/qdgralloc(15725): getInterlacedFlag: getMetaData returned 3, defaulting to interlaced_flag = 0
W/qdgralloc(15725): getInterlacedFlag: getMetaData returned 3, defaulting to interlaced_flag = 0
I/SurfaceView(15725): 215946815 surfaceChanged -- format=4 w=1080 h=2298
I/SurfaceView@cdf163f(15725): surfaceChanged (1080,2298) 1 #1 io.flutter.embedding.android.FlutterSurfaceView{cdf163f V.E...... ......ID 0,0-1080,2298}
I/SurfaceView(15725): 215946815 surfaceRedrawNeeded
I/SurfaceView(15725): 215946815 finishedDrawing
V/SurfaceView@cdf163f(15725): Layout: x=0 y=0 w=1080 h=2298, frame=Rect(0, 0 - 1080, 2298)
D/ViewRootImpl@49dc4c5[MainActivity](15725): reportNextDraw android.view.ViewRootImpl.performTraversals:4781 android.view.ViewRootImpl.doTraversal:3345 android.view.ViewRootImpl$TraversalRunnable.run:11437 android.view.Choreographer$CallbackRecord.run:1690 android.view.Choreographer$CallbackRecord.run:1699 
I/ViewRootImpl@49dc4c5[MainActivity](15725): Setup new sync=wmsSync-ViewRootImpl@49dc4c5[MainActivity]#5
I/ViewRootImpl@49dc4c5[MainActivity](15725): Creating new active sync group ViewRootImpl@49dc4c5[MainActivity]#6
I/SurfaceSyncGroup(15725): addLocalSync=ViewRootImpl@49dc4c5[MainActivity]#6 to name=wmsSync-ViewRootImpl@49dc4c5[MainActivity]#5, callers=android.window.SurfaceSyncGroup.add:431 android.window.SurfaceSyncGroup.add:392 android.window.SurfaceSyncGroup.add:340 android.view.ViewRootImpl.createSyncIfNeeded:4912 android.view.ViewRootImpl.performTraversals:4796 android.view.ViewRootImpl.doTraversal:3345 
I/ViewRootImpl@49dc4c5[MainActivity](15725): registerCallbacksForSync syncBuffer=false
D/SurfaceView(15725): 215946815 updateSurfacePosition RenderWorker, frameNr = 1, position = [0, 0, 1080, 2298] surfaceSize = 1080x2298
I/SurfaceView@cdf163f(15725): uSP: rtp = Rect(0, 0 - 1080, 2298) rtsw = 1080 rtsh = 2298
I/SurfaceView@cdf163f(15725): onSSPAndSRT: pl = 0 pt = 0 sx = 1.0 sy = 1.0
I/SurfaceView@cdf163f(15725): aOrMT: ViewRootImpl@49dc4c5[MainActivity] t = android.view.SurfaceControl$Transaction@c90483a fN = 1 android.view.SurfaceView.-$$Nest$mapplyOrMergeTransaction:0 android.view.SurfaceView$SurfaceViewPositionUpdateListener.positionChanged:1667 android.graphics.RenderNode$CompositePositionUpdateListener.positionChanged:369 
I/ViewRootImpl@49dc4c5[MainActivity](15725): mWNT: t=0xb4000073e2dcab00 mBlastBufferQueue=0xb40000738d4a3c00 fn= 1 mRenderHdrSdrRatio=1.0 caller= android.view.SurfaceView.applyOrMergeTransaction:1599 android.view.SurfaceView.-$$Nest$mapplyOrMergeTransaction:0 android.view.SurfaceView$SurfaceViewPositionUpdateListener.positionChanged:1667 
I/ViewRootImpl@49dc4c5[MainActivity](15725): Received frameDrawingCallback syncResult=0 frameNum=1.
I/ViewRootImpl@49dc4c5[MainActivity](15725): mWNT: t=0xb40000738d3f1900 mBlastBufferQueue=0xb40000738d4a3c00 fn= 1 mRenderHdrSdrRatio=1.0 caller= android.view.ViewRootImpl$8.onFrameDraw:13946 android.view.ThreadedRenderer$1.onFrameDraw:792 <bottom of call stack> 
I/ViewRootImpl@49dc4c5[MainActivity](15725): Setting up sync and frameCommitCallback
I/BLASTBufferQueue(15725): [ViewRootImpl@49dc4c5[MainActivity]#2](f:0,a:0,s:0) onFrameAvailable the first frame is available
I/ViewRootImpl@49dc4c5[MainActivity](15725): Received frameCommittedCallback lastAttemptedDrawFrameNum=1 didProduceBuffer=true
I/SurfaceSyncGroup(15725): onTransactionReady mName=wmsSync-ViewRootImpl@49dc4c5[MainActivity]#5 callback=26960741
I/ViewRootImpl@49dc4c5[MainActivity](15725): reportDrawFinished seqId=0
I/InsetsSourceConsumer(15725): applyRequestedVisibilityToControl: visible=true, type=navigationBars, host=com.example.test_web_auth_2/com.example.test_web_auth_2.MainActivity
I/InsetsSourceConsumer(15725): applyRequestedVisibilityToControl: visible=true, type=statusBars, host=com.example.test_web_auth_2/com.example.test_web_auth_2.MainActivity
I/ViewRootImpl@49dc4c5[MainActivity](15725): handleWindowFocusChanged: 1 0 call from android.view.ViewRootImpl.-$$Nest$mhandleWindowFocusChanged:0
D/ViewRootImpl@49dc4c5[MainActivity](15725): mThreadedRenderer.initializeIfNeeded()#2 mSurface={isValid=true 0xb40000738d557000}
D/InputMethodManagerUtils(15725): startInputInner - Id : 0
I/InputMethodManager(15725): startInputInner - IInputMethodManagerGlobalInvoker.startInputOrWindowGainedFocus
I/BLASTBufferQueue(15725): [SurfaceView[com.example.test_web_auth_2/com.example.test_web_auth_2.MainActivity]@0#3](f:0,a:0,s:0) onFrameAvailable the first frame is available
I/InsetsSourceConsumer(15725): applyRequestedVisibilityToControl: visible=false, type=ime, host=com.example.test_web_auth_2/com.example.test_web_auth_2.MainActivity
I/ViewRootImpl@49dc4c5[MainActivity](15725): Resizing android.view.ViewRootImpl@263d0e1: frame = [0,0][1080,2340] reportDraw = false forceLayout = false syncSeqId = -1
I/ViewRootImpl@49dc4c5[MainActivity](15725): handleResized, msg = 4 frames=ClientWindowFrames{frame=[0,0][1080,2340] display=[0,0][1080,2340] parentFrame=[0,0][0,0]} forceNextWindowRelayout=false displayId=0 dragResizing=false compatScale=1.0 frameChanged=false attachedFrameChanged=false configChanged=false displayChanged=false compatScaleChanged=false

Expected Behaviour

I would expect the browser window to close on itself.

Screenshots

No response

Additional context

No response

Device

Samsung S23

OS

Android 14

Browser

Firefox mobile

Flutter version

Channel stable, 3.29.1,

flutter_web_auth_2 version

flutter_web_auth_2: ^4.1.0

Checklist

  • I have read and followed the entire troubleshooting guide and it has not provided the solution I need.
  • I have provided all the information I can.

Metadata

Metadata

Assignees

Labels

bugSomething isn't working

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions