From c02cc10d28c625778ea4e3e2bb95006a1a8170b9 Mon Sep 17 00:00:00 2001 From: Nikolay Pultsin Date: Sat, 2 Aug 2014 16:48:28 +0100 Subject: [PATCH] switch sync options off if authorization is failed --- .../preferences/PreferenceActivity.java | 42 +++++++++++-------- 1 file changed, 25 insertions(+), 17 deletions(-) diff --git a/src/org/geometerplus/android/fbreader/preferences/PreferenceActivity.java b/src/org/geometerplus/android/fbreader/preferences/PreferenceActivity.java index 982f311f1..b3cd5ebe2 100644 --- a/src/org/geometerplus/android/fbreader/preferences/PreferenceActivity.java +++ b/src/org/geometerplus/android/fbreader/preferences/PreferenceActivity.java @@ -142,24 +142,32 @@ public class PreferenceActivity extends ZLPreferenceActivity { ) { @Override protected void onClick() { - if (isChecked()) { - new Thread() { - public void run() { - try { - myNetworkContext.perform( - new JsonRequest("https://demo.fbreader.org/login/test") { - @Override - public void processResponse(Object response) { - // TODO: update message - } - } - ); - } catch (ZLNetworkException e) { - e.printStackTrace(); - } - } - }.start(); + superOnClick(); + if (!isChecked()) { + return; } + + new Thread() { + public void run() { + try { + myNetworkContext.perform( + new JsonRequest("https://demo.fbreader.org/login/test") { + @Override + public void processResponse(Object response) { + // TODO: update message + } + } + ); + } catch (ZLNetworkException e) { + e.printStackTrace(); + setChecked(false); + superOnClick(); + } + } + }.start(); + } + + private void superOnClick() { super.onClick(); syncPreferences.run(); }