Add dhcp in advanced settings toggle.
Test: Unit Test Fix: 329002870 Change-Id: I5c57deb1e8ed0dd59a7699b56f5eb99ca29876b8
This commit is contained in:
@@ -72,6 +72,7 @@ import com.android.settings.ProxySelector;
|
||||
import com.android.settings.R;
|
||||
import com.android.settings.network.SubscriptionUtil;
|
||||
import com.android.settings.utils.AndroidKeystoreAliasLoader;
|
||||
import com.android.settings.wifi.details2.WifiPrivacyPreferenceController;
|
||||
import com.android.settings.wifi.dpp.WifiDppUtils;
|
||||
import com.android.settingslib.Utils;
|
||||
import com.android.settingslib.utils.ThreadUtils;
|
||||
@@ -154,6 +155,10 @@ public class WifiConfigController implements TextWatcher,
|
||||
@VisibleForTesting static final int PRIVACY_SPINNER_INDEX_RANDOMIZED_MAC = 0;
|
||||
@VisibleForTesting static final int PRIVACY_SPINNER_INDEX_DEVICE_MAC = 1;
|
||||
|
||||
// Should be the same index value as wifi_dhcp_entries in arrays.xml
|
||||
@VisibleForTesting static final int DHCP_SPINNER_INDEX_SEND_DHCP_HOST_NAME_ENABLE = 0;
|
||||
@VisibleForTesting static final int DHCP_SPINNER_INDEX_SEND_DHCP_HOST_NAME_DISABLE = 1;
|
||||
|
||||
/* Phase2 methods supported by PEAP are limited */
|
||||
private ArrayAdapter<CharSequence> mPhase2PeapAdapter;
|
||||
/* Phase2 methods supported by TTLS are limited */
|
||||
@@ -194,6 +199,7 @@ public class WifiConfigController implements TextWatcher,
|
||||
private Spinner mMeteredSettingsSpinner;
|
||||
private Spinner mHiddenSettingsSpinner;
|
||||
private Spinner mPrivacySettingsSpinner;
|
||||
private Spinner mDhcpSettingsSpinner;
|
||||
private TextView mHiddenWarningView;
|
||||
private TextView mProxyHostView;
|
||||
private TextView mProxyPortView;
|
||||
@@ -291,6 +297,7 @@ public class WifiConfigController implements TextWatcher,
|
||||
mMeteredSettingsSpinner = mView.findViewById(R.id.metered_settings);
|
||||
mHiddenSettingsSpinner = mView.findViewById(R.id.hidden_settings);
|
||||
mPrivacySettingsSpinner = mView.findViewById(R.id.privacy_settings);
|
||||
mDhcpSettingsSpinner = mView.findViewById(R.id.dhcp_settings);
|
||||
if (mWifiManager.isConnectedMacRandomizationSupported()) {
|
||||
View privacySettingsLayout = mView.findViewById(R.id.privacy_settings_fields);
|
||||
privacySettingsLayout.setVisibility(View.VISIBLE);
|
||||
@@ -323,6 +330,12 @@ public class WifiConfigController implements TextWatcher,
|
||||
config.macRandomizationSetting == WifiConfiguration.RANDOMIZATION_PERSISTENT
|
||||
? PRIVACY_SPINNER_INDEX_RANDOMIZED_MAC : PRIVACY_SPINNER_INDEX_DEVICE_MAC);
|
||||
|
||||
mDhcpSettingsSpinner.setSelection(
|
||||
config.isSendDhcpHostnameEnabled()
|
||||
? DHCP_SPINNER_INDEX_SEND_DHCP_HOST_NAME_ENABLE :
|
||||
DHCP_SPINNER_INDEX_SEND_DHCP_HOST_NAME_DISABLE
|
||||
);
|
||||
|
||||
if (config.getIpConfiguration().getIpAssignment() == IpAssignment.STATIC) {
|
||||
mIpSettingsSpinner.setSelection(STATIC_IP);
|
||||
showAdvancedFields = true;
|
||||
@@ -841,6 +854,12 @@ public class WifiConfigController implements TextWatcher,
|
||||
: WifiConfiguration.RANDOMIZATION_NONE;
|
||||
}
|
||||
|
||||
if (mDhcpSettingsSpinner != null) {
|
||||
config.setSendDhcpHostnameEnabled(WifiPrivacyPreferenceController.Companion
|
||||
.translatePrefValueToSendDhcpHostnameEnabled(mDhcpSettingsSpinner
|
||||
.getSelectedItemPosition()));
|
||||
}
|
||||
|
||||
return config;
|
||||
}
|
||||
|
||||
|
@@ -74,6 +74,7 @@ import com.android.settings.ProxySelector;
|
||||
import com.android.settings.R;
|
||||
import com.android.settings.network.SubscriptionUtil;
|
||||
import com.android.settings.utils.AndroidKeystoreAliasLoader;
|
||||
import com.android.settings.wifi.details2.WifiPrivacyPreferenceController;
|
||||
import com.android.settings.wifi.details2.WifiPrivacyPreferenceController2;
|
||||
import com.android.settings.wifi.dpp.WifiDppUtils;
|
||||
import com.android.settingslib.Utils;
|
||||
@@ -208,6 +209,8 @@ public class WifiConfigController2 implements TextWatcher,
|
||||
private Spinner mHiddenSettingsSpinner;
|
||||
@Nullable
|
||||
private Spinner mPrivacySettingsSpinner;
|
||||
@Nullable
|
||||
private Spinner mDhcpSettingsSpinner;
|
||||
private TextView mHiddenWarningView;
|
||||
private TextView mProxyHostView;
|
||||
private TextView mProxyPortView;
|
||||
@@ -308,6 +311,7 @@ public class WifiConfigController2 implements TextWatcher,
|
||||
mHiddenSettingsSpinner = mView.findViewById(R.id.hidden_settings);
|
||||
if (!mHideMeteredAndPrivacy && mWifiManager.isConnectedMacRandomizationSupported()) {
|
||||
mPrivacySettingsSpinner = mView.findViewById(R.id.privacy_settings);
|
||||
mDhcpSettingsSpinner = mView.findViewById(R.id.dhcp_settings);
|
||||
mView.findViewById(R.id.privacy_settings_fields).setVisibility(View.VISIBLE);
|
||||
}
|
||||
mHiddenSettingsSpinner.setOnItemSelectedListener(this);
|
||||
@@ -342,6 +346,13 @@ public class WifiConfigController2 implements TextWatcher,
|
||||
mPrivacySettingsSpinner.setSelection(prefMacValue);
|
||||
}
|
||||
|
||||
if (mDhcpSettingsSpinner != null) {
|
||||
final int prefDhcpValue = WifiPrivacyPreferenceController.Companion
|
||||
.translateSendDhcpHostnameEnabledToPrefValue(
|
||||
config.isSendDhcpHostnameEnabled());
|
||||
mDhcpSettingsSpinner.setSelection(prefDhcpValue);
|
||||
}
|
||||
|
||||
if (config.getIpConfiguration().getIpAssignment() == IpAssignment.STATIC) {
|
||||
mIpSettingsSpinner.setSelection(STATIC_IP);
|
||||
showAdvancedFields = true;
|
||||
@@ -854,6 +865,12 @@ public class WifiConfigController2 implements TextWatcher,
|
||||
.getSelectedItemPosition());
|
||||
}
|
||||
|
||||
if (mDhcpSettingsSpinner != null) {
|
||||
config.setSendDhcpHostnameEnabled(WifiPrivacyPreferenceController.Companion
|
||||
.translatePrefValueToSendDhcpHostnameEnabled(mDhcpSettingsSpinner
|
||||
.getSelectedItemPosition()));
|
||||
}
|
||||
|
||||
return config;
|
||||
}
|
||||
|
||||
|
@@ -63,4 +63,32 @@ class WifiPrivacyPreferenceController(context: Context, preferenceKey: String) :
|
||||
}
|
||||
})
|
||||
}
|
||||
|
||||
companion object {
|
||||
private const val PREF_SEND_DHCP_HOST_NAME_ENABLE = 0
|
||||
private const val PREF_SEND_DHCP_HOST_NAME_DISABLE = 1
|
||||
|
||||
/**
|
||||
* Returns preference index value.
|
||||
*
|
||||
* @param isSendDhcpHostnameEnabled determines whether device name can be sent.
|
||||
* @return index value of preference
|
||||
*/
|
||||
fun translateSendDhcpHostnameEnabledToPrefValue(
|
||||
isSendDhcpHostnameEnabled: Boolean
|
||||
): Int {
|
||||
return if (isSendDhcpHostnameEnabled) PREF_SEND_DHCP_HOST_NAME_ENABLE
|
||||
else PREF_SEND_DHCP_HOST_NAME_DISABLE
|
||||
}
|
||||
|
||||
/**
|
||||
* Returns whether device name can be sent.
|
||||
*
|
||||
* @param prefDhcpRandomized is preference index value
|
||||
* @return is send dhcp host name enabled
|
||||
*/
|
||||
fun translatePrefValueToSendDhcpHostnameEnabled(prefDhcpRandomized: Int): Boolean {
|
||||
return prefDhcpRandomized == PREF_SEND_DHCP_HOST_NAME_ENABLE
|
||||
}
|
||||
}
|
||||
}
|
Reference in New Issue
Block a user