summaryrefslogtreecommitdiffhomepage
path: root/android/app
AgeCommit message (Collapse)AuthorFilesLines
2025-09-12Add better support for variant filtersDavid Göransson1-22/+2
2025-09-12Update baseline prof fileJonatan Rhodin1-342/+7279
2025-09-11Fix screen animation not working from settingsDavid Göransson1-4/+6
2025-09-11Decrease the amount of kept classes in proguardJonatan Rhodin1-5/+11
2025-09-11Move ApiEndpointOverride to its own bean in app moduleJonatan Rhodin2-2/+10
2025-09-11Use androidContext instead of get() for MullvadProblemReportJonatan Rhodin1-1/+7
2025-09-10Add inital baseline profile generationKalle Lindström2-5/+20353
To improve startup performance this PR adds a baseline profile generation module in test/baselineprofile. The baseline profile plugin requires Junit4 so that is also added as a dependency. A baseline-prof.txt was also generated by running `./gradlew generatePlayProdReleaseBaselineProfile` and checked in. The tests that generate the baselineprofile currently only start the app and accepts the privacy policy. This should be improved later on to improve the startup performance.
2025-09-09Do not block exit relays when daita is enabledJonatan Rhodin7-9/+94
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-09Fix issue with select location if settings is null at initJonatan Rhodin1-17/+21
2025-09-08Remove autogenerated locale config due to crashJonatan Rhodin2-2/+7
Instead use a static file
2025-09-04Fix select location not workingDavid Göransson1-18/+11
If a user upgraded from 2022.2 (where multihop entry was Any by default in settings) select location would be broken because it was unable to and when multihop was enabled and the entry was set as Any.
2025-09-03Add connection test for QUICDavid Göransson2-1/+6
2025-09-03Add UI support for QUIC settingJonatan Rhodin28-181/+410
2025-08-28Use rust-android-gradle plugin as submoduleKalle Lindström1-26/+13
2025-08-22Improve connect on start up informationJonatan Rhodin6-23/+85
2025-08-18Disable flaky testsJonatan Rhodin2-0/+4
2025-08-15Replace call to deprecated functionJonatan Rhodin1-8/+1
2025-08-15Improve compose stack traceJonatan Rhodin1-0/+6
2025-08-15Fix lint issuesJonatan Rhodin2-3/+5
2025-08-12Move expiry notification handling to applicationKalle Lindström3-30/+49
2025-08-11Add tests to ensure expected behavior in the payment flowJonatan Rhodin1-0/+56
2025-08-08Fix issue with with the select location list navigationJonatan Rhodin1-1/+2
2025-08-08Clear account expiry datastore pref on logoutKalle Lindström2-2/+13
2025-08-08Replace select hop code with use casesJonatan Rhodin34-306/+689
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öransson6-60/+117
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-04Use goAsync() api and remove TimeChangedReceiverKalle Lindström5-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-04Attempt to fix potential ANRKalle Lindström2-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-04Add additional logging on login failureDavid Göransson2-3/+8
2025-08-04Fix crash with DAITA and multihop recentsKalle Lindström1-1/+5
2025-08-01Fix new lint warningsDavid Göransson25-129/+132
2025-08-01Handle app icons with zero sizeDavid Göransson2-8/+7
Co-authored-by: Jonatan Rhodin <jonatan.rhodin@mullvad.net>
2025-08-01Fix ktor parsing errorDavid Göransson1-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-31Set max priority on the boot receiverJonatan Rhodin1-1/+1
2025-07-31Support 16kb page sizeDavid Göransson1-0/+7
2025-07-31Enable profileable tag in AndroidManifest.xmlKalle Lindström1-0/+4
We need to set this in order for a release build of the app to the profileable.
2025-07-30Migrate most settings screens to new Lc state formatJonatan Rhodin49-932/+1267
2025-07-29Add release-debuginfo config and Cargo profileKalle Lindström1-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-28Add named arg detekt testKalle Lindström33-108/+282
Adds a custom detekt rule that checks that all Screen and Dialog composables are called with only named arguments.
2025-07-24Update Android native debug instructionsKalle Lindström1-1/+4
2025-07-23Enable long press context menu for recentsKalle Lindström1-3/+19
2025-07-23Update tests on AndroidDavid Lönnhager2-0/+4
2025-07-23Update to new protobuf protocolDavid Göransson1-12/+5
2025-07-23Support new features message on AndroidDavid Göransson1-1/+1
2025-07-22Implement select location recents uiKalle Lindström25-144/+791
2025-07-18Fix keyboard not showing on searchDavid Göransson1-1/+1
2025-07-17Fix focus on notification closeDavid Göransson2-0/+5
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