summaryrefslogtreecommitdiffhomepage
path: root/android/app
AgeCommit message (Collapse)AuthorFilesLines
2025-07-14Remove usage of backgroundDavid Göransson5-13/+3
2025-07-14Remove footer background colorDavid Göransson1-4/+1
2025-07-10Implement recents support in daemonKalle Lindström1-0/+2
2025-07-10Add e2e test for Google play purchasesDavid Göransson2-2/+10
2025-07-09Add runTest to missing testsDavid Göransson1-8/+9
2025-07-09Fix more flakinessDavid Göransson1-4/+7
2025-07-09Remove nullable paymentStateDavid Göransson3-13/+43
2025-07-09Fix test flakinessDavid Göransson2-3/+9
2025-07-04Restructure & redesign componentsDavid Göransson33-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-04Create new design system moduleDavid Göransson1-0/+1
2025-07-03Fix gradle kotlinOptions warningsDavid Göransson1-11/+11
2025-07-02Update fonts to be more inline with design and material designJonatan Rhodin67-204/+210
2025-07-01Fix failing unit tests in AddTimeViewModelTestJonatan Rhodin1-10/+8
2025-06-30Reset purchase state when closing the add time bottom sheetJonatan Rhodin3-35/+35
Also immediately update the expiry date after a successful purchase
2025-06-30Fix bottom bar bottom marginJonatan Rhodin2-6/+20
2025-06-30Enable alpha publishing of prod appAlbin1-0/+1
2025-06-24Enable support for creating a custom list with locationsJonatan Rhodin3-24/+8
2025-06-19Replace mocked lists with normal lists with mocked itemsJonatan Rhodin2-4/+4
2025-06-19Use AlarmManager for notificationsKalle Lindström22-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.
2025-06-18Enable opt-in to MTE async modeCameron Aaron1-0/+2
2025-06-16Sort split tunneling apps in the correct orderJonatan Rhodin2-2/+20
2025-06-16Remove google pay iconJonatan Rhodin1-18/+0
2025-06-09Update payment flow within the appJonatan Rhodin39-1904/+2226
Also add support for 3 months in-app purchases
2025-06-05Fix typosomahs1-1/+1
2025-06-04Fix connectivity manager util testsJonatan Rhodin1-2/+3
2025-06-03Listen for all network events to fix missing default network eventsJonatan Rhodin1-0/+3
2025-05-30Exclude common bean utilsJonatan Rhodin1-1/+10
2025-05-28Disable Firebase billing loggingKalle Lindström1-0/+9
2025-05-26Add BoringtunJoakim Hulthe1-2/+9
Co-authored-by: Joakim Hulthe <joakim.hulthe@mullvad.net> Co-authored-by: Sebastian Holmin <sebastian.holmin@mullvad.net> Co-authored-by: David Göransson <david.goransson@mullvad.net> Co-authored-by: Markus Pettersson <markus.pettersson@mullvad.net> Co-authored-by: David Lönnhager <david.l@mullvad.net>
2025-05-26Fix and update lint baselineDavid Göransson8-45/+42
2025-05-26Migrate remaining deps and versions to version catalogsDavid Göransson1-14/+13
2025-05-24Fix version code safeguardAlbin1-14/+0
Moving the version code safeguard in order to make it configuration cache compliant.
2025-05-21Unify usage of gradle propertiesDavid Göransson1-35/+9
This commit does multiple changes to how we work with properties. - Instead of relying on `e2e.properties` and `local.properties` only use the `gradle.properties` as per standard gradle. - Naming of properties are changed to have a coherent structure. - Allow for setting stagemole and prod account separately. - Consolidate all the default values into `gradle.properties`
2025-05-15Fix Device IP version header not clickableDavid Göransson1-0/+1
2025-05-15Fix another testJonatan Rhodin1-0/+1
2025-05-15Rework StatusLevelJonatan Rhodin1-1/+1
2025-05-15Fix test crashJonatan Rhodin1-0/+1
2025-05-15Fix fail & success icon sizeDavid Göransson8-121/+73
2025-05-15Replace auto connect top bar with medium top barJonatan Rhodin2-5/+25
2025-05-15Disable search icon when entry is blocked because of daitaJonatan Rhodin9-27/+52
2025-05-15Fix connection card paddingDavid Göransson1-7/+2
2025-05-15Fix screen height calculationDavid Göransson1-1/+4
2025-05-15Remove old buttonVerticalSpacingDavid Göransson4-5/+5
2025-05-15Use scaffold with small top bar in Filter ScreenJonatan Rhodin2-34/+10
2025-05-15Fix bottom marginDavid Göransson17-35/+32
2025-05-15Fix background color of rowsDavid Göransson8-17/+9
2025-05-15Fix backgound color of split tunneling cellDavid Göransson1-1/+1
2025-05-15Fix missing dividerDavid Göransson1-1/+1
2025-05-15Fix any ownership colorDavid Göransson1-0/+2
2025-05-15Fix change to small leading paddingDavid Göransson1-1/+1