diff options
| author | Samuel Tardieu <sam@rfc1149.net> | 2014-09-15 23:29:33 +0200 |
|---|---|---|
| committer | Samuel Tardieu <sam@rfc1149.net> | 2014-09-15 23:35:17 +0200 |
| commit | 5499b2fa9569228d88fd44f813bbb2adb29403b2 (patch) | |
| tree | 70c6b749cb07f8e7f63153e85ddef408edbf205f | |
| parent | 57892e4b34c88943f95601640f2dc227c15a66d7 (diff) | |
| download | cgeo-5499b2fa9569228d88fd44f813bbb2adb29403b2.zip cgeo-5499b2fa9569228d88fd44f813bbb2adb29403b2.tar.gz cgeo-5499b2fa9569228d88fd44f813bbb2adb29403b2.tar.bz2 | |
fix #4341: captcha doesn't refresh
| -rw-r--r-- | main/src/cgeo/geocaching/connector/gc/RecaptchaHandler.java | 10 |
1 files changed, 6 insertions, 4 deletions
diff --git a/main/src/cgeo/geocaching/connector/gc/RecaptchaHandler.java b/main/src/cgeo/geocaching/connector/gc/RecaptchaHandler.java index 6095514..5bcfd17 100644 --- a/main/src/cgeo/geocaching/connector/gc/RecaptchaHandler.java +++ b/main/src/cgeo/geocaching/connector/gc/RecaptchaHandler.java @@ -41,10 +41,13 @@ public class RecaptchaHandler extends Handler { this.recaptchaReceiver = recaptchaReceiver; } - private void loadChallenge(final ImageView imageView, final View reloadButton) { + private void loadChallenge(final ImageView imageView, final View reloadButton, final boolean needsFetch) { final Observable<Bitmap> captcha = Observable.defer(new Func0<Observable<? extends Bitmap>>() { @Override public Observable<? extends Bitmap> call() { + if (needsFetch) { + recaptchaReceiver.fetchChallenge(); + } final String url = "http://www.google.com/recaptcha/api/image?c=" + recaptchaReceiver.getChallenge(); final InputStream is = Network.getResponseStream(Network.getRequest(url)); if (is != null) { @@ -89,12 +92,11 @@ public class RecaptchaHandler extends Handler { reloadButton.setOnClickListener(new View.OnClickListener() { @Override public void onClick(final View v) { - recaptchaReceiver.fetchChallenge(); - loadChallenge(imageView, reloadButton); + loadChallenge(imageView, reloadButton, true); } }); - loadChallenge(imageView, reloadButton); + loadChallenge(imageView, reloadButton, false); dlg.setTitle(activity.getString(R.string.caches_recaptcha_title)); dlg.setView(view); |
