From 760a8451eaacd125f1ea4905120c546b7a17e1b2 Mon Sep 17 00:00:00 2001 From: tom79 Date: Sun, 21 May 2017 16:57:59 +0200 Subject: [PATCH] Improves login page (no longer requires webview component) --- app/src/main/AndroidManifest.xml | 4 - .../mastodon/activities/LoginActivity.java | 62 +++++- .../mastodon/activities/WebviewActivity.java | 195 ------------------ .../UpdateAccountInfoAsyncTask.java | 31 +-- .../client/MastalabSSLSocketFactory.java | 4 +- .../etalab/mastodon/client/OauthClient.java | 1 + .../drawers/NotificationsListAdapter.java | 27 ++- .../mastodon/jobs/HomeTimelineSyncJob.java | 2 +- .../mastodon/jobs/NotificationsSyncJob.java | 2 +- .../main/res/drawable/background_splash.xml | 2 +- app/src/main/res/drawable/mastodon_logo.png | Bin 60667 -> 0 bytes app/src/main/res/drawable/mastodonlogo.png | Bin 0 -> 8987 bytes app/src/main/res/layout/activity_login.xml | 30 ++- app/src/main/res/layout/drawer_status.xml | 4 - app/src/main/res/values/strings.xml | 3 + build.gradle | 2 +- 16 files changed, 108 insertions(+), 261 deletions(-) delete mode 100644 app/src/main/java/fr/gouv/etalab/mastodon/activities/WebviewActivity.java delete mode 100644 app/src/main/res/drawable/mastodon_logo.png create mode 100644 app/src/main/res/drawable/mastodonlogo.png diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index eb839a2ac..a6b2329f3 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -42,10 +42,6 @@ android:configChanges="keyboardHidden|orientation|screenSize" android:theme="@style/AppTheme.NoActionBar"> - parameters = new HashMap<>(); + final HashMap parameters = new HashMap<>(); parameters.put(Helper.CLIENT_NAME, Helper.OAUTH_REDIRECT_HOST); parameters.put(Helper.REDIRECT_URIS,"https://" + Helper.INSTANCE + Helper.REDIRECT_CONTENT); parameters.put(Helper.SCOPES, Helper.OAUTH_SCOPES); @@ -105,8 +115,50 @@ public class LoginActivity extends AppCompatActivity { connectionButton.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { - startActivity(webviewIntent); - finish(); + connectionButton.setEnabled(false); + AsyncHttpClient client = new AsyncHttpClient(); + RequestParams requestParams = new RequestParams(); + SharedPreferences sharedpreferences = getSharedPreferences(Helper.APP_PREFS, Context.MODE_PRIVATE); + requestParams.add(Helper.CLIENT_ID, sharedpreferences.getString(Helper.CLIENT_ID, null)); + requestParams.add(Helper.CLIENT_SECRET, sharedpreferences.getString(Helper.CLIENT_SECRET, null)); + requestParams.add("grant_type", "password"); + EditText login_uid = (EditText) findViewById(R.id.login_uid); + EditText login_passwd = (EditText) findViewById(R.id.login_passwd); + requestParams.add("username",login_uid.getText().toString().trim()); + requestParams.add("password",login_passwd.getText().toString().trim()); + client.setUserAgent(USER_AGENT); + try { + client.setSSLSocketFactory(new MastalabSSLSocketFactory(MastalabSSLSocketFactory.getKeystore())); + client.post("https://" + Helper.INSTANCE + "/oauth/token", requestParams, new AsyncHttpResponseHandler() { + @Override + public void onSuccess(int statusCode, Header[] headers, byte[] responseBody) { + String response = new String(responseBody); + JSONObject resobj; + try { + resobj = new JSONObject(response); + String token = resobj.get("access_token").toString(); + SharedPreferences sharedpreferences = getSharedPreferences(Helper.APP_PREFS, Context.MODE_PRIVATE); + SharedPreferences.Editor editor = sharedpreferences.edit(); + editor.putString(Helper.PREF_KEY_OAUTH_TOKEN, token); + editor.apply(); + //Update the account with the token; + new UpdateAccountInfoAsyncTask(LoginActivity.this, token).executeOnExecutor(AsyncTask.THREAD_POOL_EXECUTOR); + } catch (JSONException e) { + e.printStackTrace(); + } + } + + @Override + public void onFailure(int statusCode, Header[] headers, byte[] responseBody, Throwable error) { + connectionButton.setEnabled(true); + Toast.makeText(getApplicationContext(),R.string.toast_error_login,Toast.LENGTH_LONG).show(); + } + }); + + } catch (NoSuchAlgorithmException | KeyManagementException | UnrecoverableKeyException | KeyStoreException e) { + e.printStackTrace(); + } + } }); } diff --git a/app/src/main/java/fr/gouv/etalab/mastodon/activities/WebviewActivity.java b/app/src/main/java/fr/gouv/etalab/mastodon/activities/WebviewActivity.java deleted file mode 100644 index 6f5afcb85..000000000 --- a/app/src/main/java/fr/gouv/etalab/mastodon/activities/WebviewActivity.java +++ /dev/null @@ -1,195 +0,0 @@ -/* Copyright 2017 Thomas Schneider - * - * This file is a part of Mastodon Etalab for mastodon.etalab.gouv.fr - * - * This program is free software; you can redistribute it and/or modify it under the terms of the - * GNU General Public License as published by the Free Software Foundation; either version 3 of the - * License, or (at your option) any later version. - * - * Mastodon Etalab 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 General - * Public License for more details. - * - * You should have received a copy of the GNU General Public License along with Thomas Schneider; if not, - * see . */ - -package fr.gouv.etalab.mastodon.activities; - - -import android.app.Activity; -import android.content.Context; -import android.content.SharedPreferences; -import android.net.Uri; -import android.os.AsyncTask; -import android.os.Build; -import android.os.Bundle; -import android.support.v7.app.AlertDialog; -import android.support.v7.app.AppCompatActivity; -import android.webkit.CookieManager; -import android.webkit.CookieSyncManager; -import android.webkit.WebChromeClient; -import android.webkit.WebView; -import android.webkit.WebViewClient; -import android.widget.ProgressBar; - -import com.loopj.android.http.AsyncHttpResponseHandler; - -import org.json.JSONException; -import org.json.JSONObject; - -import java.util.HashMap; - -import cz.msebera.android.httpclient.Header; -import mastodon.etalab.gouv.fr.mastodon.R; -import fr.gouv.etalab.mastodon.asynctasks.UpdateAccountInfoAsyncTask; -import fr.gouv.etalab.mastodon.client.OauthClient; -import fr.gouv.etalab.mastodon.helper.Helper; - -/** - * Created by Thomas on 24/04/2017. - * Webview to connect accounts - */ -public class WebviewActivity extends AppCompatActivity { - - - private Activity activity; - private WebView webView; - private Context context; - private AlertDialog alert; - private String clientId, clientSecret; - - public void onCreate(Bundle savedInstanceState) - { - super.onCreate(savedInstanceState); - setContentView(R.layout.activity_webview); - this.activity = this; - this.context = this; - this.context = this.getApplicationContext(); - SharedPreferences sharedpreferences = getSharedPreferences(Helper.APP_PREFS, Context.MODE_PRIVATE); - clientId = sharedpreferences.getString(Helper.CLIENT_ID, null); - clientSecret = sharedpreferences.getString(Helper.CLIENT_SECRET, null); - - webView = (WebView) findViewById(R.id.webviewConnect); - clearCookies(getApplicationContext()); - final ProgressBar pbar = (ProgressBar) findViewById(R.id.progress_bar); - - webView.setWebChromeClient(new WebChromeClient() { - @Override - public void onProgressChanged(WebView view, int progress) { - if (progress < 100 && pbar.getVisibility() == ProgressBar.GONE) { - pbar.setVisibility(ProgressBar.VISIBLE); - } - pbar.setProgress(progress); - if (progress == 100) { - pbar.setVisibility(ProgressBar.GONE); - } - } - }); - webView.setWebViewClient(new WebViewClient() { - @SuppressWarnings("deprecation") - @Override - public boolean shouldOverrideUrlLoading(WebView view, String url){ - super.shouldOverrideUrlLoading(view,url); - if( url.contains(Helper.REDIRECT_CONTENT)){ - String val[] = url.split("code="); - String code = val[1]; - - String action = "/oauth/token"; - HashMap parameters = new HashMap<>(); - parameters.put(Helper.CLIENT_ID, clientId); - parameters.put(Helper.CLIENT_SECRET, clientSecret); - parameters.put(Helper.REDIRECT_URI,"https://" + Helper.INSTANCE + Helper.REDIRECT_CONTENT); - parameters.put("grant_type", "authorization_code"); - parameters.put("code",code); - new OauthClient().post(action, parameters, new AsyncHttpResponseHandler() { - @Override - public void onSuccess(int statusCode, Header[] headers, byte[] responseBody) { - String response = new String(responseBody); - JSONObject resobj; - try { - resobj = new JSONObject(response); - String token = resobj.get("access_token").toString(); - SharedPreferences sharedpreferences = getSharedPreferences(Helper.APP_PREFS, Context.MODE_PRIVATE); - SharedPreferences.Editor editor = sharedpreferences.edit(); - editor.putString(Helper.PREF_KEY_OAUTH_TOKEN, token); - editor.apply(); - //Update the account with the token; - new UpdateAccountInfoAsyncTask(WebviewActivity.this, true, token).executeOnExecutor(AsyncTask.THREAD_POOL_EXECUTOR); - } catch (JSONException e) { - e.printStackTrace(); - } - - } - - @Override - public void onFailure(int statusCode, Header[] headers, byte[] responseBody, Throwable error) { - error.printStackTrace(); - } - }); - - - return true; - } - return false; - } - }); - webView.loadUrl(redirectUserToAuthorizeAndLogin()); - } - - - @Override - public void onBackPressed() { - if (webView != null && webView.canGoBack()) { - webView.goBack(); - } else { - super.onBackPressed(); - } - } - - - - private String redirectUserToAuthorizeAndLogin() { - - String queryString = Helper.CLIENT_ID + "="+ clientId; - queryString += "&" + Helper.REDIRECT_URI + "="+ Uri.encode("https://" + Helper.INSTANCE + "/redirect_mastodon_api"); - queryString += "&" + Helper.RESPONSE_TYPE +"=code"; - queryString += "&" + Helper.SCOPE +"=" + Helper.OAUTH_SCOPES; - /*try { - queryString = URLEncoder.encode(queryString, "utf-8"); - } catch (UnsupportedEncodingException ignored) {}*/ - return "https://" + Helper.INSTANCE + Helper.EP_AUTHORIZE + "?" + queryString; - } - - - private String getOauthRedirectUri() { - return Helper.OAUTH_SCHEME + "://" + Helper.OAUTH_REDIRECT_HOST + "/"; - } - - @Override - public void onDestroy() { - super.onDestroy(); - if (alert != null) { - alert.dismiss(); - alert = null; - } - } - - @SuppressWarnings("deprecation") - public static void clearCookies(Context context) - { - - if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP_MR1) { - CookieManager.getInstance().removeAllCookies(null); - CookieManager.getInstance().flush(); - } else - { - CookieSyncManager cookieSyncMngr=CookieSyncManager.createInstance(context); - cookieSyncMngr.startSync(); - CookieManager cookieManager=CookieManager.getInstance(); - cookieManager.removeAllCookie(); - cookieManager.removeSessionCookie(); - cookieSyncMngr.stopSync(); - cookieSyncMngr.sync(); - } - } -} diff --git a/app/src/main/java/fr/gouv/etalab/mastodon/asynctasks/UpdateAccountInfoAsyncTask.java b/app/src/main/java/fr/gouv/etalab/mastodon/asynctasks/UpdateAccountInfoAsyncTask.java index a39442654..84ea7437f 100644 --- a/app/src/main/java/fr/gouv/etalab/mastodon/asynctasks/UpdateAccountInfoAsyncTask.java +++ b/app/src/main/java/fr/gouv/etalab/mastodon/asynctasks/UpdateAccountInfoAsyncTask.java @@ -20,13 +20,11 @@ import android.content.Intent; import android.content.SharedPreferences; import android.database.sqlite.SQLiteDatabase; import android.os.AsyncTask; -import android.util.Log; import fr.gouv.etalab.mastodon.activities.MainActivity; import fr.gouv.etalab.mastodon.client.API; import fr.gouv.etalab.mastodon.client.Entities.Account; import fr.gouv.etalab.mastodon.helper.Helper; -import fr.gouv.etalab.mastodon.interfaces.OnUpdateAccountInfoInterface; import fr.gouv.etalab.mastodon.sqlite.Sqlite; import fr.gouv.etalab.mastodon.sqlite.AccountDAO; @@ -39,22 +37,11 @@ public class UpdateAccountInfoAsyncTask extends AsyncTask { private Context context; private String token; - private boolean fromWebview; - private boolean error; - private OnUpdateAccountInfoInterface listener; - public UpdateAccountInfoAsyncTask(Context context, String token, OnUpdateAccountInfoInterface onUpdateAccountInfoInterface){ + + public UpdateAccountInfoAsyncTask(Context context, String token){ this.context = context; this.token = token; - this.fromWebview = false; - this.error = false; - this.listener = onUpdateAccountInfoInterface; - } - - public UpdateAccountInfoAsyncTask(Context context, boolean fromWebview, String token){ - this.context = context; - this.token = token; - this.fromWebview = fromWebview; } @@ -78,8 +65,6 @@ public class UpdateAccountInfoAsyncTask extends AsyncTask { else { if( account.getUsername() != null && account.getCreated_at() != null) new AccountDAO(context, db).insertAccount(account); - else //Here the user credential in db doesn't match the remote one (it will be disconnected) - error = true; } return null; } @@ -87,14 +72,10 @@ public class UpdateAccountInfoAsyncTask extends AsyncTask { @Override protected void onPostExecute(Void result) { - if( fromWebview){ - Intent mainActivity = new Intent(context, MainActivity.class); - mainActivity.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK); - context.startActivity(mainActivity); - ((Activity) context).finish(); - }else{ - listener.onUpdateAccountInfo(error); - } + Intent mainActivity = new Intent(context, MainActivity.class); + mainActivity.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK); + context.startActivity(mainActivity); + ((Activity) context).finish(); } diff --git a/app/src/main/java/fr/gouv/etalab/mastodon/client/MastalabSSLSocketFactory.java b/app/src/main/java/fr/gouv/etalab/mastodon/client/MastalabSSLSocketFactory.java index 6979576ec..1789a491f 100644 --- a/app/src/main/java/fr/gouv/etalab/mastodon/client/MastalabSSLSocketFactory.java +++ b/app/src/main/java/fr/gouv/etalab/mastodon/client/MastalabSSLSocketFactory.java @@ -27,7 +27,7 @@ import javax.net.ssl.X509TrustManager; * https://code.google.com/p/android/issues/detail?id=13117#c14

 

Warning! This omits SSL * certificate validation on every device, use with caution */ -class MastalabSSLSocketFactory extends com.loopj.android.http.MySSLSocketFactory { +public class MastalabSSLSocketFactory extends com.loopj.android.http.MySSLSocketFactory { private final SSLContext sslContext = SSLContext.getInstance("TLS"); /** @@ -39,7 +39,7 @@ class MastalabSSLSocketFactory extends com.loopj.android.http.MySSLSocketFactory * @throws KeyStoreException KeyStoreException * @throws UnrecoverableKeyException UnrecoverableKeyException */ - MastalabSSLSocketFactory(KeyStore truststore) throws NoSuchAlgorithmException, KeyManagementException, KeyStoreException, UnrecoverableKeyException { + public MastalabSSLSocketFactory(KeyStore truststore) throws NoSuchAlgorithmException, KeyManagementException, KeyStoreException, UnrecoverableKeyException { super(truststore); X509TrustManager tm = new X509TrustManager() { public void checkClientTrusted(X509Certificate[] chain, String authType) throws CertificateException { diff --git a/app/src/main/java/fr/gouv/etalab/mastodon/client/OauthClient.java b/app/src/main/java/fr/gouv/etalab/mastodon/client/OauthClient.java index 4df102592..262c1a0a2 100644 --- a/app/src/main/java/fr/gouv/etalab/mastodon/client/OauthClient.java +++ b/app/src/main/java/fr/gouv/etalab/mastodon/client/OauthClient.java @@ -59,6 +59,7 @@ public class OauthClient { public void post(String action, HashMap paramaters, AsyncHttpResponseHandler responseHandler) { RequestParams params = hashToRequestParams(paramaters); try { + client.setConnectTimeout(30000); //30s timeout client.setUserAgent(USER_AGENT); client.setSSLSocketFactory(new MastalabSSLSocketFactory(MastalabSSLSocketFactory.getKeystore())); client.post(getAbsoluteUrl(action), params, responseHandler); diff --git a/app/src/main/java/fr/gouv/etalab/mastodon/drawers/NotificationsListAdapter.java b/app/src/main/java/fr/gouv/etalab/mastodon/drawers/NotificationsListAdapter.java index 476492543..b45a3346b 100644 --- a/app/src/main/java/fr/gouv/etalab/mastodon/drawers/NotificationsListAdapter.java +++ b/app/src/main/java/fr/gouv/etalab/mastodon/drawers/NotificationsListAdapter.java @@ -171,19 +171,16 @@ public class NotificationsListAdapter extends BaseAdapter { //Adds attachment -> disabled, to enable them uncomment the line below //loadAttachments(status, holder); holder.notification_status_container.setVisibility(View.VISIBLE); - - if( !status.getIn_reply_to_account_id().equals("null") || !status.getIn_reply_to_id().equals("null") ) { - holder.notification_status_content.setOnClickListener(new View.OnClickListener() { - @Override - public void onClick(View v) { - Intent intent = new Intent(context, ShowConversationActivity.class); - Bundle b = new Bundle(); - b.putString("statusId", status.getId()); //Your id - intent.putExtras(b); //Put your id to your next Intent - context.startActivity(intent); - } - }); - } + holder.notification_status_content.setOnClickListener(new View.OnClickListener() { + @Override + public void onClick(View v) { + Intent intent = new Intent(context, ShowConversationActivity.class); + Bundle b = new Bundle(); + b.putString("statusId", status.getId()); + intent.putExtras(b); + context.startActivity(intent); + } + }); switch (status.getVisibility()){ case "public": holder.status_privacy.setImageResource(R.drawable.ic_action_globe); @@ -216,8 +213,8 @@ public class NotificationsListAdapter extends BaseAdapter { public void onClick(View v) { Intent intent = new Intent(context, TootActivity.class); Bundle b = new Bundle(); - b.putString("inReplyTo", notification.getStatus().getId()); //Your id - intent.putExtras(b); //Put your id to your next Intent + b.putString("inReplyTo", notification.getStatus().getId()); + intent.putExtras(b); context.startActivity(intent); } }); diff --git a/app/src/main/java/fr/gouv/etalab/mastodon/jobs/HomeTimelineSyncJob.java b/app/src/main/java/fr/gouv/etalab/mastodon/jobs/HomeTimelineSyncJob.java index 215e2f1de..2d187e900 100644 --- a/app/src/main/java/fr/gouv/etalab/mastodon/jobs/HomeTimelineSyncJob.java +++ b/app/src/main/java/fr/gouv/etalab/mastodon/jobs/HomeTimelineSyncJob.java @@ -142,7 +142,7 @@ public class HomeTimelineSyncJob extends Job implements OnRetrieveHomeTimelineSe title = getContext().getResources().getString(R.string.notif_pouet, status.getAccount().getDisplay_name()); }catch (Exception e){ icon_notification = BitmapFactory.decodeResource(getContext().getResources(), - R.drawable.mastodon_logo); + R.drawable.mastodonlogo); } } } diff --git a/app/src/main/java/fr/gouv/etalab/mastodon/jobs/NotificationsSyncJob.java b/app/src/main/java/fr/gouv/etalab/mastodon/jobs/NotificationsSyncJob.java index 2f2ab6cb4..a116e1b2f 100644 --- a/app/src/main/java/fr/gouv/etalab/mastodon/jobs/NotificationsSyncJob.java +++ b/app/src/main/java/fr/gouv/etalab/mastodon/jobs/NotificationsSyncJob.java @@ -199,7 +199,7 @@ public class NotificationsSyncJob extends Job implements OnRetrieveNotifications icon_notification = imageLoaderNoty.loadImageSync(notificationUrl); }catch (Exception e){ icon_notification = BitmapFactory.decodeResource(getContext().getResources(), - R.drawable.mastodon_logo); + R.drawable.mastodonlogo); } } } diff --git a/app/src/main/res/drawable/background_splash.xml b/app/src/main/res/drawable/background_splash.xml index 3b4b972b7..1204da0ab 100644 --- a/app/src/main/res/drawable/background_splash.xml +++ b/app/src/main/res/drawable/background_splash.xml @@ -23,6 +23,6 @@ + android:src="@drawable/mastodonlogo"/> \ No newline at end of file diff --git a/app/src/main/res/drawable/mastodon_logo.png b/app/src/main/res/drawable/mastodon_logo.png deleted file mode 100644 index f0df29927885c3daa2b7cfc380c31c5ce463e559..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 60667 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�=UZDF3@qdveyEA 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 + + +