summaryrefslogtreecommitdiffhomepage
path: root/android/app/src/test/kotlin
AgeCommit message (Collapse)AuthorFilesLines
2025-11-03Update include account token in problem reportsJonatan Rhodin1-0/+1
- Move checkbox below message - Add warning about anonymity - Change from AccountToken to account-token in support message
2025-10-28Rename 'shared' to 'repository'Kalle Lindström16-26/+26
2025-10-23Fix failing test due to time zone changeKalle Lindström4-8/+8
2025-10-22Clear OOT notification on login/revoke screensKalle Lindström2-2/+42
There are cases when a user may get to the login or device revoked screens without their previously scheduled account expiry notification being cancelled. This can happen if for some reason the dameon has not sent the logged out/revoked event, for example if the account is logged out via the website while the app is not running. This PR cancels the notification when the user gets to the login or device revoked screens.
2025-10-15Enable the user to include their account token in problem reportsJonatan Rhodin1-5/+14
2025-10-14Improve login and create account error messagesJonatan Rhodin1-24/+66
- Add support for more types of login error messages - Add more detail to create account error message - Show info dialog when api is unreachable
2025-10-09Implement LWO on androidJonatan Rhodin1-0/+2
2025-10-06Warn users about android 16 upgrade issueDavid Göransson6-58/+59
2025-10-01Sort custom lists alphabeticallyJonatan Rhodin1-0/+36
2025-09-30Improve account data fetchingJonatan Rhodin2-3/+5
Add a new account data fetch every time a user enters the connect screen This is limited to at a maximum one fetch every minute. Add a check that the user is still logged in to the same account before updating the account data cache. Change account fetching behavior in the account screen to fetch on every enter instead of init.
2025-09-09Do not block exit relays when daita is enabledJonatan Rhodin2-0/+58
If a entry relay is selected it should be blocked in the exit list when daita is enabled and direct only is disabled. This is because the entry relay is automatically selected in these circumstances.
2025-09-03Add UI support for QUIC settingJonatan Rhodin4-56/+143
2025-08-11Add tests to ensure expected behavior in the payment flowJonatan Rhodin1-0/+56
2025-08-08Replace select hop code with use casesJonatan Rhodin5-57/+67
Also split the select hop code into select hop and modify multihop Refactor relay list type
2025-08-05Use HorizontalPager on TV devices in select locationDavid Göransson1-2/+2
Also allow for using swipe to switch between enter and exit lists
2025-08-05Fix test flakiness by adding missing TestCoroutineRuleJonatan Rhodin3-9/+6
2025-08-04Add additional logging on login failureDavid Göransson1-1/+1
2025-07-30Migrate most settings screens to new Lc state formatJonatan Rhodin8-81/+118
2025-07-23Update tests on AndroidDavid Lönnhager1-0/+2
2025-07-22Implement select location recents uiKalle Lindström3-8/+158
2025-07-10Implement recents support in daemonKalle Lindström1-0/+2
2025-07-09Add runTest to missing testsDavid Göransson1-8/+9
2025-07-09Fix more flakinessDavid Göransson1-4/+7
2025-07-09Fix test flakinessDavid Göransson1-1/+6
2025-07-04Restructure & redesign componentsDavid Göransson4-26/+30
- 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-01Fix failing unit tests in AddTimeViewModelTestJonatan Rhodin1-10/+8
2025-06-30Reset purchase state when closing the add time bottom sheetJonatan Rhodin1-17/+8
Also immediately update the expiry date after a successful purchase
2025-06-24Enable support for creating a custom list with locationsJonatan Rhodin1-7/+3
2025-06-19Replace mocked lists with normal lists with mocked itemsJonatan Rhodin2-4/+4
2025-06-19Use AlarmManager for notificationsKalle Lindström6-240/+31
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-16Sort split tunneling apps in the correct orderJonatan Rhodin1-0/+19
2025-06-09Update payment flow within the appJonatan Rhodin6-364/+275
Also add support for 3 months in-app purchases
2025-05-15Fix another testJonatan Rhodin1-0/+1
2025-05-15Fix test crashJonatan Rhodin1-0/+1
2025-05-15Disable search icon when entry is blocked because of daitaJonatan Rhodin1-0/+6
2025-05-13Show a specific error if selected port is not in the port rangeJonatan Rhodin1-6/+82
2025-05-13Remove the 2 character limit in search locationsJonatan Rhodin5-63/+65
Also fixes back behavior in custom list locations
2025-05-06Fix go to vpn settings on TV devicesJonatan Rhodin1-0/+35
- 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öm1-1/+1
2025-04-22Implement manage devices screenKalle Lindström2-0/+243
2025-04-17Fix testDavid Göransson1-1/+3
2025-04-11Add DeviceListViewModel testKalle Lindström1-0/+199
2025-04-10Add support for DAITA: Multihop indicatorDavid Göransson1-3/+1
2025-04-10Implement quick access to active featuresDavid Göransson5-28/+135
- Add Daita: Multihop feature indicator - Make feature indicators clickable - Add animations when accessing the features through the indicators - Rework VpnSettings in order to support navigating to a feature in the list
2025-04-01Set select location to always open on the exit tabJonatan Rhodin1-4/+0
2025-03-24Make it possible to disable IPv6 in the tunnelJonatan Rhodin1-0/+1
2025-03-19Improve TV connect screen UIKalle Lindström7-8/+8
- Implements the navigation rail design for Android TV - Implements the TV notification banner design - Adds two new Gradle modules: * tv: contains the Android TV specific Compose components (e.g. the NavigationDrawerTV component) * ui/compose: contains Compose-specific code that is needed by both the app module and the tv module.
2025-03-07Fix and add testsJonatan Rhodin4-1/+45
2025-02-26Remove Joda Time and use java.time package insteadKalle Lindström10-50/+64
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.
2025-02-25Reduce open_tun calls (Establish)David Göransson1-0/+3
Each call to Establish opens a window for leaks on android. By only invoking Establish if the VpnConfig if any of the input has changed and reusing it otherwise we avoid many of these leaks. This commit also waits for android to report back that the routes have been created to ping and verify connectivity to avoid pings going outside the tunnel.