Convert most of code remaining in uhabits-core

This commit is contained in:
Quentin Hibon
2021-01-19 23:24:22 +01:00
parent e84cc8e8b1
commit 136ec5b49b
21 changed files with 476 additions and 629 deletions

View File

@@ -215,7 +215,7 @@ class ListHabitsScreen
)
}
override fun showSendBugReportToDeveloperScreen(log: String) {
override fun showSendBugReportToDeveloperScreen(log: String?) {
val to = R.string.bugReportTo
val subject = R.string.bugReportSubject
activity.showSendEmailScreen(to, subject, log)
@@ -230,10 +230,7 @@ class ListHabitsScreen
activity.startActivityForResult(intent, REQUEST_SETTINGS)
}
override fun showColorPicker(
defaultColor: PaletteColor,
callback: OnColorPickedCallback
) {
override fun showColorPicker(defaultColor: PaletteColor, callback: OnColorPickedCallback) {
val picker = colorPickerFactory.create(defaultColor)
picker.setListener(callback)
picker.show(activity.supportFragmentManager, "picker")

View File

@@ -53,7 +53,7 @@ class HabitCardListAdapter @Inject constructor(
ListHabitsSelectionMenuBehavior.Adapter {
val observable: ModelObservable = ModelObservable()
private var listView: HabitCardListView? = null
private val selected: LinkedList<Habit> = LinkedList()
override val selected: LinkedList<Habit> = LinkedList()
override fun atMidnight() {
cache.refreshAllHabits()
}
@@ -90,9 +90,9 @@ class HabitCardListAdapter @Inject constructor(
return getItem(position)!!.id!!
}
override fun getSelected(): List<Habit> {
return LinkedList(selected)
}
// override fun getSelected(): List<Habit> {
// return LinkedList(selected)
// }
/**
* Returns whether list of selected items is empty.
@@ -182,10 +182,10 @@ class HabitCardListAdapter @Inject constructor(
* database operation to finish, the cache can be modified to reflect the
* changes immediately.
*
* @param habits list of habits to be removed
* @param selected list of habits to be removed
*/
override fun performRemove(habits: List<Habit>) {
for (habit in habits) cache.remove(habit.id!!)
override fun performRemove(selected: List<Habit>) {
for (habit in selected) cache.remove(habit.id!!)
}
/**
@@ -209,8 +209,8 @@ class HabitCardListAdapter @Inject constructor(
cache.refreshAllHabits()
}
override fun setFilter(matcher: HabitMatcher) {
cache.setFilter(matcher)
override fun setFilter(matcher: HabitMatcher?) {
if (matcher != null) cache.setFilter(matcher)
}
/**
@@ -225,19 +225,19 @@ class HabitCardListAdapter @Inject constructor(
this.listView = listView
}
override fun setPrimaryOrder(order: HabitList.Order) {
cache.primaryOrder = order
preferences.defaultPrimaryOrder = order
}
override var primaryOrder: HabitList.Order
get() = cache.primaryOrder
set(value) {
cache.primaryOrder = value
preferences.defaultPrimaryOrder = value
}
override fun setSecondaryOrder(order: HabitList.Order) {
cache.secondaryOrder = order
preferences.defaultSecondaryOrder = order
}
override fun getPrimaryOrder(): HabitList.Order {
return cache.primaryOrder
}
override var secondaryOrder: HabitList.Order
get() = cache.secondaryOrder
set(value) {
cache.secondaryOrder = value
preferences.defaultSecondaryOrder = value
}
/**
* Selects or deselects the item at a given position.

View File

@@ -117,8 +117,6 @@ class CheckmarkWidgetView : HabitWidgetView {
get() = R.layout.widget_checkmark
override fun onMeasure(widthMeasureSpec: Int, heightMeasureSpec: Int) {
var widthMeasureSpec = widthMeasureSpec
var heightMeasureSpec = heightMeasureSpec
val width = MeasureSpec.getSize(widthMeasureSpec)
val height = MeasureSpec.getSize(heightMeasureSpec)
var w = width.toFloat()
@@ -128,15 +126,15 @@ class CheckmarkWidgetView : HabitWidgetView {
h *= scale
if (h < getDimension(context, R.dimen.checkmarkWidget_heightBreakpoint)) ring.visibility =
GONE else ring.visibility = VISIBLE
widthMeasureSpec = MeasureSpec.makeMeasureSpec(w.toInt(), MeasureSpec.EXACTLY)
heightMeasureSpec = MeasureSpec.makeMeasureSpec(h.toInt(), MeasureSpec.EXACTLY)
val newWidthMeasureSpec = MeasureSpec.makeMeasureSpec(w.toInt(), MeasureSpec.EXACTLY)
val newHeightMeasureSpec = MeasureSpec.makeMeasureSpec(h.toInt(), MeasureSpec.EXACTLY)
var textSize = 0.15f * h
val maxTextSize = getDimension(context, R.dimen.smallerTextSize)
textSize = min(textSize, maxTextSize)
label.setTextSize(TypedValue.COMPLEX_UNIT_PX, textSize)
ring.setTextSize(textSize)
ring.setThickness(0.15f * textSize)
super.onMeasure(widthMeasureSpec, heightMeasureSpec)
super.onMeasure(newWidthMeasureSpec, newHeightMeasureSpec)
}
private fun init() {