From 5ca8290c97400704e875a217c15c1ebb9d7465a3 Mon Sep 17 00:00:00 2001 From: tibbi Date: Thu, 5 Apr 2018 21:55:03 +0200 Subject: [PATCH] move the function for getting note value in the note model itself --- .../notes/adapters/WidgetAdapter.kt | 6 ++-- .../notes/extensions/Context.kt | 35 ++++++------------- .../notes/fragments/NoteFragment.kt | 10 +++--- .../simplemobiletools/notes/models/Note.kt | 17 ++++++++- 4 files changed, 34 insertions(+), 34 deletions(-) diff --git a/app/src/main/kotlin/com/simplemobiletools/notes/adapters/WidgetAdapter.kt b/app/src/main/kotlin/com/simplemobiletools/notes/adapters/WidgetAdapter.kt index 245ce4f3..3977e7de 100644 --- a/app/src/main/kotlin/com/simplemobiletools/notes/adapters/WidgetAdapter.kt +++ b/app/src/main/kotlin/com/simplemobiletools/notes/adapters/WidgetAdapter.kt @@ -11,7 +11,6 @@ import com.simplemobiletools.notes.R import com.simplemobiletools.notes.R.id.widget_text_holder import com.simplemobiletools.notes.extensions.config import com.simplemobiletools.notes.extensions.dbHelper -import com.simplemobiletools.notes.extensions.getNoteStoredValue import com.simplemobiletools.notes.extensions.getTextSize import com.simplemobiletools.notes.helpers.GRAVITY_CENTER import com.simplemobiletools.notes.helpers.GRAVITY_RIGHT @@ -19,14 +18,13 @@ import com.simplemobiletools.notes.helpers.OPEN_NOTE_ID class WidgetAdapter(val context: Context) : RemoteViewsService.RemoteViewsFactory { private val textIds = arrayOf(R.id.widget_text_left, R.id.widget_text_center, R.id.widget_text_right) - val config = context.config - private val widgetTextColor = config.widgetTextColor + private val widgetTextColor = context.config.widgetTextColor override fun getViewAt(position: Int): RemoteViews { val views = RemoteViews(context.packageName, R.layout.widget_text_layout).apply { val note = context.dbHelper.getNote(context.config.widgetNoteId) if (note != null) { - val noteText = context.getNoteStoredValue(note) ?: "" + val noteText = note.getNoteStoredValue() ?: "" val textSize = context.getTextSize() / context.resources.displayMetrics.density for (id in textIds) { setText(id, noteText) diff --git a/app/src/main/kotlin/com/simplemobiletools/notes/extensions/Context.kt b/app/src/main/kotlin/com/simplemobiletools/notes/extensions/Context.kt index d87e7445..ad9520ab 100644 --- a/app/src/main/kotlin/com/simplemobiletools/notes/extensions/Context.kt +++ b/app/src/main/kotlin/com/simplemobiletools/notes/extensions/Context.kt @@ -6,9 +6,10 @@ import android.content.Context import android.content.Intent import com.simplemobiletools.notes.R import com.simplemobiletools.notes.helpers.* -import com.simplemobiletools.notes.models.Note -import java.io.File -import java.io.FileNotFoundException + +val Context.config: Config get() = Config.newInstance(applicationContext) + +val Context.dbHelper: DBHelper get() = DBHelper.newInstance(applicationContext) fun Context.getTextSize() = when (config.fontSize) { @@ -19,28 +20,12 @@ fun Context.getTextSize() = } fun Context.updateWidget() { - val widgetManager = AppWidgetManager.getInstance(this) - val ids = widgetManager.getAppWidgetIds(ComponentName(this, MyWidgetProvider::class.java)) - - Intent(this, MyWidgetProvider::class.java).apply { - action = AppWidgetManager.ACTION_APPWIDGET_UPDATE - putExtra(AppWidgetManager.EXTRA_APPWIDGET_IDS, ids) - sendBroadcast(this) - } -} - -val Context.config: Config get() = Config.newInstance(applicationContext) - -val Context.dbHelper: DBHelper get() = DBHelper.newInstance(applicationContext) - -fun Context.getNoteStoredValue(note: Note): String? { - return if (note.path.isNotEmpty()) { - return try { - File(note.path).readText() - } catch (e: FileNotFoundException) { - null + val widgetIDs = AppWidgetManager.getInstance(this).getAppWidgetIds(ComponentName(this, MyWidgetProvider::class.java)) + if (widgetIDs.isNotEmpty()) { + Intent(this, MyWidgetProvider::class.java).apply { + action = AppWidgetManager.ACTION_APPWIDGET_UPDATE + putExtra(AppWidgetManager.EXTRA_APPWIDGET_IDS, widgetIDs) + sendBroadcast(this) } - } else { - note.value } } diff --git a/app/src/main/kotlin/com/simplemobiletools/notes/fragments/NoteFragment.kt b/app/src/main/kotlin/com/simplemobiletools/notes/fragments/NoteFragment.kt index 925d5f83..b29deedc 100644 --- a/app/src/main/kotlin/com/simplemobiletools/notes/fragments/NoteFragment.kt +++ b/app/src/main/kotlin/com/simplemobiletools/notes/fragments/NoteFragment.kt @@ -16,7 +16,10 @@ import com.simplemobiletools.commons.extensions.beVisible import com.simplemobiletools.commons.extensions.onGlobalLayout import com.simplemobiletools.notes.R import com.simplemobiletools.notes.activities.MainActivity -import com.simplemobiletools.notes.extensions.* +import com.simplemobiletools.notes.extensions.config +import com.simplemobiletools.notes.extensions.dbHelper +import com.simplemobiletools.notes.extensions.getTextSize +import com.simplemobiletools.notes.extensions.updateWidget import com.simplemobiletools.notes.helpers.* import com.simplemobiletools.notes.models.Note import kotlinx.android.synthetic.main.fragment_note.* @@ -61,8 +64,7 @@ class NoteFragment : Fragment() { view.notes_view.apply { typeface = if (config.monospacedFont) Typeface.MONOSPACE else Typeface.DEFAULT - val fileContents = context.getNoteStoredValue(note) - + val fileContents = note.getNoteStoredValue() if (fileContents == null) { (activity as MainActivity).deleteNote(false) return @@ -126,7 +128,7 @@ class NoteFragment : Fragment() { } val newText = getCurrentNoteViewText() - val oldText = context!!.getNoteStoredValue(note) + val oldText = note.getNoteStoredValue() if (newText != null && newText != oldText) { note.value = newText saveNoteValue(note) diff --git a/app/src/main/kotlin/com/simplemobiletools/notes/models/Note.kt b/app/src/main/kotlin/com/simplemobiletools/notes/models/Note.kt index f8ef441a..cc35314d 100644 --- a/app/src/main/kotlin/com/simplemobiletools/notes/models/Note.kt +++ b/app/src/main/kotlin/com/simplemobiletools/notes/models/Note.kt @@ -1,3 +1,18 @@ package com.simplemobiletools.notes.models -data class Note(var id: Int, var title: String, var value: String, val type: Int, var path: String = "") +import java.io.File +import java.io.FileNotFoundException + +data class Note(var id: Int, var title: String, var value: String, val type: Int, var path: String = "") { + fun getNoteStoredValue(): String? { + return if (path.isNotEmpty()) { + return try { + File(path).readText() + } catch (e: FileNotFoundException) { + null + } + } else { + value + } + } +}