diff options
| author | Andrew Dolgov <fox@fakecake.org> | 2025-05-20 09:41:10 +0300 |
|---|---|---|
| committer | Andrew Dolgov <fox@fakecake.org> | 2025-05-20 09:41:10 +0300 |
| commit | 6ec4374010a98315560c0f18fcae38c0c1215c1c (patch) | |
| tree | 5a6a66d1aa7a4f698572828c898386765e3f0043 /org.fox.ttrss/src/main | |
| parent | 5df7780418cd450765c0e3e2a7742800bfde9bea (diff) | |
report model errors while processing JSON as other errors to UI
Diffstat (limited to 'org.fox.ttrss/src/main')
3 files changed, 14 insertions, 4 deletions
diff --git a/org.fox.ttrss/src/main/java/org/fox/ttrss/ArticleModel.java b/org.fox.ttrss/src/main/java/org/fox/ttrss/ArticleModel.java index e90456b0..4b05f8f1 100644 --- a/org.fox.ttrss/src/main/java/org/fox/ttrss/ArticleModel.java +++ b/org.fox.ttrss/src/main/java/org/fox/ttrss/ArticleModel.java @@ -173,7 +173,7 @@ public class ArticleModel extends AndroidViewModel implements ApiCommon.ApiCalle private void loadInBackground() { Log.d(TAG, this + " loadInBackground append=" + m_append + " offset=" + m_offset + " lazyLoadEnabled=" + m_lazyLoadEnabled); - ArticleList articlesWork = new ArticleList(m_articles.getValue()); + final ArticleList articlesWork = new ArticleList(m_articles.getValue()); m_isLoading.postValue(true); @@ -226,13 +226,14 @@ public class ArticleModel extends AndroidViewModel implements ApiCommon.ApiCalle Log.d(TAG, "firstId=" + m_firstId + " append=" + m_append + " skip=" + skip + " localSize=" + articlesWork.size()); m_executor.execute(() -> { - JsonElement result = ApiCommon.performRequest(getApplication(), params, this); + final JsonElement result = ApiCommon.performRequest(getApplication(), params, this); Log.d(TAG, "got result=" + result); if (result != null) { try { - JsonArray content = result.getAsJsonArray(); + final JsonArray content = result.getAsJsonArray(); + if (content != null) { final List<Article> articlesJson; final JsonObject header; @@ -285,6 +286,9 @@ public class ArticleModel extends AndroidViewModel implements ApiCommon.ApiCalle Log.d(TAG, this + " loaded headlines=" + m_amountLoaded + " resultingLocalSize=" + articlesWork.size()); } } catch (Exception e) { + setLastError(ApiCommon.ApiError.OTHER_ERROR); + setLastErrorMessage(e.getMessage()); + e.printStackTrace(); } @@ -293,7 +297,7 @@ public class ArticleModel extends AndroidViewModel implements ApiCommon.ApiCalle m_mainHandler.post(() -> { m_articles.setValue(articlesWork); m_lastUpdate.setValue(System.currentTimeMillis()); - m_isLoading.postValue(false); + m_isLoading.setValue(false); }); }); } diff --git a/org.fox.ttrss/src/main/java/org/fox/ttrss/FeedsModel.java b/org.fox.ttrss/src/main/java/org/fox/ttrss/FeedsModel.java index f1274f64..ac0b4f28 100644 --- a/org.fox.ttrss/src/main/java/org/fox/ttrss/FeedsModel.java +++ b/org.fox.ttrss/src/main/java/org/fox/ttrss/FeedsModel.java @@ -128,6 +128,9 @@ public class FeedsModel extends AndroidViewModel implements ApiCommon.ApiCaller m_feeds.postValue(feedsJson); } } catch (Exception e) { + setLastError(ApiCommon.ApiError.OTHER_ERROR); + setLastErrorMessage(e.getMessage()); + e.printStackTrace(); } diff --git a/org.fox.ttrss/src/main/java/org/fox/ttrss/RootCategoriesModel.java b/org.fox.ttrss/src/main/java/org/fox/ttrss/RootCategoriesModel.java index d5668aa8..3355255b 100644 --- a/org.fox.ttrss/src/main/java/org/fox/ttrss/RootCategoriesModel.java +++ b/org.fox.ttrss/src/main/java/org/fox/ttrss/RootCategoriesModel.java @@ -133,6 +133,9 @@ public class RootCategoriesModel extends FeedsModel { m_feeds.postValue(feedsCombined); } } catch (Exception e) { + setLastError(ApiCommon.ApiError.OTHER_ERROR); + setLastErrorMessage(e.getMessage()); + e.printStackTrace(); } |