diff options
author | Kamil K <kamil@ryuu.eu> | 2019-08-06 23:14:09 +0300 |
---|---|---|
committer | Niedermann IT-Dienstleistungen <stefan-niedermann@users.noreply.github.com> | 2019-08-11 15:01:12 +0300 |
commit | 6f23054f608c13c30b64a813716c95bc3361878a (patch) | |
tree | 69be4794f2c05239a68bf915536088f7aa604699 /app | |
parent | 5d1a3e617e5d73b1a07937615b857e99d7eb6993 (diff) |
Added font size preference.
Diffstat (limited to 'app')
8 files changed, 63 insertions, 0 deletions
diff --git a/app/src/main/java/it/niedermann/owncloud/notes/android/fragment/BaseNoteFragment.java b/app/src/main/java/it/niedermann/owncloud/notes/android/fragment/BaseNoteFragment.java index a8513907..86fa35a2 100644 --- a/app/src/main/java/it/niedermann/owncloud/notes/android/fragment/BaseNoteFragment.java +++ b/app/src/main/java/it/niedermann/owncloud/notes/android/fragment/BaseNoteFragment.java @@ -5,6 +5,7 @@ import android.app.Fragment; import android.app.FragmentManager; import android.app.PendingIntent; import android.content.Intent; +import android.content.SharedPreferences; import android.content.pm.ShortcutInfo; import android.content.pm.ShortcutManager; import android.graphics.drawable.Icon; @@ -319,6 +320,24 @@ public abstract class BaseNoteFragment extends Fragment implements CategoryDialo } } + protected float getFontSizeFromPreferences(SharedPreferences sp) { + final String prefValueTiny = getString(R.string.pref_value_font_size_tiny); + final String prefValueSmall = getString(R.string.pref_value_font_size_small); + final String prefValueMedium = getString(R.string.pref_value_font_size_medium); + final String prefValueLarge = getString(R.string.pref_value_font_size_large); + String fontSize = sp.getString(getString(R.string.pref_key_font_size), prefValueMedium); + + if (fontSize.equals(prefValueTiny)) { + return getResources().getDimension(R.dimen.note_font_size_tiny); + } else if (fontSize.equals(prefValueSmall)) { + return getResources().getDimension(R.dimen.note_font_size_small); + } else if (fontSize.equals(prefValueMedium)) { + return getResources().getDimension(R.dimen.note_font_size_medium); + } else { + return getResources().getDimension(R.dimen.note_font_size_large); + } + } + protected abstract String getContent(); /** diff --git a/app/src/main/java/it/niedermann/owncloud/notes/android/fragment/NoteEditFragment.java b/app/src/main/java/it/niedermann/owncloud/notes/android/fragment/NoteEditFragment.java index 059360bc..05970f12 100644 --- a/app/src/main/java/it/niedermann/owncloud/notes/android/fragment/NoteEditFragment.java +++ b/app/src/main/java/it/niedermann/owncloud/notes/android/fragment/NoteEditFragment.java @@ -10,6 +10,7 @@ import android.preference.PreferenceManager; import android.text.Editable; import android.text.TextWatcher; import android.util.Log; +import android.util.TypedValue; import android.view.LayoutInflater; import android.view.Menu; import android.view.View; @@ -155,6 +156,7 @@ public class NoteEditFragment extends BaseNoteFragment { editContent.setCustomSelectionActionModeCallback(new StyleCallback(this.editContent)); SharedPreferences sp = PreferenceManager.getDefaultSharedPreferences(getActivity().getApplicationContext()); + editContent.setTextSize(TypedValue.COMPLEX_UNIT_PX, getFontSizeFromPreferences(sp)); if (sp.getBoolean(getString(R.string.pref_key_font), false)) { editContent.setTypeface(Typeface.MONOSPACE); } diff --git a/app/src/main/java/it/niedermann/owncloud/notes/android/fragment/NotePreviewFragment.java b/app/src/main/java/it/niedermann/owncloud/notes/android/fragment/NotePreviewFragment.java index 96240aa3..0dbf8d0d 100644 --- a/app/src/main/java/it/niedermann/owncloud/notes/android/fragment/NotePreviewFragment.java +++ b/app/src/main/java/it/niedermann/owncloud/notes/android/fragment/NotePreviewFragment.java @@ -6,6 +6,7 @@ import android.os.Bundle; import android.preference.PreferenceManager; import android.text.method.LinkMovementMethod; import android.util.Log; +import android.util.TypedValue; import android.view.LayoutInflater; import android.view.Menu; import android.view.View; @@ -100,6 +101,7 @@ public class NotePreviewFragment extends BaseNoteFragment { noteContent.setMovementMethod(LinkMovementMethod.getInstance()); SharedPreferences sp = PreferenceManager.getDefaultSharedPreferences(getActivity().getApplicationContext()); + noteContent.setTextSize(TypedValue.COMPLEX_UNIT_PX, getFontSizeFromPreferences(sp)); if (sp.getBoolean(getString(R.string.pref_key_font), false)) { noteContent.setTypeface(Typeface.MONOSPACE); } diff --git a/app/src/main/res/drawable/ic_format_size_black_24dp.xml b/app/src/main/res/drawable/ic_format_size_black_24dp.xml new file mode 100644 index 00000000..49293372 --- /dev/null +++ b/app/src/main/res/drawable/ic_format_size_black_24dp.xml @@ -0,0 +1,5 @@ +<vector android:autoMirrored="true" android:height="24dp" + android:tint="#666666" android:viewportHeight="24.0" + android:viewportWidth="24.0" android:width="24dp" xmlns:android="http://schemas.android.com/apk/res/android"> + <path android:fillColor="#FF000000" android:pathData="M9,4v3h5v12h3L17,7h5L22,4L9,4zM3,12h3v7h3v-7h3L12,9L3,9v3z"/> +</vector> diff --git a/app/src/main/res/values/arrays.xml b/app/src/main/res/values/arrays.xml index 307afaeb..3c08c1cd 100644 --- a/app/src/main/res/values/arrays.xml +++ b/app/src/main/res/values/arrays.xml @@ -5,4 +5,10 @@ <item>@string/pref_value_mode_preview</item> <item>@string/pref_value_mode_last</item> </string-array> + <string-array name="fontSize_values"> + <item>@string/pref_value_font_size_tiny</item> + <item>@string/pref_value_font_size_small</item> + <item>@string/pref_value_font_size_medium</item> + <item>@string/pref_value_font_size_large</item> + </string-array> </resources>
\ No newline at end of file diff --git a/app/src/main/res/values/dimens.xml b/app/src/main/res/values/dimens.xml index 6ddd571f..41784f68 100644 --- a/app/src/main/res/values/dimens.xml +++ b/app/src/main/res/values/dimens.xml @@ -12,6 +12,12 @@ <dimen name="primary_font_size">16sp</dimen> <dimen name="secondary_font_size">14sp</dimen> + <!-- Font Sizes --> + <dimen name="note_font_size_tiny">14sp</dimen> + <dimen name="note_font_size_small">16sp</dimen> + <dimen name="note_font_size_medium">18sp</dimen> + <dimen name="note_font_size_large">22sp</dimen> + <!-- Widgets --> <dimen name="widget_margin">8dp</dimen> <dimen name="widget_single_note_padding">10dp</dimen> diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index 5a1d21cd..09b4eebb 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -56,6 +56,7 @@ <string name="settings_note_mode">Display mode for notes</string> <string name="settings_theme_title">Dark theme</string> <string name="settings_font_title">Monospace font</string> + <string name="settings_font_size">Font size</string> <string name="settings_wifi_only">Sync only on Wi-Fi</string> <string name="settings_cert_category">Manage certificates</string> <string name="settings_cert_trust_system">Trust system certificates</string> @@ -142,12 +143,17 @@ <string name="pref_key_note_mode" translatable="false">noteMode</string> <string name="pref_key_theme" translatable="false">darkTheme</string> <string name="pref_key_font" translatable="false">font</string> + <string name="pref_key_font_size" translatable="false">fontSize</string> <string name="pref_key_wifi_only" translatable="false">wifiOnly</string> <string name="pref_key_last_note_mode" translatable="false">lastNoteMode</string> <string name="pref_value_mode_edit" translatable="false">edit</string> <string name="pref_value_mode_preview" translatable="false">preview</string> <string name="pref_value_mode_last" translatable="false">last</string> <string name="pref_value_mode_note" translatable="false">note</string> + <string name="pref_value_font_size_tiny" translatable="false">tiny</string> + <string name="pref_value_font_size_small" translatable="false">small</string> + <string name="pref_value_font_size_medium" translatable="false">medium</string> + <string name="pref_value_font_size_large" translatable="false">large</string> <string name="pref_value_theme_light">Light</string> <string name="pref_value_theme_dark">Dark</string> <string name="pref_value_font_normal">Normal</string> @@ -167,6 +173,14 @@ <item>Remember my last selection</item> </string-array> + <!-- Array: font size --> + <string-array name="fontSize_entries"> + <item>Tiny</item> + <item>Small</item> + <item>Medium</item> + <item>Large</item> + </string-array> + <!-- Plurals --> <plurals name="ab_selected"> <item quantity="one">%d selected</item> diff --git a/app/src/main/res/xml/preferences.xml b/app/src/main/res/xml/preferences.xml index c9b428ac..0a165c38 100644 --- a/app/src/main/res/xml/preferences.xml +++ b/app/src/main/res/xml/preferences.xml @@ -30,6 +30,15 @@ android:key="@string/pref_key_font" android:title="@string/settings_font_title" /> + <ListPreference + android:defaultValue="@string/pref_value_font_size_medium" + android:entries="@array/fontSize_entries" + android:entryValues="@array/fontSize_values" + android:icon="@drawable/ic_format_size_black_24dp" + android:key="@string/pref_key_font_size" + android:summary="%s" + android:title="@string/settings_font_size" /> + <SwitchPreference android:defaultValue="@string/pref_value_wifi_and_mobile" android:icon="@drawable/ic_sync_black_24dp" |