## Resources used ### VPN / Proxy - https://github.com/IngoZenz/personaldnsfilter/blob/master/app/src/main/java/dnsfilter/android/DNSFilterService.java - https://android.googlesource.com/platform/development/+/master/samples/ToyVpn/src/com/example/android/toyvpn/ToyVpnService.java - https://github.com/Jigsaw-Code/outline-client/blob/master/src/cordova/android/OutlineAndroidLib/outline/src/main/java/org/outline/vpn/VpnTunnel.java - https://github.com/schwabe/ics-openvpn ### Service - https://developer.android.com/guide/components/services#StartingAService - https://developer.android.com/guide/components/services#Foreground - https://stackoverflow.com/questions/600207/how-to-check-if-a-service-is-running-on-android - https://www.vogella.com/tutorials/AndroidServices/article.html#communication-with-services - https://github.com/googlecodelabs/bazel-android-intro/blob/master/sample/mediarecorder/java/com/example/android/mediarecorder/MainActivity.java ### Network - https://stackoverflow.com/questions/15088507/open-app-when-connect-with-wifi - https://stackoverflow.com/questions/40545396/connectivity-change-deprecated-in-target-of-android-n - https://stackoverflow.com/questions/48527171/detect-connectivity-change-in-android-7-and-above-when-app-is-killed-in-backgrou - https://stackoverflow.com/questions/25678216/android-internet-connectivity-change-listener - https://developer.android.com/training/monitoring-device-state/connectivity-monitoring.html#MonitorChanges - https://developer.android.com/guide/background/persistent/getting-started - https://developer.android.com/reference/android/net/ConnectivityManager.NetworkCallback ### Menu / Settings - https://medium.com/@bhavyakaria/step-by-step-guide-to-create-app-settings-using-preferences-in-android-part-1-fa470305b530 - https://code.tutsplus.com/tutorials/how-to-code-a-settings-screen-in-an-android-app--cms-30433 - https://www.geeksforgeeks.org/how-to-implement-preferences-settings-screen-in-android/ - https://google-developer-training.github.io/android-developer-fundamentals-course-practicals/en/Unit%204/92_p_adding_settings_to_an_app.html - https://github.com/google-developer-training/android-fundamentals/tree/master/DroidCafeWithSettings - https://stackoverflow.com/questions/5505472/android-anyone-know-the-filename-for-the-settings-icon/44862397#44862397 ### Location - https://stackoverflow.com/questions/25175522/how-to-enable-location-access-programmatically-in-android ### APK - https://stackoverflow.com/questions/43513006/how-to-build-a-release-apk-with-signature-in-bazel - https://groups.google.com/g/bazel-discuss/c/2BPWVRnsiGc ### Gitlab CI - https://discourse.nixos.org/t/how-to-use-nix-develop-within-a-gitlab-ci-pipeline/24027