aboutsummaryrefslogtreecommitdiff
path: root/app/src/main/java
diff options
context:
space:
mode:
authorAlex Ning <chineseperson5@gmail.com>2021-01-05 15:17:56 +0000
committerAlex Ning <chineseperson5@gmail.com>2021-01-05 15:17:56 +0000
commit68b1c6a7f43db0b14d5b0bc34593706f3e4e06c6 (patch)
treea9582bdc12934b08e6ea08ed17ecf14c6d52e612 /app/src/main/java
parentf2fbebd434b6633efcf7e9b1279d094bf2d0fa1f (diff)
downloadinfinity-for-reddit-68b1c6a7f43db0b14d5b0bc34593706f3e4e06c6.tar
infinity-for-reddit-68b1c6a7f43db0b14d5b0bc34593706f3e4e06c6.tar.gz
infinity-for-reddit-68b1c6a7f43db0b14d5b0bc34593706f3e4e06c6.tar.bz2
infinity-for-reddit-68b1c6a7f43db0b14d5b0bc34593706f3e4e06c6.tar.lz
infinity-for-reddit-68b1c6a7f43db0b14d5b0bc34593706f3e4e06c6.tar.xz
infinity-for-reddit-68b1c6a7f43db0b14d5b0bc34593706f3e4e06c6.tar.zst
infinity-for-reddit-68b1c6a7f43db0b14d5b0bc34593706f3e4e06c6.zip
Adding users to a multireddit is now available.
Diffstat (limited to 'app/src/main/java')
-rw-r--r--app/src/main/java/ml/docilealligator/infinityforreddit/AppComponent.java4
-rw-r--r--app/src/main/java/ml/docilealligator/infinityforreddit/activities/CreateMultiRedditActivity.java4
-rw-r--r--app/src/main/java/ml/docilealligator/infinityforreddit/activities/EditMultiRedditActivity.java56
-rw-r--r--app/src/main/java/ml/docilealligator/infinityforreddit/activities/SearchActivity.java38
-rw-r--r--app/src/main/java/ml/docilealligator/infinityforreddit/activities/SearchUsersResultActivity.java10
-rw-r--r--app/src/main/java/ml/docilealligator/infinityforreddit/activities/SelectedSubredditsAndUsersActivity.java (renamed from app/src/main/java/ml/docilealligator/infinityforreddit/activities/SelectedSubredditsActivity.java)50
-rw-r--r--app/src/main/java/ml/docilealligator/infinityforreddit/activities/SubredditSelectionActivity.java18
-rw-r--r--app/src/main/java/ml/docilealligator/infinityforreddit/adapters/SelectedSubredditsRecyclerViewAdapter.java5
-rw-r--r--app/src/main/java/ml/docilealligator/infinityforreddit/bottomsheetfragments/SelectSubredditsOrUsersOptionsBottomSheetFragment.java57
9 files changed, 171 insertions, 71 deletions
diff --git a/app/src/main/java/ml/docilealligator/infinityforreddit/AppComponent.java b/app/src/main/java/ml/docilealligator/infinityforreddit/AppComponent.java
index e8ad4767..9db681e3 100644
--- a/app/src/main/java/ml/docilealligator/infinityforreddit/AppComponent.java
+++ b/app/src/main/java/ml/docilealligator/infinityforreddit/AppComponent.java
@@ -36,7 +36,7 @@ import ml.docilealligator.infinityforreddit.activities.SearchResultActivity;
import ml.docilealligator.infinityforreddit.activities.SearchSubredditsResultActivity;
import ml.docilealligator.infinityforreddit.activities.SearchUsersResultActivity;
import ml.docilealligator.infinityforreddit.activities.SelectUserFlairActivity;
-import ml.docilealligator.infinityforreddit.activities.SelectedSubredditsActivity;
+import ml.docilealligator.infinityforreddit.activities.SelectedSubredditsAndUsersActivity;
import ml.docilealligator.infinityforreddit.activities.SendPrivateMessageActivity;
import ml.docilealligator.infinityforreddit.activities.SettingsActivity;
import ml.docilealligator.infinityforreddit.activities.SubmitCrosspostActivity;
@@ -181,7 +181,7 @@ public interface AppComponent {
void inject(EditMultiRedditActivity editMultiRedditActivity);
- void inject(SelectedSubredditsActivity selectedSubredditsActivity);
+ void inject(SelectedSubredditsAndUsersActivity selectedSubredditsAndUsersActivity);
void inject(ReportActivity reportActivity);
diff --git a/app/src/main/java/ml/docilealligator/infinityforreddit/activities/CreateMultiRedditActivity.java b/app/src/main/java/ml/docilealligator/infinityforreddit/activities/CreateMultiRedditActivity.java
index 3201fcbe..6077f232 100644
--- a/app/src/main/java/ml/docilealligator/infinityforreddit/activities/CreateMultiRedditActivity.java
+++ b/app/src/main/java/ml/docilealligator/infinityforreddit/activities/CreateMultiRedditActivity.java
@@ -144,8 +144,8 @@ public class CreateMultiRedditActivity extends BaseActivity {
private void bindView() {
selectSubredditTextView.setOnClickListener(view -> {
- Intent intent = new Intent(CreateMultiRedditActivity.this, SelectedSubredditsActivity.class);
- intent.putStringArrayListExtra(SelectedSubredditsActivity.EXTRA_SELECTED_SUBREDDITS, mSubreddits);
+ Intent intent = new Intent(CreateMultiRedditActivity.this, SelectedSubredditsAndUsersActivity.class);
+ intent.putStringArrayListExtra(SelectedSubredditsAndUsersActivity.EXTRA_SELECTED_SUBREDDITS, mSubreddits);
startActivityForResult(intent, SUBREDDIT_SELECTION_REQUEST_CODE);
});
}
diff --git a/app/src/main/java/ml/docilealligator/infinityforreddit/activities/EditMultiRedditActivity.java b/app/src/main/java/ml/docilealligator/infinityforreddit/activities/EditMultiRedditActivity.java
index 65ef4faa..5ae37fb3 100644
--- a/app/src/main/java/ml/docilealligator/infinityforreddit/activities/EditMultiRedditActivity.java
+++ b/app/src/main/java/ml/docilealligator/infinityforreddit/activities/EditMultiRedditActivity.java
@@ -179,9 +179,9 @@ public class EditMultiRedditActivity extends BaseActivity {
}
selectSubredditTextView.setOnClickListener(view -> {
- Intent intent = new Intent(EditMultiRedditActivity.this, SelectedSubredditsActivity.class);
+ Intent intent = new Intent(EditMultiRedditActivity.this, SelectedSubredditsAndUsersActivity.class);
if (multiReddit.getSubreddits() != null) {
- intent.putStringArrayListExtra(SelectedSubredditsActivity.EXTRA_SELECTED_SUBREDDITS, multiReddit.getSubreddits());
+ intent.putStringArrayListExtra(SelectedSubredditsAndUsersActivity.EXTRA_SELECTED_SUBREDDITS, multiReddit.getSubreddits());
}
startActivityForResult(intent, SUBREDDIT_SELECTION_REQUEST_CODE);
});
@@ -196,34 +196,34 @@ public class EditMultiRedditActivity extends BaseActivity {
@Override
public boolean onOptionsItemSelected(@NonNull MenuItem item) {
- switch (item.getItemId()) {
- case android.R.id.home:
- finish();
+ int itemId = item.getItemId();
+ if (itemId == android.R.id.home) {
+ finish();
+ return true;
+ } else if (itemId == R.id.action_save_edit_multi_reddit_activity) {
+ if (mAccountName == null || mAccessToken == null) {
+ Snackbar.make(coordinatorLayout, R.string.something_went_wrong, Snackbar.LENGTH_SHORT).show();
return true;
- case R.id.action_save_edit_multi_reddit_activity:
- if (mAccountName == null || mAccessToken == null) {
- Snackbar.make(coordinatorLayout, R.string.something_went_wrong, Snackbar.LENGTH_SHORT).show();
- return true;
- }
- if (nameEditText.getText() == null || nameEditText.getText().toString().equals("")) {
- Snackbar.make(coordinatorLayout, R.string.no_multi_reddit_name, Snackbar.LENGTH_SHORT).show();
- return true;
- }
+ }
+ if (nameEditText.getText() == null || nameEditText.getText().toString().equals("")) {
+ Snackbar.make(coordinatorLayout, R.string.no_multi_reddit_name, Snackbar.LENGTH_SHORT).show();
+ return true;
+ }
- String jsonModel = new MultiRedditJSONModel(nameEditText.getText().toString(), descriptionEditText.getText().toString(),
- visibilitySwitch.isChecked(), multiReddit.getSubreddits()).createJSONModel();
- EditMultiReddit.editMultiReddit(mRetrofit, mAccessToken, multiReddit.getPath(),
- jsonModel, new EditMultiReddit.EditMultiRedditListener() {
- @Override
- public void success() {
- finish();
- }
+ String jsonModel = new MultiRedditJSONModel(nameEditText.getText().toString(), descriptionEditText.getText().toString(),
+ visibilitySwitch.isChecked(), multiReddit.getSubreddits()).createJSONModel();
+ EditMultiReddit.editMultiReddit(mRetrofit, mAccessToken, multiReddit.getPath(),
+ jsonModel, new EditMultiReddit.EditMultiRedditListener() {
+ @Override
+ public void success() {
+ finish();
+ }
- @Override
- public void failed() {
- Snackbar.make(coordinatorLayout, R.string.edit_multi_reddit_failed, Snackbar.LENGTH_SHORT).show();
- }
- });
+ @Override
+ public void failed() {
+ Snackbar.make(coordinatorLayout, R.string.edit_multi_reddit_failed, Snackbar.LENGTH_SHORT).show();
+ }
+ });
}
return false;
}
@@ -234,7 +234,7 @@ public class EditMultiRedditActivity extends BaseActivity {
if (requestCode == SUBREDDIT_SELECTION_REQUEST_CODE && resultCode == RESULT_OK) {
if (data != null) {
multiReddit.setSubreddits(data.getStringArrayListExtra(
- SelectedSubredditsActivity.EXTRA_RETURN_SELECTED_SUBREDDITS));
+ SelectedSubredditsAndUsersActivity.EXTRA_RETURN_SELECTED_SUBREDDITS));
}
}
}
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 f25b77aa..141d0ffd 100644
--- a/app/src/main/java/ml/docilealligator/infinityforreddit/activities/SearchActivity.java
+++ b/app/src/main/java/ml/docilealligator/infinityforreddit/activities/SearchActivity.java
@@ -54,8 +54,11 @@ public class SearchActivity extends BaseActivity {
static final String EXTRA_SUBREDDIT_NAME = "ESN";
static final String EXTRA_SUBREDDIT_IS_USER = "ESIU";
static final String EXTRA_SEARCH_ONLY_SUBREDDITS = "ESOS";
+ static final String EXTRA_SEARCH_ONLY_USERS = "ESOU";
static final String EXTRA_RETURN_SUBREDDIT_NAME = "ERSN";
- static final String EXTRA_RETURN_SUBREDDIT_ICON_URL = "ERSIURL";
+ static final String EXTRA_RETURN_SUBREDDIT_ICON_URL = "ERSIU";
+ static final String EXTRA_RETURN_USER_NAME = "ERUN";
+ static final String EXTRA_RETURN_USER_ICON_URL = "ERUIU";
private static final String NULL_ACCOUNT_NAME_STATE = "NANS";
private static final String ACCOUNT_NAME_STATE = "ANS";
@@ -64,6 +67,7 @@ public class SearchActivity extends BaseActivity {
private static final int SUBREDDIT_SELECTION_REQUEST_CODE = 0;
private static final int SUBREDDIT_SEARCH_REQUEST_CODE = 1;
+ private static final int USER_SEARCH_REQUEST_CODE = 2;
@BindView(R.id.coordinator_layout_search_activity)
CoordinatorLayout coordinatorLayout;
@@ -100,6 +104,7 @@ public class SearchActivity extends BaseActivity {
private String subredditName;
private boolean subredditIsUser;
private boolean searchOnlySubreddits;
+ private boolean searchOnlyUsers;
private SearchActivityRecyclerViewAdapter adapter;
RecentSearchQueryViewModel mRecentSearchQueryViewModel;
@@ -126,6 +131,7 @@ public class SearchActivity extends BaseActivity {
setSupportActionBar(toolbar);
searchOnlySubreddits = getIntent().getBooleanExtra(EXTRA_SEARCH_ONLY_SUBREDDITS, false);
+ searchOnlyUsers = getIntent().getBooleanExtra(EXTRA_SEARCH_ONLY_USERS, false);
simpleSearchView.setOnSearchViewListener(new SimpleSearchView.SearchViewListener() {
@Override
@@ -189,7 +195,7 @@ public class SearchActivity extends BaseActivity {
getCurrentAccountAndInitializeViewPager();
}
- if (searchOnlySubreddits) {
+ if (searchOnlySubreddits || searchOnlyUsers) {
subredditNameRelativeLayout.setVisibility(View.GONE);
} else {
subredditNameRelativeLayout.setOnClickListener(view -> {
@@ -260,6 +266,10 @@ public class SearchActivity extends BaseActivity {
Intent intent = new Intent(SearchActivity.this, SearchSubredditsResultActivity.class);
intent.putExtra(SearchSubredditsResultActivity.EXTRA_QUERY, query);
startActivityForResult(intent, SUBREDDIT_SEARCH_REQUEST_CODE);
+ } else if (searchOnlyUsers) {
+ Intent intent = new Intent(this, SearchUsersResultActivity.class);
+ intent.putExtra(SearchUsersResultActivity.EXTRA_QUERY, query);
+ startActivityForResult(intent, USER_SEARCH_REQUEST_CODE);
} else {
Intent intent = new Intent(SearchActivity.this, SearchResultActivity.class);
intent.putExtra(SearchResultActivity.EXTRA_QUERY, query);
@@ -335,26 +345,32 @@ public class SearchActivity extends BaseActivity {
return;
}
- if (requestCode == SUBREDDIT_SELECTION_REQUEST_CODE) {
- if (resultCode == RESULT_OK) {
- subredditName = data.getExtras().getString(SubredditSelectionActivity.EXTRA_RETURN_SUBREDDIT_NAME);
- subredditIsUser = data.getExtras().getBoolean(SubredditSelectionActivity.EXTRA_RETURN_SUBREDDIT_IS_USER);
+ if (resultCode == RESULT_OK && data != null) {
+ if (requestCode == SUBREDDIT_SELECTION_REQUEST_CODE) {
+ subredditName = data.getStringExtra(SubredditSelectionActivity.EXTRA_RETURN_SUBREDDIT_NAME);
+ subredditIsUser = data.getBooleanExtra(SubredditSelectionActivity.EXTRA_RETURN_SUBREDDIT_IS_USER, false);
if (subredditName == null) {
subredditNameTextView.setText(R.string.all_subreddits);
} else {
subredditNameTextView.setText(subredditName);
}
- }
- } else if (requestCode == SUBREDDIT_SEARCH_REQUEST_CODE) {
- if (resultCode == RESULT_OK) {
- String name = data.getExtras().getString(SearchSubredditsResultActivity.EXTRA_RETURN_SUBREDDIT_NAME);
- String iconUrl = data.getExtras().getString(SearchSubredditsResultActivity.EXTRA_RETURN_SUBREDDIT_ICON_URL);
+ } else if (requestCode == SUBREDDIT_SEARCH_REQUEST_CODE) {
+ String name = data.getStringExtra(SearchSubredditsResultActivity.EXTRA_RETURN_SUBREDDIT_NAME);
+ String iconUrl = data.getStringExtra(SearchSubredditsResultActivity.EXTRA_RETURN_SUBREDDIT_ICON_URL);
Intent returnIntent = new Intent();
returnIntent.putExtra(EXTRA_RETURN_SUBREDDIT_NAME, name);
returnIntent.putExtra(EXTRA_RETURN_SUBREDDIT_ICON_URL, iconUrl);
setResult(Activity.RESULT_OK, returnIntent);
finish();
+ } else if (requestCode == USER_SEARCH_REQUEST_CODE) {
+ String username = data.getStringExtra(SearchUsersResultActivity.EXTRA_RETURN_USER_NAME);
+ String iconUrl = data.getStringExtra(SearchUsersResultActivity.EXTRA_RETURN_USER_ICON_URL);
+ Intent returnIntent = new Intent();
+ returnIntent.putExtra(EXTRA_RETURN_USER_NAME, username);
+ returnIntent.putExtra(EXTRA_RETURN_USER_ICON_URL, iconUrl);
+ setResult(Activity.RESULT_OK, returnIntent);
+ finish();
}
}
diff --git a/app/src/main/java/ml/docilealligator/infinityforreddit/activities/SearchUsersResultActivity.java b/app/src/main/java/ml/docilealligator/infinityforreddit/activities/SearchUsersResultActivity.java
index 23dc6fd4..a1aea4bd 100644
--- a/app/src/main/java/ml/docilealligator/infinityforreddit/activities/SearchUsersResultActivity.java
+++ b/app/src/main/java/ml/docilealligator/infinityforreddit/activities/SearchUsersResultActivity.java
@@ -49,11 +49,11 @@ public class SearchUsersResultActivity extends BaseActivity implements ActivityT
private static final String ACCOUNT_NAME_STATE = "ANS";
private static final String FRAGMENT_OUT_STATE = "FOS";
- @BindView(R.id.coordinator_layout_search_subreddits_result_activity)
+ @BindView(R.id.coordinator_layout_search_users_result_activity)
CoordinatorLayout coordinatorLayout;
- @BindView(R.id.appbar_layout_search_subreddits_result_activity)
+ @BindView(R.id.appbar_layout_search_users_result_activity)
AppBarLayout appBarLayout;
- @BindView(R.id.toolbar_search_subreddits_result_activity)
+ @BindView(R.id.toolbar_search_users_result_activity)
Toolbar toolbar;
Fragment mFragment;
@Inject
@@ -122,7 +122,7 @@ public class SearchUsersResultActivity extends BaseActivity implements ActivityT
getCurrentAccountAndInitializeFragment(query);
} else {
mFragment = getSupportFragmentManager().getFragment(savedInstanceState, FRAGMENT_OUT_STATE);
- getSupportFragmentManager().beginTransaction().replace(R.id.frame_layout_search_subreddits_result_activity, mFragment).commit();
+ getSupportFragmentManager().beginTransaction().replace(R.id.frame_layout_search_users_result_activity, mFragment).commit();
}
}
}
@@ -159,7 +159,7 @@ public class SearchUsersResultActivity extends BaseActivity implements ActivityT
bundle.putString(UserListingFragment.EXTRA_ACCESS_TOKEN, mAccessToken);
bundle.putString(UserListingFragment.EXTRA_ACCOUNT_NAME, mAccountName);
mFragment.setArguments(bundle);
- getSupportFragmentManager().beginTransaction().replace(R.id.frame_layout_search_subreddits_result_activity, mFragment).commit();
+ getSupportFragmentManager().beginTransaction().replace(R.id.frame_layout_search_users_result_activity, mFragment).commit();
});
}
diff --git a/app/src/main/java/ml/docilealligator/infinityforreddit/activities/SelectedSubredditsActivity.java b/app/src/main/java/ml/docilealligator/infinityforreddit/activities/SelectedSubredditsAndUsersActivity.java
index 3097538b..cfc30dcf 100644
--- a/app/src/main/java/ml/docilealligator/infinityforreddit/activities/SelectedSubredditsActivity.java
+++ b/app/src/main/java/ml/docilealligator/infinityforreddit/activities/SelectedSubredditsAndUsersActivity.java
@@ -27,27 +27,29 @@ import butterknife.BindView;
import butterknife.ButterKnife;
import ml.docilealligator.infinityforreddit.ActivityToolbarInterface;
import ml.docilealligator.infinityforreddit.adapters.SelectedSubredditsRecyclerViewAdapter;
+import ml.docilealligator.infinityforreddit.bottomsheetfragments.SelectSubredditsOrUsersOptionsBottomSheetFragment;
import ml.docilealligator.infinityforreddit.customtheme.CustomThemeWrapper;
import ml.docilealligator.infinityforreddit.Infinity;
import ml.docilealligator.infinityforreddit.R;
import ml.docilealligator.infinityforreddit.utils.SharedPreferencesUtils;
-public class SelectedSubredditsActivity extends BaseActivity implements ActivityToolbarInterface {
+public class SelectedSubredditsAndUsersActivity extends BaseActivity implements ActivityToolbarInterface {
public static final String EXTRA_SELECTED_SUBREDDITS = "ESS";
public static final String EXTRA_RETURN_SELECTED_SUBREDDITS = "ERSS";
private static final int SUBREDDIT_SELECTION_REQUEST_CODE = 1;
+ private static final int USER_SELECTION_REQUEST_CODE = 2;
private static final String SELECTED_SUBREDDITS_STATE = "SSS";
- @BindView(R.id.coordinator_layout_selected_subreddits_activity)
+ @BindView(R.id.coordinator_layout_selected_subreddits_and_users_activity)
CoordinatorLayout coordinatorLayout;
- @BindView(R.id.appbar_layout_selected_subreddits_activity)
+ @BindView(R.id.appbar_layout_selected_subreddits_and_users_activity)
AppBarLayout appBarLayout;
- @BindView(R.id.toolbar_selected_subreddits_activity)
+ @BindView(R.id.toolbar_selected_subreddits_and_users_activity)
Toolbar toolbar;
- @BindView(R.id.recycler_view_selected_subreddits_activity)
+ @BindView(R.id.recycler_view_selected_subreddits_and_users_activity)
RecyclerView recyclerView;
- @BindView(R.id.fab_selected_subreddits_activity)
+ @BindView(R.id.fab_selected_subreddits_and_users_activity)
FloatingActionButton fab;
@Inject
@Named("default")
@@ -102,11 +104,22 @@ public class SelectedSubredditsActivity extends BaseActivity implements Activity
});
fab.setOnClickListener(view -> {
- Intent intent = new Intent(this, SubredditMultiselectionActivity.class);
- startActivityForResult(intent, SUBREDDIT_SELECTION_REQUEST_CODE);
+ SelectSubredditsOrUsersOptionsBottomSheetFragment selectSubredditsOrUsersOptionsBottomSheetFragment = new SelectSubredditsOrUsersOptionsBottomSheetFragment();
+ selectSubredditsOrUsersOptionsBottomSheetFragment.show(getSupportFragmentManager(), selectSubredditsOrUsersOptionsBottomSheetFragment.getTag());
});
}
+ public void selectSubreddits() {
+ Intent intent = new Intent(this, SubredditMultiselectionActivity.class);
+ startActivityForResult(intent, SUBREDDIT_SELECTION_REQUEST_CODE);
+ }
+
+ public void selectUsers() {
+ Intent intent = new Intent(this, SearchActivity.class);
+ intent.putExtra(SearchActivity.EXTRA_SEARCH_ONLY_USERS, true);
+ startActivityForResult(intent, USER_SELECTION_REQUEST_CODE);
+ }
+
@Override
public boolean onCreateOptionsMenu(Menu menu) {
getMenuInflater().inflate(R.menu.selected_subreddits_activity, menu);
@@ -133,13 +146,22 @@ public class SelectedSubredditsActivity extends BaseActivity implements Activity
@Override
protected void onActivityResult(int requestCode, int resultCode, @Nullable Intent data) {
super.onActivityResult(requestCode, resultCode, data);
- if (requestCode == SUBREDDIT_SELECTION_REQUEST_CODE && resultCode == RESULT_OK) {
- if (data != null) {
- if (subreddits == null) {
- subreddits = new ArrayList<>();
+ if (resultCode == RESULT_OK) {
+ if (requestCode == SUBREDDIT_SELECTION_REQUEST_CODE) {
+ if (data != null) {
+ if (subreddits == null) {
+ subreddits = new ArrayList<>();
+ }
+ subreddits = data.getStringArrayListExtra(SubredditMultiselectionActivity.EXTRA_RETURN_SELECTED_SUBREDDITS);
+ adapter.addSubreddits(subreddits);
+ }
+ } else if (requestCode == USER_SELECTION_REQUEST_CODE) {
+ if (data != null) {
+ if (subreddits == null) {
+ subreddits = new ArrayList<>();
+ }
+ adapter.addUserInSubredditType("u_" + data.getStringExtra(SearchActivity.EXTRA_RETURN_USER_NAME));
}
- subreddits = data.getStringArrayListExtra(SubredditMultiselectionActivity.EXTRA_RETURN_SELECTED_SUBREDDITS);
- adapter.addSubreddits(subreddits);
}
}
}
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 62061cf0..5f9efb2d 100644
--- a/app/src/main/java/ml/docilealligator/infinityforreddit/activities/SubredditSelectionActivity.java
+++ b/app/src/main/java/ml/docilealligator/infinityforreddit/activities/SubredditSelectionActivity.java
@@ -234,15 +234,15 @@ public class SubredditSelectionActivity extends BaseActivity implements Activity
@Override
public boolean onOptionsItemSelected(@NonNull MenuItem item) {
- switch (item.getItemId()) {
- case android.R.id.home:
- finish();
- return true;
- case R.id.action_search_subreddit_selection_activity:
- Intent intent = new Intent(this, SearchActivity.class);
- intent.putExtra(SearchActivity.EXTRA_SEARCH_ONLY_SUBREDDITS, true);
- startActivityForResult(intent, SUBREDDIT_SEARCH_REQUEST_CODE);
- return true;
+ int itemId = item.getItemId();
+ if (itemId == android.R.id.home) {
+ finish();
+ return true;
+ } else if (itemId == R.id.action_search_subreddit_selection_activity) {
+ Intent intent = new Intent(this, SearchActivity.class);
+ intent.putExtra(SearchActivity.EXTRA_SEARCH_ONLY_SUBREDDITS, true);
+ startActivityForResult(intent, SUBREDDIT_SEARCH_REQUEST_CODE);
+ return true;
}
return false;
diff --git a/app/src/main/java/ml/docilealligator/infinityforreddit/adapters/SelectedSubredditsRecyclerViewAdapter.java b/app/src/main/java/ml/docilealligator/infinityforreddit/adapters/SelectedSubredditsRecyclerViewAdapter.java
index 61f4438d..e6bbe441 100644
--- a/app/src/main/java/ml/docilealligator/infinityforreddit/adapters/SelectedSubredditsRecyclerViewAdapter.java
+++ b/app/src/main/java/ml/docilealligator/infinityforreddit/adapters/SelectedSubredditsRecyclerViewAdapter.java
@@ -58,6 +58,11 @@ public class SelectedSubredditsRecyclerViewAdapter extends RecyclerView.Adapter<
notifyItemRangeInserted(oldSize, newSubreddits.size());
}
+ public void addUserInSubredditType(String username) {
+ subreddits.add(username);
+ notifyItemInserted(subreddits.size());
+ }
+
public ArrayList<String> getSubreddits() {
return subreddits;
}
diff --git a/app/src/main/java/ml/docilealligator/infinityforreddit/bottomsheetfragments/SelectSubredditsOrUsersOptionsBottomSheetFragment.java b/app/src/main/java/ml/docilealligator/infinityforreddit/bottomsheetfragments/SelectSubredditsOrUsersOptionsBottomSheetFragment.java
new file mode 100644
index 00000000..dd1b81ad
--- /dev/null
+++ b/app/src/main/java/ml/docilealligator/infinityforreddit/bottomsheetfragments/SelectSubredditsOrUsersOptionsBottomSheetFragment.java
@@ -0,0 +1,57 @@
+package ml.docilealligator.infinityforreddit.bottomsheetfragments;
+
+import android.content.Context;
+import android.os.Bundle;
+import android.view.LayoutInflater;
+import android.view.View;
+import android.view.ViewGroup;
+import android.widget.TextView;
+
+import androidx.annotation.NonNull;
+
+import com.deishelon.roundedbottomsheet.RoundedBottomSheetDialogFragment;
+
+import butterknife.BindView;
+import butterknife.ButterKnife;
+import ml.docilealligator.infinityforreddit.R;
+import ml.docilealligator.infinityforreddit.activities.SelectedSubredditsAndUsersActivity;
+
+public class SelectSubredditsOrUsersOptionsBottomSheetFragment extends RoundedBottomSheetDialogFragment {
+
+ @BindView(R.id.select_subreddits_text_view_search_user_and_subreddit_sort_type_bottom_sheet_fragment)
+ TextView selectSubredditsTextView;
+ @BindView(R.id.select_users_text_view_search_user_and_subreddit_sort_type_bottom_sheet_fragment)
+ TextView selectUsersTextView;
+ private SelectedSubredditsAndUsersActivity activity;
+
+ public SelectSubredditsOrUsersOptionsBottomSheetFragment() {
+ // Required empty public constructor
+ }
+
+ @Override
+ public View onCreateView(LayoutInflater inflater, ViewGroup container,
+ Bundle savedInstanceState) {
+ // Inflate the layout for this fragment
+ View rootView = inflater.inflate(R.layout.fragment_select_subreddits_or_users_options_bottom_sheet, container, false);
+
+ ButterKnife.bind(this, rootView);
+
+ selectSubredditsTextView.setOnClickListener(view -> {
+ activity.selectSubreddits();
+ dismiss();
+ });
+
+ selectUsersTextView.setOnClickListener(view -> {
+ activity.selectUsers();
+ dismiss();
+ });
+
+ return rootView;
+ }
+
+ @Override
+ public void onAttach(@NonNull Context context) {
+ super.onAttach(context);
+ activity = (SelectedSubredditsAndUsersActivity) context;
+ }
+} \ No newline at end of file