From fced56ecacc72c2bf757b477c1b2d0f351643e3a Mon Sep 17 00:00:00 2001 From: BuildTools Date: Sun, 25 Feb 2018 13:28:49 +0100 Subject: [PATCH 1/2] Min kanboard version check modified. Kanboard v1.2.x version detected as older than v1.11# --- .../main/java/in/andres/kandroid/ui/LoginActivity.java | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/app/src/main/java/in/andres/kandroid/ui/LoginActivity.java b/app/src/main/java/in/andres/kandroid/ui/LoginActivity.java index 9d7aa40..b661dfe 100644 --- a/app/src/main/java/in/andres/kandroid/ui/LoginActivity.java +++ b/app/src/main/java/in/andres/kandroid/ui/LoginActivity.java @@ -239,9 +239,11 @@ public void onDismiss(DialogInterface dialog) { editor.putString("username", username); editor.putString("password", password); editor.apply(); - } else if (version[0] >= Constants.minKanboardVersion[0] && - version[1] >= Constants.minKanboardVersion[1] && - version[2] >= Constants.minKanboardVersion[2]) { + } else if (version[0]*10000+version[1]*100+version[2] >= + Constants.minKanboardVersion[0]*10000 + +Constants.minKanboardVersion[1]*100 + +Constants.minKanboardVersion[2] + ) { SharedPreferences preferences = PreferenceManager.getDefaultSharedPreferences(getApplicationContext()); SharedPreferences.Editor editor = preferences.edit(); editor.putString("serverurl", serverurl.trim()); @@ -305,4 +307,3 @@ public void onAnimationEnd(Animator animation) { } } } - From 7eb9bed32f789ecfcdb380740f0d13e90ba83833 Mon Sep 17 00:00:00 2001 From: BuildTools Date: Tue, 27 Feb 2018 22:44:29 +0100 Subject: [PATCH 2/2] Check urls in JSON response to avoid error if calendar-plugin is not installed on Kanboard and 'calendar' url is not send --- .../kandroid/kanboard/KanboardProject.java | 17 ++++++++++++++--- 1 file changed, 14 insertions(+), 3 deletions(-) diff --git a/app/src/main/java/in/andres/kandroid/kanboard/KanboardProject.java b/app/src/main/java/in/andres/kandroid/kanboard/KanboardProject.java index 8ea89f4..d77354f 100644 --- a/app/src/main/java/in/andres/kandroid/kanboard/KanboardProject.java +++ b/app/src/main/java/in/andres/kandroid/kanboard/KanboardProject.java @@ -21,6 +21,7 @@ import android.support.annotation.NonNull; import android.support.annotation.Nullable; +import android.text.TextUtils; import org.json.JSONArray; import org.json.JSONObject; @@ -75,6 +76,15 @@ public KanboardProject(@NonNull JSONObject project) throws MalformedURLException this(project, null, null, null, null, null, null, null); } + private URL readUrlFromJSON(JSONObject urls, String urlName ) throws MalformedURLException { + String url = urls.optString(urlName); + URL returnUrl = null; + if (!TextUtils.isEmpty(url)){ + returnUrl = new URL(url); + } + return returnUrl; + } + public KanboardProject(@NonNull JSONObject project, @Nullable JSONArray columns, @Nullable JSONArray swimlanes, @Nullable JSONArray categories, @Nullable JSONArray activetasks, @Nullable JSONArray inactivetasks, @Nullable JSONArray overduetasks, @@ -108,9 +118,10 @@ public KanboardProject(@NonNull JSONObject project, @Nullable JSONArray columns, NumberActiveTasks = project.optInt("nb_active_tasks"); JSONObject urls = project.optJSONObject("url"); if (urls != null) { - ListURL = new URL(urls.optString("list")); - BoardURL = new URL(urls.optString("board")); - CalendarURL = new URL(urls.optString("calendar")); + ListURL = readUrlFromJSON(urls,"list"); + BoardURL = readUrlFromJSON(urls,"board"); + CalendarURL = readUrlFromJSON(urls,"calendar"); + } else { ListURL = null; BoardURL = null;