From 625ee1ac9083a41dd43a5f4e2f5a77e3dfbdcdf9 Mon Sep 17 00:00:00 2001 From: tibbi Date: Mon, 21 Nov 2016 20:59:22 +0100 Subject: [PATCH] move text size getter in an extension --- .../simplemobiletools/notes/MyWidgetProvider.kt | 3 ++- .../kotlin/com/simplemobiletools/notes/Utils.kt | 16 ---------------- .../notes/activities/MainActivity.kt | 12 ++++++------ .../notes/activities/WidgetConfigureActivity.kt | 3 ++- .../notes/dialogs/OpenNoteDialog.kt | 8 ++------ .../notes/extensions/context.kt | 12 ++++++++++++ 6 files changed, 24 insertions(+), 30 deletions(-) delete mode 100644 app/src/main/kotlin/com/simplemobiletools/notes/Utils.kt create mode 100644 app/src/main/kotlin/com/simplemobiletools/notes/extensions/context.kt diff --git a/app/src/main/kotlin/com/simplemobiletools/notes/MyWidgetProvider.kt b/app/src/main/kotlin/com/simplemobiletools/notes/MyWidgetProvider.kt index b8dd4b6e..1512fa37 100644 --- a/app/src/main/kotlin/com/simplemobiletools/notes/MyWidgetProvider.kt +++ b/app/src/main/kotlin/com/simplemobiletools/notes/MyWidgetProvider.kt @@ -11,6 +11,7 @@ import android.widget.RemoteViews import com.simplemobiletools.notes.R.layout.widget import com.simplemobiletools.notes.activities.MainActivity import com.simplemobiletools.notes.databases.DBHelper +import com.simplemobiletools.notes.extensions.getTextSize class MyWidgetProvider : AppWidgetProvider() { lateinit var mDb: DBHelper @@ -28,7 +29,7 @@ class MyWidgetProvider : AppWidgetProvider() { mRemoteViews.apply { setInt(R.id.notes_view, "setBackgroundColor", newBgColor) setInt(R.id.notes_view, "setTextColor", newTextColor) - setFloat(R.id.notes_view, "setTextSize", Utils.getTextSize(context) / context.resources.displayMetrics.density) + setFloat(R.id.notes_view, "setTextSize", context.getTextSize() / context.resources.displayMetrics.density) } for (widgetId in appWidgetIds) { diff --git a/app/src/main/kotlin/com/simplemobiletools/notes/Utils.kt b/app/src/main/kotlin/com/simplemobiletools/notes/Utils.kt deleted file mode 100644 index a8a53c49..00000000 --- a/app/src/main/kotlin/com/simplemobiletools/notes/Utils.kt +++ /dev/null @@ -1,16 +0,0 @@ -package com.simplemobiletools.notes - -import android.content.Context - -object Utils { - fun getTextSize(context: Context): Float { - val fontSize = Config.newInstance(context).fontSize - val res = context.resources - return when (fontSize) { - FONT_SIZE_SMALL -> res.getDimension(R.dimen.small_text_size) - FONT_SIZE_LARGE -> res.getDimension(R.dimen.large_text_size) - FONT_SIZE_EXTRA_LARGE -> res.getDimension(R.dimen.extra_large_text_size) - else -> res.getDimension(R.dimen.medium_text_size) - } - } -} diff --git a/app/src/main/kotlin/com/simplemobiletools/notes/activities/MainActivity.kt b/app/src/main/kotlin/com/simplemobiletools/notes/activities/MainActivity.kt index 0bbbeb3f..48815be1 100644 --- a/app/src/main/kotlin/com/simplemobiletools/notes/activities/MainActivity.kt +++ b/app/src/main/kotlin/com/simplemobiletools/notes/activities/MainActivity.kt @@ -16,15 +16,15 @@ import com.simplemobiletools.filepicker.extensions.value import com.simplemobiletools.notes.MyWidgetProvider import com.simplemobiletools.notes.R import com.simplemobiletools.notes.TYPE_NOTE -import com.simplemobiletools.notes.Utils import com.simplemobiletools.notes.databases.DBHelper import com.simplemobiletools.notes.dialogs.NewNoteDialog import com.simplemobiletools.notes.dialogs.OpenNoteDialog import com.simplemobiletools.notes.dialogs.WidgetNoteDialog +import com.simplemobiletools.notes.extensions.getTextSize import com.simplemobiletools.notes.models.Note import kotlinx.android.synthetic.main.activity_main.* -class MainActivity : SimpleActivity(), OpenNoteDialog.OpenNoteListener { +class MainActivity : SimpleActivity() { private var mCurrentNote: Note? = null lateinit var mDb: DBHelper @@ -50,7 +50,7 @@ class MainActivity : SimpleActivity(), OpenNoteDialog.OpenNoteListener { override fun onResume() { super.onResume() invalidateOptionsMenu() - notes_view.setTextSize(TypedValue.COMPLEX_UNIT_PX, Utils.getTextSize(applicationContext)) + notes_view.setTextSize(TypedValue.COMPLEX_UNIT_PX, applicationContext.getTextSize()) } override fun onPause() { @@ -160,7 +160,9 @@ class MainActivity : SimpleActivity(), OpenNoteDialog.OpenNoteListener { } private fun displayOpenNoteDialog() { - OpenNoteDialog(this) + OpenNoteDialog(this) { + updateSelectedNote(it) + } } private fun saveText() { @@ -202,8 +204,6 @@ class MainActivity : SimpleActivity(), OpenNoteDialog.OpenNoteListener { imm.hideSoftInputFromWindow(notes_view.windowToken, 0) } - override fun noteSelected(id: Int) = updateSelectedNote(id) - fun updateWidget(context: Context) { val widgetManager = AppWidgetManager.getInstance(context) val ids = widgetManager.getAppWidgetIds(ComponentName(context, MyWidgetProvider::class.java)) diff --git a/app/src/main/kotlin/com/simplemobiletools/notes/activities/WidgetConfigureActivity.kt b/app/src/main/kotlin/com/simplemobiletools/notes/activities/WidgetConfigureActivity.kt index 71dc0b05..d63418a0 100644 --- a/app/src/main/kotlin/com/simplemobiletools/notes/activities/WidgetConfigureActivity.kt +++ b/app/src/main/kotlin/com/simplemobiletools/notes/activities/WidgetConfigureActivity.kt @@ -11,6 +11,7 @@ import android.util.TypedValue import android.widget.RemoteViews import android.widget.SeekBar import com.simplemobiletools.notes.* +import com.simplemobiletools.notes.extensions.getTextSize import kotlinx.android.synthetic.main.widget_config.* import yuku.ambilwarna.AmbilWarnaDialog @@ -41,7 +42,7 @@ class WidgetConfigureActivity : AppCompatActivity() { override fun onResume() { super.onResume() - notes_view.setTextSize(TypedValue.COMPLEX_UNIT_PX, Utils.getTextSize(applicationContext)) + notes_view.setTextSize(TypedValue.COMPLEX_UNIT_PX, applicationContext.getTextSize()) } private fun initVariables() { diff --git a/app/src/main/kotlin/com/simplemobiletools/notes/dialogs/OpenNoteDialog.kt b/app/src/main/kotlin/com/simplemobiletools/notes/dialogs/OpenNoteDialog.kt index 8f5ad07d..736559ab 100644 --- a/app/src/main/kotlin/com/simplemobiletools/notes/dialogs/OpenNoteDialog.kt +++ b/app/src/main/kotlin/com/simplemobiletools/notes/dialogs/OpenNoteDialog.kt @@ -10,7 +10,7 @@ import com.simplemobiletools.notes.R import com.simplemobiletools.notes.databases.DBHelper import kotlinx.android.synthetic.main.dialog_radio_group.view.* -class OpenNoteDialog(val activity: Activity) : RadioGroup.OnCheckedChangeListener { +class OpenNoteDialog(val activity: Activity, val callback: (checkedId: Int) -> Unit) : RadioGroup.OnCheckedChangeListener { val dialog: AlertDialog? init { @@ -39,11 +39,7 @@ class OpenNoteDialog(val activity: Activity) : RadioGroup.OnCheckedChangeListene } override fun onCheckedChanged(group: RadioGroup, checkedId: Int) { - (activity as OpenNoteListener).noteSelected(checkedId) + callback.invoke(checkedId) dialog?.dismiss() } - - interface OpenNoteListener { - fun noteSelected(id: Int) - } } diff --git a/app/src/main/kotlin/com/simplemobiletools/notes/extensions/context.kt b/app/src/main/kotlin/com/simplemobiletools/notes/extensions/context.kt new file mode 100644 index 00000000..b89cc26d --- /dev/null +++ b/app/src/main/kotlin/com/simplemobiletools/notes/extensions/context.kt @@ -0,0 +1,12 @@ +package com.simplemobiletools.notes.extensions + +import android.content.Context +import com.simplemobiletools.notes.* + +fun Context.getTextSize() = + when (Config.newInstance(this).fontSize) { + FONT_SIZE_SMALL -> resources.getDimension(R.dimen.small_text_size) + FONT_SIZE_LARGE -> resources.getDimension(R.dimen.large_text_size) + FONT_SIZE_EXTRA_LARGE -> resources.getDimension(R.dimen.extra_large_text_size) + else -> resources.getDimension(R.dimen.medium_text_size) + }