summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--src/com/android/settings/vpn2/AppManagementFragment.java22
-rw-r--r--tests/unit/src/com/android/settings/vpn2/AppSettingsTest.java35
2 files changed, 13 insertions, 44 deletions
diff --git a/src/com/android/settings/vpn2/AppManagementFragment.java b/src/com/android/settings/vpn2/AppManagementFragment.java
index 9981b2fae8..9e215d1b7a 100644
--- a/src/com/android/settings/vpn2/AppManagementFragment.java
+++ b/src/com/android/settings/vpn2/AppManagementFragment.java
@@ -15,6 +15,8 @@
*/
package com.android.settings.vpn2;
+import static android.app.AppOpsManager.OP_ACTIVATE_VPN;
+
import android.annotation.NonNull;
import android.app.AlertDialog;
import android.app.AppOpsManager;
@@ -27,7 +29,6 @@ import android.content.pm.PackageManager;
import android.content.pm.PackageManager.NameNotFoundException;
import android.net.ConnectivityManager;
import android.net.IConnectivityManager;
-import android.os.Build;
import android.os.Bundle;
import android.os.RemoteException;
import android.os.ServiceManager;
@@ -45,13 +46,11 @@ import com.android.settings.R;
import com.android.settings.SettingsPreferenceFragment;
import com.android.settings.Utils;
import com.android.settings.core.instrumentation.InstrumentedDialogFragment;
-import com.android.settingslib.RestrictedSwitchPreference;
import com.android.settingslib.RestrictedPreference;
+import com.android.settingslib.RestrictedSwitchPreference;
import java.util.List;
-import static android.app.AppOpsManager.OP_ACTIVATE_VPN;
-
public class AppManagementFragment extends SettingsPreferenceFragment
implements Preference.OnPreferenceChangeListener, Preference.OnPreferenceClickListener,
ConfirmLockdownFragment.ConfirmLockdownListener {
@@ -223,19 +222,6 @@ public class AppManagementFragment extends SettingsPreferenceFragment
isEnabled ? mPackageName : null, isLockdown);
}
- @VisibleForTesting
- static boolean isAlwaysOnSupportedByApp(@NonNull ApplicationInfo appInfo) {
- final int targetSdk = appInfo.targetSdkVersion;
- if (targetSdk < Build.VERSION_CODES.N) {
- if (Log.isLoggable(TAG, Log.DEBUG)) {
- Log.d(TAG, "Package " + appInfo.packageName + " targets SDK version: " + targetSdk
- + "; must target at least " + Build.VERSION_CODES.N + " to use always-on.");
- }
- return false;
- }
- return true;
- }
-
private void updateUI() {
if (isAdded()) {
final boolean alwaysOn = isVpnAlwaysOn();
@@ -257,7 +243,7 @@ public class AppManagementFragment extends SettingsPreferenceFragment
mPreferenceForget.checkRestrictionAndSetDisabled(UserManager.DISALLOW_CONFIG_VPN,
mUserId);
- if (isAlwaysOnSupportedByApp(mPackageInfo.applicationInfo)) {
+ if (mConnectivityManager.isAlwaysOnVpnPackageSupportedForUser(mUserId, mPackageName)) {
// setSummary doesn't override the admin message when user restriction is applied
mPreferenceAlwaysOn.setSummary(R.string.vpn_always_on_summary);
// setEnabled is not required here, as checkRestrictionAndSetDisabled
diff --git a/tests/unit/src/com/android/settings/vpn2/AppSettingsTest.java b/tests/unit/src/com/android/settings/vpn2/AppSettingsTest.java
index fe437a6a12..fe074cc3e1 100644
--- a/tests/unit/src/com/android/settings/vpn2/AppSettingsTest.java
+++ b/tests/unit/src/com/android/settings/vpn2/AppSettingsTest.java
@@ -16,26 +16,26 @@
package com.android.settings.vpn2;
-import static com.android.settings.vpn2.AppManagementFragment.isAlwaysOnSupportedByApp;
import static com.android.settings.vpn2.AppManagementFragment.appHasVpnPermission;
-import static org.mockito.Mockito.*;
+
+import static org.mockito.Mockito.any;
+import static org.mockito.Mockito.eq;
+import static org.mockito.Mockito.when;
import android.app.AppOpsManager;
+import android.content.Context;
import android.content.pm.ApplicationInfo;
-import android.os.Build;
import android.os.Process;
import android.test.AndroidTestCase;
import android.test.suitebuilder.annotation.SmallTest;
-import android.content.Context;
-
-import java.util.Arrays;
-import java.util.ArrayList;
-import java.util.Collections;
-import java.util.List;
import org.mockito.Mock;
import org.mockito.MockitoAnnotations;
+import java.util.ArrayList;
+import java.util.Arrays;
+import java.util.Collections;
+
public class AppSettingsTest extends AndroidTestCase {
private static final String TAG = AppSettingsTest.class.getSimpleName();
@@ -49,23 +49,6 @@ public class AppSettingsTest extends AndroidTestCase {
}
@SmallTest
- public void testAlwaysOnVersionRestriction() {
- ApplicationInfo mockApp = createMockApp();
-
- // API 23 (MNC) = not supported
- mockApp.targetSdkVersion = Build.VERSION_CODES.M;
- assertFalse(isAlwaysOnSupportedByApp(mockApp));
-
- // API 24 (NYC) = supported
- mockApp.targetSdkVersion = Build.VERSION_CODES.N;
- assertTrue(isAlwaysOnSupportedByApp(mockApp));
-
- // API 25 (NYC MR1) = supported
- mockApp.targetSdkVersion = Build.VERSION_CODES.N_MR1;
- assertTrue(isAlwaysOnSupportedByApp(mockApp));
- }
-
- @SmallTest
public void testAppOpsRequiredToOpenFragment() {
ApplicationInfo mockApp = createMockApp();