summaryrefslogtreecommitdiffhomepage
path: root/android/lib
AgeCommit message (Collapse)AuthorFilesLines
2025-07-18Handle locations being not presentDavid Göransson1-6/+9
2025-07-17Fix non-selectable location being clickableDavid Göransson1-1/+4
This fix ensures that non-selectable entry or exit locations, due to already being selected in the other list, are unclickable.
2025-07-17Fix focus on notification closeDavid Göransson2-2/+22
2025-07-16Mark QUIC as not support on AndroidDavid Göransson1-0/+1
2025-07-15Support using system grpc pluginAlbin1-2/+15
This allows flexibility of plugin binary usage and thereby enables builds using systems such as nix.
2025-07-14Simplify RelayListItemDavid Göransson1-39/+1
2025-07-14Add workaround to increase contrastDavid Göransson1-4/+6
2025-07-14Adapt CheckableRelayListItem to new designDavid Göransson2-37/+19
2025-07-10Implement recents support in daemonKalle Lindström3-3/+41
2025-07-10Add e2e test for Google play purchasesDavid Göransson1-0/+3
2025-07-04Restructure & redesign componentsDavid Göransson34-46/+1240
- 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-04Create new design system moduleDavid Göransson3-1/+48
2025-07-03Remove reference to removed info button in new device notificationJonatan Rhodin20-20/+1
2025-07-03Fix gradle kotlinOptions warningsDavid Göransson15-45/+104
2025-07-02Update fonts to be more inline with design and material designJonatan Rhodin6-132/+25
2025-06-30Update translationsJonatan Rhodin19-70/+279
2025-06-24Enable support for creating a custom list with locationsJonatan Rhodin1-2/+11
2025-06-19Use AlarmManager for notificationsKalle Lindström5-7/+18
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.
2025-06-16Remove google pay iconJonatan Rhodin1-13/+0
2025-06-09Update payment flow within the appJonatan Rhodin27-134/+88
Also add support for 3 months in-app purchases
2025-06-05Fix typosomahs1-1/+1
2025-06-04Fix incorrectly showing time left when data n/aKalle Lindström1-14/+20
2025-06-04Fix connectivity manager util testsJonatan Rhodin1-2/+2
2025-06-03Listen for all network events to fix missing default network eventsJonatan Rhodin1-39/+113
2025-05-28Add `SuggestedUpgrade` gRPC mapper typeMarkus Pettersson1-1/+1
2025-05-27Update translationsJonatan Rhodin39-0/+306
2025-05-26Fix and update lint baselineDavid Göransson1-0/+2
2025-05-26Migrate remaining deps and versions to version catalogsDavid Göransson15-81/+77
2025-05-21Supply IP address when using API overrideDavid Göransson1-0/+1
Previously we did a DNS lookup for Stagemole and Devmole however, this causes problem when starting the app with no internet and is different from how the app performs in production mode. This commit removes that logic in order to align closer to what we expect in prod.
2025-05-15Rework StatusLevelJonatan Rhodin1-4/+4
2025-05-15Fix fail & success icon sizeDavid Göransson2-17/+20
2025-05-15Remove old buttonVerticalSpacingDavid Göransson1-1/+0
2025-05-15Fix bottom marginDavid Göransson2-4/+4
2025-05-15Fix notification blob colorsDavid Göransson3-8/+13
2025-05-15Fix notification blob none for blocking internetDavid Göransson3-2/+6
2025-05-15Decrease buttonSpacing to 8Jonatan Rhodin1-1/+1
2025-05-15Update big icon and large spinner sizeJonatan Rhodin1-2/+2
2025-05-13Show a specific error if selected port is not in the port rangeJonatan Rhodin5-7/+59
2025-05-13Remove the 2 character limit in search locationsJonatan Rhodin20-20/+0
Also fixes back behavior in custom list locations
2025-05-08Add QUIC obfuscation to mullvad daemon and management interfaceDavid Lönnhager1-0/+4
2025-05-07Fix test tag mismatchDavid Göransson1-2/+0
2025-05-07Fix TV incorrect focusKalle Lindström1-15/+6
2025-05-07Fix crash from focus requesterDavid Göransson1-9/+3
2025-05-07Fix warningsDavid Göransson1-1/+1
2025-05-06Fix go to vpn settings on TV devicesJonatan Rhodin2-4/+16
- Do not show the action on devices without vpn settings - Handle exceptions when starting vpn settings activity
2025-04-30Move all test tags to new lib.ui.tag moduleKalle Lindström6-12/+173
2025-04-22Implement manage devices screenKalle Lindström1-0/+5
2025-04-15Update translationsMarkus Pettersson19-0/+133
2025-04-11Add the ability to turn on trace logging for grpcJonatan Rhodin2-0/+71
2025-04-10Add support for DAITA: Multihop indicatorDavid Göransson2-1/+1