Use Lineage Setting for capability to allow tethering to use VPN upstreams
* AOSP Setting is easier for APEX updates, but since
we don't have that atm, let's just keep using the
lineage setting
Change-Id: I620dbf9cbe21b70eaa8af543a9bd2e5e5d73bf80
diff --git a/Tethering/Android.bp b/Tethering/Android.bp
index b88ec7f..1511a22 100644
--- a/Tethering/Android.bp
+++ b/Tethering/Android.bp
@@ -75,6 +75,7 @@
"net-utils-device-common-netlink",
"netd-client",
"tetheringstatsprotos",
+ "org.lineageos.platform.lineagesettings",
],
defaults: ["TetheringExternalLibs"],
libs: [
diff --git a/Tethering/src/com/android/networkstack/tethering/Tethering.java b/Tethering/src/com/android/networkstack/tethering/Tethering.java
index 836ebfe..0ac6d90 100644
--- a/Tethering/src/com/android/networkstack/tethering/Tethering.java
+++ b/Tethering/src/com/android/networkstack/tethering/Tethering.java
@@ -149,6 +149,8 @@
import com.android.networkstack.tethering.util.VersionedBroadcastListener;
import com.android.networkstack.tethering.wear.WearableConnectionManager;
+import lineageos.providers.LineageSettings;
+
import java.io.FileDescriptor;
import java.io.PrintWriter;
import java.net.InetAddress;
@@ -176,9 +178,6 @@
private static final boolean DBG = false;
private static final boolean VDBG = false;
- // Copied from frameworks/base/core/java/android/provider/Settings.java
- private static final String TETHERING_ALLOW_VPN_UPSTREAMS = "tethering_allow_vpn_upstreams";
-
private static final Class[] sMessageClasses = {
Tethering.class, TetherMainSM.class, IpServer.class
};
@@ -505,8 +504,8 @@
mUpstreamNetworkMonitor.maybeUpdateDefaultNetworkCallback();
}
};
- mContext.getContentResolver().registerContentObserver(Settings.Secure.getUriFor(
- TETHERING_ALLOW_VPN_UPSTREAMS), false, vpnSettingObserver);
+ mContext.getContentResolver().registerContentObserver(LineageSettings.Secure.getUriFor(
+ LineageSettings.Secure.TETHERING_ALLOW_VPN_UPSTREAMS), false, vpnSettingObserver);
}
private class TetheringThreadExecutor implements Executor {
diff --git a/Tethering/src/com/android/networkstack/tethering/UpstreamNetworkMonitor.java b/Tethering/src/com/android/networkstack/tethering/UpstreamNetworkMonitor.java
index 4eaa0b6..c8fe31f 100644
--- a/Tethering/src/com/android/networkstack/tethering/UpstreamNetworkMonitor.java
+++ b/Tethering/src/com/android/networkstack/tethering/UpstreamNetworkMonitor.java
@@ -55,6 +55,8 @@
import com.android.networkstack.apishim.common.UnsupportedApiLevelException;
import com.android.networkstack.tethering.util.PrefixUtils;
+import lineageos.providers.LineageSettings;
+
import java.util.HashMap;
import java.util.HashSet;
import java.util.Objects;
@@ -92,7 +94,6 @@
// Copied from frameworks/base/core/java/android/provider/Settings.java
private static final String ALWAYS_ON_VPN_LOCKDOWN = "always_on_vpn_lockdown";
- private static final String TETHERING_ALLOW_VPN_UPSTREAMS = "tethering_allow_vpn_upstreams";
public static final int EVENT_ON_CAPABILITIES = 1;
public static final int EVENT_ON_LINKPROPERTIES = 2;
@@ -228,8 +229,8 @@
}
private boolean isAllowedToUseVpnUpstreams() {
- return Settings.Secure.getInt(mContext.getContentResolver(),
- TETHERING_ALLOW_VPN_UPSTREAMS, 0) == 1;
+ return LineageSettings.Secure.getInt(mContext.getContentResolver(),
+ LineageSettings.Secure.TETHERING_ALLOW_VPN_UPSTREAMS, 0) == 1;
}
private void reevaluateUpstreamRequirements(boolean tryCell, boolean autoUpstream,