Fix that the empty shade view would be visible sometimes

Refactored the state to be more clear and make sure the end runnable is always called.

Fixes: 78861878
Test: have no notification, hide view by scrolling up, get notification, observe
Change-Id: I51b00696f4b2dba565a0213c24a5a67a3c4099e0
8 files changed