diff options
-rw-r--r-- | src/com/android/settings/vpn2/AppManagementFragment.java | 22 | ||||
-rw-r--r-- | tests/unit/src/com/android/settings/vpn2/AppSettingsTest.java | 35 |
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(); |