diff options
| author | Andrew Dolgov <fox@fakecake.org> | 2025-05-13 07:55:01 +0300 |
|---|---|---|
| committer | Andrew Dolgov <fox@fakecake.org> | 2025-05-13 07:55:01 +0300 |
| commit | c2413dd121e509ac1012ad7026accbae5e16a242 (patch) | |
| tree | 86e7d00c470620a1a473d2eaf9a5df9b9f7cdb7d | |
| parent | 8bdf07f3d92f457823088364cc2d3e85d12b1ebc (diff) | |
implement search query stuff into headlines loader, split loader IDs
7 files changed, 27 insertions, 19 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 9ad069f1..81ae7bdf 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 @@ -11,6 +11,10 @@ import java.util.HashMap; import java.util.LinkedHashMap; public class Application extends android.app.Application { + public static final int LOADER_HEADLINES = 0; + public static final int LOADER_FEEDS = 1; + public static final int LOADER_CATS = 2; + private static Application m_singleton; // this is the only instance of a (large) object which contains all currently loaded articles and is diff --git a/org.fox.ttrss/src/main/java/org/fox/ttrss/DetailActivity.java b/org.fox.ttrss/src/main/java/org/fox/ttrss/DetailActivity.java index 6558c2d1..048156ce 100755 --- a/org.fox.ttrss/src/main/java/org/fox/ttrss/DetailActivity.java +++ b/org.fox.ttrss/src/main/java/org/fox/ttrss/DetailActivity.java @@ -149,17 +149,17 @@ public class DetailActivity extends OnlineActivity implements HeadlinesEventList FragmentTransaction ft = getSupportFragmentManager().beginTransaction(); - final HeadlinesFragment hf = new HeadlinesFragment(); + HeadlinesFragment hf = new HeadlinesFragment(); hf.initialize(feed, openedArticleId, true); hf.setSearchQuery(searchQuery); ft.replace(R.id.headlines_fragment, hf, FRAG_HEADLINES); - ArticlePager af = new ArticlePager(); - af.initialize(openedArticleId, feed); - af.setSearchQuery(searchQuery); + ArticlePager ap = new ArticlePager(); + ap.initialize(openedArticleId, feed); + ap.setSearchQuery(searchQuery); - ft.replace(R.id.article_fragment, af, FRAG_ARTICLE); + ft.replace(R.id.article_fragment, ap, FRAG_ARTICLE); ft.commit(); diff --git a/org.fox.ttrss/src/main/java/org/fox/ttrss/FeedCategoriesFragment.java b/org.fox.ttrss/src/main/java/org/fox/ttrss/FeedCategoriesFragment.java index 08a656e4..abdb320d 100755 --- a/org.fox.ttrss/src/main/java/org/fox/ttrss/FeedCategoriesFragment.java +++ b/org.fox.ttrss/src/main/java/org/fox/ttrss/FeedCategoriesFragment.java @@ -312,7 +312,7 @@ public class FeedCategoriesFragment extends BaseFeedlistFragment implements OnIt public void onResume() { super.onResume(); - LoaderManager.getInstance(this).initLoader(0, null, this).forceLoad(); + LoaderManager.getInstance(this).initLoader(Application.LOADER_CATS, null, this).forceLoad(); m_activity.invalidateOptionsMenu(); } @@ -324,7 +324,7 @@ public class FeedCategoriesFragment extends BaseFeedlistFragment implements OnIt if (m_swipeLayout != null) m_swipeLayout.setRefreshing(true); - LoaderManager.getInstance(this).restartLoader(0, null, this).forceLoad(); + LoaderManager.getInstance(this).restartLoader(Application.LOADER_CATS, null, this).forceLoad(); } private class FeedCategoryListAdapter extends ArrayAdapter<FeedCategory> { diff --git a/org.fox.ttrss/src/main/java/org/fox/ttrss/FeedsFragment.java b/org.fox.ttrss/src/main/java/org/fox/ttrss/FeedsFragment.java index 495180bb..7c6a2237 100755 --- a/org.fox.ttrss/src/main/java/org/fox/ttrss/FeedsFragment.java +++ b/org.fox.ttrss/src/main/java/org/fox/ttrss/FeedsFragment.java @@ -366,7 +366,7 @@ public class FeedsFragment extends BaseFeedlistFragment implements OnItemClickLi public void onResume() { super.onResume(); - LoaderManager.getInstance(this).initLoader(0, null, this).forceLoad(); + LoaderManager.getInstance(this).initLoader(Application.LOADER_FEEDS, null, this).forceLoad(); m_activity.invalidateOptionsMenu(); } @@ -404,7 +404,7 @@ public class FeedsFragment extends BaseFeedlistFragment implements OnItemClickLi m_swipeLayout.setRefreshing(true); } - LoaderManager.getInstance(this).restartLoader(0, null, this).forceLoad(); + LoaderManager.getInstance(this).restartLoader(Application.LOADER_FEEDS, null, this).forceLoad(); } private class FeedListAdapter extends ArrayAdapter<Feed> { 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 a052e670..22601897 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 @@ -121,9 +121,6 @@ public class HeadlinesFragment extends androidx.fragment.app.Fragment implements } } - - private HeadlinesLoader m_loader; - @NonNull @Override public Loader<ArticleList> onCreateLoader(int id, @Nullable Bundle args) { @@ -555,8 +552,6 @@ public class HeadlinesFragment extends androidx.fragment.app.Fragment implements public void onResume() { super.onResume(); - m_loader = (HeadlinesLoader) LoaderManager.getInstance(this).initLoader(0, null, this); - if (Application.getArticles().getSizeWithoutFooters() == 0) { refresh(false); } else { @@ -578,7 +573,10 @@ public class HeadlinesFragment extends androidx.fragment.app.Fragment implements } public void refresh(final boolean append) { - m_loader.refresh(append); + HeadlinesLoader loader = (HeadlinesLoader) LoaderManager.getInstance(this).initLoader(Application.LOADER_HEADLINES, null, this); + + loader.setSearchQuery(getSearchQuery()); + loader.refresh(append); } /* public void __refresh(final boolean append) { @@ -1673,10 +1671,7 @@ public class HeadlinesFragment extends androidx.fragment.app.Fragment implements if (!m_searchQuery.equals(query)) { m_searchQuery = query; - // could be called before fragment view has been initialized - if (m_list != null) { - refresh(false); - } + refresh(false); } } diff --git a/org.fox.ttrss/src/main/java/org/fox/ttrss/HeadlinesLoader.java b/org.fox.ttrss/src/main/java/org/fox/ttrss/HeadlinesLoader.java index a837e0d9..7f3dddac 100755 --- a/org.fox.ttrss/src/main/java/org/fox/ttrss/HeadlinesLoader.java +++ b/org.fox.ttrss/src/main/java/org/fox/ttrss/HeadlinesLoader.java @@ -289,4 +289,12 @@ public class HeadlinesLoader extends AsyncTaskLoader<ArticleList> implements Api public boolean getAppend() { return m_append; } + + public void setSearchQuery(String searchQuery) { + m_searchQuery = searchQuery; + } + + public String getSearchQuery() { + return m_searchQuery; + } } diff --git a/org.fox.ttrss/src/main/java/org/fox/ttrss/OnlineActivity.java b/org.fox.ttrss/src/main/java/org/fox/ttrss/OnlineActivity.java index 92a3f219..ec51cc98 100755 --- a/org.fox.ttrss/src/main/java/org/fox/ttrss/OnlineActivity.java +++ b/org.fox.ttrss/src/main/java/org/fox/ttrss/OnlineActivity.java @@ -391,6 +391,7 @@ public class OnlineActivity extends CommonActivity { } else if (itemId == R.id.search) { if (hf != null) { final EditText edit = new EditText(this); + edit.setText(hf.getSearchQuery()); MaterialAlertDialogBuilder builder = new MaterialAlertDialogBuilder(this) .setTitle(R.string.search) |