<feed xmlns='http://www.w3.org/2005/Atom'>
<title>mullvadvpn/android/app/src/main/AndroidManifest.xml, branch decrease-leaks-during-reconnect</title>
<subtitle>The Mullvad VPN client app for desktop and mobile</subtitle>
<id>http://git.waynecole.info/mullvadvpn/atom?h=decrease-leaks-during-reconnect</id>
<link rel='self' href='http://git.waynecole.info/mullvadvpn/atom?h=decrease-leaks-during-reconnect'/>
<link rel='alternate' type='text/html' href='http://git.waynecole.info/mullvadvpn/'/>
<updated>2025-10-06T09:43:15Z</updated>
<entry>
<title>Warn users about android 16 upgrade issue</title>
<updated>2025-10-06T09:43:15Z</updated>
<author>
<name>David Göransson</name>
<email>david.goransson@mullvad.net</email>
</author>
<published>2025-10-02T09:27:53Z</published>
<link rel='alternate' type='text/html' href='http://git.waynecole.info/mullvadvpn/commit/?id=d229d24b508f97c24fcc0a4a2db4f845141fd931'/>
<id>urn:sha1:d229d24b508f97c24fcc0a4a2db4f845141fd931</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Improve the qucik setting tile</title>
<updated>2025-10-03T09:22:21Z</updated>
<author>
<name>Jonatan Rhodin</name>
<email>jonatan.rhodin@mullvad.net</email>
</author>
<published>2025-10-01T09:32:13Z</published>
<link rel='alternate' type='text/html' href='http://git.waynecole.info/mullvadvpn/commit/?id=58f306959c6e9c20095371bcfd677cc173ae7538'/>
<id>urn:sha1:58f306959c6e9c20095371bcfd677cc173ae7538</id>
<content type='text'>
- Set category as toggleable
- Set title as the app name when active to align more with
how other tiles look on newer versions of Android
</content>
</entry>
<entry>
<title>Remove autogenerated locale config due to crash</title>
<updated>2025-09-08T07:04:28Z</updated>
<author>
<name>Jonatan Rhodin</name>
<email>jonatan.rhodin@mullvad.net</email>
</author>
<published>2025-09-05T11:52:03Z</published>
<link rel='alternate' type='text/html' href='http://git.waynecole.info/mullvadvpn/commit/?id=12f0d9252cea2e6ba42150942a844106f3bdf497'/>
<id>urn:sha1:12f0d9252cea2e6ba42150942a844106f3bdf497</id>
<content type='text'>
Instead use a static file
</content>
</entry>
<entry>
<title>Use goAsync() api and remove TimeChangedReceiver</title>
<updated>2025-08-04T14:39:34Z</updated>
<author>
<name>Kalle Lindström</name>
<email>karl.lindstrom@mullvad.net</email>
</author>
<published>2025-08-04T14:08:14Z</published>
<link rel='alternate' type='text/html' href='http://git.waynecole.info/mullvadvpn/commit/?id=bd2077587a5409e01fcb889d89394c891a0fdd8d'/>
<id>urn:sha1:bd2077587a5409e01fcb889d89394c891a0fdd8d</id>
<content type='text'>
The TimeChangedReceiver was not actually needed because
AlarmManager.RTC uses a UTC timestamp that we convert the triggerAt
ZonedDateTime to. So the trigger time is scheduled in UTC+0 and will
thus trigger at the correct time redardless of time zone changes.
</content>
</entry>
<entry>
<title>Set max priority on the boot receiver</title>
<updated>2025-07-31T08:43:00Z</updated>
<author>
<name>Jonatan Rhodin</name>
<email>jonatan.rhodin@mullvad.net</email>
</author>
<published>2025-07-31T07:21:58Z</published>
<link rel='alternate' type='text/html' href='http://git.waynecole.info/mullvadvpn/commit/?id=35c89687a171e84c1f879ae92b3fb7d311140f8d'/>
<id>urn:sha1:35c89687a171e84c1f879ae92b3fb7d311140f8d</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Enable profileable tag in AndroidManifest.xml</title>
<updated>2025-07-31T06:27:48Z</updated>
<author>
<name>Kalle Lindström</name>
<email>karl.lindstrom@mullvad.net</email>
</author>
<published>2025-07-30T07:09:17Z</published>
<link rel='alternate' type='text/html' href='http://git.waynecole.info/mullvadvpn/commit/?id=41f8f04bb56447aab9be4581c26d37ce0d120a66'/>
<id>urn:sha1:41f8f04bb56447aab9be4581c26d37ce0d120a66</id>
<content type='text'>
We need to set this in order for a release build of the app to the
profileable.
</content>
</entry>
<entry>
<title>Use AlarmManager for notifications</title>
<updated>2025-06-19T07:36:26Z</updated>
<author>
<name>Kalle Lindström</name>
<email>karl.lindstrom@mullvad.net</email>
</author>
<published>2025-06-09T15:16:45Z</published>
<link rel='alternate' type='text/html' href='http://git.waynecole.info/mullvadvpn/commit/?id=cdc2c4d700cd41f37cf4b1607a0396019b1fbee5'/>
<id>urn:sha1:cdc2c4d700cd41f37cf4b1607a0396019b1fbee5</id>
<content type='text'>
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.
</content>
</entry>
<entry>
<title>Enable opt-in to MTE async mode</title>
<updated>2025-06-18T07:11:03Z</updated>
<author>
<name>Cameron Aaron</name>
<email>cameronaaron@pm.me</email>
</author>
<published>2025-06-18T07:11:03Z</published>
<link rel='alternate' type='text/html' href='http://git.waynecole.info/mullvadvpn/commit/?id=cc83376f992efb30d9d45b97cf12455dc7c50eb2'/>
<id>urn:sha1:cc83376f992efb30d9d45b97cf12455dc7c50eb2</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Disable Firebase billing logging</title>
<updated>2025-05-28T12:38:04Z</updated>
<author>
<name>Kalle Lindström</name>
<email>karl.lindstrom@mullvad.net</email>
</author>
<published>2025-05-26T09:40:35Z</published>
<link rel='alternate' type='text/html' href='http://git.waynecole.info/mullvadvpn/commit/?id=d43b880d36829523d1b6e9c6c07c660479fe2fde'/>
<id>urn:sha1:d43b880d36829523d1b6e9c6c07c660479fe2fde</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Ignore meta-data lint warnings</title>
<updated>2025-03-07T08:07:43Z</updated>
<author>
<name>David Göransson</name>
<email>david.goransson@mullvad.net</email>
</author>
<published>2025-03-01T11:59:57Z</published>
<link rel='alternate' type='text/html' href='http://git.waynecole.info/mullvadvpn/commit/?id=7de489bb2aebaca7226c570a7c772c91ad0fa252'/>
<id>urn:sha1:7de489bb2aebaca7226c570a7c772c91ad0fa252</id>
<content type='text'>
These are only required if we use passkeys or uses methods that make
use DAL (Digital Asset Links).
</content>
</entry>
</feed>
