RingQ

by Grant Mumaugh

Version 1 (March 18, 2025)

Download (15 downloads)

(Ring Queue)

--Summary--
- A ring mode scheduler for your device. Tested on Samsung and Xiaomi devices.

--Roadmap--
- Fix bugs as they appear

--How to Use--
1.) Add an Automate unused quick settings tile to your notification bar, then start the flow.
2.) Tap the tile to start scheduling a ring mode. Choose a ring mode, date, and time. a.) When choosing a date, only the current or future dates will be accepted. b.) When choosing a time, only a future time (at least 1 min) will be accepted. It is much faster to keep the dedicated ring mode quick tile next to RingQ's to quickly toggle the ring mode.
3.) Once there is at least one entry in the queue, the quick tile state will become enabled. When the queue returns to empty, the tile returns to a disabled state. a.) All 3 processes (Add, view, edit) are available regardless of tile state.
4.) Press and hold the quick tile to view the entries currently present in the schedule, sorted by next scheduled time. Here, individual entries can be selected. Pressing OK will show another dialog asking if you want to just delete the entries, or edit them.
5.) Once a schedule time is triggered, the scheduled ring mode is set and the entry's data is removed from the flow.

--Revision History--
r1.0 - Initial working version that simply creates a fiber for each mode added to the schedule. This automatically handles sorting, editing might prove tricky.
r1.1 - Added invalid date/time error handling. A date is valid if it is today or any day in the future. A time is valid only if it is in the future. If a new ring mode entry is set to change at the current time, it does not work. (It's way faster to just hit the button anyway!)
r1.2b - Potential fix for invalid time on Time Await block. (Thanks u/Dummi26)
r1.3b - Added toast message to show user what was added to the schedule
r2.0b - Added very basic queue viewer/editor. Currently the editor can only remove an entry from the queue.
r2.1 - Fixed incorrect array access when deleting a queue entry. Fixed incorrect time conversion caused by not using UTC time zone.
r3.0a - Major overhaul of the scheduling process. Fully fledged schedule viewer and editor has been implemented. Batch entry mode has been added, user can choose how many entries to add when quick settings tile is pressed. Duplicate time entry check has been implemented. Much better handling of date time validation process.
r3.1 - Resolved an issue where, if a queue entry's scheduled time arrived while the user was interacting with the ringer mode, date, or time selection dialogs, the next attempt to add new queue entries would be skipped.
r3.2p1 - First public revision. Replaced sequential expression true blocks for conditional jumps when analyzing process or exit codes. Added more informative log messages. (Controlled by variable "onlyLogWhenEnabled")