I am developing an application that utilizes Family Controls to restrict the use of certain apps. Currently, I am using the following extensions: DeviceActivityMonitor, ShieldConfiguration, and ShieldAction.
Issue Overview: While blocking a single application functions correctly, a problem arises when implementing multiple functionalities that use these extensions for the same application.
STEPS TO REPRODUCE
- Functionality 1: Maximum Time in App
Description: Blocks the app after 15 minutes of continuous use.
- Functionality 2: Conscious Opening
Description: Upon opening the app, it is blocked for 10 seconds and then automatically unlocked.
Steps to Reproduce the Bug:
- Open the Application:
The app opens normally.
- Trigger Functionality 2
The app is blocked and displays the blocking screen corresponding to Functionality 2: Conscious Opening.
- Continue Using the App
After 10 seconds, the app unlocks, and I continue using it. Important: If the app is closed at this point, the bug does not occur.
- Trigger Functionality 1 After 15 Minutes
After 15 minutes of continuous use, the app should block according to Functionality 1: Maximum Time in App. Expected Behavior: The blocking screen for Functionality 1 is displayed. Actual Behavior: The blocking screen for Functionality 2 is displayed instead.
Technical Observations:
- By adding logs in ShieldConfiguration, I observed that the configuration does not refresh correctly when the app is blocked a second time while still in use.
- If the app is closed and reopened, the correct blocking screen for Functionality 1 is displayed as expected.