summaryrefslogtreecommitdiffhomepage
path: root/android/app
AgeCommit message (Collapse)AuthorFilesLines
2022-05-17Add Android login eventAlbin5-29/+45
2022-05-17Use separate event for Android account creationAlbin5-2/+53
2022-05-17Fix app stuck at launch if device revokedAlbin1-0/+9
This is an intermediate way of handling revoked devices until the proper screen has been merged.
2022-05-17Fix Android device state refreshAlbin2-13/+14
2022-05-12Adapt new device event/state to AndroidAlbin8-25/+31
2022-05-05Adapt Android naming to AccountAndDeviceAlbin3-8/+8
2022-05-05Hide private device type in `mullvad-daemon`David Lönnhager4-9/+9
2022-04-25Fix Android gradle release configAlbin1-0/+3
2022-04-20Fix/suppress dependency audit issuesAlbin2-2/+1
2022-04-20Add webview to enable e2e test verificationAlbin4-0/+59
The webview is added to the debug build type of the main app, but it's current purpose is only to enable verification as part of e2e tests. One example is to open the webview on the device while connected and verify the results of the Mullvad Connection Check.
2022-04-20Add login vm testsAlbin3-3/+226
2022-04-20Fix missing account number in welcome viewAlbin1-1/+7
2022-04-20Refactor login view to use a view modelAlbin3-114/+224
2022-04-20Show device name in account viewAlbin5-1/+34
2022-04-20Fix initial device refreshAlbin2-4/+6
2022-03-31Add update_device to Android interfaceDavid Lönnhager1-0/+3
2022-03-30Propagate device state over service connectionAlbin16-51/+206
Adds device state communication between the app and service with a repository backed by a data source to add abstraction layers on the app side. Limitations: * Expiration is not updated correctly. * The login/creation flow has not been fully adapted to devices.
2022-03-28Cleanup empty else branch of when-statementsAlbin1-12/+6
2022-03-28Cleanup unused functionAlbin1-4/+0
2022-03-28Cleanup unused constructorsAlbin11-77/+0
2022-03-28Format Kotlin according to official code styleAlbin43-128/+146
Android Studio and ktlint seem to agree on most styling except for imports. Some settings can be changed in Android Studio, however it seems to be hard to get lexicographical order (which ktlin wants). Therefore ktlint should be ran after any formatting has been applied by Android Studio (otherwise the CI workflow will complain).
2022-03-24Remove unused account creation url in AndroidAlbin1-2/+0
The URL is a left-over after implementing in-app account creation via the daemon.
2022-03-24Initial adaption of Android login to device flowAlbin4-46/+47
Adapts the Android app to use the device login/logout functionality. Limitations: * State will not always be correctly propagated to all components of the app (i.e. Settings). This will be fixed in later device commits. * Some temporary error messages will be used in the Login view. These will change in later commits and/or be replaced with new views (i.e. when a user has too many devices registered).
2022-03-23Bump Android dependenciesAlbin1-1/+4
2022-03-23Initial Android adaption of daemon device APIAlbin13-22/+152
Initial limited adaption of the daemon device changes. Makes it possible to launch, login and connect. However, there are some limitiations: * State is not properly handled thoughout the app. * The app itself doesn't expose any device functionality to the user. * The wireguard key actions are disabled (regenerate and verify). * Accounts are not remembered across app restart.
2022-03-14Ensure JNI directory exist during buildAlbin1-0/+11
Adds a Gradle task that checks whether the JNI directory used for Mullvad native libs exist. The task is set to run before the pre-build task.
2022-03-14Update Rust-end JNI and Android IPCDavid Lönnhager1-8/+6
2022-03-01Remove API address rotationDavid Lönnhager2-3/+0
2022-03-01Updating version in package filesAlbin1-2/+2
2022-02-24Update android stringsOskar Nyberg20-10/+29
2022-02-22Remove unused/dead code from Android tun providerDavid Lönnhager1-10/+0
2022-02-17Add Android memory leak detection build typeAlbin1-2/+9
Adds a new build type which can be used to identify memory leaks by using the Leak Canary dependency/tool.
2022-02-08Fix missing fdroid metadataAlbin15-40/+1
F-Droid requires the metadata to be present in a specific location which isn't compatible with our mono-repo structure, therefore this change moves the Gradle Play Publisher (GPP) directories to a location compatible with F-Droid and adds a symlink at the location GPP expects, which leads to the F-Droid location. The reason for doing it this way rather than symlinking the other way around is that we don't use GPP itself atm. Even if we start using it, it's still easier to make sure everything is working (in regards to the symlink) in the GPP build environment compared to the F-Droid build environment.
2022-02-04Fix tile service crashAlbin1-1/+6
Fixes tile service crash that occurred when the tile service tries to unbind even though there are no binding or pending binding.
2022-01-28Empty Google Play release notesAlbin1-1/+0
As releases usually are built from release branches, the current strategy will be to keep this file empty on master.
2022-01-27Fix app startup crash on Android TVsAlbin4-35/+7
The main activity and tv activity are both designed to be running as singleTask and the app would crash if both were started. This would not be common, but possible, on a phone or tablet, however this can potentially occur frequently on Android TV (perhaps depending on OEM), as both categories LAUNCHER and LEANBACK_LAUNCHER are used. E.g.the tv launcher would use LEANBACK_LAUNCHER whereas the settings app would use LAUNCHER. As the tv activity isn't used for any customization atm, this was fixed by simply removing the tv activity and adding the LEANBACK_LAUNCHER category to the main activity.
2022-01-24Specify default notification vibration behaviorAlbin3-3/+7
Default vibration behavior: * Vibration enabled for account expiration notification. * Vibration disabled for tunnel state notification. These defaults can be overridden in system settings.
2022-01-24Hide tunnel state notification from lock screenAlbin5-37/+8
The tunnel state notification is hidden from the lock screen by using the Android notification visibility mechanism.
2022-01-24Refactor to use NotificationChannelCompatAlbin1-10/+12
2022-01-24Cleanup notification when task removedAlbin2-0/+5
Remove the tunnel state notification if the task is removed (app swiped away from recent apps) while the tunnel is disconnected.
2022-01-24Skip updating notification when service is killedAlbin1-2/+0
Skip creating/updating the tunnel state notification when the vpn service is killed.
2022-01-20Fix auto-connect on app removed from recent appsAlbin2-1/+12
By default in Android, a service will be automatically killed if it belongs to a task that was removed (i.e. from recent apps) without a chance to run any cleanup logic. In this case, the lack of cleanup would lead to a crash and auto-restart (triggered by the system) resulting in a auto-connect. To fix this, a graceful stop will be ran if the task is removed while the tunnel is disconnected (service not running as foreground). However if the tunnel is in other states than disconnected (service running as foreground), the service should continue to run as it's bound by the system.
2022-01-10Fix Android website link buttonsAlbin5-1/+16
Fixes an issue with url buttons keeping an old reference to service dependent instances, even after the service connection is no longer available. The fix ensures that the reference is updated once there is a new service connection.
2022-01-10Extract Android dependencies to constantsAlbin1-47/+40
Extracts Android dependency names/versions/repos to Kotlin constants in source code. The purpose of this change is to minimize duplication, unify versions and prepare the project to be split into multiple sub-projects/modules.
2022-01-07Fix Android build asset inclusionAlbin1-4/+2
2022-01-07Fix gradle kotlin release buildAlbin1-2/+2
2022-01-05Migrade gradle scripts to kotlin/ktsAlbin1-51/+50
2022-01-05Apply gradle plugins declarativelyAlbin1-4/+6
2022-01-05Prepare gradle scripts for kotlin migrationAlbin1-66/+66
2022-01-04Fix invalid path in Android release buildAlbin1-1/+1
Fixes the invalid path to 'keystore.properties' introduced in the previous split of the android/root project and app module.