From d64f9d889d9a63cbe95f872f02b4cf1b53bd9f64 Mon Sep 17 00:00:00 2001 From: tibbi Date: Thu, 28 May 2020 21:38:43 +0200 Subject: [PATCH] apply the new way of setting font size in percentage everywhere --- .../notes/pro/activities/MainActivity.kt | 6 +-- .../notes/pro/activities/SettingsActivity.kt | 41 +++++++++++-------- .../pro/activities/WidgetConfigureActivity.kt | 3 +- .../notes/pro/adapters/ChecklistAdapter.kt | 4 +- .../notes/pro/adapters/WidgetAdapter.kt | 6 +-- .../notes/pro/extensions/Context.kt | 20 ++------- .../notes/pro/fragments/TextFragment.kt | 4 +- .../notes/pro/helpers/Config.kt | 4 ++ .../notes/pro/helpers/Constants.kt | 1 + 9 files changed, 43 insertions(+), 46 deletions(-) diff --git a/app/src/main/kotlin/com/simplemobiletools/notes/pro/activities/MainActivity.kt b/app/src/main/kotlin/com/simplemobiletools/notes/pro/activities/MainActivity.kt index 36809aa5..8ac9f8f1 100644 --- a/app/src/main/kotlin/com/simplemobiletools/notes/pro/activities/MainActivity.kt +++ b/app/src/main/kotlin/com/simplemobiletools/notes/pro/activities/MainActivity.kt @@ -79,8 +79,8 @@ class MainActivity : SimpleActivity() { searchClearBtn = findViewById(R.id.search_clear) initViewPager(intent.getLongExtra(OPEN_NOTE_ID, -1L)) - pager_title_strip.setTextSize(TypedValue.COMPLEX_UNIT_PX, getTextSize()) - pager_title_strip.layoutParams.height = (pager_title_strip.height + resources.getDimension(R.dimen.activity_margin) * 2).toInt() + pager_title_strip.setTextSize(TypedValue.COMPLEX_UNIT_PX, getPercentageFontSize()) + pager_title_strip.layoutParams.height = (pager_title_strip.height + resources.getDimension(R.dimen.activity_margin) * 2 * (config.fontSizePercentage / 100f)).toInt() checkWhatsNewDialog() checkIntents(intent) @@ -113,7 +113,7 @@ class MainActivity : SimpleActivity() { invalidateOptionsMenu() pager_title_strip.apply { - setTextSize(TypedValue.COMPLEX_UNIT_PX, getTextSize()) + setTextSize(TypedValue.COMPLEX_UNIT_PX, getPercentageFontSize()) setGravity(Gravity.CENTER_VERTICAL) setNonPrimaryAlpha(0.4f) setTextColor(config.textColor) diff --git a/app/src/main/kotlin/com/simplemobiletools/notes/pro/activities/SettingsActivity.kt b/app/src/main/kotlin/com/simplemobiletools/notes/pro/activities/SettingsActivity.kt index c2433abf..be20698e 100644 --- a/app/src/main/kotlin/com/simplemobiletools/notes/pro/activities/SettingsActivity.kt +++ b/app/src/main/kotlin/com/simplemobiletools/notes/pro/activities/SettingsActivity.kt @@ -4,8 +4,13 @@ import android.content.Intent import android.os.Bundle import android.view.Menu import com.simplemobiletools.commons.dialogs.RadioGroupDialog -import com.simplemobiletools.commons.extensions.* -import com.simplemobiletools.commons.helpers.* +import com.simplemobiletools.commons.extensions.beGone +import com.simplemobiletools.commons.extensions.beVisibleIf +import com.simplemobiletools.commons.extensions.getAdjustedPrimaryColor +import com.simplemobiletools.commons.extensions.updateTextColors +import com.simplemobiletools.commons.helpers.IS_CUSTOMIZING_COLORS +import com.simplemobiletools.commons.helpers.ensureBackgroundThread +import com.simplemobiletools.commons.helpers.isOreoPlus import com.simplemobiletools.commons.models.RadioItem import com.simplemobiletools.notes.pro.R import com.simplemobiletools.notes.pro.extensions.config @@ -151,23 +156,23 @@ class SettingsActivity : SimpleActivity() { } private fun setupFontSize() { - settings_font_size.text = getFontSizePercentText(config.fontSize) + settings_font_size.text = getFontSizePercentText(config.fontSizePercentage) settings_font_size_holder.setOnClickListener { val items = arrayListOf( - RadioItem(FONT_SIZE_50_PERCENT, getFontSizePercentText(FONT_SIZE_50_PERCENT)), - RadioItem(FONT_SIZE_75_PERCENT, getFontSizePercentText(FONT_SIZE_75_PERCENT)), - RadioItem(FONT_SIZE_100_PERCENT, getFontSizePercentText(FONT_SIZE_100_PERCENT)), - RadioItem(FONT_SIZE_125_PERCENT, getFontSizePercentText(FONT_SIZE_125_PERCENT)), - RadioItem(FONT_SIZE_150_PERCENT, getFontSizePercentText(FONT_SIZE_150_PERCENT)), - RadioItem(FONT_SIZE_175_PERCENT, getFontSizePercentText(FONT_SIZE_175_PERCENT)), - RadioItem(FONT_SIZE_200_PERCENT, getFontSizePercentText(FONT_SIZE_200_PERCENT)), - RadioItem(FONT_SIZE_250_PERCENT, getFontSizePercentText(FONT_SIZE_250_PERCENT)), - RadioItem(FONT_SIZE_300_PERCENT, getFontSizePercentText(FONT_SIZE_300_PERCENT)) + RadioItem(FONT_SIZE_50_PERCENT, getFontSizePercentText(FONT_SIZE_50_PERCENT)), + RadioItem(FONT_SIZE_75_PERCENT, getFontSizePercentText(FONT_SIZE_75_PERCENT)), + RadioItem(FONT_SIZE_100_PERCENT, getFontSizePercentText(FONT_SIZE_100_PERCENT)), + RadioItem(FONT_SIZE_125_PERCENT, getFontSizePercentText(FONT_SIZE_125_PERCENT)), + RadioItem(FONT_SIZE_150_PERCENT, getFontSizePercentText(FONT_SIZE_150_PERCENT)), + RadioItem(FONT_SIZE_175_PERCENT, getFontSizePercentText(FONT_SIZE_175_PERCENT)), + RadioItem(FONT_SIZE_200_PERCENT, getFontSizePercentText(FONT_SIZE_200_PERCENT)), + RadioItem(FONT_SIZE_250_PERCENT, getFontSizePercentText(FONT_SIZE_250_PERCENT)), + RadioItem(FONT_SIZE_300_PERCENT, getFontSizePercentText(FONT_SIZE_300_PERCENT)) ) - RadioGroupDialog(this@SettingsActivity, items, config.fontSize) { - config.fontSize = it as Int - settings_font_size.text = getFontSizePercentText(config.fontSize) + RadioGroupDialog(this@SettingsActivity, items, config.fontSizePercentage) { + config.fontSizePercentage = it as Int + settings_font_size.text = getFontSizePercentText(config.fontSizePercentage) updateWidgets() } } @@ -179,9 +184,9 @@ class SettingsActivity : SimpleActivity() { settings_gravity.text = getGravityText() settings_gravity_holder.setOnClickListener { val items = arrayListOf( - RadioItem(GRAVITY_LEFT, getString(R.string.left)), - RadioItem(GRAVITY_CENTER, getString(R.string.center)), - RadioItem(GRAVITY_RIGHT, getString(R.string.right))) + RadioItem(GRAVITY_LEFT, getString(R.string.left)), + RadioItem(GRAVITY_CENTER, getString(R.string.center)), + RadioItem(GRAVITY_RIGHT, getString(R.string.right))) RadioGroupDialog(this@SettingsActivity, items, config.gravity) { config.gravity = it as Int diff --git a/app/src/main/kotlin/com/simplemobiletools/notes/pro/activities/WidgetConfigureActivity.kt b/app/src/main/kotlin/com/simplemobiletools/notes/pro/activities/WidgetConfigureActivity.kt index 7ab46391..7a84b9da 100644 --- a/app/src/main/kotlin/com/simplemobiletools/notes/pro/activities/WidgetConfigureActivity.kt +++ b/app/src/main/kotlin/com/simplemobiletools/notes/pro/activities/WidgetConfigureActivity.kt @@ -20,6 +20,7 @@ import com.simplemobiletools.commons.models.RadioItem import com.simplemobiletools.notes.pro.R import com.simplemobiletools.notes.pro.adapters.ChecklistAdapter import com.simplemobiletools.notes.pro.extensions.config +import com.simplemobiletools.notes.pro.extensions.getPercentageFontSize import com.simplemobiletools.notes.pro.extensions.widgetsDB import com.simplemobiletools.notes.pro.helpers.* import com.simplemobiletools.notes.pro.models.ChecklistItem @@ -60,7 +61,7 @@ class WidgetConfigureActivity : SimpleActivity() { override fun onResume() { super.onResume() - text_note_view.setTextSize(TypedValue.COMPLEX_UNIT_PX, getTextSize()) + text_note_view.setTextSize(TypedValue.COMPLEX_UNIT_PX, getPercentageFontSize()) } override fun onCreateOptionsMenu(menu: Menu): Boolean { diff --git a/app/src/main/kotlin/com/simplemobiletools/notes/pro/adapters/ChecklistAdapter.kt b/app/src/main/kotlin/com/simplemobiletools/notes/pro/adapters/ChecklistAdapter.kt index a8ad8b32..d372cb60 100644 --- a/app/src/main/kotlin/com/simplemobiletools/notes/pro/adapters/ChecklistAdapter.kt +++ b/app/src/main/kotlin/com/simplemobiletools/notes/pro/adapters/ChecklistAdapter.kt @@ -14,11 +14,11 @@ import com.simplemobiletools.commons.adapters.MyRecyclerViewAdapter import com.simplemobiletools.commons.extensions.applyColorFilter import com.simplemobiletools.commons.extensions.beVisibleIf import com.simplemobiletools.commons.extensions.getColoredDrawableWithColor -import com.simplemobiletools.commons.extensions.getTextSize import com.simplemobiletools.commons.views.MyRecyclerView import com.simplemobiletools.notes.pro.R import com.simplemobiletools.notes.pro.dialogs.RenameChecklistItemDialog import com.simplemobiletools.notes.pro.extensions.config +import com.simplemobiletools.notes.pro.extensions.getPercentageFontSize import com.simplemobiletools.notes.pro.helpers.DONE_CHECKLIST_ITEM_ALPHA import com.simplemobiletools.notes.pro.interfaces.ChecklistItemsListener import com.simplemobiletools.notes.pro.interfaces.ItemMoveCallback @@ -154,7 +154,7 @@ class ChecklistAdapter(activity: BaseSimpleActivity, var items: ArrayList>() {}.type checklistItems = Gson().fromJson>(note!!.value, checklistItemType) ?: ArrayList(1) if (context.config.moveUndoneChecklistItems) { - checklistItems .sortBy { it.isDone } + checklistItems.sortBy { it.isDone } } } } diff --git a/app/src/main/kotlin/com/simplemobiletools/notes/pro/extensions/Context.kt b/app/src/main/kotlin/com/simplemobiletools/notes/pro/extensions/Context.kt index 7549a1ba..b044187d 100644 --- a/app/src/main/kotlin/com/simplemobiletools/notes/pro/extensions/Context.kt +++ b/app/src/main/kotlin/com/simplemobiletools/notes/pro/extensions/Context.kt @@ -4,13 +4,10 @@ import android.appwidget.AppWidgetManager import android.content.ComponentName import android.content.Context import android.content.Intent -import com.simplemobiletools.commons.extensions.baseConfig -import com.simplemobiletools.commons.helpers.FONT_SIZE_LARGE -import com.simplemobiletools.commons.helpers.FONT_SIZE_MEDIUM -import com.simplemobiletools.commons.helpers.FONT_SIZE_SMALL import com.simplemobiletools.notes.pro.R import com.simplemobiletools.notes.pro.databases.NotesDatabase -import com.simplemobiletools.notes.pro.helpers.* +import com.simplemobiletools.notes.pro.helpers.Config +import com.simplemobiletools.notes.pro.helpers.MyWidgetProvider import com.simplemobiletools.notes.pro.interfaces.NotesDao import com.simplemobiletools.notes.pro.interfaces.WidgetsDao @@ -31,15 +28,4 @@ fun Context.updateWidgets() { } } -fun Context.getEditorFontSize(): Float { - val defaultFontSizeDimension = when(resources.getInteger(R.integer.default_font_size)) { - FONT_SIZE_SMALL -> resources.getDimension(R.dimen.small_text_size) - FONT_SIZE_MEDIUM -> resources.getDimension(R.dimen.middle_text_size) - FONT_SIZE_LARGE -> resources.getDimension(R.dimen.big_text_size) - else -> resources.getDimension(R.dimen.extra_big_text_size) - } - return when(baseConfig.fontSize) { - resources.getInteger(R.integer.default_font_size) -> defaultFontSizeDimension - else -> defaultFontSizeDimension * baseConfig.fontSize / 100 - } -} +fun Context.getPercentageFontSize() = resources.getDimension(R.dimen.middle_text_size) * (config.fontSizePercentage / 100f) diff --git a/app/src/main/kotlin/com/simplemobiletools/notes/pro/fragments/TextFragment.kt b/app/src/main/kotlin/com/simplemobiletools/notes/pro/fragments/TextFragment.kt index f4a70c8c..2060c68f 100644 --- a/app/src/main/kotlin/com/simplemobiletools/notes/pro/fragments/TextFragment.kt +++ b/app/src/main/kotlin/com/simplemobiletools/notes/pro/fragments/TextFragment.kt @@ -18,7 +18,7 @@ import com.simplemobiletools.commons.extensions.* import com.simplemobiletools.notes.pro.R import com.simplemobiletools.notes.pro.activities.MainActivity import com.simplemobiletools.notes.pro.extensions.config -import com.simplemobiletools.notes.pro.extensions.getEditorFontSize +import com.simplemobiletools.notes.pro.extensions.getPercentageFontSize import com.simplemobiletools.notes.pro.extensions.updateWidgets import com.simplemobiletools.notes.pro.helpers.MyMovementMethod import com.simplemobiletools.notes.pro.helpers.NOTE_ID @@ -127,7 +127,7 @@ class TextFragment : NoteFragment() { val adjustedPrimaryColor = context.getAdjustedPrimaryColor() setColors(config.textColor, adjustedPrimaryColor, config.backgroundColor) - setTextSize(TypedValue.COMPLEX_UNIT_PX, context.getEditorFontSize()) + setTextSize(TypedValue.COMPLEX_UNIT_PX, context.getPercentageFontSize()) highlightColor = adjustedPrimaryColor.adjustAlpha(.4f) gravity = config.getTextGravity() diff --git a/app/src/main/kotlin/com/simplemobiletools/notes/pro/helpers/Config.kt b/app/src/main/kotlin/com/simplemobiletools/notes/pro/helpers/Config.kt index d7de7018..79e19af4 100644 --- a/app/src/main/kotlin/com/simplemobiletools/notes/pro/helpers/Config.kt +++ b/app/src/main/kotlin/com/simplemobiletools/notes/pro/helpers/Config.kt @@ -85,4 +85,8 @@ class Config(context: Context) : BaseConfig(context) { GRAVITY_RIGHT -> Gravity.RIGHT else -> Gravity.LEFT } + + var fontSizePercentage: Int + get() = prefs.getInt(FONT_SIZE_PERCENTAGE, 100) + set(fontSizePercentage) = prefs.edit().putInt(FONT_SIZE_PERCENTAGE, fontSizePercentage).apply() } diff --git a/app/src/main/kotlin/com/simplemobiletools/notes/pro/helpers/Constants.kt b/app/src/main/kotlin/com/simplemobiletools/notes/pro/helpers/Constants.kt index 90c75777..7102c39c 100644 --- a/app/src/main/kotlin/com/simplemobiletools/notes/pro/helpers/Constants.kt +++ b/app/src/main/kotlin/com/simplemobiletools/notes/pro/helpers/Constants.kt @@ -30,6 +30,7 @@ const val ENABLE_LINE_WRAP = "enable_line_wrap" const val USE_INCOGNITO_MODE = "use_incognito_mode" const val LAST_CREATED_NOTE_TYPE = "last_created_note_type" const val MOVE_UNDONE_CHECKLIST_ITEMS = "move_undone_checklist_items" +const val FONT_SIZE_PERCENTAGE = "font_size_percentage" // gravity const val GRAVITY_LEFT = 0