Remove the unnecessary preferenceCategory
In talkback, it counts the untitled preferenceCategory as an visiable item. This CL remove unnecessary cateogry and add divider line manually. Bug: 118796245 Test: RunSettingsRoboTests Change-Id: I77151fdce671cf91322b3c1badc06a3b7861dcc0
This commit is contained in:
@@ -20,6 +20,9 @@
|
||||
android:title="@string/wifi_settings"
|
||||
settings:keywords="@string/keywords_wifi">
|
||||
|
||||
<com.android.settings.wifi.LinkablePreference
|
||||
android:key="wifi_status_message"/>
|
||||
|
||||
<PreferenceCategory
|
||||
android:key="connected_access_point"
|
||||
android:layout="@layout/preference_category_no_label"/>
|
||||
@@ -28,17 +31,14 @@
|
||||
android:key="access_points"
|
||||
android:layout="@layout/preference_category_no_label"/>
|
||||
|
||||
<PreferenceCategory
|
||||
android:key="additional_settings"
|
||||
android:layout="@layout/preference_category_no_label">
|
||||
<Preference
|
||||
android:key="configure_settings"
|
||||
android:title="@string/wifi_configure_settings_preference_title"
|
||||
android:fragment="com.android.settings.wifi.ConfigureWifiSettings" />
|
||||
settings:allowDividerAbove="true"
|
||||
android:fragment="com.android.settings.wifi.ConfigureWifiSettings"/>
|
||||
|
||||
<Preference
|
||||
android:key="saved_networks"
|
||||
android:title="@string/wifi_saved_access_points_label"
|
||||
android:fragment="com.android.settings.wifi.savedaccesspoints.SavedAccessPointsWifiSettings" />
|
||||
</PreferenceCategory>
|
||||
android:fragment="com.android.settings.wifi.savedaccesspoints.SavedAccessPointsWifiSettings"/>
|
||||
</PreferenceScreen>
|
||||
|
@@ -112,9 +112,9 @@ public class WifiSettings extends RestrictedSettingsFragment
|
||||
private static final String PREF_KEY_EMPTY_WIFI_LIST = "wifi_empty_list";
|
||||
private static final String PREF_KEY_CONNECTED_ACCESS_POINTS = "connected_access_point";
|
||||
private static final String PREF_KEY_ACCESS_POINTS = "access_points";
|
||||
private static final String PREF_KEY_ADDITIONAL_SETTINGS = "additional_settings";
|
||||
private static final String PREF_KEY_CONFIGURE_WIFI_SETTINGS = "configure_settings";
|
||||
private static final String PREF_KEY_SAVED_NETWORKS = "saved_networks";
|
||||
private static final String PREF_KEY_STATUS_MESSAGE = "wifi_status_message";
|
||||
|
||||
private static boolean isVerboseLoggingEnabled() {
|
||||
return WifiTracker.sVerboseLogging || Log.isLoggable(TAG, Log.VERBOSE);
|
||||
@@ -167,17 +167,19 @@ public class WifiSettings extends RestrictedSettingsFragment
|
||||
private Bundle mAccessPointSavedState;
|
||||
private Bundle mWifiNfcDialogSavedState;
|
||||
|
||||
private WifiTracker mWifiTracker;
|
||||
@VisibleForTesting
|
||||
WifiTracker mWifiTracker;
|
||||
private String mOpenSsid;
|
||||
|
||||
private AccessPointPreference.UserBadgeCache mUserBadgeCache;
|
||||
|
||||
private PreferenceCategory mConnectedAccessPointPreferenceCategory;
|
||||
private PreferenceCategory mAccessPointsPreferenceCategory;
|
||||
private PreferenceCategory mAdditionalSettingsPreferenceCategory;
|
||||
private Preference mAddPreference;
|
||||
private Preference mConfigureWifiSettingsPreference;
|
||||
private Preference mSavedNetworksPreference;
|
||||
@VisibleForTesting
|
||||
Preference mConfigureWifiSettingsPreference;
|
||||
@VisibleForTesting
|
||||
Preference mSavedNetworksPreference;
|
||||
private LinkablePreference mStatusMessagePreference;
|
||||
|
||||
// For Search
|
||||
@@ -229,8 +231,6 @@ public class WifiSettings extends RestrictedSettingsFragment
|
||||
(PreferenceCategory) findPreference(PREF_KEY_CONNECTED_ACCESS_POINTS);
|
||||
mAccessPointsPreferenceCategory =
|
||||
(PreferenceCategory) findPreference(PREF_KEY_ACCESS_POINTS);
|
||||
mAdditionalSettingsPreferenceCategory =
|
||||
(PreferenceCategory) findPreference(PREF_KEY_ADDITIONAL_SETTINGS);
|
||||
mConfigureWifiSettingsPreference = findPreference(PREF_KEY_CONFIGURE_WIFI_SETTINGS);
|
||||
mSavedNetworksPreference = findPreference(PREF_KEY_SAVED_NETWORKS);
|
||||
|
||||
@@ -238,7 +238,7 @@ public class WifiSettings extends RestrictedSettingsFragment
|
||||
mAddPreference = new Preference(prefContext);
|
||||
mAddPreference.setIcon(R.drawable.ic_menu_add);
|
||||
mAddPreference.setTitle(R.string.wifi_add_network);
|
||||
mStatusMessagePreference = new LinkablePreference(prefContext);
|
||||
mStatusMessagePreference = (LinkablePreference) findPreference(PREF_KEY_STATUS_MESSAGE);
|
||||
|
||||
mUserBadgeCache = new AccessPointPreference.UserBadgeCache(getPackageManager());
|
||||
}
|
||||
@@ -692,14 +692,14 @@ public class WifiSettings extends RestrictedSettingsFragment
|
||||
|
||||
case WifiManager.WIFI_STATE_ENABLING:
|
||||
removeConnectedAccessPointPreference();
|
||||
mAccessPointsPreferenceCategory.removeAll();
|
||||
removeAccessPointPreference();
|
||||
addMessagePreference(R.string.wifi_starting);
|
||||
setProgressBarVisible(true);
|
||||
break;
|
||||
|
||||
case WifiManager.WIFI_STATE_DISABLING:
|
||||
removeConnectedAccessPointPreference();
|
||||
mAccessPointsPreferenceCategory.removeAll();
|
||||
removeAccessPointPreference();
|
||||
addMessagePreference(R.string.wifi_stopping);
|
||||
break;
|
||||
|
||||
@@ -746,7 +746,10 @@ public class WifiSettings extends RestrictedSettingsFragment
|
||||
}
|
||||
|
||||
boolean hasAvailableAccessPoints = false;
|
||||
mAccessPointsPreferenceCategory.removePreference(mStatusMessagePreference);
|
||||
mStatusMessagePreference.setVisible(false);
|
||||
mConnectedAccessPointPreferenceCategory.setVisible(true);
|
||||
mAccessPointsPreferenceCategory.setVisible(true);
|
||||
|
||||
cacheRemoveAllPrefs(mAccessPointsPreferenceCategory);
|
||||
|
||||
int index =
|
||||
@@ -960,26 +963,28 @@ public class WifiSettings extends RestrictedSettingsFragment
|
||||
unregisterCaptivePortalNetworkCallback();
|
||||
}
|
||||
|
||||
private void setAdditionalSettingsSummaries() {
|
||||
mAdditionalSettingsPreferenceCategory.addPreference(mConfigureWifiSettingsPreference);
|
||||
private void removeAccessPointPreference() {
|
||||
mAccessPointsPreferenceCategory.removeAll();
|
||||
mAccessPointsPreferenceCategory.setVisible(false);
|
||||
}
|
||||
|
||||
@VisibleForTesting
|
||||
void setAdditionalSettingsSummaries() {
|
||||
mConfigureWifiSettingsPreference.setSummary(getString(
|
||||
isWifiWakeupEnabled()
|
||||
? R.string.wifi_configure_settings_preference_summary_wakeup_on
|
||||
: R.string.wifi_configure_settings_preference_summary_wakeup_off));
|
||||
int numSavedNetworks = mWifiTracker.getNumSavedNetworks();
|
||||
if (numSavedNetworks > 0) {
|
||||
mAdditionalSettingsPreferenceCategory.addPreference(mSavedNetworksPreference);
|
||||
final int numSavedNetworks = mWifiTracker.getNumSavedNetworks();
|
||||
mSavedNetworksPreference.setVisible(numSavedNetworks > 0);
|
||||
mSavedNetworksPreference.setSummary(
|
||||
getResources().getQuantityString(R.plurals.wifi_saved_access_points_summary,
|
||||
numSavedNetworks, numSavedNetworks));
|
||||
} else {
|
||||
mAdditionalSettingsPreferenceCategory.removePreference(mSavedNetworksPreference);
|
||||
}
|
||||
}
|
||||
|
||||
private boolean isWifiWakeupEnabled() {
|
||||
PowerManager powerManager = (PowerManager) getSystemService(Context.POWER_SERVICE);
|
||||
ContentResolver contentResolver = getContentResolver();
|
||||
final Context context = getContext();
|
||||
final PowerManager powerManager = context.getSystemService(PowerManager.class);
|
||||
final ContentResolver contentResolver = context.getContentResolver();
|
||||
return Settings.Global.getInt(contentResolver,
|
||||
Settings.Global.WIFI_WAKEUP_ENABLED, 0) == 1
|
||||
&& Settings.Global.getInt(contentResolver,
|
||||
@@ -1006,15 +1011,14 @@ public class WifiSettings extends RestrictedSettingsFragment
|
||||
.launch();
|
||||
mStatusMessagePreference.setText(title, description, clickListener);
|
||||
removeConnectedAccessPointPreference();
|
||||
mAccessPointsPreferenceCategory.removeAll();
|
||||
mAccessPointsPreferenceCategory.addPreference(mStatusMessagePreference);
|
||||
removeAccessPointPreference();
|
||||
mStatusMessagePreference.setVisible(true);
|
||||
}
|
||||
|
||||
private void addMessagePreference(int messageId) {
|
||||
mStatusMessagePreference.setTitle(messageId);
|
||||
removeConnectedAccessPointPreference();
|
||||
mAccessPointsPreferenceCategory.removeAll();
|
||||
mAccessPointsPreferenceCategory.addPreference(mStatusMessagePreference);
|
||||
mStatusMessagePreference.setVisible(true);
|
||||
|
||||
}
|
||||
|
||||
protected void setProgressBarVisible(boolean visible) {
|
||||
|
@@ -20,20 +20,31 @@ import static com.google.common.truth.Truth.assertThat;
|
||||
import static org.mockito.ArgumentMatchers.any;
|
||||
import static org.mockito.ArgumentMatchers.anyInt;
|
||||
import static org.mockito.Mockito.doNothing;
|
||||
import static org.mockito.Mockito.doReturn;
|
||||
import static org.mockito.Mockito.spy;
|
||||
import static org.mockito.Mockito.verify;
|
||||
import static org.mockito.Mockito.when;
|
||||
|
||||
import android.app.Activity;
|
||||
import android.content.ContentResolver;
|
||||
import android.content.Context;
|
||||
import android.content.Intent;
|
||||
import android.os.PowerManager;
|
||||
import android.provider.Settings;
|
||||
|
||||
import androidx.preference.Preference;
|
||||
|
||||
import com.android.settings.R;
|
||||
import com.android.settings.search.SearchIndexableRaw;
|
||||
import com.android.settings.testutils.SettingsRobolectricTestRunner;
|
||||
import com.android.settingslib.wifi.WifiTracker;
|
||||
|
||||
import org.junit.Before;
|
||||
import org.junit.Test;
|
||||
import org.junit.runner.RunWith;
|
||||
import org.mockito.Mock;
|
||||
import org.mockito.MockitoAnnotations;
|
||||
import org.robolectric.Robolectric;
|
||||
import org.robolectric.RuntimeEnvironment;
|
||||
import org.robolectric.annotation.Config;
|
||||
|
||||
@@ -42,18 +53,33 @@ import java.util.List;
|
||||
@RunWith(SettingsRobolectricTestRunner.class)
|
||||
public class WifiSettingsTest {
|
||||
|
||||
private static final int NUM_NETWORKS = 4;
|
||||
|
||||
@Mock
|
||||
private WifiTracker mWifiTracker;
|
||||
@Mock
|
||||
private PowerManager mPowerManager;
|
||||
private Context mContext;
|
||||
private WifiSettings mWifiSettings;
|
||||
|
||||
@Before
|
||||
public void setUp() {
|
||||
MockitoAnnotations.initMocks(this);
|
||||
mContext = spy(RuntimeEnvironment.application);
|
||||
|
||||
mWifiSettings = spy(new WifiSettings());
|
||||
doReturn(mContext).when(mWifiSettings).getContext();
|
||||
doReturn(mPowerManager).when(mContext).getSystemService(PowerManager.class);
|
||||
mWifiSettings.mSavedNetworksPreference = new Preference(mContext);
|
||||
mWifiSettings.mConfigureWifiSettingsPreference = new Preference(mContext);
|
||||
mWifiSettings.mWifiTracker = mWifiTracker;
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testSearchIndexProvider_shouldIndexFragmentTitle() {
|
||||
final List<SearchIndexableRaw> indexRes =
|
||||
WifiSettings.SEARCH_INDEX_DATA_PROVIDER.getRawDataToIndex(mContext, true /* enabled */);
|
||||
WifiSettings.SEARCH_INDEX_DATA_PROVIDER.getRawDataToIndex(mContext,
|
||||
true /* enabled */);
|
||||
|
||||
assertThat(indexRes).isNotNull();
|
||||
assertThat(indexRes.get(0).key).isEqualTo(WifiSettings.DATA_KEY_REFERENCE);
|
||||
@@ -63,7 +89,8 @@ public class WifiSettingsTest {
|
||||
@Config(qualifiers = "mcc999")
|
||||
public void testSearchIndexProvider_ifWifiSettingsNotVisible_shouldNotIndexFragmentTitle() {
|
||||
final List<SearchIndexableRaw> indexRes =
|
||||
WifiSettings.SEARCH_INDEX_DATA_PROVIDER.getRawDataToIndex(mContext, true /* enabled */);
|
||||
WifiSettings.SEARCH_INDEX_DATA_PROVIDER.getRawDataToIndex(mContext,
|
||||
true /* enabled */);
|
||||
|
||||
assertThat(indexRes).isEmpty();
|
||||
}
|
||||
@@ -78,4 +105,51 @@ public class WifiSettingsTest {
|
||||
|
||||
verify(wifiSettings).handleAddNetworkRequest(anyInt(), any(Intent.class));
|
||||
}
|
||||
|
||||
@Test
|
||||
public void setAdditionalSettingsSummaries_hasSavedNetwork_preferenceVisible() {
|
||||
when(mWifiTracker.getNumSavedNetworks()).thenReturn(NUM_NETWORKS);
|
||||
|
||||
mWifiSettings.setAdditionalSettingsSummaries();
|
||||
|
||||
assertThat(mWifiSettings.mSavedNetworksPreference.isVisible()).isTrue();
|
||||
assertThat(mWifiSettings.mSavedNetworksPreference.getSummary()).isEqualTo(
|
||||
mContext.getResources().getQuantityString(
|
||||
R.plurals.wifi_saved_access_points_summary,
|
||||
NUM_NETWORKS, NUM_NETWORKS));
|
||||
}
|
||||
|
||||
@Test
|
||||
public void setAdditionalSettingsSummaries_noSavedNetwork_preferenceInvisible() {
|
||||
when(mWifiTracker.getNumSavedNetworks()).thenReturn(0);
|
||||
|
||||
mWifiSettings.setAdditionalSettingsSummaries();
|
||||
|
||||
assertThat(mWifiSettings.mSavedNetworksPreference.isVisible()).isFalse();
|
||||
}
|
||||
|
||||
@Test
|
||||
public void setAdditionalSettingsSummaries_wifiWakeupEnabled_displayOn() {
|
||||
final ContentResolver contentResolver = mContext.getContentResolver();
|
||||
Settings.Global.putInt(contentResolver, Settings.Global.WIFI_WAKEUP_ENABLED, 1);
|
||||
Settings.Global.putInt(contentResolver, Settings.Global.WIFI_SCAN_ALWAYS_AVAILABLE, 1);
|
||||
Settings.Global.putInt(contentResolver, Settings.Global.AIRPLANE_MODE_ON, 0);
|
||||
when(mPowerManager.isPowerSaveMode()).thenReturn(false);
|
||||
|
||||
mWifiSettings.setAdditionalSettingsSummaries();
|
||||
|
||||
assertThat(mWifiSettings.mConfigureWifiSettingsPreference.getSummary()).isEqualTo(
|
||||
mContext.getString(R.string.wifi_configure_settings_preference_summary_wakeup_on));
|
||||
}
|
||||
|
||||
@Test
|
||||
public void setAdditionalSettingsSummaries_wifiWakeupDisabled_displayOff() {
|
||||
final ContentResolver contentResolver = mContext.getContentResolver();
|
||||
Settings.Global.putInt(contentResolver, Settings.Global.WIFI_WAKEUP_ENABLED, 0);
|
||||
|
||||
mWifiSettings.setAdditionalSettingsSummaries();
|
||||
|
||||
assertThat(mWifiSettings.mConfigureWifiSettingsPreference.getSummary()).isEqualTo(
|
||||
mContext.getString(R.string.wifi_configure_settings_preference_summary_wakeup_off));
|
||||
}
|
||||
}
|
Reference in New Issue
Block a user