Comment 12 for bug 1500633

Revision history for this message
Matthew Exon (ubuntubugs-mexon) wrote :

Sorry to write so much about this: this bug has literally cost me that much time. Here's me trying to boil down the logic to point form:

1. The UI can be in one of two states: A or B
2. The accelerometer can be in an infinite number of states, some combination of acceleration in three dimensions
3. There is a thing called "System X" which tries to determine the user's current desired orientation from the accelerometer
4. System X's output can be one of three states: A, B or UNKNOWN (i.e. flat)
5. Apps (lock screen counts as an app) can support being in state A, or state B, or both
6. The shell has to be in the same state as the current app
7. If the current app only supports one state, ignore System X and switch UI to that state
8. If the current app supports both states, and System X indicates A or B, switch UI to that state
9. But if System X indicates UNKNOWN, do not switch

Bonus point:

10. Whenever the UI changes from A to B or vice versa, switch all background apps that support both states, not just the current app

This bug is basically saying the system hasn't implemented point 9. I guess that's because System X, whatever that is, currently only supports two states rather than three.