diff --git a/uhabits-android/build.gradle.kts b/uhabits-android/build.gradle.kts index cef316a10..2849d9df7 100644 --- a/uhabits-android/build.gradle.kts +++ b/uhabits-android/build.gradle.kts @@ -87,8 +87,8 @@ android { dependencies { val daggerVersion = "2.41" - val kotlinVersion = "1.6.10" - val kxCoroutinesVersion = "1.6.0" + val kotlinVersion = "1.6.21" + val kxCoroutinesVersion = "1.6.1" val ktorVersion = "1.6.8" val espressoVersion = "3.4.0" diff --git a/uhabits-android/src/androidTest/java/org/isoron/uhabits/activities/habits/list/views/EntryButtonViewTest.kt b/uhabits-android/src/androidTest/java/org/isoron/uhabits/activities/habits/list/views/EntryButtonViewTest.kt index 6184b44a9..9b807c764 100644 --- a/uhabits-android/src/androidTest/java/org/isoron/uhabits/activities/habits/list/views/EntryButtonViewTest.kt +++ b/uhabits-android/src/androidTest/java/org/isoron/uhabits/activities/habits/list/views/EntryButtonViewTest.kt @@ -36,6 +36,7 @@ class EntryButtonViewTest : BaseViewTest() { lateinit var view: CheckmarkButtonView var toggled = false + var edited = false @Before override fun setUp() { @@ -43,7 +44,8 @@ class EntryButtonViewTest : BaseViewTest() { view = component.getEntryButtonViewFactory().create().apply { value = Entry.NO color = PaletteUtils.getAndroidTestColor(5) - onToggle = { toggled = true } + onToggle = { _, _, _ -> toggled = true } + onEdit = { _ -> edited = true } } measureView(view, dpToPixels(48), dpToPixels(48)) } @@ -70,20 +72,28 @@ class EntryButtonViewTest : BaseViewTest() { fun testClick_withShortToggleDisabled() { prefs.isShortToggleEnabled = false view.performClick() - assertFalse(toggled) + assertTrue(!toggled and edited) } @Test fun testClick_withShortToggleEnabled() { prefs.isShortToggleEnabled = true view.performClick() - assertTrue(toggled) + assertTrue(toggled and !edited) } @Test - fun testLongClick() { + fun testLongClick_withShortToggleDisabled() { + prefs.isShortToggleEnabled = false + view.performLongClick() + assertTrue(toggled and !edited) + } + + @Test + fun testLongClick_withShortToggleEnabled() { + prefs.isShortToggleEnabled = true view.performLongClick() - assertTrue(toggled) + assertTrue(!toggled and edited) } private fun assertRendersCheckedExplicitly() { diff --git a/uhabits-android/src/androidTest/java/org/isoron/uhabits/activities/habits/list/views/EntryPanelViewTest.kt b/uhabits-android/src/androidTest/java/org/isoron/uhabits/activities/habits/list/views/EntryPanelViewTest.kt index 7aff33f0a..f09c48dba 100644 --- a/uhabits-android/src/androidTest/java/org/isoron/uhabits/activities/habits/list/views/EntryPanelViewTest.kt +++ b/uhabits-android/src/androidTest/java/org/isoron/uhabits/activities/habits/list/views/EntryPanelViewTest.kt @@ -77,7 +77,7 @@ class EntryPanelViewTest : BaseViewTest() { @Test fun testToggle() { val timestamps = mutableListOf() - view.onToggle = { t, _ -> timestamps.add(t) } + view.onToggle = { t, _, _, _ -> timestamps.add(t) } view.buttons[0].performLongClick() view.buttons[2].performLongClick() view.buttons[3].performLongClick() @@ -88,7 +88,7 @@ class EntryPanelViewTest : BaseViewTest() { fun testToggle_withOffset() { val timestamps = mutableListOf() view.dataOffset = 3 - view.onToggle = { t, _ -> timestamps += t } + view.onToggle = { t, _, _, _ -> timestamps += t } view.buttons[0].performLongClick() view.buttons[2].performLongClick() view.buttons[3].performLongClick() diff --git a/uhabits-android/src/androidTest/java/org/isoron/uhabits/activities/habits/list/views/NumberPanelViewTest.kt b/uhabits-android/src/androidTest/java/org/isoron/uhabits/activities/habits/list/views/NumberPanelViewTest.kt index da0a2eb8a..fb816f4d4 100644 --- a/uhabits-android/src/androidTest/java/org/isoron/uhabits/activities/habits/list/views/NumberPanelViewTest.kt +++ b/uhabits-android/src/androidTest/java/org/isoron/uhabits/activities/habits/list/views/NumberPanelViewTest.kt @@ -76,7 +76,7 @@ class NumberPanelViewTest : BaseViewTest() { @Test fun testEdit() { val timestamps = mutableListOf() - view.onEdit = { timestamps.plusAssign(it) } + view.onEdit = { _, t -> timestamps.plusAssign(t) } view.buttons[0].performLongClick() view.buttons[2].performLongClick() view.buttons[3].performLongClick() @@ -87,7 +87,7 @@ class NumberPanelViewTest : BaseViewTest() { fun testEdit_withOffset() { val timestamps = mutableListOf() view.dataOffset = 3 - view.onEdit = { timestamps += it } + view.onEdit = { _, t -> timestamps += t } view.buttons[0].performLongClick() view.buttons[2].performLongClick() view.buttons[3].performLongClick() diff --git a/uhabits-android/src/main/java/org/isoron/uhabits/activities/common/dialogs/CheckmarkDialog.kt b/uhabits-android/src/main/java/org/isoron/uhabits/activities/common/dialogs/CheckmarkDialog.kt deleted file mode 100644 index 4e62b614b..000000000 --- a/uhabits-android/src/main/java/org/isoron/uhabits/activities/common/dialogs/CheckmarkDialog.kt +++ /dev/null @@ -1,119 +0,0 @@ -package org.isoron.uhabits.activities.common.dialogs - -import android.content.Context -import android.graphics.Typeface -import android.view.LayoutInflater -import android.view.View -import android.view.WindowManager.LayoutParams.SOFT_INPUT_STATE_ALWAYS_VISIBLE -import android.widget.Button -import androidx.appcompat.app.AlertDialog -import org.isoron.platform.gui.toInt -import org.isoron.platform.time.JavaLocalDateFormatter -import org.isoron.platform.time.LocalDate -import org.isoron.uhabits.R -import org.isoron.uhabits.core.models.Entry.Companion.NO -import org.isoron.uhabits.core.models.Entry.Companion.SKIP -import org.isoron.uhabits.core.models.Entry.Companion.UNKNOWN -import org.isoron.uhabits.core.models.Entry.Companion.YES_AUTO -import org.isoron.uhabits.core.models.Entry.Companion.YES_MANUAL -import org.isoron.uhabits.core.models.PaletteColor -import org.isoron.uhabits.core.preferences.Preferences -import org.isoron.uhabits.core.ui.screens.habits.list.ListHabitsBehavior -import org.isoron.uhabits.core.ui.views.Theme -import org.isoron.uhabits.databinding.CheckmarkDialogBinding -import org.isoron.uhabits.inject.ActivityContext -import org.isoron.uhabits.utils.InterfaceUtils -import org.isoron.uhabits.utils.StyledResources -import java.util.Locale -import javax.inject.Inject - -class CheckmarkDialog -@Inject constructor( - @ActivityContext private val context: Context, - private val preferences: Preferences, -) : View.OnClickListener { - - private lateinit var binding: CheckmarkDialogBinding - private lateinit var fontAwesome: Typeface - private val allButtons = mutableListOf