diff options
author | Docile-Alligator <25734209+Docile-Alligator@users.noreply.github.com> | 2024-08-21 19:36:01 +0000 |
---|---|---|
committer | Docile-Alligator <25734209+Docile-Alligator@users.noreply.github.com> | 2024-08-21 19:36:01 +0000 |
commit | c715284619bd8cb9990c01877f9d2a86534ee57f (patch) | |
tree | c243f0e0358594a62182f2f37eb013bed3ef79bf /app/src/main | |
parent | 4c40d645ab99a28fc32b0273c74d087c994d6649 (diff) | |
download | infinity-for-reddit-c715284619bd8cb9990c01877f9d2a86534ee57f.tar infinity-for-reddit-c715284619bd8cb9990c01877f9d2a86534ee57f.tar.gz infinity-for-reddit-c715284619bd8cb9990c01877f9d2a86534ee57f.tar.bz2 infinity-for-reddit-c715284619bd8cb9990c01877f9d2a86534ee57f.tar.lz infinity-for-reddit-c715284619bd8cb9990c01877f9d2a86534ee57f.tar.xz infinity-for-reddit-c715284619bd8cb9990c01877f9d2a86534ee57f.tar.zst infinity-for-reddit-c715284619bd8cb9990c01877f9d2a86534ee57f.zip |
Continue adding support for searching in multireddit. App data should be cleared because the database schema is changed in RecentSearchQuery.
Diffstat (limited to '')
22 files changed, 107 insertions, 78 deletions
diff --git a/app/src/main/java/ml/docilealligator/infinityforreddit/SelectThingReturnKey.java b/app/src/main/java/ml/docilealligator/infinityforreddit/SelectThingReturnKey.java index a663f36f..d2b72696 100644 --- a/app/src/main/java/ml/docilealligator/infinityforreddit/SelectThingReturnKey.java +++ b/app/src/main/java/ml/docilealligator/infinityforreddit/SelectThingReturnKey.java @@ -1,7 +1,21 @@ package ml.docilealligator.infinityforreddit; +import androidx.annotation.IntDef; + +import java.lang.annotation.Retention; +import java.lang.annotation.RetentionPolicy; + public class SelectThingReturnKey { public static final String RETURN_EXTRA_SUBREDDIT_OR_USER_NAME = "RESOUN"; public static final String RETURN_EXTRA_SUBREDDIT_OR_USER_ICON = "RESOUI"; - public static final String RETURN_EXTRA_IS_USER = "REIU"; + public static final String RETRUN_EXTRA_MULTIREDDIT = "REM"; + public static final String RETURN_EXTRA_THING_TYPE = "RETT"; + + @IntDef({THING_TYPE.SUBREDDIT, THING_TYPE.USER, THING_TYPE.MULTIREDDIT}) + @Retention(RetentionPolicy.SOURCE) + public @interface THING_TYPE { + int SUBREDDIT = 0; + int USER = 1; + int MULTIREDDIT = 2; + } } diff --git a/app/src/main/java/ml/docilealligator/infinityforreddit/activities/MultiredditSelectionActivity.java b/app/src/main/java/ml/docilealligator/infinityforreddit/activities/MultiredditSelectionActivity.java index d6a398ca..97dc817d 100644 --- a/app/src/main/java/ml/docilealligator/infinityforreddit/activities/MultiredditSelectionActivity.java +++ b/app/src/main/java/ml/docilealligator/infinityforreddit/activities/MultiredditSelectionActivity.java @@ -1,7 +1,5 @@ package ml.docilealligator.infinityforreddit.activities; -import android.app.Activity; -import android.content.Intent; import android.content.SharedPreferences; import android.os.Build; import android.os.Bundle; @@ -41,8 +39,6 @@ import retrofit2.Retrofit; public class MultiredditSelectionActivity extends BaseActivity implements ActivityToolbarInterface { - public static final String EXTRA_RETURN_MULTIREDDIT = "ERM"; - private static final String INSERT_SUBSCRIBED_MULTIREDDIT_STATE = "ISSS"; private static final String FRAGMENT_OUT_STATE = "FOS"; @@ -184,13 +180,6 @@ public class MultiredditSelectionActivity extends BaseActivity implements Activi return false; } - public void getSelectedMultireddit(MultiReddit multiReddit) { - Intent returnIntent = new Intent(); - returnIntent.putExtra(EXTRA_RETURN_MULTIREDDIT, multiReddit); - setResult(Activity.RESULT_OK, returnIntent); - finish(); - } - @Override protected void onSaveInstanceState(@NonNull Bundle outState) { super.onSaveInstanceState(outState); diff --git a/app/src/main/java/ml/docilealligator/infinityforreddit/activities/PostGalleryActivity.java b/app/src/main/java/ml/docilealligator/infinityforreddit/activities/PostGalleryActivity.java index efa02503..7bd95ca7 100644 --- a/app/src/main/java/ml/docilealligator/infinityforreddit/activities/PostGalleryActivity.java +++ b/app/src/main/java/ml/docilealligator/infinityforreddit/activities/PostGalleryActivity.java @@ -57,6 +57,7 @@ import ml.docilealligator.infinityforreddit.Infinity; import ml.docilealligator.infinityforreddit.R; import ml.docilealligator.infinityforreddit.RedditDataRoomDatabase; import ml.docilealligator.infinityforreddit.RedditGalleryPayload; +import ml.docilealligator.infinityforreddit.SelectThingReturnKey; import ml.docilealligator.infinityforreddit.account.Account; import ml.docilealligator.infinityforreddit.adapters.MarkdownBottomBarRecyclerViewAdapter; import ml.docilealligator.infinityforreddit.adapters.RedditGallerySubmissionRecyclerViewAdapter; @@ -670,10 +671,10 @@ public class PostGalleryActivity extends BaseActivity implements FlairBottomShee super.onActivityResult(requestCode, resultCode, data); if (requestCode == SUBREDDIT_SELECTION_REQUEST_CODE) { if (resultCode == RESULT_OK) { - subredditName = data.getExtras().getString(SubredditSelectionActivity.EXTRA_RETURN_SUBREDDIT_NAME); - iconUrl = data.getExtras().getString(SubredditSelectionActivity.EXTRA_RETURN_SUBREDDIT_ICON_URL); + subredditName = data.getStringExtra(SubredditSelectionActivity.EXTRA_RETURN_SUBREDDIT_NAME); + iconUrl = data.getStringExtra(SubredditSelectionActivity.EXTRA_RETURN_SUBREDDIT_ICON_URL); subredditSelected = true; - subredditIsUser = data.getExtras().getBoolean(SubredditSelectionActivity.EXTRA_RETURN_SUBREDDIT_IS_USER); + subredditIsUser = data.getIntExtra(SubredditSelectionActivity.EXTRA_RETURN_THING_TYPE, SelectThingReturnKey.THING_TYPE.SUBREDDIT) == SelectThingReturnKey.THING_TYPE.USER; binding.subredditNameTextViewPostGalleryActivity.setTextColor(primaryTextColor); binding.subredditNameTextViewPostGalleryActivity.setText(subredditName); diff --git a/app/src/main/java/ml/docilealligator/infinityforreddit/activities/PostImageActivity.java b/app/src/main/java/ml/docilealligator/infinityforreddit/activities/PostImageActivity.java index 5d7e0d53..57b7c2c9 100644 --- a/app/src/main/java/ml/docilealligator/infinityforreddit/activities/PostImageActivity.java +++ b/app/src/main/java/ml/docilealligator/infinityforreddit/activities/PostImageActivity.java @@ -44,6 +44,7 @@ import ml.docilealligator.infinityforreddit.Flair; import ml.docilealligator.infinityforreddit.Infinity; import ml.docilealligator.infinityforreddit.R; import ml.docilealligator.infinityforreddit.RedditDataRoomDatabase; +import ml.docilealligator.infinityforreddit.SelectThingReturnKey; import ml.docilealligator.infinityforreddit.account.Account; import ml.docilealligator.infinityforreddit.adapters.MarkdownBottomBarRecyclerViewAdapter; import ml.docilealligator.infinityforreddit.asynctasks.LoadSubredditIcon; @@ -632,7 +633,7 @@ public class PostImageActivity extends BaseActivity implements FlairBottomSheetF subredditName = data.getExtras().getString(SubredditSelectionActivity.EXTRA_RETURN_SUBREDDIT_NAME); iconUrl = data.getExtras().getString(SubredditSelectionActivity.EXTRA_RETURN_SUBREDDIT_ICON_URL); subredditSelected = true; - subredditIsUser = data.getExtras().getBoolean(SubredditSelectionActivity.EXTRA_RETURN_SUBREDDIT_IS_USER); + subredditIsUser = data.getIntExtra(SubredditSelectionActivity.EXTRA_RETURN_THING_TYPE, SelectThingReturnKey.THING_TYPE.SUBREDDIT) == SelectThingReturnKey.THING_TYPE.USER; binding.subredditNameTextViewPostImageActivity.setTextColor(primaryTextColor); binding.subredditNameTextViewPostImageActivity.setText(subredditName); diff --git a/app/src/main/java/ml/docilealligator/infinityforreddit/activities/PostLinkActivity.java b/app/src/main/java/ml/docilealligator/infinityforreddit/activities/PostLinkActivity.java index 174cf79d..19600d0a 100644 --- a/app/src/main/java/ml/docilealligator/infinityforreddit/activities/PostLinkActivity.java +++ b/app/src/main/java/ml/docilealligator/infinityforreddit/activities/PostLinkActivity.java @@ -39,6 +39,7 @@ import ml.docilealligator.infinityforreddit.Flair; import ml.docilealligator.infinityforreddit.Infinity; import ml.docilealligator.infinityforreddit.R; import ml.docilealligator.infinityforreddit.RedditDataRoomDatabase; +import ml.docilealligator.infinityforreddit.SelectThingReturnKey; import ml.docilealligator.infinityforreddit.account.Account; import ml.docilealligator.infinityforreddit.adapters.MarkdownBottomBarRecyclerViewAdapter; import ml.docilealligator.infinityforreddit.apis.TitleSuggestion; @@ -613,10 +614,10 @@ public class PostLinkActivity extends BaseActivity implements FlairBottomSheetFr super.onActivityResult(requestCode, resultCode, data); if (resultCode == RESULT_OK) { if (requestCode == SUBREDDIT_SELECTION_REQUEST_CODE) { - subredditName = data.getExtras().getString(SubredditSelectionActivity.EXTRA_RETURN_SUBREDDIT_NAME); - iconUrl = data.getExtras().getString(SubredditSelectionActivity.EXTRA_RETURN_SUBREDDIT_ICON_URL); + subredditName = data.getStringExtra(SubredditSelectionActivity.EXTRA_RETURN_SUBREDDIT_NAME); + iconUrl = data.getStringExtra(SubredditSelectionActivity.EXTRA_RETURN_SUBREDDIT_ICON_URL); subredditSelected = true; - subredditIsUser = data.getExtras().getBoolean(SubredditSelectionActivity.EXTRA_RETURN_SUBREDDIT_IS_USER); + subredditIsUser = data.getIntExtra(SubredditSelectionActivity.EXTRA_RETURN_THING_TYPE, SelectThingReturnKey.THING_TYPE.SUBREDDIT) == SelectThingReturnKey.THING_TYPE.USER; binding.subredditNameTextViewPostLinkActivity.setTextColor(primaryTextColor); binding.subredditNameTextViewPostLinkActivity.setText(subredditName); diff --git a/app/src/main/java/ml/docilealligator/infinityforreddit/activities/PostPollActivity.java b/app/src/main/java/ml/docilealligator/infinityforreddit/activities/PostPollActivity.java index b836c718..4d30f7cc 100644 --- a/app/src/main/java/ml/docilealligator/infinityforreddit/activities/PostPollActivity.java +++ b/app/src/main/java/ml/docilealligator/infinityforreddit/activities/PostPollActivity.java @@ -56,6 +56,7 @@ import ml.docilealligator.infinityforreddit.Infinity; import ml.docilealligator.infinityforreddit.PollPayload; import ml.docilealligator.infinityforreddit.R; import ml.docilealligator.infinityforreddit.RedditDataRoomDatabase; +import ml.docilealligator.infinityforreddit.SelectThingReturnKey; import ml.docilealligator.infinityforreddit.UploadImageEnabledActivity; import ml.docilealligator.infinityforreddit.UploadedImage; import ml.docilealligator.infinityforreddit.account.Account; @@ -733,10 +734,10 @@ public class PostPollActivity extends BaseActivity implements FlairBottomSheetFr super.onActivityResult(requestCode, resultCode, data); if (resultCode == RESULT_OK) { if (requestCode == SUBREDDIT_SELECTION_REQUEST_CODE) { - subredditName = data.getExtras().getString(SubredditSelectionActivity.EXTRA_RETURN_SUBREDDIT_NAME); - iconUrl = data.getExtras().getString(SubredditSelectionActivity.EXTRA_RETURN_SUBREDDIT_ICON_URL); + subredditName = data.getStringExtra(SubredditSelectionActivity.EXTRA_RETURN_SUBREDDIT_NAME); + iconUrl = data.getStringExtra(SubredditSelectionActivity.EXTRA_RETURN_SUBREDDIT_ICON_URL); subredditSelected = true; - subredditIsUser = data.getExtras().getBoolean(SubredditSelectionActivity.EXTRA_RETURN_SUBREDDIT_IS_USER); + subredditIsUser = data.getIntExtra(SubredditSelectionActivity.EXTRA_RETURN_THING_TYPE, SelectThingReturnKey.THING_TYPE.SUBREDDIT) == SelectThingReturnKey.THING_TYPE.USER; binding.subredditNameTextViewPostPollActivity.setTextColor(primaryTextColor); binding.subredditNameTextViewPostPollActivity.setText(subredditName); diff --git a/app/src/main/java/ml/docilealligator/infinityforreddit/activities/PostTextActivity.java b/app/src/main/java/ml/docilealligator/infinityforreddit/activities/PostTextActivity.java index cb9960c1..89dfa5d0 100644 --- a/app/src/main/java/ml/docilealligator/infinityforreddit/activities/PostTextActivity.java +++ b/app/src/main/java/ml/docilealligator/infinityforreddit/activities/PostTextActivity.java @@ -46,6 +46,7 @@ import ml.docilealligator.infinityforreddit.Flair; import ml.docilealligator.infinityforreddit.Infinity; import ml.docilealligator.infinityforreddit.R; import ml.docilealligator.infinityforreddit.RedditDataRoomDatabase; +import ml.docilealligator.infinityforreddit.SelectThingReturnKey; import ml.docilealligator.infinityforreddit.UploadImageEnabledActivity; import ml.docilealligator.infinityforreddit.UploadedImage; import ml.docilealligator.infinityforreddit.account.Account; @@ -602,10 +603,10 @@ public class PostTextActivity extends BaseActivity implements FlairBottomSheetFr super.onActivityResult(requestCode, resultCode, data); if (resultCode == RESULT_OK) { if (requestCode == SUBREDDIT_SELECTION_REQUEST_CODE) { - subredditName = data.getExtras().getString(SubredditSelectionActivity.EXTRA_RETURN_SUBREDDIT_NAME); - iconUrl = data.getExtras().getString(SubredditSelectionActivity.EXTRA_RETURN_SUBREDDIT_ICON_URL); + subredditName = data.getStringExtra(SubredditSelectionActivity.EXTRA_RETURN_SUBREDDIT_NAME); + iconUrl = data.getStringExtra(SubredditSelectionActivity.EXTRA_RETURN_SUBREDDIT_ICON_URL); subredditSelected = true; - subredditIsUser = data.getExtras().getBoolean(SubredditSelectionActivity.EXTRA_RETURN_SUBREDDIT_IS_USER); + subredditIsUser = data.getIntExtra(SubredditSelectionActivity.EXTRA_RETURN_THING_TYPE, SelectThingReturnKey.THING_TYPE.SUBREDDIT) == SelectThingReturnKey.THING_TYPE.USER; binding.subredditNameTextViewPostTextActivity.setTextColor(primaryTextColor); binding.subredditNameTextViewPostTextActivity.setText(subredditName); diff --git a/app/src/main/java/ml/docilealligator/infinityforreddit/activities/PostVideoActivity.java b/app/src/main/java/ml/docilealligator/infinityforreddit/activities/PostVideoActivity.java index 4f097bec..c92944ba 100644 --- a/app/src/main/java/ml/docilealligator/infinityforreddit/activities/PostVideoActivity.java +++ b/app/src/main/java/ml/docilealligator/infinityforreddit/activities/PostVideoActivity.java @@ -50,6 +50,7 @@ import ml.docilealligator.infinityforreddit.Flair; import ml.docilealligator.infinityforreddit.Infinity; import ml.docilealligator.infinityforreddit.R; import ml.docilealligator.infinityforreddit.RedditDataRoomDatabase; +import ml.docilealligator.infinityforreddit.SelectThingReturnKey; import ml.docilealligator.infinityforreddit.account.Account; import ml.docilealligator.infinityforreddit.adapters.MarkdownBottomBarRecyclerViewAdapter; import ml.docilealligator.infinityforreddit.asynctasks.LoadSubredditIcon; @@ -658,7 +659,7 @@ public class PostVideoActivity extends BaseActivity implements FlairBottomSheetF subredditName = data.getStringExtra(SubredditSelectionActivity.EXTRA_RETURN_SUBREDDIT_NAME); iconUrl = data.getStringExtra(SubredditSelectionActivity.EXTRA_RETURN_SUBREDDIT_ICON_URL); subredditSelected = true; - subredditIsUser = data.getBooleanExtra(SubredditSelectionActivity.EXTRA_RETURN_SUBREDDIT_IS_USER, false); + subredditIsUser = data.getIntExtra(SubredditSelectionActivity.EXTRA_RETURN_THING_TYPE, SelectThingReturnKey.THING_TYPE.SUBREDDIT) == SelectThingReturnKey.THING_TYPE.USER; binding.subredditNameTextViewPostVideoActivity.setTextColor(primaryTextColor); binding.subredditNameTextViewPostVideoActivity.setText(subredditName); diff --git a/app/src/main/java/ml/docilealligator/infinityforreddit/activities/SearchActivity.java b/app/src/main/java/ml/docilealligator/infinityforreddit/activities/SearchActivity.java index d9c02988..de0b643f 100644 --- a/app/src/main/java/ml/docilealligator/infinityforreddit/activities/SearchActivity.java +++ b/app/src/main/java/ml/docilealligator/infinityforreddit/activities/SearchActivity.java @@ -50,6 +50,7 @@ import ml.docilealligator.infinityforreddit.customtheme.CustomThemeWrapper; import ml.docilealligator.infinityforreddit.customviews.slidr.Slidr; import ml.docilealligator.infinityforreddit.databinding.ActivitySearchBinding; import ml.docilealligator.infinityforreddit.events.SwitchAccountEvent; +import ml.docilealligator.infinityforreddit.multireddit.MultiReddit; import ml.docilealligator.infinityforreddit.recentsearchquery.RecentSearchQuery; import ml.docilealligator.infinityforreddit.recentsearchquery.RecentSearchQueryViewModel; import ml.docilealligator.infinityforreddit.subreddit.ParseSubredditData; @@ -66,7 +67,7 @@ public class SearchActivity extends BaseActivity { public static final String EXTRA_QUERY = "EQ"; public static final String EXTRA_SEARCH_IN_SUBREDDIT_OR_USER_NAME = "ESISOUN"; - public static final String EXTRA_SEARCH_IN_SUBREDDIT_IS_USER = "ESISIU"; + public static final String EXTRA_SEARCH_IN_THING_TYPE = "ESITY"; public static final String EXTRA_SEARCH_ONLY_SUBREDDITS = "ESOS"; public static final String EXTRA_SEARCH_ONLY_USERS = "ESOU"; public static final String EXTRA_SEARCH_SUBREDDITS_AND_USERS = "ESSAU"; @@ -80,7 +81,7 @@ public class SearchActivity extends BaseActivity { public static final int SUICIDE_PREVENTION_ACTIVITY_REQUEST_CODE = 101; private static final String SUBREDDIT_NAME_STATE = "SNS"; - private static final String SUBREDDIT_IS_USER_STATE = "SIUS"; + private static final String SEARCH_IN_THING_TYPE_STATE = "SITTS"; private static final int SUBREDDIT_SELECTION_REQUEST_CODE = 0; private static final int SUBREDDIT_SEARCH_REQUEST_CODE = 1; @@ -106,7 +107,9 @@ public class SearchActivity extends BaseActivity { Executor executor; private String query; private String searchInSubredditOrUserName; - private boolean searchInIsUser; + private MultiReddit searchInMultiReddit; + @SelectThingReturnKey.THING_TYPE + private int searchInThingType; private boolean searchOnlySubreddits; private boolean searchOnlyUsers; private boolean searchSubredditsAndUsers; @@ -298,7 +301,7 @@ public class SearchActivity extends BaseActivity { if (savedInstanceState != null) { searchInSubredditOrUserName = savedInstanceState.getString(SUBREDDIT_NAME_STATE); - searchInIsUser = savedInstanceState.getBoolean(SUBREDDIT_IS_USER_STATE); + searchInThingType = savedInstanceState.getInt(SEARCH_IN_THING_TYPE_STATE); if (searchInSubredditOrUserName == null) { binding.subredditNameTextViewSearchActivity.setText(R.string.all_subreddits); @@ -317,7 +320,7 @@ public class SearchActivity extends BaseActivity { } searchInSubredditOrUserName = returnIntent.getStringExtra(SelectThingReturnKey.RETURN_EXTRA_SUBREDDIT_OR_USER_NAME); - searchInIsUser = returnIntent.getBooleanExtra(SelectThingReturnKey.RETURN_EXTRA_IS_USER, false); + searchInThingType = returnIntent.getIntExtra(SelectThingReturnKey.RETURN_EXTRA_THING_TYPE, SelectThingReturnKey.THING_TYPE.SUBREDDIT); if (searchInSubredditOrUserName == null) { binding.subredditNameTextViewSearchActivity.setText(R.string.all_subreddits); @@ -345,7 +348,7 @@ public class SearchActivity extends BaseActivity { if (intent.hasExtra(EXTRA_SEARCH_IN_SUBREDDIT_OR_USER_NAME)) { searchInSubredditOrUserName = intent.getStringExtra(EXTRA_SEARCH_IN_SUBREDDIT_OR_USER_NAME); binding.subredditNameTextViewSearchActivity.setText(searchInSubredditOrUserName); - searchInIsUser = intent.getBooleanExtra(EXTRA_SEARCH_IN_SUBREDDIT_IS_USER, false); + searchInThingType = intent.getIntExtra(EXTRA_SEARCH_IN_THING_TYPE, SelectThingReturnKey.THING_TYPE.SUBREDDIT); } } @@ -355,7 +358,7 @@ public class SearchActivity extends BaseActivity { @Override public void onClick(RecentSearchQuery recentSearchQuery) { searchInSubredditOrUserName = recentSearchQuery.getSearchInSubredditOrUserName(); - searchInIsUser = recentSearchQuery.isSearchInIsUser(); + searchInThingType = recentSearchQuery.getSearchInThingType(); search(recentSearchQuery.getSearchQuery()); } @@ -450,7 +453,7 @@ public class SearchActivity extends BaseActivity { intent.putExtra(SearchResultActivity.EXTRA_QUERY, query); if (searchInSubredditOrUserName != null) { intent.putExtra(SearchResultActivity.EXTRA_SEARCH_IN_SUBREDDIT_OR_USER_NAME, searchInSubredditOrUserName); - intent.putExtra(SearchResultActivity.EXTRA_SEARCH_IN_SUBREDDIT_IS_USER, searchInIsUser); + intent.putExtra(SearchResultActivity.EXTRA_SEARCH_IN_THING_TYPE, searchInThingType); } startActivity(intent); finish(); @@ -515,7 +518,7 @@ public class SearchActivity extends BaseActivity { if (resultCode == RESULT_OK && data != null) { if (requestCode == SUBREDDIT_SELECTION_REQUEST_CODE) { searchInSubredditOrUserName = data.getStringExtra(SubredditSelectionActivity.EXTRA_RETURN_SUBREDDIT_NAME); - searchInIsUser = data.getBooleanExtra(SubredditSelectionActivity.EXTRA_RETURN_SUBREDDIT_IS_USER, false); + searchInThingType = data.getIntExtra(SubredditSelectionActivity.EXTRA_RETURN_THING_TYPE, SelectThingReturnKey.THING_TYPE.SUBREDDIT); if (searchInSubredditOrUserName == null) { binding.subredditNameTextViewSearchActivity.setText(R.string.all_subreddits); @@ -568,7 +571,7 @@ public class SearchActivity extends BaseActivity { public void onSaveInstanceState(@NonNull Bundle outState) { super.onSaveInstanceState(outState); outState.putString(SUBREDDIT_NAME_STATE, searchInSubredditOrUserName); - outState.putBoolean(SUBREDDIT_IS_USER_STATE, searchInIsUser); + outState.putInt(SEARCH_IN_THING_TYPE_STATE, searchInThingType); } @Override diff --git a/app/src/main/java/ml/docilealligator/infinityforreddit/activities/SearchResultActivity.java b/app/src/main/java/ml/docilealligator/infinityforreddit/activities/SearchResultActivity.java index 62e33ac3..169cd2a6 100644 --- a/app/src/main/java/ml/docilealligator/infinityforreddit/activities/SearchResultActivity.java +++ b/app/src/main/java/ml/docilealligator/infinityforreddit/activities/SearchResultActivity.java @@ -44,6 +44,7 @@ import ml.docilealligator.infinityforreddit.Infinity; import ml.docilealligator.infinityforreddit.R; import ml.docilealligator.infinityforreddit.RecyclerViewContentScrollingInterface; import ml.docilealligator.infinityforreddit.RedditDataRoomDatabase; +import ml.docilealligator.infinityforreddit.SelectThingReturnKey; import ml.docilealligator.infinityforreddit.SortType; import ml.docilealligator.infinityforreddit.SortTypeSelectionCallback; import ml.docilealligator.infinityforreddit.account.Account; @@ -85,7 +86,7 @@ public class SearchResultActivity extends BaseActivity implements SortTypeSelect public static final String EXTRA_TRENDING_SOURCE = "ETS"; public static final String EXTRA_SEARCH_IN_SUBREDDIT_OR_USER_NAME = "ESISOUN"; public static final String EXTRA_SHOULD_RETURN_SUBREDDIT_AND_USER_NAME = "ESRSAUN"; - public static final String EXTRA_SEARCH_IN_SUBREDDIT_IS_USER = "ESISIU"; + public static final String EXTRA_SEARCH_IN_THING_TYPE = "ESITT"; private static final String INSERT_SEARCH_QUERY_SUCCESS_STATE = "ISQSS"; @@ -120,7 +121,8 @@ public class SearchResultActivity extends BaseActivity implements SortTypeSelect private Call<String> subredditAutocompleteCall; private String mQuery; private String mSearchInSubredditOrUserName; - private boolean mSearchInIsUser; + @SelectThingReturnKey.THING_TYPE + private int mSearchInThingType; private boolean mInsertSearchQuerySuccess; private boolean mReturnSubredditAndUserName; private FragmentManager fragmentManager; @@ -179,7 +181,7 @@ public class SearchResultActivity extends BaseActivity implements SortTypeSelect String query = intent.getStringExtra(EXTRA_QUERY); mSearchInSubredditOrUserName = intent.getStringExtra(EXTRA_SEARCH_IN_SUBREDDIT_OR_USER_NAME); - mSearchInIsUser = intent.getBooleanExtra(EXTRA_SEARCH_IN_SUBREDDIT_IS_USER, false); + mSearchInThingType = intent.getIntExtra(EXTRA_SEARCH_IN_THING_TYPE, SelectThingReturnKey.THING_TYPE.SUBREDDIT); mReturnSubredditAndUserName = intent.getBooleanExtra(EXTRA_SHOULD_RETURN_SUBREDDIT_AND_USER_NAME, false); if (query != null) { @@ -341,7 +343,7 @@ public class SearchResultActivity extends BaseActivity implements SortTypeSelect Intent intent = new Intent(this, SearchActivity.class); if (mSearchInSubredditOrUserName != null && !mSearchInSubredditOrUserName.equals("")) { intent.putExtra(SearchActivity.EXTRA_SEARCH_IN_SUBREDDIT_OR_USER_NAME, mSearchInSubredditOrUserName); - intent.putExtra(SearchActivity.EXTRA_SEARCH_IN_SUBREDDIT_IS_USER, mSearchInIsUser); + intent.putExtra(SearchActivity.EXTRA_SEARCH_IN_THING_TYPE, mSearchInThingType); } startActivity(intent); break; @@ -385,9 +387,9 @@ public class SearchResultActivity extends BaseActivity implements SortTypeSelect return true; }); - if (!accountName.equals(Account.ANONYMOUS_ACCOUNT)&& mSharedPreferences.getBoolean(SharedPreferencesUtils.ENABLE_SEARCH_HISTORY, true) && !mInsertSearchQuerySuccess && mQuery != null) { + if (!accountName.equals(Account.ANONYMOUS_ACCOUNT) && mSharedPreferences.getBoolean(SharedPreferencesUtils.ENABLE_SEARCH_HISTORY, true) && !mInsertSearchQuerySuccess && mQuery != null) { InsertRecentSearchQuery.insertRecentSearchQueryListener(executor, new Handler(getMainLooper()), - mRedditDataRoomDatabase, accountName, mQuery, mSearchInSubredditOrUserName, mSearchInIsUser, + mRedditDataRoomDatabase, accountName, mQuery, mSearchInSubredditOrUserName, mSearchInThingType, () -> mInsertSearchQuerySuccess = true); } } @@ -430,7 +432,7 @@ public class SearchResultActivity extends BaseActivity implements SortTypeSelect Intent intent = new Intent(this, SearchActivity.class); if (mSearchInSubredditOrUserName != null && !mSearchInSubredditOrUserName.equals("")) { intent.putExtra(SearchActivity.EXTRA_SEARCH_IN_SUBREDDIT_OR_USER_NAME, mSearchInSubredditOrUserName); - intent.putExtra(SearchActivity.EXTRA_SEARCH_IN_SUBREDDIT_IS_USER, mSearchInIsUser); + intent.putExtra(SearchActivity.EXTRA_SEARCH_IN_THING_TYPE, mSearchInThingType); } intent.putExtra(SearchActivity.EXTRA_QUERY, mQuery); finish(); @@ -543,7 +545,7 @@ public class SearchResultActivity extends BaseActivity implements SortTypeSelect Intent intent = new Intent(this, SearchActivity.class); if (mSearchInSubredditOrUserName != null && !mSearchInSubredditOrUserName.equals("")) { intent.putExtra(SearchActivity.EXTRA_SEARCH_IN_SUBREDDIT_OR_USER_NAME, mSearchInSubredditOrUserName); - intent.putExtra(SearchActivity.EXTRA_SEARCH_IN_SUBREDDIT_IS_USER, mSearchInIsUser); + intent.putExtra(SearchActivity.EXTRA_SEARCH_IN_THING_TYPE, mSearchInThingType); } startActivity(intent); break; @@ -802,7 +804,7 @@ public class SearchResultActivity extends BaseActivity implements SortTypeSelect PostFragment mFragment = new PostFragment(); Bundle bundle = new Bundle(); bundle.putInt(PostFragment.EXTRA_POST_TYPE, PostPagingSource.TYPE_SEARCH); - bundle.putString(PostFragment.EXTRA_NAME, mSearchInIsUser ? "u_" + mSearchInSubredditOrUserName : mSearchInSubredditOrUserName); + bundle.putString(PostFragment.EXTRA_NAME, mSearchInThingType == SelectThingReturnKey.THING_TYPE.USER ? "u_" + mSearchInSubredditOrUserName : mSearchInSubredditOrUserName); bundle.putString(PostFragment.EXTRA_QUERY, mQuery); bundle.putString(PostFragment.EXTRA_TRENDING_SOURCE, getIntent().getStringExtra(EXTRA_TRENDING_SOURCE)); mFragment.setArguments(bundle); diff --git a/app/src/main/java/ml/docilealligator/infinityforreddit/activities/SubmitCrosspostActivity.java b/app/src/main/java/ml/docilealligator/infinityforreddit/activities/SubmitCrosspostActivity.java index 9ad08b40..4645ccb0 100644 --- a/app/src/main/java/ml/docilealligator/infinityforreddit/activities/SubmitCrosspostActivity.java +++ b/app/src/main/java/ml/docilealligator/infinityforreddit/activities/SubmitCrosspostActivity.java @@ -45,6 +45,7 @@ import ml.docilealligator.infinityforreddit.Flair; import ml.docilealligator.infinityforreddit.Infinity; import ml.docilealligator.infinityforreddit.R; import ml.docilealligator.infinityforreddit.RedditDataRoomDatabase; +import ml.docilealligator.infinityforreddit.SelectThingReturnKey; import ml.docilealligator.infinityforreddit.account.Account; import ml.docilealligator.infinityforreddit.asynctasks.LoadSubredditIcon; import ml.docilealligator.infinityforreddit.bottomsheetfragments.AccountChooserBottomSheetFragment; @@ -594,10 +595,10 @@ public class SubmitCrosspostActivity extends BaseActivity implements FlairBottom super.onActivityResult(requestCode, resultCode, data); if (requestCode == SUBREDDIT_SELECTION_REQUEST_CODE) { if (resultCode == RESULT_OK) { - subredditName = data.getExtras().getString(SubredditSelectionActivity.EXTRA_RETURN_SUBREDDIT_NAME); - iconUrl = data.getExtras().getString(SubredditSelectionActivity.EXTRA_RETURN_SUBREDDIT_ICON_URL); + subredditName = data.getStringExtra(SubredditSelectionActivity.EXTRA_RETURN_SUBREDDIT_NAME); + iconUrl = data.getStringExtra(SubredditSelectionActivity.EXTRA_RETURN_SUBREDDIT_ICON_URL); subredditSelected = true; - subredditIsUser = data.getExtras().getBoolean(SubredditSelectionActivity.EXTRA_RETURN_SUBREDDIT_IS_USER); + subredditIsUser = data.getIntExtra(SubredditSelectionActivity.EXTRA_RETURN_THING_TYPE, SelectThingReturnKey.THING_TYPE.SUBREDDIT) == SelectThingReturnKey.THING_TYPE.USER; binding.subredditNameTextViewSubmitCrosspostActivity.setTextColor(primaryTextColor); binding.subredditNameTextViewSubmitCrosspostActivity.setText(subredditName); diff --git a/app/src/main/java/ml/docilealligator/infinityforreddit/activities/SubredditSelectionActivity.java b/app/src/main/java/ml/docilealligator/infinityforreddit/activities/SubredditSelectionActivity.java index d1a540f9..4dfa2924 100644 --- a/app/src/main/java/ml/docilealligator/infinityforreddit/activities/SubredditSelectionActivity.java +++ b/app/src/main/java/ml/docilealligator/infinityforreddit/activities/SubredditSelectionActivity.java @@ -31,6 +31,7 @@ import ml.docilealligator.infinityforreddit.FetchSubscribedThing; import ml.docilealligator.infinityforreddit.Infinity; import ml.docilealligator.infinityforreddit.R; import ml.docilealligator.infinityforreddit.RedditDataRoomDatabase; +import ml.docilealligator.infinityforreddit.SelectThingReturnKey; import ml.docilealligator.infinityforreddit.account.Account; import ml.docilealligator.infinityforreddit.asynctasks.InsertSubscribedThings; import ml.docilealligator.infinityforreddit.customtheme.CustomThemeWrapper; @@ -52,7 +53,7 @@ public class SubredditSelectionActivity extends BaseActivity implements Activity public static final String EXTRA_EXTRA_CLEAR_SELECTION = "EECS"; public static final String EXTRA_RETURN_SUBREDDIT_NAME = "ERSN"; public static final String EXTRA_RETURN_SUBREDDIT_ICON_URL = "ERSIURL"; - public static final String EXTRA_RETURN_SUBREDDIT_IS_USER = "ERSIU"; + public static final String EXTRA_RETURN_THING_TYPE = "ERTT"; private static final int SUBREDDIT_SEARCH_REQUEST_CODE = 0; private static final String INSERT_SUBSCRIBED_SUBREDDIT_STATE = "ISSS"; @@ -254,7 +255,7 @@ public class SubredditSelectionActivity extends BaseActivity implements Activity Intent returnIntent = new Intent(); returnIntent.putExtra(EXTRA_RETURN_SUBREDDIT_NAME, name); returnIntent.putExtra(EXTRA_RETURN_SUBREDDIT_ICON_URL, iconUrl); - returnIntent.putExtra(EXTRA_RETURN_SUBREDDIT_IS_USER, false); + returnIntent.putExtra(EXTRA_RETURN_THING_TYPE, SelectThingReturnKey.THING_TYPE.SUBREDDIT); setResult(Activity.RESULT_OK, returnIntent); finish(); } diff --git a/app/src/main/java/ml/docilealligator/infinityforreddit/activities/SubscribedThingListingActivity.java b/app/src/main/java/ml/docilealligator/infinityforreddit/activities/SubscribedThingListingActivity.java index 750f049f..969fc706 100644 --- a/app/src/main/java/ml/docilealligator/infinityforreddit/activities/SubscribedThingListingActivity.java +++ b/app/src/main/java/ml/docilealligator/infinityforreddit/activities/SubscribedThingListingActivity.java @@ -490,6 +490,7 @@ public class SubscribedThingListingActivity extends BaseActivity implements Acti MultiRedditListingFragment fragment = new MultiRedditListingFragment(); Bundle bundle = new Bundle(); + bundle.putBoolean(MultiRedditListingFragment.EXTRA_IS_GETTING_MULTIREDDIT_INFO, isThingSelectionMode); fragment.setArguments(bundle); return fragment; } diff --git a/app/src/main/java/ml/docilealligator/infinityforreddit/activities/ViewSubredditDetailActivity.java b/app/src/main/java/ml/docilealligator/infinityforreddit/activities/ViewSubredditDetailActivity.java index 939a0fba..f750128a 100644 --- a/app/src/main/java/ml/docilealligator/infinityforreddit/activities/ViewSubredditDetailActivity.java +++ b/app/src/main/java/ml/docilealligator/infinityforreddit/activities/ViewSubredditDetailActivity.java @@ -70,6 +70,7 @@ import ml.docilealligator.infinityforreddit.MarkPostAsReadInterface; import ml.docilealligator.infinityforreddit.R; import ml.docilealligator.infinityforreddit.RecyclerViewContentScrollingInterface; import ml.docilealligator.infinityforreddit.RedditDataRoomDatabase; +import ml.docilealligator.infinityforreddit.SelectThingReturnKey; import ml.docilealligator.infinityforreddit.SortType; import ml.docilealligator.infinityforreddit.SortTypeSelectionCallback; import ml.docilealligator.infinityforreddit.account.Account; @@ -1154,7 +1155,7 @@ public class ViewSubredditDetailActivity extends BaseActivity implements SortTyp super.onActivityResult(requestCode, resultCode, data); if (requestCode == ADD_TO_MULTIREDDIT_REQUEST_CODE && resultCode == RESULT_OK) { if (data != null) { - MultiReddit multiReddit = data.getParcelableExtra(MultiredditSelectionActivity.EXTRA_RETURN_MULTIREDDIT); + MultiReddit multiReddit = data.getParcelableExtra(SelectThingReturnKey.RETRUN_EXTRA_MULTIREDDIT); if (multiReddit != null) { AddSubredditOrUserToMultiReddit.addSubredditOrUserToMultiReddit(mOauthRetrofit, accessToken, multiReddit.getPath(), subredditName, diff --git a/app/src/main/java/ml/docilealligator/infinityforreddit/activities/ViewUserDetailActivity.java b/app/src/main/java/ml/docilealligator/infinityforreddit/activities/ViewUserDetailActivity.java index 18ed5b5e..57d60542 100644 --- a/app/src/main/java/ml/docilealligator/infinityforreddit/activities/ViewUserDetailActivity.java +++ b/app/src/main/java/ml/docilealligator/infinityforreddit/activities/ViewUserDetailActivity.java @@ -67,6 +67,7 @@ import ml.docilealligator.infinityforreddit.MarkPostAsReadInterface; import ml.docilealligator.infinityforreddit.R; import ml.docilealligator.infinityforreddit.RecyclerViewContentScrollingInterface; import ml.docilealligator.infinityforreddit.RedditDataRoomDatabase; +import ml.docilealligator.infinityforreddit.SelectThingReturnKey; import ml.docilealligator.infinityforreddit.SortType; import ml.docilealligator.infinityforreddit.SortTypeSelectionCallback; import ml.docilealligator.infinityforreddit.account.Account; @@ -828,7 +829,7 @@ public class ViewUserDetailActivity extends BaseActivity implements SortTypeSele case SharedPreferencesUtils.OTHER_ACTIVITIES_BOTTOM_APP_BAR_FAB_SEARCH: { Intent intent = new Intent(this, SearchActivity.class); intent.putExtra(SearchActivity.EXTRA_SEARCH_IN_SUBREDDIT_OR_USER_NAME, username); - intent.putExtra(SearchActivity.EXTRA_SEARCH_IN_SUBREDDIT_IS_USER, true); + intent.putExtra(SearchActivity.EXTRA_SEARCH_IN_THING_TYPE, SelectThingReturnKey.THING_TYPE.USER); startActivity(intent); break; } @@ -918,7 +919,7 @@ public class ViewUserDetailActivity extends BaseActivity implements SortTypeSele case SharedPreferencesUtils.OTHER_ACTIVITIES_BOTTOM_APP_BAR_OPTION_SEARCH: { Intent intent = new Intent(this, SearchActivity.class); intent.putExtra(SearchActivity.EXTRA_SEARCH_IN_SUBREDDIT_OR_USER_NAME, username); - intent.putExtra(SearchActivity.EXTRA_SEARCH_IN_SUBREDDIT_IS_USER, true); + intent.putExtra(SearchActivity.EXTRA_SEARCH_IN_THING_TYPE, SelectThingReturnKey.THING_TYPE.USER); startActivity(intent); break; } @@ -1097,7 +1098,7 @@ public class ViewUserDetailActivity extends BaseActivity implements SortTypeSele } else if (itemId == R.id.action_search_view_user_detail_activity) { Intent intent = new Intent(this, SearchActivity.class); intent.putExtra(SearchActivity.EXTRA_SEARCH_IN_SUBREDDIT_OR_USER_NAME, username); - intent.putExtra(SearchActivity.EXTRA_SEARCH_IN_SUBREDDIT_IS_USER, true); + intent.putExtra(SearchActivity.EXTRA_SEARCH_IN_THING_TYPE, SelectThingReturnKey.THING_TYPE.USER); startActivity(intent); return true; } else if (itemId == R.id.action_refresh_view_user_detail_activity) { @@ -1191,7 +1192,7 @@ public class ViewUserDetailActivity extends BaseActivity implements SortTypeSele } } else if (requestCode == ADD_TO_MULTIREDDIT_REQUEST_CODE) { if (data != null) { - MultiReddit multiReddit = data.getParcelableExtra(MultiredditSelectionActivity.EXTRA_RETURN_MULTIREDDIT); + MultiReddit multiReddit = data.getParcelableExtra(SelectThingReturnKey.RETRUN_EXTRA_MULTIREDDIT); if (multiReddit != null) { AddSubredditOrUserToMultiReddit.addSubredditOrUserToMultiReddit(mOauthRetrofit, accessToken, multiReddit.getPath(), "u_" + username, @@ -1283,7 +1284,7 @@ public class ViewUserDetailActivity extends BaseActivity implements SortTypeSele case FABMoreOptionsBottomSheetFragment.FAB_OPTION_SEARCH: Intent intent = new Intent(this, SearchActivity.class); intent.putExtra(SearchActivity.EXTRA_SEARCH_IN_SUBREDDIT_OR_USER_NAME, username); - intent.putExtra(SearchActivity.EXTRA_SEARCH_IN_SUBREDDIT_IS_USER, true); + intent.putExtra(SearchActivity.EXTRA_SEARCH_IN_THING_TYPE, SelectThingReturnKey.THING_TYPE.USER); startActivity(intent); break; case FABMoreOptionsBottomSheetFragment.FAB_OPTION_GO_TO_SUBREDDIT: { diff --git a/app/src/main/java/ml/docilealligator/infinityforreddit/adapters/SearchActivityRecyclerViewAdapter.java b/app/src/main/java/ml/docilealligator/infinityforreddit/adapters/SearchActivityRecyclerViewAdapter.java index 084324ba..8008e497 100644 --- a/app/src/main/java/ml/docilealligator/infinityforreddit/adapters/SearchActivityRecyclerViewAdapter.java +++ b/app/src/main/java/ml/docilealligator/infinityforreddit/adapters/SearchActivityRecyclerViewAdapter.java @@ -10,6 +10,7 @@ import androidx.recyclerview.widget.RecyclerView; import java.util.List; import ml.docilealligator.infinityforreddit.R; +import ml.docilealligator.infinityforreddit.SelectThingReturnKey; import ml.docilealligator.infinityforreddit.activities.BaseActivity; import ml.docilealligator.infinityforreddit.customtheme.CustomThemeWrapper; import ml.docilealligator.infinityforreddit.databinding.ItemRecentSearchQueryBinding; @@ -54,7 +55,7 @@ public class SearchActivityRecyclerViewAdapter extends RecyclerView.Adapter<Recy RecentSearchQuery recentSearchQuery = recentSearchQueries.get(position); ((RecentSearchQueryViewHolder) holder).binding.recentSearchQueryTextViewItemRecentSearchQuery.setText(recentSearchQuery.getSearchQuery()); if (recentSearchQuery.getSearchInSubredditOrUserName() != null && !recentSearchQuery.getSearchInSubredditOrUserName().isEmpty()) { - if (recentSearchQuery.isSearchInIsUser()) { + if (recentSearchQuery.getSearchInThingType() == SelectThingReturnKey.THING_TYPE.USER) { ((RecentSearchQueryViewHolder) holder).binding.recentSearchQueryWhereTextViewItemRecentSearchQuery .setTextColor(userTextColor); ((RecentSearchQueryViewHolder) holder).binding.recentSearchQueryWhereTextViewItemRecentSearchQuery diff --git a/app/src/main/java/ml/docilealligator/infinityforreddit/fragments/FollowedUsersListingFragment.java b/app/src/main/java/ml/docilealligator/infinityforreddit/fragments/FollowedUsersListingFragment.java index 3f51bcaf..8fe7ea2e 100644 --- a/app/src/main/java/ml/docilealligator/infinityforreddit/fragments/FollowedUsersListingFragment.java +++ b/app/src/main/java/ml/docilealligator/infinityforreddit/fragments/FollowedUsersListingFragment.java @@ -106,7 +106,7 @@ public class FollowedUsersListingFragment extends Fragment implements FragmentCo if (getArguments().getBoolean(EXTRA_IS_USER_SELECTION)) { Intent returnIntent = new Intent(); returnIntent.putExtra(SelectThingReturnKey.RETURN_EXTRA_SUBREDDIT_OR_USER_NAME, subscribedUserData.getName()); - returnIntent.putExtra(SelectThingReturnKey.RETURN_EXTRA_IS_USER, true); + returnIntent.putExtra(SelectThingReturnKey.RETURN_EXTRA_THING_TYPE, SelectThingReturnKey.THING_TYPE.USER); mActivity.setResult(Activity.RESULT_OK, returnIntent); mActivity.finish(); } else { diff --git a/app/src/main/java/ml/docilealligator/infinityforreddit/fragments/MultiRedditListingFragment.java b/app/src/main/java/ml/docilealligator/infinityforreddit/fragments/MultiRedditListingFragment.java index 2a0f1a16..316dc871 100644 --- a/app/src/main/java/ml/docilealligator/infinityforreddit/fragments/MultiRedditListingFragment.java +++ b/app/src/main/java/ml/docilealligator/infinityforreddit/fragments/MultiRedditListingFragment.java @@ -1,5 +1,6 @@ package ml.docilealligator.infinityforreddit.fragments; +import android.app.Activity; import android.content.Context; import android.content.Intent; import android.content.SharedPreferences; @@ -28,9 +29,9 @@ import ml.docilealligator.infinityforreddit.FragmentCommunicator; import ml.docilealligator.infinityforreddit.Infinity; import ml.docilealligator.infinityforreddit.R; import ml.docilealligator.infinityforreddit.RedditDataRoomDatabase; +import ml.docilealligator.infinityforreddit.SelectThingReturnKey; import ml.docilealligator.infinityforreddit.account.Account; import ml.docilealligator.infinityforreddit.activities.BaseActivity; -import ml.docilealligator.infinityforreddit.activities.MultiredditSelectionActivity; import ml.docilealligator.infinityforreddit.activities.SubscribedThingListingActivity; import ml.docilealligator.infinityforreddit.activities.ViewMultiRedditDetailActivity; import ml.docilealligator.infinityforreddit.adapters.MultiRedditListingRecyclerViewAdapter; @@ -105,8 +106,12 @@ public class MultiRedditListingFragment extends Fragment implements FragmentComm mActivity.accountName, new MultiRedditListingRecyclerViewAdapter.OnItemClickListener() { @Override public void onClick(MultiReddit multiReddit) { - if (mActivity instanceof MultiredditSelectionActivity) { - ((MultiredditSelectionActivity) mActivity).getSelectedMultireddit(multiReddit); + if (isGettingMultiredditInfo) { + Intent returnIntent = new Intent(); + returnIntent.putExtra(SelectThingReturnKey.RETRUN_EXTRA_MULTIREDDIT, multiReddit); + returnIntent.putExtra(SelectThingReturnKey.RETURN_EXTRA_THING_TYPE, SelectThingReturnKey.THING_TYPE.MULTIREDDIT); + mActivity.setResult(Activity.RESULT_OK, returnIntent); + mActivity.finish(); } else { Intent intent = new Intent(mActivity, ViewMultiRedditDetailActivity.class); intent.putExtra(ViewMultiRedditDetailActivity.EXTRA_MULTIREDDIT_DATA, multiReddit); diff --git a/app/src/main/java/ml/docilealligator/infinityforreddit/fragments/SubscribedSubredditsListingFragment.java b/app/src/main/java/ml/docilealligator/infinityforreddit/fragments/SubscribedSubredditsListingFragment.java index 7eb624f7..459e3d91 100644 --- a/app/src/main/java/ml/docilealligator/infinityforreddit/fragments/SubscribedSubredditsListingFragment.java +++ b/app/src/main/java/ml/docilealligator/infinityforreddit/fragments/SubscribedSubredditsListingFragment.java @@ -110,7 +110,7 @@ public class SubscribedSubredditsListingFragment extends Fragment implements Fra Intent returnIntent = new Intent(); returnIntent.putExtra(SelectThingReturnKey.RETURN_EXTRA_SUBREDDIT_OR_USER_NAME, name); returnIntent.putExtra(SelectThingReturnKey.RETURN_EXTRA_SUBREDDIT_OR_USER_ICON, iconUrl); - returnIntent.putExtra(SelectThingReturnKey.RETURN_EXTRA_IS_USER, subredditIsUser); + returnIntent.putExtra(SelectThingReturnKey.RETURN_EXTRA_THING_TYPE, subredditIsUser ? SelectThingReturnKey.THING_TYPE.USER : SelectThingReturnKey.THING_TYPE.SUBREDDIT); mActivity.setResult(Activity.RESULT_OK, returnIntent); mActivity.finish(); }); diff --git a/app/src/main/java/ml/docilealligator/infinityforreddit/recentsearchquery/InsertRecentSearchQuery.java b/app/src/main/java/ml/docilealligator/infinityforreddit/recentsearchquery/InsertRecentSearchQuery.java index 5980128b..130feb1e 100644 --- a/app/src/main/java/ml/docilealligator/infinityforreddit/recentsearchquery/InsertRecentSearchQuery.java +++ b/app/src/main/java/ml/docilealligator/infinityforreddit/recentsearchquery/InsertRecentSearchQuery.java @@ -17,7 +17,7 @@ public class InsertRecentSearchQuery { String username, String recentSearchQuery, String searchInSubredditOrUserName, - boolean searchInIsUser, + int searchInThingType, InsertRecentSearchQueryListener insertRecentSearchQueryListener) { executor.execute(() -> { RecentSearchQueryDao recentSearchQueryDao = redditDataRoomDatabase.recentSearchQueryDao(); @@ -28,7 +28,7 @@ public class InsertRecentSearchQuery { } } - recentSearchQueryDao.insert(new RecentSearchQuery(username, recentSearchQuery, searchInSubredditOrUserName, searchInIsUser)); + recentSearchQueryDao.insert(new RecentSearchQuery(username, recentSearchQuery, searchInSubredditOrUserName, searchInThingType)); handler.post(insertRecentSearchQueryListener::success); }); diff --git a/app/src/main/java/ml/docilealligator/infinityforreddit/recentsearchquery/RecentSearchQuery.java b/app/src/main/java/ml/docilealligator/infinityforreddit/recentsearchquery/RecentSearchQuery.java index a951243f..c903d46a 100644 --- a/app/src/main/java/ml/docilealligator/infinityforreddit/recentsearchquery/RecentSearchQuery.java +++ b/app/src/main/java/ml/docilealligator/infinityforreddit/recentsearchquery/RecentSearchQuery.java @@ -6,6 +6,7 @@ import androidx.room.ColumnInfo; import androidx.room.Entity; import androidx.room.ForeignKey; +import ml.docilealligator.infinityforreddit.SelectThingReturnKey; import ml.docilealligator.infinityforreddit.account.Account; @Entity(tableName = "recent_search_queries", primaryKeys = {"username", "search_query"}, @@ -21,17 +22,18 @@ public class RecentSearchQuery { @Nullable @ColumnInfo(name = "search_in_subreddit_or_user_name") private String searchInSubredditOrUserName; - @ColumnInfo(name = "search_in_is_user") - private boolean searchInIsUser; + @SelectThingReturnKey.THING_TYPE + @ColumnInfo(name = "search_in_thing_type") + private int searchInThingType; @ColumnInfo(name = "time") private long time; public RecentSearchQuery(@NonNull String username, @NonNull String searchQuery, - @Nullable String searchInSubredditOrUserName, boolean searchInIsUser) { + @Nullable String searchInSubredditOrUserName, @SelectThingReturnKey.THING_TYPE int searchInThingType) { this.username = username; this.searchQuery = searchQuery; this.searchInSubredditOrUserName = searchInSubredditOrUserName; - this.searchInIsUser = searchInIsUser; + this.searchInThingType = searchInThingType; this.time = System.currentTimeMillis(); } @@ -62,12 +64,13 @@ public class RecentSearchQuery { this.searchInSubredditOrUserName = searchInSubredditOrUserName; } - public boolean isSearchInIsUser() { - return searchInIsUser; + @SelectThingReturnKey.THING_TYPE + public int getSearchInThingType() { + return searchInThingType; } - public void setSearchInIsUser(boolean searchInIsUser) { - this.searchInIsUser = searchInIsUser; + public void setSearchInThingType(@SelectThingReturnKey.THING_TYPE int searchInThingType) { + this.searchInThingType = searchInThingType; } public long getTime() { diff --git a/app/src/main/java/ml/docilealligator/infinityforreddit/settings/CustomizeMainPageTabsFragment.java b/app/src/main/java/ml/docilealligator/infinityforreddit/settings/CustomizeMainPageTabsFragment.java index 55beeac2..398180d8 100644 --- a/app/src/main/java/ml/docilealligator/infinityforreddit/settings/CustomizeMainPageTabsFragment.java +++ b/app/src/main/java/ml/docilealligator/infinityforreddit/settings/CustomizeMainPageTabsFragment.java @@ -25,6 +25,7 @@ import javax.inject.Named; import ml.docilealligator.infinityforreddit.Infinity; import ml.docilealligator.infinityforreddit.R; +import ml.docilealligator.infinityforreddit.SelectThingReturnKey; import ml.docilealligator.infinityforreddit.account.Account; import ml.docilealligator.infinityforreddit.activities.MultiredditSelectionActivity; import ml.docilealligator.infinityforreddit.activities.SearchActivity; @@ -571,8 +572,8 @@ public class CustomizeMainPageTabsFragment extends Fragment { tab1CurrentName = data.getStringExtra(SubredditSelectionActivity.EXTRA_RETURN_SUBREDDIT_NAME); binding.tab1NameSummaryTextViewCustomizeMainPageTabsFragment.setText(tab1CurrentName); mainActivityTabsSharedPreferences.edit().putString((activity.accountName.equals(Account.ANONYMOUS_ACCOUNT) ? "" : activity.accountName) + SharedPreferencesUtils.MAIN_PAGE_TAB_1_NAME, tab1CurrentName).apply(); - } else if (data.hasExtra(MultiredditSelectionActivity.EXTRA_RETURN_MULTIREDDIT)) { - MultiReddit multireddit = data.getParcelableExtra(MultiredditSelectionActivity.EXTRA_RETURN_MULTIREDDIT); + } else if (data.hasExtra(SelectThingReturnKey.RETRUN_EXTRA_MULTIREDDIT)) { + MultiReddit multireddit = data.getParcelableExtra(SelectThingReturnKey.RETRUN_EXTRA_MULTIREDDIT); if (multireddit != null) { tab1CurrentName = multireddit.getPath(); binding.tab1NameSummaryTextViewCustomizeMainPageTabsFragment.setText(tab1CurrentName); @@ -589,8 +590,8 @@ public class CustomizeMainPageTabsFragment extends Fragment { tab2CurrentName = data.getStringExtra(SubredditSelectionActivity.EXTRA_RETURN_SUBREDDIT_NAME); binding.tab2NameSummaryTextViewCustomizeMainPageTabsFragment.setText(tab2CurrentName); mainActivityTabsSharedPreferences.edit().putString((activity.accountName.equals(Account.ANONYMOUS_ACCOUNT) ? "" : activity.accountName) + SharedPreferencesUtils.MAIN_PAGE_TAB_2_NAME, tab2CurrentName).apply(); - } else if (data.hasExtra(MultiredditSelectionActivity.EXTRA_RETURN_MULTIREDDIT)) { - MultiReddit multireddit = data.getParcelableExtra(MultiredditSelectionActivity.EXTRA_RETURN_MULTIREDDIT); + } else if (data.hasExtra(SelectThingReturnKey.RETRUN_EXTRA_MULTIREDDIT)) { + MultiReddit multireddit = data.getParcelableExtra(SelectThingReturnKey.RETRUN_EXTRA_MULTIREDDIT); if (multireddit != null) { tab2CurrentName = multireddit.getPath(); binding.tab2NameSummaryTextViewCustomizeMainPageTabsFragment.setText(tab2CurrentName); @@ -607,8 +608,8 @@ public class CustomizeMainPageTabsFragment extends Fragment { tab3CurrentName = data.getStringExtra(SubredditSelectionActivity.EXTRA_RETURN_SUBREDDIT_NAME); binding.tab3NameSummaryTextViewCustomizeMainPageTabsFragment.setText(tab3CurrentName); mainActivityTabsSharedPreferences.edit().putString((activity.accountName.equals(Account.ANONYMOUS_ACCOUNT) ? "" : activity.accountName) + SharedPreferencesUtils.MAIN_PAGE_TAB_3_NAME, tab3CurrentName).apply(); - } else if (data.hasExtra(MultiredditSelectionActivity.EXTRA_RETURN_MULTIREDDIT)) { - MultiReddit multireddit = data.getParcelableExtra(MultiredditSelectionActivity.EXTRA_RETURN_MULTIREDDIT); + } else if (data.hasExtra(SelectThingReturnKey.RETRUN_EXTRA_MULTIREDDIT)) { + MultiReddit multireddit = data.getParcelableExtra(SelectThingReturnKey.RETRUN_EXTRA_MULTIREDDIT); if (multireddit != null) { tab3CurrentName = multireddit.getPath(); binding.tab3NameSummaryTextViewCustomizeMainPageTabsFragment.setText(tab3CurrentName); |