summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--WifiDialog/src/com/android/wifi/dialog/WifiDialogActivity.java27
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.