Sometimes screen not switch to single mode when you close it to single screen on duo 1
sir86 opened this issue · 14 comments
Acknowledgements
- I have chosen an appropriate title.
- All requested information has been provided properly.
- This is not a feature request.
- This issue is not a duplicate of an existing issue.
- The issue is solely related to this GSI.
- This issue occurs with the latest available build.
- I am not running a custom vendor on my device.
- This issue is not kernel related.
- This issue is not related to Magisk/KernelSU/APatch.
Info
- Device:
- GSI version:
- Vendor version:
Expected Behavior
Screen should always switch to single mode when close it to single screen.
Current Behavior
Sometimes screen not switch to single mode when you close it to single screen on duo 1 and you see only half on the screen.
Possible Solution
No response
Steps to Reproduce
Logs
No response
Additional context
No response
The description is not clear to me. How to reproduce this issue?
when you open phone fully to look like tablet and use both screens for some time then back to single screen by moving one screen one the back to make it look like a phone, sometimes screen not switch to phone mode and u see half of tablet mode on the screen. its not happening very often. Maybe 3 times per day. Then you have to close phone fully and reopen and its fine again. i have this issue since i first installed this rom. I first installed [v2024.07.25 then i using OTA and its happening from time to time since then. I think its a posture issue. Very good work btw
This sometimes happens on Duo 2 as well, but it's not clear to me exactly why it does that, a little hard to reproduce consistently.
It could be an issue with the hall sensor of the particular units then.
It should be visible in the log,
run the following command and change the fold to reproduce the issue,
adb logcat | grep 'POSTURE PROCESSOR'
If it is not producing the output for the hinge angle or the hinge angle value is not changing, the sensor has an issue.
Here is a log with that issue. I notice if I quickly open from closed to one screen, it tends to work better, but opening to two screens first, then single screen tends to trigger the issue.
The posture seems to update with the change in hinge rapidly, so I do not think this is a sensor issue.
10-01 23:54:08.425 3379 3379 D POSTURE PROCESSOR: Processing posture Closed : R0
10-01 23:54:08.433 3379 3379 D POSTURE PROCESSOR: Setting display composition 2 new!
10-01 23:54:08.925 3379 3379 D POSTURE PROCESSOR: hall value: 1
10-01 23:54:08.929 3379 3379 D POSTURE PROCESSOR: Hall wake up. Register sensors
10-01 23:54:09.085 3379 3379 D POSTURE PROCESSOR: Setting hinge angle 0
10-01 23:54:09.218 3379 3379 D POSTURE PROCESSOR: Setting hinge angle 157
10-01 23:54:09.283 3379 3379 D POSTURE PROCESSOR: Got posture FlatDualP : R0
10-01 23:54:09.284 3379 3379 D POSTURE PROCESSOR: Updating posture because previous or new are closed
10-01 23:54:09.284 3379 3379 D POSTURE PROCESSOR: Loaded X: 1344 Y: 1892 HINGE: 66 OFFSET: 672
10-01 23:54:09.284 3379 3379 D POSTURE PROCESSOR: Processing posture FlatDualP : R0
10-01 23:54:09.303 3379 3379 D POSTURE PROCESSOR: Setting display composition 2 new!
10-01 23:54:09.317 3379 3379 D POSTURE PROCESSOR: Setting hinge angle 197
10-01 23:54:09.383 3379 3379 D POSTURE PROCESSOR: Got posture FlatDualL : R90
10-01 23:54:09.383 3379 3379 D POSTURE PROCESSOR: Loaded X: 1344 Y: 1892 HINGE: 66 OFFSET: 672
10-01 23:54:09.383 3379 3379 D POSTURE PROCESSOR: Processing posture FlatDualP : R0
10-01 23:54:09.390 3379 3379 D POSTURE PROCESSOR: Setting display composition 2 new!
10-01 23:54:09.396 3379 3379 D POSTURE PROCESSOR: Setting hinge angle 233
10-01 23:54:09.567 3379 3379 D POSTURE PROCESSOR: Setting hinge angle 259
10-01 23:54:09.613 3379 3379 D POSTURE PROCESSOR: Setting hinge angle 266
10-01 23:54:09.782 3379 3379 D POSTURE PROCESSOR: Got posture RampRight : R90
10-01 23:54:09.783 3379 3379 D POSTURE PROCESSOR: Loaded X: 1344 Y: 1892 HINGE: 66 OFFSET: 672
10-01 23:54:09.783 3379 3379 D POSTURE PROCESSOR: Processing posture FlatDualP : R0
10-01 23:54:09.790 3379 3379 D POSTURE PROCESSOR: Setting display composition 2 new!
10-01 23:54:09.793 3379 3379 D POSTURE PROCESSOR: Setting hinge angle 306
10-01 23:54:09.793 3379 3379 D POSTURE PROCESSOR: Setting hinge angle 322
10-01 23:54:09.983 3379 3379 D POSTURE PROCESSOR: Setting hinge angle 360
10-01 23:54:09.983 3379 3379 D POSTURE PROCESSOR: Got posture FlipLRight : R90
10-01 23:54:09.985 3379 3379 D POSTURE PROCESSOR: Loaded X: 1344 Y: 1892 HINGE: 66 OFFSET: 672
10-01 23:54:09.985 3379 3379 D POSTURE PROCESSOR: Processing posture FlatDualP : R0
10-01 23:54:09.991 3379 3379 D POSTURE PROCESSOR: Setting display composition 2 new!
10-01 23:54:16.387 3379 3379 D POSTURE PROCESSOR: Got posture FlipLRight : R270
10-01 23:54:16.389 3379 3379 D POSTURE PROCESSOR: Loaded X: 1344 Y: 1892 HINGE: 66 OFFSET: 672
10-01 23:54:16.389 3379 3379 D POSTURE PROCESSOR: Processing posture FlatDualP : R0
10-01 23:54:16.399 3379 3379 D POSTURE PROCESSOR: Setting display composition 2 new!
Particularly here, it seems to get stuck on one posture even though the hinge has changed angle
Seems like the PostureSensorListener is reporting the right posture, but the subsequent function processPosture
seems to revert back to the previous posture?
10-01 23:54:08.425 3379 3379 D POSTURE PROCESSOR: Processing posture Closed : R0 10-01 23:54:08.433 3379 3379 D POSTURE PROCESSOR: Setting display composition 2 new! 10-01 23:54:08.925 3379 3379 D POSTURE PROCESSOR: hall value: 1 10-01 23:54:08.929 3379 3379 D POSTURE PROCESSOR: Hall wake up. Register sensors 10-01 23:54:09.085 3379 3379 D POSTURE PROCESSOR: Setting hinge angle 0 10-01 23:54:09.218 3379 3379 D POSTURE PROCESSOR: Setting hinge angle 157 10-01 23:54:09.283 3379 3379 D POSTURE PROCESSOR: Got posture FlatDualP : R0 10-01 23:54:09.284 3379 3379 D POSTURE PROCESSOR: Updating posture because previous or new are closed 10-01 23:54:09.284 3379 3379 D POSTURE PROCESSOR: Loaded X: 1344 Y: 1892 HINGE: 66 OFFSET: 672 10-01 23:54:09.284 3379 3379 D POSTURE PROCESSOR: Processing posture FlatDualP : R0 10-01 23:54:09.303 3379 3379 D POSTURE PROCESSOR: Setting display composition 2 new! 10-01 23:54:09.317 3379 3379 D POSTURE PROCESSOR: Setting hinge angle 197 10-01 23:54:09.383 3379 3379 D POSTURE PROCESSOR: Got posture FlatDualL : R90 10-01 23:54:09.383 3379 3379 D POSTURE PROCESSOR: Loaded X: 1344 Y: 1892 HINGE: 66 OFFSET: 672 10-01 23:54:09.383 3379 3379 D POSTURE PROCESSOR: Processing posture FlatDualP : R0 10-01 23:54:09.390 3379 3379 D POSTURE PROCESSOR: Setting display composition 2 new! 10-01 23:54:09.396 3379 3379 D POSTURE PROCESSOR: Setting hinge angle 233 10-01 23:54:09.567 3379 3379 D POSTURE PROCESSOR: Setting hinge angle 259 10-01 23:54:09.613 3379 3379 D POSTURE PROCESSOR: Setting hinge angle 266 10-01 23:54:09.782 3379 3379 D POSTURE PROCESSOR: Got posture RampRight : R90 10-01 23:54:09.783 3379 3379 D POSTURE PROCESSOR: Loaded X: 1344 Y: 1892 HINGE: 66 OFFSET: 672 10-01 23:54:09.783 3379 3379 D POSTURE PROCESSOR: Processing posture FlatDualP : R0 10-01 23:54:09.790 3379 3379 D POSTURE PROCESSOR: Setting display composition 2 new! 10-01 23:54:09.793 3379 3379 D POSTURE PROCESSOR: Setting hinge angle 306 10-01 23:54:09.793 3379 3379 D POSTURE PROCESSOR: Setting hinge angle 322 10-01 23:54:09.983 3379 3379 D POSTURE PROCESSOR: Setting hinge angle 360 10-01 23:54:09.983 3379 3379 D POSTURE PROCESSOR: Got posture FlipLRight : R90 10-01 23:54:09.985 3379 3379 D POSTURE PROCESSOR: Loaded X: 1344 Y: 1892 HINGE: 66 OFFSET: 672 10-01 23:54:09.985 3379 3379 D POSTURE PROCESSOR: Processing posture FlatDualP : R0 10-01 23:54:09.991 3379 3379 D POSTURE PROCESSOR: Setting display composition 2 new! 10-01 23:54:16.387 3379 3379 D POSTURE PROCESSOR: Got posture FlipLRight : R270 10-01 23:54:16.389 3379 3379 D POSTURE PROCESSOR: Loaded X: 1344 Y: 1892 HINGE: 66 OFFSET: 672 10-01 23:54:16.389 3379 3379 D POSTURE PROCESSOR: Processing posture FlatDualP : R0 10-01 23:54:16.399 3379 3379 D POSTURE PROCESSOR: Setting display composition 2 new!
Particularly here, it seems to get stuck on one posture even though the hinge has changed angle
Mmmm interesting
It looks like the composition is not updated and stuck at 2
in this particular case.
composition 2
is for the tablet mode, it should be either 0
or 1
in the phone mode.
I wonder how this happened,
10-01 23:54:16.387 3379 3379 D POSTURE PROCESSOR: Got posture FlipLRight : R270
10-01 23:54:16.389 3379 3379 D POSTURE PROCESSOR: Loaded X: 1344 Y: 1892 HINGE: 66 OFFSET: 672
10-01 23:54:16.389 3379 3379 D POSTURE PROCESSOR: Processing posture FlatDualP : R0
It registers FlipLRight but processes FlatDualP.
Note: I think I found the issue, drafting a new release on this.
Could you guys please check the latest release and try to reproduce the issue?
I can't seem to replicate the issue anymore on the new release, seems to be fixed. If I encounter the bug I'll post an update here.
Great, thanks