summaryrefslogtreecommitdiffhomepage
path: root/android/lib
AgeCommit message (Collapse)AuthorFilesLines
2025-03-07Use the correct connect function to detect online statusJonatan Rhodin1-1/+1
2025-03-07Track IPv6 connectivity on AndroidDavid Lönnhager5-118/+160
Co-authored-by: Jonatan Rhoidn <jonatan.rhodin@mullvad.net> Co-authored-by: David Göransson <david.goransson@mullvad.net>
2025-03-07Update translationsJonatan Rhodin19-38/+38
2025-03-07Implement device ip version uiJonatan Rhodin1-0/+3
2025-03-07Add support for device ip setting in modelJonatan Rhodin5-0/+52
2025-03-07Offer to store accout number in password managerDavid Göransson1-1/+1
2025-03-07Update strings to fit with not detecting other always on appDavid Göransson20-20/+1
2025-03-07Add documentation about detecting always_on_vpn_appDavid Göransson3-30/+41
Only before Android 11 and on test builds (running from Android studio) it will report always-on vpn app.
2025-03-04Improve connectivity listener online detectionDavid Göransson3-89/+77
Fixes incorrect filter for networkEvents. Also adds debouncing to offline state when roaming to cellular from WiFi, this would otherwise cause a full reconnection.
2025-03-03Fix connectivity listenerDavid Göransson2-27/+72
Fixes an issue where another VPN app or user having unfortunate timing of turning on airplane mode and connecting at almost the same time would leave a lingering network cached in the scan. This fix will start with the all networks state and give the networkEvents flow 1 second to start up and emit the actual network state.
2025-02-27Update dimensions and fontsJonatan Rhodin2-3/+4
2025-02-26Fix spamming of connectivity changed eventsJonatan Rhodin1-0/+2
2025-02-26Remove Joda Time and use java.time package insteadKalle Lindström12-31/+36
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-25Remove cached VpnConfig in TalpidVpnServiceDavid Göransson1-8/+1
2025-02-25Reduce open_tun calls (Establish)David Göransson2-28/+18
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.
2025-02-25Fix incorrectly notifying offlineDavid Göransson1-19/+30
Incorrectly notifying that we are offline to the daemon would result in us enter ErrorState, and thus restarting the tunnel in a blocking state, opening a small window for leaks of traffic.
2025-02-25Allow invalidating NetworkState cacheDavid Göransson1-2/+13
2025-02-25Refactor defaultRawNetworkStateFlowDavid Göransson1-18/+13
2025-02-25Fix gRPC not working with WiFi proxyDavid Göransson1-0/+3
2025-02-18Bump gRPC to 1.70.0David Göransson1-0/+1
2025-02-12Update the first paragraph in the daita information messageJonatan Rhodin20-20/+1
2025-02-10Update android translationEmīls20-20/+1
2025-02-06Adjust and unify margins in settings and vpn settingsJonatan Rhodin1-2/+1
2025-02-06Disable wireguard port setting if obfuscation is setJonatan Rhodin1-0/+1
2025-02-06Replace usage of body medium with title mediumJonatan Rhodin1-1/+0
This is because snack bars uses body medium and we want snack bars to have the standard look
2025-02-06Replace old waitForTunnelUp functionDavid Göransson8-178/+290
After invoking VpnService.establish() we will get a tunnel file descriptor that corresponds to the interface that was created. However, this has no guarantee of the routing table beeing up to date, and we might thus send traffic outside the tunnel. Previously this was done through looking at the tunFd to see that traffic is sent to verify that the routing table has changed. If no traffic is seen some traffic is induced to a random IP address to ensure traffic can be seen. This new implementation is slower but won't risk sending UDP traffic to a random public address at the internet.
2025-02-05Move daita data usage warning to the first pageJonatan Rhodin20-120/+120
2025-02-03Use ordered string substitutionsJonatan Rhodin1-4/+4
2025-02-03Remove unnecessary html parsingJonatan Rhodin1-18/+6
2025-01-30Update translationsOskar39-3/+235
2025-01-09Add new stringsDavid Göransson21-40/+6
2025-01-08Make UI state have constraintsDavid Göransson4-8/+16
2025-01-07Add support for blocking and disconnecting text in notificationDavid Göransson1-2/+2
2025-01-07Add new stringsDavid Göransson20-20/+1
2025-01-02Remove global API endpointEmīls1-1/+0
2024-12-30Update translationsJoakim Hulthe38-3/+896
2024-12-30Update messages.potAlbin1-0/+2
2024-12-20Remove one-to-one relationship between provider and ownershipDavid Göransson6-112/+50
2024-12-19Add proto datastore dependencyKalle Lindström1-1/+1
2024-12-19Make Number of networks log less noisyDavid Göransson1-3/+6
2024-12-17Add warning text for battery usage of shadowsocksDavid Göransson1-0/+1
2024-12-17Remove Unused lint suppressionDavid Göransson44-580/+0
2024-12-17Merge lint configDavid Göransson1-12/+0
2024-12-17Reference common lint config and baselineDavid Göransson1-1/+2
2024-12-13Update translationsAlbin19-0/+114
2024-12-13Fix android daita stringsAlbin1-10/+9
2024-12-13Replace intentholder with api override intent holderJonatan Rhodin5-50/+21
2024-12-13Remove the use of intent provider for request vpn permissionJonatan Rhodin1-2/+0
2024-12-12Add logging to connectivity listenerJonatan Rhodin1-2/+11
2024-12-03Add check for empty play purchase payment tokenJonatan Rhodin5-2/+71