You've already forked android-client
mirror of
https://github.com/netbirdio/android-client.git
synced 2026-05-22 17:10:49 -07:00
d277cf686d
* 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>