From 6044b4230b3a995214cff012d826e77ecf1a489b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Lo=C3=AFc=20Carr?= Date: Tue, 31 Mar 2020 22:04:59 -0700 Subject: [PATCH] More robust to jwt generation bug --- .../com/dimtion/shaarlier/helpers/DebugHelper.java | 11 +++++++---- .../shaarlier/helpers/RestAPINetworkManager.java | 6 ++++++ 2 files changed, 13 insertions(+), 4 deletions(-) diff --git a/app/src/main/java/com/dimtion/shaarlier/helpers/DebugHelper.java b/app/src/main/java/com/dimtion/shaarlier/helpers/DebugHelper.java index 077238d..fc3c389 100644 --- a/app/src/main/java/com/dimtion/shaarlier/helpers/DebugHelper.java +++ b/app/src/main/java/com/dimtion/shaarlier/helpers/DebugHelper.java @@ -5,6 +5,7 @@ import android.content.pm.PackageManager; import android.net.Uri; import android.os.Build; +import android.util.Log; import com.dimtion.shaarlier.R; @@ -21,12 +22,14 @@ public class DebugHelper { public static void sendMailDev(Activity context, String subject, String content) { - Intent intent = new Intent(Intent.ACTION_SENDTO, Uri.fromParts( - "mailto", context.getString(R.string.developer_mail), null)); + Log.d("sendMailDev", content); + Intent intent = new Intent(Intent.ACTION_SENDTO); + intent.setData(Uri.parse("mailto:")); + intent.putExtra(Intent.EXTRA_EMAIL, new String[]{context.getString(R.string.developer_mail)}); intent.putExtra(Intent.EXTRA_SUBJECT, subject); intent.putExtra(Intent.EXTRA_TEXT, content); - context.startActivity(Intent.createChooser(intent, "Debug report...")); + context.startActivity(intent); } public static String generateReport(Exception e, Activity activity, String extra) { @@ -36,7 +39,7 @@ public static String generateReport(Exception e, Activity activity, String extra } public static String generateReport(String[] errorMessage, Activity activity, String extra){ - String message = "Feel free to add a little message : \n\n"; + String message = "Feel free to add a little message: \n\n"; message += "-----BEGIN REPORT-----\n"; message += "Report type: DEBUG \n"; diff --git a/app/src/main/java/com/dimtion/shaarlier/helpers/RestAPINetworkManager.java b/app/src/main/java/com/dimtion/shaarlier/helpers/RestAPINetworkManager.java index 4f500b7..da0f030 100644 --- a/app/src/main/java/com/dimtion/shaarlier/helpers/RestAPINetworkManager.java +++ b/app/src/main/java/com/dimtion/shaarlier/helpers/RestAPINetworkManager.java @@ -58,6 +58,10 @@ public boolean isCompatibleShaarli() throws IOException { } catch (JSONException e) { Log.e("RestAPINetworkManager", e.toString()); return false; + } catch (IllegalArgumentException e) { + // This exception arises in a bug in JJWT module. I added that to help with the debugging + Log.e("RestAPINetworkManager", e.toString()); + throw new IOException("isCompatibleShaarli: " + e.toString()); } // assume a 2XX or 3XX means API V1 supported return true; @@ -211,6 +215,8 @@ public List retrieveTags() throws Exception { * @return JWT encoded in base 64 */ String getJwt() { + // TODO: we are obligated to stay with jjwt 0.9.1 because of Shaarli week keys + // iat in the payload Date date = new Date(); // During debugging I found that given that some servers and phones are not absolutely in sync