diff options
| author | Xavier Del Campo Romero <xavi.dcr@tutanota.com> | 2024-01-07 23:49:03 +0100 |
|---|---|---|
| committer | Xavier Del Campo Romero <xavi.dcr@tutanota.com> | 2024-05-17 23:28:51 +0200 |
| commit | 40f6d425a4429b16936cc8bb4900a23c3362a123 (patch) | |
| tree | cc60a4a6995604f095952d7c3cda83913c92b61a /src/org/slcl/Main.java | |
| parent | a3bfeb15064ab85900e28f0f3f84b88e99c9a466 (diff) | |
WIP
Diffstat (limited to 'src/org/slcl/Main.java')
| -rw-r--r-- | src/org/slcl/Main.java | 93 |
1 files changed, 93 insertions, 0 deletions
diff --git a/src/org/slcl/Main.java b/src/org/slcl/Main.java new file mode 100644 index 0000000..8ac8c55 --- /dev/null +++ b/src/org/slcl/Main.java @@ -0,0 +1,93 @@ +/* + * slcl-android, an Android frontend for slcl + * Copyright (C) 2023-2024 Xavier Del Campo Romero + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU Affero General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Affero General Public License for more details. + * + * You should have received a copy of the GNU Affero General Public License + * along with this program. If not, see <https://www.gnu.org/licenses/>. + */ + +package org.slcl; + +import org.slcl.LoginActivity; +import org.slcl.Directory; +import org.slcl.core.Cookie; +import java.io.IOException; +import android.app.Activity; +import android.app.ProgressDialog; +import android.content.Context; +import android.content.Intent; +import android.os.AsyncTask; +import android.os.Bundle; +import android.text.Editable; +import android.view.View; + +public final class Main extends Activity { + @Override + protected void onCreate(Bundle savedInstanceState) + { + final LoadTask t = new LoadTask(); + + super.onCreate(savedInstanceState); + setContentView(R.layout.activity_main); + t.execute(); + } + + private final class LoadTask extends AsyncTask<String, String, Cookie> + { + ProgressDialog dialog; + + @Override + protected void onPreExecute() + { + dialog = dialog.show(Main.this, "ProgressDialog", + "Retrieving credentials"); + } + + @Override + protected Cookie doInBackground(final String... args) + { + try { + final InternalFile f = new InternalFile( + getApplicationContext(), "login"); + final Cookie c = new Cookie(f.getFile()); + + return c; + } catch (final IOException e) { + System.out.println(e.getMessage()); + return null; + } + } + + @Override + protected void onProgressUpdate(final String... params) + { + } + + @Override + protected void onPostExecute(final Cookie cookie) + { + final Intent intent; + + if (cookie == null) { + intent = new Intent(Main.this, LoginActivity.class); + } else { + intent = new Intent(Main.this, Directory.class); + // TODO: split cookie with ';' (expiration date, etc.). + intent.putExtra(Directory.EXTRA_ID, cookie.getCookie()); + } + + dialog.dismiss(); + startActivity(intent); + } + } +} |
