Merge "Stop showing software keyboard when appropriate"
This commit is contained in:
committed by
Android (Google) Code Review
commit
a79a7ac47a
@@ -70,17 +70,26 @@ public class WifiConfigUiForSetupWizardXL implements WifiConfigUiBase, OnFocusCh
|
|||||||
mView = mInflater.inflate(R.layout.wifi_config_ui_for_setup_wizard, parent, true);
|
mView = mInflater.inflate(R.layout.wifi_config_ui_for_setup_wizard, parent, true);
|
||||||
mController = new WifiConfigController(this, mView, mAccessPoint, edit);
|
mController = new WifiConfigController(this, mView, mAccessPoint, edit);
|
||||||
|
|
||||||
// Set Focus to password View.
|
// Assumes R.id.password is inside security_fields.
|
||||||
final View viewToBeFocused = mView.findViewById(R.id.password);
|
// TODO: confirm it is ok to assume R.id.password is the only EditText to be focused, and
|
||||||
if (viewToBeFocused != null && viewToBeFocused.getVisibility() == View.VISIBLE &&
|
// R.id.security_fields is the only parent for possible EditTexts. Possibly we need to
|
||||||
viewToBeFocused instanceof EditText) {
|
// check parentand detect visibility manually.
|
||||||
// After acquiring the focus, we show software keyboard.
|
if (mView.findViewById(R.id.security_fields).getVisibility() == View.VISIBLE) {
|
||||||
viewToBeFocused.setOnFocusChangeListener(this);
|
// Set Focus to password View.
|
||||||
final boolean requestFocusResult = viewToBeFocused.requestFocus();
|
final View viewToBeFocused = mView.findViewById(R.id.password);
|
||||||
Log.i(TAG, String.format("Focus request %s.",
|
if (viewToBeFocused == null) {
|
||||||
(requestFocusResult ? "successful" : "failed")));
|
Log.w(TAG, "password field to be focused not found.");
|
||||||
if (!requestFocusResult) {
|
} else if (!(viewToBeFocused instanceof EditText)) {
|
||||||
viewToBeFocused.setOnFocusChangeListener(null);
|
Log.w(TAG, "password field is not EditText");
|
||||||
|
} else {
|
||||||
|
// After acquiring the focus, we show software keyboard.
|
||||||
|
viewToBeFocused.setOnFocusChangeListener(this);
|
||||||
|
final boolean requestFocusResult = viewToBeFocused.requestFocus();
|
||||||
|
Log.i(TAG, String.format("Focus request %s.",
|
||||||
|
(requestFocusResult ? "successful" : "failed")));
|
||||||
|
if (!requestFocusResult) {
|
||||||
|
viewToBeFocused.setOnFocusChangeListener(null);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@@ -163,6 +163,7 @@ public class WifiSettingsForSetupWizardXL extends Activity implements OnClickLis
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void onClick(View view) {
|
public void onClick(View view) {
|
||||||
|
hideSoftwareKeyboard();
|
||||||
if (view == mAddNetworkButton) {
|
if (view == mAddNetworkButton) {
|
||||||
onAddNetworkButtonPressed();
|
onAddNetworkButtonPressed();
|
||||||
} else if (view == mRefreshButton) {
|
} else if (view == mRefreshButton) {
|
||||||
@@ -184,7 +185,6 @@ public class WifiSettingsForSetupWizardXL extends Activity implements OnClickLis
|
|||||||
} else if (view == mDetailButton) {
|
} else if (view == mDetailButton) {
|
||||||
mWifiSettings.showDialogForSelectedPreference();
|
mWifiSettings.showDialogForSelectedPreference();
|
||||||
}
|
}
|
||||||
hideSoftwareKeyboard();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
private void hideSoftwareKeyboard() {
|
private void hideSoftwareKeyboard() {
|
||||||
|
Reference in New Issue
Block a user