Added VISIBLE_FOR_USER flag for policy visibility

Modified mPolicyVisibility so its not longer a boolean but a bitwise-or
of flags to determine policy visibility. This allows separating each visibility
policy into its own flag to ensure they don't overwrite each other. When
checking visibility, it will check that all the bits are set.

To fix the issue with switching users, added a flag VISIBLE_FOR_USER.
When calling switchUser, VISIBLE_FOR_USER will get added or removed from
mPolicyVisibility bitwise variable.

Fixes: 130700429
Test: Switch user works correctly
Test: WindowStateTests
Test: WindowStateTests#testVisibilityChangeSwitchUser

Change-Id: Ic23205eb103e2b434f4e3f274696ae1606f0c474
7 files changed