From 819621cb982f7987c84fc7e76f48fbcd559e302a Mon Sep 17 00:00:00 2001 From: sspanak Date: Fri, 25 Apr 2025 18:39:12 +0300 Subject: [PATCH] when there is no Internet connection and a dictionary is missing, cooldown time is applied before retrying --- .../io/github/sspanak/tt9/db/words/DictionaryLoader.java | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/app/src/main/java/io/github/sspanak/tt9/db/words/DictionaryLoader.java b/app/src/main/java/io/github/sspanak/tt9/db/words/DictionaryLoader.java index d7cd8360..de64bf51 100644 --- a/app/src/main/java/io/github/sspanak/tt9/db/words/DictionaryLoader.java +++ b/app/src/main/java/io/github/sspanak/tt9/db/words/DictionaryLoader.java @@ -8,6 +8,7 @@ import android.os.Handler; import java.io.BufferedReader; import java.io.IOException; +import java.net.UnknownHostException; import java.util.ArrayList; import java.util.HashMap; import java.util.Locale; @@ -225,13 +226,19 @@ public class DictionaryLoader { } catch (Exception | Error e) { stop(); sqlite.failTransaction(); - self.lastAutoLoadAttemptTime.put(language.getId(), null); sendError(e.getClass().getSimpleName(), language.getId()); + if (e instanceof UnknownHostException) { + self.lastAutoLoadAttemptTime.put(language.getId(), System.currentTimeMillis()); + } else { + self.lastAutoLoadAttemptTime.put(language.getId(), null); + } + Logger.e( LOG_TAG, "Failed loading dictionary: " + language.getDictionaryFile() + " for language '" + language.getName() + "'. " + + e.getClass().getSimpleName() + ": " + e.getMessage() ); }