CategoryViewModel
AndroidViewModel that drives signal collection and exposes results as UiState.
Coordinates the CollectorRegistry under bounded concurrency/timeouts (CollectorRuntime), gates permissioned categories via PermissionCenter, observes LiveSignalCollector streams and serializes reports for export. All state mutations are applied on the main dispatcher.
Parameters
Application context backing collection and preferences.
See also
Properties
Functions
Refreshes a category after a permission decision, or marks it LoadState.Denied.
Serializes the current signal snapshot into a pretty-printed ExportReport JSON string.
Starts observing a live category's LiveSignalCollector stream, replacing any prior observation. No-op if the category has no live collector.
Collects a single category under a bounded timeout and publishes its result.
Collects all passive (no-permission) categories concurrently under the passive semaphore and publishes their results.
Cancels the current live-observation job, if any.