From a1bcea69f1f7cd7ad1fc672363fef21a2906f4d6 Mon Sep 17 00:00:00 2001 From: Floens Date: Sun, 15 Nov 2015 17:13:46 +0100 Subject: [PATCH] Pressing done in the legacy captcha input field submits --- .../chan/ui/layout/LegacyCaptchaLayout.java | 20 ++++++++++++++++++- 1 file changed, 19 insertions(+), 1 deletion(-) diff --git a/Clover/app/src/main/java/org/floens/chan/ui/layout/LegacyCaptchaLayout.java b/Clover/app/src/main/java/org/floens/chan/ui/layout/LegacyCaptchaLayout.java index f572545f..9a5c5228 100644 --- a/Clover/app/src/main/java/org/floens/chan/ui/layout/LegacyCaptchaLayout.java +++ b/Clover/app/src/main/java/org/floens/chan/ui/layout/LegacyCaptchaLayout.java @@ -21,7 +21,9 @@ import android.annotation.SuppressLint; import android.content.Context; import android.os.Build; import android.util.AttributeSet; +import android.view.KeyEvent; import android.view.View; +import android.view.inputmethod.EditorInfo; import android.webkit.JavascriptInterface; import android.webkit.WebChromeClient; import android.webkit.WebSettings; @@ -30,6 +32,7 @@ import android.webkit.WebViewClient; import android.widget.EditText; import android.widget.ImageView; import android.widget.LinearLayout; +import android.widget.TextView; import org.floens.chan.ChanBuild; import org.floens.chan.R; @@ -75,6 +78,17 @@ public class LegacyCaptchaLayout extends LinearLayout implements CaptchaLayoutIn image.setRatio(300f / 57f); image.setOnClickListener(this); input = (EditText) findViewById(R.id.input); + input.setOnEditorActionListener(new TextView.OnEditorActionListener() { + @Override + public boolean onEditorAction(TextView v, int actionId, KeyEvent event) { + if (actionId == EditorInfo.IME_ACTION_DONE) { + AndroidUtils.hideKeyboard(input); + submitCaptcha(); + return true; + } + return false; + } + }); submit = (ImageView) findViewById(R.id.submit); theme().sendDrawable.apply(submit); setRoundItemBackground(submit); @@ -103,7 +117,7 @@ public class LegacyCaptchaLayout extends LinearLayout implements CaptchaLayoutIn @Override public void onClick(View v) { if (v == submit) { - callback.captchaEntered(this, challenge, input.getText().toString()); + submitCaptcha(); } else if (v == image) { reset(); } @@ -125,6 +139,10 @@ public class LegacyCaptchaLayout extends LinearLayout implements CaptchaLayoutIn image.setUrl(null, 0, 0); } + private void submitCaptcha() { + callback.captchaEntered(this, challenge, input.getText().toString()); + } + private void onCaptchaLoaded(final String imageUrl, final String challenge) { this.challenge = challenge; image.setUrl(imageUrl, 300, 57);