Preserve shade state on fold/unfold.

Prevents the shade from closing when the device folds/unfolds.
When the device folds/unfolds there is a screen off event, which
causes the shade to be closed.

The solution here is to listen for device state changes, and when
we detect that a fold change is happening, we indicate that the
shade should stay open.

Test: Unit tests + manually on device
Bug: 197187018
Fixes: 197187018

Change-Id: Ief5e774161a22cf6fa63e9fb69a06ad6448fcf7a
7 files changed