Commit Graph

10 Commits

Author SHA1 Message Date
Diego Romar 8dbfc8acf0 Use force relay connection by default (#108) 2025-11-25 13:13:23 -03:00
shuuri-labs 227979ce15 feat/add-android-tv-support (#100)
* feat/add-android-tv-support

Add android TV support with the following changes:
- Implement new URLOpener interface with updated open method that accepts UserCode
- Add logic to MainActivity.java to detect Android TV, adjust UI and SSO flow accordingly
- Add QRCodeDialog.java to handle QR code/user code display logic
- Updated relevant layout xml files
- Add TV banner icon

---------

Co-authored-by: Ashley Mensah <ashleymensah@Ashleys-MBP.fritz.box>
2025-11-25 16:25:20 +01:00
Diego Romar 79cf6e6a55 allow users to select/deselect network resources (#86) 2025-11-21 14:43:56 +01:00
Diego Romar d277cf686d restart go engine on network change (#97)
* Add network change detector and listeners

* Add network toggle listener to VPNService

* Add unit tests for ConcreteNetworkChangeListener

* Rename NetworkChangeListener to NetworkAvailabilityListener

* Change EngineRunner's Set implementation

From HashSet to ConcurrentHashMap's KeySet,
which is thread-safe.

* Update submodule to the latest tag (v0.59.6)

* Add EngineRestarter to restart the Go engine

* Add LOGTAG to NetworkChangeDetector

* Add some documentation to NetworkToggleListener

* Use EngineRestarter as implementation of NetworkToggleListener

When subscribing to ConcreteNetworkAvailabilityListener

* Replace HashMap usage with ConcurrentHashMap

The availableNetworkTypes HashMap is accessed from network
callback threads without synchronization

* Wrap connectivityManager.unregisterNetworkCallback with try-catch

* Add restart runnable and timeout callback to EngineRestarter

Restart runnable is used as a debouncing mechanism to
prevent concurrent restarts
Timeout callback is to reset the isRestartInProgress flag's
value if the engine takes too long to restart

* Update git submodule reference to latest tag

* Reverse cleanup order on VPNService's onDestroy

Now it disposes of network listener components
before stopping engineRunner

* Ci tests (#99)

Add testing steps for CI

* Remove line break

---------

Co-authored-by: Zoltan Papp <zoltan.pmail@gmail.com>
2025-11-18 18:31:34 -03:00
Diego Romar 449db69f93 Add force relay connection option (#77)
This adds a new switch control to the advanced settings so that users may opt to force usage of relay when connecting to peers.
It also warns the user that this configuration change will only be applied the next time they connect to the VPN.
2025-09-10 19:21:04 +02:00
Viktor Liu db3267081c Catch dns add error (#73) 2025-08-11 11:39:57 +02:00
Zoltan Papp e426c0d82b Disable pidfd check on Android 11 and below (#67) 2025-07-09 22:32:26 +02:00
Zoltan Papp aa657852a4 Handle NetworkCallback was not registered exception (#64) 2025-07-01 21:02:11 +02:00
Zoltan Papp 86cb38eb7c List networks (#56)
* Add networks view
* Fix route change notification
2025-06-19 15:22:32 +02:00
Zoltan Papp f81f81ce6e rewrite client in Java (#54)
Rewrite the client in native Java.

There were no new features added in this change, but that's the first step in moving to a faster development cycle for NetBird client.
2025-06-05 20:37:51 +02:00