Support setting filter expirations (#2667)

* Show filter expiration in list

* Add support for setting and updating the duration of a filter

* Add tests for duration conversion math

* Refactor network wrapper code

* Mark updated mastodon api functions as suspend

* Avoid creating unnecessary Date objects

* Apply suggestions to filter dialog layout
This commit is contained in:
Levi Bard 2022-08-17 17:50:34 +02:00 committed by GitHub
commit c47d9ef6ac
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
7 changed files with 197 additions and 100 deletions

View file

@ -190,6 +190,8 @@
<item>31536000</item>
</integer-array>
<string name="poll_percent_format"><!-- 15% --> &lt;b>%1$d%%&lt;/b></string>
<string-array name="mute_duration_names">
<item>@string/duration_indefinite</item>
<item>@string/duration_5_min</item>
@ -212,5 +214,25 @@
<item>604800</item>
</integer-array>
<string name="poll_percent_format"><!-- 15% --> &lt;b>%1$d%%&lt;/b></string>
<string-array name="filter_duration_names">
<item>@string/duration_indefinite</item>
<item>@string/duration_5_min</item>
<item>@string/duration_30_min</item>
<item>@string/duration_1_hour</item>
<item>@string/duration_6_hours</item>
<item>@string/duration_1_day</item>
<item>@string/duration_3_days</item>
<item>@string/duration_7_days</item>
</string-array>
<integer-array name="filter_duration_values"> <!-- values in seconds, corresponding to mute_duration_names -->
<item>0</item>
<item>300</item>
<item>1800</item>
<item>3600</item>
<item>21600</item>
<item>86400</item>
<item>259200</item>
<item>604800</item>
</integer-array>
</resources>

View file

@ -383,6 +383,7 @@
<string name="filter_dialog_whole_word">Whole word</string>
<string name="filter_dialog_whole_word_description">When the keyword or phrase is alphanumeric only, it will only be applied if it matches the whole word</string>
<string name="filter_add_description">Phrase to filter</string>
<string name="filter_expiration_format">%s (%s)</string>
<string name="add_account_name">Add Account</string>
<string name="add_account_description">Add new Mastodon Account</string>
@ -602,6 +603,7 @@
<string name="duration_90_days">90 days</string>
<string name="duration_180_days">180 days</string>
<string name="duration_365_days">365 days</string>
<string name="duration_no_change">(No change)</string>
<string name="add_poll_choice">Add choice</string>
<string name="poll_allow_multiple_choices">Multiple choices</string>
<string name="poll_new_choice_hint">Choice %d</string>