summaryrefslogtreecommitdiffhomepage
path: root/android/src/main
AgeCommit message (Collapse)AuthorFilesLines
2021-04-21Ensure `ListenerReady` handler is registered firstJanito Vaqueiro Ferreira Filho2-11/+13
Previously there could be a race condition because the `ServiceConnection` constructor would register itself as an event listener on the service without registering a handler for the `ListenerReady` event sent after the registration is complete. The `MainActivity` would then register the handler, and things would work because the service would send multiple events before sending the `ListenerReady`, giving time for the handler to be registered before the event is received. This commit changes that in order to avoid the race condition. Now the `ServiceConnection` constructor must receive a callback as a parameter, and this callback will be used when registering for the `ListenerReady` event. This allows the constructor to enforce that the handler for the event is configured before the request for registration is sent.
2021-04-21Don't use daemon in `PreferencesFragment`Janito Vaqueiro Ferreira Filho1-4/+4
2021-04-21Allow setting Auto-Connect through connectionJanito Vaqueiro Ferreira Filho3-0/+13
2021-04-21Allow setting Allow LAN through service connectionJanito Vaqueiro Ferreira Filho3-0/+13
2021-04-21Change `SelectLocationFragment` to not use daemonJanito Vaqueiro Ferreira Filho1-12/+1
2021-04-21Allow sending updated relay location from UIJanito Vaqueiro Ferreira Filho2-1/+16
2021-04-21Set relay location using `RelayListListener`Janito Vaqueiro Ferreira Filho1-1/+50
2021-04-21Add `SetRelayLocation` request variantJanito Vaqueiro Ferreira Filho1-0/+4
2021-04-21Send requests to set WireGuard MTUJanito Vaqueiro Ferreira Filho2-5/+5
2021-04-21Allow to set WireGuard MTU with `SettingsListener`Janito Vaqueiro Ferreira Filho1-0/+31
2021-04-21Create request variant for setting WireGuard MTUJanito Vaqueiro Ferreira Filho1-0/+3
2021-04-21Allow setting account with a request from UI sideJanito Vaqueiro Ferreira Filho4-2/+19
2021-04-20Send `null` `LoginStatus` event if login failsJanito Vaqueiro Ferreira Filho1-7/+16
2021-04-20Don't ignore login request for current accountJanito Vaqueiro Ferreira Filho1-4/+0
This was an optimization, but it meant that no event would be sent back to the UI, which could lead to unexpected bugs.
2021-04-20Cancel jobs when destroying `NotificationBanner`Janito Vaqueiro Ferreira Filho1-0/+1
2021-04-20Use `AuthTokenCache` in `UrlButton`Janito Vaqueiro Ferreira Filho5-10/+10
2021-04-20Use `AuthTokenCache` in in-app notificationsJanito Vaqueiro Ferreira Filho4-11/+11
2021-04-20Make `AuthTokenCache` available to fragmentsJanito Vaqueiro Ferreira Filho2-0/+7
2021-04-20Create UI side `AuthTokenCache` helper classJanito Vaqueiro Ferreira Filho1-0/+42
2021-04-20Use service side `AuthTokenCache`Janito Vaqueiro Ferreira Filho2-21/+27
2021-04-20Create service side `AuthTokenCache` helper classJanito Vaqueiro Ferreira Filho1-0/+46
2021-04-20Implement auth. token IPC messagesJanito Vaqueiro Ferreira Filho2-0/+6
2021-04-19Refactor SplitTunneling Fragment, add tests.Aleksandr Granin14-392/+293
2021-04-16Handle new relay list events in the UI sideJanito Vaqueiro Ferreira Filho2-31/+13
2021-04-16Remove callback in `RelayListListener.onDestroy`Janito Vaqueiro Ferreira Filho1-0/+1
2021-04-16Change UI side `RelayListListener` packageJanito Vaqueiro Ferreira Filho3-4/+2
2021-04-16Send relay list update messagesJanito Vaqueiro Ferreira Filho3-1/+12
2021-04-16Make `RelayList` parcelableJanito Vaqueiro Ferreira Filho6-6/+35
2021-04-16Create new service side `RelayListListener`Janito Vaqueiro Ferreira Filho1-0/+38
2021-04-16Remove old shared preferences clean-up codeJanito Vaqueiro Ferreira Filho2-12/+2
On versions 2019.8-beta1 and older, the app stored the application version information as shared preferences. On 2019.9-beta1 that changed so that the information was handled by the Rust daemon, and some code was added to clear those shared preferences so that users that update from the old versions don't have any left over data. This commit removes that migration code, because it's been more than a year since that change has happened and none of those versions are supported anymore. A user that updates from one of the old versions before 2019.9-beta1 to a version from this commit onwards will have some extra data stored in shared preferences (which should be less than 1 KiB) that won't be ever used. The only way to remove that data is to manually clear the app storage, reinstall the app, or to upgrade to a version from 2020 before updating to future versions.
2021-04-16Refactor to improve readabilityJanito Vaqueiro Ferreira Filho1-13/+25
2021-04-16Move version cache migration from UI to serviceJanito Vaqueiro Ferreira Filho5-21/+15
2021-04-16Refactor to use observable propertyJanito Vaqueiro Ferreira Filho1-18/+12
2021-04-16Handle version events in UI `AppVersionInfoCache`Janito Vaqueiro Ferreira Filho2-28/+14
2021-04-16Remove callback in `AppVersionInfoCache.onDestroy`Janito Vaqueiro Ferreira Filho1-0/+1
2021-04-16Change UI side `AppVersionInfoCache` packageJanito Vaqueiro Ferreira Filho5-6/+4
2021-04-16Use service side `AppVersionInfoCache`Janito Vaqueiro Ferreira Filho1-10/+4
2021-04-16Create new service side `AppVersionInfoCache`Janito Vaqueiro Ferreira Filho1-0/+44
2021-04-16Add `AppVersionInfo` event variantJanito Vaqueiro Ferreira Filho1-0/+4
2021-04-16Make `AppVersionInfo` parcelableJanito Vaqueiro Ferreira Filho1-1/+5
2021-04-16Send current version through the message channelJanito Vaqueiro Ferreira Filho2-0/+13
2021-04-15Fix koin dependencies.Aleksandr Granin4-26/+23
2021-04-15Fix `AccountCache` only handled first requestJanito Vaqueiro Ferreira Filho1-6/+6
The app would previously crash when the UI side `AccountCache` class sent a second request message to the service side `AccountCache` class. The simplest way to reproduce this was to log out and log in again. This was happening because the service side `AccountCache` actor implementation was only handling one request and then stopping. This is now fixed by having the actor run a loop to handle all incoming requests.
2021-04-15Restore hard-coded dialog messageJanito Vaqueiro Ferreira Filho3-11/+5
2021-04-15Remove obsoleted messageJanito Vaqueiro Ferreira Filho21-22/+1
2021-04-15Don't show dialog for local DNS server addressesJanito Vaqueiro Ferreira Filho1-6/+4
2021-04-14Use `LoginStatus` in `AccountExpiryNotification`Janito Vaqueiro Ferreira Filho1-9/+11
2021-04-14Use an intermittent daemon in expiry notificationJanito Vaqueiro Ferreira Filho2-15/+13
2021-04-14Fix return value of `CustomDns.addServer` methodJanito Vaqueiro Ferreira Filho1-2/+2
The UI side method returns a boolean flag indicating if the DNS server was successfully added, which is basically a check if the DNS server address wasn't already added to the list. Unfortunately, there was a bug in the method that returned the negated value. This led to a weird bug where adding a new DNS server caused it to fail first, but succeed on the second attempt.
2021-04-14Added the source icon and updated readmeAleksandr Granin1-1/+1