Skip to content

Commit a31bbdc

Browse files
committed
fix encoded codes parsing
1 parent f7e422c commit a31bbdc

File tree

3 files changed

+23
-24
lines changed

3 files changed

+23
-24
lines changed

CHANGELOG.md

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,12 @@
11
# Changelog
22
All notable changes to this project will be documented in this file.
33

4-
## [0.14.17]
4+
## [0.14.18]
5+
6+
### Fixed
7+
- Fixed parsing of encodedCodes
8+
9+
## [0.14.17]
510

611
### Fixed
712
- EncodedCodes CSV format headers

build.gradle

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,7 @@ allprojects {
2323
}
2424

2525
project.ext {
26-
sdkVersion='0.14.17'
26+
sdkVersion='0.14.18'
2727
versionCode=1
2828

2929
compileSdkVersion=28

core/src/main/java/io/snabble/sdk/encodedcodes/EncodedCodesOptions.java

Lines changed: 16 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,7 @@
1010

1111
public class EncodedCodesOptions {
1212
public static final int DEFAULT_MAX_CHARS = 2953;
13+
public static final int DEFAULT_MAX_CODES = 100;
1314

1415
public final String prefix;
1516
public final SparseArray<String> prefixMap;
@@ -55,7 +56,7 @@ public static class Builder {
5556
private String finalCode = "";
5657
private String nextCode = "";
5758
private String nextCodeWithCheck = "";
58-
private int maxCodes = 100;
59+
private int maxCodes = DEFAULT_MAX_CODES;
5960
private boolean repeatCodes = true;
6061
private String countSeparator = ";";
6162
private int maxSizeMm;
@@ -132,40 +133,33 @@ public EncodedCodesOptions build() {
132133

133134
public static EncodedCodesOptions fromJsonObject(Project project, JsonObject jsonObject) {
134135
String format = JsonUtils.getStringOpt(jsonObject, "format", "simple");
135-
EncodedCodesOptions options = project.getEncodedCodesOptions();
136+
String separator = JsonUtils.getStringOpt(jsonObject, "separator", "\n");
137+
int maxCodes = JsonUtils.getIntOpt(jsonObject, "maxCodes", EncodedCodesOptions.DEFAULT_MAX_CODES);
138+
int maxChars = JsonUtils.getIntOpt(jsonObject, "maxChars", EncodedCodesOptions.DEFAULT_MAX_CHARS);
136139

137140
switch (format) {
138141
case "csv":
139142
return new Builder(project)
140-
.prefix("snabble;{qrCodeIndex};{qrCodeCount}" + options.separator)
141-
.separator(options.separator)
143+
.prefix("snabble;{qrCodeIndex};{qrCodeCount}" + separator)
144+
.separator(separator)
142145
.suffix("")
143146
.repeatCodes(false)
144147
.countSeparator(";")
145-
.maxCodes(options.maxCodes)
146-
.maxChars(options.maxChars)
148+
.maxCodes(maxCodes)
149+
.maxChars(maxChars)
147150
.build();
148151
case "csv_globus":
149152
return new EncodedCodesOptions.Builder(project)
150-
.prefix("snabble;" + options.separator)
151-
.separator(options.separator)
153+
.prefix("snabble;" + separator)
154+
.separator(separator)
152155
.suffix("")
153156
.repeatCodes(false)
154157
.countSeparator(";")
155-
.maxCodes(options.maxCodes)
156-
.maxChars(options.maxChars)
158+
.maxCodes(maxCodes)
159+
.maxChars(maxChars)
157160
.build();
158161
case "ikea":
159-
160-
int maxCodes = 45;
161-
int maxChars = EncodedCodesOptions.DEFAULT_MAX_CHARS;
162-
if (options != null) {
163-
maxCodes = options.maxCodes;
164-
maxChars = options.maxChars;
165-
}
166-
167162
String prefix = "9100003\u001d100{qrCodeCount}\u001d240";
168-
169163
String prefixWithCustomerCard = "9100003\u001d100{qrCodeCount}";
170164
if (project.getCustomerCardId() != null) {
171165
prefixWithCustomerCard += "\u001d92" + project.getCustomerCardId();
@@ -184,14 +178,14 @@ public static EncodedCodesOptions fromJsonObject(Project project, JsonObject jso
184178
default:
185179
return new EncodedCodesOptions.Builder(project)
186180
.prefix(JsonUtils.getStringOpt(jsonObject, "prefix", ""))
187-
.separator(JsonUtils.getStringOpt(jsonObject, "separator", "\n"))
188181
.suffix(JsonUtils.getStringOpt(jsonObject, "suffix", ""))
189-
.maxCodes(JsonUtils.getIntOpt(jsonObject, "maxCodes", 100))
182+
.separator(separator)
183+
.maxCodes(maxCodes)
184+
.maxChars(maxChars)
190185
.finalCode(JsonUtils.getStringOpt(jsonObject, "finalCode", ""))
191186
.nextCode(JsonUtils.getStringOpt(jsonObject, "nextCode", ""))
192187
.nextCodeWithCheck(JsonUtils.getStringOpt(jsonObject, "nextCodeWithCheck", ""))
193188
.maxSizeMm(JsonUtils.getIntOpt(jsonObject, "maxSizeMM", -1))
194-
.maxChars(JsonUtils.getIntOpt(jsonObject, "maxChars", EncodedCodesOptions.DEFAULT_MAX_CHARS))
195189
.build();
196190
}
197191
}

0 commit comments

Comments
 (0)