mirror of
https://github.com/SimpleMobileTools/Simple-Notes.git
synced 2025-04-15 15:57:24 +02:00
show proper checklist items at the widget config screen
This commit is contained in:
parent
c35d97d49a
commit
2ebcdcd647
@ -8,18 +8,22 @@ import android.graphics.drawable.ColorDrawable
|
|||||||
import android.os.Bundle
|
import android.os.Bundle
|
||||||
import android.util.TypedValue
|
import android.util.TypedValue
|
||||||
import android.widget.RemoteViews
|
import android.widget.RemoteViews
|
||||||
|
import com.google.gson.Gson
|
||||||
|
import com.google.gson.reflect.TypeToken
|
||||||
import com.simplemobiletools.commons.dialogs.ColorPickerDialog
|
import com.simplemobiletools.commons.dialogs.ColorPickerDialog
|
||||||
import com.simplemobiletools.commons.dialogs.RadioGroupDialog
|
import com.simplemobiletools.commons.dialogs.RadioGroupDialog
|
||||||
import com.simplemobiletools.commons.extensions.*
|
import com.simplemobiletools.commons.extensions.*
|
||||||
import com.simplemobiletools.commons.helpers.IS_CUSTOMIZING_COLORS
|
import com.simplemobiletools.commons.helpers.IS_CUSTOMIZING_COLORS
|
||||||
import com.simplemobiletools.commons.models.RadioItem
|
import com.simplemobiletools.commons.models.RadioItem
|
||||||
import com.simplemobiletools.notes.pro.R
|
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.config
|
||||||
import com.simplemobiletools.notes.pro.extensions.getTextSize
|
import com.simplemobiletools.notes.pro.extensions.getTextSize
|
||||||
import com.simplemobiletools.notes.pro.extensions.widgetsDB
|
import com.simplemobiletools.notes.pro.extensions.widgetsDB
|
||||||
import com.simplemobiletools.notes.pro.helpers.MyWidgetProvider
|
import com.simplemobiletools.notes.pro.helpers.MyWidgetProvider
|
||||||
import com.simplemobiletools.notes.pro.helpers.NotesHelper
|
import com.simplemobiletools.notes.pro.helpers.NotesHelper
|
||||||
import com.simplemobiletools.notes.pro.helpers.TYPE_CHECKLIST
|
import com.simplemobiletools.notes.pro.helpers.TYPE_CHECKLIST
|
||||||
|
import com.simplemobiletools.notes.pro.models.ChecklistItem
|
||||||
import com.simplemobiletools.notes.pro.models.Note
|
import com.simplemobiletools.notes.pro.models.Note
|
||||||
import com.simplemobiletools.notes.pro.models.Widget
|
import com.simplemobiletools.notes.pro.models.Widget
|
||||||
import kotlinx.android.synthetic.main.widget_config.*
|
import kotlinx.android.synthetic.main.widget_config.*
|
||||||
@ -106,6 +110,21 @@ class WidgetConfigureActivity : SimpleActivity() {
|
|||||||
mCurrentNoteId = note.id!!
|
mCurrentNoteId = note.id!!
|
||||||
notes_picker_value.text = note.title
|
notes_picker_value.text = note.title
|
||||||
if (note.type == TYPE_CHECKLIST) {
|
if (note.type == TYPE_CHECKLIST) {
|
||||||
|
val checklistItemType = object : TypeToken<List<ChecklistItem>>() {}.type
|
||||||
|
val items = Gson().fromJson<ArrayList<ChecklistItem>>(note.value, checklistItemType) ?: ArrayList(1)
|
||||||
|
items.apply {
|
||||||
|
if (isEmpty()) {
|
||||||
|
add(ChecklistItem(0, "Milk", true))
|
||||||
|
add(ChecklistItem(1, "Butter", true))
|
||||||
|
add(ChecklistItem(2, "Salt", false))
|
||||||
|
add(ChecklistItem(3, "Water", false))
|
||||||
|
add(ChecklistItem(4, "Meat", true))
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
ChecklistAdapter(this, items, null, checklist_note_view, false) {}.apply {
|
||||||
|
checklist_note_view.adapter = this
|
||||||
|
}
|
||||||
text_note_view.beGone()
|
text_note_view.beGone()
|
||||||
checklist_note_view.beVisible()
|
checklist_note_view.beVisible()
|
||||||
} else {
|
} else {
|
||||||
|
@ -7,6 +7,7 @@ import android.view.View
|
|||||||
import android.view.ViewGroup
|
import android.view.ViewGroup
|
||||||
import com.simplemobiletools.commons.activities.BaseSimpleActivity
|
import com.simplemobiletools.commons.activities.BaseSimpleActivity
|
||||||
import com.simplemobiletools.commons.adapters.MyRecyclerViewAdapter
|
import com.simplemobiletools.commons.adapters.MyRecyclerViewAdapter
|
||||||
|
import com.simplemobiletools.commons.extensions.beVisibleIf
|
||||||
import com.simplemobiletools.commons.extensions.getColoredDrawableWithColor
|
import com.simplemobiletools.commons.extensions.getColoredDrawableWithColor
|
||||||
import com.simplemobiletools.commons.views.MyRecyclerView
|
import com.simplemobiletools.commons.views.MyRecyclerView
|
||||||
import com.simplemobiletools.notes.pro.R
|
import com.simplemobiletools.notes.pro.R
|
||||||
@ -16,7 +17,7 @@ import kotlinx.android.synthetic.main.item_checklist.view.*
|
|||||||
import java.util.*
|
import java.util.*
|
||||||
|
|
||||||
class ChecklistAdapter(activity: BaseSimpleActivity, var items: ArrayList<ChecklistItem>, val listener: ChecklistItemsListener?,
|
class ChecklistAdapter(activity: BaseSimpleActivity, var items: ArrayList<ChecklistItem>, val listener: ChecklistItemsListener?,
|
||||||
recyclerView: MyRecyclerView, itemClick: (Any) -> Unit) : MyRecyclerViewAdapter(activity, recyclerView, null, itemClick) {
|
recyclerView: MyRecyclerView, val showIcons: Boolean, itemClick: (Any) -> Unit) : MyRecyclerViewAdapter(activity, recyclerView, null, itemClick) {
|
||||||
|
|
||||||
private lateinit var crossDrawable: Drawable
|
private lateinit var crossDrawable: Drawable
|
||||||
private lateinit var checkDrawable: Drawable
|
private lateinit var checkDrawable: Drawable
|
||||||
@ -111,6 +112,7 @@ class ChecklistAdapter(activity: BaseSimpleActivity, var items: ArrayList<Checkl
|
|||||||
}
|
}
|
||||||
|
|
||||||
checklist_image.setImageDrawable(if (checklistItem.isDone) checkDrawable else crossDrawable)
|
checklist_image.setImageDrawable(if (checklistItem.isDone) checkDrawable else crossDrawable)
|
||||||
|
checklist_image.beVisibleIf(showIcons)
|
||||||
checklist_holder.isSelected = isSelected
|
checklist_holder.isSelected = isSelected
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -96,7 +96,7 @@ class ChecklistFragment : NoteFragment(), ChecklistItemsListener {
|
|||||||
checklist_list.beVisibleIf(items.isNotEmpty())
|
checklist_list.beVisibleIf(items.isNotEmpty())
|
||||||
}
|
}
|
||||||
|
|
||||||
ChecklistAdapter(activity as SimpleActivity, items, this, view.checklist_list) {
|
ChecklistAdapter(activity as SimpleActivity, items, this, view.checklist_list, true) {
|
||||||
val clickedNote = it as ChecklistItem
|
val clickedNote = it as ChecklistItem
|
||||||
clickedNote.isDone = !clickedNote.isDone
|
clickedNote.isDone = !clickedNote.isDone
|
||||||
saveNote(items.indexOfFirst { it.id == clickedNote.id })
|
saveNote(items.indexOfFirst { it.id == clickedNote.id })
|
||||||
|
@ -53,6 +53,7 @@
|
|||||||
android:layout_marginBottom="@dimen/activity_margin"
|
android:layout_marginBottom="@dimen/activity_margin"
|
||||||
android:clipToPadding="false"
|
android:clipToPadding="false"
|
||||||
android:overScrollMode="never"
|
android:overScrollMode="never"
|
||||||
|
android:paddingTop="@dimen/small_margin"
|
||||||
android:visibility="gone"
|
android:visibility="gone"
|
||||||
app:layoutManager="com.simplemobiletools.commons.views.MyLinearLayoutManager"/>
|
app:layoutManager="com.simplemobiletools.commons.views.MyLinearLayoutManager"/>
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user