diff options
Diffstat (limited to 'app/src/main/java/app/fedilab/android/mastodon/helper')
4 files changed, 35 insertions, 11 deletions
diff --git a/app/src/main/java/app/fedilab/android/mastodon/helper/ComposeHelper.java b/app/src/main/java/app/fedilab/android/mastodon/helper/ComposeHelper.java index 230e186f2..57de14a38 100644 --- a/app/src/main/java/app/fedilab/android/mastodon/helper/ComposeHelper.java +++ b/app/src/main/java/app/fedilab/android/mastodon/helper/ComposeHelper.java @@ -14,17 +14,15 @@ package app.fedilab.android.mastodon.helper; * You should have received a copy of the GNU General Public License along with Fedilab; if not, * see <http://www.gnu.org/licenses>. */ -import static app.fedilab.android.mastodon.helper.Helper.mentionLongPattern; -import static app.fedilab.android.mastodon.helper.Helper.mentionPattern; + import static app.fedilab.android.mastodon.helper.Helper.mentionPatternALL; -import static app.fedilab.android.mastodon.helper.MastodonHelper.countWithEmoji; import android.util.Patterns; import java.util.ArrayList; import java.util.regex.Matcher; -import app.fedilab.android.mastodon.ui.drawer.ComposeAdapter; + public class ComposeHelper { diff --git a/app/src/main/java/app/fedilab/android/mastodon/helper/Helper.java b/app/src/main/java/app/fedilab/android/mastodon/helper/Helper.java index 940f587d9..b2069db7c 100644 --- a/app/src/main/java/app/fedilab/android/mastodon/helper/Helper.java +++ b/app/src/main/java/app/fedilab/android/mastodon/helper/Helper.java @@ -580,6 +580,20 @@ public class Helper { } /** + * Convert a date in String + * + * @param date Date + * @return String + */ + public static String mediumDateToString(Date date) { + if (date == null) { + date = new Date(); + } + DateFormat df = DateFormat.getDateTimeInstance(DateFormat.SHORT, DateFormat.SHORT, Locale.getDefault()); + return df.format(date); + } + + /** * Convert a date in String -> format yyyy-MM-dd HH:mm:ss * * @param date Date 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 6f65eaa69..de58d977a 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 @@ -16,6 +16,7 @@ package app.fedilab.android.mastodon.helper; import static app.fedilab.android.BaseMainActivity.currentAccount; +import static app.fedilab.android.BaseMainActivity.currentNightMode; import android.app.Activity; import android.content.ClipData; @@ -104,6 +105,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, @@ -112,9 +114,9 @@ public class SpannableHelper { return null; } SharedPreferences sharedpreferences = PreferenceManager.getDefaultSharedPreferences(context); - 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); - ds.setUnderlineText(status != null && status.underlined); + 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); - ds.setUnderlineText(status != null && status.underlined); + 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); - ds.setUnderlineText(status != null && status.underlined); + 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); - ds.setUnderlineText(false); + if(!underlineLinks) { + ds.setUnderlineText(false); + } if (linkColor != -1) { ds.setColor(linkColor); } diff --git a/app/src/main/java/app/fedilab/android/mastodon/helper/ThemeHelper.java b/app/src/main/java/app/fedilab/android/mastodon/helper/ThemeHelper.java index be9ebd975..51d1b8d07 100644 --- a/app/src/main/java/app/fedilab/android/mastodon/helper/ThemeHelper.java +++ b/app/src/main/java/app/fedilab/android/mastodon/helper/ThemeHelper.java @@ -16,6 +16,7 @@ package app.fedilab.android.mastodon.helper; import static android.content.Context.WINDOW_SERVICE; import static app.fedilab.android.BaseMainActivity.currentInstance; +import static app.fedilab.android.BaseMainActivity.currentNightMode; import static app.fedilab.android.BaseMainActivity.currentUserID; import android.app.Activity; @@ -274,7 +275,7 @@ public class ThemeHelper { public static void switchTo(String themePref) { if (themes.LIGHT.name().equals(themePref) || themes.SOLARIZED_LIGHT.name().equals(themePref)) { AppCompatDelegate.setDefaultNightMode(AppCompatDelegate.MODE_NIGHT_NO); - } else if (themes.DARK.name().equals(themePref) || themes.SOLARIZED_DARK.name().equals(themePref)) { + } else if (themes.DARK.name().equals(themePref) || themes.SOLARIZED_DARK.name().equals(themePref) || themes.DRACULA.name().equals(themePref) || themes.BLACK.name().equals(themePref)) { AppCompatDelegate.setDefaultNightMode(AppCompatDelegate.MODE_NIGHT_YES); } else { if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.Q) { @@ -286,7 +287,6 @@ public class ThemeHelper { } public static void applyThemeColor(Activity activity) { - int currentNightMode = activity.getResources().getConfiguration().uiMode & Configuration.UI_MODE_NIGHT_MASK; final SharedPreferences sharedpreferences = PreferenceManager.getDefaultSharedPreferences(activity); boolean dynamicColor = sharedpreferences.getBoolean(activity.getString(R.string.SET_DYNAMICCOLOR), false); boolean customAccentEnabled = sharedpreferences.getBoolean(activity.getString(R.string.SET_CUSTOM_ACCENT) + currentUserID + currentInstance, false); @@ -314,6 +314,8 @@ public class ThemeHelper { public enum themes { LIGHT, DARK, + BLACK, + DRACULA, SYSTEM, SOLARIZED_LIGHT, SOLARIZED_DARK |