mirror of
https://github.com/Docile-Alligator/Infinity-For-Reddit.git
synced 2025-10-29 11:35:08 +00:00
Compare commits
3 Commits
010e4c36bf
...
22db534c1d
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
22db534c1d | ||
|
|
f896c974a0 | ||
|
|
c58c9ea406 |
@ -46,7 +46,7 @@ import ml.docilealligator.infinityforreddit.user.UserData;
|
||||
@Database(entities = {Account.class, SubredditData.class, SubscribedSubredditData.class, UserData.class,
|
||||
SubscribedUserData.class, MultiReddit.class, CustomTheme.class, RecentSearchQuery.class,
|
||||
ReadPost.class, PostFilter.class, PostFilterUsage.class, AnonymousMultiredditSubreddit.class,
|
||||
CommentFilter.class, CommentFilterUsage.class, CommentDraft.class}, version = 29, exportSchema = false)
|
||||
CommentFilter.class, CommentFilterUsage.class, CommentDraft.class}, version = 30, exportSchema = false)
|
||||
@TypeConverters(Converters.class)
|
||||
public abstract class RedditDataRoomDatabase extends RoomDatabase {
|
||||
|
||||
@ -59,7 +59,8 @@ public abstract class RedditDataRoomDatabase extends RoomDatabase {
|
||||
MIGRATION_13_14, MIGRATION_14_15, MIGRATION_15_16, MIGRATION_16_17,
|
||||
MIGRATION_17_18, MIGRATION_18_19, MIGRATION_19_20, MIGRATION_20_21,
|
||||
MIGRATION_21_22, MIGRATION_22_23, MIGRATION_23_24, MIGRATION_24_25,
|
||||
MIGRATION_25_26, MIGRATION_26_27, MIGRATION_27_28, MIGRATION_28_29)
|
||||
MIGRATION_25_26, MIGRATION_26_27, MIGRATION_27_28, MIGRATION_28_29,
|
||||
MIGRATION_29_30)
|
||||
.build();
|
||||
}
|
||||
|
||||
@ -456,4 +457,14 @@ public abstract class RedditDataRoomDatabase extends RoomDatabase {
|
||||
"PRIMARY KEY (full_name, draft_type))");
|
||||
}
|
||||
};
|
||||
|
||||
private static final Migration MIGRATION_29_30 = new Migration(29, 30) {
|
||||
@Override
|
||||
public void migrate(@NonNull SupportSQLiteDatabase database) {
|
||||
database.execSQL("ALTER TABLE post_filter ADD COLUMN contain_users TEXT");
|
||||
database.execSQL("ALTER TABLE post_filter ADD COLUMN contain_subreddits TEXT");
|
||||
}
|
||||
};
|
||||
|
||||
}
|
||||
|
||||
|
||||
@ -49,7 +49,9 @@ public class CustomizePostFilterActivity extends BaseActivity {
|
||||
public static final String EXTRA_POST_FILTER = "EPF";
|
||||
public static final String EXTRA_FROM_SETTINGS = "EFS";
|
||||
public static final String EXTRA_EXCLUDE_SUBREDDIT = "EES";
|
||||
public static final String EXTRA_CONTAIN_SUBREDDIT = "ECS";
|
||||
public static final String EXTRA_EXCLUDE_USER = "EEU";
|
||||
public static final String EXTRA_CONTAIN_USER = "ECU";
|
||||
public static final String EXTRA_EXCLUDE_FLAIR = "EEF";
|
||||
public static final String EXTRA_CONTAIN_FLAIR = "ECF";
|
||||
public static final String EXTRA_EXCLUDE_DOMAIN = "EED";
|
||||
@ -58,8 +60,10 @@ public class CustomizePostFilterActivity extends BaseActivity {
|
||||
public static final String RETURN_EXTRA_POST_FILTER = "REPF";
|
||||
private static final String POST_FILTER_STATE = "PFS";
|
||||
private static final String ORIGINAL_NAME_STATE = "ONS";
|
||||
private static final int ADD_SUBREDDITS_REQUEST_CODE = 1;
|
||||
private static final int ADD_USERS_REQUEST_CODE = 3;
|
||||
private static final int ADD_EXCLUDE_SUBREDDITS_REQUEST_CODE = 1;
|
||||
private static final int ADD_CONTAIN_SUBREDDITS_REQUEST_CODE = 11;
|
||||
private static final int ADD_EXCLUDE_USERS_REQUEST_CODE = 3;
|
||||
private static final int ADD_CONTAIN_USERS_REQUEST_CODE = 33;
|
||||
|
||||
@Inject
|
||||
RedditDataRoomDatabase mRedditDataRoomDatabase;
|
||||
@ -167,16 +171,25 @@ public class CustomizePostFilterActivity extends BaseActivity {
|
||||
binding.onlySpoilerSwitchCustomizePostFilterActivity.performClick();
|
||||
});
|
||||
|
||||
binding.addSubredditsImageViewCustomizePostFilterActivity.setOnClickListener(view -> {
|
||||
binding.excludeAddSubredditsImageViewCustomizePostFilterActivity.setOnClickListener(view -> {
|
||||
Intent intent = new Intent(this, SubredditMultiselectionActivity.class);
|
||||
startActivityForResult(intent, ADD_SUBREDDITS_REQUEST_CODE);
|
||||
startActivityForResult(intent, ADD_EXCLUDE_SUBREDDITS_REQUEST_CODE);
|
||||
});
|
||||
|
||||
binding.addUsersImageViewCustomizePostFilterActivity.setOnClickListener(view -> {
|
||||
binding.containAddSubredditsImageViewCustomizePostFilterActivity.setOnClickListener(view -> {
|
||||
Intent intent = new Intent(this, SubredditMultiselectionActivity.class);
|
||||
startActivityForResult(intent, ADD_CONTAIN_SUBREDDITS_REQUEST_CODE);
|
||||
});
|
||||
binding.excludeAddUsersImageViewCustomizePostFilterActivity.setOnClickListener(view -> {
|
||||
Intent intent = new Intent(this, SearchActivity.class);
|
||||
intent.putExtra(SearchActivity.EXTRA_SEARCH_ONLY_USERS, true);
|
||||
intent.putExtra(SearchActivity.EXTRA_IS_MULTI_SELECTION, true);
|
||||
startActivityForResult(intent, ADD_USERS_REQUEST_CODE);
|
||||
startActivityForResult(intent, ADD_EXCLUDE_USERS_REQUEST_CODE);
|
||||
});
|
||||
binding.containAddUsersImageViewCustomizePostFilterActivity.setOnClickListener(view -> {
|
||||
Intent intent = new Intent(this, SearchActivity.class);
|
||||
intent.putExtra(SearchActivity.EXTRA_SEARCH_ONLY_USERS, true);
|
||||
intent.putExtra(SearchActivity.EXTRA_IS_MULTI_SELECTION, true);
|
||||
startActivityForResult(intent, ADD_CONTAIN_USERS_REQUEST_CODE);
|
||||
});
|
||||
|
||||
if (savedInstanceState != null) {
|
||||
@ -213,7 +226,9 @@ public class CustomizePostFilterActivity extends BaseActivity {
|
||||
binding.titleExcludesRegexTextInputEditTextCustomizePostFilterActivity.setText(postFilter.postTitleExcludesRegex);
|
||||
binding.titleContainsRegexTextInputEditTextCustomizePostFilterActivity.setText(postFilter.postTitleContainsRegex);
|
||||
binding.excludesSubredditsTextInputEditTextCustomizePostFilterActivity.setText(postFilter.excludeSubreddits);
|
||||
binding.containsSubredditsTextInputEditTextCustomizePostFilterActivity.setText(postFilter.containSubreddits);
|
||||
binding.excludesUsersTextInputEditTextCustomizePostFilterActivity.setText(postFilter.excludeUsers);
|
||||
binding.containsUsersTextInputEditTextCustomizePostFilterActivity.setText(postFilter.containUsers);
|
||||
binding.excludesFlairsTextInputEditTextCustomizePostFilterActivity.setText(postFilter.excludeFlairs);
|
||||
binding.containsFlairsTextInputEditTextCustomizePostFilterActivity.setText(postFilter.containFlairs);
|
||||
binding.excludeDomainsTextInputEditTextCustomizePostFilterActivity.setText(postFilter.excludeDomains);
|
||||
@ -230,6 +245,8 @@ public class CustomizePostFilterActivity extends BaseActivity {
|
||||
String containFlair = intent.getStringExtra(EXTRA_CONTAIN_FLAIR);
|
||||
String excludeDomain = intent.getStringExtra(EXTRA_EXCLUDE_DOMAIN);
|
||||
String containDomain = intent.getStringExtra(EXTRA_CONTAIN_DOMAIN);
|
||||
String containSubreddit = intent.getStringExtra(EXTRA_CONTAIN_SUBREDDIT);
|
||||
String containUser = intent.getStringExtra(EXTRA_CONTAIN_USER);
|
||||
|
||||
if (excludeSubreddit != null && !excludeSubreddit.equals("")) {
|
||||
if (!binding.excludesSubredditsTextInputEditTextCustomizePostFilterActivity.getText().toString().equals("")) {
|
||||
@ -237,6 +254,18 @@ public class CustomizePostFilterActivity extends BaseActivity {
|
||||
}
|
||||
binding.excludesSubredditsTextInputEditTextCustomizePostFilterActivity.append(excludeSubreddit);
|
||||
}
|
||||
if (containSubreddit != null && !containSubreddit.equals("")) {
|
||||
if (!binding.containsSubredditsTextInputEditTextCustomizePostFilterActivity.getText().toString().equals("")) {
|
||||
binding.containsSubredditsTextInputEditTextCustomizePostFilterActivity.append(",");
|
||||
}
|
||||
binding.containsSubredditsTextInputEditTextCustomizePostFilterActivity.append(containSubreddit);
|
||||
}
|
||||
if (containUser != null && !containUser.equals("")) {
|
||||
if (!binding.containsUsersTextInputEditTextCustomizePostFilterActivity.getText().toString().equals("")) {
|
||||
binding.containsUsersTextInputEditTextCustomizePostFilterActivity.append(",");
|
||||
}
|
||||
binding.containsUsersTextInputEditTextCustomizePostFilterActivity.append(containUser);
|
||||
}
|
||||
if (excludeUser != null && !excludeUser.equals("")) {
|
||||
if (!binding.excludesUsersTextInputEditTextCustomizePostFilterActivity.getText().toString().equals("")) {
|
||||
binding.excludesUsersTextInputEditTextCustomizePostFilterActivity.append(",");
|
||||
@ -343,18 +372,31 @@ public class CustomizePostFilterActivity extends BaseActivity {
|
||||
binding.titleContainsRegexTextInputLayoutCustomizePostFilterActivity.setDefaultHintTextColor(ColorStateList.valueOf(primaryTextColor));
|
||||
binding.titleContainsRegexTextInputEditTextCustomizePostFilterActivity.setTextColor(primaryTextColor);
|
||||
|
||||
binding.subredditsUsersCardViewCustomizePostFilterActivity.setCardBackgroundColor(filledCardViewBackgroundColor);
|
||||
binding.subredditsCardViewCustomizePostFilterActivity.setCardBackgroundColor(filledCardViewBackgroundColor);
|
||||
binding.excludeSubredditsExplanationTextViewCustomizePostFilterActivity.setTextColor(primaryTextColor);
|
||||
binding.excludesSubredditsTextInputLayoutCustomizePostFilterActivity.setBoxStrokeColor(primaryTextColor);
|
||||
binding.excludesSubredditsTextInputLayoutCustomizePostFilterActivity.setDefaultHintTextColor(ColorStateList.valueOf(primaryTextColor));
|
||||
binding.excludesSubredditsTextInputEditTextCustomizePostFilterActivity.setTextColor(primaryTextColor);
|
||||
binding.addSubredditsImageViewCustomizePostFilterActivity.setImageDrawable(Utils.getTintedDrawable(this, R.drawable.ic_add_24dp, primaryIconColor));
|
||||
binding.excludeAddSubredditsImageViewCustomizePostFilterActivity.setImageDrawable(Utils.getTintedDrawable(this, R.drawable.ic_add_24dp, primaryIconColor));
|
||||
|
||||
binding.containSubredditsExplanationTextViewCustomizePostFilterActivity.setTextColor(primaryTextColor);
|
||||
binding.containsSubredditsTextInputLayoutCustomizePostFilterActivity.setBoxStrokeColor(primaryTextColor);
|
||||
binding.containsSubredditsTextInputLayoutCustomizePostFilterActivity.setDefaultHintTextColor(ColorStateList.valueOf(primaryTextColor));
|
||||
binding.containsSubredditsTextInputEditTextCustomizePostFilterActivity.setTextColor(primaryTextColor);
|
||||
binding.containAddSubredditsImageViewCustomizePostFilterActivity.setImageDrawable(Utils.getTintedDrawable(this, R.drawable.ic_add_24dp, primaryIconColor));
|
||||
|
||||
binding.usersCardViewCustomizePostFilterActivity.setCardBackgroundColor(filledCardViewBackgroundColor);
|
||||
binding.excludeUsersExplanationTextViewCustomizePostFilterActivity.setTextColor(primaryTextColor);
|
||||
binding.excludesUsersTextInputLayoutCustomizePostFilterActivity.setBoxStrokeColor(primaryTextColor);
|
||||
binding.excludesUsersTextInputLayoutCustomizePostFilterActivity.setDefaultHintTextColor(ColorStateList.valueOf(primaryTextColor));
|
||||
binding.excludesUsersTextInputEditTextCustomizePostFilterActivity.setTextColor(primaryTextColor);
|
||||
binding.addUsersImageViewCustomizePostFilterActivity.setImageDrawable(Utils.getTintedDrawable(this, R.drawable.ic_add_24dp, primaryIconColor));
|
||||
binding.excludeAddUsersImageViewCustomizePostFilterActivity.setImageDrawable(Utils.getTintedDrawable(this, R.drawable.ic_add_24dp, primaryIconColor));
|
||||
|
||||
binding.containUsersExplanationTextViewCustomizePostFilterActivity.setTextColor(primaryTextColor);
|
||||
binding.containsUsersTextInputLayoutCustomizePostFilterActivity.setBoxStrokeColor(primaryTextColor);
|
||||
binding.containsUsersTextInputLayoutCustomizePostFilterActivity.setDefaultHintTextColor(ColorStateList.valueOf(primaryTextColor));
|
||||
binding.containsUsersTextInputEditTextCustomizePostFilterActivity.setTextColor(primaryTextColor);
|
||||
binding.containAddUsersImageViewCustomizePostFilterActivity.setImageDrawable(Utils.getTintedDrawable(this, R.drawable.ic_add_24dp, primaryIconColor));
|
||||
|
||||
binding.flairsCardViewCustomizePostFilterActivity.setCardBackgroundColor(filledCardViewBackgroundColor);
|
||||
binding.excludeFlairsExplanationTextViewCustomizePostFilterActivity.setTextColor(primaryTextColor);
|
||||
@ -407,7 +449,9 @@ public class CustomizePostFilterActivity extends BaseActivity {
|
||||
binding.titleExcludesRegexTextInputLayoutCustomizePostFilterActivity.setCursorColor(ColorStateList.valueOf(primaryTextColor));
|
||||
binding.titleContainsRegexTextInputLayoutCustomizePostFilterActivity.setCursorColor(ColorStateList.valueOf(primaryTextColor));
|
||||
binding.excludesSubredditsTextInputLayoutCustomizePostFilterActivity.setCursorColor(ColorStateList.valueOf(primaryTextColor));
|
||||
binding.containsSubredditsTextInputLayoutCustomizePostFilterActivity.setCursorColor(ColorStateList.valueOf(primaryTextColor));
|
||||
binding.excludesUsersTextInputLayoutCustomizePostFilterActivity.setCursorColor(ColorStateList.valueOf(primaryTextColor));
|
||||
binding.containsUsersTextInputLayoutCustomizePostFilterActivity.setCursorColor(ColorStateList.valueOf(primaryTextColor));
|
||||
binding.excludesFlairsTextInputLayoutCustomizePostFilterActivity.setCursorColor(ColorStateList.valueOf(primaryTextColor));
|
||||
binding.containsFlairsTextInputLayoutCustomizePostFilterActivity.setCursorColor(ColorStateList.valueOf(primaryTextColor));
|
||||
binding.excludeDomainsTextInputLayoutCustomizePostFilterActivity.setCursorColor(ColorStateList.valueOf(primaryTextColor));
|
||||
@ -423,8 +467,10 @@ public class CustomizePostFilterActivity extends BaseActivity {
|
||||
setCursorDrawableColor(binding.titleExcludesRegexTextInputEditTextCustomizePostFilterActivity, primaryTextColor);
|
||||
setCursorDrawableColor(binding.titleContainsRegexTextInputEditTextCustomizePostFilterActivity, primaryTextColor);
|
||||
setCursorDrawableColor(binding.excludesSubredditsTextInputEditTextCustomizePostFilterActivity, primaryTextColor);
|
||||
setCursorDrawableColor(binding.containsSubredditsTextInputEditTextCustomizePostFilterActivity, primaryTextColor);
|
||||
setCursorDrawableColor(binding.excludesUsersTextInputEditTextCustomizePostFilterActivity, primaryTextColor);
|
||||
setCursorDrawableColor(binding.excludesFlairsTextInputEditTextCustomizePostFilterActivity, primaryTextColor);
|
||||
setCursorDrawableColor(binding.containsUsersTextInputEditTextCustomizePostFilterActivity, primaryTextColor);
|
||||
setCursorDrawableColor(binding.containsFlairsTextInputEditTextCustomizePostFilterActivity, primaryTextColor);
|
||||
setCursorDrawableColor(binding.excludeDomainsTextInputEditTextCustomizePostFilterActivity, primaryTextColor);
|
||||
setCursorDrawableColor(binding.containDomainsTextInputEditTextCustomizePostFilterActivity, primaryTextColor);
|
||||
@ -543,44 +589,42 @@ public class CustomizePostFilterActivity extends BaseActivity {
|
||||
protected void onActivityResult(int requestCode, int resultCode, @Nullable Intent data) {
|
||||
super.onActivityResult(requestCode, resultCode, data);
|
||||
if (resultCode == RESULT_OK && data != null) {
|
||||
if (requestCode == ADD_SUBREDDITS_REQUEST_CODE) {
|
||||
ArrayList<String> subredditNames = data.getStringArrayListExtra(SubredditMultiselectionActivity.EXTRA_RETURN_SELECTED_SUBREDDITS);
|
||||
updateExcludeSubredditNames(subredditNames);
|
||||
} else if (requestCode == ADD_USERS_REQUEST_CODE) {
|
||||
if (requestCode == ADD_EXCLUDE_SUBREDDITS_REQUEST_CODE) {
|
||||
ArrayList<String> subredditNames = data.getStringArrayListExtra(
|
||||
SubredditMultiselectionActivity.EXTRA_RETURN_SELECTED_SUBREDDITS);
|
||||
updateSubredditsUsersNames(subredditNames, binding.excludesSubredditsTextInputEditTextCustomizePostFilterActivity);
|
||||
} else if (requestCode == ADD_CONTAIN_SUBREDDITS_REQUEST_CODE) {
|
||||
ArrayList<String> subredditNames = data.getStringArrayListExtra(
|
||||
SubredditMultiselectionActivity.EXTRA_RETURN_SELECTED_SUBREDDITS);
|
||||
updateSubredditsUsersNames(subredditNames, binding.containsSubredditsTextInputEditTextCustomizePostFilterActivity);
|
||||
} else if (requestCode == ADD_EXCLUDE_USERS_REQUEST_CODE) {
|
||||
ArrayList<String> usernames = data.getStringArrayListExtra(SearchActivity.RETURN_EXTRA_SELECTED_USERNAMES);
|
||||
String currentUsers = binding.excludesUsersTextInputEditTextCustomizePostFilterActivity.getText().toString().trim();
|
||||
if (usernames != null && !usernames.isEmpty()) {
|
||||
if (!currentUsers.isEmpty() && currentUsers.charAt(currentUsers.length() - 1) != ',') {
|
||||
String newString = currentUsers + ",";
|
||||
binding.excludesUsersTextInputEditTextCustomizePostFilterActivity.setText(newString);
|
||||
}
|
||||
StringBuilder stringBuilder = new StringBuilder();
|
||||
for (String s : usernames) {
|
||||
stringBuilder.append(s).append(",");
|
||||
}
|
||||
stringBuilder.deleteCharAt(stringBuilder.length() - 1);
|
||||
binding.excludesUsersTextInputEditTextCustomizePostFilterActivity.append(stringBuilder.toString());
|
||||
}
|
||||
updateSubredditsUsersNames(usernames, binding.excludesUsersTextInputEditTextCustomizePostFilterActivity);
|
||||
} else if (requestCode == ADD_CONTAIN_USERS_REQUEST_CODE) {
|
||||
ArrayList<String> usernames = data.getStringArrayListExtra(SearchActivity.RETURN_EXTRA_SELECTED_USERNAMES);
|
||||
updateSubredditsUsersNames(usernames, binding.containsUsersTextInputEditTextCustomizePostFilterActivity);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
private void updateExcludeSubredditNames(ArrayList<String> subredditNames) {
|
||||
String currentSubreddits = binding.excludesSubredditsTextInputEditTextCustomizePostFilterActivity.getText().toString().trim();
|
||||
if (subredditNames != null && !subredditNames.isEmpty()) {
|
||||
if (!currentSubreddits.isEmpty() && currentSubreddits.charAt(currentSubreddits.length() - 1) != ',') {
|
||||
String newString = currentSubreddits + ",";
|
||||
binding.excludesSubredditsTextInputEditTextCustomizePostFilterActivity.setText(newString);
|
||||
}
|
||||
StringBuilder stringBuilder = new StringBuilder();
|
||||
for (String s : subredditNames) {
|
||||
stringBuilder.append(s).append(",");
|
||||
}
|
||||
stringBuilder.deleteCharAt(stringBuilder.length() - 1);
|
||||
binding.excludesSubredditsTextInputEditTextCustomizePostFilterActivity.append(stringBuilder.toString());
|
||||
private void updateSubredditsUsersNames(@Nullable ArrayList<String> subredditNames,
|
||||
com.google.android.material.textfield.TextInputEditText targetEditText) {
|
||||
if (subredditNames == null || subredditNames.isEmpty() || targetEditText == null) return;
|
||||
|
||||
String current = targetEditText.getText().toString().trim();
|
||||
if (!current.isEmpty() && current.charAt(current.length() - 1) != ',') {
|
||||
targetEditText.setText(current + ",");
|
||||
}
|
||||
|
||||
StringBuilder sb = new StringBuilder();
|
||||
for (String s : subredditNames) {
|
||||
sb.append(s).append(",");
|
||||
}
|
||||
if (sb.length() > 0) sb.deleteCharAt(sb.length() - 1);
|
||||
targetEditText.append(sb.toString());
|
||||
}
|
||||
|
||||
|
||||
private void constructPostFilter() throws PatternSyntaxException {
|
||||
postFilter.name = binding.nameTextInputEditTextCustomizePostFilterActivity.getText().toString();
|
||||
postFilter.maxVote = binding.maxVoteTextInputEditTextCustomizePostFilterActivity.getText() == null || binding.maxVoteTextInputEditTextCustomizePostFilterActivity.getText().toString().equals("") ? -1 : Integer.parseInt(binding.maxVoteTextInputEditTextCustomizePostFilterActivity.getText().toString());
|
||||
@ -596,7 +640,9 @@ public class CustomizePostFilterActivity extends BaseActivity {
|
||||
postFilter.postTitleExcludesStrings = binding.titleExcludesStringsTextInputEditTextCustomizePostFilterActivity.getText().toString();
|
||||
postFilter.postTitleContainsStrings = binding.titleContainsStringsTextInputEditTextCustomizePostFilterActivity.getText().toString();
|
||||
postFilter.excludeSubreddits = binding.excludesSubredditsTextInputEditTextCustomizePostFilterActivity.getText().toString();
|
||||
postFilter.containSubreddits = binding.containsSubredditsTextInputEditTextCustomizePostFilterActivity.getText().toString();
|
||||
postFilter.excludeUsers = binding.excludesUsersTextInputEditTextCustomizePostFilterActivity.getText().toString();
|
||||
postFilter.containUsers = binding.containsUsersTextInputEditTextCustomizePostFilterActivity.getText().toString();
|
||||
postFilter.excludeFlairs = binding.excludesFlairsTextInputEditTextCustomizePostFilterActivity.getText().toString();
|
||||
postFilter.containFlairs = binding.containsFlairsTextInputEditTextCustomizePostFilterActivity.getText().toString();
|
||||
postFilter.excludeDomains = binding.excludeDomainsTextInputEditTextCustomizePostFilterActivity.getText().toString();
|
||||
|
||||
@ -162,7 +162,7 @@ public class PostFilterPreferenceActivity extends BaseActivity {
|
||||
|
||||
public void showPostFilterOptions(Post post, @Nullable PostFilter postFilter) {
|
||||
String[] options = getResources().getStringArray(R.array.add_to_post_filter_options);
|
||||
boolean[] selectedOptions = new boolean[]{false, false, false, false, false, false};
|
||||
boolean[] selectedOptions = new boolean[]{false, false, false, false, false, false, false, false};
|
||||
new MaterialAlertDialogBuilder(this, R.style.MaterialAlertDialogTheme)
|
||||
.setTitle(R.string.select)
|
||||
.setMultiChoiceItems(options, selectedOptions, (dialogInterface, i, b) -> selectedOptions[i] = b)
|
||||
@ -193,6 +193,12 @@ public class PostFilterPreferenceActivity extends BaseActivity {
|
||||
case 5:
|
||||
intent.putExtra(CustomizePostFilterActivity.EXTRA_CONTAIN_DOMAIN, post.getUrl());
|
||||
break;
|
||||
case 6:
|
||||
intent.putExtra(CustomizePostFilterActivity.EXTRA_CONTAIN_SUBREDDIT, post.getSubredditName());
|
||||
break;
|
||||
case 7:
|
||||
intent.putExtra(CustomizePostFilterActivity.EXTRA_CONTAIN_USER, post.getAuthor());
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@ -51,7 +51,7 @@ public class PostViewModel extends ViewModel {
|
||||
private PostFilter postFilter;
|
||||
private String userWhere;
|
||||
private ReadPostsListInterface readPostsList;
|
||||
private final MutableLiveData<Boolean> currentlyReadPostIdsLiveData = new MutableLiveData<>();
|
||||
private final MutableLiveData<Boolean> hideReadPostsValue = new MutableLiveData<>();
|
||||
|
||||
private final LiveData<PagingData<Post>> posts;
|
||||
private final LiveData<PagingData<Post>> postsWithReadPostsHidden;
|
||||
@ -91,14 +91,14 @@ public class PostViewModel extends ViewModel {
|
||||
return PagingLiveData.cachedIn(PagingLiveData.getLiveData(pager), ViewModelKt.getViewModelScope(this));
|
||||
});
|
||||
|
||||
postsWithReadPostsHidden = PagingLiveData.cachedIn(Transformations.switchMap(currentlyReadPostIdsLiveData,
|
||||
postsWithReadPostsHidden = PagingLiveData.cachedIn(Transformations.switchMap(hideReadPostsValue,
|
||||
currentlyReadPostIds -> Transformations.map(
|
||||
posts,
|
||||
postPagingData -> PagingDataTransforms.filter(
|
||||
postPagingData, executor,
|
||||
post -> !post.isRead() || !currentlyReadPostIdsLiveData.getValue()))), ViewModelKt.getViewModelScope(this));
|
||||
post -> !post.isRead() || !hideReadPostsValue.getValue()))), ViewModelKt.getViewModelScope(this));
|
||||
|
||||
currentlyReadPostIdsLiveData.setValue(postHistorySharedPreferences != null
|
||||
hideReadPostsValue.setValue(postHistorySharedPreferences != null
|
||||
&& postHistorySharedPreferences.getBoolean((accountName.equals(Account.ANONYMOUS_ACCOUNT) ? "" : accountName) + SharedPreferencesUtils.HIDE_READ_POSTS_AUTOMATICALLY_BASE, false));
|
||||
}
|
||||
|
||||
@ -132,15 +132,16 @@ public class PostViewModel extends ViewModel {
|
||||
return PagingLiveData.cachedIn(PagingLiveData.getLiveData(pager), ViewModelKt.getViewModelScope(this));
|
||||
});
|
||||
|
||||
postsWithReadPostsHidden = PagingLiveData.cachedIn(Transformations.switchMap(currentlyReadPostIdsLiveData,
|
||||
postsWithReadPostsHidden = PagingLiveData.cachedIn(Transformations.switchMap(hideReadPostsValue,
|
||||
currentlyReadPostIds -> Transformations.map(
|
||||
posts,
|
||||
postPagingData -> PagingDataTransforms.filter(
|
||||
postPagingData, executor,
|
||||
post -> !post.isRead() || !currentlyReadPostIdsLiveData.getValue()))), ViewModelKt.getViewModelScope(this));
|
||||
post -> !post.isRead() || !hideReadPostsValue.getValue()))), ViewModelKt.getViewModelScope(this));
|
||||
|
||||
currentlyReadPostIdsLiveData.setValue(postHistorySharedPreferences != null
|
||||
&& postHistorySharedPreferences.getBoolean((accountName.equals(Account.ANONYMOUS_ACCOUNT) ? "" : accountName) + SharedPreferencesUtils.HIDE_READ_POSTS_AUTOMATICALLY_BASE, false));
|
||||
hideReadPostsValue.setValue(postHistorySharedPreferences != null
|
||||
&& postHistorySharedPreferences.getBoolean((accountName.equals(Account.ANONYMOUS_ACCOUNT) ? "" : accountName) + SharedPreferencesUtils.HIDE_READ_POSTS_AUTOMATICALLY_BASE, false)
|
||||
&& (postType != PostPagingSource.TYPE_SUBREDDIT || subredditName.equals("all") || subredditName.equals("popular")));
|
||||
}
|
||||
|
||||
// PostPagingSource.TYPE_MULTI_REDDIT
|
||||
@ -174,17 +175,18 @@ public class PostViewModel extends ViewModel {
|
||||
return PagingLiveData.cachedIn(PagingLiveData.getLiveData(pager), ViewModelKt.getViewModelScope(this));
|
||||
});
|
||||
|
||||
postsWithReadPostsHidden = PagingLiveData.cachedIn(Transformations.switchMap(currentlyReadPostIdsLiveData,
|
||||
postsWithReadPostsHidden = PagingLiveData.cachedIn(Transformations.switchMap(hideReadPostsValue,
|
||||
currentlyReadPostIds -> Transformations.map(
|
||||
posts,
|
||||
postPagingData -> PagingDataTransforms.filter(
|
||||
postPagingData, executor,
|
||||
post -> !post.isRead() || !currentlyReadPostIdsLiveData.getValue()))), ViewModelKt.getViewModelScope(this));
|
||||
post -> !post.isRead() || !hideReadPostsValue.getValue()))), ViewModelKt.getViewModelScope(this));
|
||||
|
||||
currentlyReadPostIdsLiveData.setValue(postHistorySharedPreferences != null
|
||||
hideReadPostsValue.setValue(postHistorySharedPreferences != null
|
||||
&& postHistorySharedPreferences.getBoolean((accountName.equals(Account.ANONYMOUS_ACCOUNT) ? "" : accountName) + SharedPreferencesUtils.HIDE_READ_POSTS_AUTOMATICALLY_BASE, false));
|
||||
}
|
||||
|
||||
// PostPagingSource.TYPE_USER
|
||||
public PostViewModel(Executor executor, Retrofit retrofit, @Nullable String accessToken, @NonNull String accountName,
|
||||
SharedPreferences sharedPreferences,
|
||||
SharedPreferences postFeedScrolledPositionSharedPreferences,
|
||||
@ -217,15 +219,16 @@ public class PostViewModel extends ViewModel {
|
||||
return PagingLiveData.cachedIn(PagingLiveData.getLiveData(pager), ViewModelKt.getViewModelScope(this));
|
||||
});
|
||||
|
||||
postsWithReadPostsHidden = PagingLiveData.cachedIn(Transformations.switchMap(currentlyReadPostIdsLiveData,
|
||||
postsWithReadPostsHidden = PagingLiveData.cachedIn(Transformations.switchMap(hideReadPostsValue,
|
||||
currentlyReadPostIds -> Transformations.map(
|
||||
posts,
|
||||
postPagingData -> PagingDataTransforms.filter(
|
||||
postPagingData, executor,
|
||||
post -> !post.isRead() || !currentlyReadPostIdsLiveData.getValue()))), ViewModelKt.getViewModelScope(this));
|
||||
post -> !post.isRead() || !hideReadPostsValue.getValue()))), ViewModelKt.getViewModelScope(this));
|
||||
|
||||
currentlyReadPostIdsLiveData.setValue(postHistorySharedPreferences != null
|
||||
&& postHistorySharedPreferences.getBoolean((accountName.equals(Account.ANONYMOUS_ACCOUNT) ? "" : accountName) + SharedPreferencesUtils.HIDE_READ_POSTS_AUTOMATICALLY_BASE, false));
|
||||
hideReadPostsValue.setValue(false);
|
||||
/*hideReadPostsValue.setValue(postHistorySharedPreferences != null
|
||||
&& postHistorySharedPreferences.getBoolean((accountName.equals(Account.ANONYMOUS_ACCOUNT) ? "" : accountName) + SharedPreferencesUtils.HIDE_READ_POSTS_AUTOMATICALLY_BASE, false));*/
|
||||
}
|
||||
|
||||
// postType == PostPagingSource.TYPE_SEARCH
|
||||
@ -261,15 +264,16 @@ public class PostViewModel extends ViewModel {
|
||||
return PagingLiveData.cachedIn(PagingLiveData.getLiveData(pager), ViewModelKt.getViewModelScope(this));
|
||||
});
|
||||
|
||||
postsWithReadPostsHidden = PagingLiveData.cachedIn(Transformations.switchMap(currentlyReadPostIdsLiveData,
|
||||
postsWithReadPostsHidden = PagingLiveData.cachedIn(Transformations.switchMap(hideReadPostsValue,
|
||||
currentlyReadPostIds -> Transformations.map(
|
||||
posts,
|
||||
postPagingData -> PagingDataTransforms.filter(
|
||||
postPagingData, executor,
|
||||
post -> !post.isRead() || !currentlyReadPostIdsLiveData.getValue()))), ViewModelKt.getViewModelScope(this));
|
||||
post -> !post.isRead() || !hideReadPostsValue.getValue()))), ViewModelKt.getViewModelScope(this));
|
||||
|
||||
currentlyReadPostIdsLiveData.setValue(postHistorySharedPreferences != null
|
||||
&& postHistorySharedPreferences.getBoolean((accountName.equals(Account.ANONYMOUS_ACCOUNT) ? "" : accountName) + SharedPreferencesUtils.HIDE_READ_POSTS_AUTOMATICALLY_BASE, false));
|
||||
hideReadPostsValue.setValue(false);
|
||||
/*hideReadPostsValue.setValue(postHistorySharedPreferences != null
|
||||
&& postHistorySharedPreferences.getBoolean((accountName.equals(Account.ANONYMOUS_ACCOUNT) ? "" : accountName) + SharedPreferencesUtils.HIDE_READ_POSTS_AUTOMATICALLY_BASE, false));*/
|
||||
}
|
||||
|
||||
public LiveData<PagingData<Post>> getPosts() {
|
||||
@ -277,7 +281,7 @@ public class PostViewModel extends ViewModel {
|
||||
}
|
||||
|
||||
public void hideReadPosts() {
|
||||
currentlyReadPostIdsLiveData.setValue(true);
|
||||
hideReadPostsValue.setValue(true);
|
||||
}
|
||||
|
||||
public PostPagingSource returnPagingSoruce() {
|
||||
|
||||
@ -50,8 +50,12 @@ public class PostFilter implements Parcelable {
|
||||
public String postTitleContainsStrings;
|
||||
@ColumnInfo(name = "exclude_subreddits")
|
||||
public String excludeSubreddits;
|
||||
@ColumnInfo(name = "contain_subreddits")
|
||||
public String containSubreddits;
|
||||
@ColumnInfo(name = "exclude_users")
|
||||
public String excludeUsers;
|
||||
@ColumnInfo(name = "contain_users")
|
||||
public String containUsers;
|
||||
@ColumnInfo(name = "contain_flairs")
|
||||
public String containFlairs;
|
||||
@ColumnInfo(name = "exclude_flairs")
|
||||
@ -93,7 +97,9 @@ public class PostFilter implements Parcelable {
|
||||
postTitleExcludesStrings = in.readString();
|
||||
postTitleContainsStrings = in.readString();
|
||||
excludeSubreddits = in.readString();
|
||||
containSubreddits = in.readString();
|
||||
excludeUsers = in.readString();
|
||||
containUsers = in.readString();
|
||||
containFlairs = in.readString();
|
||||
excludeFlairs = in.readString();
|
||||
excludeDomains = in.readString();
|
||||
@ -216,6 +222,20 @@ public class PostFilter implements Parcelable {
|
||||
}
|
||||
}
|
||||
}
|
||||
if (postFilter.containSubreddits != null && !postFilter.containSubreddits.equals("")) {
|
||||
String[] subreddits = postFilter.containSubreddits.split(",", 0);
|
||||
boolean hasRequiredSubreddit = false;
|
||||
String subreddit = post.getSubredditName();
|
||||
for (String s : subreddits) {
|
||||
if (!s.trim().equals("") && subreddit.equalsIgnoreCase(s.trim())) {
|
||||
hasRequiredSubreddit = true;
|
||||
break;
|
||||
}
|
||||
}
|
||||
if (!hasRequiredSubreddit) {
|
||||
return false;
|
||||
}
|
||||
}
|
||||
if (postFilter.excludeUsers != null && !postFilter.excludeUsers.equals("")) {
|
||||
String[] users = postFilter.excludeUsers.split(",", 0);
|
||||
for (String u : users) {
|
||||
@ -224,6 +244,20 @@ public class PostFilter implements Parcelable {
|
||||
}
|
||||
}
|
||||
}
|
||||
if (postFilter.containUsers != null && !postFilter.containUsers.equals("")) {
|
||||
String[] users = postFilter.containUsers.split(",", 0);
|
||||
boolean hasRequiredUser = false;
|
||||
String user = post.getAuthor();
|
||||
for (String s : users) {
|
||||
if (!s.trim().equals("") && user.equalsIgnoreCase(s.trim())) {
|
||||
hasRequiredUser = true;
|
||||
break;
|
||||
}
|
||||
}
|
||||
if (!hasRequiredUser) {
|
||||
return false;
|
||||
}
|
||||
}
|
||||
if (postFilter.excludeFlairs != null && !postFilter.excludeFlairs.equals("")) {
|
||||
String[] flairs = postFilter.excludeFlairs.split(",", 0);
|
||||
for (String f : flairs) {
|
||||
@ -321,12 +355,24 @@ public class PostFilter implements Parcelable {
|
||||
postFilter.excludeSubreddits = stringBuilder.toString();
|
||||
}
|
||||
|
||||
if (p.containSubreddits != null && !p.containSubreddits.equals("")) {
|
||||
stringBuilder = new StringBuilder(postFilter.containSubreddits == null ? "" : postFilter.containSubreddits);
|
||||
stringBuilder.append(",").append(p.containSubreddits);
|
||||
postFilter.containSubreddits = stringBuilder.toString();
|
||||
}
|
||||
|
||||
if (p.excludeUsers != null && !p.excludeUsers.equals("")) {
|
||||
stringBuilder = new StringBuilder(postFilter.excludeUsers == null ? "" : postFilter.excludeUsers);
|
||||
stringBuilder.append(",").append(p.excludeUsers);
|
||||
postFilter.excludeUsers = stringBuilder.toString();
|
||||
}
|
||||
|
||||
if (p.containUsers != null && !p.containUsers.equals("")) {
|
||||
stringBuilder = new StringBuilder(postFilter.containUsers == null ? "" : postFilter.containUsers);
|
||||
stringBuilder.append(",").append(p.containUsers);
|
||||
postFilter.containUsers = stringBuilder.toString();
|
||||
}
|
||||
|
||||
if (p.containFlairs != null && !p.containFlairs.equals("")) {
|
||||
stringBuilder = new StringBuilder(postFilter.containFlairs == null ? "" : postFilter.containFlairs);
|
||||
stringBuilder.append(",").append(p.containFlairs);
|
||||
@ -384,7 +430,9 @@ public class PostFilter implements Parcelable {
|
||||
parcel.writeString(postTitleExcludesStrings);
|
||||
parcel.writeString(postTitleContainsStrings);
|
||||
parcel.writeString(excludeSubreddits);
|
||||
parcel.writeString(containSubreddits);
|
||||
parcel.writeString(excludeUsers);
|
||||
parcel.writeString(containUsers);
|
||||
parcel.writeString(containFlairs);
|
||||
parcel.writeString(excludeFlairs);
|
||||
parcel.writeString(excludeDomains);
|
||||
|
||||
@ -139,16 +139,13 @@ public class DownloadMediaService extends JobService {
|
||||
if (post.isLoadedStreamableVideoAlready()) {
|
||||
extras.putString(EXTRA_URL, post.getVideoUrl());
|
||||
} else {
|
||||
extras.putString(EXTRA_REDGIFS_ID, post.getRedgifsId());
|
||||
extras.putString(EXTRA_STREAMABLE_SHORT_CODE, post.getStreamableShortCode());
|
||||
}
|
||||
|
||||
extras.putString(EXTRA_FILE_NAME, "Streamable-" + post.getStreamableShortCode() + ".mp4");
|
||||
} else if (post.isRedgifs()) {
|
||||
if (post.isLoadedStreamableVideoAlready()) {
|
||||
extras.putString(EXTRA_URL, post.getVideoUrl());
|
||||
} else {
|
||||
extras.putString(EXTRA_STREAMABLE_SHORT_CODE, post.getStreamableShortCode());
|
||||
}
|
||||
extras.putString(EXTRA_URL, post.getVideoUrl());
|
||||
extras.putString(EXTRA_REDGIFS_ID, post.getRedgifsId());
|
||||
|
||||
String redgifsId = post.getRedgifsId();
|
||||
if (redgifsId != null && redgifsId.contains("-")) {
|
||||
|
||||
@ -602,7 +602,7 @@
|
||||
</com.google.android.material.card.MaterialCardView>
|
||||
|
||||
<com.google.android.material.card.MaterialCardView
|
||||
android:id="@+id/subreddits_users_card_view_customize_post_filter_activity"
|
||||
android:id="@+id/subreddits_card_view_customize_post_filter_activity"
|
||||
style="?attr/materialCardViewFilledStyle"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
@ -646,7 +646,6 @@
|
||||
android:id="@+id/excludes_subreddits_text_input_edit_text_customize_post_filter_activity"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_weight="1"
|
||||
android:fontFamily="?attr/font_family"
|
||||
android:textSize="?attr/font_default"
|
||||
android:hint="@string/exclude_subreddits_hint"
|
||||
@ -655,7 +654,7 @@
|
||||
</com.google.android.material.textfield.TextInputLayout>
|
||||
|
||||
<ImageView
|
||||
android:id="@+id/add_subreddits_image_view_customize_post_filter_activity"
|
||||
android:id="@+id/exclude_add_subreddits_image_view_customize_post_filter_activity"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_gravity="center_vertical"
|
||||
@ -668,13 +667,83 @@
|
||||
</LinearLayout>
|
||||
|
||||
<TextView
|
||||
android:id="@+id/exclude_users_explanation_text_view_customize_post_filter_activity"
|
||||
android:id="@+id/contain_subreddits_explanation_text_view_customize_post_filter_activity"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:paddingTop="8dp"
|
||||
android:paddingBottom="8dp"
|
||||
android:paddingStart="16dp"
|
||||
android:paddingEnd="16dp"
|
||||
android:text="@string/post_filter_contain_subreddits_explanation"
|
||||
android:textSize="?attr/font_default"
|
||||
android:textColor="?attr/primaryTextColor"
|
||||
android:fontFamily="?attr/font_family" />
|
||||
|
||||
<LinearLayout
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content">
|
||||
|
||||
<com.google.android.material.textfield.TextInputLayout
|
||||
android:id="@+id/contains_subreddits_text_input_layout_customize_post_filter_activity"
|
||||
android:layout_width="0dp"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_weight="1"
|
||||
android:paddingTop="8dp"
|
||||
android:paddingBottom="16dp"
|
||||
android:layout_marginStart="16dp"
|
||||
style="@style/Widget.Material3.TextInputLayout.OutlinedBox">
|
||||
|
||||
<com.google.android.material.textfield.TextInputEditText
|
||||
android:id="@+id/contains_subreddits_text_input_edit_text_customize_post_filter_activity"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:fontFamily="?attr/font_family"
|
||||
android:textSize="?attr/font_default"
|
||||
android:hint="@string/contain_subreddits_hint"
|
||||
android:maxLines="10" />
|
||||
|
||||
</com.google.android.material.textfield.TextInputLayout>
|
||||
|
||||
<ImageView
|
||||
android:id="@+id/contain_add_subreddits_image_view_customize_post_filter_activity"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_gravity="center_vertical"
|
||||
android:padding="16dp"
|
||||
android:background="?actionBarItemBackground"
|
||||
android:clickable="true"
|
||||
android:focusable="true"
|
||||
android:contentDescription="@string/content_description_post_filter_add_subreddit" />
|
||||
|
||||
</LinearLayout>
|
||||
|
||||
</LinearLayout>
|
||||
|
||||
</com.google.android.material.card.MaterialCardView>
|
||||
<com.google.android.material.card.MaterialCardView
|
||||
android:id="@+id/users_card_view_customize_post_filter_activity"
|
||||
style="?attr/materialCardViewFilledStyle"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginTop="8dp"
|
||||
android:layout_marginBottom="8dp"
|
||||
android:layout_marginStart="16dp"
|
||||
android:layout_marginEnd="16dp"
|
||||
app:cardCornerRadius="12dp">
|
||||
|
||||
<LinearLayout
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:orientation="vertical">
|
||||
|
||||
<TextView
|
||||
android:id="@+id/exclude_users_explanation_text_view_customize_post_filter_activity"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:paddingTop="16dp"
|
||||
android:paddingBottom="8dp"
|
||||
android:paddingStart="16dp"
|
||||
android:paddingEnd="16dp"
|
||||
android:text="@string/post_filter_exclude_users_explanation"
|
||||
android:textSize="?attr/font_default"
|
||||
android:textColor="?attr/primaryTextColor"
|
||||
@ -706,7 +775,58 @@
|
||||
</com.google.android.material.textfield.TextInputLayout>
|
||||
|
||||
<ImageView
|
||||
android:id="@+id/add_users_image_view_customize_post_filter_activity"
|
||||
android:id="@+id/exclude_add_users_image_view_customize_post_filter_activity"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_gravity="center_vertical"
|
||||
android:padding="16dp"
|
||||
android:background="?actionBarItemBackground"
|
||||
android:clickable="true"
|
||||
android:focusable="true"
|
||||
android:contentDescription="@string/content_description_post_filter_add_user" />
|
||||
|
||||
</LinearLayout>
|
||||
|
||||
<TextView
|
||||
android:id="@+id/contain_users_explanation_text_view_customize_post_filter_activity"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:paddingTop="8dp"
|
||||
android:paddingBottom="8dp"
|
||||
android:paddingStart="16dp"
|
||||
android:paddingEnd="16dp"
|
||||
android:text="@string/post_filter_contain_users_explanation"
|
||||
android:textSize="?attr/font_default"
|
||||
android:textColor="?attr/primaryTextColor"
|
||||
android:fontFamily="?attr/font_family" />
|
||||
|
||||
<LinearLayout
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content">
|
||||
|
||||
<com.google.android.material.textfield.TextInputLayout
|
||||
android:id="@+id/contains_users_text_input_layout_customize_post_filter_activity"
|
||||
android:layout_width="0dp"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_weight="1"
|
||||
android:paddingTop="8dp"
|
||||
android:paddingBottom="16dp"
|
||||
android:layout_marginStart="16dp"
|
||||
style="@style/Widget.Material3.TextInputLayout.OutlinedBox">
|
||||
|
||||
<com.google.android.material.textfield.TextInputEditText
|
||||
android:id="@+id/contains_users_text_input_edit_text_customize_post_filter_activity"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:fontFamily="?attr/font_family"
|
||||
android:textSize="?attr/font_default"
|
||||
android:hint="@string/contain_users_hint"
|
||||
android:maxLines="10" />
|
||||
|
||||
</com.google.android.material.textfield.TextInputLayout>
|
||||
|
||||
<ImageView
|
||||
android:id="@+id/contain_add_users_image_view_customize_post_filter_activity"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_gravity="center_vertical"
|
||||
|
||||
@ -602,7 +602,7 @@
|
||||
</com.google.android.material.card.MaterialCardView>
|
||||
|
||||
<com.google.android.material.card.MaterialCardView
|
||||
android:id="@+id/subreddits_users_card_view_customize_post_filter_activity"
|
||||
android:id="@+id/subreddits_card_view_customize_post_filter_activity"
|
||||
style="?attr/materialCardViewFilledStyle"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
@ -646,7 +646,6 @@
|
||||
android:id="@+id/excludes_subreddits_text_input_edit_text_customize_post_filter_activity"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_weight="1"
|
||||
android:fontFamily="?attr/font_family"
|
||||
android:textSize="?attr/font_default"
|
||||
android:hint="@string/exclude_subreddits_hint"
|
||||
@ -655,7 +654,7 @@
|
||||
</com.google.android.material.textfield.TextInputLayout>
|
||||
|
||||
<ImageView
|
||||
android:id="@+id/add_subreddits_image_view_customize_post_filter_activity"
|
||||
android:id="@+id/exclude_add_subreddits_image_view_customize_post_filter_activity"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_gravity="center_vertical"
|
||||
@ -668,13 +667,81 @@
|
||||
</LinearLayout>
|
||||
|
||||
<TextView
|
||||
android:id="@+id/exclude_users_explanation_text_view_customize_post_filter_activity"
|
||||
android:id="@+id/contain_subreddits_explanation_text_view_customize_post_filter_activity"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:paddingTop="8dp"
|
||||
android:paddingBottom="8dp"
|
||||
android:paddingStart="16dp"
|
||||
android:paddingEnd="16dp"
|
||||
android:text="@string/post_filter_contain_subreddits_explanation"
|
||||
android:textSize="?attr/font_default"
|
||||
android:textColor="?attr/primaryTextColor"
|
||||
android:fontFamily="?attr/font_family" />
|
||||
|
||||
<LinearLayout
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content">
|
||||
|
||||
<com.google.android.material.textfield.TextInputLayout
|
||||
android:id="@+id/contains_subreddits_text_input_layout_customize_post_filter_activity"
|
||||
android:layout_width="0dp"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_weight="1"
|
||||
android:paddingTop="8dp"
|
||||
android:paddingBottom="16dp"
|
||||
android:layout_marginStart="16dp"
|
||||
style="@style/Widget.Material3.TextInputLayout.OutlinedBox">
|
||||
|
||||
<com.google.android.material.textfield.TextInputEditText
|
||||
android:id="@+id/contains_subreddits_text_input_edit_text_customize_post_filter_activity"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:fontFamily="?attr/font_family"
|
||||
android:textSize="?attr/font_default"
|
||||
android:hint="@string/contain_subreddits_hint"
|
||||
android:maxLines="10" />
|
||||
|
||||
</com.google.android.material.textfield.TextInputLayout>
|
||||
|
||||
<ImageView
|
||||
android:id="@+id/contain_add_subreddits_image_view_customize_post_filter_activity"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_gravity="center_vertical"
|
||||
android:padding="16dp"
|
||||
android:background="?actionBarItemBackground"
|
||||
android:clickable="true"
|
||||
android:focusable="true"
|
||||
android:contentDescription="@string/content_description_post_filter_add_subreddit" />
|
||||
|
||||
</LinearLayout>
|
||||
|
||||
</LinearLayout>
|
||||
|
||||
</com.google.android.material.card.MaterialCardView>
|
||||
<com.google.android.material.card.MaterialCardView
|
||||
android:id="@+id/users_card_view_customize_post_filter_activity"
|
||||
style="?attr/materialCardViewFilledStyle"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginTop="8dp"
|
||||
android:layout_marginBottom="8dp"
|
||||
app:cardCornerRadius="12dp">
|
||||
|
||||
<LinearLayout
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:orientation="vertical">
|
||||
|
||||
<TextView
|
||||
android:id="@+id/exclude_users_explanation_text_view_customize_post_filter_activity"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:paddingTop="16dp"
|
||||
android:paddingBottom="8dp"
|
||||
android:paddingStart="16dp"
|
||||
android:paddingEnd="16dp"
|
||||
android:text="@string/post_filter_exclude_users_explanation"
|
||||
android:textSize="?attr/font_default"
|
||||
android:textColor="?attr/primaryTextColor"
|
||||
@ -706,7 +773,58 @@
|
||||
</com.google.android.material.textfield.TextInputLayout>
|
||||
|
||||
<ImageView
|
||||
android:id="@+id/add_users_image_view_customize_post_filter_activity"
|
||||
android:id="@+id/exclude_add_users_image_view_customize_post_filter_activity"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_gravity="center_vertical"
|
||||
android:padding="16dp"
|
||||
android:background="?actionBarItemBackground"
|
||||
android:clickable="true"
|
||||
android:focusable="true"
|
||||
android:contentDescription="@string/content_description_post_filter_add_user" />
|
||||
|
||||
</LinearLayout>
|
||||
|
||||
<TextView
|
||||
android:id="@+id/contain_users_explanation_text_view_customize_post_filter_activity"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:paddingTop="8dp"
|
||||
android:paddingBottom="8dp"
|
||||
android:paddingStart="16dp"
|
||||
android:paddingEnd="16dp"
|
||||
android:text="@string/post_filter_contain_users_explanation"
|
||||
android:textSize="?attr/font_default"
|
||||
android:textColor="?attr/primaryTextColor"
|
||||
android:fontFamily="?attr/font_family" />
|
||||
|
||||
<LinearLayout
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content">
|
||||
|
||||
<com.google.android.material.textfield.TextInputLayout
|
||||
android:id="@+id/contains_users_text_input_layout_customize_post_filter_activity"
|
||||
android:layout_width="0dp"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_weight="1"
|
||||
android:paddingTop="8dp"
|
||||
android:paddingBottom="16dp"
|
||||
android:layout_marginStart="16dp"
|
||||
style="@style/Widget.Material3.TextInputLayout.OutlinedBox">
|
||||
|
||||
<com.google.android.material.textfield.TextInputEditText
|
||||
android:id="@+id/contains_users_text_input_edit_text_customize_post_filter_activity"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:fontFamily="?attr/font_family"
|
||||
android:textSize="?attr/font_default"
|
||||
android:hint="@string/contain_users_hint"
|
||||
android:maxLines="10" />
|
||||
|
||||
</com.google.android.material.textfield.TextInputLayout>
|
||||
|
||||
<ImageView
|
||||
android:id="@+id/contain_add_users_image_view_customize_post_filter_activity"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_gravity="center_vertical"
|
||||
|
||||
@ -590,7 +590,7 @@
|
||||
</com.google.android.material.card.MaterialCardView>
|
||||
|
||||
<com.google.android.material.card.MaterialCardView
|
||||
android:id="@+id/subreddits_users_card_view_customize_post_filter_activity"
|
||||
android:id="@+id/subreddits_card_view_customize_post_filter_activity"
|
||||
style="?attr/materialCardViewFilledStyle"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
@ -645,7 +645,7 @@
|
||||
</com.google.android.material.textfield.TextInputLayout>
|
||||
|
||||
<ImageView
|
||||
android:id="@+id/add_subreddits_image_view_customize_post_filter_activity"
|
||||
android:id="@+id/exclude_add_subreddits_image_view_customize_post_filter_activity"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_gravity="center_vertical"
|
||||
@ -653,15 +653,85 @@
|
||||
android:background="?actionBarItemBackground"
|
||||
android:clickable="true"
|
||||
android:focusable="true"
|
||||
android:contentDescription="@string/content_description_post_filter_add_subreddit" />
|
||||
android:contentDescription="@string/content_description_post_filter_add_user" />
|
||||
|
||||
</LinearLayout>
|
||||
|
||||
<TextView
|
||||
android:id="@+id/contain_subreddits_explanation_text_view_customize_post_filter_activity"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:paddingTop="8dp"
|
||||
android:paddingBottom="8dp"
|
||||
android:paddingStart="16dp"
|
||||
android:paddingEnd="16dp"
|
||||
android:text="@string/post_filter_contain_subreddits_explanation"
|
||||
android:textSize="?attr/font_default"
|
||||
android:textColor="?attr/primaryTextColor"
|
||||
android:fontFamily="?attr/font_family" />
|
||||
|
||||
<LinearLayout
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content">
|
||||
|
||||
<com.google.android.material.textfield.TextInputLayout
|
||||
android:id="@+id/contains_subreddits_text_input_layout_customize_post_filter_activity"
|
||||
android:layout_width="0dp"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_weight="1"
|
||||
android:paddingTop="8dp"
|
||||
android:paddingBottom="16dp"
|
||||
android:layout_marginStart="16dp"
|
||||
style="@style/Widget.Material3.TextInputLayout.OutlinedBox">
|
||||
|
||||
<com.google.android.material.textfield.TextInputEditText
|
||||
android:id="@+id/contains_subreddits_text_input_edit_text_customize_post_filter_activity"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:fontFamily="?attr/font_family"
|
||||
android:textSize="?attr/font_default"
|
||||
android:hint="@string/contain_subreddits_hint"
|
||||
android:maxLines="10" />
|
||||
|
||||
</com.google.android.material.textfield.TextInputLayout>
|
||||
|
||||
<ImageView
|
||||
android:id="@+id/contain_add_subreddits_image_view_customize_post_filter_activity"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_gravity="center_vertical"
|
||||
android:padding="16dp"
|
||||
android:background="?actionBarItemBackground"
|
||||
android:clickable="true"
|
||||
android:focusable="true"
|
||||
android:contentDescription="@string/content_description_post_filter_add_user" />
|
||||
|
||||
</LinearLayout>
|
||||
|
||||
</LinearLayout>
|
||||
|
||||
</com.google.android.material.card.MaterialCardView>
|
||||
<com.google.android.material.card.MaterialCardView
|
||||
android:id="@+id/users_card_view_customize_post_filter_activity"
|
||||
style="?attr/materialCardViewFilledStyle"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginTop="8dp"
|
||||
android:layout_marginBottom="8dp"
|
||||
android:layout_marginStart="16dp"
|
||||
android:layout_marginEnd="16dp"
|
||||
app:cardCornerRadius="12dp">
|
||||
|
||||
<LinearLayout
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:orientation="vertical">
|
||||
|
||||
<TextView
|
||||
android:id="@+id/exclude_users_explanation_text_view_customize_post_filter_activity"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:paddingTop="8dp"
|
||||
android:paddingTop="16dp"
|
||||
android:paddingBottom="8dp"
|
||||
android:paddingStart="16dp"
|
||||
android:paddingEnd="16dp"
|
||||
@ -688,6 +758,7 @@
|
||||
android:id="@+id/excludes_users_text_input_edit_text_customize_post_filter_activity"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_weight="1"
|
||||
android:fontFamily="?attr/font_family"
|
||||
android:textSize="?attr/font_default"
|
||||
android:hint="@string/exclude_users_hint"
|
||||
@ -696,7 +767,58 @@
|
||||
</com.google.android.material.textfield.TextInputLayout>
|
||||
|
||||
<ImageView
|
||||
android:id="@+id/add_users_image_view_customize_post_filter_activity"
|
||||
android:id="@+id/exclude_add_users_image_view_customize_post_filter_activity"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_gravity="center_vertical"
|
||||
android:padding="16dp"
|
||||
android:background="?actionBarItemBackground"
|
||||
android:clickable="true"
|
||||
android:focusable="true"
|
||||
android:contentDescription="@string/content_description_post_filter_add_user" />
|
||||
|
||||
</LinearLayout>
|
||||
|
||||
<TextView
|
||||
android:id="@+id/contain_users_explanation_text_view_customize_post_filter_activity"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:paddingTop="8dp"
|
||||
android:paddingBottom="8dp"
|
||||
android:paddingStart="16dp"
|
||||
android:paddingEnd="16dp"
|
||||
android:text="@string/post_filter_contain_users_explanation"
|
||||
android:textSize="?attr/font_default"
|
||||
android:textColor="?attr/primaryTextColor"
|
||||
android:fontFamily="?attr/font_family" />
|
||||
|
||||
<LinearLayout
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content">
|
||||
|
||||
<com.google.android.material.textfield.TextInputLayout
|
||||
android:id="@+id/contains_users_text_input_layout_customize_post_filter_activity"
|
||||
android:layout_width="0dp"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_weight="1"
|
||||
android:paddingTop="8dp"
|
||||
android:paddingBottom="16dp"
|
||||
android:layout_marginStart="16dp"
|
||||
style="@style/Widget.Material3.TextInputLayout.OutlinedBox">
|
||||
|
||||
<com.google.android.material.textfield.TextInputEditText
|
||||
android:id="@+id/contains_users_text_input_edit_text_customize_post_filter_activity"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:fontFamily="?attr/font_family"
|
||||
android:textSize="?attr/font_default"
|
||||
android:hint="@string/contain_users_hint"
|
||||
android:maxLines="10" />
|
||||
|
||||
</com.google.android.material.textfield.TextInputLayout>
|
||||
|
||||
<ImageView
|
||||
android:id="@+id/contain_add_users_image_view_customize_post_filter_activity"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_gravity="center_vertical"
|
||||
@ -1069,7 +1191,7 @@
|
||||
</com.google.android.material.card.MaterialCardView>
|
||||
|
||||
</LinearLayout>
|
||||
|
||||
|
||||
</androidx.core.widget.NestedScrollView>
|
||||
|
||||
</androidx.coordinatorlayout.widget.CoordinatorLayout>
|
||||
@ -576,6 +576,8 @@
|
||||
<item>@string/contain_flair</item>
|
||||
<item>@string/exclude_domain</item>
|
||||
<item>@string/contain_domain</item>
|
||||
<item>@string/contain_subreddit</item>
|
||||
<item>@string/contain_user</item>
|
||||
</string-array>
|
||||
|
||||
<string-array name="add_to_comment_filter_options">
|
||||
|
||||
@ -1146,7 +1146,9 @@
|
||||
<string name="title_excludes_regex_hint">Title: excludes regex</string>
|
||||
<string name="title_contains_regex_hint">Title: contains regex</string>
|
||||
<string name="exclude_subreddits_hint">Exclude subreddits (e.g. funny,AskReddit)</string>
|
||||
<string name="contain_subreddits_hint">Contain subreddits (e.g. funny,AskReddit)</string>
|
||||
<string name="exclude_users_hint">Exclude users (e.g. Hostilenemy,random)</string>
|
||||
<string name="contain_users_hint">Contain users (e.g. Hostilenemy,random)</string>
|
||||
<string name="exclude_flairs_hint">Exclude flairs (e.g. flair1,flair2)</string>
|
||||
<string name="contain_flairs_hint">Contain flairs (e.g. flair1,flair2)</string>
|
||||
<string name="exclude_domains_hint">Exclude domains</string>
|
||||
@ -1186,7 +1188,9 @@
|
||||
<string name="post_filter_title_excludes_regex_explanation">Posts will be filtered out if their title matches the following regular expression.</string>
|
||||
<string name="post_filter_title_contains_regex_explanation">Posts will be filtered out if their title does not match the following regular expression.</string>
|
||||
<string name="post_filter_exclude_subreddits_explanation">Posts from the following subreddits will be filtered out.</string>
|
||||
<string name="post_filter_contain_subreddits_explanation">Posts will be filtered out if they are not from the following subreddits.</string>
|
||||
<string name="post_filter_exclude_users_explanation">Posts submitted by the following users will be filtered out.</string>
|
||||
<string name="post_filter_contain_users_explanation">Posts will be filtered out if they are not from the following users.</string>
|
||||
<string name="post_filter_exclude_flairs_explanation">Posts that have the following flairs will be filtered out.</string>
|
||||
<string name="post_filter_contain_flairs_explanation">Posts that do not have the following flairs will be filtered out.</string>
|
||||
<string name="post_filter_exclude_domains_explanation">Link posts that have the following urls will be filtered out.</string>
|
||||
@ -1253,7 +1257,9 @@
|
||||
|
||||
<string name="select">Select</string>
|
||||
<string name="exclude_subreddit">Exclude this subreddit</string>
|
||||
<string name="contain_subreddit">Contain this subreddit</string>
|
||||
<string name="exclude_user">Exclude this user</string>
|
||||
<string name="contain_user">Contain this user</string>
|
||||
<string name="exclude_flair">Exclude this flair</string>
|
||||
<string name="contain_flair">Contain this flair</string>
|
||||
<string name="exclude_domain">Exclude this domain</string>
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user