diff options
| author | Andrew Dolgov <fox@fakecake.org> | 2025-05-14 19:29:49 +0300 |
|---|---|---|
| committer | Andrew Dolgov <fox@fakecake.org> | 2025-05-14 19:29:49 +0300 |
| commit | 6c50858455da798226c38845386d4b33a566f6e9 (patch) | |
| tree | 2a116fdd320091bb3c40dbe2f40c0d26c45cbf8d | |
| parent | 4ff411312658a30dd2fc66d92a1fc5cc0d9d9546 (diff) | |
refactor some more
| -rwxr-xr-x | org.fox.ttrss/src/main/java/org/fox/ttrss/Application.java | 14 | ||||
| -rw-r--r-- | org.fox.ttrss/src/main/java/org/fox/ttrss/ArticleModel.java (renamed from org.fox.ttrss/src/main/java/org/fox/ttrss/ArticlesModel.java) | 9 | ||||
| -rwxr-xr-x | org.fox.ttrss/src/main/java/org/fox/ttrss/ArticlePager.java | 4 | ||||
| -rwxr-xr-x | org.fox.ttrss/src/main/java/org/fox/ttrss/HeadlinesFragment.java | 14 |
4 files changed, 17 insertions, 24 deletions
diff --git a/org.fox.ttrss/src/main/java/org/fox/ttrss/Application.java b/org.fox.ttrss/src/main/java/org/fox/ttrss/Application.java index ad6dbb93..75542e3c 100755 --- a/org.fox.ttrss/src/main/java/org/fox/ttrss/Application.java +++ b/org.fox.ttrss/src/main/java/org/fox/ttrss/Application.java @@ -17,26 +17,22 @@ public class Application extends android.app.Application { private static Application m_singleton; - // this is the only instance of a (large) object which contains all currently loaded articles and is - // used by all fragments and activities concurrently - // private final ArticleList m_articles = new ArticleList(); - private String m_sessionId; private int m_apiLevel; public LinkedHashMap<String, String> m_customSortModes = new LinkedHashMap<>(); ConnectivityManager m_cmgr; - ArticlesModel m_articlesModel; + ArticleModel m_articleModel; public static Application getInstance(){ return m_singleton; } public static ArticleList getArticles() { - return getInstance().m_articlesModel.getArticles(); + return getInstance().m_articleModel.getArticles().getValue(); } - public static ArticlesModel getArticlesModel() { - return getInstance().m_articlesModel; + public static ArticleModel getArticlesModel() { + return getInstance().m_articleModel; } @Override @@ -45,7 +41,7 @@ public class Application extends android.app.Application { m_singleton = this; m_cmgr = (ConnectivityManager) getSystemService(Context.CONNECTIVITY_SERVICE); - m_articlesModel = new ArticlesModel(this); + m_articleModel = new ArticleModel(this); } public String getSessionId() { diff --git a/org.fox.ttrss/src/main/java/org/fox/ttrss/ArticlesModel.java b/org.fox.ttrss/src/main/java/org/fox/ttrss/ArticleModel.java index 66027966..2496b84c 100644 --- a/org.fox.ttrss/src/main/java/org/fox/ttrss/ArticlesModel.java +++ b/org.fox.ttrss/src/main/java/org/fox/ttrss/ArticleModel.java @@ -28,7 +28,7 @@ import java.util.List; import java.util.concurrent.ExecutorService; import java.util.concurrent.Executors; -public class ArticlesModel extends AndroidViewModel implements ApiCommon.ApiCaller { +public class ArticleModel extends AndroidViewModel implements ApiCommon.ApiCaller { private final String TAG = this.getClass().getSimpleName(); private final MutableLiveData<ArticleList> m_articles = new MutableLiveData<>(new ArticleList()); private SharedPreferences m_prefs; @@ -52,7 +52,7 @@ public class ArticlesModel extends AndroidViewModel implements ApiCommon.ApiCall private Handler m_mainHandler = new Handler(Looper.getMainLooper()); private MutableLiveData<Long> m_lastUpdate = new MutableLiveData<>(new Long(0)); - public ArticlesModel(@NonNull Application application) { + public ArticleModel(@NonNull Application application) { super(application); m_prefs = PreferenceManager.getDefaultSharedPreferences(application); @@ -65,13 +65,10 @@ public class ArticlesModel extends AndroidViewModel implements ApiCommon.ApiCall return m_lastUpdate; } - public LiveData<ArticleList> getArticlesData() { + public LiveData<ArticleList> getArticles() { return m_articles; } - public ArticleList getArticles() { - return m_articles.getValue(); - } public void update(int position, Article article) { m_articles.getValue().set(position, article); diff --git a/org.fox.ttrss/src/main/java/org/fox/ttrss/ArticlePager.java b/org.fox.ttrss/src/main/java/org/fox/ttrss/ArticlePager.java index d2978858..cf43f4f0 100755 --- a/org.fox.ttrss/src/main/java/org/fox/ttrss/ArticlePager.java +++ b/org.fox.ttrss/src/main/java/org/fox/ttrss/ArticlePager.java @@ -82,10 +82,10 @@ public class ArticlePager extends androidx.fragment.app.Fragment { m_adapter = new PagerAdapter(this); m_adapter.submitList(Application.getArticles()); - ArticlesModel model = Application.getArticlesModel(); + ArticleModel model = Application.getArticlesModel(); // deal with further updates - model.getArticlesData().observe(getActivity(), articles -> { + model.getArticles().observe(getActivity(), articles -> { Log.d(TAG, "observed article list size=" + articles.size()); m_adapter.submitList(articles); }); diff --git a/org.fox.ttrss/src/main/java/org/fox/ttrss/HeadlinesFragment.java b/org.fox.ttrss/src/main/java/org/fox/ttrss/HeadlinesFragment.java index da1c160b..28ffafec 100755 --- a/org.fox.ttrss/src/main/java/org/fox/ttrss/HeadlinesFragment.java +++ b/org.fox.ttrss/src/main/java/org/fox/ttrss/HeadlinesFragment.java @@ -389,7 +389,7 @@ public class HeadlinesFragment extends androidx.fragment.app.Fragment { public void onScrollStateChanged(RecyclerView recyclerView, int newState) { super.onScrollStateChanged(recyclerView, newState); - ArticlesModel model = Application.getArticlesModel(); + ArticleModel model = Application.getArticlesModel(); if (newState == RecyclerView.SCROLL_STATE_IDLE) { if (!m_readArticles.isEmpty() && !m_isLazyLoading && !model.isLoading() && m_prefs.getBoolean("headlines_mark_read_scroll", false)) { @@ -438,7 +438,7 @@ public class HeadlinesFragment extends androidx.fragment.app.Fragment { // Log.d(TAG, "pending to auto mark as read count=" + m_readArticles.size()); } - ArticlesModel model = Application.getArticlesModel(); + ArticleModel model = Application.getArticlesModel(); if (dy > 0 && !m_isLazyLoading && !model.isLoading() && model.lazyLoadEnabled() && lastVisibleItem >= Application.getArticles().size() - 5) { @@ -457,11 +457,11 @@ public class HeadlinesFragment extends androidx.fragment.app.Fragment { m_activity.setTitle(m_feed.title); } - ArticlesModel model = Application.getArticlesModel(); + ArticleModel model = Application.getArticlesModel(); // this gets notified on network update model.getUpdatesData().observe(getActivity(), lastUpdate -> { - ArticleList tmp = new ArticleList(model.getArticles()); + ArticleList tmp = new ArticleList(model.getArticles().getValue()); Log.d(TAG, "observed last update=" + lastUpdate + " article count=" + tmp.size()); @@ -500,10 +500,10 @@ public class HeadlinesFragment extends androidx.fragment.app.Fragment { }); // loaded articles might get modified for all sorts of reasons - model.getArticlesData().observe(getActivity(), articles -> { + model.getArticles().observe(getActivity(), articles -> { Log.d(TAG, "observed article list size=" + articles.size()); - ArticleList tmp = new ArticleList(model.getArticles()); + ArticleList tmp = new ArticleList(articles); if (m_prefs.getBoolean("headlines_mark_read_scroll", false)) tmp.add(new Article(Article.TYPE_AMR_FOOTER)); @@ -542,7 +542,7 @@ public class HeadlinesFragment extends androidx.fragment.app.Fragment { } public void refresh(final boolean append) { - ArticlesModel model = Application.getArticlesModel(); + ArticleModel model = Application.getArticlesModel(); if (!append) m_activeArticleId = -1; |