diff options
-rw-r--r-- | WifiDialog/src/com/android/wifi/dialog/WifiDialogActivity.java | 27 |
1 files changed, 27 insertions, 0 deletions
diff --git a/WifiDialog/src/com/android/wifi/dialog/WifiDialogActivity.java b/WifiDialog/src/com/android/wifi/dialog/WifiDialogActivity.java index 62497d99fb..5fa0177296 100644 --- a/WifiDialog/src/com/android/wifi/dialog/WifiDialogActivity.java +++ b/WifiDialog/src/com/android/wifi/dialog/WifiDialogActivity.java @@ -34,9 +34,11 @@ import android.net.wifi.WifiManager; import android.os.Bundle; import android.os.Process; import android.os.Vibrator; +import android.text.Editable; import android.text.SpannableString; import android.text.Spanned; import android.text.TextUtils; +import android.text.TextWatcher; import android.text.method.LinkMovementMethod; import android.text.style.URLSpan; import android.util.ArraySet; @@ -564,6 +566,31 @@ public class WifiDialogActivity extends Activity { getWifiManager().replyToP2pInvitationReceivedDialog(dialogId, false, null); }) .create(); + if (pinEditText != null) { + dialog.setOnShowListener(dialogShow -> { + dialog.getButton(Dialog.BUTTON_POSITIVE).setEnabled(false); + }); + pinEditText.addTextChangedListener(new TextWatcher() { + @Override + public void onTextChanged(CharSequence s, int start, int before, int count) { + // No-op. + } + + @Override + public void beforeTextChanged(CharSequence s, int start, int count, int after) { + // No-op. + } + + @Override + public void afterTextChanged(Editable s) { + if (s.length() == 4 || s.length() == 8) { + dialog.getButton(Dialog.BUTTON_POSITIVE).setEnabled(true); + } else { + dialog.getButton(Dialog.BUTTON_POSITIVE).setEnabled(false); + } + } + }); + } if ((getResources().getConfiguration().uiMode & Configuration.UI_MODE_TYPE_APPLIANCE) == Configuration.UI_MODE_TYPE_APPLIANCE) { // For appliance devices, add a key listener which accepts. |