Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/stefan-niedermann/nextcloud-deck.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNiedermann IT-Dienstleistungen <stefan-niedermann@users.noreply.github.com>2020-10-03 23:47:12 +0300
committerGitHub <noreply@github.com>2020-10-03 23:47:12 +0300
commit04d85196c4dc37b5ab237191d9f73792fb33a484 (patch)
treec1fd5e6e10034b335b35680c4d517369a7e2234f /app/src/main/java/it/niedermann/nextcloud/deck/api
parent8e0b4546aa33b3215a394e55a8fbee33f72621fb (diff)
🎨 Store colors as integer in database (#603)
* #556 Store colors as integer in database - UI should only use @ColorInt from model * Merge master Signed-off-by: Stefan Niedermann <info@niedermann.it> * #556 Store colors as integer in database Signed-off-by: Stefan Niedermann <info@niedermann.it> * #556 Store colors as integer in database Signed-off-by: Stefan Niedermann <info@niedermann.it> * merged into branch Co-authored-by: desperateCoder <echotodevnull@gmail.com>
Diffstat (limited to 'app/src/main/java/it/niedermann/nextcloud/deck/api')
-rw-r--r--app/src/main/java/it/niedermann/nextcloud/deck/api/JsonToEntityParser.java22
1 files changed, 19 insertions, 3 deletions
diff --git a/app/src/main/java/it/niedermann/nextcloud/deck/api/JsonToEntityParser.java b/app/src/main/java/it/niedermann/nextcloud/deck/api/JsonToEntityParser.java
index ebd66a8fa..6a51d226f 100644
--- a/app/src/main/java/it/niedermann/nextcloud/deck/api/JsonToEntityParser.java
+++ b/app/src/main/java/it/niedermann/nextcloud/deck/api/JsonToEntityParser.java
@@ -1,5 +1,7 @@
package it.niedermann.nextcloud.deck.api;
+import android.graphics.Color;
+
import com.google.gson.JsonArray;
import com.google.gson.JsonElement;
import com.google.gson.JsonObject;
@@ -37,6 +39,7 @@ import it.niedermann.nextcloud.deck.model.ocs.projects.OcsProjectResource;
import it.niedermann.nextcloud.deck.model.ocs.user.GroupMemberUIDs;
import it.niedermann.nextcloud.deck.model.ocs.user.OcsUser;
import it.niedermann.nextcloud.deck.model.ocs.user.OcsUserList;
+import it.niedermann.nextcloud.deck.util.ColorUtil;
import static it.niedermann.nextcloud.deck.exceptions.DeckException.Hint.CAPABILITIES_VERSION_NOT_PARSABLE;
import static it.niedermann.nextcloud.deck.exceptions.TraceableException.makeTraceableIfFails;
@@ -543,8 +546,8 @@ public class JsonToEntityParser {
}
if (caps.has("theming")) {
JsonObject theming = caps.getAsJsonObject("theming");
- capabilities.setColor(theming.get("color").getAsString());
- capabilities.setTextColor(theming.get("color-text").getAsString());
+ capabilities.setColor(getColorAsInt(theming, "color"));
+ capabilities.setTextColor(getColorAsInt(theming, "color-text"));
}
}
capabilities.setDeckVersion(Version.of(version));
@@ -553,6 +556,19 @@ public class JsonToEntityParser {
return capabilities;
}
+ private static int getColorAsInt(JsonObject element, String field) {
+ String rawString = getNullAsEmptyString(element.get(field));
+ try {
+ if (!rawString.trim().isEmpty()) {
+ String colorAsString = ColorUtil.formatColorToParsableHexString(rawString);
+ return Color.parseColor(colorAsString);
+ }
+ } catch (Exception e) {
+ // Do mostly nothing, return default value
+ }
+ return Color.parseColor("#757575");
+ }
+
protected static List<Activity> parseActivity(JsonObject e) {
DeckLog.verbose(e.toString());
List<Activity> activityList = new ArrayList<>();
@@ -617,7 +633,7 @@ public class JsonToEntityParser {
//todo: last modified!
// label.setLastModified(get);
label.setTitle(getNullAsEmptyString(e.get("title")));
- label.setColor(getNullAsEmptyString(e.get("color")));
+ label.setColor(getColorAsInt(e, "color"));
}, e);
return label;
}