A SQLite Room database + models for Activity and Action
An Activity represents use of the app, either by clicking a phone number, an sms or mms link, sharing a contact file or selected text with the app, or manual text input
An Action represents use of one of the "Launch messenger app" buttons, like WhatsApp, Signal and Telegram at the moment.
An Action is always associated with an Activity. Activity and Action have a 1:many relationship, in that you can launch the app by sharing text with it, and then click the WhatsApp button followed by the Signal button.
Utils to manage coroutine dispatchers and execution.
The logging of Activities and Actions.
Note that there are no visible changes as part of this change - this just sets up data collection into the private, offline database. A subsequent PR will introduce the GUI (and possibly a setting to turn off usage history, if there's interest in that).
This adds
Note that there are no visible changes as part of this change - this just sets up data collection into the private, offline database. A subsequent PR will introduce the GUI (and possibly a setting to turn off usage history, if there's interest in that).