in Android/app/src/main/java/com/example/samplestickerapp/ContentFileParser.java [32:63]
private static List<StickerPack> readStickerPacks(@NonNull JsonReader reader) throws IOException, IllegalStateException {
List<StickerPack> stickerPackList = new ArrayList<>();
String androidPlayStoreLink = null;
String iosAppStoreLink = null;
reader.beginObject();
while (reader.hasNext()) {
String key = reader.nextName();
if ("android_play_store_link".equals(key)) {
androidPlayStoreLink = reader.nextString();
} else if ("ios_app_store_link".equals(key)) {
iosAppStoreLink = reader.nextString();
} else if ("sticker_packs".equals(key)) {
reader.beginArray();
while (reader.hasNext()) {
StickerPack stickerPack = readStickerPack(reader);
stickerPackList.add(stickerPack);
}
reader.endArray();
} else {
throw new IllegalStateException("unknown field in json: " + key);
}
}
reader.endObject();
if (stickerPackList.size() == 0) {
throw new IllegalStateException("sticker pack list cannot be empty");
}
for (StickerPack stickerPack : stickerPackList) {
stickerPack.setAndroidPlayStoreLink(androidPlayStoreLink);
stickerPack.setIosAppStoreLink(iosAppStoreLink);
}
return stickerPackList;
}