From 913eb460c743cb12767d412e7f8dfa7bfe2eb029 Mon Sep 17 00:00:00 2001 From: M66B Date: Wed, 1 Nov 2023 15:42:51 +0100 Subject: [PATCH] Reload on service state changes --- .../eu/faircode/netguard/ServiceSinkhole.java | 24 +++++++++++++++++++ 1 file changed, 24 insertions(+) diff --git a/app/src/main/java/eu/faircode/netguard/ServiceSinkhole.java b/app/src/main/java/eu/faircode/netguard/ServiceSinkhole.java index 2f1c9012..19fdc3b4 100644 --- a/app/src/main/java/eu/faircode/netguard/ServiceSinkhole.java +++ b/app/src/main/java/eu/faircode/netguard/ServiceSinkhole.java @@ -60,6 +60,7 @@ import android.os.Process; import android.os.SystemClock; import android.provider.Settings; import android.telephony.PhoneStateListener; +import android.telephony.ServiceState; import android.telephony.TelephonyManager; import android.text.Spannable; import android.text.SpannableString; @@ -2328,6 +2329,29 @@ public class ServiceSinkhole extends VpnService implements SharedPreferences.OnS } } } + + @Override + public void onServiceStateChanged(ServiceState serviceState) { + String state; + switch (serviceState.getState()) { + case ServiceState.STATE_IN_SERVICE: + state = "IN_SERVICE"; + break; + case ServiceState.STATE_OUT_OF_SERVICE: + state = "OUT_OF_SERVICE"; + break; + case ServiceState.STATE_EMERGENCY_ONLY: + state = "EMERGENCY_ONLY"; + break; + case ServiceState.STATE_POWER_OFF: + state = "POWER_OFF"; + break; + default: + state = Integer.toString(serviceState.getState()); + } + Log.i(TAG, "Service state=" + state); + reload("service state changed", ServiceSinkhole.this, false); + } }; private BroadcastReceiver packageChangedReceiver = new BroadcastReceiver() {