| Age | Commit message (Collapse) | Author | Files | Lines |
|
|
|
Instead of scheduling system notifications from a flow we now
schedule them independently from the app lifecycle via AlarmManager.
This is done so that for example an expiry notification that the user
dismissed won't get redisplayed if the app process gets killed and
then restarted.
When the account exiry time is fetched we schedule an alarm that will
show a notification 3 days before the account time expires. This alarm
then also schedules a new alarm to show the following notification and
so on.
To make this work this PR also introduces two new broadcast receivers;
one on boot received listener and one on time time/timezone changed
listener.
Beause Android clears alarms when the devices is rebooted/the time is
changed we need these listeners to re-trigger the alarm.
To enable the broadcast receivers to re-trigger the alarm we also have
to persist the expiry time in the DataStore preferences.
|
|
|
|
Joda Time has been superseded by the Java 8 java.time package
which has more or less the same API. This commit removes all
usage of Joda Time and replaces it with the java.time classes.
This is done so that we can remove the dependency on Joda Time.
|
|
|
|
Co-authored-by: Jonatan Rhodin <jonatan.rhodin@mullvad.net>
|
|
|
|
|
|
|
|
This commit mostly adds trailing commas throughout the project,
but also includes a few other formatting changes.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Use variations of "account number" rather than
"account token" throughout the kotlin code base.
|
|
Co-authored-by: Jonatan Rhodin <jonatan.rhodin@mullvad.net>
Co-authored-by: Markus Pettersson <markus.pettersson@mullvad.net>
Co-authored-by: David Lönnhager <david.l@mullvad.net>
|