New BroadcastReceiverAsUserFlow

Use callbackFlow to register / unregister receiver to prevent leak.
Before this change, if DisposableBroadcastReceiverAsUser() is removed
from compose before onStop(), leak may happens.

Bug: 308681068
Test: manual - on Settings All Apps, verify app change event collected
Test: unit tests
Change-Id: I73db37d01a0001a2abd1480b44302d61ddbfc695
5 files changed