Skip to content

Commit 26cd68b

Browse files
committed
Checklists refactoring
1 parent 0112f39 commit 26cd68b

File tree

4 files changed

+8
-5
lines changed

4 files changed

+8
-5
lines changed

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

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -30,6 +30,8 @@ import com.simplemobiletools.notes.pro.models.Note
3030
import com.simplemobiletools.notes.pro.models.NoteType
3131
import com.simplemobiletools.notes.pro.models.Widget
3232
import kotlinx.android.synthetic.main.widget_config.*
33+
import kotlinx.serialization.decodeFromString
34+
import kotlinx.serialization.json.Json
3335

3436
class WidgetConfigureActivity : SimpleActivity() {
3537
private var mBgAlpha = 0f

app/src/main/kotlin/com/simplemobiletools/notes/pro/adapters/ChecklistAdapter.kt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,7 @@ import kotlinx.android.synthetic.main.item_checklist.view.*
3131
import java.util.*
3232

3333
class ChecklistAdapter(
34-
activity: BaseSimpleActivity, var items: ArrayList<ChecklistItem>, val listener: ChecklistItemsListener?,
34+
activity: BaseSimpleActivity, var items: MutableList<ChecklistItem>, val listener: ChecklistItemsListener?,
3535
recyclerView: MyRecyclerView, val showIcons: Boolean, itemClick: (Any) -> Unit
3636
) :
3737
MyRecyclerViewAdapter(activity, recyclerView, itemClick), ItemTouchHelperContract {

app/src/main/kotlin/com/simplemobiletools/notes/pro/adapters/WidgetAdapter.kt

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,8 @@ import com.simplemobiletools.notes.pro.helpers.*
2121
import com.simplemobiletools.notes.pro.models.ChecklistItem
2222
import com.simplemobiletools.notes.pro.models.Note
2323
import com.simplemobiletools.notes.pro.models.NoteType
24+
import kotlinx.serialization.decodeFromString
25+
import kotlinx.serialization.json.Json
2426

2527
class WidgetAdapter(val context: Context, val intent: Intent) : RemoteViewsService.RemoteViewsFactory {
2628
private val textIds = arrayOf(
@@ -33,7 +35,7 @@ class WidgetAdapter(val context: Context, val intent: Intent) : RemoteViewsServi
3335
)
3436
private var widgetTextColor = DEFAULT_WIDGET_TEXT_COLOR
3537
private var note: Note? = null
36-
private var checklistItems = ArrayList<ChecklistItem>()
38+
private var checklistItems = mutableListOf<ChecklistItem>()
3739

3840
override fun getViewAt(position: Int): RemoteViews {
3941
val noteId = intent.getLongExtra(NOTE_ID, 0L)
@@ -125,8 +127,7 @@ class WidgetAdapter(val context: Context, val intent: Intent) : RemoteViewsServi
125127
val noteId = intent.getLongExtra(NOTE_ID, 0L)
126128
note = context.notesDB.getNoteWithId(noteId)
127129
if (note?.type == NoteType.TYPE_CHECKLIST) {
128-
val checklistItemType = object : TypeToken<List<ChecklistItem>>() {}.type
129-
checklistItems = Gson().fromJson<ArrayList<ChecklistItem>>(note!!.getNoteStoredValue(context), checklistItemType) ?: ArrayList(1)
130+
checklistItems = note!!.getNoteStoredValue(context)?.let { Json.decodeFromString(it) } ?: mutableListOf()
130131

131132
// checklist title can be null only because of the glitch in upgrade to 6.6.0, remove this check in the future
132133
checklistItems = checklistItems.filter { it.title != null }.toMutableList() as ArrayList<ChecklistItem>

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

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,7 @@ class ChecklistFragment : NoteFragment(), ChecklistItemsListener {
2929

3030
lateinit var view: ViewGroup
3131

32-
var items = ArrayList<ChecklistItem>()
32+
var items = mutableListOf<ChecklistItem>()
3333

3434
override fun onCreateView(inflater: LayoutInflater, container: ViewGroup?, savedInstanceState: Bundle?): View? {
3535
view = inflater.inflate(R.layout.fragment_checklist, container, false) as ViewGroup

0 commit comments

Comments
 (0)