Replace Filter settings with Post Filter.

This commit is contained in:
Alex Ning
2020-12-26 00:26:30 +08:00
parent 265805038d
commit fa55fb369d
34 changed files with 622 additions and 111 deletions

View File

@@ -0,0 +1,9 @@
<vector xmlns:android="http://schemas.android.com/apk/res/android"
android:width="24dp"
android:height="24dp"
android:viewportWidth="24"
android:viewportHeight="24">
<path
android:pathData="M11,11h2.12l6.16,-6.16l-2.12,-2.12L11,8.88V11zM20.71,2L20,1.29c-0.39,-0.39 -1.02,-0.39 -1.41,0l-0.72,0.72l2.12,2.12l0.72,-0.72C21.1,3.02 21.1,2.39 20.71,2zM17.9,9.05C17.96,9.41 18,9.79 18,10.2c0,1.71 -1.08,4.64 -6,9.14c-4.92,-4.49 -6,-7.43 -6,-9.14C6,6.17 9.09,4 12,4c0.32,0 0.65,0.03 0.97,0.08l1.65,-1.65C13.78,2.16 12.9,2 12,2c-4.2,0 -8,3.22 -8,8.2c0,3.32 2.67,7.25 8,11.8c5.33,-4.55 8,-8.48 8,-11.8c0,-1.01 -0.16,-1.94 -0.45,-2.8L17.9,9.05z"
android:fillColor="#FFFFFF"/>
</vector>

View File

@@ -0,0 +1,9 @@
<vector xmlns:android="http://schemas.android.com/apk/res/android"
android:width="24dp"
android:height="24dp"
android:viewportWidth="24"
android:viewportHeight="24">
<path
android:pathData="M11,11h2.12l6.16,-6.16l-2.12,-2.12L11,8.88V11zM20.71,2L20,1.29c-0.39,-0.39 -1.02,-0.39 -1.41,0l-0.72,0.72l2.12,2.12l0.72,-0.72C21.1,3.02 21.1,2.39 20.71,2zM17.9,9.05C17.96,9.41 18,9.79 18,10.2c0,1.71 -1.08,4.64 -6,9.14c-4.92,-4.49 -6,-7.43 -6,-9.14C6,6.17 9.09,4 12,4c0.32,0 0.65,0.03 0.97,0.08l1.65,-1.65C13.78,2.16 12.9,2 12,2c-4.2,0 -8,3.22 -8,8.2c0,3.32 2.67,7.25 8,11.8c5.33,-4.55 8,-8.48 8,-11.8c0,-1.01 -0.16,-1.94 -0.45,-2.8L17.9,9.05z"
android:fillColor="#000000"/>
</vector>

View File

@@ -43,6 +43,26 @@
android:layout_height="wrap_content"
android:orientation="vertical">
<com.google.android.material.textfield.TextInputLayout
android:id="@+id/name_text_input_layout_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"
style="@style/Widget.MaterialComponents.TextInputLayout.OutlinedBox">
<com.google.android.material.textfield.TextInputEditText
android:id="@+id/name_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/post_filter_name_hint" />
</com.google.android.material.textfield.TextInputLayout>
<LinearLayout
android:id="@+id/post_type_text_linear_layout_customize_post_filter_activity"
android:layout_width="match_parent"
@@ -339,7 +359,7 @@
android:layout_height="wrap_content"
android:fontFamily="?attr/font_family"
android:textSize="?attr/font_default"
android:hint="@string/excludes_subreddits_hint" />
android:hint="@string/exclude_subreddits_hint" />
</com.google.android.material.textfield.TextInputLayout>
@@ -359,7 +379,7 @@
android:layout_height="wrap_content"
android:fontFamily="?attr/font_family"
android:textSize="?attr/font_default"
android:hint="@string/excludes_users_hint" />
android:hint="@string/exclude_users_hint" />
</com.google.android.material.textfield.TextInputLayout>
@@ -379,7 +399,7 @@
android:layout_height="wrap_content"
android:fontFamily="?attr/font_family"
android:textSize="?attr/font_default"
android:hint="@string/excludes_flairs_hint" />
android:hint="@string/exclude_flairs_hint" />
</com.google.android.material.textfield.TextInputLayout>
@@ -399,7 +419,7 @@
android:layout_height="wrap_content"
android:fontFamily="?attr/font_family"
android:textSize="?attr/font_default"
android:hint="@string/contains_flairs_hint" />
android:hint="@string/contain_flairs_hint" />
</com.google.android.material.textfield.TextInputLayout>

View File

@@ -0,0 +1,53 @@
<?xml version="1.0" encoding="utf-8"?>
<androidx.coordinatorlayout.widget.CoordinatorLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:id="@+id/coordinator_layout_post_filter_preference_activity"
tools:context=".activities.PostFilterPreferenceActivity">
<com.google.android.material.appbar.AppBarLayout
android:id="@+id/appbar_layout_post_filter_preference_activity"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:theme="@style/AppTheme.AppBarOverlay">
<com.google.android.material.appbar.CollapsingToolbarLayout
android:id="@+id/collapsing_toolbar_layout_post_filter_preference_activity"
android:layout_width="match_parent"
android:layout_height="match_parent"
app:layout_scrollFlags="scroll|enterAlways"
app:titleEnabled="false"
app:toolbarId="@+id/toolbar_post_filter_preference_activity">
<androidx.appcompat.widget.Toolbar
android:id="@+id/toolbar_post_filter_preference_activity"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:minHeight="?attr/actionBarSize"
app:popupTheme="@style/AppTheme.PopupOverlay"
app:navigationIcon="?attr/homeAsUpIndicator" />
</com.google.android.material.appbar.CollapsingToolbarLayout>
</com.google.android.material.appbar.AppBarLayout>
<androidx.recyclerview.widget.RecyclerView
android:id="@+id/recycler_view_post_filter_preference_activity"
android:layout_width="match_parent"
android:layout_height="match_parent"
app:layoutManager="androidx.recyclerview.widget.LinearLayoutManager"
app:layout_behavior="@string/appbar_scrolling_view_behavior" />
<com.google.android.material.floatingactionbutton.FloatingActionButton
android:id="@+id/fab_post_filter_preference_activity"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_margin="@dimen/fab_margin"
android:layout_gravity="bottom|end"
app:backgroundTint="?attr/colorPrimaryLightTheme"
app:srcCompat="@drawable/ic_add_day_night_24dp"
app:tint="@android:color/white" />
</androidx.coordinatorlayout.widget.CoordinatorLayout>

View File

@@ -0,0 +1,70 @@
<?xml version="1.0" encoding="utf-8"?>
<androidx.core.widget.NestedScrollView xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="wrap_content"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:paddingBottom="8dp"
android:overScrollMode="never">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical">
<TextView
android:id="@+id/edit_text_view_post_filter_options_bottom_sheet_fragment"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="@string/edit"
android:textColor="?attr/primaryTextColor"
android:textSize="?attr/font_default"
android:fontFamily="?attr/font_family"
android:paddingTop="16dp"
android:paddingBottom="16dp"
android:paddingStart="32dp"
android:paddingEnd="32dp"
app:drawableStartCompat="@drawable/ic_edit_24dp"
android:drawablePadding="48dp"
android:clickable="true"
android:focusable="true"
android:background="?attr/selectableItemBackground" />
<TextView
android:id="@+id/apply_to_text_view_post_filter_options_bottom_sheet_fragment"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="@string/apply_post_filter_to"
android:textColor="?attr/primaryTextColor"
android:textSize="?attr/font_default"
android:fontFamily="?attr/font_family"
android:paddingTop="16dp"
android:paddingBottom="16dp"
android:paddingStart="32dp"
android:paddingEnd="32dp"
app:drawableStartCompat="@drawable/ic_apply_to_24dp"
android:drawablePadding="48dp"
android:clickable="true"
android:focusable="true"
android:background="?attr/selectableItemBackground" />
<TextView
android:id="@+id/delete_text_view_post_filter_options_bottom_sheet_fragment"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="@string/delete"
android:textColor="?attr/primaryTextColor"
android:textSize="?attr/font_default"
android:fontFamily="?attr/font_family"
android:paddingTop="16dp"
android:paddingBottom="16dp"
android:paddingStart="32dp"
android:paddingEnd="32dp"
app:drawableStartCompat="@drawable/ic_delete_24dp"
android:drawablePadding="48dp"
android:clickable="true"
android:focusable="true"
android:background="?attr/selectableItemBackground" />
</LinearLayout>
</androidx.core.widget.NestedScrollView>

View File

@@ -4,8 +4,7 @@
android:layout_width="match_parent"
android:layout_height="match_parent"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:orientation="vertical"
tools:context=".settings.NsfwAndBlurringFragment">
tools:context=".settings.PostHistoryFragment">
<LinearLayout
android:layout_width="match_parent"

View File

@@ -0,0 +1,25 @@
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="wrap_content"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:orientation="vertical">
<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:padding="16dp"
android:drawablePadding="32dp"
android:text="@string/restart_app_see_changes"
android:textColor="@color/settingsSubtitleColor"
android:gravity="center_vertical"
android:textSize="?attr/font_default"
android:fontFamily="?attr/font_family"
app:drawableStartCompat="@drawable/ic_info_preference_24dp" />
<View
android:layout_width="match_parent"
android:layout_height="1dp"
android:background="@color/dividerColor" />
</LinearLayout>

View File

@@ -0,0 +1,14 @@
<?xml version="1.0" encoding="utf-8"?>
<TextView
xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent"
android:layout_height="wrap_content"
android:paddingTop="16dp"
android:paddingBottom="16dp"
android:paddingStart="72dp"
android:paddingEnd="16dp"
android:textColor="?attr/primaryTextColor"
android:textSize="?attr/font_16"
android:fontFamily="?attr/font_family"
android:clickable="true"
android:focusable="true"
android:background="?attr/selectableItemBackground" />

View File

@@ -892,7 +892,7 @@ Reiter könnten den Inhalt verlieren, wenn zu anderen gewechselt wird. Selbes Ve
<string name="settings_miscellaneous_title">"Sonstiges"</string>
<string name="settings_respect_subreddit_recommended_comment_sort_type_title">"Vom Subreddit vorgeschlagenen Kommentar Sortier-Typ respektieren"</string>
<string name="settings_respect_subreddit_recommended_comment_sort_type_summary">"Kommentar Sortier-Typ wird nicht gespeichert"</string>
<string name="settings_filter_title">"Filter"</string>
<string name="settings_post_filter_title">"Filter"</string>
<string name="settings_subreddit_filter_category">"Verstecke Subreddits"</string>
<string name="settings_subreddit_filter_popular_and_all">"In r/popular und r/all"</string>
<string name="settings_credits_ufo_capturing_animation_title">"UFO-Aufnahmeanimation"</string>

View File

@@ -872,6 +872,6 @@ Videos de Reddit están en menor resolución"</string>
<string name="downloading">"Descargando"</string>
<string name="subreddit_filter_popular_and_all_activity_label">"r/all y r/popular"</string>
<string name="settings_miscellaneous_title">"Misceláneo"</string>
<string name="settings_filter_title">"Filtrar"</string>
<string name="settings_post_filter_title">"Filtrar"</string>
<string name="select_video_quality">"Seleccione calidad del video"</string>
</resources>

View File

@@ -930,7 +930,7 @@ Les onglets pourraient perdre tout leur contenu quand vous passez d'un onglet à
<string name="settings_miscellaneous_title">"Divers"</string>
<string name="settings_respect_subreddit_recommended_comment_sort_type_title">"Respecter l'ordre de tri recommandé par le subreddit pour les commentaires "</string>
<string name="settings_respect_subreddit_recommended_comment_sort_type_summary">"L'ordre de tri des commentaires ne sera pas sauvegardé "</string>
<string name="settings_filter_title">"Filtre"</string>
<string name="settings_post_filter_title">"Filtre"</string>
<string name="settings_subreddit_filter_category">"Cacher des Subreddits"</string>
<string name="settings_subreddit_filter_popular_and_all">"Dans r/popular et r/all"</string>
<string name="settings_credits_ufo_capturing_animation_title">"Animation de capture de l'OVNI"</string>

View File

@@ -918,7 +918,7 @@ https://play.google.com/store/apps/details?id=ml.docilealligator.infinityforredd
<string name="settings_miscellaneous_title">"विविध "</string>
<string name="settings_respect_subreddit_recommended_comment_sort_type_title">"सबरैडिट द्वारा संस्तुतित टिप्पणी क्रम प्रकार बनाए रखें "</string>
<string name="settings_respect_subreddit_recommended_comment_sort_type_summary">"टिप्पणी क्रम प्रकार सरंक्षित नहीं किया जाएगा "</string>
<string name="settings_filter_title">"छंटनी "</string>
<string name="settings_post_filter_title">"छंटनी "</string>
<string name="settings_subreddit_filter_category">"सबरैडिट छुपाएं "</string>
<string name="settings_subreddit_filter_popular_and_all">"r/popular एवं r/all में "</string>
<string name="settings_credits_ufo_capturing_animation_title">"UFO बंदी बनाते हुए एनिमेशन "</string>

View File

@@ -880,7 +880,7 @@ Poruka: %2$s"</string>
<string name="settings_miscellaneous_title">"Razno"</string>
<string name="settings_respect_subreddit_recommended_comment_sort_type_title">"Poštuj tip sortiranja komentara preporučen na podredditu"</string>
<string name="settings_respect_subreddit_recommended_comment_sort_type_summary">"Tip sortiranja komentara neće biti spremljen"</string>
<string name="settings_filter_title">"Filter"</string>
<string name="settings_post_filter_title">"Filter"</string>
<string name="settings_subreddit_filter_category">"Sakrij podreddite"</string>
<string name="settings_subreddit_filter_popular_and_all">"U r/popular i r/all"</string>
<string name="settings_credits_ufo_capturing_animation_title">"UFO Capturing Animation"</string>

View File

@@ -935,7 +935,7 @@ I video di Reddit sono in minore risoluzione."</string>
<!-- Fuzzy -->
<string name="settings_respect_subreddit_recommended_comment_sort_type_summary">"Il tipo di ordinamento dei commenti non verrà salvato"</string>
<string name="settings_filter_title">"Filtro"</string>
<string name="settings_post_filter_title">"Filtro"</string>
<!-- Fuzzy -->
<string name="settings_subreddit_filter_category">"Nascondi i Subreddit"</string>

View File

@@ -926,7 +926,7 @@ https://play.google.com/store/apps/details?id=ml.docilealligator.infinityforredd
<string name="settings_miscellaneous_title">"その他の設定"</string>
<string name="settings_respect_subreddit_recommended_comment_sort_type_title">"Subredditで推奨されているコメントの並び順を使用"</string>
<string name="settings_respect_subreddit_recommended_comment_sort_type_summary">"コメントの並び順は保存されません"</string>
<string name="settings_filter_title">"フィルター"</string>
<string name="settings_post_filter_title">"フィルター"</string>
<string name="settings_subreddit_filter_category">"Subredditを非表示"</string>
<string name="settings_subreddit_filter_popular_and_all">"r/all と r/popular 内"</string>
<string name="settings_credits_ufo_capturing_animation_title">"UFO捕獲アニメーション"</string>

View File

@@ -849,7 +849,7 @@ Os vídeos do Reddit ficam em menor resolução."</string>
<string name="settings_miscellaneous_title">"Miscelãnea"</string>
<string name="settings_respect_subreddit_recommended_comment_sort_type_title">"Respeitar modo de classificação de comentário recomendado pelo subreddit"</string>
<string name="settings_respect_subreddit_recommended_comment_sort_type_summary">"Modo de classificação de comentário não será salvo"</string>
<string name="settings_filter_title">"Filtrar"</string>
<string name="settings_post_filter_title">"Filtrar"</string>
<string name="settings_subreddit_filter_category">"Ocultar subreddits"</string>
<string name="settings_subreddit_filter_popular_and_all">"Em r/popular e r/all"</string>
<string name="settings_credits_ufo_capturing_animation_title">"Animação de captura de OVNIs"</string>

View File

@@ -863,7 +863,7 @@ Sekmeler, başkalarına geçtikten sonra tüm içeriği kaybedebilir. Bu, sayfay
<string name="settings_miscellaneous_title">"Diğerleri"</string>
<string name="settings_respect_subreddit_recommended_comment_sort_type_title">"İlgili Subreddit Önerilen Yorum Sıralaması Türü"</string>
<string name="settings_respect_subreddit_recommended_comment_sort_type_summary">"Yorum sıralaması türü kaydedilemedi"</string>
<string name="settings_filter_title">"Filtrele"</string>
<string name="settings_post_filter_title">"Filtrele"</string>
<string name="settings_subreddit_filter_category">"Subredditleri Gizle"</string>
<string name="settings_subreddit_filter_popular_and_all">"r/popular ve r/all"</string>
<string name="settings_credits_ufo_capturing_animation_title">"UFO Yakalama Animasyonu"</string>

View File

@@ -913,7 +913,7 @@ https://play.google.com/store/apps/details?id=ml.docilealligator.infinityforredd
<string name="settings_miscellaneous_title">"其他"</string>
<string name="settings_respect_subreddit_recommended_comment_sort_type_title">"关于板块推荐评论排序类型"</string>
<string name="settings_respect_subreddit_recommended_comment_sort_type_summary">"评论排序类型将不会保存"</string>
<string name="settings_filter_title">"过滤器"</string>
<string name="settings_post_filter_title">"过滤器"</string>
<string name="settings_subreddit_filter_category">"隐藏版块"</string>
<string name="settings_subreddit_filter_popular_and_all">"在“r/all”和“r/popular”板块中"</string>
<string name="settings_credits_ufo_capturing_animation_title">"开屏UFO动画"</string>

View File

@@ -34,8 +34,9 @@
<string name="submit_crosspost_activity_label">Crosspost</string>
<string name="give_award_activity_label">Give Award</string>
<string name="subreddit_filter_popular_and_all_activity_label">r/all and r/popular</string>
<string name="customize_post_filter_activity_label">Post Filter</string>
<string name="customize_post_filter_activity_label">Customize Post Filter</string>
<string name="filtered_posts_activity_subtitle">Filtered Posts</string>
<string name="post_filter_preference_activity_label">Post Filter</string>
<string name="navigation_drawer_open">Open navigation drawer</string>
<string name="navigation_drawer_close">Close navigation drawer</string>
@@ -504,7 +505,7 @@
<string name="settings_miscellaneous_title">Miscellaneous</string>
<string name="settings_respect_subreddit_recommended_comment_sort_type_title">Respect Subreddit Recommended Comment Sort Type</string>
<string name="settings_respect_subreddit_recommended_comment_sort_type_summary">Comment sort type will not be saved</string>
<string name="settings_filter_title">Filter</string>
<string name="settings_post_filter_title">Post Filter</string>
<string name="settings_subreddit_filter_category">Hide Subreddits</string>
<string name="settings_subreddit_filter_popular_and_all">In r/popular and r/all</string>
<string name="settings_credits_ufo_capturing_animation_title">UFO Capturing Animation</string>
@@ -965,18 +966,18 @@
<string name="only_spoiler">Only Spoiler</string>
<string name="title_excludes_strings_hint">Title: excludes keywords</string>
<string name="title_excludes_regex_hint">Title: excludes regex</string>
<string name="excludes_subreddits_hint">Excludes subreddits</string>
<string name="excludes_users_hint">Excludes users</string>
<string name="excludes_flairs_hint">Exclude flairs</string>
<string name="contains_flairs_hint">Contains flairs</string>
<string name="min_vote_hint">Min vote</string>
<string name="max_vote_hint">Max vote</string>
<string name="min_comments_hint">Min comments</string>
<string name="max_comments_hint">Max comments</string>
<string name="min_awards_hint">Min awards</string>
<string name="max_awards_hint">Max awards</string>
<string name="exclude_subreddits_hint">Exclude subreddits</string>
<string name="exclude_users_hint">Exclude users</string>
<string name="exclude_flairs_hint">Exclude flairs</string>
<string name="contain_flairs_hint">Contain flairs</string>
<string name="min_vote_hint">Min vote (-1: no restriction)</string>
<string name="max_vote_hint">Max vote (-1: no restriction)</string>
<string name="min_comments_hint">Min comments (-1: no restriction)</string>
<string name="max_comments_hint">Max comments (-1: no restriction)</string>
<string name="min_awards_hint">Min awards (-1: no restriction)</string>
<string name="max_awards_hint">Max awards (-1: no restriction)</string>
<string name="post_filter_name_hint">Post Filter Name</string>
<string name="duplicate_post_filter">Duplicate post filter found. Please use another name.</string>
<string name="post_filter_requires_a_name">What is the name of this post filter?</string>
<string name="apply_post_filter_to">Apply to</string>
</resources>

View File

@@ -63,9 +63,9 @@
app:fragment="ml.docilealligator.infinityforreddit.settings.PostHistoryFragment" />
<Preference
app:key="post_filter"
app:icon="@drawable/ic_filter_24dp"
app:title="@string/settings_filter_title"
app:fragment="ml.docilealligator.infinityforreddit.settings.FilterPreferenceFragment"/>
app:title="@string/settings_post_filter_title" />
<Preference
app:icon="@drawable/ic_miscellaneous_24dp"