summaryrefslogtreecommitdiff
path: root/org.fox.ttrss/src/main/java/org/fox
diff options
context:
space:
mode:
authorAndrew Dolgov <fox@fakecake.org>2025-05-20 09:29:18 +0300
committerAndrew Dolgov <fox@fakecake.org>2025-05-20 09:29:18 +0300
commitf4dd180b3c0c332d4adabbc1918d27c77e77ca89 (patch)
treeb1c24dfcd063b1af7917f838f022fc470dce41d4 /org.fox.ttrss/src/main/java/org/fox
parent0ad4c4e3fcbfd2113aaf37db5001238b5f8898bc (diff)
move search query stuff to model
Diffstat (limited to 'org.fox.ttrss/src/main/java/org/fox')
-rw-r--r--org.fox.ttrss/src/main/java/org/fox/ttrss/ArticleModel.java26
-rwxr-xr-xorg.fox.ttrss/src/main/java/org/fox/ttrss/DetailActivity.java3
-rwxr-xr-xorg.fox.ttrss/src/main/java/org/fox/ttrss/HeadlinesFragment.java19
-rwxr-xr-xorg.fox.ttrss/src/main/java/org/fox/ttrss/MasterActivity.java9
-rwxr-xr-xorg.fox.ttrss/src/main/java/org/fox/ttrss/OnlineActivity.java47
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);