Hi,
I’m using FamilyControls + DeviceActivity. Users select apps/categories/web domains via FamilyActivitySelection. I need to show today’s total usage for that selected group only, not the device’s full Screen Time.
Setup:
- A visible DeviceActivityReport shows today’s per-app list with a daily DeviceActivityFilter for the selected tokens.
- This visible list is usually accurate and updates quickly.
- A separate hidden DeviceActivityReport uses the same filter to compute an aggregate total by summing app.totalActivityDuration in makeConfiguration(representing:).
- The extension sends that total to the main app via notify_set_state + Darwin notification.
- DeviceActivityMonitor is only used as a fallback.
Problem: The visible app list stays current, but the aggregate total for the same selected apps sometimes lags by several minutes or updates only after new selected-app usage occurs. Sometimes the total appears temporarily frozen while the app list still looks correct.
Questions:
- Is a hidden DeviceActivityReport a supported way to compute a selected-app aggregate total?
- Is makeConfiguration expected to run often enough for a near-live total?
- Why would the visible per-app report update while a hidden report with the same filter does not?
- What is the recommended architecture for a reliable, non-inflated today total for selected apps only?
Thanks!