apply the new way of setting font size in percentage everywhere

This commit is contained in:
tibbi 2020-05-28 21:38:43 +02:00
parent a379f572cb
commit d64f9d889d
9 changed files with 43 additions and 46 deletions
app/src/main/kotlin/com/simplemobiletools/notes/pro

@ -79,8 +79,8 @@ class MainActivity : SimpleActivity() {
searchClearBtn = findViewById(R.id.search_clear) searchClearBtn = findViewById(R.id.search_clear)
initViewPager(intent.getLongExtra(OPEN_NOTE_ID, -1L)) initViewPager(intent.getLongExtra(OPEN_NOTE_ID, -1L))
pager_title_strip.setTextSize(TypedValue.COMPLEX_UNIT_PX, getTextSize()) 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).toInt() pager_title_strip.layoutParams.height = (pager_title_strip.height + resources.getDimension(R.dimen.activity_margin) * 2 * (config.fontSizePercentage / 100f)).toInt()
checkWhatsNewDialog() checkWhatsNewDialog()
checkIntents(intent) checkIntents(intent)
@ -113,7 +113,7 @@ class MainActivity : SimpleActivity() {
invalidateOptionsMenu() invalidateOptionsMenu()
pager_title_strip.apply { pager_title_strip.apply {
setTextSize(TypedValue.COMPLEX_UNIT_PX, getTextSize()) setTextSize(TypedValue.COMPLEX_UNIT_PX, getPercentageFontSize())
setGravity(Gravity.CENTER_VERTICAL) setGravity(Gravity.CENTER_VERTICAL)
setNonPrimaryAlpha(0.4f) setNonPrimaryAlpha(0.4f)
setTextColor(config.textColor) setTextColor(config.textColor)

@ -4,8 +4,13 @@ import android.content.Intent
import android.os.Bundle import android.os.Bundle
import android.view.Menu import android.view.Menu
import com.simplemobiletools.commons.dialogs.RadioGroupDialog import com.simplemobiletools.commons.dialogs.RadioGroupDialog
import com.simplemobiletools.commons.extensions.* import com.simplemobiletools.commons.extensions.beGone
import com.simplemobiletools.commons.helpers.* 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.commons.models.RadioItem
import com.simplemobiletools.notes.pro.R import com.simplemobiletools.notes.pro.R
import com.simplemobiletools.notes.pro.extensions.config import com.simplemobiletools.notes.pro.extensions.config
@ -151,7 +156,7 @@ class SettingsActivity : SimpleActivity() {
} }
private fun setupFontSize() { private fun setupFontSize() {
settings_font_size.text = getFontSizePercentText(config.fontSize) settings_font_size.text = getFontSizePercentText(config.fontSizePercentage)
settings_font_size_holder.setOnClickListener { settings_font_size_holder.setOnClickListener {
val items = arrayListOf( val items = arrayListOf(
RadioItem(FONT_SIZE_50_PERCENT, getFontSizePercentText(FONT_SIZE_50_PERCENT)), RadioItem(FONT_SIZE_50_PERCENT, getFontSizePercentText(FONT_SIZE_50_PERCENT)),
@ -165,9 +170,9 @@ class SettingsActivity : SimpleActivity() {
RadioItem(FONT_SIZE_300_PERCENT, getFontSizePercentText(FONT_SIZE_300_PERCENT)) RadioItem(FONT_SIZE_300_PERCENT, getFontSizePercentText(FONT_SIZE_300_PERCENT))
) )
RadioGroupDialog(this@SettingsActivity, items, config.fontSize) { RadioGroupDialog(this@SettingsActivity, items, config.fontSizePercentage) {
config.fontSize = it as Int config.fontSizePercentage = it as Int
settings_font_size.text = getFontSizePercentText(config.fontSize) settings_font_size.text = getFontSizePercentText(config.fontSizePercentage)
updateWidgets() updateWidgets()
} }
} }

@ -20,6 +20,7 @@ import com.simplemobiletools.commons.models.RadioItem
import com.simplemobiletools.notes.pro.R import com.simplemobiletools.notes.pro.R
import com.simplemobiletools.notes.pro.adapters.ChecklistAdapter import com.simplemobiletools.notes.pro.adapters.ChecklistAdapter
import com.simplemobiletools.notes.pro.extensions.config 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.extensions.widgetsDB
import com.simplemobiletools.notes.pro.helpers.* import com.simplemobiletools.notes.pro.helpers.*
import com.simplemobiletools.notes.pro.models.ChecklistItem import com.simplemobiletools.notes.pro.models.ChecklistItem
@ -60,7 +61,7 @@ class WidgetConfigureActivity : SimpleActivity() {
override fun onResume() { override fun onResume() {
super.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 { override fun onCreateOptionsMenu(menu: Menu): Boolean {

@ -14,11 +14,11 @@ import com.simplemobiletools.commons.adapters.MyRecyclerViewAdapter
import com.simplemobiletools.commons.extensions.applyColorFilter import com.simplemobiletools.commons.extensions.applyColorFilter
import com.simplemobiletools.commons.extensions.beVisibleIf import com.simplemobiletools.commons.extensions.beVisibleIf
import com.simplemobiletools.commons.extensions.getColoredDrawableWithColor import com.simplemobiletools.commons.extensions.getColoredDrawableWithColor
import com.simplemobiletools.commons.extensions.getTextSize
import com.simplemobiletools.commons.views.MyRecyclerView import com.simplemobiletools.commons.views.MyRecyclerView
import com.simplemobiletools.notes.pro.R import com.simplemobiletools.notes.pro.R
import com.simplemobiletools.notes.pro.dialogs.RenameChecklistItemDialog import com.simplemobiletools.notes.pro.dialogs.RenameChecklistItemDialog
import com.simplemobiletools.notes.pro.extensions.config 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.helpers.DONE_CHECKLIST_ITEM_ALPHA
import com.simplemobiletools.notes.pro.interfaces.ChecklistItemsListener import com.simplemobiletools.notes.pro.interfaces.ChecklistItemsListener
import com.simplemobiletools.notes.pro.interfaces.ItemMoveCallback import com.simplemobiletools.notes.pro.interfaces.ItemMoveCallback
@ -154,7 +154,7 @@ class ChecklistAdapter(activity: BaseSimpleActivity, var items: ArrayList<Checkl
checklist_title.apply { checklist_title.apply {
text = checklistItem.title text = checklistItem.title
setTextColor(textColor) setTextColor(textColor)
setTextSize(TypedValue.COMPLEX_UNIT_PX, context.getTextSize()) setTextSize(TypedValue.COMPLEX_UNIT_PX, context.getPercentageFontSize())
gravity = context.config.getTextGravity() gravity = context.config.getTextGravity()
if (checklistItem.isDone) { if (checklistItem.isDone) {

@ -9,7 +9,6 @@ import android.widget.RemoteViewsService
import com.google.gson.Gson import com.google.gson.Gson
import com.google.gson.reflect.TypeToken import com.google.gson.reflect.TypeToken
import com.simplemobiletools.commons.extensions.adjustAlpha import com.simplemobiletools.commons.extensions.adjustAlpha
import com.simplemobiletools.commons.extensions.getTextSize
import com.simplemobiletools.commons.extensions.setText import com.simplemobiletools.commons.extensions.setText
import com.simplemobiletools.commons.extensions.setTextSize import com.simplemobiletools.commons.extensions.setTextSize
import com.simplemobiletools.commons.helpers.WIDGET_TEXT_COLOR import com.simplemobiletools.commons.helpers.WIDGET_TEXT_COLOR
@ -17,6 +16,7 @@ import com.simplemobiletools.notes.pro.R
import com.simplemobiletools.notes.pro.R.id.checklist_title import com.simplemobiletools.notes.pro.R.id.checklist_title
import com.simplemobiletools.notes.pro.R.id.widget_text_holder import com.simplemobiletools.notes.pro.R.id.widget_text_holder
import com.simplemobiletools.notes.pro.extensions.config import com.simplemobiletools.notes.pro.extensions.config
import com.simplemobiletools.notes.pro.extensions.getPercentageFontSize
import com.simplemobiletools.notes.pro.extensions.notesDB import com.simplemobiletools.notes.pro.extensions.notesDB
import com.simplemobiletools.notes.pro.helpers.* import com.simplemobiletools.notes.pro.helpers.*
import com.simplemobiletools.notes.pro.models.ChecklistItem import com.simplemobiletools.notes.pro.models.ChecklistItem
@ -36,7 +36,7 @@ class WidgetAdapter(val context: Context, val intent: Intent) : RemoteViewsServi
return RemoteViews(context.packageName, R.layout.widget_text_layout) return RemoteViews(context.packageName, R.layout.widget_text_layout)
} }
val textSize = context.getTextSize() / context.resources.displayMetrics.density val textSize = context.getPercentageFontSize() / context.resources.displayMetrics.density
if (note!!.type == NoteType.TYPE_CHECKLIST.value) { if (note!!.type == NoteType.TYPE_CHECKLIST.value) {
remoteView = RemoteViews(context.packageName, R.layout.item_checklist_widget).apply { remoteView = RemoteViews(context.packageName, R.layout.item_checklist_widget).apply {
val checklistItem = checklistItems.getOrNull(position) ?: return@apply val checklistItem = checklistItems.getOrNull(position) ?: return@apply

@ -4,13 +4,10 @@ import android.appwidget.AppWidgetManager
import android.content.ComponentName import android.content.ComponentName
import android.content.Context import android.content.Context
import android.content.Intent 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.R
import com.simplemobiletools.notes.pro.databases.NotesDatabase 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.NotesDao
import com.simplemobiletools.notes.pro.interfaces.WidgetsDao import com.simplemobiletools.notes.pro.interfaces.WidgetsDao
@ -31,15 +28,4 @@ fun Context.updateWidgets() {
} }
} }
fun Context.getEditorFontSize(): Float { fun Context.getPercentageFontSize() = resources.getDimension(R.dimen.middle_text_size) * (config.fontSizePercentage / 100f)
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
}
}

@ -18,7 +18,7 @@ import com.simplemobiletools.commons.extensions.*
import com.simplemobiletools.notes.pro.R import com.simplemobiletools.notes.pro.R
import com.simplemobiletools.notes.pro.activities.MainActivity import com.simplemobiletools.notes.pro.activities.MainActivity
import com.simplemobiletools.notes.pro.extensions.config 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.extensions.updateWidgets
import com.simplemobiletools.notes.pro.helpers.MyMovementMethod import com.simplemobiletools.notes.pro.helpers.MyMovementMethod
import com.simplemobiletools.notes.pro.helpers.NOTE_ID import com.simplemobiletools.notes.pro.helpers.NOTE_ID
@ -127,7 +127,7 @@ class TextFragment : NoteFragment() {
val adjustedPrimaryColor = context.getAdjustedPrimaryColor() val adjustedPrimaryColor = context.getAdjustedPrimaryColor()
setColors(config.textColor, adjustedPrimaryColor, config.backgroundColor) setColors(config.textColor, adjustedPrimaryColor, config.backgroundColor)
setTextSize(TypedValue.COMPLEX_UNIT_PX, context.getEditorFontSize()) setTextSize(TypedValue.COMPLEX_UNIT_PX, context.getPercentageFontSize())
highlightColor = adjustedPrimaryColor.adjustAlpha(.4f) highlightColor = adjustedPrimaryColor.adjustAlpha(.4f)
gravity = config.getTextGravity() gravity = config.getTextGravity()

@ -85,4 +85,8 @@ class Config(context: Context) : BaseConfig(context) {
GRAVITY_RIGHT -> Gravity.RIGHT GRAVITY_RIGHT -> Gravity.RIGHT
else -> Gravity.LEFT else -> Gravity.LEFT
} }
var fontSizePercentage: Int
get() = prefs.getInt(FONT_SIZE_PERCENTAGE, 100)
set(fontSizePercentage) = prefs.edit().putInt(FONT_SIZE_PERCENTAGE, fontSizePercentage).apply()
} }

@ -30,6 +30,7 @@ const val ENABLE_LINE_WRAP = "enable_line_wrap"
const val USE_INCOGNITO_MODE = "use_incognito_mode" const val USE_INCOGNITO_MODE = "use_incognito_mode"
const val LAST_CREATED_NOTE_TYPE = "last_created_note_type" const val LAST_CREATED_NOTE_TYPE = "last_created_note_type"
const val MOVE_UNDONE_CHECKLIST_ITEMS = "move_undone_checklist_items" const val MOVE_UNDONE_CHECKLIST_ITEMS = "move_undone_checklist_items"
const val FONT_SIZE_PERCENTAGE = "font_size_percentage"
// gravity // gravity
const val GRAVITY_LEFT = 0 const val GRAVITY_LEFT = 0