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

View File

@ -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)

View File

@ -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

View File

@ -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 {

View File

@ -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<Checkl
checklist_title.apply {
text = checklistItem.title
setTextColor(textColor)
setTextSize(TypedValue.COMPLEX_UNIT_PX, context.getTextSize())
setTextSize(TypedValue.COMPLEX_UNIT_PX, context.getPercentageFontSize())
gravity = context.config.getTextGravity()
if (checklistItem.isDone) {

View File

@ -9,7 +9,6 @@ import android.widget.RemoteViewsService
import com.google.gson.Gson
import com.google.gson.reflect.TypeToken
import com.simplemobiletools.commons.extensions.adjustAlpha
import com.simplemobiletools.commons.extensions.getTextSize
import com.simplemobiletools.commons.extensions.setText
import com.simplemobiletools.commons.extensions.setTextSize
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.widget_text_holder
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.helpers.*
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)
}
val textSize = context.getTextSize() / context.resources.displayMetrics.density
val textSize = context.getPercentageFontSize() / context.resources.displayMetrics.density
if (note!!.type == NoteType.TYPE_CHECKLIST.value) {
remoteView = RemoteViews(context.packageName, R.layout.item_checklist_widget).apply {
val checklistItem = checklistItems.getOrNull(position) ?: return@apply
@ -95,7 +95,7 @@ class WidgetAdapter(val context: Context, val intent: Intent) : RemoteViewsServi
val checklistItemType = object : TypeToken<List<ChecklistItem>>() {}.type
checklistItems = Gson().fromJson<ArrayList<ChecklistItem>>(note!!.value, checklistItemType) ?: ArrayList(1)
if (context.config.moveUndoneChecklistItems) {
checklistItems .sortBy { it.isDone }
checklistItems.sortBy { it.isDone }
}
}
}

View File

@ -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)

View File

@ -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()

View File

@ -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()
}

View File

@ -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