diff options
Diffstat (limited to 'src/org/slcl/LoginActivity.java')
| -rw-r--r-- | src/org/slcl/LoginActivity.java | 29 |
1 files changed, 15 insertions, 14 deletions
diff --git a/src/org/slcl/LoginActivity.java b/src/org/slcl/LoginActivity.java index 79e2ed4..dd58b9b 100644 --- a/src/org/slcl/LoginActivity.java +++ b/src/org/slcl/LoginActivity.java @@ -20,6 +20,7 @@ package org.slcl; import org.slcl.core.Cookie; import org.slcl.core.Login; +import org.slcl.core.Result; import org.slcl.Directory; import org.slcl.InternalFile; import java.net.URLEncoder; @@ -88,15 +89,14 @@ public final class LoginActivity extends Activity { t.execute(p); } catch (final IOException e) { - //error.setText("Exception: " + e.getMessage()); + new Alert(LoginActivity.this, e.getMessage()); } } }); } - // https://stackoverflow.com/questions/6053602/what-arguments-are-passed-into-asynctaskarg1-arg2-arg3 private final class LoginTask - extends AsyncTask<LoginParams, String, String> + extends AsyncTask<LoginParams, Void, Result<String>> { ProgressDialog dialog; @@ -108,7 +108,7 @@ public final class LoginActivity extends Activity { } @Override - protected String doInBackground(final LoginParams... params) + protected Result<String> doInBackground(final LoginParams... params) { try { final LoginParams p = params[0]; @@ -120,27 +120,28 @@ public final class LoginActivity extends Activity { final Cookie c = new Cookie(p.username, cookie); c.store(f.getFile()); - return ""; + return new Result<String>(); } catch (final IOException e) { - System.out.println(e.getMessage()); - return e.getMessage(); + return new Result<String>("Could not connect: " + + e.getMessage()); } } @Override - protected void onProgressUpdate(final String... text) + protected void onProgressUpdate(final Void... text) { } @Override - protected void onPostExecute(final String result) + protected void onPostExecute(final Result<String> result) { - Intent intent = new Intent(LoginActivity.this, Directory.class); - dialog.dismiss(); - startActivity(intent); - // TODO: review errors. - //error.setText("Exception: " + e.getMessage()); + + if (result.success) { + startActivity(new Intent(LoginActivity.this, Directory.class)); + } else { + new Alert(LoginActivity.this, result.error); + } } } } |
