Isolate count of visible window from mirror of uid state

The onUidActive/onUidInactive are called from AMS. The timing of
invocation may be somewhat indeterministic with WM.

For example: (it should be extreme corner case)
A process was died and restarted to show a window, but the uid
inactive/active are a bit late to notify. That causes the count
to be cleared.

If the count of visible window is cleared, the caller will be
considered as a background caller and may be unable to start activity.

So this change makes the count only depend on the state of window.

Fix: 222252947
Test: WindowStateTests#testHasActiveVisibleWindow
Change-Id: I2ac3e0ac777145bcf74819be7ffedaec80acb556
2 files changed