introduce 'large font' setting
This commit is contained in:
parent
f75c061627
commit
960b20db3e
|
@ -42,6 +42,7 @@ public class AppSettings {
|
|||
public static final String CHANNEL_DISCOVERY_METHOD = "channel_discovery_method";
|
||||
public static final String SEND_CRASH_REPORTS = "send_crash_reports";
|
||||
public static final String COLORFUL_CHAT_BUBBLES = "use_green_background";
|
||||
public static final String LARGE_FONT = "large_font";
|
||||
|
||||
private final Context context;
|
||||
|
||||
|
@ -98,6 +99,10 @@ public class AppSettings {
|
|||
return getBooleanPreference(COLORFUL_CHAT_BUBBLES, R.bool.use_green_background);
|
||||
}
|
||||
|
||||
public boolean isLargeFont() {
|
||||
return getBooleanPreference(LARGE_FONT, R.bool.large_font);
|
||||
}
|
||||
|
||||
public boolean isUseTor() {
|
||||
return getBooleanPreference(USE_TOR, R.bool.use_tor);
|
||||
}
|
||||
|
|
|
@ -98,7 +98,7 @@ public class MessageAdapter extends ArrayAdapter<Message> {
|
|||
private final DisplayMetrics metrics;
|
||||
private OnContactPictureClicked mOnContactPictureClickedListener;
|
||||
private OnContactPictureLongClicked mOnContactPictureLongClickedListener;
|
||||
private boolean colorfulChatBubbles = false;
|
||||
private BubbleDesign bubbleDesign = new BubbleDesign(false, false);
|
||||
private final boolean mForceNames;
|
||||
|
||||
public MessageAdapter(
|
||||
|
@ -459,15 +459,13 @@ public class MessageAdapter extends ArrayAdapter<Message> {
|
|||
}
|
||||
|
||||
private void displayTextMessage(
|
||||
final ViewHolder viewHolder,
|
||||
final Message message,
|
||||
final BubbleColor bubbleColor,
|
||||
int type) {
|
||||
final ViewHolder viewHolder, final Message message, final BubbleColor bubbleColor) {
|
||||
viewHolder.download_button.setVisibility(View.GONE);
|
||||
viewHolder.image.setVisibility(View.GONE);
|
||||
viewHolder.audioPlayer.setVisibility(View.GONE);
|
||||
viewHolder.messageBody.setVisibility(View.VISIBLE);
|
||||
setTextColor(viewHolder.messageBody, bubbleColor);
|
||||
setTextSize(viewHolder.messageBody, this.bubbleDesign.largeFont);
|
||||
viewHolder.messageBody.setTypeface(null, Typeface.NORMAL);
|
||||
|
||||
if (message.getBody() != null) {
|
||||
|
@ -804,7 +802,7 @@ public class MessageAdapter extends ArrayAdapter<Message> {
|
|||
}
|
||||
}
|
||||
|
||||
final boolean colorfulBackground = this.colorfulChatBubbles;
|
||||
final boolean colorfulBackground = this.bubbleDesign.colorfulChatBubbles;
|
||||
final BubbleColor bubbleColor;
|
||||
if (type == RECEIVED) {
|
||||
if (isInValidSession) {
|
||||
|
@ -1039,7 +1037,7 @@ public class MessageAdapter extends ArrayAdapter<Message> {
|
|||
bubbleColor);
|
||||
}
|
||||
} else {
|
||||
displayTextMessage(viewHolder, message, bubbleColor, type);
|
||||
displayTextMessage(viewHolder, message, bubbleColor);
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -1119,7 +1117,8 @@ public class MessageAdapter extends ArrayAdapter<Message> {
|
|||
|
||||
public void updatePreferences() {
|
||||
final AppSettings appSettings = new AppSettings(activity);
|
||||
this.colorfulChatBubbles = appSettings.isColorfulChatBubbles();
|
||||
this.bubbleDesign =
|
||||
new BubbleDesign(appSettings.isColorfulChatBubbles(), appSettings.isLargeFont());
|
||||
}
|
||||
|
||||
public void setHighlightedTerm(List<String> terms) {
|
||||
|
@ -1173,6 +1172,16 @@ public class MessageAdapter extends ArrayAdapter<Message> {
|
|||
textView.setTextColor(bubbleToOnSurfaceColor(textView, bubbleColor));
|
||||
}
|
||||
|
||||
private static void setTextSize(final TextView textView, final boolean largeFont) {
|
||||
if (largeFont) {
|
||||
textView.setTextAppearance(
|
||||
com.google.android.material.R.style.TextAppearance_Material3_BodyLarge);
|
||||
} else {
|
||||
textView.setTextAppearance(
|
||||
com.google.android.material.R.style.TextAppearance_Material3_BodyMedium);
|
||||
}
|
||||
}
|
||||
|
||||
private static @ColorInt int bubbleToOnSurfaceVariant(
|
||||
final View view, final BubbleColor bubbleColor) {
|
||||
final @AttrRes int colorAttributeResId;
|
||||
|
@ -1213,6 +1222,16 @@ public class MessageAdapter extends ArrayAdapter<Message> {
|
|||
WARNING
|
||||
}
|
||||
|
||||
private static class BubbleDesign {
|
||||
public final boolean colorfulChatBubbles;
|
||||
public final boolean largeFont;
|
||||
|
||||
private BubbleDesign(final boolean colorfulChatBubbles, final boolean largeFont) {
|
||||
this.colorfulChatBubbles = colorfulChatBubbles;
|
||||
this.largeFont = largeFont;
|
||||
}
|
||||
}
|
||||
|
||||
private static class ViewHolder {
|
||||
|
||||
public MaterialButton load_more_messages;
|
||||
|
|
10
src/main/res/drawable/ic_format_size_24dp.xml
Normal file
10
src/main/res/drawable/ic_format_size_24dp.xml
Normal file
|
@ -0,0 +1,10 @@
|
|||
<vector xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:width="24dp"
|
||||
android:height="24dp"
|
||||
android:tint="?attr/colorControlNormal"
|
||||
android:viewportWidth="960"
|
||||
android:viewportHeight="960">
|
||||
<path
|
||||
android:fillColor="@android:color/white"
|
||||
android:pathData="M560,800L560,280L360,280L360,160L880,160L880,280L680,280L680,800L560,800ZM200,800L200,480L80,480L80,360L440,360L440,480L320,480L320,800L200,800Z" />
|
||||
</vector>
|
|
@ -18,6 +18,7 @@
|
|||
<integer name="auto_accept_filesize">524288</integer>
|
||||
<string name="picture_compression">auto</string>
|
||||
<bool name="use_green_background">true</bool>
|
||||
<bool name="large_font">false</bool>
|
||||
<string name="quick_action">recent</string>
|
||||
<bool name="show_dynamic_tags">false</bool>
|
||||
<bool name="btbv">true</bool>
|
||||
|
|
|
@ -1055,5 +1055,7 @@
|
|||
<string name="pref_category_interaction">Interaction</string>
|
||||
<string name="pref_category_on_this_device">On device</string>
|
||||
<string name="pref_up_long_summary">When acting as a UnifiedPush Distributor the persistent, reliable and battery-friendly XMPP connection will be utilized to wake up other UnifiedPush compatible app such as Tusky, Ltt.rs, FluffyChat and more.</string>
|
||||
<string name="pref_large_font">Large font</string>
|
||||
<string name="pref_large_font_summary">Increase font size in message bubbles</string>
|
||||
|
||||
</resources>
|
||||
|
|
|
@ -21,6 +21,12 @@
|
|||
android:key="use_green_background"
|
||||
android:summary="@string/pref_use_colorful_bubbles_summary"
|
||||
android:title="@string/pref_use_colorful_bubbles" />
|
||||
<SwitchPreferenceCompat
|
||||
android:defaultValue="@bool/large_font"
|
||||
android:icon="@drawable/ic_format_size_24dp"
|
||||
android:key="large_font"
|
||||
android:summary="@string/pref_large_font_summary"
|
||||
android:title="@string/pref_large_font" />
|
||||
<SwitchPreferenceCompat
|
||||
android:defaultValue="@bool/show_dynamic_tags"
|
||||
android:icon="@drawable/ic_label_24dp"
|
||||
|
|
Loading…
Reference in a new issue