60
60
public class SearchActivity extends BaseActivity {
61
61
62
62
public static final String EXTRA_QUERY = "EQ" ;
63
- public static final String EXTRA_SUBREDDIT_NAME = "ESN " ;
64
- public static final String EXTRA_SUBREDDIT_IS_USER = "ESIU " ;
63
+ public static final String EXTRA_SEARCH_IN_SUBREDDIT_OR_USER_NAME = "ESISOUN " ;
64
+ public static final String EXTRA_SEARCH_IN_SUBREDDIT_IS_USER = "ESISIU " ;
65
65
public static final String EXTRA_SEARCH_ONLY_SUBREDDITS = "ESOS" ;
66
66
public static final String EXTRA_SEARCH_ONLY_USERS = "ESOU" ;
67
67
public static final String EXTRA_RETURN_SUBREDDIT_NAME = "ERSN" ;
@@ -99,8 +99,8 @@ public class SearchActivity extends BaseActivity {
99
99
@ Inject
100
100
Executor executor ;
101
101
private String query ;
102
- private String subredditName ;
103
- private boolean subredditIsUser ;
102
+ private String searchInSubredditOrUserName ;
103
+ private boolean searchInIsUser ;
104
104
private boolean searchOnlySubreddits ;
105
105
private boolean searchOnlyUsers ;
106
106
private SearchActivityRecyclerViewAdapter adapter ;
@@ -230,7 +230,7 @@ public void onFailure(@NonNull Call<String> call, @NonNull Throwable t) {
230
230
});
231
231
232
232
binding .searchEditTextSearchActivity .setOnEditorActionListener ((v , actionId , event ) -> {
233
- if ((actionId == EditorInfo .IME_ACTION_DONE || actionId == EditorInfo .IME_ACTION_SEARCH ) || (event .getKeyCode () == KeyEvent .KEYCODE_ENTER && event .getAction () == KeyEvent .ACTION_DOWN )) {
233
+ if ((actionId == EditorInfo .IME_ACTION_DONE || actionId == EditorInfo .IME_ACTION_SEARCH ) || (event .getKeyCode () == KeyEvent .KEYCODE_ENTER && event .getAction () == KeyEvent .ACTION_DOWN )) {
234
234
if (!binding .searchEditTextSearchActivity .getText ().toString ().isEmpty ()) {
235
235
search (binding .searchEditTextSearchActivity .getText ().toString ());
236
236
return true ;
@@ -264,13 +264,13 @@ public void onFailure(@NonNull Call<String> call, @NonNull Throwable t) {
264
264
});
265
265
266
266
if (savedInstanceState != null ) {
267
- subredditName = savedInstanceState .getString (SUBREDDIT_NAME_STATE );
268
- subredditIsUser = savedInstanceState .getBoolean (SUBREDDIT_IS_USER_STATE );
267
+ searchInSubredditOrUserName = savedInstanceState .getString (SUBREDDIT_NAME_STATE );
268
+ searchInIsUser = savedInstanceState .getBoolean (SUBREDDIT_IS_USER_STATE );
269
269
270
- if (subredditName == null ) {
270
+ if (searchInSubredditOrUserName == null ) {
271
271
binding .subredditNameTextViewSearchActivity .setText (R .string .all_subreddits );
272
272
} else {
273
- binding .subredditNameTextViewSearchActivity .setText (subredditName );
273
+ binding .subredditNameTextViewSearchActivity .setText (searchInSubredditOrUserName );
274
274
}
275
275
} else {
276
276
query = getIntent ().getStringExtra (EXTRA_QUERY );
@@ -288,19 +288,21 @@ public void onFailure(@NonNull Call<String> call, @NonNull Throwable t) {
288
288
}
289
289
290
290
Intent intent = getIntent ();
291
- if (intent .hasExtra (EXTRA_SUBREDDIT_NAME )) {
292
- subredditName = intent .getStringExtra (EXTRA_SUBREDDIT_NAME );
293
- binding .subredditNameTextViewSearchActivity .setText (subredditName );
294
- subredditIsUser = intent .getBooleanExtra (EXTRA_SUBREDDIT_IS_USER , false );
291
+ if (intent .hasExtra (EXTRA_SEARCH_IN_SUBREDDIT_OR_USER_NAME )) {
292
+ searchInSubredditOrUserName = intent .getStringExtra (EXTRA_SEARCH_IN_SUBREDDIT_OR_USER_NAME );
293
+ binding .subredditNameTextViewSearchActivity .setText (searchInSubredditOrUserName );
294
+ searchInIsUser = intent .getBooleanExtra (EXTRA_SEARCH_IN_SUBREDDIT_IS_USER , false );
295
295
}
296
296
}
297
297
298
298
private void bindView () {
299
299
if (!accountName .equals (Account .ANONYMOUS_ACCOUNT )) {
300
300
adapter = new SearchActivityRecyclerViewAdapter (this , mCustomThemeWrapper , new SearchActivityRecyclerViewAdapter .ItemOnClickListener () {
301
301
@ Override
302
- public void onClick (String query ) {
303
- search (query );
302
+ public void onClick (RecentSearchQuery recentSearchQuery ) {
303
+ searchInSubredditOrUserName = recentSearchQuery .getSearchInSubredditOrUserName ();
304
+ searchInIsUser = recentSearchQuery .isSearchInIsUser ();
305
+ search (recentSearchQuery .getSearchQuery ());
304
306
}
305
307
306
308
@ Override
@@ -374,12 +376,9 @@ private void openSearchResult(String query) {
374
376
} else {
375
377
Intent intent = new Intent (SearchActivity .this , SearchResultActivity .class );
376
378
intent .putExtra (SearchResultActivity .EXTRA_QUERY , query );
377
- if (subredditName != null ) {
378
- if (subredditIsUser ) {
379
- intent .putExtra (SearchResultActivity .EXTRA_SUBREDDIT_NAME , "u_" + subredditName );
380
- } else {
381
- intent .putExtra (SearchResultActivity .EXTRA_SUBREDDIT_NAME , subredditName );
382
- }
379
+ if (searchInSubredditOrUserName != null ) {
380
+ intent .putExtra (SearchResultActivity .EXTRA_SEARCH_IN_SUBREDDIT_OR_USER_NAME , searchInSubredditOrUserName );
381
+ intent .putExtra (SearchResultActivity .EXTRA_SEARCH_IN_SUBREDDIT_IS_USER , searchInIsUser );
383
382
}
384
383
startActivity (intent );
385
384
finish ();
@@ -443,13 +442,13 @@ protected void onPause() {
443
442
protected void onActivityResult (int requestCode , int resultCode , @ Nullable Intent data ) {
444
443
if (resultCode == RESULT_OK && data != null ) {
445
444
if (requestCode == SUBREDDIT_SELECTION_REQUEST_CODE ) {
446
- subredditName = data .getStringExtra (SubredditSelectionActivity .EXTRA_RETURN_SUBREDDIT_NAME );
447
- subredditIsUser = data .getBooleanExtra (SubredditSelectionActivity .EXTRA_RETURN_SUBREDDIT_IS_USER , false );
445
+ searchInSubredditOrUserName = data .getStringExtra (SubredditSelectionActivity .EXTRA_RETURN_SUBREDDIT_NAME );
446
+ searchInIsUser = data .getBooleanExtra (SubredditSelectionActivity .EXTRA_RETURN_SUBREDDIT_IS_USER , false );
448
447
449
- if (subredditName == null ) {
448
+ if (searchInSubredditOrUserName == null ) {
450
449
binding .subredditNameTextViewSearchActivity .setText (R .string .all_subreddits );
451
450
} else {
452
- binding .subredditNameTextViewSearchActivity .setText (subredditName );
451
+ binding .subredditNameTextViewSearchActivity .setText (searchInSubredditOrUserName );
453
452
}
454
453
} else if (requestCode == SUBREDDIT_SEARCH_REQUEST_CODE ) {
455
454
Intent returnIntent = new Intent ();
@@ -496,8 +495,8 @@ public boolean onOptionsItemSelected(@NonNull MenuItem item) {
496
495
@ Override
497
496
public void onSaveInstanceState (@ NonNull Bundle outState ) {
498
497
super .onSaveInstanceState (outState );
499
- outState .putString (SUBREDDIT_NAME_STATE , subredditName );
500
- outState .putBoolean (SUBREDDIT_IS_USER_STATE , subredditIsUser );
498
+ outState .putString (SUBREDDIT_NAME_STATE , searchInSubredditOrUserName );
499
+ outState .putBoolean (SUBREDDIT_IS_USER_STATE , searchInIsUser );
501
500
}
502
501
503
502
@ Override
0 commit comments