Snap for 7863714 from 929e577e1b to sc-v2-release

Change-Id: I8f559d5a768a7a63f4edf81590020d65c4d6d3f2
This commit is contained in:
Android Build Coastguard Worker
2021-10-28 23:08:37 +00:00
3 changed files with 54 additions and 9 deletions

View File

@@ -292,10 +292,6 @@
android:icon="@drawable/ic_homepage_network" android:icon="@drawable/ic_homepage_network"
android:exported="true" android:exported="true"
android:configChanges="orientation|keyboardHidden|screenSize"> android:configChanges="orientation|keyboardHidden|screenSize">
<intent-filter android:priority="1">
<action android:name="android.settings.WIFI_SETTINGS" />
<category android:name="android.intent.category.DEFAULT" />
</intent-filter>
<meta-data android:name="com.android.settings.FRAGMENT_CLASS" <meta-data android:name="com.android.settings.FRAGMENT_CLASS"
android:value="com.android.settings.wifi.WifiSettings" /> android:value="com.android.settings.wifi.WifiSettings" />
<meta-data android:name="com.android.settings.PRIMARY_PROFILE_CONTROLLED" <meta-data android:name="com.android.settings.PRIMARY_PROFILE_CONTROLLED"
@@ -312,6 +308,10 @@
<action android:name="android.settings.NETWORK_PROVIDER_SETTINGS" /> <action android:name="android.settings.NETWORK_PROVIDER_SETTINGS" />
<category android:name="android.intent.category.DEFAULT" /> <category android:name="android.intent.category.DEFAULT" />
</intent-filter> </intent-filter>
<intent-filter android:priority="1">
<action android:name="android.settings.WIFI_SETTINGS" />
<category android:name="android.intent.category.DEFAULT" />
</intent-filter>
<intent-filter android:priority="1"> <intent-filter android:priority="1">
<action android:name="android.intent.action.MAIN" /> <action android:name="android.intent.action.MAIN" />
<category android:name="com.android.settings.SHORTCUT" /> <category android:name="com.android.settings.SHORTCUT" />

View File

@@ -19,6 +19,8 @@ package com.android.settings.network;
import static android.net.wifi.WifiConfiguration.NetworkSelectionStatus.NETWORK_SELECTION_ENABLED; import static android.net.wifi.WifiConfiguration.NetworkSelectionStatus.NETWORK_SELECTION_ENABLED;
import static android.os.UserManager.DISALLOW_CONFIG_WIFI; import static android.os.UserManager.DISALLOW_CONFIG_WIFI;
import static com.android.settings.Settings.WifiSettingsActivity;
import android.app.Activity; import android.app.Activity;
import android.app.Dialog; import android.app.Dialog;
import android.app.settings.SettingsEnums; import android.app.settings.SettingsEnums;
@@ -27,6 +29,7 @@ import android.content.ContentResolver;
import android.content.Context; import android.content.Context;
import android.content.DialogInterface; import android.content.DialogInterface;
import android.content.Intent; import android.content.Intent;
import android.location.LocationManager;
import android.net.NetworkTemplate; import android.net.NetworkTemplate;
import android.net.wifi.WifiConfiguration; import android.net.wifi.WifiConfiguration;
import android.net.wifi.WifiManager; import android.net.wifi.WifiManager;
@@ -277,6 +280,17 @@ public class NetworkProviderSettings extends RestrictedSettingsFragment
@Override @Override
public void onCreate(Bundle icicle) { public void onCreate(Bundle icicle) {
super.onCreate(icicle); super.onCreate(icicle);
if (!FeatureFlagUtils.isEnabled(getContext(), FeatureFlagUtils.SETTINGS_PROVIDER_MODEL)) {
final Intent intent = new Intent(getContext(), WifiSettingsActivity.class);
final Bundle extras = getActivity().getIntent().getExtras();
if (extras != null) {
intent.putExtras(extras);
}
getContext().startActivity(intent);
finish();
return;
}
mAirplaneModeEnabler = new AirplaneModeEnabler(getContext(), this); mAirplaneModeEnabler = new AirplaneModeEnabler(getContext(), this);
// TODO(b/37429702): Add animations and preference comparator back after initial screen is // TODO(b/37429702): Add animations and preference comparator back after initial screen is
@@ -464,7 +478,9 @@ public class NetworkProviderSettings extends RestrictedSettingsFragment
@Override @Override
public void onDestroy() { public void onDestroy() {
mAirplaneModeEnabler.close(); if (mAirplaneModeEnabler != null) {
mAirplaneModeEnabler.close();
}
super.onDestroy(); super.onDestroy();
} }
@@ -756,7 +772,10 @@ public class NetworkProviderSettings extends RestrictedSettingsFragment
if (context == null) { if (context == null) {
return; return;
} }
if (isWifiEnabled || !mWifiManager.isScanAlwaysAvailable()) {
final LocationManager locationManager = context.getSystemService(LocationManager.class);
if (isWifiEnabled || !locationManager.isLocationEnabled()
|| !mWifiManager.isScanAlwaysAvailable()) {
mWifiStatusMessagePreference.setVisible(false); mWifiStatusMessagePreference.setVisible(false);
return; return;
} }

View File

@@ -38,6 +38,7 @@ import android.content.ContentResolver;
import android.content.Context; import android.content.Context;
import android.content.Intent; import android.content.Intent;
import android.content.res.Resources; import android.content.res.Resources;
import android.location.LocationManager;
import android.net.wifi.WifiConfiguration; import android.net.wifi.WifiConfiguration;
import android.net.wifi.WifiManager; import android.net.wifi.WifiManager;
import android.os.Bundle; import android.os.Bundle;
@@ -98,6 +99,8 @@ public class NetworkProviderSettingsTest {
@Mock @Mock
private UserManager mUserManager; private UserManager mUserManager;
@Mock @Mock
private LocationManager mLocationManager;
@Mock
private AirplaneModeEnabler mAirplaneModeEnabler; private AirplaneModeEnabler mAirplaneModeEnabler;
@Mock @Mock
private DataUsagePreference mDataUsagePreference; private DataUsagePreference mDataUsagePreference;
@@ -133,6 +136,7 @@ public class NetworkProviderSettingsTest {
doReturn(mPowerManager).when(mContext).getSystemService(PowerManager.class); doReturn(mPowerManager).when(mContext).getSystemService(PowerManager.class);
doReturn(mWifiManager).when(mContext).getSystemService(WifiManager.class); doReturn(mWifiManager).when(mContext).getSystemService(WifiManager.class);
doReturn(mUserManager).when(mContext).getSystemService(Context.USER_SERVICE); doReturn(mUserManager).when(mContext).getSystemService(Context.USER_SERVICE);
doReturn(mLocationManager).when(mContext).getSystemService(LocationManager.class);
when(mUserManager.hasBaseUserRestriction(any(), any())).thenReturn(true); when(mUserManager.hasBaseUserRestriction(any(), any())).thenReturn(true);
doReturn(mContext).when(mPreferenceManager).getContext(); doReturn(mContext).when(mPreferenceManager).getContext();
mNetworkProviderSettings.mAddWifiNetworkPreference = new AddWifiNetworkPreference(mContext); mNetworkProviderSettings.mAddWifiNetworkPreference = new AddWifiNetworkPreference(mContext);
@@ -543,19 +547,41 @@ public class NetworkProviderSettingsTest {
} }
@Test @Test
public void setWifiScanMessage_wifiOffScanOn_footerIsVisible() { public void setWifiScanMessage_wifiOffLocationOnScanOn_footerIsVisible() {
when(mWifiManager.isScanAlwaysAvailable()).thenReturn(true); when(mWifiManager.isScanAlwaysAvailable()).thenReturn(true);
when(mLocationManager.isLocationEnabled()).thenReturn(true);
mNetworkProviderSettings.setWifiScanMessage(/* isWifiEnabled */ false); mNetworkProviderSettings.setWifiScanMessage(/* isWifiEnabled */ false);
assertThat(mNetworkProviderSettings.mWifiStatusMessagePreference.isVisible()).isTrue(); assertThat(mNetworkProviderSettings.mWifiStatusMessagePreference.isVisible()).isTrue();
assertThat(mNetworkProviderSettings.mWifiStatusMessagePreference.getTitle().length()) assertThat(mNetworkProviderSettings.mWifiStatusMessagePreference.getTitle().length())
.isNotEqualTo(0); .isNotEqualTo(0);
} }
@Test @Test
public void setWifiScanMessage_wifiOffScanOff_footerIsInvisible() { public void setWifiScanMessage_wifiOffLocationOnScanOff_footerIsInvisible() {
when(mWifiManager.isScanAlwaysAvailable()).thenReturn(false); 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); mNetworkProviderSettings.setWifiScanMessage(/* isWifiEnabled */ false);