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"
|
android:title="@string/wifi_settings"
|
||||||
settings:keywords="@string/keywords_wifi">
|
settings:keywords="@string/keywords_wifi">
|
||||||
|
|
||||||
|
<com.android.settings.wifi.LinkablePreference
|
||||||
|
android:key="wifi_status_message"/>
|
||||||
|
|
||||||
<PreferenceCategory
|
<PreferenceCategory
|
||||||
android:key="connected_access_point"
|
android:key="connected_access_point"
|
||||||
android:layout="@layout/preference_category_no_label"/>
|
android:layout="@layout/preference_category_no_label"/>
|
||||||
@@ -28,17 +31,14 @@
|
|||||||
android:key="access_points"
|
android:key="access_points"
|
||||||
android:layout="@layout/preference_category_no_label"/>
|
android:layout="@layout/preference_category_no_label"/>
|
||||||
|
|
||||||
<PreferenceCategory
|
<Preference
|
||||||
android:key="additional_settings"
|
android:key="configure_settings"
|
||||||
android:layout="@layout/preference_category_no_label">
|
android:title="@string/wifi_configure_settings_preference_title"
|
||||||
<Preference
|
settings:allowDividerAbove="true"
|
||||||
android:key="configure_settings"
|
android:fragment="com.android.settings.wifi.ConfigureWifiSettings"/>
|
||||||
android:title="@string/wifi_configure_settings_preference_title"
|
|
||||||
android:fragment="com.android.settings.wifi.ConfigureWifiSettings" />
|
|
||||||
|
|
||||||
<Preference
|
<Preference
|
||||||
android:key="saved_networks"
|
android:key="saved_networks"
|
||||||
android:title="@string/wifi_saved_access_points_label"
|
android:title="@string/wifi_saved_access_points_label"
|
||||||
android:fragment="com.android.settings.wifi.savedaccesspoints.SavedAccessPointsWifiSettings" />
|
android:fragment="com.android.settings.wifi.savedaccesspoints.SavedAccessPointsWifiSettings"/>
|
||||||
</PreferenceCategory>
|
|
||||||
</PreferenceScreen>
|
</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_EMPTY_WIFI_LIST = "wifi_empty_list";
|
||||||
private static final String PREF_KEY_CONNECTED_ACCESS_POINTS = "connected_access_point";
|
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_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_CONFIGURE_WIFI_SETTINGS = "configure_settings";
|
||||||
private static final String PREF_KEY_SAVED_NETWORKS = "saved_networks";
|
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() {
|
private static boolean isVerboseLoggingEnabled() {
|
||||||
return WifiTracker.sVerboseLogging || Log.isLoggable(TAG, Log.VERBOSE);
|
return WifiTracker.sVerboseLogging || Log.isLoggable(TAG, Log.VERBOSE);
|
||||||
@@ -167,17 +167,19 @@ public class WifiSettings extends RestrictedSettingsFragment
|
|||||||
private Bundle mAccessPointSavedState;
|
private Bundle mAccessPointSavedState;
|
||||||
private Bundle mWifiNfcDialogSavedState;
|
private Bundle mWifiNfcDialogSavedState;
|
||||||
|
|
||||||
private WifiTracker mWifiTracker;
|
@VisibleForTesting
|
||||||
|
WifiTracker mWifiTracker;
|
||||||
private String mOpenSsid;
|
private String mOpenSsid;
|
||||||
|
|
||||||
private AccessPointPreference.UserBadgeCache mUserBadgeCache;
|
private AccessPointPreference.UserBadgeCache mUserBadgeCache;
|
||||||
|
|
||||||
private PreferenceCategory mConnectedAccessPointPreferenceCategory;
|
private PreferenceCategory mConnectedAccessPointPreferenceCategory;
|
||||||
private PreferenceCategory mAccessPointsPreferenceCategory;
|
private PreferenceCategory mAccessPointsPreferenceCategory;
|
||||||
private PreferenceCategory mAdditionalSettingsPreferenceCategory;
|
|
||||||
private Preference mAddPreference;
|
private Preference mAddPreference;
|
||||||
private Preference mConfigureWifiSettingsPreference;
|
@VisibleForTesting
|
||||||
private Preference mSavedNetworksPreference;
|
Preference mConfigureWifiSettingsPreference;
|
||||||
|
@VisibleForTesting
|
||||||
|
Preference mSavedNetworksPreference;
|
||||||
private LinkablePreference mStatusMessagePreference;
|
private LinkablePreference mStatusMessagePreference;
|
||||||
|
|
||||||
// For Search
|
// For Search
|
||||||
@@ -229,8 +231,6 @@ public class WifiSettings extends RestrictedSettingsFragment
|
|||||||
(PreferenceCategory) findPreference(PREF_KEY_CONNECTED_ACCESS_POINTS);
|
(PreferenceCategory) findPreference(PREF_KEY_CONNECTED_ACCESS_POINTS);
|
||||||
mAccessPointsPreferenceCategory =
|
mAccessPointsPreferenceCategory =
|
||||||
(PreferenceCategory) findPreference(PREF_KEY_ACCESS_POINTS);
|
(PreferenceCategory) findPreference(PREF_KEY_ACCESS_POINTS);
|
||||||
mAdditionalSettingsPreferenceCategory =
|
|
||||||
(PreferenceCategory) findPreference(PREF_KEY_ADDITIONAL_SETTINGS);
|
|
||||||
mConfigureWifiSettingsPreference = findPreference(PREF_KEY_CONFIGURE_WIFI_SETTINGS);
|
mConfigureWifiSettingsPreference = findPreference(PREF_KEY_CONFIGURE_WIFI_SETTINGS);
|
||||||
mSavedNetworksPreference = findPreference(PREF_KEY_SAVED_NETWORKS);
|
mSavedNetworksPreference = findPreference(PREF_KEY_SAVED_NETWORKS);
|
||||||
|
|
||||||
@@ -238,7 +238,7 @@ public class WifiSettings extends RestrictedSettingsFragment
|
|||||||
mAddPreference = new Preference(prefContext);
|
mAddPreference = new Preference(prefContext);
|
||||||
mAddPreference.setIcon(R.drawable.ic_menu_add);
|
mAddPreference.setIcon(R.drawable.ic_menu_add);
|
||||||
mAddPreference.setTitle(R.string.wifi_add_network);
|
mAddPreference.setTitle(R.string.wifi_add_network);
|
||||||
mStatusMessagePreference = new LinkablePreference(prefContext);
|
mStatusMessagePreference = (LinkablePreference) findPreference(PREF_KEY_STATUS_MESSAGE);
|
||||||
|
|
||||||
mUserBadgeCache = new AccessPointPreference.UserBadgeCache(getPackageManager());
|
mUserBadgeCache = new AccessPointPreference.UserBadgeCache(getPackageManager());
|
||||||
}
|
}
|
||||||
@@ -692,14 +692,14 @@ public class WifiSettings extends RestrictedSettingsFragment
|
|||||||
|
|
||||||
case WifiManager.WIFI_STATE_ENABLING:
|
case WifiManager.WIFI_STATE_ENABLING:
|
||||||
removeConnectedAccessPointPreference();
|
removeConnectedAccessPointPreference();
|
||||||
mAccessPointsPreferenceCategory.removeAll();
|
removeAccessPointPreference();
|
||||||
addMessagePreference(R.string.wifi_starting);
|
addMessagePreference(R.string.wifi_starting);
|
||||||
setProgressBarVisible(true);
|
setProgressBarVisible(true);
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case WifiManager.WIFI_STATE_DISABLING:
|
case WifiManager.WIFI_STATE_DISABLING:
|
||||||
removeConnectedAccessPointPreference();
|
removeConnectedAccessPointPreference();
|
||||||
mAccessPointsPreferenceCategory.removeAll();
|
removeAccessPointPreference();
|
||||||
addMessagePreference(R.string.wifi_stopping);
|
addMessagePreference(R.string.wifi_stopping);
|
||||||
break;
|
break;
|
||||||
|
|
||||||
@@ -746,7 +746,10 @@ public class WifiSettings extends RestrictedSettingsFragment
|
|||||||
}
|
}
|
||||||
|
|
||||||
boolean hasAvailableAccessPoints = false;
|
boolean hasAvailableAccessPoints = false;
|
||||||
mAccessPointsPreferenceCategory.removePreference(mStatusMessagePreference);
|
mStatusMessagePreference.setVisible(false);
|
||||||
|
mConnectedAccessPointPreferenceCategory.setVisible(true);
|
||||||
|
mAccessPointsPreferenceCategory.setVisible(true);
|
||||||
|
|
||||||
cacheRemoveAllPrefs(mAccessPointsPreferenceCategory);
|
cacheRemoveAllPrefs(mAccessPointsPreferenceCategory);
|
||||||
|
|
||||||
int index =
|
int index =
|
||||||
@@ -960,26 +963,28 @@ public class WifiSettings extends RestrictedSettingsFragment
|
|||||||
unregisterCaptivePortalNetworkCallback();
|
unregisterCaptivePortalNetworkCallback();
|
||||||
}
|
}
|
||||||
|
|
||||||
private void setAdditionalSettingsSummaries() {
|
private void removeAccessPointPreference() {
|
||||||
mAdditionalSettingsPreferenceCategory.addPreference(mConfigureWifiSettingsPreference);
|
mAccessPointsPreferenceCategory.removeAll();
|
||||||
|
mAccessPointsPreferenceCategory.setVisible(false);
|
||||||
|
}
|
||||||
|
|
||||||
|
@VisibleForTesting
|
||||||
|
void setAdditionalSettingsSummaries() {
|
||||||
mConfigureWifiSettingsPreference.setSummary(getString(
|
mConfigureWifiSettingsPreference.setSummary(getString(
|
||||||
isWifiWakeupEnabled()
|
isWifiWakeupEnabled()
|
||||||
? R.string.wifi_configure_settings_preference_summary_wakeup_on
|
? R.string.wifi_configure_settings_preference_summary_wakeup_on
|
||||||
: R.string.wifi_configure_settings_preference_summary_wakeup_off));
|
: R.string.wifi_configure_settings_preference_summary_wakeup_off));
|
||||||
int numSavedNetworks = mWifiTracker.getNumSavedNetworks();
|
final int numSavedNetworks = mWifiTracker.getNumSavedNetworks();
|
||||||
if (numSavedNetworks > 0) {
|
mSavedNetworksPreference.setVisible(numSavedNetworks > 0);
|
||||||
mAdditionalSettingsPreferenceCategory.addPreference(mSavedNetworksPreference);
|
mSavedNetworksPreference.setSummary(
|
||||||
mSavedNetworksPreference.setSummary(
|
getResources().getQuantityString(R.plurals.wifi_saved_access_points_summary,
|
||||||
getResources().getQuantityString(R.plurals.wifi_saved_access_points_summary,
|
numSavedNetworks, numSavedNetworks));
|
||||||
numSavedNetworks, numSavedNetworks));
|
|
||||||
} else {
|
|
||||||
mAdditionalSettingsPreferenceCategory.removePreference(mSavedNetworksPreference);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
private boolean isWifiWakeupEnabled() {
|
private boolean isWifiWakeupEnabled() {
|
||||||
PowerManager powerManager = (PowerManager) getSystemService(Context.POWER_SERVICE);
|
final Context context = getContext();
|
||||||
ContentResolver contentResolver = getContentResolver();
|
final PowerManager powerManager = context.getSystemService(PowerManager.class);
|
||||||
|
final ContentResolver contentResolver = context.getContentResolver();
|
||||||
return Settings.Global.getInt(contentResolver,
|
return Settings.Global.getInt(contentResolver,
|
||||||
Settings.Global.WIFI_WAKEUP_ENABLED, 0) == 1
|
Settings.Global.WIFI_WAKEUP_ENABLED, 0) == 1
|
||||||
&& Settings.Global.getInt(contentResolver,
|
&& Settings.Global.getInt(contentResolver,
|
||||||
@@ -1006,15 +1011,14 @@ public class WifiSettings extends RestrictedSettingsFragment
|
|||||||
.launch();
|
.launch();
|
||||||
mStatusMessagePreference.setText(title, description, clickListener);
|
mStatusMessagePreference.setText(title, description, clickListener);
|
||||||
removeConnectedAccessPointPreference();
|
removeConnectedAccessPointPreference();
|
||||||
mAccessPointsPreferenceCategory.removeAll();
|
removeAccessPointPreference();
|
||||||
mAccessPointsPreferenceCategory.addPreference(mStatusMessagePreference);
|
mStatusMessagePreference.setVisible(true);
|
||||||
}
|
}
|
||||||
|
|
||||||
private void addMessagePreference(int messageId) {
|
private void addMessagePreference(int messageId) {
|
||||||
mStatusMessagePreference.setTitle(messageId);
|
mStatusMessagePreference.setTitle(messageId);
|
||||||
removeConnectedAccessPointPreference();
|
mStatusMessagePreference.setVisible(true);
|
||||||
mAccessPointsPreferenceCategory.removeAll();
|
|
||||||
mAccessPointsPreferenceCategory.addPreference(mStatusMessagePreference);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
protected void setProgressBarVisible(boolean visible) {
|
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.any;
|
||||||
import static org.mockito.ArgumentMatchers.anyInt;
|
import static org.mockito.ArgumentMatchers.anyInt;
|
||||||
import static org.mockito.Mockito.doNothing;
|
import static org.mockito.Mockito.doNothing;
|
||||||
|
import static org.mockito.Mockito.doReturn;
|
||||||
import static org.mockito.Mockito.spy;
|
import static org.mockito.Mockito.spy;
|
||||||
import static org.mockito.Mockito.verify;
|
import static org.mockito.Mockito.verify;
|
||||||
|
import static org.mockito.Mockito.when;
|
||||||
|
|
||||||
import android.app.Activity;
|
import android.app.Activity;
|
||||||
|
import android.content.ContentResolver;
|
||||||
import android.content.Context;
|
import android.content.Context;
|
||||||
import android.content.Intent;
|
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.search.SearchIndexableRaw;
|
||||||
import com.android.settings.testutils.SettingsRobolectricTestRunner;
|
import com.android.settings.testutils.SettingsRobolectricTestRunner;
|
||||||
|
import com.android.settingslib.wifi.WifiTracker;
|
||||||
|
|
||||||
import org.junit.Before;
|
import org.junit.Before;
|
||||||
import org.junit.Test;
|
import org.junit.Test;
|
||||||
import org.junit.runner.RunWith;
|
import org.junit.runner.RunWith;
|
||||||
|
import org.mockito.Mock;
|
||||||
import org.mockito.MockitoAnnotations;
|
import org.mockito.MockitoAnnotations;
|
||||||
|
import org.robolectric.Robolectric;
|
||||||
import org.robolectric.RuntimeEnvironment;
|
import org.robolectric.RuntimeEnvironment;
|
||||||
import org.robolectric.annotation.Config;
|
import org.robolectric.annotation.Config;
|
||||||
|
|
||||||
@@ -42,18 +53,33 @@ import java.util.List;
|
|||||||
@RunWith(SettingsRobolectricTestRunner.class)
|
@RunWith(SettingsRobolectricTestRunner.class)
|
||||||
public class WifiSettingsTest {
|
public class WifiSettingsTest {
|
||||||
|
|
||||||
|
private static final int NUM_NETWORKS = 4;
|
||||||
|
|
||||||
|
@Mock
|
||||||
|
private WifiTracker mWifiTracker;
|
||||||
|
@Mock
|
||||||
|
private PowerManager mPowerManager;
|
||||||
private Context mContext;
|
private Context mContext;
|
||||||
|
private WifiSettings mWifiSettings;
|
||||||
|
|
||||||
@Before
|
@Before
|
||||||
public void setUp() {
|
public void setUp() {
|
||||||
MockitoAnnotations.initMocks(this);
|
MockitoAnnotations.initMocks(this);
|
||||||
mContext = spy(RuntimeEnvironment.application);
|
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
|
@Test
|
||||||
public void testSearchIndexProvider_shouldIndexFragmentTitle() {
|
public void testSearchIndexProvider_shouldIndexFragmentTitle() {
|
||||||
final List<SearchIndexableRaw> indexRes =
|
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).isNotNull();
|
||||||
assertThat(indexRes.get(0).key).isEqualTo(WifiSettings.DATA_KEY_REFERENCE);
|
assertThat(indexRes.get(0).key).isEqualTo(WifiSettings.DATA_KEY_REFERENCE);
|
||||||
@@ -63,7 +89,8 @@ public class WifiSettingsTest {
|
|||||||
@Config(qualifiers = "mcc999")
|
@Config(qualifiers = "mcc999")
|
||||||
public void testSearchIndexProvider_ifWifiSettingsNotVisible_shouldNotIndexFragmentTitle() {
|
public void testSearchIndexProvider_ifWifiSettingsNotVisible_shouldNotIndexFragmentTitle() {
|
||||||
final List<SearchIndexableRaw> indexRes =
|
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();
|
assertThat(indexRes).isEmpty();
|
||||||
}
|
}
|
||||||
@@ -78,4 +105,51 @@ public class WifiSettingsTest {
|
|||||||
|
|
||||||
verify(wifiSettings).handleAddNetworkRequest(anyInt(), any(Intent.class));
|
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