Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit c26248da authored by TreeHugger Robot's avatar TreeHugger Robot Committed by Automerger Merge Worker
Browse files

Merge "Add location check for Wifi Scanning notify message" into sc-qpr1-dev am: 649135c1

Original change: https://googleplex-android-review.googlesource.com/c/platform/packages/apps/Settings/+/16093937

Change-Id: I60a0411bb2b21ff8dc9fac37692ddf482ce2e6ab
parents 0d439097 649135c1
Loading
Loading
Loading
Loading
+5 −1
Original line number Diff line number Diff line
@@ -27,6 +27,7 @@ import android.content.ContentResolver;
import android.content.Context;
import android.content.DialogInterface;
import android.content.Intent;
import android.location.LocationManager;
import android.net.NetworkTemplate;
import android.net.wifi.WifiConfiguration;
import android.net.wifi.WifiManager;
@@ -756,7 +757,10 @@ public class NetworkProviderSettings extends RestrictedSettingsFragment
        if (context == null) {
            return;
        }
        if (isWifiEnabled || !mWifiManager.isScanAlwaysAvailable()) {

        final LocationManager locationManager = context.getSystemService(LocationManager.class);
        if (isWifiEnabled || !locationManager.isLocationEnabled()
                || !mWifiManager.isScanAlwaysAvailable()) {
            mWifiStatusMessagePreference.setVisible(false);
            return;
        }
+29 −3
Original line number Diff line number Diff line
@@ -38,6 +38,7 @@ import android.content.ContentResolver;
import android.content.Context;
import android.content.Intent;
import android.content.res.Resources;
import android.location.LocationManager;
import android.net.wifi.WifiConfiguration;
import android.net.wifi.WifiManager;
import android.os.Bundle;
@@ -98,6 +99,8 @@ public class NetworkProviderSettingsTest {
    @Mock
    private UserManager mUserManager;
    @Mock
    private LocationManager mLocationManager;
    @Mock
    private AirplaneModeEnabler mAirplaneModeEnabler;
    @Mock
    private DataUsagePreference mDataUsagePreference;
@@ -133,6 +136,7 @@ public class NetworkProviderSettingsTest {
        doReturn(mPowerManager).when(mContext).getSystemService(PowerManager.class);
        doReturn(mWifiManager).when(mContext).getSystemService(WifiManager.class);
        doReturn(mUserManager).when(mContext).getSystemService(Context.USER_SERVICE);
        doReturn(mLocationManager).when(mContext).getSystemService(LocationManager.class);
        when(mUserManager.hasBaseUserRestriction(any(), any())).thenReturn(true);
        doReturn(mContext).when(mPreferenceManager).getContext();
        mNetworkProviderSettings.mAddWifiNetworkPreference = new AddWifiNetworkPreference(mContext);
@@ -543,8 +547,9 @@ public class NetworkProviderSettingsTest {
    }

    @Test
    public void setWifiScanMessage_wifiOffScanOn_footerIsVisible() {
    public void setWifiScanMessage_wifiOffLocationOnScanOn_footerIsVisible() {
        when(mWifiManager.isScanAlwaysAvailable()).thenReturn(true);
        when(mLocationManager.isLocationEnabled()).thenReturn(true);

        mNetworkProviderSettings.setWifiScanMessage(/* isWifiEnabled */ false);

@@ -554,8 +559,29 @@ public class NetworkProviderSettingsTest {
    }

    @Test
    public void setWifiScanMessage_wifiOffScanOff_footerIsInvisible() {
    public void setWifiScanMessage_wifiOffLocationOnScanOff_footerIsInvisible() {
        when(mWifiManager.isScanAlwaysAvailable()).thenReturn(false);
        when(mLocationManager.isLocationEnabled()).thenReturn(true);

        mNetworkProviderSettings.setWifiScanMessage(/* isWifiEnabled */ false);

        assertThat(mNetworkProviderSettings.mWifiStatusMessagePreference.isVisible()).isFalse();
    }

    @Test
    public void setWifiScanMessage_wifiOffLocationOffScanOn_footerIsInvisible() {
        when(mWifiManager.isScanAlwaysAvailable()).thenReturn(true);
        when(mLocationManager.isLocationEnabled()).thenReturn(false);

        mNetworkProviderSettings.setWifiScanMessage(/* isWifiEnabled */ false);

        assertThat(mNetworkProviderSettings.mWifiStatusMessagePreference.isVisible()).isFalse();
    }

    @Test
    public void setWifiScanMessage_wifiOffLocationOffScanOff_footerIsInvisible() {
        when(mWifiManager.isScanAlwaysAvailable()).thenReturn(false);
        when(mLocationManager.isLocationEnabled()).thenReturn(false);

        mNetworkProviderSettings.setWifiScanMessage(/* isWifiEnabled */ false);