[6/6] Android 14 port
This commit is contained in:
parent
87b06501bc
commit
0cd77ab28c
|
@ -1,4 +1,4 @@
|
|||
From 16c9311e41992ddd8d0bfb5a340cedbf001e3413 Mon Sep 17 00:00:00 2001
|
||||
From a70d53f488f7cfc9e5296df4fbc23e1c8a3955b3 Mon Sep 17 00:00:00 2001
|
||||
From: Oliver Scott <olivercscott@gmail.com>
|
||||
Date: Thu, 8 Jul 2021 10:40:49 -0400
|
||||
Subject: [PATCH] Global VPN feature [2/2]
|
||||
|
@ -9,19 +9,20 @@ Subject: [PATCH] Global VPN feature [2/2]
|
|||
Change-Id: Ic3b79beb635afe03642fce9473bc481239166566
|
||||
Signed-off-by: Mohammad Hasan Keramat J <ikeramat@protonmail.com>
|
||||
---
|
||||
res/values/strings.xml | 5 ++
|
||||
res/values/strings.xml | 6 +++
|
||||
res/xml/vpn_app_management.xml | 6 +++
|
||||
.../settings/vpn2/AppManagementFragment.java | 48 ++++++++++++++++++-
|
||||
3 files changed, 58 insertions(+), 1 deletion(-)
|
||||
3 files changed, 59 insertions(+), 1 deletion(-)
|
||||
|
||||
diff --git a/res/values/strings.xml b/res/values/strings.xml
|
||||
index 28b35b3fcf..29ca3882e9 100644
|
||||
index fa79cbbb33..d14a25abd1 100644
|
||||
--- a/res/values/strings.xml
|
||||
+++ b/res/values/strings.xml
|
||||
@@ -14457,4 +14457,9 @@
|
||||
<!-- [CHAR LIMIT=NONE] Hint for QR code process failure -->
|
||||
<string name="bt_le_audio_qr_code_is_not_valid_format">QR code isn\u0027t a valid format</string>
|
||||
@@ -12129,4 +12129,10 @@
|
||||
|
||||
<!-- Warning message when we try to dock an app not supporting multiple instances split into multiple sides [CHAR LIMIT=NONE] -->
|
||||
<string name="dock_multi_instances_not_supported_text">"This app can only be opened in 1 window"</string>
|
||||
+
|
||||
+ <!-- VPN app management screen, global VPN -->
|
||||
+ <string name="global_vpn_title">Global VPN</string>
|
||||
+ <string name="global_vpn_summary">Force all traffic on the device through this VPN, including work profile and other users.</string>
|
||||
|
@ -29,12 +30,12 @@ index 28b35b3fcf..29ca3882e9 100644
|
|||
+ <string name="global_vpn_summary_any_vpn_active">You need to disable all active VPN connections first to enable this</string>
|
||||
</resources>
|
||||
diff --git a/res/xml/vpn_app_management.xml b/res/xml/vpn_app_management.xml
|
||||
index adc441d846..e00f23ccfa 100644
|
||||
index dffbbbe311..93df378fd7 100644
|
||||
--- a/res/xml/vpn_app_management.xml
|
||||
+++ b/res/xml/vpn_app_management.xml
|
||||
@@ -31,6 +31,12 @@
|
||||
@@ -23,6 +23,12 @@
|
||||
android:key="version"
|
||||
android:selectable="false"/>
|
||||
-->
|
||||
|
||||
+ <SwitchPreference
|
||||
+ android:key="global_vpn"
|
||||
|
@ -43,10 +44,10 @@ index adc441d846..e00f23ccfa 100644
|
|||
+ android:summary="@string/global_vpn_summary" />
|
||||
+
|
||||
<com.android.settingslib.RestrictedSwitchPreference
|
||||
android:order="10"
|
||||
android:key="always_on_vpn"
|
||||
android:title="@string/vpn_menu_lockdown"
|
||||
diff --git a/src/com/android/settings/vpn2/AppManagementFragment.java b/src/com/android/settings/vpn2/AppManagementFragment.java
|
||||
index d4ee5b9c47..7a52e0c42c 100644
|
||||
index 7d17541fd9..260d3ad94d 100644
|
||||
--- a/src/com/android/settings/vpn2/AppManagementFragment.java
|
||||
+++ b/src/com/android/settings/vpn2/AppManagementFragment.java
|
||||
@@ -28,10 +28,12 @@ import android.content.pm.ApplicationInfo;
|
||||
|
@ -61,16 +62,16 @@ index d4ee5b9c47..7a52e0c42c 100644
|
|||
+import android.provider.Settings;
|
||||
import android.text.TextUtils;
|
||||
import android.util.Log;
|
||||
import android.widget.TextView;
|
||||
@@ -41,6 +43,7 @@ import androidx.appcompat.app.AlertDialog;
|
||||
|
||||
@@ -39,6 +41,7 @@ import androidx.annotation.VisibleForTesting;
|
||||
import androidx.appcompat.app.AlertDialog;
|
||||
import androidx.fragment.app.DialogFragment;
|
||||
import androidx.preference.Preference;
|
||||
import androidx.preference.PreferenceViewHolder;
|
||||
+import androidx.preference.SwitchPreference;
|
||||
|
||||
import com.android.internal.net.VpnConfig;
|
||||
import com.android.internal.util.ArrayUtils;
|
||||
@@ -64,6 +67,7 @@ public class AppManagementFragment extends SettingsPreferenceFragment
|
||||
@@ -63,6 +66,7 @@ public class AppManagementFragment extends SettingsPreferenceFragment
|
||||
private static final String ARG_PACKAGE_NAME = "package";
|
||||
|
||||
private static final String KEY_VERSION = "version";
|
||||
|
@ -78,18 +79,18 @@ index d4ee5b9c47..7a52e0c42c 100644
|
|||
private static final String KEY_ALWAYS_ON_VPN = "always_on_vpn";
|
||||
private static final String KEY_LOCKDOWN_VPN = "lockdown_vpn";
|
||||
private static final String KEY_FORGET_VPN = "forget_vpn";
|
||||
@@ -79,6 +83,7 @@ public class AppManagementFragment extends SettingsPreferenceFragment
|
||||
private String mVpnLabel;
|
||||
@@ -80,6 +84,7 @@ public class AppManagementFragment extends SettingsPreferenceFragment
|
||||
|
||||
// UI preference
|
||||
private Preference mPreferenceVersion;
|
||||
+ private SwitchPreference mPreferenceGlobal;
|
||||
private RestrictedSwitchPreference mPreferenceAlwaysOn;
|
||||
private RestrictedSwitchPreference mPreferenceLockdown;
|
||||
private RestrictedPreference mPreferenceForget;
|
||||
@@ -123,10 +128,16 @@ public class AppManagementFragment extends SettingsPreferenceFragment
|
||||
mDevicePolicyManager = getContext().getSystemService(DevicePolicyManager.class);
|
||||
mVpnManager = getContext().getSystemService(VpnManager.class);
|
||||
@@ -126,10 +131,16 @@ public class AppManagementFragment extends SettingsPreferenceFragment
|
||||
mFeatureProvider = FeatureFactory.getFactory(getContext()).getAdvancedVpnFeatureProvider();
|
||||
|
||||
mPreferenceVersion = findPreference(KEY_VERSION);
|
||||
+ mPreferenceGlobal = (SwitchPreference) findPreference(KEY_GLOBAL_VPN);
|
||||
mPreferenceAlwaysOn = (RestrictedSwitchPreference) findPreference(KEY_ALWAYS_ON_VPN);
|
||||
mPreferenceLockdown = (RestrictedSwitchPreference) findPreference(KEY_LOCKDOWN_VPN);
|
||||
|
@ -103,7 +104,7 @@ index d4ee5b9c47..7a52e0c42c 100644
|
|||
mPreferenceAlwaysOn.setOnPreferenceChangeListener(this);
|
||||
mPreferenceLockdown.setOnPreferenceChangeListener(this);
|
||||
mPreferenceForget.setOnPreferenceClickListener(this);
|
||||
@@ -204,6 +215,8 @@ public class AppManagementFragment extends SettingsPreferenceFragment
|
||||
@@ -163,6 +174,8 @@ public class AppManagementFragment extends SettingsPreferenceFragment
|
||||
@Override
|
||||
public boolean onPreferenceChange(Preference preference, Object newValue) {
|
||||
switch (preference.getKey()) {
|
||||
|
@ -112,7 +113,7 @@ index d4ee5b9c47..7a52e0c42c 100644
|
|||
case KEY_ALWAYS_ON_VPN:
|
||||
return onAlwaysOnVpnClick((Boolean) newValue, mPreferenceLockdown.isChecked());
|
||||
case KEY_LOCKDOWN_VPN:
|
||||
@@ -243,6 +256,11 @@ public class AppManagementFragment extends SettingsPreferenceFragment
|
||||
@@ -202,6 +215,11 @@ public class AppManagementFragment extends SettingsPreferenceFragment
|
||||
return setAlwaysOnVpnByUI(alwaysOnSetting, lockdown);
|
||||
}
|
||||
|
||||
|
@ -124,7 +125,7 @@ index d4ee5b9c47..7a52e0c42c 100644
|
|||
@Override
|
||||
public void onConfirmLockdown(Bundle options, boolean isEnabled, boolean isLockdown) {
|
||||
setAlwaysOnVpnByUI(isEnabled, isLockdown);
|
||||
@@ -276,7 +294,18 @@ public class AppManagementFragment extends SettingsPreferenceFragment
|
||||
@@ -235,7 +253,18 @@ public class AppManagementFragment extends SettingsPreferenceFragment
|
||||
final boolean alwaysOn = isVpnAlwaysOn();
|
||||
final boolean lockdown = alwaysOn
|
||||
&& VpnUtils.isAnyLockdownActive(getActivity());
|
||||
|
@ -144,7 +145,7 @@ index d4ee5b9c47..7a52e0c42c 100644
|
|||
mPreferenceAlwaysOn.setChecked(alwaysOn);
|
||||
mPreferenceLockdown.setChecked(lockdown);
|
||||
updateRestrictedViews();
|
||||
@@ -322,6 +351,11 @@ public class AppManagementFragment extends SettingsPreferenceFragment
|
||||
@@ -298,6 +327,11 @@ public class AppManagementFragment extends SettingsPreferenceFragment
|
||||
return mPackageName.equals(getAlwaysOnVpnPackage());
|
||||
}
|
||||
|
||||
|
@ -156,7 +157,7 @@ index d4ee5b9c47..7a52e0c42c 100644
|
|||
/**
|
||||
* @return false if the intent doesn't contain an existing package or can't retrieve activated
|
||||
* vpn info.
|
||||
@@ -376,6 +410,18 @@ public class AppManagementFragment extends SettingsPreferenceFragment
|
||||
@@ -352,6 +386,18 @@ public class AppManagementFragment extends SettingsPreferenceFragment
|
||||
return config != null && !TextUtils.equals(config.user, mPackageName);
|
||||
}
|
||||
|
||||
|
@ -176,5 +177,5 @@ index d4ee5b9c47..7a52e0c42c 100644
|
|||
private static final String TAG = "CannotConnect";
|
||||
private static final String ARG_VPN_LABEL = "label";
|
||||
--
|
||||
2.40.0
|
||||
2.41.0
|
||||
|
||||
|
|
Loading…
Reference in a new issue