Support for message body text size preference

// FREEBIE
This commit is contained in:
Moxie Marlinspike 2017-04-14 22:59:30 -07:00
parent e5a287b4e5
commit 5f5db5ded7
6 changed files with 40 additions and 2 deletions

View File

@ -277,4 +277,18 @@
<item>#ff00ff</item>
</array>
<string-array name="pref_message_font_size_entries">
<item>@string/arrays__small</item>
<item>@string/arrays__normal</item>
<item>@string/arrays__large</item>
<item>@string/arrays__extra_large</item>
</string-array>
<string-array name="pref_message_font_size_values">
<item>13</item>
<item>16</item>
<item>20</item>
<item>30</item>
</string-array>
</resources>

View File

@ -1073,6 +1073,11 @@
<string name="arrays__video">Video</string>
<string name="arrays__documents">Documents</string>
<string name="arrays__small">Small</string>
<string name="arrays__normal">Normal</string>
<string name="arrays__large">Large</string>
<string name="arrays__extra_large">Extra large</string>
<!-- plurals.xml -->
<plurals name="hours_ago">
<item quantity="one">%d hour</item>
@ -1194,7 +1199,7 @@
<string name="preferences_notifications__events">Events</string>
<string name="preferences_chats__show_invitation_prompts">Show invitation prompts</string>
<string name="preferences_chats__display_invitation_prompts_for_contacts_without_signal">Display invitation prompts for contacts without Signal</string>
<string name="preferences_chats__message_text_size">Message text size</string>
<!-- **************************************** -->
<!-- menus -->
@ -1358,6 +1363,7 @@
<!-- transport_selection_list_item -->
<string name="transport_selection_list_item__transport_icon">Transport icon</string>
<!-- EOF -->
</resources>

View File

@ -30,6 +30,13 @@
<PreferenceCategory android:layout="@layout/preference_divider"/>
<PreferenceCategory android:title="@string/preferences_chats__chats">
<ListPreference android:key="pref_message_body_text_size"
android:title="@string/preferences_chats__message_text_size"
android:entries="@array/pref_message_font_size_entries"
android:entryValues="@array/pref_message_font_size_values"
android:defaultValue="16">
</ListPreference>
<org.thoughtcrime.securesms.components.SwitchPreferenceCompat
android:defaultValue="true"
android:key="pref_show_invite_reminder"

View File

@ -32,6 +32,7 @@ import android.text.TextUtils;
import android.text.util.Linkify;
import android.util.AttributeSet;
import android.util.Log;
import android.util.TypedValue;
import android.view.View;
import android.view.ViewGroup;
import android.view.ViewStub;
@ -304,6 +305,7 @@ public class ConversationItem extends LinearLayout
private void setBodyText(MessageRecord messageRecord) {
bodyText.setClickable(false);
bodyText.setFocusable(false);
bodyText.setTextSize(TypedValue.COMPLEX_UNIT_SP, TextSecurePreferences.getMessageBodyTextSize(context));
if (isCaptionlessMms(messageRecord)) {
bodyText.setVisibility(View.GONE);

View File

@ -4,6 +4,7 @@ import android.content.Context;
import android.content.DialogInterface;
import android.os.Bundle;
import android.preference.EditTextPreference;
import android.preference.ListPreference;
import android.preference.Preference;
import android.preference.Preference.OnPreferenceChangeListener;
import android.support.v4.preference.PreferenceFragment;
@ -21,7 +22,7 @@ import java.util.ArrayList;
import java.util.List;
import java.util.Set;
public class ChatsPreferenceFragment extends CorrectedPreferenceFragment {
public class ChatsPreferenceFragment extends ListSummaryPreferenceFragment {
private static final String TAG = ChatsPreferenceFragment.class.getSimpleName();
@Override
@ -35,12 +36,15 @@ public class ChatsPreferenceFragment extends CorrectedPreferenceFragment {
.setOnPreferenceChangeListener(new MediaDownloadChangeListener());
findPreference(TextSecurePreferences.MEDIA_DOWNLOAD_ROAMING_PREF)
.setOnPreferenceChangeListener(new MediaDownloadChangeListener());
findPreference(TextSecurePreferences.MESSAGE_BODY_TEXT_SIZE_PREF)
.setOnPreferenceChangeListener(new ListSummaryListener());
findPreference(TextSecurePreferences.THREAD_TRIM_NOW)
.setOnPreferenceClickListener(new TrimNowClickListener());
findPreference(TextSecurePreferences.THREAD_TRIM_LENGTH)
.setOnPreferenceChangeListener(new TrimLengthValidationListener());
initializeListSummary((ListPreference) findPreference(TextSecurePreferences.MESSAGE_BODY_TEXT_SIZE_PREF));
}
@Override

View File

@ -80,6 +80,7 @@ public class TextSecurePreferences {
private static final String IN_THREAD_NOTIFICATION_PREF = "pref_key_inthread_notifications";
private static final String BLOCKING_IDENTITY_CHANGES_PREF = "pref_blocking_identity_changes";
private static final String SHOW_INVITE_REMINDER_PREF = "pref_show_invite_reminder";
public static final String MESSAGE_BODY_TEXT_SIZE_PREF = "pref_message_body_text_size";
private static final String LOCAL_REGISTRATION_ID_PREF = "pref_local_registration_id";
private static final String SIGNED_PREKEY_REGISTERED_PREF = "pref_signed_prekey_registered";
@ -108,6 +109,10 @@ public class TextSecurePreferences {
public static final String DIRECT_CAPTURE_CAMERA_ID = "pref_direct_capture_camera_id";
private static final String ALWAYS_RELAY_CALLS_PREF = "pref_turn_only";
public static int getMessageBodyTextSize(Context context) {
return Integer.valueOf(getStringPreference(context, MESSAGE_BODY_TEXT_SIZE_PREF, "16"));
}
public static boolean isTurnOnly(Context context) {
return getBooleanPreference(context, ALWAYS_RELAY_CALLS_PREF, false);
}