summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndrew Dolgov <fox@fakecake.org>2025-05-14 19:29:49 +0300
committerAndrew Dolgov <fox@fakecake.org>2025-05-14 19:29:49 +0300
commit6c50858455da798226c38845386d4b33a566f6e9 (patch)
tree2a116fdd320091bb3c40dbe2f40c0d26c45cbf8d
parent4ff411312658a30dd2fc66d92a1fc5cc0d9d9546 (diff)
refactor some more
-rwxr-xr-xorg.fox.ttrss/src/main/java/org/fox/ttrss/Application.java14
-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-xorg.fox.ttrss/src/main/java/org/fox/ttrss/ArticlePager.java4
-rwxr-xr-xorg.fox.ttrss/src/main/java/org/fox/ttrss/HeadlinesFragment.java14
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;