diff options
| author | Andrew Dolgov <fox@fakecake.org> | 2025-05-20 09:29:18 +0300 |
|---|---|---|
| committer | Andrew Dolgov <fox@fakecake.org> | 2025-05-20 09:29:18 +0300 |
| commit | f4dd180b3c0c332d4adabbc1918d27c77e77ca89 (patch) | |
| tree | b1c24dfcd063b1af7917f838f022fc470dce41d4 /org.fox.ttrss/src | |
| parent | 0ad4c4e3fcbfd2113aaf37db5001238b5f8898bc (diff) | |
move search query stuff to model
Diffstat (limited to 'org.fox.ttrss/src')
5 files changed, 37 insertions, 67 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 8657623e..e90456b0 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 @@ -129,6 +129,11 @@ public class ArticleModel extends AndroidViewModel implements ApiCommon.ApiCalle m_resizeWidth = resizeWidth; if (!append) { + + // reset search for a different feed + if (m_feed != null && !m_feed.equals(feed)) + m_searchQuery = ""; + m_append = false; m_lazyLoadEnabled = true; m_feed = feed; @@ -349,14 +354,6 @@ public class ArticleModel extends AndroidViewModel implements ApiCommon.ApiCalle return m_append; } - public void setSearchQuery(String searchQuery) { - m_searchQuery = searchQuery; - } - - public String getSearchQuery() { - return m_searchQuery; - } - public int getOffset() { return m_offset; } @@ -388,4 +385,17 @@ public class ArticleModel extends AndroidViewModel implements ApiCommon.ApiCalle public LiveData<Integer> getLoadingProgress() { return m_loadingProgress; } + + + public String getSearchQuery() { + return m_searchQuery; + } + + public void setSearchQuery(@NonNull String query) { + if (!m_searchQuery.equals(query)) { + m_searchQuery = query; + + startLoading(false, m_feed, m_resizeWidth); + } + } } 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 847f7981..589ecc03 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 @@ -146,8 +146,7 @@ public class DetailActivity extends OnlineActivity implements HeadlinesEventList FragmentTransaction ft = getSupportFragmentManager().beginTransaction(); HeadlinesFragment hf = new HeadlinesFragment(); - hf.initialize(feed, openedArticleId, true); - hf.setSearchQuery(searchQuery); + hf.initialize(feed, true); ft.replace(R.id.headlines_fragment, hf, FRAG_HEADLINES); 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 95af0a73..06324762 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 @@ -124,7 +124,7 @@ public class HeadlinesFragment extends androidx.fragment.app.Fragment { m_feed = feed; } - public void initialize(Feed feed, int activeArticleId, boolean compactMode) { + public void initialize(Feed feed, boolean compactMode) { m_feed = feed; m_compactLayoutMode = compactMode; } @@ -580,7 +580,6 @@ public class HeadlinesFragment extends androidx.fragment.app.Fragment { model.setSelection(ArticleModel.ArticlesSelection.NONE); } - model.setSearchQuery(getSearchQuery()); model.startLoading(append, m_feed, m_activity.getResizeWidth()); } @@ -1609,22 +1608,6 @@ public class HeadlinesFragment extends androidx.fragment.app.Fragment { m_list.scrollToPosition(position); } - /** move to model? */ - @Deprecated - public String getSearchQuery() { - return m_searchQuery; - } - - /** move to model? */ - @Deprecated - public void setSearchQuery(String query) { - if (!m_searchQuery.equals(query)) { - m_searchQuery = query; - - refresh(false); - } - } - public Feed getFeed() { return m_feed; } diff --git a/org.fox.ttrss/src/main/java/org/fox/ttrss/MasterActivity.java b/org.fox.ttrss/src/main/java/org/fox/ttrss/MasterActivity.java index 4ce1dc15..3c65521f 100755 --- a/org.fox.ttrss/src/main/java/org/fox/ttrss/MasterActivity.java +++ b/org.fox.ttrss/src/main/java/org/fox/ttrss/MasterActivity.java @@ -426,24 +426,17 @@ public class MasterActivity extends OnlineActivity implements HeadlinesEventList } if (open) { - HeadlinesFragment hf = (HeadlinesFragment) getSupportFragmentManager().findFragmentByTag(FRAG_HEADLINES); - Application.getArticlesModel().setActive(article); if (m_prefs.getBoolean("always_open_uri", false)) { openUri(Uri.parse(article.link)); - } else if (hf != null) { - + } else { Intent intent = new Intent(MasterActivity.this, DetailActivity.class); intent.putExtra("feed", m_activeFeed); - intent.putExtra("searchQuery", hf.getSearchQuery()); - //intent.putExtra("openedArticleId", article.id); startActivityForResult(intent, HEADLINES_REQUEST); overridePendingTransition(R.anim.slide_in_right, R.anim.slide_out_left); } - } else { - invalidateOptionsMenu(); } } 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 8ecf59d1..3079ced7 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 @@ -68,19 +68,7 @@ public class OnlineActivity extends CommonActivity { int selectedIndex = 0; - final String searchQuery; - - if (getApiLevel() >= 22) { - HeadlinesFragment hf = (HeadlinesFragment) getSupportFragmentManager().findFragmentByTag(FRAG_HEADLINES); - - if (hf != null) { - searchQuery = hf.getSearchQuery(); - } else { - searchQuery = ""; - } - } else { - searchQuery = ""; - } + final String searchQuery = Application.getArticlesModel().getSearchQuery(); int titleStringId = !searchQuery.isEmpty() ? R.string.catchup_dialog_title_search : R.string.catchup_dialog_title; @@ -380,30 +368,28 @@ public class OnlineActivity extends CommonActivity { startActivityForResult(intent, 0); return true; } else if (itemId == R.id.search) { - if (hf != null) { - final EditText edit = new EditText(this); - edit.setText(hf.getSearchQuery()); + final EditText edit = new EditText(this); + edit.setText(Application.getArticlesModel().getSearchQuery()); - MaterialAlertDialogBuilder builder = new MaterialAlertDialogBuilder(this) - .setTitle(R.string.search) - .setPositiveButton(getString(R.string.search), - (dialog4, which) -> { + MaterialAlertDialogBuilder builder = new MaterialAlertDialogBuilder(this) + .setTitle(R.string.search) + .setPositiveButton(getString(R.string.search), + (dialog4, which) -> { - String query = edit.getText().toString().trim(); + String query = edit.getText().toString().trim(); - hf.setSearchQuery(query); + Application.getArticlesModel().setSearchQuery(query); - }) - .setNegativeButton(getString(R.string.cancel), - (dialog3, which) -> { + }) + .setNegativeButton(getString(R.string.cancel), + (dialog3, which) -> { - // + // - }).setView(edit); + }).setView(edit); - Dialog dialog = builder.create(); - dialog.show(); - } + Dialog dialog = builder.create(); + dialog.show(); return true; } else if (itemId == R.id.headlines_mark_as_read) { if (hf != null) { @@ -437,7 +423,6 @@ public class OnlineActivity extends CommonActivity { HeadlinesFragment hfnew = new HeadlinesFragment(); hfnew.initialize(hf.getFeed()); - hfnew.setSearchQuery(hf.getSearchQuery()); ft.replace(R.id.headlines_fragment, hfnew, FRAG_HEADLINES); |