diff options
| author | Andrew Dolgov <fox@madoka.volgo-balt.ru> | 2013-10-17 16:50:12 +0400 |
|---|---|---|
| committer | Andrew Dolgov <fox@madoka.volgo-balt.ru> | 2013-10-17 16:50:12 +0400 |
| commit | f4a992ed4efd165be516e6250d4e6e79c5866cac (patch) | |
| tree | 626ad2907204b4584a3ecebecb46bbb38d3f3583 /src/org/fox/ttrss/share/CommonShareActivity.java | |
| parent | c79080545cdf327229700d07571df3d7edd1d0e4 (diff) | |
switch commonshareactivity to simpleloginmanager
Diffstat (limited to 'src/org/fox/ttrss/share/CommonShareActivity.java')
| -rw-r--r-- | src/org/fox/ttrss/share/CommonShareActivity.java | 99 |
1 files changed, 25 insertions, 74 deletions
diff --git a/src/org/fox/ttrss/share/CommonShareActivity.java b/src/org/fox/ttrss/share/CommonShareActivity.java index 984ad152..165d38f7 100644 --- a/src/org/fox/ttrss/share/CommonShareActivity.java +++ b/src/org/fox/ttrss/share/CommonShareActivity.java @@ -5,6 +5,7 @@ import java.util.HashMap; import org.fox.ttrss.ApiRequest; import org.fox.ttrss.PreferencesActivity; import org.fox.ttrss.R; +import org.fox.ttrss.util.SimpleLoginManager; import com.google.gson.JsonElement; import com.google.gson.JsonObject; @@ -54,7 +55,6 @@ public abstract class CommonShareActivity extends CommonActivity { protected abstract void onLoggingIn(int requestId); - @SuppressWarnings({ "serial" }) public void login(int requestId) { if (m_prefs.getString("ttrss_url", "").trim().length() == 0) { @@ -80,85 +80,36 @@ public abstract class CommonShareActivity extends CommonActivity { alert.show(); } else { - - LoginRequest ar = new LoginRequest(getApplicationContext(), requestId); - - HashMap<String, String> map = new HashMap<String, String>() { - { - put("op", "login"); - put("user", m_prefs.getString("login", "").trim()); - put("password", m_prefs.getString("password", "").trim()); + + SimpleLoginManager loginManager = new SimpleLoginManager() { + + @Override + protected void onLoginSuccess(int requestId, String sessionId, int apiLevel) { + m_sessionId = sessionId; + m_apiLevel = apiLevel; + + CommonShareActivity.this.onLoggedIn(requestId); + } + + @Override + protected void onLoginFailed(int requestId, ApiRequest ar) { + toast(ar.getErrorMessage()); + setProgressBarIndeterminateVisibility(false); + } + + @Override + protected void onLoggingIn(int requestId) { + CommonShareActivity.this.onLoggingIn(requestId); } }; - - onLoggingIn(requestId); - ar.execute(map); + String login = m_prefs.getString("login", "").trim(); + String password = m_prefs.getString("password", "").trim(); + + loginManager.logIn(this, requestId, login, password); } } - protected class LoginRequest extends ApiRequest { - private int m_requestId; - - public LoginRequest(Context context, int requestId) { - super(context); - m_requestId = requestId; - } - - protected void onPostExecute(JsonElement result) { - if (result != null) { - try { - JsonObject content = result.getAsJsonObject(); - if (content != null) { - m_sessionId = content.get("session_id").getAsString(); - - Log.d(TAG, "Authenticated!"); - - ApiRequest req = new ApiRequest(m_context) { - protected void onPostExecute(JsonElement result) { - m_apiLevel = 0; - - if (result != null) { - try { - m_apiLevel = result.getAsJsonObject() - .get("level").getAsInt(); - } catch (Exception e) { - e.printStackTrace(); - } - } - - Log.d(TAG, "Received API level: " + m_apiLevel); - - onLoggedIn(m_requestId); - } - }; - - @SuppressWarnings("serial") - HashMap<String, String> map = new HashMap<String, String>() { - { - put("sid", m_sessionId); - put("op", "getApiLevel"); - } - }; - - req.execute(map); - - return; - } - - } catch (Exception e) { - e.printStackTrace(); - } - } - - m_sessionId = null; - - toast(getErrorMessage()); - setProgressBarIndeterminateVisibility(false); - } - - } - public boolean onOptionsItemSelected(MenuItem item) { switch (item.getItemId()) { case R.id.preferences: |