| Age | Commit message (Collapse) | Author | Files | Lines | |
|---|---|---|---|---|---|
| 2025-08-15 | Replace call to deprecated function | Jonatan Rhodin | 1 | -8/+1 | |
| 2025-08-15 | Improve compose stack trace | Jonatan Rhodin | 1 | -0/+6 | |
| 2025-08-15 | Fix lint issues | Jonatan Rhodin | 2 | -3/+5 | |
| 2025-08-12 | Move expiry notification handling to application | Kalle Lindström | 3 | -30/+49 | |
| 2025-08-11 | Add tests to ensure expected behavior in the payment flow | Jonatan Rhodin | 1 | -0/+56 | |
| 2025-08-08 | Fix issue with with the select location list navigation | Jonatan Rhodin | 1 | -1/+2 | |
| 2025-08-08 | Clear account expiry datastore pref on logout | Kalle Lindström | 2 | -2/+13 | |
| 2025-08-08 | Replace select hop code with use cases | Jonatan Rhodin | 34 | -306/+689 | |
| Also split the select hop code into select hop and modify multihop Refactor relay list type | |||||
| 2025-08-05 | Use HorizontalPager on TV devices in select location | David Göransson | 6 | -60/+117 | |
| Also allow for using swipe to switch between enter and exit lists | |||||
| 2025-08-05 | Fix test flakiness by adding missing TestCoroutineRule | Jonatan Rhodin | 3 | -9/+6 | |
| 2025-08-04 | Use goAsync() api and remove TimeChangedReceiver | Kalle Lindström | 5 | -59/+6 | |
| 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. | |||||
| 2025-08-04 | Attempt to fix potential ANR | Kalle Lindström | 2 | -3/+27 | |
| In onReceive in NotificationAlarmReceiver onBlocking() was used which could potentially take too much time and cause an ANR. This PR changes the onBlocking() call to instead use the goAsync() API so that the onReceive method can return immediately. | |||||
| 2025-08-04 | Add additional logging on login failure | David Göransson | 2 | -3/+8 | |
| 2025-08-04 | Fix crash with DAITA and multihop recents | Kalle Lindström | 1 | -1/+5 | |
| 2025-08-01 | Fix new lint warnings | David Göransson | 25 | -129/+132 | |
| 2025-08-01 | Handle app icons with zero size | David Göransson | 2 | -8/+7 | |
| Co-authored-by: Jonatan Rhodin <jonatan.rhodin@mullvad.net> | |||||
| 2025-08-01 | Fix ktor parsing error | David Göransson | 1 | -2/+8 | |
| App module had transitive dependencies using a older version at runtime of serializationx. However, when compiling the test:e2e module a later version than 1.8.0 was used through ktor. This caused deserialization in runtime to go looking for a method that didn't exist. By putting an explicit version in the app module we make sure to use a version that is compatible with ktor. | |||||
| 2025-07-31 | Set max priority on the boot receiver | Jonatan Rhodin | 1 | -1/+1 | |
| 2025-07-31 | Support 16kb page size | David Göransson | 1 | -0/+7 | |
| 2025-07-31 | Enable profileable tag in AndroidManifest.xml | Kalle Lindström | 1 | -0/+4 | |
| We need to set this in order for a release build of the app to the profileable. | |||||
| 2025-07-30 | Migrate most settings screens to new Lc state format | Jonatan Rhodin | 49 | -932/+1267 | |
| 2025-07-29 | Add release-debuginfo config and Cargo profile | Kalle Lindström | 1 | -6/+17 | |
| When doing performance profiling we want to used the optimized Rust artifacts but we also want to keep the debug symbols. | |||||
| 2025-07-28 | Add named arg detekt test | Kalle Lindström | 33 | -108/+282 | |
| Adds a custom detekt rule that checks that all Screen and Dialog composables are called with only named arguments. | |||||
| 2025-07-24 | Update Android native debug instructions | Kalle Lindström | 1 | -1/+4 | |
| 2025-07-23 | Enable long press context menu for recents | Kalle Lindström | 1 | -3/+19 | |
| 2025-07-23 | Update tests on Android | David Lönnhager | 2 | -0/+4 | |
| 2025-07-23 | Update to new protobuf protocol | David Göransson | 1 | -12/+5 | |
| 2025-07-23 | Support new features message on Android | David Göransson | 1 | -1/+1 | |
| 2025-07-22 | Implement select location recents ui | Kalle Lindström | 25 | -144/+791 | |
| 2025-07-18 | Fix keyboard not showing on search | David Göransson | 1 | -1/+1 | |
| 2025-07-17 | Fix focus on notification close | David Göransson | 2 | -0/+5 | |
| 2025-07-14 | Remove usage of background | David Göransson | 5 | -13/+3 | |
| 2025-07-14 | Remove footer background color | David Göransson | 1 | -4/+1 | |
| 2025-07-10 | Implement recents support in daemon | Kalle Lindström | 1 | -0/+2 | |
| 2025-07-10 | Add e2e test for Google play purchases | David Göransson | 2 | -2/+10 | |
| 2025-07-09 | Add runTest to missing tests | David Göransson | 1 | -8/+9 | |
| 2025-07-09 | Fix more flakiness | David Göransson | 1 | -4/+7 | |
| 2025-07-09 | Remove nullable paymentState | David Göransson | 3 | -13/+43 | |
| 2025-07-09 | Fix test flakiness | David Göransson | 2 | -3/+9 | |
| 2025-07-04 | Restructure & redesign components | David Göransson | 33 | -1082/+386 | |
| - Change to new look and feel of list items - Add support for clicking inactive relays, with info message if relay, country or custom list is unavailable. | |||||
| 2025-07-04 | Create new design system module | David Göransson | 1 | -0/+1 | |
| 2025-07-03 | Fix gradle kotlinOptions warnings | David Göransson | 1 | -11/+11 | |
| 2025-07-02 | Update fonts to be more inline with design and material design | Jonatan Rhodin | 67 | -204/+210 | |
| 2025-07-01 | Fix failing unit tests in AddTimeViewModelTest | Jonatan Rhodin | 1 | -10/+8 | |
| 2025-06-30 | Reset purchase state when closing the add time bottom sheet | Jonatan Rhodin | 3 | -35/+35 | |
| Also immediately update the expiry date after a successful purchase | |||||
| 2025-06-30 | Fix bottom bar bottom margin | Jonatan Rhodin | 2 | -6/+20 | |
| 2025-06-30 | Enable alpha publishing of prod app | Albin | 1 | -0/+1 | |
| 2025-06-24 | Enable support for creating a custom list with locations | Jonatan Rhodin | 3 | -24/+8 | |
| 2025-06-19 | Replace mocked lists with normal lists with mocked items | Jonatan Rhodin | 2 | -4/+4 | |
| 2025-06-19 | Use AlarmManager for notifications | Kalle Lindström | 22 | -276/+431 | |
| 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. | |||||
