mirror of
https://codeberg.org/Bazsalanszky/Infinity-For-Lemmy.git
synced 2024-12-29 20:37:12 +01:00
Continue adding support for post filter.
This commit is contained in:
parent
fbc47e6226
commit
12aa4a1040
@ -38,4 +38,7 @@ public interface FragmentCommunicator {
|
|||||||
|
|
||||||
default void hideReadPosts() {
|
default void hideReadPosts() {
|
||||||
}
|
}
|
||||||
|
|
||||||
|
default void changePostFilter(PostFilter postFilter) {
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
@ -2,6 +2,12 @@ package ml.docilealligator.infinityforreddit;
|
|||||||
|
|
||||||
import android.os.Parcel;
|
import android.os.Parcel;
|
||||||
import android.os.Parcelable;
|
import android.os.Parcelable;
|
||||||
|
import android.util.Log;
|
||||||
|
|
||||||
|
import java.util.regex.Matcher;
|
||||||
|
import java.util.regex.Pattern;
|
||||||
|
|
||||||
|
import ml.docilealligator.infinityforreddit.post.Post;
|
||||||
|
|
||||||
public class PostFilter implements Parcelable {
|
public class PostFilter implements Parcelable {
|
||||||
public int maxVote = -1;
|
public int maxVote = -1;
|
||||||
@ -13,16 +19,115 @@ public class PostFilter implements Parcelable {
|
|||||||
public boolean allowNSFW;
|
public boolean allowNSFW;
|
||||||
public boolean onlyNSFW;
|
public boolean onlyNSFW;
|
||||||
public boolean onlySpoiler;
|
public boolean onlySpoiler;
|
||||||
public String postTitleRegex;
|
public String postTitleExcludesRegex;
|
||||||
public String postTitleExcludesStrings;
|
public String postTitleExcludesStrings;
|
||||||
public String excludesSubreddits;
|
public String excludesSubreddits;
|
||||||
public String excludesUsers;
|
public String excludesUsers;
|
||||||
public String containsFlairs;
|
public String containsFlairs;
|
||||||
public String excludesFlairs;
|
public String excludesFlairs;
|
||||||
public boolean containsTextType;
|
public boolean containsTextType = true;
|
||||||
public boolean containsLinkType;
|
public boolean containsLinkType = true;
|
||||||
public boolean containsImageType;
|
public boolean containsImageType = true;
|
||||||
public boolean containsVideoType;
|
public boolean containsVideoType = true;
|
||||||
|
public boolean containsGalleryType = true;
|
||||||
|
|
||||||
|
public static boolean isPostAllowed(Post post, PostFilter postFilter) {
|
||||||
|
if (postFilter == null || post == null) {
|
||||||
|
Log.i("asdasfd", "s " + post.getTitle());
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
if (post.isNSFW() && !postFilter.allowNSFW) {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
if (postFilter.maxVote > 0 && post.getVoteType() + post.getScore() > postFilter.maxVote) {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
if (postFilter.minVote > 0 && post.getVoteType() + post.getScore() < postFilter.minVote) {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
if (postFilter.maxComments > 0 && post.getNComments() > postFilter.maxComments) {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
if (postFilter.minComments > 0 && post.getNComments() < postFilter.minComments) {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
if (postFilter.maxAwards > 0 && post.getNAwards() > postFilter.maxAwards) {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
if (postFilter.minAwards > 0 && post.getNAwards() < postFilter.minAwards) {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
if (postFilter.onlyNSFW && !post.isNSFW()) {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
if (postFilter.onlySpoiler && !post.isSpoiler()) {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
if (!postFilter.containsTextType && post.getPostType() == Post.TEXT_TYPE) {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
if (!postFilter.containsLinkType && (post.getPostType() == Post.LINK_TYPE || post.getPostType() == Post.NO_PREVIEW_LINK_TYPE)) {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
if (!postFilter.containsImageType && post.getPostType() == Post.IMAGE_TYPE) {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
if (!postFilter.containsVideoType && post.getPostType() == Post.VIDEO_TYPE) {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
if (!postFilter.containsGalleryType && post.getPostType() == Post.GALLERY_TYPE) {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
if (postFilter.postTitleExcludesRegex != null && !postFilter.postTitleExcludesRegex.equals("")) {
|
||||||
|
Pattern spoilerPattern = Pattern.compile(postFilter.postTitleExcludesRegex);
|
||||||
|
Matcher matcher = spoilerPattern.matcher(postFilter.postTitleExcludesRegex);
|
||||||
|
if (matcher.find()) {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if (postFilter.postTitleExcludesStrings != null && !postFilter.postTitleExcludesStrings.equals("")) {
|
||||||
|
String[] titles = postFilter.postTitleExcludesStrings.split(",", 0);
|
||||||
|
for (String t : titles) {
|
||||||
|
if (post.getTitle().contains(t)) {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if (postFilter.excludesSubreddits != null && !postFilter.excludesSubreddits.equals("")) {
|
||||||
|
String[] subreddits = postFilter.excludesSubreddits.split(",", 0);
|
||||||
|
for (String s : subreddits) {
|
||||||
|
if (post.getSubredditName().equals(s)) {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if (postFilter.excludesUsers != null && !postFilter.excludesUsers.equals("")) {
|
||||||
|
String[] users = postFilter.excludesUsers.split(",", 0);
|
||||||
|
for (String u : users) {
|
||||||
|
if (post.getAuthor().equals(u)) {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if (postFilter.excludesFlairs != null && !postFilter.excludesFlairs.equals("")) {
|
||||||
|
String[] flairs = postFilter.excludesFlairs.split(",", 0);
|
||||||
|
for (String f : flairs) {
|
||||||
|
if (post.getFlair().equals(f)) {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if (postFilter.containsFlairs != null && !postFilter.containsFlairs.equals("")) {
|
||||||
|
String[] flairs = postFilter.containsFlairs.split(",", 0);
|
||||||
|
for (String f : flairs) {
|
||||||
|
if (post.getFlair().equals(f)) {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
public PostFilter() {
|
public PostFilter() {
|
||||||
|
|
||||||
@ -38,7 +143,7 @@ public class PostFilter implements Parcelable {
|
|||||||
allowNSFW = in.readByte() != 0;
|
allowNSFW = in.readByte() != 0;
|
||||||
onlyNSFW = in.readByte() != 0;
|
onlyNSFW = in.readByte() != 0;
|
||||||
onlySpoiler = in.readByte() != 0;
|
onlySpoiler = in.readByte() != 0;
|
||||||
postTitleRegex = in.readString();
|
postTitleExcludesRegex = in.readString();
|
||||||
postTitleExcludesStrings = in.readString();
|
postTitleExcludesStrings = in.readString();
|
||||||
excludesSubreddits = in.readString();
|
excludesSubreddits = in.readString();
|
||||||
excludesUsers = in.readString();
|
excludesUsers = in.readString();
|
||||||
@ -48,6 +153,7 @@ public class PostFilter implements Parcelable {
|
|||||||
containsLinkType = in.readByte() != 0;
|
containsLinkType = in.readByte() != 0;
|
||||||
containsImageType = in.readByte() != 0;
|
containsImageType = in.readByte() != 0;
|
||||||
containsVideoType = in.readByte() != 0;
|
containsVideoType = in.readByte() != 0;
|
||||||
|
containsGalleryType = in.readByte() != 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
public static final Creator<PostFilter> CREATOR = new Creator<PostFilter>() {
|
public static final Creator<PostFilter> CREATOR = new Creator<PostFilter>() {
|
||||||
@ -78,7 +184,7 @@ public class PostFilter implements Parcelable {
|
|||||||
parcel.writeByte((byte) (allowNSFW ? 1 : 0));
|
parcel.writeByte((byte) (allowNSFW ? 1 : 0));
|
||||||
parcel.writeByte((byte) (onlyNSFW ? 1 : 0));
|
parcel.writeByte((byte) (onlyNSFW ? 1 : 0));
|
||||||
parcel.writeByte((byte) (onlySpoiler ? 1 : 0));
|
parcel.writeByte((byte) (onlySpoiler ? 1 : 0));
|
||||||
parcel.writeString(postTitleRegex);
|
parcel.writeString(postTitleExcludesRegex);
|
||||||
parcel.writeString(postTitleExcludesStrings);
|
parcel.writeString(postTitleExcludesStrings);
|
||||||
parcel.writeString(excludesSubreddits);
|
parcel.writeString(excludesSubreddits);
|
||||||
parcel.writeString(excludesUsers);
|
parcel.writeString(excludesUsers);
|
||||||
@ -88,5 +194,6 @@ public class PostFilter implements Parcelable {
|
|||||||
parcel.writeByte((byte) (containsLinkType ? 1 : 0));
|
parcel.writeByte((byte) (containsLinkType ? 1 : 0));
|
||||||
parcel.writeByte((byte) (containsImageType ? 1 : 0));
|
parcel.writeByte((byte) (containsImageType ? 1 : 0));
|
||||||
parcel.writeByte((byte) (containsVideoType ? 1 : 0));
|
parcel.writeByte((byte) (containsVideoType ? 1 : 0));
|
||||||
|
parcel.writeByte((byte) (containsGalleryType ? 1 : 0));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -198,7 +198,6 @@ public class AccountPostsActivity extends BaseActivity implements SortTypeSelect
|
|||||||
bundle.putInt(PostFragment.EXTRA_POST_TYPE, PostDataSource.TYPE_USER);
|
bundle.putInt(PostFragment.EXTRA_POST_TYPE, PostDataSource.TYPE_USER);
|
||||||
bundle.putString(PostFragment.EXTRA_USER_NAME, mAccountName);
|
bundle.putString(PostFragment.EXTRA_USER_NAME, mAccountName);
|
||||||
bundle.putString(PostFragment.EXTRA_USER_WHERE, mUserWhere);
|
bundle.putString(PostFragment.EXTRA_USER_WHERE, mUserWhere);
|
||||||
bundle.putInt(PostFragment.EXTRA_FILTER, PostFragment.EXTRA_NO_FILTER);
|
|
||||||
bundle.putString(PostFragment.EXTRA_ACCESS_TOKEN, mAccessToken);
|
bundle.putString(PostFragment.EXTRA_ACCESS_TOKEN, mAccessToken);
|
||||||
bundle.putString(PostFragment.EXTRA_ACCOUNT_NAME, mAccountName);
|
bundle.putString(PostFragment.EXTRA_ACCOUNT_NAME, mAccountName);
|
||||||
bundle.putBoolean(PostFragment.EXTRA_DISABLE_READ_POSTS, true);
|
bundle.putBoolean(PostFragment.EXTRA_DISABLE_READ_POSTS, true);
|
||||||
|
@ -358,7 +358,6 @@ public class AccountSavedThingActivity extends BaseActivity implements ActivityT
|
|||||||
bundle.putInt(PostFragment.EXTRA_POST_TYPE, PostDataSource.TYPE_USER);
|
bundle.putInt(PostFragment.EXTRA_POST_TYPE, PostDataSource.TYPE_USER);
|
||||||
bundle.putString(PostFragment.EXTRA_USER_NAME, mAccountName);
|
bundle.putString(PostFragment.EXTRA_USER_NAME, mAccountName);
|
||||||
bundle.putString(PostFragment.EXTRA_USER_WHERE, PostDataSource.USER_WHERE_SAVED);
|
bundle.putString(PostFragment.EXTRA_USER_WHERE, PostDataSource.USER_WHERE_SAVED);
|
||||||
bundle.putInt(PostFragment.EXTRA_FILTER, PostFragment.EXTRA_NO_FILTER);
|
|
||||||
bundle.putString(PostFragment.EXTRA_ACCESS_TOKEN, mAccessToken);
|
bundle.putString(PostFragment.EXTRA_ACCESS_TOKEN, mAccessToken);
|
||||||
bundle.putString(PostFragment.EXTRA_ACCOUNT_NAME, mAccountName);
|
bundle.putString(PostFragment.EXTRA_ACCOUNT_NAME, mAccountName);
|
||||||
bundle.putBoolean(PostFragment.EXTRA_DISABLE_READ_POSTS, true);
|
bundle.putBoolean(PostFragment.EXTRA_DISABLE_READ_POSTS, true);
|
||||||
|
@ -70,6 +70,12 @@ public class CustomizePostFilterActivity extends BaseActivity {
|
|||||||
TextView postTypeVideoTextView;
|
TextView postTypeVideoTextView;
|
||||||
@BindView(R.id.post_type_video_check_box_customize_post_filter_activity)
|
@BindView(R.id.post_type_video_check_box_customize_post_filter_activity)
|
||||||
MaterialCheckBox postTypeVideoCheckBox;
|
MaterialCheckBox postTypeVideoCheckBox;
|
||||||
|
@BindView(R.id.post_type_gallery_linear_layout_customize_post_filter_activity)
|
||||||
|
LinearLayout postTypeGalleryLinearLayout;
|
||||||
|
@BindView(R.id.post_type_gallery_text_view_customize_post_filter_activity)
|
||||||
|
TextView postTypeGalleryTextView;
|
||||||
|
@BindView(R.id.post_type_gallery_check_box_customize_post_filter_activity)
|
||||||
|
MaterialCheckBox postTypeGalleryCheckBox;
|
||||||
@BindView(R.id.title_excludes_strings_text_input_layout_customize_post_filter_activity)
|
@BindView(R.id.title_excludes_strings_text_input_layout_customize_post_filter_activity)
|
||||||
TextInputLayout titleExcludesStringsTextInputLayout;
|
TextInputLayout titleExcludesStringsTextInputLayout;
|
||||||
@BindView(R.id.title_excludes_strings_text_input_edit_text_customize_post_filter_activity)
|
@BindView(R.id.title_excludes_strings_text_input_edit_text_customize_post_filter_activity)
|
||||||
@ -187,6 +193,7 @@ public class CustomizePostFilterActivity extends BaseActivity {
|
|||||||
postTypeLinkTextView.setTextColor(primaryTextColor);
|
postTypeLinkTextView.setTextColor(primaryTextColor);
|
||||||
postTypeImageTextView.setTextColor(primaryTextColor);
|
postTypeImageTextView.setTextColor(primaryTextColor);
|
||||||
postTypeVideoTextView.setTextColor(primaryTextColor);
|
postTypeVideoTextView.setTextColor(primaryTextColor);
|
||||||
|
postTypeGalleryTextView.setTextColor(primaryTextColor);
|
||||||
titleExcludesStringsTextInputLayout.setBoxStrokeColor(primaryTextColor);
|
titleExcludesStringsTextInputLayout.setBoxStrokeColor(primaryTextColor);
|
||||||
titleExcludesStringsTextInputLayout.setDefaultHintTextColor(ColorStateList.valueOf(primaryTextColor));
|
titleExcludesStringsTextInputLayout.setDefaultHintTextColor(ColorStateList.valueOf(primaryTextColor));
|
||||||
titleExcludesStringsTextInputEditText.setTextColor(primaryTextColor);
|
titleExcludesStringsTextInputEditText.setTextColor(primaryTextColor);
|
||||||
@ -239,13 +246,13 @@ public class CustomizePostFilterActivity extends BaseActivity {
|
|||||||
return true;
|
return true;
|
||||||
} else if (item.getItemId() == R.id.action_save_customize_post_filter_activity) {
|
} else if (item.getItemId() == R.id.action_save_customize_post_filter_activity) {
|
||||||
PostFilter postFilter = new PostFilter();
|
PostFilter postFilter = new PostFilter();
|
||||||
postFilter.maxVote = maxVoteTextInputEditText.getText() == null ? -1 : Integer.parseInt(maxVoteTextInputEditText.getText().toString());
|
postFilter.maxVote = maxVoteTextInputEditText.getText() == null || maxVoteTextInputEditText.getText().toString().equals("") ? -1 : Integer.parseInt(maxVoteTextInputEditText.getText().toString());
|
||||||
postFilter.minVote = minVoteTextInputEditText.getText() == null ? -1 : Integer.parseInt(minVoteTextInputEditText.getText().toString());
|
postFilter.minVote = minVoteTextInputEditText.getText() == null || minVoteTextInputEditText.getText().toString().equals("") ? -1 : Integer.parseInt(minVoteTextInputEditText.getText().toString());
|
||||||
postFilter.maxComments = maxCommentsTextInputEditText.getText() == null ? -1 : Integer.parseInt(maxCommentsTextInputEditText.getText().toString());
|
postFilter.maxComments = maxCommentsTextInputEditText.getText() == null || maxCommentsTextInputEditText.getText().toString().equals("") ? -1 : Integer.parseInt(maxCommentsTextInputEditText.getText().toString());
|
||||||
postFilter.minComments = minCommentsTextInputEditText.getText() == null ? -1 : Integer.parseInt(minCommentsTextInputEditText.getText().toString());
|
postFilter.minComments = minCommentsTextInputEditText.getText() == null || minCommentsTextInputEditText.getText().toString().equals("") ? -1 : Integer.parseInt(minCommentsTextInputEditText.getText().toString());
|
||||||
postFilter.maxAwards = maxAwardsTextInputEditText.getText() == null ? -1 : Integer.parseInt(maxAwardsTextInputEditText.getText().toString());
|
postFilter.maxAwards = maxAwardsTextInputEditText.getText() == null || maxAwardsTextInputEditText.getText().toString().equals("") ? -1 : Integer.parseInt(maxAwardsTextInputEditText.getText().toString());
|
||||||
postFilter.minAwards = minAwardsTextInputEditText.getText() == null ? -1 : Integer.parseInt(minAwardsTextInputEditText.getText().toString());
|
postFilter.minAwards = minAwardsTextInputEditText.getText() == null || minAwardsTextInputEditText.getText().toString().equals("") ? -1 : Integer.parseInt(minAwardsTextInputEditText.getText().toString());
|
||||||
postFilter.postTitleRegex = titleExcludesRegexTextInputEditText.getText().toString();
|
postFilter.postTitleExcludesRegex = titleExcludesRegexTextInputEditText.getText().toString();
|
||||||
postFilter.postTitleExcludesStrings = titleExcludesStringsTextInputEditText.getText().toString();
|
postFilter.postTitleExcludesStrings = titleExcludesStringsTextInputEditText.getText().toString();
|
||||||
postFilter.excludesSubreddits = excludesSubredditsTextInputEditText.getText().toString();
|
postFilter.excludesSubreddits = excludesSubredditsTextInputEditText.getText().toString();
|
||||||
postFilter.excludesUsers = excludesUsersTextInputEditText.getText().toString();
|
postFilter.excludesUsers = excludesUsersTextInputEditText.getText().toString();
|
||||||
@ -255,6 +262,7 @@ public class CustomizePostFilterActivity extends BaseActivity {
|
|||||||
postFilter.containsLinkType = postTypeLinkCheckBox.isChecked();
|
postFilter.containsLinkType = postTypeLinkCheckBox.isChecked();
|
||||||
postFilter.containsImageType = postTypeImageCheckBox.isChecked();
|
postFilter.containsImageType = postTypeImageCheckBox.isChecked();
|
||||||
postFilter.containsVideoType = postTypeVideoCheckBox.isChecked();
|
postFilter.containsVideoType = postTypeVideoCheckBox.isChecked();
|
||||||
|
postFilter.containsGalleryType = postTypeGalleryCheckBox.isChecked();
|
||||||
|
|
||||||
Intent returnIntent = new Intent();
|
Intent returnIntent = new Intent();
|
||||||
returnIntent.putExtra(RETURN_EXTRA_POST_FILTER, postFilter);
|
returnIntent.putExtra(RETURN_EXTRA_POST_FILTER, postFilter);
|
||||||
|
@ -12,6 +12,7 @@ import android.view.Window;
|
|||||||
import android.view.WindowManager;
|
import android.view.WindowManager;
|
||||||
|
|
||||||
import androidx.annotation.NonNull;
|
import androidx.annotation.NonNull;
|
||||||
|
import androidx.annotation.Nullable;
|
||||||
import androidx.appcompat.widget.Toolbar;
|
import androidx.appcompat.widget.Toolbar;
|
||||||
import androidx.coordinatorlayout.widget.CoordinatorLayout;
|
import androidx.coordinatorlayout.widget.CoordinatorLayout;
|
||||||
|
|
||||||
@ -32,6 +33,7 @@ import ml.docilealligator.infinityforreddit.ActivityToolbarInterface;
|
|||||||
import ml.docilealligator.infinityforreddit.FragmentCommunicator;
|
import ml.docilealligator.infinityforreddit.FragmentCommunicator;
|
||||||
import ml.docilealligator.infinityforreddit.Infinity;
|
import ml.docilealligator.infinityforreddit.Infinity;
|
||||||
import ml.docilealligator.infinityforreddit.MarkPostAsReadInterface;
|
import ml.docilealligator.infinityforreddit.MarkPostAsReadInterface;
|
||||||
|
import ml.docilealligator.infinityforreddit.PostFilter;
|
||||||
import ml.docilealligator.infinityforreddit.R;
|
import ml.docilealligator.infinityforreddit.R;
|
||||||
import ml.docilealligator.infinityforreddit.RedditDataRoomDatabase;
|
import ml.docilealligator.infinityforreddit.RedditDataRoomDatabase;
|
||||||
import ml.docilealligator.infinityforreddit.SortType;
|
import ml.docilealligator.infinityforreddit.SortType;
|
||||||
@ -66,6 +68,7 @@ public class FilteredThingActivity extends BaseActivity implements SortTypeSelec
|
|||||||
private static final String ACCESS_TOKEN_STATE = "ATS";
|
private static final String ACCESS_TOKEN_STATE = "ATS";
|
||||||
private static final String ACCOUNT_NAME_STATE = "ANS";
|
private static final String ACCOUNT_NAME_STATE = "ANS";
|
||||||
private static final String FRAGMENT_OUT_STATE = "FOS";
|
private static final String FRAGMENT_OUT_STATE = "FOS";
|
||||||
|
private static final int CUSTOMIZE_POST_FILTER_ACTIVITY_REQUEST_CODE = 1000;
|
||||||
|
|
||||||
@BindView(R.id.coordinator_layout_filtered_thing_activity)
|
@BindView(R.id.coordinator_layout_filtered_thing_activity)
|
||||||
CoordinatorLayout coordinatorLayout;
|
CoordinatorLayout coordinatorLayout;
|
||||||
@ -159,6 +162,47 @@ public class FilteredThingActivity extends BaseActivity implements SortTypeSelec
|
|||||||
name = getIntent().getStringExtra(EXTRA_NAME);
|
name = getIntent().getStringExtra(EXTRA_NAME);
|
||||||
postType = getIntent().getIntExtra(EXTRA_POST_TYPE, PostDataSource.TYPE_FRONT_PAGE);
|
postType = getIntent().getIntExtra(EXTRA_POST_TYPE, PostDataSource.TYPE_FRONT_PAGE);
|
||||||
int filter = getIntent().getIntExtra(EXTRA_FILTER, Post.TEXT_TYPE);
|
int filter = getIntent().getIntExtra(EXTRA_FILTER, Post.TEXT_TYPE);
|
||||||
|
switch (filter) {
|
||||||
|
case Post.NSFW_TYPE:
|
||||||
|
toolbar.setSubtitle(R.string.nsfw);
|
||||||
|
break;
|
||||||
|
case Post.TEXT_TYPE:
|
||||||
|
toolbar.setSubtitle(R.string.text);
|
||||||
|
break;
|
||||||
|
case Post.LINK_TYPE:
|
||||||
|
case Post.NO_PREVIEW_LINK_TYPE:
|
||||||
|
toolbar.setSubtitle(R.string.link);
|
||||||
|
break;
|
||||||
|
case Post.IMAGE_TYPE:
|
||||||
|
toolbar.setSubtitle(R.string.image);
|
||||||
|
break;
|
||||||
|
case Post.VIDEO_TYPE:
|
||||||
|
toolbar.setSubtitle(R.string.video);
|
||||||
|
break;
|
||||||
|
case Post.GIF_TYPE:
|
||||||
|
toolbar.setSubtitle(R.string.gif);
|
||||||
|
break;
|
||||||
|
case Post.GALLERY_TYPE:
|
||||||
|
toolbar.setSubtitle(R.string.gallery);
|
||||||
|
}
|
||||||
|
PostFilter postFilter = new PostFilter();
|
||||||
|
switch (filter) {
|
||||||
|
case Post.TEXT_TYPE:
|
||||||
|
postFilter.containsTextType = true;
|
||||||
|
break;
|
||||||
|
case Post.LINK_TYPE:
|
||||||
|
postFilter.containsLinkType = true;
|
||||||
|
break;
|
||||||
|
case Post.IMAGE_TYPE:
|
||||||
|
postFilter.containsImageType = true;
|
||||||
|
break;
|
||||||
|
case Post.VIDEO_TYPE:
|
||||||
|
postFilter.containsVideoType = true;
|
||||||
|
break;
|
||||||
|
case Post.GALLERY_TYPE:
|
||||||
|
postFilter.containsGalleryType = true;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
|
||||||
if (postType == PostDataSource.TYPE_USER) {
|
if (postType == PostDataSource.TYPE_USER) {
|
||||||
userWhere = getIntent().getStringExtra(EXTRA_USER_WHERE);
|
userWhere = getIntent().getStringExtra(EXTRA_USER_WHERE);
|
||||||
@ -174,14 +218,14 @@ public class FilteredThingActivity extends BaseActivity implements SortTypeSelec
|
|||||||
mAccountName = savedInstanceState.getString(ACCOUNT_NAME_STATE);
|
mAccountName = savedInstanceState.getString(ACCOUNT_NAME_STATE);
|
||||||
|
|
||||||
if (!mNullAccessToken && mAccessToken == null) {
|
if (!mNullAccessToken && mAccessToken == null) {
|
||||||
getCurrentAccountAndBindView(filter);
|
getCurrentAccountAndBindView(postFilter);
|
||||||
} else {
|
} else {
|
||||||
mFragment = (PostFragment) getSupportFragmentManager().getFragment(savedInstanceState, FRAGMENT_OUT_STATE);
|
mFragment = (PostFragment) getSupportFragmentManager().getFragment(savedInstanceState, FRAGMENT_OUT_STATE);
|
||||||
getSupportFragmentManager().beginTransaction().replace(R.id.frame_layout_filtered_posts_activity, mFragment).commit();
|
getSupportFragmentManager().beginTransaction().replace(R.id.frame_layout_filtered_posts_activity, mFragment).commit();
|
||||||
bindView(filter, false);
|
bindView(postFilter, false);
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
getCurrentAccountAndBindView(filter);
|
getCurrentAccountAndBindView(postFilter);
|
||||||
}
|
}
|
||||||
|
|
||||||
postLayoutBottomSheetFragment = new PostLayoutBottomSheetFragment();
|
postLayoutBottomSheetFragment = new PostLayoutBottomSheetFragment();
|
||||||
@ -213,7 +257,7 @@ public class FilteredThingActivity extends BaseActivity implements SortTypeSelec
|
|||||||
applyFABTheme(fab);
|
applyFABTheme(fab);
|
||||||
}
|
}
|
||||||
|
|
||||||
private void getCurrentAccountAndBindView(int filter) {
|
private void getCurrentAccountAndBindView(PostFilter postFilter) {
|
||||||
new GetCurrentAccountAsyncTask(mRedditDataRoomDatabase.accountDao(), account -> {
|
new GetCurrentAccountAsyncTask(mRedditDataRoomDatabase.accountDao(), account -> {
|
||||||
if (account == null) {
|
if (account == null) {
|
||||||
mNullAccessToken = true;
|
mNullAccessToken = true;
|
||||||
@ -221,11 +265,11 @@ public class FilteredThingActivity extends BaseActivity implements SortTypeSelec
|
|||||||
mAccessToken = account.getAccessToken();
|
mAccessToken = account.getAccessToken();
|
||||||
mAccountName = account.getUsername();
|
mAccountName = account.getUsername();
|
||||||
}
|
}
|
||||||
bindView(filter, true);
|
bindView(postFilter, true);
|
||||||
}).execute();
|
}).execute();
|
||||||
}
|
}
|
||||||
|
|
||||||
private void bindView(int filter, boolean initializeFragment) {
|
private void bindView(PostFilter postFilter, boolean initializeFragment) {
|
||||||
switch (postType) {
|
switch (postType) {
|
||||||
case PostDataSource.TYPE_FRONT_PAGE:
|
case PostDataSource.TYPE_FRONT_PAGE:
|
||||||
getSupportActionBar().setTitle(name);
|
getSupportActionBar().setTitle(name);
|
||||||
@ -285,35 +329,11 @@ public class FilteredThingActivity extends BaseActivity implements SortTypeSelec
|
|||||||
|
|
||||||
sortTimeBottomSheetFragment = new SortTimeBottomSheetFragment();
|
sortTimeBottomSheetFragment = new SortTimeBottomSheetFragment();
|
||||||
|
|
||||||
switch (filter) {
|
|
||||||
case Post.NSFW_TYPE:
|
|
||||||
toolbar.setSubtitle(R.string.nsfw);
|
|
||||||
break;
|
|
||||||
case Post.TEXT_TYPE:
|
|
||||||
toolbar.setSubtitle(R.string.text);
|
|
||||||
break;
|
|
||||||
case Post.LINK_TYPE:
|
|
||||||
case Post.NO_PREVIEW_LINK_TYPE:
|
|
||||||
toolbar.setSubtitle(R.string.link);
|
|
||||||
break;
|
|
||||||
case Post.IMAGE_TYPE:
|
|
||||||
toolbar.setSubtitle(R.string.image);
|
|
||||||
break;
|
|
||||||
case Post.VIDEO_TYPE:
|
|
||||||
toolbar.setSubtitle(R.string.video);
|
|
||||||
break;
|
|
||||||
case Post.GIF_TYPE:
|
|
||||||
toolbar.setSubtitle(R.string.gif);
|
|
||||||
break;
|
|
||||||
case Post.GALLERY_TYPE:
|
|
||||||
toolbar.setSubtitle(R.string.gallery);
|
|
||||||
}
|
|
||||||
|
|
||||||
if (initializeFragment) {
|
if (initializeFragment) {
|
||||||
mFragment = new PostFragment();
|
mFragment = new PostFragment();
|
||||||
Bundle bundle = new Bundle();
|
Bundle bundle = new Bundle();
|
||||||
bundle.putInt(PostFragment.EXTRA_POST_TYPE, postType);
|
bundle.putInt(PostFragment.EXTRA_POST_TYPE, postType);
|
||||||
bundle.putInt(PostFragment.EXTRA_FILTER, filter);
|
bundle.putParcelable(PostFragment.EXTRA_FILTER, postFilter);
|
||||||
bundle.putString(PostFragment.EXTRA_ACCESS_TOKEN, mAccessToken);
|
bundle.putString(PostFragment.EXTRA_ACCESS_TOKEN, mAccessToken);
|
||||||
bundle.putString(PostFragment.EXTRA_ACCOUNT_NAME, mAccountName);
|
bundle.putString(PostFragment.EXTRA_ACCOUNT_NAME, mAccountName);
|
||||||
if (postType == PostDataSource.TYPE_USER) {
|
if (postType == PostDataSource.TYPE_USER) {
|
||||||
@ -331,7 +351,7 @@ public class FilteredThingActivity extends BaseActivity implements SortTypeSelec
|
|||||||
|
|
||||||
fab.setOnClickListener(view -> {
|
fab.setOnClickListener(view -> {
|
||||||
Intent intent = new Intent(this, CustomizePostFilterActivity.class);
|
Intent intent = new Intent(this, CustomizePostFilterActivity.class);
|
||||||
startActivity(intent);
|
startActivityForResult(intent, CUSTOMIZE_POST_FILTER_ACTIVITY_REQUEST_CODE);
|
||||||
});
|
});
|
||||||
|
|
||||||
if (mAccessToken != null) {
|
if (mAccessToken != null) {
|
||||||
@ -426,6 +446,16 @@ public class FilteredThingActivity extends BaseActivity implements SortTypeSelec
|
|||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
protected void onActivityResult(int requestCode, int resultCode, @Nullable Intent data) {
|
||||||
|
super.onActivityResult(requestCode, resultCode, data);
|
||||||
|
if (requestCode == CUSTOMIZE_POST_FILTER_ACTIVITY_REQUEST_CODE && resultCode == RESULT_OK) {
|
||||||
|
if (mFragment != null) {
|
||||||
|
((PostFragment) mFragment).changePostFilter(data.getParcelableExtra(CustomizePostFilterActivity.RETURN_EXTRA_POST_FILTER));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
protected void onSaveInstanceState(@NonNull Bundle outState) {
|
protected void onSaveInstanceState(@NonNull Bundle outState) {
|
||||||
super.onSaveInstanceState(outState);
|
super.onSaveInstanceState(outState);
|
||||||
|
@ -1317,7 +1317,6 @@ public class MainActivity extends BaseActivity implements SortTypeSelectionCallb
|
|||||||
Bundle bundle = new Bundle();
|
Bundle bundle = new Bundle();
|
||||||
bundle.putInt(PostFragment.EXTRA_POST_TYPE, PostDataSource.TYPE_SUBREDDIT);
|
bundle.putInt(PostFragment.EXTRA_POST_TYPE, PostDataSource.TYPE_SUBREDDIT);
|
||||||
bundle.putString(PostFragment.EXTRA_NAME, "popular");
|
bundle.putString(PostFragment.EXTRA_NAME, "popular");
|
||||||
bundle.putInt(PostFragment.EXTRA_FILTER, PostFragment.EXTRA_NO_FILTER);
|
|
||||||
bundle.putString(PostFragment.EXTRA_ACCESS_TOKEN, mAccessToken);
|
bundle.putString(PostFragment.EXTRA_ACCESS_TOKEN, mAccessToken);
|
||||||
bundle.putString(PostFragment.EXTRA_ACCOUNT_NAME, mAccountName);
|
bundle.putString(PostFragment.EXTRA_ACCOUNT_NAME, mAccountName);
|
||||||
fragment.setArguments(bundle);
|
fragment.setArguments(bundle);
|
||||||
@ -1327,7 +1326,6 @@ public class MainActivity extends BaseActivity implements SortTypeSelectionCallb
|
|||||||
Bundle bundle = new Bundle();
|
Bundle bundle = new Bundle();
|
||||||
bundle.putInt(PostFragment.EXTRA_POST_TYPE, PostDataSource.TYPE_SUBREDDIT);
|
bundle.putInt(PostFragment.EXTRA_POST_TYPE, PostDataSource.TYPE_SUBREDDIT);
|
||||||
bundle.putString(PostFragment.EXTRA_NAME, "all");
|
bundle.putString(PostFragment.EXTRA_NAME, "all");
|
||||||
bundle.putInt(PostFragment.EXTRA_FILTER, PostFragment.EXTRA_NO_FILTER);
|
|
||||||
bundle.putString(PostFragment.EXTRA_ACCESS_TOKEN, mAccessToken);
|
bundle.putString(PostFragment.EXTRA_ACCESS_TOKEN, mAccessToken);
|
||||||
bundle.putString(PostFragment.EXTRA_ACCOUNT_NAME, mAccountName);
|
bundle.putString(PostFragment.EXTRA_ACCOUNT_NAME, mAccountName);
|
||||||
fragment.setArguments(bundle);
|
fragment.setArguments(bundle);
|
||||||
@ -1379,7 +1377,6 @@ public class MainActivity extends BaseActivity implements SortTypeSelectionCallb
|
|||||||
PostFragment fragment = new PostFragment();
|
PostFragment fragment = new PostFragment();
|
||||||
Bundle bundle = new Bundle();
|
Bundle bundle = new Bundle();
|
||||||
bundle.putInt(PostFragment.EXTRA_POST_TYPE, PostDataSource.TYPE_FRONT_PAGE);
|
bundle.putInt(PostFragment.EXTRA_POST_TYPE, PostDataSource.TYPE_FRONT_PAGE);
|
||||||
bundle.putInt(PostFragment.EXTRA_FILTER, PostFragment.EXTRA_NO_FILTER);
|
|
||||||
bundle.putString(PostFragment.EXTRA_ACCESS_TOKEN, mAccessToken);
|
bundle.putString(PostFragment.EXTRA_ACCESS_TOKEN, mAccessToken);
|
||||||
bundle.putString(PostFragment.EXTRA_ACCOUNT_NAME, mAccountName);
|
bundle.putString(PostFragment.EXTRA_ACCOUNT_NAME, mAccountName);
|
||||||
fragment.setArguments(bundle);
|
fragment.setArguments(bundle);
|
||||||
@ -1389,7 +1386,6 @@ public class MainActivity extends BaseActivity implements SortTypeSelectionCallb
|
|||||||
Bundle bundle = new Bundle();
|
Bundle bundle = new Bundle();
|
||||||
bundle.putInt(PostFragment.EXTRA_POST_TYPE, PostDataSource.TYPE_SUBREDDIT);
|
bundle.putInt(PostFragment.EXTRA_POST_TYPE, PostDataSource.TYPE_SUBREDDIT);
|
||||||
bundle.putString(PostFragment.EXTRA_NAME, "all");
|
bundle.putString(PostFragment.EXTRA_NAME, "all");
|
||||||
bundle.putInt(PostFragment.EXTRA_FILTER, PostFragment.EXTRA_NO_FILTER);
|
|
||||||
bundle.putString(PostFragment.EXTRA_ACCESS_TOKEN, mAccessToken);
|
bundle.putString(PostFragment.EXTRA_ACCESS_TOKEN, mAccessToken);
|
||||||
bundle.putString(PostFragment.EXTRA_ACCOUNT_NAME, mAccountName);
|
bundle.putString(PostFragment.EXTRA_ACCOUNT_NAME, mAccountName);
|
||||||
fragment.setArguments(bundle);
|
fragment.setArguments(bundle);
|
||||||
@ -1399,7 +1395,6 @@ public class MainActivity extends BaseActivity implements SortTypeSelectionCallb
|
|||||||
Bundle bundle = new Bundle();
|
Bundle bundle = new Bundle();
|
||||||
bundle.putInt(PostFragment.EXTRA_POST_TYPE, PostDataSource.TYPE_SUBREDDIT);
|
bundle.putInt(PostFragment.EXTRA_POST_TYPE, PostDataSource.TYPE_SUBREDDIT);
|
||||||
bundle.putString(PostFragment.EXTRA_NAME, name);
|
bundle.putString(PostFragment.EXTRA_NAME, name);
|
||||||
bundle.putInt(PostFragment.EXTRA_FILTER, PostFragment.EXTRA_NO_FILTER);
|
|
||||||
bundle.putString(PostFragment.EXTRA_ACCESS_TOKEN, mAccessToken);
|
bundle.putString(PostFragment.EXTRA_ACCESS_TOKEN, mAccessToken);
|
||||||
bundle.putString(PostFragment.EXTRA_ACCOUNT_NAME, mAccountName);
|
bundle.putString(PostFragment.EXTRA_ACCOUNT_NAME, mAccountName);
|
||||||
fragment.setArguments(bundle);
|
fragment.setArguments(bundle);
|
||||||
@ -1409,7 +1404,6 @@ public class MainActivity extends BaseActivity implements SortTypeSelectionCallb
|
|||||||
Bundle bundle = new Bundle();
|
Bundle bundle = new Bundle();
|
||||||
bundle.putString(PostFragment.EXTRA_NAME, name);
|
bundle.putString(PostFragment.EXTRA_NAME, name);
|
||||||
bundle.putInt(PostFragment.EXTRA_POST_TYPE, PostDataSource.TYPE_MULTI_REDDIT);
|
bundle.putInt(PostFragment.EXTRA_POST_TYPE, PostDataSource.TYPE_MULTI_REDDIT);
|
||||||
bundle.putInt(PostFragment.EXTRA_FILTER, PostFragment.EXTRA_NO_FILTER);
|
|
||||||
bundle.putString(PostFragment.EXTRA_ACCESS_TOKEN, mAccessToken);
|
bundle.putString(PostFragment.EXTRA_ACCESS_TOKEN, mAccessToken);
|
||||||
bundle.putString(PostFragment.EXTRA_ACCOUNT_NAME, mAccountName);
|
bundle.putString(PostFragment.EXTRA_ACCOUNT_NAME, mAccountName);
|
||||||
fragment.setArguments(bundle);
|
fragment.setArguments(bundle);
|
||||||
@ -1420,7 +1414,6 @@ public class MainActivity extends BaseActivity implements SortTypeSelectionCallb
|
|||||||
bundle.putInt(PostFragment.EXTRA_POST_TYPE, PostDataSource.TYPE_USER);
|
bundle.putInt(PostFragment.EXTRA_POST_TYPE, PostDataSource.TYPE_USER);
|
||||||
bundle.putString(PostFragment.EXTRA_USER_NAME, name);
|
bundle.putString(PostFragment.EXTRA_USER_NAME, name);
|
||||||
bundle.putString(PostFragment.EXTRA_USER_WHERE, PostDataSource.USER_WHERE_SUBMITTED);
|
bundle.putString(PostFragment.EXTRA_USER_WHERE, PostDataSource.USER_WHERE_SUBMITTED);
|
||||||
bundle.putInt(PostFragment.EXTRA_FILTER, PostFragment.EXTRA_NO_FILTER);
|
|
||||||
bundle.putString(PostFragment.EXTRA_ACCESS_TOKEN, mAccessToken);
|
bundle.putString(PostFragment.EXTRA_ACCESS_TOKEN, mAccessToken);
|
||||||
bundle.putString(PostFragment.EXTRA_ACCOUNT_NAME, mAccountName);
|
bundle.putString(PostFragment.EXTRA_ACCOUNT_NAME, mAccountName);
|
||||||
fragment.setArguments(bundle);
|
fragment.setArguments(bundle);
|
||||||
@ -1430,7 +1423,6 @@ public class MainActivity extends BaseActivity implements SortTypeSelectionCallb
|
|||||||
Bundle bundle = new Bundle();
|
Bundle bundle = new Bundle();
|
||||||
bundle.putInt(PostFragment.EXTRA_POST_TYPE, PostDataSource.TYPE_SUBREDDIT);
|
bundle.putInt(PostFragment.EXTRA_POST_TYPE, PostDataSource.TYPE_SUBREDDIT);
|
||||||
bundle.putString(PostFragment.EXTRA_NAME, "popular");
|
bundle.putString(PostFragment.EXTRA_NAME, "popular");
|
||||||
bundle.putInt(PostFragment.EXTRA_FILTER, PostFragment.EXTRA_NO_FILTER);
|
|
||||||
bundle.putString(PostFragment.EXTRA_ACCESS_TOKEN, mAccessToken);
|
bundle.putString(PostFragment.EXTRA_ACCESS_TOKEN, mAccessToken);
|
||||||
bundle.putString(PostFragment.EXTRA_ACCOUNT_NAME, mAccountName);
|
bundle.putString(PostFragment.EXTRA_ACCOUNT_NAME, mAccountName);
|
||||||
fragment.setArguments(bundle);
|
fragment.setArguments(bundle);
|
||||||
|
@ -395,7 +395,6 @@ public class SearchResultActivity extends BaseActivity implements SortTypeSelect
|
|||||||
bundle.putInt(PostFragment.EXTRA_POST_TYPE, PostDataSource.TYPE_SEARCH);
|
bundle.putInt(PostFragment.EXTRA_POST_TYPE, PostDataSource.TYPE_SEARCH);
|
||||||
bundle.putString(PostFragment.EXTRA_NAME, mSubredditName);
|
bundle.putString(PostFragment.EXTRA_NAME, mSubredditName);
|
||||||
bundle.putString(PostFragment.EXTRA_QUERY, mQuery);
|
bundle.putString(PostFragment.EXTRA_QUERY, mQuery);
|
||||||
bundle.putInt(PostFragment.EXTRA_FILTER, PostFragment.EXTRA_NO_FILTER);
|
|
||||||
bundle.putString(PostFragment.EXTRA_ACCESS_TOKEN, mAccessToken);
|
bundle.putString(PostFragment.EXTRA_ACCESS_TOKEN, mAccessToken);
|
||||||
bundle.putString(PostFragment.EXTRA_ACCOUNT_NAME, mAccountName);
|
bundle.putString(PostFragment.EXTRA_ACCOUNT_NAME, mAccountName);
|
||||||
mFragment.setArguments(bundle);
|
mFragment.setArguments(bundle);
|
||||||
|
@ -200,7 +200,6 @@ public class ViewMultiRedditDetailActivity extends BaseActivity implements SortT
|
|||||||
Bundle bundle = new Bundle();
|
Bundle bundle = new Bundle();
|
||||||
bundle.putString(PostFragment.EXTRA_NAME, multiPath);
|
bundle.putString(PostFragment.EXTRA_NAME, multiPath);
|
||||||
bundle.putInt(PostFragment.EXTRA_POST_TYPE, PostDataSource.TYPE_MULTI_REDDIT);
|
bundle.putInt(PostFragment.EXTRA_POST_TYPE, PostDataSource.TYPE_MULTI_REDDIT);
|
||||||
bundle.putInt(PostFragment.EXTRA_FILTER, PostFragment.EXTRA_NO_FILTER);
|
|
||||||
bundle.putString(PostFragment.EXTRA_ACCESS_TOKEN, mAccessToken);
|
bundle.putString(PostFragment.EXTRA_ACCESS_TOKEN, mAccessToken);
|
||||||
bundle.putString(PostFragment.EXTRA_ACCOUNT_NAME, mAccountName);
|
bundle.putString(PostFragment.EXTRA_ACCOUNT_NAME, mAccountName);
|
||||||
mFragment.setArguments(bundle);
|
mFragment.setArguments(bundle);
|
||||||
|
@ -1230,7 +1230,6 @@ public class ViewSubredditDetailActivity extends BaseActivity implements SortTyp
|
|||||||
Bundle bundle = new Bundle();
|
Bundle bundle = new Bundle();
|
||||||
bundle.putString(PostFragment.EXTRA_NAME, subredditName);
|
bundle.putString(PostFragment.EXTRA_NAME, subredditName);
|
||||||
bundle.putInt(PostFragment.EXTRA_POST_TYPE, PostDataSource.TYPE_SUBREDDIT);
|
bundle.putInt(PostFragment.EXTRA_POST_TYPE, PostDataSource.TYPE_SUBREDDIT);
|
||||||
bundle.putInt(PostFragment.EXTRA_FILTER, PostFragment.EXTRA_NO_FILTER);
|
|
||||||
bundle.putString(PostFragment.EXTRA_ACCESS_TOKEN, mAccessToken);
|
bundle.putString(PostFragment.EXTRA_ACCESS_TOKEN, mAccessToken);
|
||||||
bundle.putString(PostFragment.EXTRA_ACCOUNT_NAME, mAccountName);
|
bundle.putString(PostFragment.EXTRA_ACCOUNT_NAME, mAccountName);
|
||||||
fragment.setArguments(bundle);
|
fragment.setArguments(bundle);
|
||||||
|
@ -1306,7 +1306,6 @@ public class ViewUserDetailActivity extends BaseActivity implements SortTypeSele
|
|||||||
bundle.putInt(PostFragment.EXTRA_POST_TYPE, PostDataSource.TYPE_USER);
|
bundle.putInt(PostFragment.EXTRA_POST_TYPE, PostDataSource.TYPE_USER);
|
||||||
bundle.putString(PostFragment.EXTRA_USER_NAME, username);
|
bundle.putString(PostFragment.EXTRA_USER_NAME, username);
|
||||||
bundle.putString(PostFragment.EXTRA_USER_WHERE, PostDataSource.USER_WHERE_SUBMITTED);
|
bundle.putString(PostFragment.EXTRA_USER_WHERE, PostDataSource.USER_WHERE_SUBMITTED);
|
||||||
bundle.putInt(PostFragment.EXTRA_FILTER, PostFragment.EXTRA_NO_FILTER);
|
|
||||||
bundle.putString(PostFragment.EXTRA_ACCESS_TOKEN, mAccessToken);
|
bundle.putString(PostFragment.EXTRA_ACCESS_TOKEN, mAccessToken);
|
||||||
bundle.putString(PostFragment.EXTRA_ACCOUNT_NAME, mAccountName);
|
bundle.putString(PostFragment.EXTRA_ACCOUNT_NAME, mAccountName);
|
||||||
fragment.setArguments(bundle);
|
fragment.setArguments(bundle);
|
||||||
|
@ -412,7 +412,7 @@ public class PostRecyclerViewAdapter extends PagedListAdapter<Post, RecyclerView
|
|||||||
String subredditName = subredditNamePrefixed.substring(2);
|
String subredditName = subredditNamePrefixed.substring(2);
|
||||||
String authorPrefixed = "u/" + post.getAuthor();
|
String authorPrefixed = "u/" + post.getAuthor();
|
||||||
String flair = post.getFlair();
|
String flair = post.getFlair();
|
||||||
int nAwards = post.getnAwards();
|
int nAwards = post.getNAwards();
|
||||||
|
|
||||||
((PostBaseViewHolder) holder).subredditTextView.setText(subredditNamePrefixed);
|
((PostBaseViewHolder) holder).subredditTextView.setText(subredditNamePrefixed);
|
||||||
((PostBaseViewHolder) holder).userTextView.setText(authorPrefixed);
|
((PostBaseViewHolder) holder).userTextView.setText(authorPrefixed);
|
||||||
@ -736,7 +736,7 @@ public class PostRecyclerViewAdapter extends PagedListAdapter<Post, RecyclerView
|
|||||||
boolean nsfw = post.isNSFW();
|
boolean nsfw = post.isNSFW();
|
||||||
boolean spoiler = post.isSpoiler();
|
boolean spoiler = post.isSpoiler();
|
||||||
String flair = post.getFlair();
|
String flair = post.getFlair();
|
||||||
int nAwards = post.getnAwards();
|
int nAwards = post.getNAwards();
|
||||||
boolean isArchived = post.isArchived();
|
boolean isArchived = post.isArchived();
|
||||||
|
|
||||||
if (mDisplaySubredditName) {
|
if (mDisplaySubredditName) {
|
||||||
|
@ -129,7 +129,6 @@ public class PostFragment extends Fragment implements FragmentCommunicator {
|
|||||||
public static final String EXTRA_QUERY = "EQ";
|
public static final String EXTRA_QUERY = "EQ";
|
||||||
public static final String EXTRA_POST_TYPE = "EPT";
|
public static final String EXTRA_POST_TYPE = "EPT";
|
||||||
public static final String EXTRA_FILTER = "EF";
|
public static final String EXTRA_FILTER = "EF";
|
||||||
public static final int EXTRA_NO_FILTER = -2;
|
|
||||||
public static final String EXTRA_ACCESS_TOKEN = "EAT";
|
public static final String EXTRA_ACCESS_TOKEN = "EAT";
|
||||||
public static final String EXTRA_ACCOUNT_NAME = "EAN";
|
public static final String EXTRA_ACCOUNT_NAME = "EAN";
|
||||||
public static final String EXTRA_DISABLE_READ_POSTS = "EDRP";
|
public static final String EXTRA_DISABLE_READ_POSTS = "EDRP";
|
||||||
@ -444,9 +443,11 @@ public class PostFragment extends Fragment implements FragmentCommunicator {
|
|||||||
postType = getArguments().getInt(EXTRA_POST_TYPE);
|
postType = getArguments().getInt(EXTRA_POST_TYPE);
|
||||||
|
|
||||||
//TODO: Initialize PostFilter
|
//TODO: Initialize PostFilter
|
||||||
postFilter = new PostFilter();
|
postFilter = getArguments().getParcelable(EXTRA_FILTER);
|
||||||
|
if (postFilter == null) {
|
||||||
|
postFilter = new PostFilter();
|
||||||
|
}
|
||||||
|
|
||||||
int filter = getArguments().getInt(EXTRA_FILTER);
|
|
||||||
String accessToken = getArguments().getString(EXTRA_ACCESS_TOKEN);
|
String accessToken = getArguments().getString(EXTRA_ACCESS_TOKEN);
|
||||||
accountName = getArguments().getString(EXTRA_ACCOUNT_NAME);
|
accountName = getArguments().getString(EXTRA_ACCOUNT_NAME);
|
||||||
postFilter.allowNSFW = mNsfwAndSpoilerSharedPreferences.getBoolean((accountName == null ? "" : accountName) + SharedPreferencesUtils.NSFW_BASE, false);
|
postFilter.allowNSFW = mNsfwAndSpoilerSharedPreferences.getBoolean((accountName == null ? "" : accountName) + SharedPreferencesUtils.NSFW_BASE, false);
|
||||||
@ -692,7 +693,7 @@ public class PostFragment extends Fragment implements FragmentCommunicator {
|
|||||||
if (accountName != null && !accountName.equals("")) {
|
if (accountName != null && !accountName.equals("")) {
|
||||||
if (readPosts == null) {
|
if (readPosts == null) {
|
||||||
if (getArguments().getBoolean(EXTRA_DISABLE_READ_POSTS, false)) {
|
if (getArguments().getBoolean(EXTRA_DISABLE_READ_POSTS, false)) {
|
||||||
initializeAndBindPostViewModel(accessToken, locale, filter);
|
initializeAndBindPostViewModel(accessToken, locale);
|
||||||
} else {
|
} else {
|
||||||
FetchReadPosts.fetchReadPosts(mRedditDataRoomDatabase, accountName,
|
FetchReadPosts.fetchReadPosts(mRedditDataRoomDatabase, accountName,
|
||||||
postType == PostDataSource.TYPE_SUBREDDIT && subredditName != null && (subredditName.equals("all") || subredditName.equals("popular")),
|
postType == PostDataSource.TYPE_SUBREDDIT && subredditName != null && (subredditName.equals("all") || subredditName.equals("popular")),
|
||||||
@ -700,15 +701,15 @@ public class PostFragment extends Fragment implements FragmentCommunicator {
|
|||||||
if (activity != null && !activity.isFinishing() && !activity.isDestroyed()) {
|
if (activity != null && !activity.isFinishing() && !activity.isDestroyed()) {
|
||||||
this.readPosts = readPosts;
|
this.readPosts = readPosts;
|
||||||
this.subredditFilterList = subredditFilters;
|
this.subredditFilterList = subredditFilters;
|
||||||
initializeAndBindPostViewModel(accessToken, locale, filter);
|
initializeAndBindPostViewModel(accessToken, locale);
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
initializeAndBindPostViewModel(accessToken, locale, filter);
|
initializeAndBindPostViewModel(accessToken, locale);
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
initializeAndBindPostViewModelForAnonymous(accessToken, locale, filter);
|
initializeAndBindPostViewModelForAnonymous(accessToken, locale);
|
||||||
}
|
}
|
||||||
|
|
||||||
vibrateWhenActionTriggered = mSharedPreferences.getBoolean(SharedPreferencesUtils.VIBRATE_WHEN_ACTION_TRIGGERED, true);
|
vibrateWhenActionTriggered = mSharedPreferences.getBoolean(SharedPreferencesUtils.VIBRATE_WHEN_ACTION_TRIGGERED, true);
|
||||||
@ -820,57 +821,57 @@ public class PostFragment extends Fragment implements FragmentCommunicator {
|
|||||||
return rootView;
|
return rootView;
|
||||||
}
|
}
|
||||||
|
|
||||||
private void initializeAndBindPostViewModel(String accessToken, Locale locale, int filter) {
|
private void initializeAndBindPostViewModel(String accessToken, Locale locale) {
|
||||||
if (postType == PostDataSource.TYPE_SEARCH) {
|
if (postType == PostDataSource.TYPE_SEARCH) {
|
||||||
mPostViewModel = new ViewModelProvider(PostFragment.this, new PostViewModel.Factory(accessToken == null ? mRetrofit : mOauthRetrofit, accessToken,
|
mPostViewModel = new ViewModelProvider(PostFragment.this, new PostViewModel.Factory(accessToken == null ? mRetrofit : mOauthRetrofit, accessToken,
|
||||||
accountName, locale, mSharedPreferences,
|
accountName, locale, mSharedPreferences,
|
||||||
postFeedScrolledPositionSharedPreferences, subredditName, query, postType, sortType,
|
postFeedScrolledPositionSharedPreferences, subredditName, query, postType, sortType,
|
||||||
postFilter, filter, readPosts)).get(PostViewModel.class);
|
postFilter, readPosts)).get(PostViewModel.class);
|
||||||
} else if (postType == PostDataSource.TYPE_SUBREDDIT) {
|
} else if (postType == PostDataSource.TYPE_SUBREDDIT) {
|
||||||
if (subredditName.equals("all") || subredditName.equals("popular")) {
|
if (subredditName.equals("all") || subredditName.equals("popular")) {
|
||||||
mPostViewModel = new ViewModelProvider(PostFragment.this, new PostViewModel.Factory(accessToken == null ? mRetrofit : mOauthRetrofit, accessToken,
|
mPostViewModel = new ViewModelProvider(PostFragment.this, new PostViewModel.Factory(accessToken == null ? mRetrofit : mOauthRetrofit, accessToken,
|
||||||
accountName, locale, mSharedPreferences,
|
accountName, locale, mSharedPreferences,
|
||||||
postFeedScrolledPositionSharedPreferences, subredditName, postType, sortType,
|
postFeedScrolledPositionSharedPreferences, subredditName, postType, sortType,
|
||||||
postFilter, filter, readPosts, subredditFilterList)).get(PostViewModel.class);
|
postFilter, readPosts, subredditFilterList)).get(PostViewModel.class);
|
||||||
} else {
|
} else {
|
||||||
mPostViewModel = new ViewModelProvider(PostFragment.this, new PostViewModel.Factory(accessToken == null ? mRetrofit : mOauthRetrofit, accessToken,
|
mPostViewModel = new ViewModelProvider(PostFragment.this, new PostViewModel.Factory(accessToken == null ? mRetrofit : mOauthRetrofit, accessToken,
|
||||||
accountName, locale, mSharedPreferences,
|
accountName, locale, mSharedPreferences,
|
||||||
postFeedScrolledPositionSharedPreferences, subredditName, postType, sortType,
|
postFeedScrolledPositionSharedPreferences, subredditName, postType, sortType,
|
||||||
postFilter, filter, readPosts)).get(PostViewModel.class);
|
postFilter, readPosts)).get(PostViewModel.class);
|
||||||
}
|
}
|
||||||
} else if (postType == PostDataSource.TYPE_MULTI_REDDIT) {
|
} else if (postType == PostDataSource.TYPE_MULTI_REDDIT) {
|
||||||
mPostViewModel = new ViewModelProvider(PostFragment.this, new PostViewModel.Factory(accessToken == null ? mRetrofit : mOauthRetrofit, accessToken,
|
mPostViewModel = new ViewModelProvider(PostFragment.this, new PostViewModel.Factory(accessToken == null ? mRetrofit : mOauthRetrofit, accessToken,
|
||||||
accountName, locale, mSharedPreferences,
|
accountName, locale, mSharedPreferences,
|
||||||
postFeedScrolledPositionSharedPreferences, multiRedditPath, postType, sortType,
|
postFeedScrolledPositionSharedPreferences, multiRedditPath, postType, sortType,
|
||||||
postFilter, filter, readPosts)).get(PostViewModel.class);
|
postFilter, readPosts)).get(PostViewModel.class);
|
||||||
} else if (postType == PostDataSource.TYPE_USER) {
|
} else if (postType == PostDataSource.TYPE_USER) {
|
||||||
mPostViewModel = new ViewModelProvider(PostFragment.this, new PostViewModel.Factory(accessToken == null ? mRetrofit : mOauthRetrofit, accessToken,
|
mPostViewModel = new ViewModelProvider(PostFragment.this, new PostViewModel.Factory(accessToken == null ? mRetrofit : mOauthRetrofit, accessToken,
|
||||||
accountName, locale, mSharedPreferences,
|
accountName, locale, mSharedPreferences,
|
||||||
postFeedScrolledPositionSharedPreferences, username, postType, sortType, postFilter,
|
postFeedScrolledPositionSharedPreferences, username, postType, sortType, postFilter,
|
||||||
where, filter, readPosts)).get(PostViewModel.class);
|
where, readPosts)).get(PostViewModel.class);
|
||||||
} else {
|
} else {
|
||||||
mPostViewModel = new ViewModelProvider(PostFragment.this, new PostViewModel.Factory(mOauthRetrofit, accessToken,
|
mPostViewModel = new ViewModelProvider(PostFragment.this, new PostViewModel.Factory(mOauthRetrofit, accessToken,
|
||||||
accountName, locale, mSharedPreferences, postFeedScrolledPositionSharedPreferences,
|
accountName, locale, mSharedPreferences, postFeedScrolledPositionSharedPreferences,
|
||||||
postType, sortType, postFilter, filter, readPosts)).get(PostViewModel.class);
|
postType, sortType, postFilter, readPosts)).get(PostViewModel.class);
|
||||||
}
|
}
|
||||||
|
|
||||||
bindPostViewModel();
|
bindPostViewModel();
|
||||||
}
|
}
|
||||||
|
|
||||||
private void initializeAndBindPostViewModelForAnonymous(String accessToken, Locale locale, int filter) {
|
private void initializeAndBindPostViewModelForAnonymous(String accessToken, Locale locale) {
|
||||||
//For anonymous user
|
//For anonymous user
|
||||||
if (postType == PostDataSource.TYPE_SEARCH) {
|
if (postType == PostDataSource.TYPE_SEARCH) {
|
||||||
mPostViewModel = new ViewModelProvider(PostFragment.this, new PostViewModel.Factory(accessToken == null ? mRetrofit : mOauthRetrofit, accessToken,
|
mPostViewModel = new ViewModelProvider(PostFragment.this, new PostViewModel.Factory(accessToken == null ? mRetrofit : mOauthRetrofit, accessToken,
|
||||||
accountName, locale, mSharedPreferences,
|
accountName, locale, mSharedPreferences,
|
||||||
postFeedScrolledPositionSharedPreferences, subredditName, query, postType, sortType,
|
postFeedScrolledPositionSharedPreferences, subredditName, query, postType, sortType,
|
||||||
postFilter, filter, readPosts)).get(PostViewModel.class);
|
postFilter, readPosts)).get(PostViewModel.class);
|
||||||
} else if (postType == PostDataSource.TYPE_SUBREDDIT) {
|
} else if (postType == PostDataSource.TYPE_SUBREDDIT) {
|
||||||
if (subredditName.equals("all") || subredditName.equals("popular")) {
|
if (subredditName.equals("all") || subredditName.equals("popular")) {
|
||||||
if (subredditFilterList != null) {
|
if (subredditFilterList != null) {
|
||||||
mPostViewModel = new ViewModelProvider(this, new PostViewModel.Factory(accessToken == null ? mRetrofit : mOauthRetrofit, accessToken,
|
mPostViewModel = new ViewModelProvider(this, new PostViewModel.Factory(accessToken == null ? mRetrofit : mOauthRetrofit, accessToken,
|
||||||
accountName, locale, mSharedPreferences,
|
accountName, locale, mSharedPreferences,
|
||||||
postFeedScrolledPositionSharedPreferences, subredditName, postType, sortType,
|
postFeedScrolledPositionSharedPreferences, subredditName, postType, sortType,
|
||||||
postFilter, filter, readPosts, subredditFilterList)).get(PostViewModel.class);
|
postFilter, readPosts, subredditFilterList)).get(PostViewModel.class);
|
||||||
} else {
|
} else {
|
||||||
FetchSubredditFilters.fetchSubredditFilters(mRedditDataRoomDatabase, subredditFilters -> {
|
FetchSubredditFilters.fetchSubredditFilters(mRedditDataRoomDatabase, subredditFilters -> {
|
||||||
if (activity != null && !activity.isFinishing() && !activity.isDestroyed()) {
|
if (activity != null && !activity.isFinishing() && !activity.isDestroyed()) {
|
||||||
@ -878,7 +879,7 @@ public class PostFragment extends Fragment implements FragmentCommunicator {
|
|||||||
mPostViewModel = new ViewModelProvider(PostFragment.this, new PostViewModel.Factory(accessToken == null ? mRetrofit : mOauthRetrofit, accessToken,
|
mPostViewModel = new ViewModelProvider(PostFragment.this, new PostViewModel.Factory(accessToken == null ? mRetrofit : mOauthRetrofit, accessToken,
|
||||||
accountName, locale, mSharedPreferences,
|
accountName, locale, mSharedPreferences,
|
||||||
postFeedScrolledPositionSharedPreferences, subredditName, postType,
|
postFeedScrolledPositionSharedPreferences, subredditName, postType,
|
||||||
sortType, postFilter, filter, readPosts, subredditFilterList)).get(PostViewModel.class);
|
sortType, postFilter, readPosts, subredditFilterList)).get(PostViewModel.class);
|
||||||
|
|
||||||
bindPostViewModel();
|
bindPostViewModel();
|
||||||
}
|
}
|
||||||
@ -888,22 +889,22 @@ public class PostFragment extends Fragment implements FragmentCommunicator {
|
|||||||
mPostViewModel = new ViewModelProvider(PostFragment.this, new PostViewModel.Factory(accessToken == null ? mRetrofit : mOauthRetrofit, accessToken,
|
mPostViewModel = new ViewModelProvider(PostFragment.this, new PostViewModel.Factory(accessToken == null ? mRetrofit : mOauthRetrofit, accessToken,
|
||||||
accountName, locale, mSharedPreferences,
|
accountName, locale, mSharedPreferences,
|
||||||
postFeedScrolledPositionSharedPreferences, subredditName, postType, sortType, postFilter,
|
postFeedScrolledPositionSharedPreferences, subredditName, postType, sortType, postFilter,
|
||||||
filter, readPosts)).get(PostViewModel.class);
|
readPosts)).get(PostViewModel.class);
|
||||||
}
|
}
|
||||||
} else if (postType == PostDataSource.TYPE_MULTI_REDDIT) {
|
} else if (postType == PostDataSource.TYPE_MULTI_REDDIT) {
|
||||||
mPostViewModel = new ViewModelProvider(PostFragment.this, new PostViewModel.Factory(accessToken == null ? mRetrofit : mOauthRetrofit, accessToken,
|
mPostViewModel = new ViewModelProvider(PostFragment.this, new PostViewModel.Factory(accessToken == null ? mRetrofit : mOauthRetrofit, accessToken,
|
||||||
accountName, locale, mSharedPreferences,
|
accountName, locale, mSharedPreferences,
|
||||||
postFeedScrolledPositionSharedPreferences, multiRedditPath, postType, sortType, postFilter,
|
postFeedScrolledPositionSharedPreferences, multiRedditPath, postType, sortType, postFilter,
|
||||||
filter, readPosts)).get(PostViewModel.class);
|
readPosts)).get(PostViewModel.class);
|
||||||
} else if (postType == PostDataSource.TYPE_USER) {
|
} else if (postType == PostDataSource.TYPE_USER) {
|
||||||
mPostViewModel = new ViewModelProvider(PostFragment.this, new PostViewModel.Factory(accessToken == null ? mRetrofit : mOauthRetrofit, accessToken,
|
mPostViewModel = new ViewModelProvider(PostFragment.this, new PostViewModel.Factory(accessToken == null ? mRetrofit : mOauthRetrofit, accessToken,
|
||||||
accountName, locale, mSharedPreferences,
|
accountName, locale, mSharedPreferences,
|
||||||
postFeedScrolledPositionSharedPreferences, username, postType, sortType, postFilter,
|
postFeedScrolledPositionSharedPreferences, username, postType, sortType, postFilter,
|
||||||
where, filter, readPosts)).get(PostViewModel.class);
|
where, readPosts)).get(PostViewModel.class);
|
||||||
} else {
|
} else {
|
||||||
mPostViewModel = new ViewModelProvider(PostFragment.this, new PostViewModel.Factory(mOauthRetrofit, accessToken,
|
mPostViewModel = new ViewModelProvider(PostFragment.this, new PostViewModel.Factory(mOauthRetrofit, accessToken,
|
||||||
accountName, locale, mSharedPreferences, postFeedScrolledPositionSharedPreferences,
|
accountName, locale, mSharedPreferences, postFeedScrolledPositionSharedPreferences,
|
||||||
postType, sortType, postFilter, filter, readPosts)).get(PostViewModel.class);
|
postType, sortType, postFilter, readPosts)).get(PostViewModel.class);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (mPostViewModel != null) {
|
if (mPostViewModel != null) {
|
||||||
@ -1202,6 +1203,13 @@ public class PostFragment extends Fragment implements FragmentCommunicator {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void changePostFilter(PostFilter postFilter) {
|
||||||
|
if (mPostViewModel != null) {
|
||||||
|
mPostViewModel.changePostFilter(postFilter);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
@Subscribe
|
@Subscribe
|
||||||
public void onPostUpdateEvent(PostUpdateEventToPostList event) {
|
public void onPostUpdateEvent(PostUpdateEventToPostList event) {
|
||||||
PagedList<Post> posts = mAdapter.getCurrentList();
|
PagedList<Post> posts = mAdapter.getCurrentList();
|
||||||
|
@ -14,7 +14,6 @@ import java.util.LinkedHashSet;
|
|||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
import ml.docilealligator.infinityforreddit.PostFilter;
|
import ml.docilealligator.infinityforreddit.PostFilter;
|
||||||
import ml.docilealligator.infinityforreddit.fragments.PostFragment;
|
|
||||||
import ml.docilealligator.infinityforreddit.readpost.ReadPost;
|
import ml.docilealligator.infinityforreddit.readpost.ReadPost;
|
||||||
import ml.docilealligator.infinityforreddit.subredditfilter.SubredditFilter;
|
import ml.docilealligator.infinityforreddit.subredditfilter.SubredditFilter;
|
||||||
import ml.docilealligator.infinityforreddit.utils.JSONUtils;
|
import ml.docilealligator.infinityforreddit.utils.JSONUtils;
|
||||||
@ -25,14 +24,14 @@ import ml.docilealligator.infinityforreddit.utils.Utils;
|
|||||||
*/
|
*/
|
||||||
|
|
||||||
public class ParsePost {
|
public class ParsePost {
|
||||||
public static void parsePosts(String response, int nPosts, int filter, PostFilter postFilter, List<ReadPost> readPostList,
|
public static void parsePosts(String response, int nPosts, PostFilter postFilter, List<ReadPost> readPostList,
|
||||||
ParsePostsListingListener parsePostsListingListener) {
|
ParsePostsListingListener parsePostsListingListener) {
|
||||||
new ParsePostDataAsyncTask(response, nPosts, filter, postFilter, readPostList, parsePostsListingListener).execute();
|
new ParsePostDataAsyncTask(response, nPosts, postFilter, readPostList, parsePostsListingListener).execute();
|
||||||
}
|
}
|
||||||
|
|
||||||
public static void parsePosts(String response, int nPosts, int filter, PostFilter postFilter, List<ReadPost> readPostList,
|
public static void parsePosts(String response, int nPosts, PostFilter postFilter, List<ReadPost> readPostList,
|
||||||
List<SubredditFilter> subredditFilterList, ParsePostsListingListener parsePostsListingListener) {
|
List<SubredditFilter> subredditFilterList, ParsePostsListingListener parsePostsListingListener) {
|
||||||
new ParsePostDataAsyncTask(response, nPosts, filter, postFilter, readPostList, subredditFilterList, parsePostsListingListener).execute();
|
new ParsePostDataAsyncTask(response, nPosts, postFilter, readPostList, subredditFilterList, parsePostsListingListener).execute();
|
||||||
}
|
}
|
||||||
|
|
||||||
public static void parsePost(String response, ParsePostListener parsePostListener) {
|
public static void parsePost(String response, ParsePostListener parsePostListener) {
|
||||||
@ -493,7 +492,6 @@ public class ParsePost {
|
|||||||
private static class ParsePostDataAsyncTask extends AsyncTask<Void, Void, Void> {
|
private static class ParsePostDataAsyncTask extends AsyncTask<Void, Void, Void> {
|
||||||
private JSONArray allData;
|
private JSONArray allData;
|
||||||
private int nPosts;
|
private int nPosts;
|
||||||
private int filter;
|
|
||||||
private PostFilter postFilter;
|
private PostFilter postFilter;
|
||||||
private List<ReadPost> readPostList;
|
private List<ReadPost> readPostList;
|
||||||
private List<SubredditFilter> subredditFilterList;
|
private List<SubredditFilter> subredditFilterList;
|
||||||
@ -504,7 +502,7 @@ public class ParsePost {
|
|||||||
private String lastItem;
|
private String lastItem;
|
||||||
private boolean parseFailed;
|
private boolean parseFailed;
|
||||||
|
|
||||||
ParsePostDataAsyncTask(String response, int nPosts, int filter, PostFilter postFilter, List<ReadPost> readPostList,
|
ParsePostDataAsyncTask(String response, int nPosts, PostFilter postFilter, List<ReadPost> readPostList,
|
||||||
ParsePostsListingListener parsePostsListingListener) {
|
ParsePostsListingListener parsePostsListingListener) {
|
||||||
this.parsePostsListingListener = parsePostsListingListener;
|
this.parsePostsListingListener = parsePostsListingListener;
|
||||||
try {
|
try {
|
||||||
@ -512,7 +510,6 @@ public class ParsePost {
|
|||||||
allData = jsonResponse.getJSONObject(JSONUtils.DATA_KEY).getJSONArray(JSONUtils.CHILDREN_KEY);
|
allData = jsonResponse.getJSONObject(JSONUtils.DATA_KEY).getJSONArray(JSONUtils.CHILDREN_KEY);
|
||||||
lastItem = jsonResponse.getJSONObject(JSONUtils.DATA_KEY).getString(JSONUtils.AFTER_KEY);
|
lastItem = jsonResponse.getJSONObject(JSONUtils.DATA_KEY).getString(JSONUtils.AFTER_KEY);
|
||||||
this.nPosts = nPosts;
|
this.nPosts = nPosts;
|
||||||
this.filter = filter;
|
|
||||||
this.postFilter = postFilter;
|
this.postFilter = postFilter;
|
||||||
this.readPostList = readPostList;
|
this.readPostList = readPostList;
|
||||||
newPosts = new LinkedHashSet<>();
|
newPosts = new LinkedHashSet<>();
|
||||||
@ -523,9 +520,9 @@ public class ParsePost {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
ParsePostDataAsyncTask(String response, int nPosts, int filter, PostFilter postFilter, List<ReadPost> readPostList,
|
ParsePostDataAsyncTask(String response, int nPosts, PostFilter postFilter, List<ReadPost> readPostList,
|
||||||
List<SubredditFilter> subredditFilterList, ParsePostsListingListener parsePostsListingListener) {
|
List<SubredditFilter> subredditFilterList, ParsePostsListingListener parsePostsListingListener) {
|
||||||
this(response, nPosts, filter, postFilter, readPostList, parsePostsListingListener);
|
this(response, nPosts, postFilter, readPostList, parsePostsListingListener);
|
||||||
this.subredditFilterList = subredditFilterList;
|
this.subredditFilterList = subredditFilterList;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -592,16 +589,8 @@ public class ParsePost {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if (availablePost && !(!postFilter.allowNSFW && post.isNSFW())) {
|
if (availablePost && PostFilter.isPostAllowed(post, postFilter)) {
|
||||||
if (filter == PostFragment.EXTRA_NO_FILTER) {
|
newPosts.add(post);
|
||||||
newPosts.add(post);
|
|
||||||
} else if (filter == post.getPostType()) {
|
|
||||||
newPosts.add(post);
|
|
||||||
} else if (filter == Post.LINK_TYPE && post.getPostType() == Post.NO_PREVIEW_LINK_TYPE) {
|
|
||||||
newPosts.add(post);
|
|
||||||
} else if (filter == Post.NSFW_TYPE && post.isNSFW()) {
|
|
||||||
newPosts.add(post);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
} catch (JSONException e) {
|
} catch (JSONException e) {
|
||||||
|
@ -359,7 +359,7 @@ public class Post implements Parcelable {
|
|||||||
awards += newAwardsHTML;
|
awards += newAwardsHTML;
|
||||||
}
|
}
|
||||||
|
|
||||||
public int getnAwards() {
|
public int getNAwards() {
|
||||||
return nAwards;
|
return nAwards;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -49,7 +49,6 @@ public class PostDataSource extends PageKeyedDataSource<String, Post> {
|
|||||||
private int postType;
|
private int postType;
|
||||||
private SortType sortType;
|
private SortType sortType;
|
||||||
private PostFilter postFilter;
|
private PostFilter postFilter;
|
||||||
private int filter;
|
|
||||||
private List<ReadPost> readPostList;
|
private List<ReadPost> readPostList;
|
||||||
private List<SubredditFilter> subredditFilterList;
|
private List<SubredditFilter> subredditFilterList;
|
||||||
private String userWhere;
|
private String userWhere;
|
||||||
@ -66,7 +65,7 @@ public class PostDataSource extends PageKeyedDataSource<String, Post> {
|
|||||||
PostDataSource(Retrofit retrofit, String accessToken, String accountName, Locale locale,
|
PostDataSource(Retrofit retrofit, String accessToken, String accountName, Locale locale,
|
||||||
SharedPreferences sharedPreferences,
|
SharedPreferences sharedPreferences,
|
||||||
SharedPreferences postFeedScrolledPositionSharedPreferences, int postType,
|
SharedPreferences postFeedScrolledPositionSharedPreferences, int postType,
|
||||||
SortType sortType, PostFilter postFilter, int filter, List<ReadPost> readPostList) {
|
SortType sortType, PostFilter postFilter, List<ReadPost> readPostList) {
|
||||||
this.retrofit = retrofit;
|
this.retrofit = retrofit;
|
||||||
this.accessToken = accessToken;
|
this.accessToken = accessToken;
|
||||||
this.accountName = accountName;
|
this.accountName = accountName;
|
||||||
@ -79,14 +78,13 @@ public class PostDataSource extends PageKeyedDataSource<String, Post> {
|
|||||||
this.postType = postType;
|
this.postType = postType;
|
||||||
this.sortType = sortType == null ? new SortType(SortType.Type.BEST) : sortType;
|
this.sortType = sortType == null ? new SortType(SortType.Type.BEST) : sortType;
|
||||||
this.postFilter = postFilter;
|
this.postFilter = postFilter;
|
||||||
this.filter = filter;
|
|
||||||
this.readPostList = readPostList;
|
this.readPostList = readPostList;
|
||||||
postLinkedHashSet = new LinkedHashSet<>();
|
postLinkedHashSet = new LinkedHashSet<>();
|
||||||
}
|
}
|
||||||
|
|
||||||
PostDataSource(Retrofit retrofit, String accessToken, String accountName, Locale locale,
|
PostDataSource(Retrofit retrofit, String accessToken, String accountName, Locale locale,
|
||||||
SharedPreferences sharedPreferences, SharedPreferences postFeedScrolledPositionSharedPreferences,
|
SharedPreferences sharedPreferences, SharedPreferences postFeedScrolledPositionSharedPreferences,
|
||||||
String path, int postType, SortType sortType, PostFilter postFilter, int filter,
|
String path, int postType, SortType sortType, PostFilter postFilter,
|
||||||
List<ReadPost> readPostList, List<SubredditFilter> subredditFilterList) {
|
List<ReadPost> readPostList, List<SubredditFilter> subredditFilterList) {
|
||||||
this.retrofit = retrofit;
|
this.retrofit = retrofit;
|
||||||
this.accessToken = accessToken;
|
this.accessToken = accessToken;
|
||||||
@ -121,7 +119,6 @@ public class PostDataSource extends PageKeyedDataSource<String, Post> {
|
|||||||
this.sortType = sortType;
|
this.sortType = sortType;
|
||||||
}
|
}
|
||||||
this.postFilter = postFilter;
|
this.postFilter = postFilter;
|
||||||
this.filter = filter;
|
|
||||||
this.readPostList = readPostList;
|
this.readPostList = readPostList;
|
||||||
this.subredditFilterList = subredditFilterList;
|
this.subredditFilterList = subredditFilterList;
|
||||||
postLinkedHashSet = new LinkedHashSet<>();
|
postLinkedHashSet = new LinkedHashSet<>();
|
||||||
@ -130,7 +127,7 @@ public class PostDataSource extends PageKeyedDataSource<String, Post> {
|
|||||||
PostDataSource(Retrofit retrofit, String accessToken, String accountName, Locale locale,
|
PostDataSource(Retrofit retrofit, String accessToken, String accountName, Locale locale,
|
||||||
SharedPreferences sharedPreferences, SharedPreferences postFeedScrolledPositionSharedPreferences,
|
SharedPreferences sharedPreferences, SharedPreferences postFeedScrolledPositionSharedPreferences,
|
||||||
String subredditOrUserName, int postType, SortType sortType, PostFilter postFilter,
|
String subredditOrUserName, int postType, SortType sortType, PostFilter postFilter,
|
||||||
String where, int filter, List<ReadPost> readPostList) {
|
String where, List<ReadPost> readPostList) {
|
||||||
this.retrofit = retrofit;
|
this.retrofit = retrofit;
|
||||||
this.accessToken = accessToken;
|
this.accessToken = accessToken;
|
||||||
this.accountName = accountName;
|
this.accountName = accountName;
|
||||||
@ -145,7 +142,6 @@ public class PostDataSource extends PageKeyedDataSource<String, Post> {
|
|||||||
this.sortType = sortType == null ? new SortType(SortType.Type.NEW) : sortType;
|
this.sortType = sortType == null ? new SortType(SortType.Type.NEW) : sortType;
|
||||||
this.postFilter = postFilter;
|
this.postFilter = postFilter;
|
||||||
userWhere = where;
|
userWhere = where;
|
||||||
this.filter = filter;
|
|
||||||
this.readPostList = readPostList;
|
this.readPostList = readPostList;
|
||||||
postLinkedHashSet = new LinkedHashSet<>();
|
postLinkedHashSet = new LinkedHashSet<>();
|
||||||
}
|
}
|
||||||
@ -153,7 +149,7 @@ public class PostDataSource extends PageKeyedDataSource<String, Post> {
|
|||||||
PostDataSource(Retrofit retrofit, String accessToken, String accountName, Locale locale,
|
PostDataSource(Retrofit retrofit, String accessToken, String accountName, Locale locale,
|
||||||
SharedPreferences sharedPreferences, SharedPreferences postFeedScrolledPositionSharedPreferences,
|
SharedPreferences sharedPreferences, SharedPreferences postFeedScrolledPositionSharedPreferences,
|
||||||
String subredditOrUserName, String query, int postType, SortType sortType, PostFilter postFilter,
|
String subredditOrUserName, String query, int postType, SortType sortType, PostFilter postFilter,
|
||||||
int filter, List<ReadPost> readPostList) {
|
List<ReadPost> readPostList) {
|
||||||
this.retrofit = retrofit;
|
this.retrofit = retrofit;
|
||||||
this.accessToken = accessToken;
|
this.accessToken = accessToken;
|
||||||
this.accountName = accountName;
|
this.accountName = accountName;
|
||||||
@ -168,7 +164,6 @@ public class PostDataSource extends PageKeyedDataSource<String, Post> {
|
|||||||
this.postType = postType;
|
this.postType = postType;
|
||||||
this.sortType = sortType == null ? new SortType(SortType.Type.RELEVANCE) : sortType;
|
this.sortType = sortType == null ? new SortType(SortType.Type.RELEVANCE) : sortType;
|
||||||
this.postFilter = postFilter;
|
this.postFilter = postFilter;
|
||||||
this.filter = filter;
|
|
||||||
postLinkedHashSet = new LinkedHashSet<>();
|
postLinkedHashSet = new LinkedHashSet<>();
|
||||||
this.readPostList = readPostList;
|
this.readPostList = readPostList;
|
||||||
}
|
}
|
||||||
@ -261,7 +256,7 @@ public class PostDataSource extends PageKeyedDataSource<String, Post> {
|
|||||||
@Override
|
@Override
|
||||||
public void onResponse(@NonNull Call<String> call, @NonNull retrofit2.Response<String> response) {
|
public void onResponse(@NonNull Call<String> call, @NonNull retrofit2.Response<String> response) {
|
||||||
if (response.isSuccessful()) {
|
if (response.isSuccessful()) {
|
||||||
ParsePost.parsePosts(response.body(), -1, filter, postFilter, readPostList,
|
ParsePost.parsePosts(response.body(), -1, postFilter, readPostList,
|
||||||
new ParsePost.ParsePostsListingListener() {
|
new ParsePost.ParsePostsListingListener() {
|
||||||
@Override
|
@Override
|
||||||
public void onParsePostsListingSuccess(LinkedHashSet<Post> newPosts, String lastItem) {
|
public void onParsePostsListingSuccess(LinkedHashSet<Post> newPosts, String lastItem) {
|
||||||
@ -324,7 +319,7 @@ public class PostDataSource extends PageKeyedDataSource<String, Post> {
|
|||||||
@Override
|
@Override
|
||||||
public void onResponse(@NonNull Call<String> call, @NonNull retrofit2.Response<String> response) {
|
public void onResponse(@NonNull Call<String> call, @NonNull retrofit2.Response<String> response) {
|
||||||
if (response.isSuccessful()) {
|
if (response.isSuccessful()) {
|
||||||
ParsePost.parsePosts(response.body(), -1, filter, postFilter, readPostList,
|
ParsePost.parsePosts(response.body(), -1, postFilter, readPostList,
|
||||||
new ParsePost.ParsePostsListingListener() {
|
new ParsePost.ParsePostsListingListener() {
|
||||||
@Override
|
@Override
|
||||||
public void onParsePostsListingSuccess(LinkedHashSet<Post> newPosts, String lastItem) {
|
public void onParsePostsListingSuccess(LinkedHashSet<Post> newPosts, String lastItem) {
|
||||||
@ -384,7 +379,7 @@ public class PostDataSource extends PageKeyedDataSource<String, Post> {
|
|||||||
@Override
|
@Override
|
||||||
public void onResponse(@NonNull Call<String> call, @NonNull retrofit2.Response<String> response) {
|
public void onResponse(@NonNull Call<String> call, @NonNull retrofit2.Response<String> response) {
|
||||||
if (response.isSuccessful()) {
|
if (response.isSuccessful()) {
|
||||||
ParsePost.parsePosts(response.body(), -1, filter, postFilter, readPostList, subredditFilterList,
|
ParsePost.parsePosts(response.body(), -1, postFilter, readPostList, subredditFilterList,
|
||||||
new ParsePost.ParsePostsListingListener() {
|
new ParsePost.ParsePostsListingListener() {
|
||||||
@Override
|
@Override
|
||||||
public void onParsePostsListingSuccess(LinkedHashSet<Post> newPosts, String lastItem) {
|
public void onParsePostsListingSuccess(LinkedHashSet<Post> newPosts, String lastItem) {
|
||||||
@ -458,7 +453,7 @@ public class PostDataSource extends PageKeyedDataSource<String, Post> {
|
|||||||
@Override
|
@Override
|
||||||
public void onResponse(@NonNull Call<String> call, @NonNull retrofit2.Response<String> response) {
|
public void onResponse(@NonNull Call<String> call, @NonNull retrofit2.Response<String> response) {
|
||||||
if (response.isSuccessful()) {
|
if (response.isSuccessful()) {
|
||||||
ParsePost.parsePosts(response.body(), -1, filter, postFilter, readPostList, subredditFilterList,
|
ParsePost.parsePosts(response.body(), -1, postFilter, readPostList, subredditFilterList,
|
||||||
new ParsePost.ParsePostsListingListener() {
|
new ParsePost.ParsePostsListingListener() {
|
||||||
@Override
|
@Override
|
||||||
public void onParsePostsListingSuccess(LinkedHashSet<Post> newPosts, String lastItem) {
|
public void onParsePostsListingSuccess(LinkedHashSet<Post> newPosts, String lastItem) {
|
||||||
@ -519,7 +514,7 @@ public class PostDataSource extends PageKeyedDataSource<String, Post> {
|
|||||||
@Override
|
@Override
|
||||||
public void onResponse(@NonNull Call<String> call, @NonNull retrofit2.Response<String> response) {
|
public void onResponse(@NonNull Call<String> call, @NonNull retrofit2.Response<String> response) {
|
||||||
if (response.isSuccessful()) {
|
if (response.isSuccessful()) {
|
||||||
ParsePost.parsePosts(response.body(), -1, filter, postFilter, readPostList,
|
ParsePost.parsePosts(response.body(), -1, postFilter, readPostList,
|
||||||
new ParsePost.ParsePostsListingListener() {
|
new ParsePost.ParsePostsListingListener() {
|
||||||
@Override
|
@Override
|
||||||
public void onParsePostsListingSuccess(LinkedHashSet<Post> newPosts, String lastItem) {
|
public void onParsePostsListingSuccess(LinkedHashSet<Post> newPosts, String lastItem) {
|
||||||
@ -590,7 +585,7 @@ public class PostDataSource extends PageKeyedDataSource<String, Post> {
|
|||||||
@Override
|
@Override
|
||||||
public void onResponse(@NonNull Call<String> call, @NonNull retrofit2.Response<String> response) {
|
public void onResponse(@NonNull Call<String> call, @NonNull retrofit2.Response<String> response) {
|
||||||
if (response.isSuccessful()) {
|
if (response.isSuccessful()) {
|
||||||
ParsePost.parsePosts(response.body(), -1, filter, postFilter, readPostList,
|
ParsePost.parsePosts(response.body(), -1, postFilter, readPostList,
|
||||||
new ParsePost.ParsePostsListingListener() {
|
new ParsePost.ParsePostsListingListener() {
|
||||||
@Override
|
@Override
|
||||||
public void onParsePostsListingSuccess(LinkedHashSet<Post> newPosts, String lastItem) {
|
public void onParsePostsListingSuccess(LinkedHashSet<Post> newPosts, String lastItem) {
|
||||||
@ -673,7 +668,7 @@ public class PostDataSource extends PageKeyedDataSource<String, Post> {
|
|||||||
@Override
|
@Override
|
||||||
public void onResponse(@NonNull Call<String> call, @NonNull retrofit2.Response<String> response) {
|
public void onResponse(@NonNull Call<String> call, @NonNull retrofit2.Response<String> response) {
|
||||||
if (response.isSuccessful()) {
|
if (response.isSuccessful()) {
|
||||||
ParsePost.parsePosts(response.body(), -1, filter, postFilter, readPostList,
|
ParsePost.parsePosts(response.body(), -1, postFilter, readPostList,
|
||||||
new ParsePost.ParsePostsListingListener() {
|
new ParsePost.ParsePostsListingListener() {
|
||||||
@Override
|
@Override
|
||||||
public void onParsePostsListingSuccess(LinkedHashSet<Post> newPosts, String lastItem) {
|
public void onParsePostsListingSuccess(LinkedHashSet<Post> newPosts, String lastItem) {
|
||||||
@ -764,7 +759,7 @@ public class PostDataSource extends PageKeyedDataSource<String, Post> {
|
|||||||
@Override
|
@Override
|
||||||
public void onResponse(@NonNull Call<String> call, @NonNull retrofit2.Response<String> response) {
|
public void onResponse(@NonNull Call<String> call, @NonNull retrofit2.Response<String> response) {
|
||||||
if (response.isSuccessful()) {
|
if (response.isSuccessful()) {
|
||||||
ParsePost.parsePosts(response.body(), -1, filter, postFilter, readPostList,
|
ParsePost.parsePosts(response.body(), -1, postFilter, readPostList,
|
||||||
new ParsePost.ParsePostsListingListener() {
|
new ParsePost.ParsePostsListingListener() {
|
||||||
@Override
|
@Override
|
||||||
public void onParsePostsListingSuccess(LinkedHashSet<Post> newPosts, String lastItem) {
|
public void onParsePostsListingSuccess(LinkedHashSet<Post> newPosts, String lastItem) {
|
||||||
@ -824,7 +819,7 @@ public class PostDataSource extends PageKeyedDataSource<String, Post> {
|
|||||||
@Override
|
@Override
|
||||||
public void onResponse(@NonNull Call<String> call, @NonNull retrofit2.Response<String> response) {
|
public void onResponse(@NonNull Call<String> call, @NonNull retrofit2.Response<String> response) {
|
||||||
if (response.isSuccessful()) {
|
if (response.isSuccessful()) {
|
||||||
ParsePost.parsePosts(response.body(), -1, filter, postFilter, readPostList,
|
ParsePost.parsePosts(response.body(), -1, postFilter, readPostList,
|
||||||
new ParsePost.ParsePostsListingListener() {
|
new ParsePost.ParsePostsListingListener() {
|
||||||
@Override
|
@Override
|
||||||
public void onParsePostsListingSuccess(LinkedHashSet<Post> newPosts, String lastItem) {
|
public void onParsePostsListingSuccess(LinkedHashSet<Post> newPosts, String lastItem) {
|
||||||
@ -895,7 +890,7 @@ public class PostDataSource extends PageKeyedDataSource<String, Post> {
|
|||||||
@Override
|
@Override
|
||||||
public void onResponse(@NonNull Call<String> call, @NonNull retrofit2.Response<String> response) {
|
public void onResponse(@NonNull Call<String> call, @NonNull retrofit2.Response<String> response) {
|
||||||
if (response.isSuccessful()) {
|
if (response.isSuccessful()) {
|
||||||
ParsePost.parsePosts(response.body(), -1, filter, postFilter, readPostList,
|
ParsePost.parsePosts(response.body(), -1, postFilter, readPostList,
|
||||||
new ParsePost.ParsePostsListingListener() {
|
new ParsePost.ParsePostsListingListener() {
|
||||||
@Override
|
@Override
|
||||||
public void onParsePostsListingSuccess(LinkedHashSet<Post> newPosts, String lastItem) {
|
public void onParsePostsListingSuccess(LinkedHashSet<Post> newPosts, String lastItem) {
|
||||||
|
@ -28,7 +28,6 @@ class PostDataSourceFactory extends DataSource.Factory {
|
|||||||
private SortType sortType;
|
private SortType sortType;
|
||||||
private PostFilter postFilter;
|
private PostFilter postFilter;
|
||||||
private String userWhere;
|
private String userWhere;
|
||||||
private int filter;
|
|
||||||
private List<ReadPost> readPostList;
|
private List<ReadPost> readPostList;
|
||||||
private List<SubredditFilter> subredditFilterList;
|
private List<SubredditFilter> subredditFilterList;
|
||||||
|
|
||||||
@ -38,7 +37,7 @@ class PostDataSourceFactory extends DataSource.Factory {
|
|||||||
PostDataSourceFactory(Retrofit retrofit, String accessToken, String accountName, Locale locale,
|
PostDataSourceFactory(Retrofit retrofit, String accessToken, String accountName, Locale locale,
|
||||||
SharedPreferences sharedPreferences,
|
SharedPreferences sharedPreferences,
|
||||||
SharedPreferences postFeedScrolledPositionSharedPreferences, int postType,
|
SharedPreferences postFeedScrolledPositionSharedPreferences, int postType,
|
||||||
SortType sortType, PostFilter postFilter, int filter, List<ReadPost> readPostList) {
|
SortType sortType, PostFilter postFilter, List<ReadPost> readPostList) {
|
||||||
this.retrofit = retrofit;
|
this.retrofit = retrofit;
|
||||||
this.accessToken = accessToken;
|
this.accessToken = accessToken;
|
||||||
this.accountName = accountName;
|
this.accountName = accountName;
|
||||||
@ -49,14 +48,13 @@ class PostDataSourceFactory extends DataSource.Factory {
|
|||||||
this.postType = postType;
|
this.postType = postType;
|
||||||
this.sortType = sortType;
|
this.sortType = sortType;
|
||||||
this.postFilter = postFilter;
|
this.postFilter = postFilter;
|
||||||
this.filter = filter;
|
|
||||||
this.readPostList = readPostList;
|
this.readPostList = readPostList;
|
||||||
}
|
}
|
||||||
|
|
||||||
PostDataSourceFactory(Retrofit retrofit, String accessToken, String accountName, Locale locale,
|
PostDataSourceFactory(Retrofit retrofit, String accessToken, String accountName, Locale locale,
|
||||||
SharedPreferences sharedPreferences, SharedPreferences postFeedScrolledPositionSharedPreferences,
|
SharedPreferences sharedPreferences, SharedPreferences postFeedScrolledPositionSharedPreferences,
|
||||||
String subredditName, int postType, SortType sortType, PostFilter postFilter,
|
String subredditName, int postType, SortType sortType, PostFilter postFilter,
|
||||||
int filter, List<ReadPost> readPostList, List<SubredditFilter> subredditFilterList) {
|
List<ReadPost> readPostList, List<SubredditFilter> subredditFilterList) {
|
||||||
this.retrofit = retrofit;
|
this.retrofit = retrofit;
|
||||||
this.accessToken = accessToken;
|
this.accessToken = accessToken;
|
||||||
this.accountName = accountName;
|
this.accountName = accountName;
|
||||||
@ -68,7 +66,6 @@ class PostDataSourceFactory extends DataSource.Factory {
|
|||||||
this.postType = postType;
|
this.postType = postType;
|
||||||
this.sortType = sortType;
|
this.sortType = sortType;
|
||||||
this.postFilter = postFilter;
|
this.postFilter = postFilter;
|
||||||
this.filter = filter;
|
|
||||||
this.readPostList = readPostList;
|
this.readPostList = readPostList;
|
||||||
this.subredditFilterList = subredditFilterList;
|
this.subredditFilterList = subredditFilterList;
|
||||||
}
|
}
|
||||||
@ -76,7 +73,7 @@ class PostDataSourceFactory extends DataSource.Factory {
|
|||||||
PostDataSourceFactory(Retrofit retrofit, String accessToken, String accountName, Locale locale,
|
PostDataSourceFactory(Retrofit retrofit, String accessToken, String accountName, Locale locale,
|
||||||
SharedPreferences sharedPreferences, SharedPreferences postFeedScrolledPositionSharedPreferences,
|
SharedPreferences sharedPreferences, SharedPreferences postFeedScrolledPositionSharedPreferences,
|
||||||
String subredditName, int postType, SortType sortType, PostFilter postFilter,
|
String subredditName, int postType, SortType sortType, PostFilter postFilter,
|
||||||
String where, int filter, List<ReadPost> readPostList) {
|
String where, List<ReadPost> readPostList) {
|
||||||
this.retrofit = retrofit;
|
this.retrofit = retrofit;
|
||||||
this.accessToken = accessToken;
|
this.accessToken = accessToken;
|
||||||
this.accountName = accountName;
|
this.accountName = accountName;
|
||||||
@ -89,14 +86,13 @@ class PostDataSourceFactory extends DataSource.Factory {
|
|||||||
this.sortType = sortType;
|
this.sortType = sortType;
|
||||||
this.postFilter = postFilter;
|
this.postFilter = postFilter;
|
||||||
userWhere = where;
|
userWhere = where;
|
||||||
this.filter = filter;
|
|
||||||
this.readPostList = readPostList;
|
this.readPostList = readPostList;
|
||||||
}
|
}
|
||||||
|
|
||||||
PostDataSourceFactory(Retrofit retrofit, String accessToken, String accountName, Locale locale,
|
PostDataSourceFactory(Retrofit retrofit, String accessToken, String accountName, Locale locale,
|
||||||
SharedPreferences sharedPreferences, SharedPreferences postFeedScrolledPositionSharedPreferences,
|
SharedPreferences sharedPreferences, SharedPreferences postFeedScrolledPositionSharedPreferences,
|
||||||
String subredditName, String query, int postType, SortType sortType, PostFilter postFilter,
|
String subredditName, String query, int postType, SortType sortType, PostFilter postFilter,
|
||||||
int filter, List<ReadPost> readPostList) {
|
List<ReadPost> readPostList) {
|
||||||
this.retrofit = retrofit;
|
this.retrofit = retrofit;
|
||||||
this.accessToken = accessToken;
|
this.accessToken = accessToken;
|
||||||
this.accountName = accountName;
|
this.accountName = accountName;
|
||||||
@ -109,7 +105,6 @@ class PostDataSourceFactory extends DataSource.Factory {
|
|||||||
this.postType = postType;
|
this.postType = postType;
|
||||||
this.sortType = sortType;
|
this.sortType = sortType;
|
||||||
this.postFilter = postFilter;
|
this.postFilter = postFilter;
|
||||||
this.filter = filter;
|
|
||||||
this.readPostList = readPostList;
|
this.readPostList = readPostList;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -119,19 +114,19 @@ class PostDataSourceFactory extends DataSource.Factory {
|
|||||||
if (postType == PostDataSource.TYPE_FRONT_PAGE) {
|
if (postType == PostDataSource.TYPE_FRONT_PAGE) {
|
||||||
postDataSource = new PostDataSource(retrofit, accessToken, accountName, locale,
|
postDataSource = new PostDataSource(retrofit, accessToken, accountName, locale,
|
||||||
sharedPreferences, postFeedScrolledPositionSharedPreferences, postType, sortType,
|
sharedPreferences, postFeedScrolledPositionSharedPreferences, postType, sortType,
|
||||||
postFilter, filter, readPostList);
|
postFilter, readPostList);
|
||||||
} else if (postType == PostDataSource.TYPE_SEARCH) {
|
} else if (postType == PostDataSource.TYPE_SEARCH) {
|
||||||
postDataSource = new PostDataSource(retrofit, accessToken, accountName, locale,
|
postDataSource = new PostDataSource(retrofit, accessToken, accountName, locale,
|
||||||
sharedPreferences, postFeedScrolledPositionSharedPreferences, subredditName, query,
|
sharedPreferences, postFeedScrolledPositionSharedPreferences, subredditName, query,
|
||||||
postType, sortType, postFilter, filter, readPostList);
|
postType, sortType, postFilter, readPostList);
|
||||||
} else if (postType == PostDataSource.TYPE_SUBREDDIT || postType == PostDataSource.TYPE_MULTI_REDDIT) {
|
} else if (postType == PostDataSource.TYPE_SUBREDDIT || postType == PostDataSource.TYPE_MULTI_REDDIT) {
|
||||||
postDataSource = new PostDataSource(retrofit, accessToken, accountName, locale,
|
postDataSource = new PostDataSource(retrofit, accessToken, accountName, locale,
|
||||||
sharedPreferences, postFeedScrolledPositionSharedPreferences, subredditName, postType,
|
sharedPreferences, postFeedScrolledPositionSharedPreferences, subredditName, postType,
|
||||||
sortType, postFilter, filter, readPostList, subredditFilterList);
|
sortType, postFilter, readPostList, subredditFilterList);
|
||||||
} else {
|
} else {
|
||||||
postDataSource = new PostDataSource(retrofit, accessToken, accountName, locale,
|
postDataSource = new PostDataSource(retrofit, accessToken, accountName, locale,
|
||||||
sharedPreferences, postFeedScrolledPositionSharedPreferences, subredditName, postType,
|
sharedPreferences, postFeedScrolledPositionSharedPreferences, subredditName, postType,
|
||||||
sortType, postFilter, userWhere, filter, readPostList);
|
sortType, postFilter, userWhere, readPostList);
|
||||||
}
|
}
|
||||||
|
|
||||||
postDataSourceLiveData.postValue(postDataSource);
|
postDataSourceLiveData.postValue(postDataSource);
|
||||||
|
@ -35,9 +35,9 @@ public class PostViewModel extends ViewModel {
|
|||||||
|
|
||||||
public PostViewModel(Retrofit retrofit, String accessToken, String accountName, Locale locale,
|
public PostViewModel(Retrofit retrofit, String accessToken, String accountName, Locale locale,
|
||||||
SharedPreferences sharedPreferences, SharedPreferences cache, int postType,
|
SharedPreferences sharedPreferences, SharedPreferences cache, int postType,
|
||||||
SortType sortType, PostFilter postFilter, int filter, List<ReadPost> readPostList) {
|
SortType sortType, PostFilter postFilter, List<ReadPost> readPostList) {
|
||||||
postDataSourceFactory = new PostDataSourceFactory(retrofit, accessToken, accountName, locale,
|
postDataSourceFactory = new PostDataSourceFactory(retrofit, accessToken, accountName, locale,
|
||||||
sharedPreferences, cache, postType, sortType, postFilter, filter, readPostList);
|
sharedPreferences, cache, postType, sortType, postFilter, readPostList);
|
||||||
|
|
||||||
initialLoadingState = Transformations.switchMap(postDataSourceFactory.getPostDataSourceLiveData(),
|
initialLoadingState = Transformations.switchMap(postDataSourceFactory.getPostDataSourceLiveData(),
|
||||||
PostDataSource::getInitialLoadStateLiveData);
|
PostDataSource::getInitialLoadStateLiveData);
|
||||||
@ -68,10 +68,10 @@ public class PostViewModel extends ViewModel {
|
|||||||
|
|
||||||
public PostViewModel(Retrofit retrofit, String accessToken, String accountName, Locale locale,
|
public PostViewModel(Retrofit retrofit, String accessToken, String accountName, Locale locale,
|
||||||
SharedPreferences sharedPreferences, SharedPreferences cache, String subredditName,
|
SharedPreferences sharedPreferences, SharedPreferences cache, String subredditName,
|
||||||
int postType, SortType sortType, PostFilter postFilter, int filter,
|
int postType, SortType sortType, PostFilter postFilter,
|
||||||
List<ReadPost> readPostList, List<SubredditFilter> subredditFilterList) {
|
List<ReadPost> readPostList, List<SubredditFilter> subredditFilterList) {
|
||||||
postDataSourceFactory = new PostDataSourceFactory(retrofit, accessToken, accountName, locale,
|
postDataSourceFactory = new PostDataSourceFactory(retrofit, accessToken, accountName, locale,
|
||||||
sharedPreferences, cache, subredditName, postType, sortType, postFilter, filter,
|
sharedPreferences, cache, subredditName, postType, sortType, postFilter,
|
||||||
readPostList, subredditFilterList);
|
readPostList, subredditFilterList);
|
||||||
|
|
||||||
initialLoadingState = Transformations.switchMap(postDataSourceFactory.getPostDataSourceLiveData(),
|
initialLoadingState = Transformations.switchMap(postDataSourceFactory.getPostDataSourceLiveData(),
|
||||||
@ -103,11 +103,10 @@ public class PostViewModel extends ViewModel {
|
|||||||
|
|
||||||
public PostViewModel(Retrofit retrofit, String accessToken, String accountName, Locale locale,
|
public PostViewModel(Retrofit retrofit, String accessToken, String accountName, Locale locale,
|
||||||
SharedPreferences sharedPreferences, SharedPreferences cache, String subredditName,
|
SharedPreferences sharedPreferences, SharedPreferences cache, String subredditName,
|
||||||
int postType, SortType sortType, PostFilter postFilter, String where, int filter,
|
int postType, SortType sortType, PostFilter postFilter, String where,
|
||||||
List<ReadPost> readPostList) {
|
List<ReadPost> readPostList) {
|
||||||
postDataSourceFactory = new PostDataSourceFactory(retrofit, accessToken, accountName, locale,
|
postDataSourceFactory = new PostDataSourceFactory(retrofit, accessToken, accountName, locale,
|
||||||
sharedPreferences, cache, subredditName, postType, sortType, postFilter, where, filter,
|
sharedPreferences, cache, subredditName, postType, sortType, postFilter, where, readPostList);
|
||||||
readPostList);
|
|
||||||
|
|
||||||
initialLoadingState = Transformations.switchMap(postDataSourceFactory.getPostDataSourceLiveData(),
|
initialLoadingState = Transformations.switchMap(postDataSourceFactory.getPostDataSourceLiveData(),
|
||||||
PostDataSource::getInitialLoadStateLiveData);
|
PostDataSource::getInitialLoadStateLiveData);
|
||||||
@ -138,10 +137,9 @@ public class PostViewModel extends ViewModel {
|
|||||||
|
|
||||||
public PostViewModel(Retrofit retrofit, String accessToken, String accountName, Locale locale,
|
public PostViewModel(Retrofit retrofit, String accessToken, String accountName, Locale locale,
|
||||||
SharedPreferences sharedPreferences, SharedPreferences cache, String subredditName,
|
SharedPreferences sharedPreferences, SharedPreferences cache, String subredditName,
|
||||||
String query, int postType, SortType sortType, PostFilter postFilter, int filter,
|
String query, int postType, SortType sortType, PostFilter postFilter, List<ReadPost> readPostList) {
|
||||||
List<ReadPost> readPostList) {
|
|
||||||
postDataSourceFactory = new PostDataSourceFactory(retrofit, accessToken, accountName, locale,
|
postDataSourceFactory = new PostDataSourceFactory(retrofit, accessToken, accountName, locale,
|
||||||
sharedPreferences, cache, subredditName, query, postType, sortType, postFilter, filter,
|
sharedPreferences, cache, subredditName, query, postType, sortType, postFilter,
|
||||||
readPostList);
|
readPostList);
|
||||||
|
|
||||||
initialLoadingState = Transformations.switchMap(postDataSourceFactory.getPostDataSourceLiveData(),
|
initialLoadingState = Transformations.switchMap(postDataSourceFactory.getPostDataSourceLiveData(),
|
||||||
@ -216,14 +214,12 @@ public class PostViewModel extends ViewModel {
|
|||||||
private SortType sortType;
|
private SortType sortType;
|
||||||
private PostFilter postFilter;
|
private PostFilter postFilter;
|
||||||
private String userWhere;
|
private String userWhere;
|
||||||
private int filter;
|
|
||||||
private List<ReadPost> readPostList;
|
private List<ReadPost> readPostList;
|
||||||
private List<SubredditFilter> subredditFilterList;
|
private List<SubredditFilter> subredditFilterList;
|
||||||
|
|
||||||
public Factory(Retrofit retrofit, String accessToken, String accountName, Locale locale,
|
public Factory(Retrofit retrofit, String accessToken, String accountName, Locale locale,
|
||||||
SharedPreferences sharedPreferences, SharedPreferences postFeedScrolledPositionSharedPreferences,
|
SharedPreferences sharedPreferences, SharedPreferences postFeedScrolledPositionSharedPreferences,
|
||||||
int postType, SortType sortType, PostFilter postFilter, int filter,
|
int postType, SortType sortType, PostFilter postFilter, List<ReadPost> readPostList) {
|
||||||
List<ReadPost> readPostList) {
|
|
||||||
this.retrofit = retrofit;
|
this.retrofit = retrofit;
|
||||||
this.accessToken = accessToken;
|
this.accessToken = accessToken;
|
||||||
this.accountName = accountName;
|
this.accountName = accountName;
|
||||||
@ -233,15 +229,13 @@ public class PostViewModel extends ViewModel {
|
|||||||
this.postType = postType;
|
this.postType = postType;
|
||||||
this.sortType = sortType;
|
this.sortType = sortType;
|
||||||
this.postFilter = postFilter;
|
this.postFilter = postFilter;
|
||||||
this.filter = filter;
|
|
||||||
this.readPostList = readPostList;
|
this.readPostList = readPostList;
|
||||||
}
|
}
|
||||||
|
|
||||||
public Factory(Retrofit retrofit, String accessToken, String accountName, Locale locale,
|
public Factory(Retrofit retrofit, String accessToken, String accountName, Locale locale,
|
||||||
SharedPreferences sharedPreferences,
|
SharedPreferences sharedPreferences,
|
||||||
SharedPreferences postFeedScrolledPositionSharedPreferences, String subredditName,
|
SharedPreferences postFeedScrolledPositionSharedPreferences, String subredditName,
|
||||||
int postType, SortType sortType, PostFilter postFilter, int filter,
|
int postType, SortType sortType, PostFilter postFilter, List<ReadPost> readPostList) {
|
||||||
List<ReadPost> readPostList) {
|
|
||||||
this.retrofit = retrofit;
|
this.retrofit = retrofit;
|
||||||
this.accessToken = accessToken;
|
this.accessToken = accessToken;
|
||||||
this.accountName = accountName;
|
this.accountName = accountName;
|
||||||
@ -252,7 +246,6 @@ public class PostViewModel extends ViewModel {
|
|||||||
this.postType = postType;
|
this.postType = postType;
|
||||||
this.sortType = sortType;
|
this.sortType = sortType;
|
||||||
this.postFilter = postFilter;
|
this.postFilter = postFilter;
|
||||||
this.filter = filter;
|
|
||||||
this.readPostList = readPostList;
|
this.readPostList = readPostList;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -260,7 +253,7 @@ public class PostViewModel extends ViewModel {
|
|||||||
public Factory(Retrofit retrofit, String accessToken, String accountName, Locale locale,
|
public Factory(Retrofit retrofit, String accessToken, String accountName, Locale locale,
|
||||||
SharedPreferences sharedPreferences,
|
SharedPreferences sharedPreferences,
|
||||||
SharedPreferences postFeedScrolledPositionSharedPreferences, String subredditName,
|
SharedPreferences postFeedScrolledPositionSharedPreferences, String subredditName,
|
||||||
int postType, SortType sortType, PostFilter postFilter, int filter,
|
int postType, SortType sortType, PostFilter postFilter,
|
||||||
List<ReadPost> readPostList, List<SubredditFilter> subredditFilterList) {
|
List<ReadPost> readPostList, List<SubredditFilter> subredditFilterList) {
|
||||||
this.retrofit = retrofit;
|
this.retrofit = retrofit;
|
||||||
this.accessToken = accessToken;
|
this.accessToken = accessToken;
|
||||||
@ -272,7 +265,6 @@ public class PostViewModel extends ViewModel {
|
|||||||
this.postType = postType;
|
this.postType = postType;
|
||||||
this.sortType = sortType;
|
this.sortType = sortType;
|
||||||
this.postFilter = postFilter;
|
this.postFilter = postFilter;
|
||||||
this.filter = filter;
|
|
||||||
this.readPostList = readPostList;
|
this.readPostList = readPostList;
|
||||||
this.subredditFilterList = subredditFilterList;
|
this.subredditFilterList = subredditFilterList;
|
||||||
}
|
}
|
||||||
@ -280,8 +272,7 @@ public class PostViewModel extends ViewModel {
|
|||||||
//User posts
|
//User posts
|
||||||
public Factory(Retrofit retrofit, String accessToken, String accountName, Locale locale,
|
public Factory(Retrofit retrofit, String accessToken, String accountName, Locale locale,
|
||||||
SharedPreferences sharedPreferences, SharedPreferences postFeedScrolledPositionSharedPreferences, String subredditName,
|
SharedPreferences sharedPreferences, SharedPreferences postFeedScrolledPositionSharedPreferences, String subredditName,
|
||||||
int postType, SortType sortType, PostFilter postFilter, String where, int filter,
|
int postType, SortType sortType, PostFilter postFilter, String where, List<ReadPost> readPostList) {
|
||||||
List<ReadPost> readPostList) {
|
|
||||||
this.retrofit = retrofit;
|
this.retrofit = retrofit;
|
||||||
this.accessToken = accessToken;
|
this.accessToken = accessToken;
|
||||||
this.accountName = accountName;
|
this.accountName = accountName;
|
||||||
@ -293,14 +284,12 @@ public class PostViewModel extends ViewModel {
|
|||||||
this.sortType = sortType;
|
this.sortType = sortType;
|
||||||
this.postFilter = postFilter;
|
this.postFilter = postFilter;
|
||||||
userWhere = where;
|
userWhere = where;
|
||||||
this.filter = filter;
|
|
||||||
this.readPostList = readPostList;
|
this.readPostList = readPostList;
|
||||||
}
|
}
|
||||||
|
|
||||||
public Factory(Retrofit retrofit, String accessToken, String accountName, Locale locale,
|
public Factory(Retrofit retrofit, String accessToken, String accountName, Locale locale,
|
||||||
SharedPreferences sharedPreferences, SharedPreferences postFeedScrolledPositionSharedPreferences, String subredditName,
|
SharedPreferences sharedPreferences, SharedPreferences postFeedScrolledPositionSharedPreferences, String subredditName,
|
||||||
String query, int postType, SortType sortType, PostFilter postFilter, int filter,
|
String query, int postType, SortType sortType, PostFilter postFilter, List<ReadPost> readPostList) {
|
||||||
List<ReadPost> readPostList) {
|
|
||||||
this.retrofit = retrofit;
|
this.retrofit = retrofit;
|
||||||
this.accessToken = accessToken;
|
this.accessToken = accessToken;
|
||||||
this.accountName = accountName;
|
this.accountName = accountName;
|
||||||
@ -312,7 +301,6 @@ public class PostViewModel extends ViewModel {
|
|||||||
this.postType = postType;
|
this.postType = postType;
|
||||||
this.sortType = sortType;
|
this.sortType = sortType;
|
||||||
this.postFilter = postFilter;
|
this.postFilter = postFilter;
|
||||||
this.filter = filter;
|
|
||||||
this.readPostList = readPostList;
|
this.readPostList = readPostList;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -321,19 +309,19 @@ public class PostViewModel extends ViewModel {
|
|||||||
public <T extends ViewModel> T create(@NonNull Class<T> modelClass) {
|
public <T extends ViewModel> T create(@NonNull Class<T> modelClass) {
|
||||||
if (postType == PostDataSource.TYPE_FRONT_PAGE) {
|
if (postType == PostDataSource.TYPE_FRONT_PAGE) {
|
||||||
return (T) new PostViewModel(retrofit, accessToken, accountName, locale, sharedPreferences,
|
return (T) new PostViewModel(retrofit, accessToken, accountName, locale, sharedPreferences,
|
||||||
postFeedScrolledPositionSharedPreferences, postType, sortType, postFilter, filter, readPostList);
|
postFeedScrolledPositionSharedPreferences, postType, sortType, postFilter, readPostList);
|
||||||
} else if (postType == PostDataSource.TYPE_SEARCH) {
|
} else if (postType == PostDataSource.TYPE_SEARCH) {
|
||||||
return (T) new PostViewModel(retrofit, accessToken, accountName, locale, sharedPreferences,
|
return (T) new PostViewModel(retrofit, accessToken, accountName, locale, sharedPreferences,
|
||||||
postFeedScrolledPositionSharedPreferences, subredditName, query, postType, sortType,
|
postFeedScrolledPositionSharedPreferences, subredditName, query, postType, sortType,
|
||||||
postFilter, filter, readPostList);
|
postFilter, readPostList);
|
||||||
} else if (postType == PostDataSource.TYPE_SUBREDDIT || postType == PostDataSource.TYPE_MULTI_REDDIT) {
|
} else if (postType == PostDataSource.TYPE_SUBREDDIT || postType == PostDataSource.TYPE_MULTI_REDDIT) {
|
||||||
return (T) new PostViewModel(retrofit, accessToken, accountName, locale, sharedPreferences,
|
return (T) new PostViewModel(retrofit, accessToken, accountName, locale, sharedPreferences,
|
||||||
postFeedScrolledPositionSharedPreferences, subredditName, postType, sortType,
|
postFeedScrolledPositionSharedPreferences, subredditName, postType, sortType,
|
||||||
postFilter, filter, readPostList, subredditFilterList);
|
postFilter, readPostList, subredditFilterList);
|
||||||
} else {
|
} else {
|
||||||
return (T) new PostViewModel(retrofit, accessToken, accountName, locale, sharedPreferences,
|
return (T) new PostViewModel(retrofit, accessToken, accountName, locale, sharedPreferences,
|
||||||
postFeedScrolledPositionSharedPreferences, subredditName, postType, sortType,
|
postFeedScrolledPositionSharedPreferences, subredditName, postType, sortType,
|
||||||
postFilter, userWhere, filter, readPostList);
|
postFilter, userWhere, readPostList);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -163,6 +163,36 @@
|
|||||||
|
|
||||||
</LinearLayout>
|
</LinearLayout>
|
||||||
|
|
||||||
|
<LinearLayout
|
||||||
|
android:id="@+id/post_type_gallery_linear_layout_customize_post_filter_activity"
|
||||||
|
android:layout_width="match_parent"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:paddingTop="4dp"
|
||||||
|
android:paddingBottom="4dp"
|
||||||
|
android:paddingStart="32dp"
|
||||||
|
android:paddingEnd="8dp"
|
||||||
|
android:clickable="true"
|
||||||
|
android:focusable="true"
|
||||||
|
android:background="?attr/selectableItemBackground">
|
||||||
|
|
||||||
|
<TextView
|
||||||
|
android:id="@+id/post_type_gallery_text_view_customize_post_filter_activity"
|
||||||
|
android:layout_width="0dp"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:layout_weight="1"
|
||||||
|
android:layout_gravity="center_vertical"
|
||||||
|
android:text="@string/post_type_gallery"
|
||||||
|
android:fontFamily="?attr/font_default"
|
||||||
|
android:textSize="?attr/font_default" />
|
||||||
|
|
||||||
|
<com.google.android.material.checkbox.MaterialCheckBox
|
||||||
|
android:id="@+id/post_type_gallery_check_box_customize_post_filter_activity"
|
||||||
|
android:layout_width="wrap_content"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:layout_gravity="center_vertical" />
|
||||||
|
|
||||||
|
</LinearLayout>
|
||||||
|
|
||||||
<com.google.android.material.textfield.TextInputLayout
|
<com.google.android.material.textfield.TextInputLayout
|
||||||
android:id="@+id/title_excludes_strings_text_input_layout_customize_post_filter_activity"
|
android:id="@+id/title_excludes_strings_text_input_layout_customize_post_filter_activity"
|
||||||
android:layout_width="match_parent"
|
android:layout_width="match_parent"
|
||||||
|
@ -199,6 +199,7 @@
|
|||||||
<string name="bottom_sheet_post_link">Link</string>
|
<string name="bottom_sheet_post_link">Link</string>
|
||||||
<string name="bottom_sheet_post_image">Image</string>
|
<string name="bottom_sheet_post_image">Image</string>
|
||||||
<string name="bottom_sheet_post_video">Video</string>
|
<string name="bottom_sheet_post_video">Video</string>
|
||||||
|
<string name="post_type_gallery">Gallery</string>
|
||||||
|
|
||||||
<string name="select_from_gallery">Select a picture</string>
|
<string name="select_from_gallery">Select a picture</string>
|
||||||
<string name="select_again">Select again</string>
|
<string name="select_again">Select again</string>
|
||||||
|
@ -44,11 +44,10 @@
|
|||||||
<Preference
|
<Preference
|
||||||
app:key="security"
|
app:key="security"
|
||||||
app:title="@string/settings_security_title"
|
app:title="@string/settings_security_title"
|
||||||
android:icon="@drawable/ic_security_24dp"
|
app:icon="@drawable/ic_security_24dp"
|
||||||
app:fragment="ml.docilealligator.infinityforreddit.settings.SecurityPreferenceFragment" />
|
app:fragment="ml.docilealligator.infinityforreddit.settings.SecurityPreferenceFragment" />
|
||||||
|
|
||||||
<Preference
|
<Preference
|
||||||
app:key="security"
|
|
||||||
app:title="@string/settings_data_saving_mode"
|
app:title="@string/settings_data_saving_mode"
|
||||||
app:icon="@drawable/ic_data_saving_mode_24dp"
|
app:icon="@drawable/ic_data_saving_mode_24dp"
|
||||||
app:fragment="ml.docilealligator.infinityforreddit.settings.DataSavingModePreferenceFragment" />
|
app:fragment="ml.docilealligator.infinityforreddit.settings.DataSavingModePreferenceFragment" />
|
||||||
|
Loading…
Reference in New Issue
Block a user