Fix Wi-Fi Easy Connect buttons UI defects
1. Apply attr/colorAccent to button icons for theme UI control 2. Apply attr/selectableItemBackground for button tapping ripple effect 3. Use ConstraintLayout to separate ssid EditText and scan button 4. Remove ButtonPreference and add AddNetworkPreference. ButtonPreference's naming and design look like a general purpose UI component but it's not. This change refactors the code. 5. In AddNetworkPreference, use settingslib layout file 'preference_access_point' to fix UI alignment problems. Bug: 126964552 Bug: 125434239 Bug: 126762937 Test: manual test atest com.android.settings.wifi.WifiSettingsTest Change-Id: Ib899a1e10f96bb8427ff00d6b5dfca37a0642c44
This commit is contained in:
@@ -178,7 +178,8 @@ public class WifiSettings extends RestrictedSettingsFragment
|
||||
|
||||
private PreferenceCategory mConnectedAccessPointPreferenceCategory;
|
||||
private PreferenceCategory mAccessPointsPreferenceCategory;
|
||||
private ButtonPreference mAddPreference;
|
||||
@VisibleForTesting
|
||||
AddWifiNetworkPreference mAddWifiNetworkPreference;
|
||||
@VisibleForTesting
|
||||
Preference mConfigureWifiSettingsPreference;
|
||||
@VisibleForTesting
|
||||
@@ -236,20 +237,8 @@ public class WifiSettings extends RestrictedSettingsFragment
|
||||
(PreferenceCategory) findPreference(PREF_KEY_ACCESS_POINTS);
|
||||
mConfigureWifiSettingsPreference = findPreference(PREF_KEY_CONFIGURE_WIFI_SETTINGS);
|
||||
mSavedNetworksPreference = findPreference(PREF_KEY_SAVED_NETWORKS);
|
||||
|
||||
Context prefContext = getPrefContext();
|
||||
mAddPreference = new ButtonPreference(prefContext);
|
||||
mAddPreference.setIcon(R.drawable.ic_menu_add);
|
||||
mAddPreference.setTitle(R.string.wifi_add_network);
|
||||
mAddPreference.setButtonIcon(R.drawable.ic_scan_24dp);
|
||||
mAddPreference.setButtonOnClickListener((View v) -> {
|
||||
// Launch QR code scanner to join a network.
|
||||
getContext().startActivity(
|
||||
WifiDppUtils.getEnrolleeQrCodeScannerIntent(/* ssid */ null));
|
||||
});
|
||||
mAddPreference.setButtonContentDescription(getString(R.string.wifi_dpp_scan_qr_code));
|
||||
mAddWifiNetworkPreference = new AddWifiNetworkPreference(getPrefContext());
|
||||
mStatusMessagePreference = (LinkablePreference) findPreference(PREF_KEY_STATUS_MESSAGE);
|
||||
|
||||
mUserBadgeCache = new AccessPointPreference.UserBadgeCache(getPackageManager());
|
||||
}
|
||||
|
||||
@@ -589,7 +578,7 @@ public class WifiSettings extends RestrictedSettingsFragment
|
||||
showDialog(mSelectedAccessPoint, WifiConfigUiBase.MODE_CONNECT);
|
||||
break;
|
||||
}
|
||||
} else if (preference == mAddPreference) {
|
||||
} else if (preference == mAddWifiNetworkPreference) {
|
||||
onAddNetworkPressed();
|
||||
} else {
|
||||
return super.onPreferenceTreeClick(preference);
|
||||
@@ -808,8 +797,8 @@ public class WifiSettings extends RestrictedSettingsFragment
|
||||
}
|
||||
}
|
||||
removeCachedPrefs(mAccessPointsPreferenceCategory);
|
||||
mAddPreference.setOrder(index);
|
||||
mAccessPointsPreferenceCategory.addPreference(mAddPreference);
|
||||
mAddWifiNetworkPreference.setOrder(index);
|
||||
mAccessPointsPreferenceCategory.addPreference(mAddWifiNetworkPreference);
|
||||
setAdditionalSettingsSummaries();
|
||||
|
||||
if (!hasAvailableAccessPoints) {
|
||||
|
Reference in New Issue
Block a user