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,