A reporter of keyed app states to enable communication between an app and an EMM (enterprise
mobility management).
For production, create an instance using create(Context).
For testing see the FakeKeyedAppStatesReporter class in
the enterprise-feedback-testing artifact.

setStates

Set app states to be sent to an EMM (enterprise mobility management). The EMM can then
display this information to the management organization.

Do not send personally-identifiable information with this method.

Each provided keyed app state will replace any previously set keyed app states with the
same key for this package name.

If multiple keyed app states are set with the same key, only one will be received by the
EMM. Which will be received is not defined.

This information is sent immediately to all device owner and profile owner apps on the
device. It is also sent immediately to the app with package name com.android.vending if it
exists, which is the Play Store on GMS devices.

EMMs can access these states either directly in a custom DPC (device policy manager), via
Android Management APIs, or via Play EMM APIs.