Make it so client code does not tie tether to wifi

The wifi service already handles turning off tethering if
multi-interface is/isn't supported. We don't need to do tie wifi
and tethering stuff together in the UI.

Test: robotests still pass
Bug: 79213401
Merged-In: I699dfe2d7646f248a54faa5a8429176697614cdf
Change-Id: I699dfe2d7646f248a54faa5a8429176697614cdf
This commit is contained in:
Salvador Martinez
2018-05-07 13:34:59 -07:00
parent 99902e1faf
commit a76fd8b858
4 changed files with 46 additions and 40 deletions

View File

@@ -28,26 +28,26 @@ import org.robolectric.annotation.Resetter;
@Implements(RestrictedLockUtils.class)
public class ShadowRestrictedLockUtils {
private static boolean isRestricted;
private static String[] restrictedPkgs;
private static boolean adminSupportDetailsIntentLaunched;
private static int keyguardDisabledFeatures;
private static boolean sIsRestricted;
private static String[] sRestrictedPkgs;
private static boolean sAdminSupportDetailsIntentLaunched;
private static int sKeyguardDisabledFeatures;
@Resetter
public static void reset() {
isRestricted = false;
restrictedPkgs = null;
adminSupportDetailsIntentLaunched = false;
keyguardDisabledFeatures = 0;
sIsRestricted = false;
sRestrictedPkgs = null;
sAdminSupportDetailsIntentLaunched = false;
sKeyguardDisabledFeatures = 0;
}
@Implementation
public static EnforcedAdmin checkIfMeteredDataRestricted(Context context,
String packageName, int userId) {
if (isRestricted) {
if (sIsRestricted) {
return new EnforcedAdmin();
}
if (ArrayUtils.contains(restrictedPkgs, packageName)) {
if (ArrayUtils.contains(sRestrictedPkgs, packageName)) {
return new EnforcedAdmin();
}
return null;
@@ -55,32 +55,44 @@ public class ShadowRestrictedLockUtils {
@Implementation
public static void sendShowAdminSupportDetailsIntent(Context context, EnforcedAdmin admin) {
adminSupportDetailsIntentLaunched = true;
sAdminSupportDetailsIntentLaunched = true;
}
@Implementation
public static EnforcedAdmin checkIfKeyguardFeaturesDisabled(Context context,
int features, final @UserIdInt int userId) {
return (keyguardDisabledFeatures & features) == 0 ? null : new EnforcedAdmin();
return (sKeyguardDisabledFeatures & features) == 0 ? null : new EnforcedAdmin();
}
@Implementation
public static boolean hasBaseUserRestriction(Context context,
String userRestriction, int userId) {
return sIsRestricted;
}
@Implementation
public static EnforcedAdmin checkIfRestrictionEnforced(Context context,
String userRestriction, int userId) {
return sIsRestricted ? new EnforcedAdmin() : null;
}
public static boolean hasAdminSupportDetailsIntentLaunched() {
return adminSupportDetailsIntentLaunched;
return sAdminSupportDetailsIntentLaunched;
}
public static void clearAdminSupportDetailsIntentLaunch() {
adminSupportDetailsIntentLaunched = false;
sAdminSupportDetailsIntentLaunched = false;
}
public static void setRestricted(boolean restricted) {
isRestricted = restricted;
sIsRestricted = restricted;
}
public static void setRestrictedPkgs(String... pkgs) {
restrictedPkgs = pkgs;
sRestrictedPkgs = pkgs;
}
public static void setKeyguardDisabledFeatures(int features) {
keyguardDisabledFeatures = features;
sKeyguardDisabledFeatures = features;
}
}

View File

@@ -16,6 +16,8 @@
package com.android.settings.wifi;
import static com.google.common.truth.Truth.assertThat;
import static org.mockito.Mockito.mock;
import static org.mockito.Mockito.verify;
import static org.mockito.Mockito.when;
@@ -25,6 +27,7 @@ import android.net.ConnectivityManager;
import android.net.wifi.WifiManager;
import com.android.settings.testutils.SettingsRobolectricTestRunner;
import com.android.settings.testutils.shadow.ShadowRestrictedLockUtils;
import com.android.settings.widget.SwitchWidgetController;
import com.android.settingslib.core.instrumentation.MetricsFeatureProvider;
@@ -33,8 +36,10 @@ import org.junit.Test;
import org.junit.runner.RunWith;
import org.mockito.Mock;
import org.mockito.MockitoAnnotations;
import org.robolectric.annotation.Config;
@RunWith(SettingsRobolectricTestRunner.class)
@Config(shadows = ShadowRestrictedLockUtils.class)
public class WifiEnablerTest {
@Mock
@@ -59,8 +64,6 @@ public class WifiEnablerTest {
when(mWifiManager.setWifiEnabled(true)).thenReturn(true);
when(mWifiManager.getWifiApState()).thenReturn(WifiManager.WIFI_AP_STATE_ENABLED);
mEnabler.onSwitchToggled(true);
verify(mConnectivityManager).stopTethering(ConnectivityManager.TETHERING_WIFI);
assertThat(mEnabler.onSwitchToggled(true)).isTrue();
}
}

View File

@@ -36,6 +36,7 @@ import android.support.v7.preference.PreferenceScreen;
import com.android.settings.testutils.FakeFeatureFactory;
import com.android.settings.testutils.SettingsRobolectricTestRunner;
import com.android.settings.testutils.shadow.ShadowRestrictedLockUtils;
import com.android.settings.widget.MasterSwitchPreference;
import com.android.settingslib.core.instrumentation.MetricsFeatureProvider;
@@ -48,6 +49,7 @@ import org.robolectric.RuntimeEnvironment;
import org.robolectric.annotation.Config;
@RunWith(SettingsRobolectricTestRunner.class)
@Config(shadows = ShadowRestrictedLockUtils.class)
public class WifiMasterSwitchPreferenceControllerTest {
@Mock