From d4d907733c13b11375ac27476998cc46c854ec8e Mon Sep 17 00:00:00 2001 From: tom79 Date: Fri, 15 Nov 2019 19:06:43 +0100 Subject: [PATCH] Allow to customize text header colors --- .../drawers/NotificationsListAdapter.java | 6 +++++- .../android/drawers/StatusListAdapter.java | 21 +++++++++++++++---- .../fragments/ColorSettingsFragment.java | 16 ++++++++++++++ .../main/res/layout/drawer_notification.xml | 3 --- app/src/main/res/layout/drawer_status.xml | 2 +- .../main/res/layout/drawer_status_compact.xml | 2 +- .../main/res/layout/drawer_status_console.xml | 2 +- .../main/res/layout/drawer_status_focused.xml | 2 +- app/src/main/res/values/strings.xml | 2 ++ .../main/res/xml/fragment_settings_color.xml | 14 +++++++++++++ 10 files changed, 58 insertions(+), 12 deletions(-) diff --git a/app/src/main/java/app/fedilab/android/drawers/NotificationsListAdapter.java b/app/src/main/java/app/fedilab/android/drawers/NotificationsListAdapter.java index a4b5cb365..55151c4f7 100644 --- a/app/src/main/java/app/fedilab/android/drawers/NotificationsListAdapter.java +++ b/app/src/main/java/app/fedilab/android/drawers/NotificationsListAdapter.java @@ -336,7 +336,11 @@ public class NotificationsListAdapter extends RecyclerView.Adapter implements On holder.notification_status_content.setTextSize(TypedValue.COMPLEX_UNIT_SP, 14 * textSizePercent / 100); holder.notification_type.setTextSize(TypedValue.COMPLEX_UNIT_SP, 14 * textSizePercent / 100); holder.status_date.setTextSize(TypedValue.COMPLEX_UNIT_SP, 12 * textSizePercent / 100); - + int theme_text_header_1_line = prefs.getInt("theme_text_header_1_line", -1); + if (theme_text_header_1_line == -1) { + theme_text_header_1_line = ThemeHelper.getAttColor(context, R.attr.textColor); + } + holder.notification_type.setTextColor(theme_text_header_1_line); holder.spark_button_fav.pressOnTouch(false); holder.spark_button_reblog.pressOnTouch(false); diff --git a/app/src/main/java/app/fedilab/android/drawers/StatusListAdapter.java b/app/src/main/java/app/fedilab/android/drawers/StatusListAdapter.java index d5d327829..da8a0bd55 100644 --- a/app/src/main/java/app/fedilab/android/drawers/StatusListAdapter.java +++ b/app/src/main/java/app/fedilab/android/drawers/StatusListAdapter.java @@ -1113,9 +1113,22 @@ public class StatusListAdapter extends RecyclerView.Adapter implements OnPostAct holder.status_reblog_count.setTextColor(iconColor); - holder.status_account_displayname.setTextColor(ThemeHelper.getAttColor(context, R.attr.textHeader)); - holder.status_toot_date.setTextColor(ThemeHelper.getAttColor(context, R.attr.textHeader)); - Helper.changeDrawableColor(context, R.drawable.ic_repeat_head_toot, R.attr.textHeader); + int theme_text_header_2_line = prefs.getInt("theme_text_header_2_line", -1); + if (theme_text_header_2_line == -1) { + theme_text_header_2_line = ThemeHelper.getAttColor(context, R.attr.textHeader); + } + + holder.status_account_displayname.setTextColor(theme_text_header_2_line); + holder.status_toot_date.setTextColor(theme_text_header_2_line); + Helper.changeDrawableColor(context, R.drawable.ic_repeat_head_toot, theme_text_header_2_line); + + int theme_text_header_1_line = prefs.getInt("theme_text_header_1_line", -1); + if (theme_text_header_1_line == -1) { + theme_text_header_1_line = ThemeHelper.getAttColor(context, R.attr.textColor); + } + holder.status_account_displayname_owner.setTextColor(theme_text_header_1_line); + Helper.changeDrawableColor(context, holder.cached_status, theme_text_header_1_line); + if (holder.cached_status != null && holder.getItemViewType() == DISPLAYED_STATUS) { @@ -1608,7 +1621,7 @@ public class StatusListAdapter extends RecyclerView.Adapter implements OnPostAct int matchStart = matcherAcct.start(1); int matchEnd = matcherAcct.end(); if (wordtoSpan.length() >= matchEnd && matchStart < matchEnd) { - wordtoSpan.setSpan(new ForegroundColorSpan(ThemeHelper.getAttColor(context, R.attr.textHeader)), matchStart, matchEnd, Spanned.SPAN_INCLUSIVE_EXCLUSIVE); + wordtoSpan.setSpan(new ForegroundColorSpan(theme_text_header_2_line), matchStart, matchEnd, Spanned.SPAN_INCLUSIVE_EXCLUSIVE); } } diff --git a/app/src/main/java/app/fedilab/android/fragments/ColorSettingsFragment.java b/app/src/main/java/app/fedilab/android/fragments/ColorSettingsFragment.java index 68ec5415c..446017e16 100644 --- a/app/src/main/java/app/fedilab/android/fragments/ColorSettingsFragment.java +++ b/app/src/main/java/app/fedilab/android/fragments/ColorSettingsFragment.java @@ -250,6 +250,8 @@ public class ColorSettingsFragment extends PreferenceFragmentCompat implements S ListPreference pref_theme_picker = (ListPreference) findPreference("pref_theme_picker"); Preference theme_link_color = findPreference("theme_link_color"); Preference theme_boost_header_color = findPreference("theme_boost_header_color"); + Preference theme_text_header_1_line = findPreference("theme_text_header_1_line"); + Preference theme_text_header_2_line = findPreference("theme_text_header_2_line"); Preference theme_statuses_color = findPreference("theme_statuses_color"); Preference theme_icons_color = findPreference("theme_icons_color"); Preference theme_text_color = findPreference("theme_text_color"); @@ -264,6 +266,8 @@ public class ColorSettingsFragment extends PreferenceFragmentCompat implements S if (!sharedpreferences.getBoolean("use_custom_theme", false)) { preferenceScreen.removePreference(theme_link_color); preferenceScreen.removePreference(theme_boost_header_color); + preferenceScreen.removePreference(theme_text_header_1_line); + preferenceScreen.removePreference(theme_text_header_2_line); preferenceScreen.removePreference(theme_statuses_color); preferenceScreen.removePreference(theme_icons_color); preferenceScreen.removePreference(theme_text_color); @@ -361,6 +365,8 @@ public class ColorSettingsFragment extends PreferenceFragmentCompat implements S SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(getActivity()); SharedPreferences.Editor editor = prefs.edit(); editor.remove("theme_boost_header_color"); + editor.remove("theme_text_header_1_line"); + editor.remove("theme_text_header_2_line"); editor.remove("theme_statuses_color"); editor.remove("theme_link_color"); editor.remove("theme_icons_color"); @@ -387,6 +393,8 @@ public class ColorSettingsFragment extends PreferenceFragmentCompat implements S builder.append("value").append(','); builder.append('\n'); int theme_boost_header_color = prefs.getInt("theme_boost_header_color", -1); + int theme_text_header_1_line = prefs.getInt("theme_text_header_1_line", -1); + int theme_text_header_2_line = prefs.getInt("theme_text_header_2_line", -1); int theme_statuses_color = prefs.getInt("theme_statuses_color", -1); int theme_link_color = prefs.getInt("theme_link_color", -1); int theme_icons_color = prefs.getInt("theme_icons_color", -1); @@ -408,6 +416,14 @@ public class ColorSettingsFragment extends PreferenceFragmentCompat implements S builder.append(theme_boost_header_color).append(','); builder.append('\n'); + builder.append("theme_text_header_1_line").append(','); + builder.append(theme_text_header_1_line).append(','); + builder.append('\n'); + + builder.append("theme_text_header_2_line").append(','); + builder.append(theme_text_header_2_line).append(','); + builder.append('\n'); + builder.append("theme_statuses_color").append(','); builder.append(theme_statuses_color).append(','); builder.append('\n'); diff --git a/app/src/main/res/layout/drawer_notification.xml b/app/src/main/res/layout/drawer_notification.xml index 876a52cd2..98c232d1c 100644 --- a/app/src/main/res/layout/drawer_notification.xml +++ b/app/src/main/res/layout/drawer_notification.xml @@ -77,7 +77,6 @@ android:layout_height="wrap_content" android:layout_gravity="end" android:layout_marginStart="2dp" - android:layout_marginLeft="2dp" android:gravity="end" android:textSize="12sp" /> @@ -128,7 +127,6 @@ android:layout_width="wrap_content" android:layout_height="wrap_content" android:drawableStart="@drawable/ic_remove_red_eye" - android:drawableLeft="@drawable/ic_remove_red_eye" android:drawablePadding="5dp" android:gravity="center" android:maxLines="1" @@ -189,7 +187,6 @@ android:layout_width="0dp" android:layout_height="match_parent" android:layout_marginStart="2dp" - android:layout_marginLeft="2dp" android:layout_weight="1" android:orientation="vertical"> diff --git a/app/src/main/res/layout/drawer_status.xml b/app/src/main/res/layout/drawer_status.xml index 6d7b4a78b..e47f8df6c 100644 --- a/app/src/main/res/layout/drawer_status.xml +++ b/app/src/main/res/layout/drawer_status.xml @@ -280,7 +280,7 @@ android:layout_marginEnd="5dp" android:contentDescription="@string/cached_status" android:src="@drawable/ic_cached_black" - android:tint="?attr/iconColorMenu" + android:tint="?attr/textColor" android:visibility="gone" app:layout_constraintBottom_toBottomOf="@id/status_account_displayname_owner" app:layout_constraintEnd_toEndOf="parent" diff --git a/app/src/main/res/layout/drawer_status_compact.xml b/app/src/main/res/layout/drawer_status_compact.xml index 3e0c5353d..dc657b47c 100644 --- a/app/src/main/res/layout/drawer_status_compact.xml +++ b/app/src/main/res/layout/drawer_status_compact.xml @@ -246,7 +246,7 @@ android:layout_marginEnd="5dp" android:contentDescription="@string/cached_status" android:src="@drawable/ic_cached_black" - android:tint="?attr/iconColorMenu" + android:tint="?attr/textColor" android:visibility="gone" app:layout_constraintBottom_toBottomOf="@id/status_account_displayname_owner" app:layout_constraintEnd_toEndOf="parent" diff --git a/app/src/main/res/layout/drawer_status_console.xml b/app/src/main/res/layout/drawer_status_console.xml index 1627318da..9c8b4a0ba 100644 --- a/app/src/main/res/layout/drawer_status_console.xml +++ b/app/src/main/res/layout/drawer_status_console.xml @@ -193,7 +193,7 @@ android:layout_height="20dp" android:contentDescription="@string/cached_status" android:src="@drawable/ic_cached_black" - android:tint="?attr/iconColorMenu" + android:tint="?attr/textColor" android:visibility="gone" /> Links Change the color of links (URLs, mentions, tags, etc.) in messages Reblogs header + Change the color of display name at the top of messages + Change the color of the user name at the top of messages Change the color of the header for reblogs Posts Background color of posts in timelines diff --git a/app/src/main/res/xml/fragment_settings_color.xml b/app/src/main/res/xml/fragment_settings_color.xml index 4f319f364..158aebbb4 100644 --- a/app/src/main/res/xml/fragment_settings_color.xml +++ b/app/src/main/res/xml/fragment_settings_color.xml @@ -32,6 +32,20 @@ android:title="@string/boost_header_color_title" app:iconSpaceReserved="false" /> + + + +