Skip to content

Commit 46d0f30

Browse files
committed
Read metadata after updating it
1 parent 0801f7a commit 46d0f30

File tree

1 file changed

+34
-28
lines changed

1 file changed

+34
-28
lines changed

core/src/main/java/io/snabble/sdk/SnabbleSdk.java

Lines changed: 34 additions & 28 deletions
Original file line numberDiff line numberDiff line change
@@ -314,34 +314,7 @@ private void updateShops() {
314314
}
315315

316316
private void setupSdk(Config config, final SetupCompletionListener setupCompletionListener) {
317-
updateShops();
318-
319-
Map<String, String> urls = metadataDownloader.getUrls();
320-
if (urls == null || urls.get("appdb") == null) {
321-
Logger.e("Metadata does not contain url for product database updates. No product database updates possible");
322-
}
323-
324-
JsonObject projectSettings = metadataDownloader.getProject();
325-
326-
currency = Currency.getInstance(JsonUtils.getStringOpt(projectSettings, "currency", "EUR"));
327-
328-
String locale = JsonUtils.getStringOpt(projectSettings, "locale", "de_DE");
329-
330-
try {
331-
currencyLocale = LocaleUtils.toLocale(locale);
332-
} catch (IllegalArgumentException e){
333-
currencyLocale = Locale.getDefault();
334-
}
335-
336-
if(currencyLocale == null){
337-
currencyLocale = Locale.getDefault();
338-
}
339-
340-
currencyFractionDigits = JsonUtils.getIntOpt(projectSettings, "decimalDigits", 2);
341-
342-
weighPrefixes = JsonUtils.getStringArrayOpt(projectSettings, "weighPrefixes", new String[0]);
343-
pricePrefixes = JsonUtils.getStringArrayOpt(projectSettings, "pricePrefixes", new String[0]);
344-
unitPrefixes = JsonUtils.getStringArrayOpt(projectSettings, "unitPrefixes", new String[0]);
317+
readMetadata();
345318

346319
ProductDatabase.Config dbConfig = new ProductDatabase.Config();
347320
dbConfig.bundledAssetPath = config.productDbBundledAssetPath;
@@ -379,6 +352,37 @@ public void onError(ProductDatabase.Error error) {
379352
});
380353
}
381354

355+
private void readMetadata() {
356+
updateShops();
357+
358+
Map<String, String> urls = metadataDownloader.getUrls();
359+
if (urls == null || urls.get("appdb") == null) {
360+
Logger.e("Metadata does not contain url for product database updates. No product database updates possible");
361+
}
362+
363+
JsonObject projectSettings = metadataDownloader.getProject();
364+
365+
currency = Currency.getInstance(JsonUtils.getStringOpt(projectSettings, "currency", "EUR"));
366+
367+
String locale = JsonUtils.getStringOpt(projectSettings, "locale", "de_DE");
368+
369+
try {
370+
currencyLocale = LocaleUtils.toLocale(locale);
371+
} catch (IllegalArgumentException e){
372+
currencyLocale = Locale.getDefault();
373+
}
374+
375+
if(currencyLocale == null){
376+
currencyLocale = Locale.getDefault();
377+
}
378+
379+
currencyFractionDigits = JsonUtils.getIntOpt(projectSettings, "decimalDigits", 2);
380+
381+
weighPrefixes = JsonUtils.getStringArrayOpt(projectSettings, "weighPrefixes", new String[0]);
382+
pricePrefixes = JsonUtils.getStringArrayOpt(projectSettings, "pricePrefixes", new String[0]);
383+
unitPrefixes = JsonUtils.getStringArrayOpt(projectSettings, "unitPrefixes", new String[0]);
384+
}
385+
382386
private void setupOk(final SetupCompletionListener setupCompletionListener) {
383387
if (setupCompletionListener != null) {
384388
setupCompletionListener.onReady(SnabbleSdk.this);
@@ -611,6 +615,8 @@ private void updateMetadata() {
611615
@Override
612616
protected void onDataLoaded(boolean wasStillValid) {
613617
if (!wasStillValid) {
618+
readMetadata();
619+
614620
for (OnMetadataUpdateListener listener : onMetaDataUpdateListeners) {
615621
listener.onMetaDataUpdated();
616622
}

0 commit comments

Comments
 (0)