mirror of
https://github.com/iSoron/uhabits.git
synced 2025-12-06 09:08:52 -06:00
Replace notesIndicator by notes
This commit is contained in:
@@ -71,7 +71,7 @@ class CheckmarkButtonView(
|
||||
invalidate()
|
||||
}
|
||||
|
||||
var hasNotes = false
|
||||
var notes = ""
|
||||
set(value) {
|
||||
field = value
|
||||
invalidate()
|
||||
@@ -179,7 +179,7 @@ class CheckmarkButtonView(
|
||||
canvas.drawText(label, rect.centerX(), rect.centerY(), paint)
|
||||
}
|
||||
|
||||
drawNotesIndicator(canvas, color, em, hasNotes)
|
||||
drawNotesIndicator(canvas, color, em, notes)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -54,7 +54,7 @@ class CheckmarkPanelView(
|
||||
setupButtons()
|
||||
}
|
||||
|
||||
var notesIndicators = BooleanArray(0)
|
||||
var notes = arrayOf<String>()
|
||||
set(values) {
|
||||
field = values
|
||||
setupButtons()
|
||||
@@ -84,9 +84,9 @@ class CheckmarkPanelView(
|
||||
index + dataOffset < values.size -> values[index + dataOffset]
|
||||
else -> UNKNOWN
|
||||
}
|
||||
button.hasNotes = when {
|
||||
index + dataOffset < notesIndicators.size -> notesIndicators[index + dataOffset]
|
||||
else -> false
|
||||
button.notes = when {
|
||||
index + dataOffset < notes.size -> notes[index + dataOffset]
|
||||
else -> ""
|
||||
}
|
||||
button.color = color
|
||||
button.onToggle = { value -> onToggle(timestamp, value) }
|
||||
|
||||
@@ -124,9 +124,9 @@ class HabitCardListAdapter @Inject constructor(
|
||||
val habit = cache.getHabitByPosition(position)
|
||||
val score = cache.getScore(habit!!.id!!)
|
||||
val checkmarks = cache.getCheckmarks(habit.id!!)
|
||||
val notesIndicators = cache.getNoteIndicators(habit.id!!)
|
||||
val notes = cache.getNotes(habit.id!!)
|
||||
val selected = selected.contains(habit)
|
||||
listView!!.bindCardView(holder, habit, score, checkmarks, notesIndicators, selected)
|
||||
listView!!.bindCardView(holder, habit, score, checkmarks, notes, selected)
|
||||
}
|
||||
|
||||
override fun onViewAttachedToWindow(holder: HabitCardViewHolder) {
|
||||
|
||||
@@ -87,7 +87,7 @@ class HabitCardListView(
|
||||
habit: Habit,
|
||||
score: Double,
|
||||
checkmarks: IntArray,
|
||||
notesIndicators: BooleanArray,
|
||||
notes: Array<String>,
|
||||
selected: Boolean
|
||||
): View {
|
||||
val cardView = holder.itemView as HabitCardView
|
||||
@@ -99,7 +99,7 @@ class HabitCardListView(
|
||||
cardView.score = score
|
||||
cardView.unit = habit.unit
|
||||
cardView.threshold = habit.targetValue / habit.frequency.denominator
|
||||
cardView.notesIndicators = notesIndicators
|
||||
cardView.notes = notes
|
||||
|
||||
val detector = GestureDetector(context, CardViewGestureDetector(holder))
|
||||
cardView.setOnTouchListener { _, ev ->
|
||||
|
||||
@@ -121,11 +121,11 @@ class HabitCardView(
|
||||
numberPanel.threshold = value
|
||||
}
|
||||
|
||||
var notesIndicators
|
||||
get() = checkmarkPanel.notesIndicators
|
||||
var notes
|
||||
get() = checkmarkPanel.notes
|
||||
set(values) {
|
||||
checkmarkPanel.notesIndicators = values
|
||||
numberPanel.notesIndicators = values
|
||||
checkmarkPanel.notes = values
|
||||
numberPanel.notes = values
|
||||
}
|
||||
|
||||
var checkmarkPanel: CheckmarkPanelView
|
||||
|
||||
@@ -102,7 +102,7 @@ class NumberButtonView(
|
||||
field = value
|
||||
invalidate()
|
||||
}
|
||||
var hasNotes = false
|
||||
var notes = ""
|
||||
set(value) {
|
||||
field = value
|
||||
invalidate()
|
||||
@@ -221,7 +221,7 @@ class NumberButtonView(
|
||||
canvas.drawText(units, rect.centerX(), rect.centerY(), pUnit)
|
||||
}
|
||||
|
||||
drawNotesIndicator(canvas, color, em, hasNotes)
|
||||
drawNotesIndicator(canvas, color, em, notes)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -72,7 +72,7 @@ class NumberPanelView(
|
||||
setupButtons()
|
||||
}
|
||||
|
||||
var notesIndicators = BooleanArray(0)
|
||||
var notes = arrayOf<String>()
|
||||
set(values) {
|
||||
field = values
|
||||
setupButtons()
|
||||
@@ -96,9 +96,9 @@ class NumberPanelView(
|
||||
index + dataOffset < values.size -> values[index + dataOffset]
|
||||
else -> 0.0
|
||||
}
|
||||
button.hasNotes = when {
|
||||
index + dataOffset < notesIndicators.size -> notesIndicators[index + dataOffset]
|
||||
else -> false
|
||||
button.notes = when {
|
||||
index + dataOffset < notes.size -> notes[index + dataOffset]
|
||||
else -> ""
|
||||
}
|
||||
button.color = color
|
||||
button.targetType = targetType
|
||||
|
||||
@@ -202,10 +202,10 @@ fun View.sp(value: Float) = InterfaceUtils.spToPixels(context, value)
|
||||
fun View.dp(value: Float) = InterfaceUtils.dpToPixels(context, value)
|
||||
fun View.str(id: Int) = resources.getString(id)
|
||||
|
||||
fun View.drawNotesIndicator(canvas: Canvas, color: Int, size: Float, hasNotes: Boolean) {
|
||||
fun View.drawNotesIndicator(canvas: Canvas, color: Int, size: Float, notes: String) {
|
||||
val pNotesIndicator = Paint()
|
||||
pNotesIndicator.color = color
|
||||
if (hasNotes) {
|
||||
if (notes.isNotBlank()) {
|
||||
val cy = 0.8f * size
|
||||
canvas.drawCircle(width.toFloat() - cy, cy, 8f, pNotesIndicator)
|
||||
}
|
||||
|
||||
@@ -79,8 +79,8 @@ class HabitCardListCache @Inject constructor(
|
||||
}
|
||||
|
||||
@Synchronized
|
||||
fun getNoteIndicators(habitId: Long): BooleanArray {
|
||||
return data.notesIndicators[habitId]!!
|
||||
fun getNotes(habitId: Long): Array<String> {
|
||||
return data.notes[habitId]!!
|
||||
}
|
||||
|
||||
@Synchronized
|
||||
@@ -168,7 +168,7 @@ class HabitCardListCache @Inject constructor(
|
||||
data.habits.removeAt(position)
|
||||
data.idToHabit.remove(id)
|
||||
data.checkmarks.remove(id)
|
||||
data.notesIndicators.remove(id)
|
||||
data.notes.remove(id)
|
||||
data.scores.remove(id)
|
||||
listener.onItemRemoved(position)
|
||||
}
|
||||
@@ -213,7 +213,7 @@ class HabitCardListCache @Inject constructor(
|
||||
val habits: MutableList<Habit>
|
||||
val checkmarks: HashMap<Long?, IntArray>
|
||||
val scores: HashMap<Long?, Double>
|
||||
val notesIndicators: HashMap<Long?, BooleanArray>
|
||||
val notes: HashMap<Long?, Array<String>>
|
||||
|
||||
@Synchronized
|
||||
fun copyCheckmarksFrom(oldData: CacheData) {
|
||||
@@ -226,10 +226,10 @@ class HabitCardListCache @Inject constructor(
|
||||
|
||||
@Synchronized
|
||||
fun copyNoteIndicatorsFrom(oldData: CacheData) {
|
||||
val empty = BooleanArray(checkmarkCount)
|
||||
val empty = (0..checkmarkCount).map { "" }.toTypedArray()
|
||||
for (id in idToHabit.keys) {
|
||||
if (oldData.notesIndicators.containsKey(id)) notesIndicators[id] =
|
||||
oldData.notesIndicators[id]!! else notesIndicators[id] = empty
|
||||
if (oldData.notes.containsKey(id)) notes[id] =
|
||||
oldData.notes[id]!! else notes[id] = empty
|
||||
}
|
||||
}
|
||||
|
||||
@@ -257,7 +257,7 @@ class HabitCardListCache @Inject constructor(
|
||||
habits = LinkedList()
|
||||
checkmarks = HashMap()
|
||||
scores = HashMap()
|
||||
notesIndicators = HashMap()
|
||||
notes = HashMap()
|
||||
}
|
||||
}
|
||||
|
||||
@@ -298,14 +298,14 @@ class HabitCardListCache @Inject constructor(
|
||||
if (targetId != null && targetId != habit.id) continue
|
||||
newData.scores[habit.id] = habit.scores[today].value
|
||||
val list: MutableList<Int> = ArrayList()
|
||||
val notesIndicators: MutableList<Boolean> = ArrayList()
|
||||
val notes: MutableList<String> = ArrayList()
|
||||
for ((_, value, note) in habit.computedEntries.getByInterval(dateFrom, today)) {
|
||||
list.add(value)
|
||||
notesIndicators.add(note.isNotEmpty())
|
||||
notes.add(note)
|
||||
}
|
||||
val entries = list.toTypedArray()
|
||||
newData.checkmarks[habit.id] = ArrayUtils.toPrimitive(entries)
|
||||
newData.notesIndicators[habit.id] = notesIndicators.toBooleanArray()
|
||||
newData.notes[habit.id] = notes.toTypedArray()
|
||||
runner!!.publishProgress(this, position)
|
||||
}
|
||||
}
|
||||
@@ -333,7 +333,7 @@ class HabitCardListCache @Inject constructor(
|
||||
data.idToHabit[id] = habit
|
||||
data.scores[id] = newData.scores[id]!!
|
||||
data.checkmarks[id] = newData.checkmarks[id]!!
|
||||
data.notesIndicators[id] = newData.notesIndicators[id]!!
|
||||
data.notes[id] = newData.notes[id]!!
|
||||
listener.onItemInserted(position)
|
||||
}
|
||||
|
||||
@@ -361,10 +361,10 @@ class HabitCardListCache @Inject constructor(
|
||||
private fun performUpdate(id: Long, position: Int) {
|
||||
val oldScore = data.scores[id]!!
|
||||
val oldCheckmarks = data.checkmarks[id]
|
||||
val oldNoteIndicators = data.notesIndicators[id]
|
||||
val oldNoteIndicators = data.notes[id]
|
||||
val newScore = newData.scores[id]!!
|
||||
val newCheckmarks = newData.checkmarks[id]!!
|
||||
val newNoteIndicators = newData.notesIndicators[id]!!
|
||||
val newNoteIndicators = newData.notes[id]!!
|
||||
var unchanged = true
|
||||
if (oldScore != newScore) unchanged = false
|
||||
if (!Arrays.equals(oldCheckmarks, newCheckmarks)) unchanged = false
|
||||
@@ -372,7 +372,7 @@ class HabitCardListCache @Inject constructor(
|
||||
if (unchanged) return
|
||||
data.scores[id] = newScore
|
||||
data.checkmarks[id] = newCheckmarks
|
||||
data.notesIndicators[id] = newNoteIndicators
|
||||
data.notes[id] = newNoteIndicators
|
||||
listener.onItemChanged(position)
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user