Open bjorn3 opened 12 months ago
If the issue only occurs when the Bluetooth keyboard has a low battery charge, it may be a connection issue and not a bug on our end.
@bjorn3 please can you confirm that this issue does not occur when the Bluetooth keyboard has been charged?
It doesn't occur when the keyboard has been charged. Either way I don't expect Collabora Office to literally exit when there is a connection issue with the keyboard. Instead I did expect the virtual keyboard to disappear when the bluetooth keyboard gets connected and appear when it gets disconnected while staying in the document editor.
Also the exit to the initial screen happens about 2s after connecting. I believe the keyboard is still connected after those 2s.
Describe the Bug
A clear and concise description of what the bug is.
Steps to Reproduce
Or alternatively:
Expected Behavior
The keyboard can be used to edit text.
Actual Behavior
You get thrown back to the initial screen where you can select a document to open. It does still save it.
Screenshots
If applicable, add screenshots to help explain your problem.
Tablet
Additional Context
This problem occured when the Bluetooth keyboard had low battery charge causing connection to drop frequently. Now that it is charged a bit more the problem no longer occurs.
https://cs.android.com/android/platform/superproject/main/+/main:frameworks/base/services/core/java/com/android/server/wm/ActivityRecord.java;l=6536?q=APP_FREEZE_TIMEOUT seems to be related. It would at least explain why it happens after 2s rather than immediately.
Some log excerpts
``` 09-26 11:48:08.093 1379 1642 D BluetoothController: updateConnected = 2mConnectionState = 2 09-26 11:48:08.093 11738 11738 D InsetsController: onStateChanged: InsetsState: {mDisplayFrame=Rect(0, 0 - 1920, 1200), mDisplayCutout=DisplayCutout{insets=Rect(0, 0 - 0, 0) waterfall=Insets{left=0, top=0, right=0, bottom=0} boundingRect={Bounds=[Rect(0, 0 - 0, 0), Rect(0, 0 - 0, 0), Rect(0, 0 - 0, 0), Rect(0, 0 - 0, 0)]} cutoutPathParserInfo={CutoutPathParserInfo{displayWidth=0 displayHeight=0 physicalDisplayWidth=0 physicalDisplayHeight=0 density={0.0} cutoutSpec={} rotation={0} scale={0.0} physicalPixelDisplaySizeRatio={0.0}}}}, mRoundedCorners=RoundedCorners{[RoundedCorner{position=TopLeft, radius=20, center=Point(20, 20)}, RoundedCorner{position=TopRight, radius=20, center=Point(1900, 20)}, RoundedCorner{position=BottomRight, radius=20, center=Point(1900, 1180)}, RoundedCorner{position=BottomLeft, radius=20, center=Point(20, 1180)}]} mRoundedCornerFrame=Rect(0, 0 - 1920, 1200), mPrivacyIndicatorBounds=PrivacyIndicatorBounds {static bounds=Rect(1854, 0 - 1920, 36) rotation=1}, mSources= { InsetsSource: {mType=ITYPE_STATUS_BAR, mFrame=[0,0][1920,36], mVisible=true, mInsetsRoundedCornerFrame=false}, InsetsSource: {mType=ITYPE_LEFT_GESTURES, mFrame=[0,0][0,1200], mVisible=true, mInsetsRoundedCornerFrame=false}, InsetsSource: {mType=ITYPE_RIGHT_GESTURES, mFrame=[1920,0][1920,1200], mVisible=true, mInsetsRoundedCornerFrame=false}, InsetsSource: {mType=ITYPE_TOP_MANDATORY_GESTURES, mFrame=[0,0][1920,36], mVisible=true, mInsetsRoundedCornerFrame=false}, InsetsSource: {mType=ITYPE_BOTTOM_MANDATORY_GESTURES, mFrame=[0,1128][1920,1200], mVisible=true, mInsetsRoundedCornerFrame=false}, InsetsSource: {mType=ITYPE_TOP_TAPPABLE_ELEMENT, mFrame=[0,0][1920,36], mVisible=true, mInsetsRoundedCornerFrame=false}, InsetsSource: {mType=ITYPE_BOTTOM_TAPPABLE_ELEMENT, mFrame=[0,1128][1920,1200], mVisible=true, mInsetsRoundedCornerFrame=false}, InsetsSource: {mType=ITYPE_IME, mFrame=[0,639][1920,1200], mVisibleFrame=[0,639][1920,1200], mVisible=false, mInsetsRoundedCornerFrame=false}, InsetsSource: {mType=ITYPE_EXTRA_NAVIGATION_BAR, mFrame=[0,1128][1920,1200], mVisible=true, mInsetsRoundedCornerFrame=true} } host=com.collabora.libreoffice/org.libreoffice.androidlib.LOActivity from=android.view.ViewRootImpl$ViewRootHandler.handleMessageImpl:6740 09-26 11:48:08.094 11738 11738 I ViewRootImpl@7b34d7c[LOActivity]: handleResized, msg = 4 frames=ClientWindowFrames{frame=[0,0][1920,1200] display=[0,0][1920,1200] parentFrame=[0,0][0,0] parentClippedByDisplayCutout=false} forceNextWindowRelayout=false displayId=0 resizeMode=-1 frameChanged=false displayFrameChanged=false configChanged=false displayChanged=false 09-26 11:48:08.094 7754 7754 I BluetoothDevicePreference: onDeviceAttributesChanged :: Device = (N) Gecko Keyboard, isBonded = 12 , mIsOnProgressAddVI = false [...] 09-26 11:48:08.227 1046 1184 V WindowManager: Checking to restart org.libreoffice.androidlib.LOActivity: changed=0x70, handles=0x5a3, mLastReportedConfiguration={mGlobalConfig={1.1 ?mcc?mnc [nl_NL] ldltr sw800dp w1280dp h728dp 240dpi xlrg land finger qwerty/v/v dpad/v winConfig={ mBounds=Rect(0, 0 - 1920, 1200) mAppBounds=Rect(0, 0 - 1920, 1128) mMaxBounds=Rect(0, 0 - 1920, 1200) mDisplayRotation=ROTATION_90 mWindowingMode=fullscreen mDisplayWindowingMode=fullscreen mActivityType=undefined mAlwaysOnTop=undefined mRotation=ROTATION_90 mPopOver=off mStageConfig=undefined mFreeformTaskPinningState=unpinned mEmbedActivityMode=undefined mFreeformStashState=undefined} s.4526 fontWeightAdjustment=0 ff=0 bf=0 bts=0 themeSeq=0 nightDim=-1} mOverrideConfig={1.1 ?mcc?mnc [nl_NL] ldltr sw800dp w1280dp h728dp 240dpi xlrg land finger qwerty/v/v dpad/v winConfig={ mBounds=Rect(0, 0 - 1920, 1200) mAppBounds=Rect(0, 0 - 1920, 1128) mMaxBounds=Rect(0, 0 - 1920, 1200) mDisplayRotation=ROTATION_90 mWindowingMode=fullscreen mDisplayWindowingMode=fullscreen mActivityType=standard mAlwaysOnTop=undefined mRotation=ROTATION_90 mPopOver=off mStageConfig=undefined mFreeformTaskPinningState=unpinned mEmbedActivityMode=undefined mFreeformStashState=undefined} s.2 fontWeightAdjustment=0 ff=0 bf=0 bts=0 themeSeq=0 nightDim=-1}} 09-26 11:48:08.227 1046 1184 D WindowManager: startFreezingDisplayLocked: exitAnim=0 enterAnim=0 called by com.android.server.wm.WindowManagerService.startFreezingDisplay:6870 com.android.server.wm.ActivityRecord.startFreezingScreen:7331 com.android.server.wm.ActivityRecord.startFreezingScreen:7291 com.android.server.wm.ActivityRecord.startFreezingScreenLocked:7286 com.android.server.wm.ActivityRecord.startFreezingScreenLocked:7268 com.android.server.wm.ActivityRecord.ensureActivityConfiguration:10582 com.android.server.wm.ActivityRecord.ensureActivityConfiguration:10388 com.android.server.wm.ActivityTaskManagerService.ensureConfigAndVisibilityAfterUpdate:6293 [...] 09-26 11:48:08.253 1046 6215 V WindowManager: Relayout Window{7da02b3 u0 Taskbar}: viewVisibility=0 req=1920x1200 d0 09-26 11:48:08.254 11738 11738 D LOActivity: onPause() - hinting to save, we might need to return to the doc 09-26 11:48:08.254 3335 3335 I HBD : a [NRIC] resetNoResponseState 09-26 11:48:08.254 11738 11738 I ViewRootImpl@7b34d7c[LOActivity]: stopped(true) old = false 09-26 11:48:08.254 11738 11738 I ViewRootImpl@7b34d7c[LOActivity]: WindowStopped on com.collabora.libreoffice/org.libreoffice.androidlib.LOActivity set to true [...] 09-26 11:48:08.264 11738 11980 D coolwsd : INF Mobile-11980 2023-09-26 11:48:08.264279 +0200 [ docbroker_001 ] INF Removing session [001] on docKey [%2Fdata%2Fuser%2F0%2Fcom.collabora.libreoffice%2Fcache%2FLibreOffice1715754063635789402.tmp]. Have 1 sessions (1 active). IsLive: true, IsReadOnly: false, IsAllowChangeComments: true, IsEditable: true, Unloading: false, MarkToDestroy: false, LastEditableSession: true, DontSaveIfUnmodified: true, IsPossiblyModified: false| home/collabora/jenkins/workspace/package_android_release/wsd/DocumentBroker.cpp:2670 09-26 11:48:08.265 11738 11976 D LOActivity: postMobileMessage: LIGHT_SCREEN [...] 09-26 11:48:08.617 11738 11981 D LOActivity: postMobileMessage: SAVE { "commandName": ".uno:Save", "success": true, "result": { "type": "boolean"}, "wasModified": false, "startUnixTimeMics": 32159649098, "saveDurationMics": 362490} 09-26 11:48:08.619 1046 2838 I ActivityManager: Changes in 10057 19 to 3, 0 to 8 09-26 11:48:08.627 11738 12041 I LOActivity: Success copying 23478 bytes from /data/user/0/com.collabora.libreoffice/cache/LibreOffice1715754063635789402.tmp to content://com.android.externalstorage.documents/