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

Commit babbff7b 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...

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

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

Change-Id: Ib6922d82c5c6d7a059b8c43beefb12d554c3f3c0
parents 36988410 c26248da
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);