From 7b154f4d31a59cce78007a9e1c3e44ca55465b6a Mon Sep 17 00:00:00 2001 From: Alex Ning Date: Sat, 26 Dec 2020 23:40:26 +0800 Subject: [PATCH] Version 4.2.0-beta1. Fix regex in post filter. Fix UI issues. --- app/build.gradle | 4 ++-- .../activities/PostFilterPreferenceActivity.java | 2 ++ .../activities/PostFilterUsageListingActivity.java | 2 ++ .../infinityforreddit/postfilter/PostFilter.java | 14 +++++++------- app/src/main/res/values-zh-rCN/strings.xml | 2 +- app/src/main/res/values/strings.xml | 10 +++++----- 6 files changed, 19 insertions(+), 15 deletions(-) diff --git a/app/build.gradle b/app/build.gradle index 57399f45..ae211bd8 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -6,8 +6,8 @@ android { applicationId "ml.docilealligator.infinityforreddit" minSdkVersion 21 targetSdkVersion 30 - versionCode 52 - versionName "4.1.1" + versionCode 53 + versionName "4.2.0-beta1" testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner" javaCompileOptions { annotationProcessorOptions { diff --git a/app/src/main/java/ml/docilealligator/infinityforreddit/activities/PostFilterPreferenceActivity.java b/app/src/main/java/ml/docilealligator/infinityforreddit/activities/PostFilterPreferenceActivity.java index ebcc8453..f75f08f7 100644 --- a/app/src/main/java/ml/docilealligator/infinityforreddit/activities/PostFilterPreferenceActivity.java +++ b/app/src/main/java/ml/docilealligator/infinityforreddit/activities/PostFilterPreferenceActivity.java @@ -59,6 +59,8 @@ public class PostFilterPreferenceActivity extends BaseActivity { protected void onCreate(Bundle savedInstanceState) { ((Infinity) getApplication()).getAppComponent().inject(this); + setImmersiveModeNotApplicable(); + super.onCreate(savedInstanceState); setContentView(R.layout.activity_post_filter_preference); diff --git a/app/src/main/java/ml/docilealligator/infinityforreddit/activities/PostFilterUsageListingActivity.java b/app/src/main/java/ml/docilealligator/infinityforreddit/activities/PostFilterUsageListingActivity.java index 482b1171..daf9a704 100644 --- a/app/src/main/java/ml/docilealligator/infinityforreddit/activities/PostFilterUsageListingActivity.java +++ b/app/src/main/java/ml/docilealligator/infinityforreddit/activities/PostFilterUsageListingActivity.java @@ -70,6 +70,8 @@ public class PostFilterUsageListingActivity extends BaseActivity { protected void onCreate(Bundle savedInstanceState) { ((Infinity) getApplication()).getAppComponent().inject(this); + setImmersiveModeNotApplicable(); + super.onCreate(savedInstanceState); setContentView(R.layout.activity_post_filter_application); diff --git a/app/src/main/java/ml/docilealligator/infinityforreddit/postfilter/PostFilter.java b/app/src/main/java/ml/docilealligator/infinityforreddit/postfilter/PostFilter.java index 63e26ee3..5eaf70bc 100644 --- a/app/src/main/java/ml/docilealligator/infinityforreddit/postfilter/PostFilter.java +++ b/app/src/main/java/ml/docilealligator/infinityforreddit/postfilter/PostFilter.java @@ -118,8 +118,8 @@ public class PostFilter implements Parcelable { return false; } if (postFilter.postTitleExcludesRegex != null && !postFilter.postTitleExcludesRegex.equals("")) { - Pattern spoilerPattern = Pattern.compile(postFilter.postTitleExcludesRegex); - Matcher matcher = spoilerPattern.matcher(postFilter.postTitleExcludesRegex); + Pattern pattern = Pattern.compile(postFilter.postTitleExcludesRegex); + Matcher matcher = pattern.matcher(post.getTitle()); if (matcher.find()) { return false; } @@ -127,7 +127,7 @@ public class PostFilter implements Parcelable { if (postFilter.postTitleExcludesStrings != null && !postFilter.postTitleExcludesStrings.equals("")) { String[] titles = postFilter.postTitleExcludesStrings.split(",", 0); for (String t : titles) { - if (post.getTitle().contains(t)) { + if (!t.equals("") && post.getTitle().contains(t)) { return false; } } @@ -135,7 +135,7 @@ public class PostFilter implements Parcelable { if (postFilter.excludeSubreddits != null && !postFilter.excludeSubreddits.equals("")) { String[] subreddits = postFilter.excludeSubreddits.split(",", 0); for (String s : subreddits) { - if (post.getSubredditName().equalsIgnoreCase(s)) { + if (!s.equals("") && post.getSubredditName().equalsIgnoreCase(s)) { return false; } } @@ -143,7 +143,7 @@ public class PostFilter implements Parcelable { if (postFilter.excludeUsers != null && !postFilter.excludeUsers.equals("")) { String[] users = postFilter.excludeUsers.split(",", 0); for (String u : users) { - if (post.getAuthor().equalsIgnoreCase(u)) { + if (!u.equals("") && post.getAuthor().equalsIgnoreCase(u)) { return false; } } @@ -151,7 +151,7 @@ public class PostFilter implements Parcelable { if (postFilter.excludeFlairs != null && !postFilter.excludeFlairs.equals("")) { String[] flairs = postFilter.excludeFlairs.split(",", 0); for (String f : flairs) { - if (post.getFlair().equalsIgnoreCase(f)) { + if (!f.equals("") && post.getFlair().equalsIgnoreCase(f)) { return false; } } @@ -159,7 +159,7 @@ public class PostFilter implements Parcelable { if (postFilter.containFlairs != null && !postFilter.containFlairs.equals("")) { String[] flairs = postFilter.containFlairs.split(",", 0); for (String f : flairs) { - if (post.getFlair().equalsIgnoreCase(f)) { + if (!f.equals("") && post.getFlair().equalsIgnoreCase(f)) { return false; } } diff --git a/app/src/main/res/values-zh-rCN/strings.xml b/app/src/main/res/values-zh-rCN/strings.xml index e27facdb..1b2cedd4 100644 --- a/app/src/main/res/values-zh-rCN/strings.xml +++ b/app/src/main/res/values-zh-rCN/strings.xml @@ -929,5 +929,5 @@ https://play.google.com/store/apps/details?id=ml.docilealligator.infinityforredd "无预览文章类型背景颜色" "应用于:占位符,指示没有预览可用时的帖子类型" "语言" - "启用搜索记录" + "启用搜索记录" \ No newline at end of file diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index 008e99e3..1c423672 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -964,12 +964,12 @@ Only NSFW Only Spoiler - Title: excludes keywords + Title: excludes keywords (key1,key2) Title: excludes regex - Exclude subreddits - Exclude users - Exclude flairs - Contain flairs + Exclude subreddits (e.g. funny,AskReddit) + Exclude users (e.g. Hostilenemy,random) + Exclude flairs (e.g. flair1,flair2) + Contain flairs (e.g. flair1,flair2) Min vote (-1: no restriction) Max vote (-1: no restriction) Min comments (-1: no restriction)