Merge "Fix issue 52986: Wifi settings abnormal when screen rotation"

This commit is contained in:
Robert Greenwalt
2013-07-19 00:17:42 +00:00
committed by Gerrit Code Review

View File

@@ -52,6 +52,8 @@ import android.widget.CheckBox;
import android.widget.EditText; import android.widget.EditText;
import android.widget.Spinner; import android.widget.Spinner;
import android.widget.TextView; import android.widget.TextView;
import android.widget.CompoundButton;
import android.widget.CompoundButton.OnCheckedChangeListener;
import com.android.settings.ProxySelector; import com.android.settings.ProxySelector;
import com.android.settings.R; import com.android.settings.R;
@@ -64,7 +66,7 @@ import java.util.Iterator;
* share the logic for controlling buttons, text fields, etc. * share the logic for controlling buttons, text fields, etc.
*/ */
public class WifiConfigController implements TextWatcher, public class WifiConfigController implements TextWatcher,
View.OnClickListener, AdapterView.OnItemSelectedListener { AdapterView.OnItemSelectedListener, OnCheckedChangeListener {
private final WifiConfigUiBase mConfigUi; private final WifiConfigUiBase mConfigUi;
private final View mView; private final View mView;
private final AccessPoint mAccessPoint; private final AccessPoint mAccessPoint;
@@ -191,7 +193,9 @@ public class WifiConfigController implements TextWatcher,
showIpConfigFields(); showIpConfigFields();
showProxyFields(); showProxyFields();
mView.findViewById(R.id.wifi_advanced_toggle).setVisibility(View.VISIBLE); mView.findViewById(R.id.wifi_advanced_toggle).setVisibility(View.VISIBLE);
mView.findViewById(R.id.wifi_advanced_togglebox).setOnClickListener(this); ((CheckBox)mView.findViewById(R.id.wifi_advanced_togglebox))
.setOnCheckedChangeListener(this);
mConfigUi.setSubmitButton(context.getString(R.string.wifi_save)); mConfigUi.setSubmitButton(context.getString(R.string.wifi_save));
} else { } else {
@@ -245,7 +249,8 @@ public class WifiConfigController implements TextWatcher,
showIpConfigFields(); showIpConfigFields();
showProxyFields(); showProxyFields();
mView.findViewById(R.id.wifi_advanced_toggle).setVisibility(View.VISIBLE); mView.findViewById(R.id.wifi_advanced_toggle).setVisibility(View.VISIBLE);
mView.findViewById(R.id.wifi_advanced_togglebox).setOnClickListener(this); ((CheckBox)mView.findViewById(R.id.wifi_advanced_togglebox))
.setOnCheckedChangeListener(this);
if (showAdvancedFields) { if (showAdvancedFields) {
((CheckBox)mView.findViewById(R.id.wifi_advanced_togglebox)).setChecked(true); ((CheckBox)mView.findViewById(R.id.wifi_advanced_togglebox)).setChecked(true);
mView.findViewById(R.id.wifi_advanced_fields).setVisibility(View.VISIBLE); mView.findViewById(R.id.wifi_advanced_fields).setVisibility(View.VISIBLE);
@@ -555,7 +560,8 @@ public class WifiConfigController implements TextWatcher,
if (mPasswordView == null) { if (mPasswordView == null) {
mPasswordView = (TextView) mView.findViewById(R.id.password); mPasswordView = (TextView) mView.findViewById(R.id.password);
mPasswordView.addTextChangedListener(this); mPasswordView.addTextChangedListener(this);
((CheckBox) mView.findViewById(R.id.show_password)).setOnClickListener(this); ((CheckBox) mView.findViewById(R.id.show_password))
.setOnCheckedChangeListener(this);
if (mAccessPoint != null && mAccessPoint.networkId != INVALID_NETWORK_ID) { if (mAccessPoint != null && mAccessPoint.networkId != INVALID_NETWORK_ID) {
mPasswordView.setHint(R.string.wifi_unchanged); mPasswordView.setHint(R.string.wifi_unchanged);
@@ -864,18 +870,18 @@ public class WifiConfigController implements TextWatcher,
} }
@Override @Override
public void onClick(View view) { public void onCheckedChanged(CompoundButton view, boolean isChecked) {
if (view.getId() == R.id.show_password) { if (view.getId() == R.id.show_password) {
int pos = mPasswordView.getSelectionEnd(); int pos = mPasswordView.getSelectionEnd();
mPasswordView.setInputType( mPasswordView.setInputType(
InputType.TYPE_CLASS_TEXT | (((CheckBox) view).isChecked() ? InputType.TYPE_CLASS_TEXT | (isChecked ?
InputType.TYPE_TEXT_VARIATION_VISIBLE_PASSWORD : InputType.TYPE_TEXT_VARIATION_VISIBLE_PASSWORD :
InputType.TYPE_TEXT_VARIATION_PASSWORD)); InputType.TYPE_TEXT_VARIATION_PASSWORD));
if (pos >= 0) { if (pos >= 0) {
((EditText)mPasswordView).setSelection(pos); ((EditText)mPasswordView).setSelection(pos);
} }
} else if (view.getId() == R.id.wifi_advanced_togglebox) { } else if (view.getId() == R.id.wifi_advanced_togglebox) {
if (((CheckBox) view).isChecked()) { if (isChecked) {
mView.findViewById(R.id.wifi_advanced_fields).setVisibility(View.VISIBLE); mView.findViewById(R.id.wifi_advanced_fields).setVisibility(View.VISIBLE);
} else { } else {
mView.findViewById(R.id.wifi_advanced_fields).setVisibility(View.GONE); mView.findViewById(R.id.wifi_advanced_fields).setVisibility(View.GONE);