Migrated app from using ObjectBox library for db to Room as ObjectBox is not FLOSS compliant.
Migrated app to using version catalog for managing dependancies.
Added floss build flavor for F-Droid and general build flavor for all other builds. Floss build excludes google analytics and crashlytics.
Other performance improvements and refactors.
Add support for Android 8.
Fix shortcuts bug where it was toggling auto-tunneling without setting enabled.
Fix shortcuts name not updating with config edits.
Bump versions.
Closes#25
Attempt to fix startForegrounService causing crashes on some devices by not meeting the 5 second notification rule. Add notification to onCreate of services.
Limit startForeground to only be called where it is truly necessary in the TileService to allow starting the VPN while app is not running.
Attempt to manually initialize mlkit for QR code scanning to remediate some crashes caused by config scanning.
Fixes a bug where older device take a longer time to launch the foreground service and connect to the VPN. Combined with a delayed launch of foreground notification until VPN connection is confirmed, this would break foreground service,s 5 second notification rule.
Fixed by adding a new attempting connection notification to launch on vpn initial connection attempt.
Add dynamic on and off shortcuts for each new tunnel added. Shortcuts will toggle auto tunneling to allow manual override.
Add package search for split tunneling.
Add tunnel toggling from tile even while app is closed and auto tunneling is disabled.
Refactor and code cleanup.
Closes#23Closes#21
Change tile toggle behavior to also toggle auto tunnel service to allow user temporary override and re-enablement of auto tunnel from the tile.
Add tunnel name to tile.
Fix bug where wifi networks without internet access were impacting auto tunneling determinations.
Closes#22
Add quick settings tile for easy tunnel toggling and auto-tunnel override.
Fix bug on AndroidTV D-pad tunnel control for multiple tunnels.
Closes#18 , Closes#20
Fixes an issue where watcher service had the potential to crash on older devices if the job was not initialized fast enough.
Optimize imports.
Bump versions.
Added support for Android 9 by updating permission checks and wifi SSID logic.
Fix bug where setting screen was cut off on AndroidTV by updating padding values.
Bump wireguard-android library version.
Closes#13, Closes#16
Fixes issue where rapid network switching could cause unexpected VPN connections and disconnection. Fixed by changing from real time network VPN triggers to three second interval checks.
Attempts to optimize battery drain while VPN connected by switching VPN statistics gathering to 10 second intervals.
Closes#11, Closes#12, Closes#10
Allows app be fully navigated via D-pad on AndroidTV (with some quirks)
Adds precise location check to setting screen as WiFi-SSID is not readable without this permission.
Closes#2
Added support for Android TV
Added support for Always-On VPN in settings
Fixes bug where handshake notification is not dismissed after successful handshake
Fixes bug that allowed you to use Auto tunneling without Location Services enabled. Now checks for Location Services before allowing access to feature.
Closes#2, Closes#5, Closes#8
Fixes not being able to scroll when in landscape mode if content is off screen.
Fixes FAB being in the way of controlling tunnels by making it disappear on scroll down.
Bump targetSdk to 34
Adds details screen which display details of tunnel configuration as well as last handshake and rx/tx of peer.
Adds last handshake monitoring with statuses and thresholds.
Adds handshake/connection notifications based on last successful handshake.
Adds status LED next to tunnel on main screen.
Fixes bug where first click on QR code could result in nothing happening if QR code module is being downloaded. Now shows message to user.
Fixes bug where changes made after editing tunnel were not propagated to settings if that tunnel was configured as the default tunnel.
Fixes bug causing crash if wrong config file selected
Update README
Closes#7, Closes#6
This fixes a bug causing inconsistent connects and disconnects to vpn on wifi capability changes by properly associated a child job to a parent job using a SupervisorJob instead of a GlobalScope job.
This fixes a bug causing VPN to stay connected on mobile data even when the setting is disabled by adding an additional check for this situation to disable the tunnel.
Add catch for file configs that are malformed and display message to the user
Pass full tunnel config to watcher service after detecting reboot to allow watcher service to start tunnel properly.
This adds a tunnel configuration screen where user can configure split application tunneling and change tunnel name.
Additional QR code validation added to prevent adding of invalid QR codes to tunnels.
Minor UI quality-of-life changes.
Closes#3
This fixes foreground notification that was allowed to be dismissed which causes the service to eventually be killed.
Also fixes notification conflict bug where notification messages were not created separate notifications for different services.