aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--main/src/cgeo/geocaching/connector/gc/RecaptchaHandler.java10
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);