setSwitchBarChecked(false);
mSwitchWidget.setEnabled(true);
}
- if (mayDisableTethering(!mSwitchWidget.isChecked())) {
- if (RestrictedLockUtils.hasBaseUserRestriction(mContext,
- UserManager.DISALLOW_CONFIG_TETHERING, UserHandle.myUserId())) {
- mSwitchWidget.setEnabled(false);
- } else {
- final EnforcedAdmin admin = RestrictedLockUtils.checkIfRestrictionEnforced(mContext,
- UserManager.DISALLOW_CONFIG_TETHERING, UserHandle.myUserId());
- mSwitchWidget.setDisabledByAdmin(admin);
- }
+
+ if (RestrictedLockUtils.hasBaseUserRestriction(mContext,
+ UserManager.DISALLOW_CONFIG_TETHERING, UserHandle.myUserId())) {
+ mSwitchWidget.setEnabled(false);
+ } else {
+ final EnforcedAdmin admin = RestrictedLockUtils.checkIfRestrictionEnforced(mContext,
+ UserManager.DISALLOW_CONFIG_TETHERING, UserHandle.myUserId());
+ mSwitchWidget.setDisabledByAdmin(admin);
}
}
// Show toast message if Wi-Fi is not allowed in airplane mode
if (isChecked && !WirelessUtils.isRadioAllowed(mContext, Settings.Global.RADIO_WIFI)) {
Toast.makeText(mContext, R.string.wifi_in_airplane_mode, Toast.LENGTH_SHORT).show();
- // Reset switch to off. No infinite check/listenenr loop.
+ // Reset switch to off. No infinite check/listener loop.
mSwitchWidget.setChecked(false);
return false;
}
- // Disable tethering if enabling Wifi
- if (mayDisableTethering(isChecked)) {
- mConnectivityManager.stopTethering(ConnectivityManager.TETHERING_WIFI);
- }
if (isChecked) {
mMetricsFeatureProvider.action(mContext, MetricsEvent.ACTION_WIFI_ON);
} else {
}
return true;
}
-
- private boolean mayDisableTethering(boolean isChecked) {
- final int wifiApState = mWifiManager.getWifiApState();
- return isChecked && ((wifiApState == WifiManager.WIFI_AP_STATE_ENABLING) ||
- (wifiApState == WifiManager.WIFI_AP_STATE_ENABLED));
- }
}
@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;
@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;
}
}
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;
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;
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
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();
}
}
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;
import org.robolectric.annotation.Config;
@RunWith(SettingsRobolectricTestRunner.class)
+@Config(shadows = ShadowRestrictedLockUtils.class)
public class WifiMasterSwitchPreferenceControllerTest {
@Mock