Commit dade6475 authored by Thomas's avatar Thomas
Browse files

Allow to underline clickable elements

parent 0064db72
Loading
Loading
Loading
Loading
+14 −4
Original line number Diff line number Diff line
@@ -104,6 +104,7 @@ public class SpannableHelper {

    public static final String CLICKABLE_SPAN = "CLICKABLE_SPAN";
    private static int linkColor;
    private static boolean underlineLinks;

    public static Spannable convert(Context context, String text,
                                    Status status, Account account, Announcement announcement,
@@ -115,6 +116,7 @@ public class SpannableHelper {
        int currentNightMode = context.getResources().getConfiguration().uiMode & Configuration.UI_MODE_NIGHT_MASK;
        boolean customLight = sharedpreferences.getBoolean(context.getString(R.string.SET_CUSTOMIZE_LIGHT_COLORS), false);
        boolean customDark = sharedpreferences.getBoolean(context.getString(R.string.SET_CUSTOMIZE_DARK_COLORS), false);
        underlineLinks = sharedpreferences.getBoolean(context.getString(R.string.SET_UNDERLINE_CLICKABLE), false);
        int link_color;
        if (currentNightMode == Configuration.UI_MODE_NIGHT_NO && customLight) {
            link_color = sharedpreferences.getInt(context.getString(R.string.SET_LIGHT_LINK), -1);
@@ -309,7 +311,9 @@ public class SpannableHelper {
                    @Override
                    public void updateDrawState(@NonNull TextPaint ds) {
                        super.updateDrawState(ds);
                        if(!underlineLinks) {
                            ds.setUnderlineText(status != null && status.underlined);
                        }
                        if (linkColor != -1) {
                            ds.setColor(linkColor);
                        }
@@ -599,7 +603,9 @@ public class SpannableHelper {
            @Override
            public void updateDrawState(@NonNull TextPaint ds) {
                super.updateDrawState(ds);
                if(!underlineLinks) {
                    ds.setUnderlineText(status != null && status.underlined);
                }
                if (linkColor != -1) {
                    ds.setColor(linkColor);
                }
@@ -744,7 +750,9 @@ public class SpannableHelper {
                    @Override
                    public void updateDrawState(@NonNull TextPaint ds) {
                        super.updateDrawState(ds);
                        if(!underlineLinks) {
                            ds.setUnderlineText(status != null && status.underlined);
                        }
                        if (linkColor != -1) {
                            ds.setColor(linkColor);
                        }
@@ -891,7 +899,9 @@ public class SpannableHelper {
                                            @Override
                                            public void updateDrawState(@NonNull TextPaint ds) {
                                                super.updateDrawState(ds);
                                                if(!underlineLinks) {
                                                    ds.setUnderlineText(false);
                                                }
                                                if (linkColor != -1) {
                                                    ds.setColor(linkColor);
                                                }
+2 −0
Original line number Diff line number Diff line
@@ -1189,6 +1189,7 @@
    <string name="SET_BOOST_ORIGINAL_DATE" translatable="false">SET_BOOST_ORIGINAL_DATE</string>
    <string name="SET_MARKDOWN_SUPPORT" translatable="false">SET_MARKDOWN_SUPPORT</string>
    <string name="SET_TRUNCATE_LINKS" translatable="false">SET_TRUNCATE_LINKS</string>
    <string name="SET_UNDERLINE_CLICKABLE" translatable="false">SET_UNDERLINE_CLICKABLE</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>
@@ -1991,6 +1992,7 @@
    <string name="toot_error_no_media_description">There are missing media descriptions</string>

    <string name="truncate_links">Truncate links</string>
    <string name="underline_links">Underlines clickable elements</string>
    <string name="truncate_links_max">Max chars in links</string>


+7 −0
Original line number Diff line number Diff line
@@ -64,6 +64,13 @@
        app:singleLineTitle="false"
        app:title="@string/truncate_links" />

    <SwitchPreferenceCompat
        android:defaultValue="false"
        app:iconSpaceReserved="false"
        app:key="@string/SET_UNDERLINE_CLICKABLE"
        app:singleLineTitle="false"
        app:title="@string/underline_links" />

    <androidx.preference.SeekBarPreference
        android:defaultValue="30"
        android:max="150"