summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorThomas <tschneider.ac@gmail.com>2023-02-27 18:37:46 +0100
committerThomas <tschneider.ac@gmail.com>2023-02-27 18:37:46 +0100
commitb981d2899e82faf04aecf6f58fd96b9f72fcd953 (patch)
treea27e99ff2d2bd331fb0e752fa3ec63400d465e78
parentb9af6ee60b27ef9f066cdad0e4b5727d46a301b8 (diff)
Release 3.19.03.19.0
-rw-r--r--app/build.gradle4
-rw-r--r--app/src/main/assets/release_notes/notes.json5
-rw-r--r--app/src/main/java/app/fedilab/android/mastodon/helper/SpannableHelper.java13
-rw-r--r--app/src/main/java/app/fedilab/android/mastodon/ui/fragment/settings/FragmentTimelinesSettings.java2
-rw-r--r--app/src/main/res/values/strings.xml6
-rw-r--r--app/src/main/res/xml/pref_timelines.xml20
-rw-r--r--src/fdroid/fastlane/metadata/android/en/changelogs/481.txt4
7 files changed, 47 insertions, 7 deletions
diff --git a/app/build.gradle b/app/build.gradle
index 7f0181db3..4e93a7937 100644
--- a/app/build.gradle
+++ b/app/build.gradle
@@ -13,8 +13,8 @@ android {
defaultConfig {
minSdk 21
targetSdk 33
- versionCode 480
- versionName "3.18.2"
+ versionCode 481
+ versionName "3.19.0"
testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
}
flavorDimensions "default"
diff --git a/app/src/main/assets/release_notes/notes.json b/app/src/main/assets/release_notes/notes.json
index 7aaf714ca..97b8611d1 100644
--- a/app/src/main/assets/release_notes/notes.json
+++ b/app/src/main/assets/release_notes/notes.json
@@ -1,5 +1,10 @@
[
{
+ "version": "3.19.0",
+ "code": "481",
+ "note": "Added:\n- Settings compose: don't send media if there are no description (default: disabled)\n- Settings Timelines: Enable/Disable truncate links\n- Allow to set max link length (20 - 150 chars)\n\nChanged:\n- Align media with text (left margin enabled)\n\nFixed:\n- Media previews remain the same when sharing\n- Edit media description not working\n- Accessibility (larger fonts): profiles/DM\n- Cross replies: Wrong visibility with the selected account\n- Several crashes"
+ },
+ {
"version": "3.18.2",
"code": "480",
"note": "Changed:\n- First media layout will depend of its ratio\n\nFixed:\n- Impossible to add media with the chat view\n- Chat view limited in chars\n- Freezes / bad behaviors due to the new media presentation"
diff --git a/app/src/main/java/app/fedilab/android/mastodon/helper/SpannableHelper.java b/app/src/main/java/app/fedilab/android/mastodon/helper/SpannableHelper.java
index 426323e4a..f99475108 100644
--- a/app/src/main/java/app/fedilab/android/mastodon/helper/SpannableHelper.java
+++ b/app/src/main/java/app/fedilab/android/mastodon/helper/SpannableHelper.java
@@ -303,10 +303,15 @@ public class SpannableHelper {
end = start + newUrl.length();
url = newUrl;
}
- if (url.length() > 30 && (validUrl || url.startsWith("gimini://"))) {
- newUrl = url.substring(0, 30);
- newUrl += "…";
- content.replace(start, end, newUrl);
+ SharedPreferences sharedpreferences = PreferenceManager.getDefaultSharedPreferences(context);
+ boolean truncate = sharedpreferences.getBoolean(context.getString(R.string.SET_TRUNCATE_LINKS), true);
+ if (truncate) {
+ int truncateValue = sharedpreferences.getInt(context.getString(R.string.SET_TRUNCATE_LINKS_MAX), 30);
+ if (url.length() > truncateValue && (validUrl || url.startsWith("gimini://"))) {
+ newUrl = url.substring(0, truncateValue);
+ newUrl += "…";
+ content.replace(start, end, newUrl);
+ }
}
int matchEnd = validUrl ? start + newUrl.length() : end;
diff --git a/app/src/main/java/app/fedilab/android/mastodon/ui/fragment/settings/FragmentTimelinesSettings.java b/app/src/main/java/app/fedilab/android/mastodon/ui/fragment/settings/FragmentTimelinesSettings.java
index 059494ab7..bc6c01f35 100644
--- a/app/src/main/java/app/fedilab/android/mastodon/ui/fragment/settings/FragmentTimelinesSettings.java
+++ b/app/src/main/java/app/fedilab/android/mastodon/ui/fragment/settings/FragmentTimelinesSettings.java
@@ -61,6 +61,7 @@ public class FragmentTimelinesSettings extends PreferenceFragmentCompat implemen
preferenceScreen.removePreferenceRecursively("SET_TRANSLATOR_DOMAIN");
}
}
+
SwitchPreferenceCompat SET_DISPLAY_BOOKMARK = findPreference(getString(R.string.SET_DISPLAY_BOOKMARK));
if (SET_DISPLAY_BOOKMARK != null) {
boolean checked = sharedpreferences.getBoolean(getString(R.string.SET_DISPLAY_BOOKMARK) + MainActivity.currentUserID + MainActivity.currentInstance, true);
@@ -77,6 +78,7 @@ public class FragmentTimelinesSettings extends PreferenceFragmentCompat implemen
boolean checked = sharedpreferences.getBoolean(getString(R.string.SET_PIXELFED_PRESENTATION) + MainActivity.currentUserID + MainActivity.currentInstance, false);
SET_PIXELFED_PRESENTATION.setChecked(checked);
}
+
}
@Override
diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml
index 008794309..3bc0e5cea 100644
--- a/app/src/main/res/values/strings.xml
+++ b/app/src/main/res/values/strings.xml
@@ -1125,6 +1125,9 @@
<string name="SET_EXPAND_MEDIA" translatable="false">SET_EXPAND_MEDIA</string>
<string name="SET_GROUP_REBLOGS" translatable="false">SET_GROUP_REBLOGS</string>
<string name="SET_BOOST_ORIGINAL_DATE" translatable="false">SET_BOOST_ORIGINAL_DATE</string>
+ <string name="SET_TRUNCATE_LINKS" translatable="false">SET_TRUNCATE_LINKS</string>
+ <string name="SET_TRUNCATE_LINKS_MAX" translatable="false">SET_TRUNCATE_LINKS_MAX</string>
+
<string name="SET_HIDE_SINGLE_MEDIA_WITH_CARD" translatable="false">SET_HIDE_SINGLE_MEDIA_WITH_CARD</string>
<string name="SET_LIVE_TRANSLATE_MULTIPLE" translatable="false">SET_LIVE_TRANSLATE_MULTIPLE</string>
<string name="SET_TRUNCATE_TOOTS_SIZE" translatable="false">SET_TRUNCATE_TOOTS_SIZE</string>
@@ -1910,4 +1913,7 @@
<string name="set_alt_text_mandatory_description">The message will not be sent if a description is missing with a media</string>
<string name="toot_error_no_media_description">There are missing media descriptions</string>
+
+ <string name="truncate_links">Truncate links</string>
+ <string name="truncate_links_max">Max chars in links</string>
</resources> \ No newline at end of file
diff --git a/app/src/main/res/xml/pref_timelines.xml b/app/src/main/res/xml/pref_timelines.xml
index d17b85ec9..808009421 100644
--- a/app/src/main/res/xml/pref_timelines.xml
+++ b/app/src/main/res/xml/pref_timelines.xml
@@ -45,6 +45,23 @@
app:title="@string/boost_original_date" />
<SwitchPreferenceCompat
+ android:defaultValue="true"
+ app:iconSpaceReserved="false"
+ app:key="@string/SET_TRUNCATE_LINKS"
+ app:singleLineTitle="false"
+ app:title="@string/truncate_links" />
+
+ <androidx.preference.SeekBarPreference
+ android:defaultValue="30"
+ android:max="150"
+ app:dependency="@string/SET_TRUNCATE_LINKS"
+ app:iconSpaceReserved="false"
+ app:key="@string/SET_TRUNCATE_LINKS_MAX"
+ app:min="20"
+ app:showSeekBarValue="true"
+ app:singleLineTitle="false"
+ app:title="@string/truncate_links_max" />
+ <SwitchPreferenceCompat
android:defaultValue="false"
app:iconSpaceReserved="false"
app:key="@string/SET_HIDE_SINGLE_MEDIA_WITH_CARD"
@@ -205,6 +222,7 @@
<androidx.preference.SeekBarPreference
android:defaultValue="40"
+ app:min="10"
android:max="80"
app:iconSpaceReserved="false"
app:key="@string/SET_STATUSES_PER_CALL"
@@ -213,6 +231,7 @@
<androidx.preference.SeekBarPreference
android:defaultValue="40"
+ app:min="10"
android:max="80"
app:iconSpaceReserved="false"
app:key="@string/SET_ACCOUNTS_PER_CALL"
@@ -221,6 +240,7 @@
<androidx.preference.SeekBarPreference
android:defaultValue="30"
+ app:min="10"
android:max="30"
app:iconSpaceReserved="false"
app:key="@string/SET_NOTIFICATIONS_PER_CALL"
diff --git a/src/fdroid/fastlane/metadata/android/en/changelogs/481.txt b/src/fdroid/fastlane/metadata/android/en/changelogs/481.txt
index 6dae8ee98..9826da977 100644
--- a/src/fdroid/fastlane/metadata/android/en/changelogs/481.txt
+++ b/src/fdroid/fastlane/metadata/android/en/changelogs/481.txt
@@ -1,5 +1,7 @@
Added:
- Settings compose: don't send media if there are no description (default: disabled)
+- Settings Timelines: Enable/Disable truncate links
+- Allow to set max link length (20 - 150 chars)
Changed:
- Align media with text (left margin enabled)
@@ -7,6 +9,6 @@ Changed:
Fixed:
- Media previews remain the same when sharing
- Edit media description not working
-- Accessibility (larger fonts): profiles/DM/
+- Accessibility (larger fonts): profiles/DM
- Cross replies: Wrong visibility with the selected account
- Several crashes \ No newline at end of file