Skip to content

Commit 213cbd8

Browse files
committed
adding widget support too
1 parent 6682139 commit 213cbd8

File tree

8 files changed

+22
-120
lines changed

8 files changed

+22
-120
lines changed

app/src/main/kotlin/com/simplemobiletools/notes/pro/activities/MainActivity.kt

Lines changed: 9 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -27,10 +27,7 @@ import com.simplemobiletools.notes.pro.R
2727
import com.simplemobiletools.notes.pro.adapters.NotesPagerAdapter
2828
import com.simplemobiletools.notes.pro.databases.NotesDatabase
2929
import com.simplemobiletools.notes.pro.dialogs.*
30-
import com.simplemobiletools.notes.pro.extensions.config
31-
import com.simplemobiletools.notes.pro.extensions.dbHelper
32-
import com.simplemobiletools.notes.pro.extensions.getTextSize
33-
import com.simplemobiletools.notes.pro.extensions.updateWidgets
30+
import com.simplemobiletools.notes.pro.extensions.*
3431
import com.simplemobiletools.notes.pro.helpers.MIME_TEXT_PLAIN
3532
import com.simplemobiletools.notes.pro.helpers.NotesHelper
3633
import com.simplemobiletools.notes.pro.helpers.OPEN_NOTE_ID
@@ -576,7 +573,14 @@ class MainActivity : SimpleActivity() {
576573
}
577574

578575
private fun doDeleteNote(note: Note, deleteFile: Boolean) {
579-
dbHelper.deleteNote(mCurrentNote.id!!)
576+
Thread {
577+
notesDB.deleteNote(note)
578+
widgetsDB.deleteNoteWidgets(note.id!!)
579+
refreshNotes(note, deleteFile)
580+
}.start()
581+
}
582+
583+
private fun refreshNotes(note: Note, deleteFile: Boolean) {
580584
NotesHelper(this).getNotes {
581585
mNotes = it
582586
val firstNoteId = mNotes[0].id

app/src/main/kotlin/com/simplemobiletools/notes/pro/activities/WidgetConfigureActivity.kt

Lines changed: 7 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -15,8 +15,8 @@ import com.simplemobiletools.commons.helpers.IS_CUSTOMIZING_COLORS
1515
import com.simplemobiletools.commons.models.RadioItem
1616
import com.simplemobiletools.notes.pro.R
1717
import com.simplemobiletools.notes.pro.extensions.config
18-
import com.simplemobiletools.notes.pro.extensions.dbHelper
1918
import com.simplemobiletools.notes.pro.extensions.getTextSize
19+
import com.simplemobiletools.notes.pro.extensions.widgetsDB
2020
import com.simplemobiletools.notes.pro.helpers.MyWidgetProvider
2121
import com.simplemobiletools.notes.pro.helpers.NotesHelper
2222
import com.simplemobiletools.notes.pro.models.Note
@@ -29,7 +29,7 @@ class WidgetConfigureActivity : SimpleActivity() {
2929
private var mBgColor = 0
3030
private var mBgColorWithoutTransparency = 0
3131
private var mTextColor = 0
32-
private var mCurrentNoteId = 0
32+
private var mCurrentNoteId = 0L
3333
private var mIsCustomizingColors = false
3434
private var mNotes = ArrayList<Note>()
3535

@@ -95,14 +95,14 @@ class WidgetConfigureActivity : SimpleActivity() {
9595
items.add(RadioItem(it.id!!.toInt(), it.title))
9696
}
9797

98-
RadioGroupDialog(this, items, mCurrentNoteId) {
98+
RadioGroupDialog(this, items, mCurrentNoteId.toInt()) {
9999
val selectedId = it as Int
100100
updateCurrentNote(mNotes.first { it.id!!.toInt() == selectedId })
101101
}
102102
}
103103

104104
private fun updateCurrentNote(note: Note) {
105-
mCurrentNoteId = note.id!!.toInt()
105+
mCurrentNoteId = note.id!!
106106
notes_picker_value.text = note.title
107107
val sampleValue = if (note.value.isEmpty() || mIsCustomizingColors) getString(R.string.widget_config) else note.value
108108
notes_view.text = sampleValue
@@ -113,7 +113,9 @@ class WidgetConfigureActivity : SimpleActivity() {
113113
views.setBackgroundColor(R.id.notes_view, mBgColor)
114114
AppWidgetManager.getInstance(this).updateAppWidget(mWidgetId, views)
115115
val widget = Widget(null, mWidgetId, mCurrentNoteId)
116-
dbHelper.insertWidget(widget)
116+
Thread {
117+
widgetsDB.insertOrUpdate(widget)
118+
}.start()
117119

118120
storeWidgetBackground()
119121
requestWidgetUpdate()

app/src/main/kotlin/com/simplemobiletools/notes/pro/extensions/Context.kt

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -12,8 +12,6 @@ import com.simplemobiletools.notes.pro.interfaces.WidgetsDao
1212

1313
val Context.config: Config get() = Config.newInstance(applicationContext)
1414

15-
val Context.dbHelper: DBHelper get() = DBHelper.newInstance(applicationContext)
16-
1715
val Context.notesDB: NotesDao get() = NotesDatabase.getInstance(applicationContext).NotesDao()
1816

1917
val Context.widgetsDB: WidgetsDao get() = NotesDatabase.getInstance(applicationContext).WidgetsDao()

app/src/main/kotlin/com/simplemobiletools/notes/pro/fragments/NoteFragment.kt

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,6 @@ import com.simplemobiletools.commons.extensions.*
2020
import com.simplemobiletools.notes.pro.R
2121
import com.simplemobiletools.notes.pro.activities.MainActivity
2222
import com.simplemobiletools.notes.pro.extensions.config
23-
import com.simplemobiletools.notes.pro.extensions.dbHelper
2423
import com.simplemobiletools.notes.pro.extensions.getTextSize
2524
import com.simplemobiletools.notes.pro.extensions.updateWidgets
2625
import com.simplemobiletools.notes.pro.helpers.*
@@ -43,12 +42,10 @@ class NoteFragment : androidx.fragment.app.Fragment() {
4342
private var note: Note? = null
4443

4544
lateinit var view: ViewGroup
46-
private lateinit var db: DBHelper
4745

4846
override fun onCreateView(inflater: LayoutInflater, container: ViewGroup?, savedInstanceState: Bundle?): View? {
4947
view = inflater.inflate(R.layout.fragment_note, container, false) as ViewGroup
5048
noteId = arguments!!.getInt(NOTE_ID)
51-
db = context!!.dbHelper
5249
retainInstance = true
5350

5451
val layoutToInflate = if (config!!.enableLineWrap) R.layout.note_view_static else R.layout.note_view_horiz_scrollable

app/src/main/kotlin/com/simplemobiletools/notes/pro/helpers/DBHelper.kt

Lines changed: 0 additions & 101 deletions
This file was deleted.

app/src/main/kotlin/com/simplemobiletools/notes/pro/helpers/MyWidgetProvider.kt

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@ import com.simplemobiletools.commons.extensions.setBackgroundColor
1212
import com.simplemobiletools.notes.pro.R
1313
import com.simplemobiletools.notes.pro.activities.SplashActivity
1414
import com.simplemobiletools.notes.pro.extensions.config
15-
import com.simplemobiletools.notes.pro.extensions.dbHelper
15+
import com.simplemobiletools.notes.pro.extensions.widgetsDB
1616
import com.simplemobiletools.notes.pro.models.Widget
1717
import com.simplemobiletools.notes.pro.services.WidgetService
1818

@@ -26,8 +26,7 @@ class MyWidgetProvider : AppWidgetProvider() {
2626

2727
override fun onUpdate(context: Context, appWidgetManager: AppWidgetManager, appWidgetIds: IntArray) {
2828
super.onUpdate(context, appWidgetManager, appWidgetIds)
29-
val widgets = context.dbHelper.getWidgets()
30-
widgets.forEach {
29+
context.widgetsDB.getWidgets().forEach {
3130
val views = RemoteViews(context.packageName, R.layout.widget)
3231
views.setBackgroundColor(R.id.notes_widget_holder, context.config.widgetBgColor)
3332
setupAppOpenIntent(context, views, R.id.notes_widget_holder, it)

app/src/main/kotlin/com/simplemobiletools/notes/pro/interfaces/WidgetsDao.kt

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -13,4 +13,7 @@ interface WidgetsDao {
1313

1414
@Insert(onConflict = OnConflictStrategy.REPLACE)
1515
fun insertOrUpdate(widget: Widget): Long
16+
17+
@Query("DELETE FROM widgets WHERE note_id = :noteId")
18+
fun deleteNoteWidgets(noteId: Long)
1619
}

app/src/main/kotlin/com/simplemobiletools/notes/pro/models/Widget.kt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,4 +9,4 @@ import androidx.room.PrimaryKey
99
data class Widget(
1010
@PrimaryKey(autoGenerate = true) var id: Int?,
1111
@ColumnInfo(name = "widget_id") var widgetId: Int,
12-
@ColumnInfo(name = "note_id") var noteId: Int)
12+
@ColumnInfo(name = "note_id") var noteId: Long)

0 commit comments

Comments
 (0)