From bf63b4dbcfe35d608ad9e2021a564882881697f0 Mon Sep 17 00:00:00 2001 From: "Alinson S. Xavier" Date: Sat, 6 Nov 2021 06:50:28 -0500 Subject: [PATCH] Remove HabitMatcherBuilder --- .../uhabits/automation/EditSettingActivity.kt | 10 ++-- .../isoron/uhabits/core/models/HabitList.kt | 2 +- .../uhabits/core/models/HabitMatcher.kt | 8 ++-- .../core/models/HabitMatcherBuilder.kt | 48 ------------------- .../habits/list/ListHabitsMenuBehavior.kt | 9 ++-- .../uhabits/core/models/HabitListTest.kt | 18 +++---- .../core/models/sqlite/SQLiteHabitListTest.kt | 12 ++--- 7 files changed, 29 insertions(+), 78 deletions(-) delete mode 100644 uhabits-core/src/jvmMain/java/org/isoron/uhabits/core/models/HabitMatcherBuilder.kt diff --git a/uhabits-android/src/main/java/org/isoron/uhabits/automation/EditSettingActivity.kt b/uhabits-android/src/main/java/org/isoron/uhabits/automation/EditSettingActivity.kt index c40335545..6361397ef 100644 --- a/uhabits-android/src/main/java/org/isoron/uhabits/automation/EditSettingActivity.kt +++ b/uhabits-android/src/main/java/org/isoron/uhabits/automation/EditSettingActivity.kt @@ -23,17 +23,17 @@ import android.os.Bundle import androidx.appcompat.app.AppCompatActivity import org.isoron.uhabits.HabitsApplication import org.isoron.uhabits.activities.AndroidThemeSwitcher -import org.isoron.uhabits.core.models.HabitMatcherBuilder +import org.isoron.uhabits.core.models.HabitMatcher class EditSettingActivity : AppCompatActivity() { override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) val app = applicationContext as HabitsApplication val habits = app.component.habitList.getFiltered( - HabitMatcherBuilder() - .setArchivedAllowed(false) - .setCompletedAllowed(true) - .build() + HabitMatcher( + isArchivedAllowed = false, + isCompletedAllowed = true, + ) ) AndroidThemeSwitcher(this, app.component.preferences).apply() diff --git a/uhabits-core/src/jvmMain/java/org/isoron/uhabits/core/models/HabitList.kt b/uhabits-core/src/jvmMain/java/org/isoron/uhabits/core/models/HabitList.kt index 69b738dda..74ee0a700 100644 --- a/uhabits-core/src/jvmMain/java/org/isoron/uhabits/core/models/HabitList.kt +++ b/uhabits-core/src/jvmMain/java/org/isoron/uhabits/core/models/HabitList.kt @@ -43,7 +43,7 @@ abstract class HabitList : Iterable { */ constructor() { observable = ModelObservable() - filter = HabitMatcherBuilder().setArchivedAllowed(true).build() + filter = HabitMatcher(isArchivedAllowed = true) } protected constructor(filter: HabitMatcher) { diff --git a/uhabits-core/src/jvmMain/java/org/isoron/uhabits/core/models/HabitMatcher.kt b/uhabits-core/src/jvmMain/java/org/isoron/uhabits/core/models/HabitMatcher.kt index f26e00006..7e87e2efb 100644 --- a/uhabits-core/src/jvmMain/java/org/isoron/uhabits/core/models/HabitMatcher.kt +++ b/uhabits-core/src/jvmMain/java/org/isoron/uhabits/core/models/HabitMatcher.kt @@ -32,9 +32,9 @@ data class HabitMatcher( companion object { @JvmField - val WITH_ALARM = HabitMatcherBuilder() - .setArchivedAllowed(true) - .setReminderRequired(true) - .build() + val WITH_ALARM = HabitMatcher( + isArchivedAllowed = true, + isReminderRequired = true, + ) } } diff --git a/uhabits-core/src/jvmMain/java/org/isoron/uhabits/core/models/HabitMatcherBuilder.kt b/uhabits-core/src/jvmMain/java/org/isoron/uhabits/core/models/HabitMatcherBuilder.kt deleted file mode 100644 index c9f1a7f7e..000000000 --- a/uhabits-core/src/jvmMain/java/org/isoron/uhabits/core/models/HabitMatcherBuilder.kt +++ /dev/null @@ -1,48 +0,0 @@ -/* - * Copyright (C) 2016-2021 Álinson Santos Xavier - * - * This file is part of Loop Habit Tracker. - * - * Loop Habit Tracker is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by the - * Free Software Foundation, either version 3 of the License, or (at your - * option) any later version. - * - * Loop Habit Tracker is distributed in the hope that it will be useful, but - * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY - * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for - * more details. - * - * You should have received a copy of the GNU General Public License along - * with this program. If not, see . - */ -package org.isoron.uhabits.core.models - -class HabitMatcherBuilder { - private var archivedAllowed = false - private var reminderRequired = false - private var completedAllowed = true - - fun build(): HabitMatcher { - return HabitMatcher( - isArchivedAllowed = archivedAllowed, - isReminderRequired = reminderRequired, - isCompletedAllowed = completedAllowed, - ) - } - - fun setArchivedAllowed(archivedAllowed: Boolean): HabitMatcherBuilder { - this.archivedAllowed = archivedAllowed - return this - } - - fun setCompletedAllowed(completedAllowed: Boolean): HabitMatcherBuilder { - this.completedAllowed = completedAllowed - return this - } - - fun setReminderRequired(reminderRequired: Boolean): HabitMatcherBuilder { - this.reminderRequired = reminderRequired - return this - } -} diff --git a/uhabits-core/src/jvmMain/java/org/isoron/uhabits/core/ui/screens/habits/list/ListHabitsMenuBehavior.kt b/uhabits-core/src/jvmMain/java/org/isoron/uhabits/core/ui/screens/habits/list/ListHabitsMenuBehavior.kt index d538f1950..cc04ea492 100644 --- a/uhabits-core/src/jvmMain/java/org/isoron/uhabits/core/ui/screens/habits/list/ListHabitsMenuBehavior.kt +++ b/uhabits-core/src/jvmMain/java/org/isoron/uhabits/core/ui/screens/habits/list/ListHabitsMenuBehavior.kt @@ -20,7 +20,6 @@ package org.isoron.uhabits.core.ui.screens.habits.list import org.isoron.uhabits.core.models.HabitList import org.isoron.uhabits.core.models.HabitMatcher -import org.isoron.uhabits.core.models.HabitMatcherBuilder import org.isoron.uhabits.core.preferences.Preferences import org.isoron.uhabits.core.ui.ThemeSwitcher import javax.inject.Inject @@ -99,10 +98,10 @@ class ListHabitsMenuBehavior @Inject constructor( private fun updateAdapterFilter() { adapter.setFilter( - HabitMatcherBuilder() - .setArchivedAllowed(showArchived) - .setCompletedAllowed(showCompleted) - .build() + HabitMatcher( + isArchivedAllowed = showArchived, + isCompletedAllowed = showCompleted, + ) ) adapter.refresh() } diff --git a/uhabits-core/src/jvmTest/java/org/isoron/uhabits/core/models/HabitListTest.kt b/uhabits-core/src/jvmTest/java/org/isoron/uhabits/core/models/HabitListTest.kt index 7f67d3adf..0d2314be5 100644 --- a/uhabits-core/src/jvmTest/java/org/isoron/uhabits/core/models/HabitListTest.kt +++ b/uhabits-core/src/jvmTest/java/org/isoron/uhabits/core/models/HabitListTest.kt @@ -53,12 +53,12 @@ class HabitListTest : BaseUnitTest() { habitsArray[1].isArchived = true habitsArray[4].isArchived = true habitsArray[7].isArchived = true - activeHabits = habitList.getFiltered(HabitMatcherBuilder().build()) + activeHabits = habitList.getFiltered(HabitMatcher()) reminderHabits = habitList.getFiltered( - HabitMatcherBuilder() - .setArchivedAllowed(true) - .setReminderRequired(true) - .build() + HabitMatcher( + isArchivedAllowed = true, + isReminderRequired = true, + ) ) } @@ -181,10 +181,10 @@ class HabitListTest : BaseUnitTest() { fun testOrder_inherit() { habitList.primaryOrder = HabitList.Order.BY_COLOR_ASC val filteredList = habitList.getFiltered( - HabitMatcherBuilder() - .setArchivedAllowed(false) - .setCompletedAllowed(false) - .build() + HabitMatcher( + isArchivedAllowed = false, + isCompletedAllowed = false, + ) ) assertEquals(filteredList.primaryOrder, HabitList.Order.BY_COLOR_ASC) } diff --git a/uhabits-core/src/jvmTest/java/org/isoron/uhabits/core/models/sqlite/SQLiteHabitListTest.kt b/uhabits-core/src/jvmTest/java/org/isoron/uhabits/core/models/sqlite/SQLiteHabitListTest.kt index 59ee7a585..d5a551012 100644 --- a/uhabits-core/src/jvmTest/java/org/isoron/uhabits/core/models/sqlite/SQLiteHabitListTest.kt +++ b/uhabits-core/src/jvmTest/java/org/isoron/uhabits/core/models/sqlite/SQLiteHabitListTest.kt @@ -28,7 +28,7 @@ import org.isoron.uhabits.core.database.Database import org.isoron.uhabits.core.database.Repository import org.isoron.uhabits.core.models.Habit import org.isoron.uhabits.core.models.HabitList -import org.isoron.uhabits.core.models.HabitMatcherBuilder +import org.isoron.uhabits.core.models.HabitMatcher import org.isoron.uhabits.core.models.ModelObservable import org.isoron.uhabits.core.models.Reminder import org.isoron.uhabits.core.models.WeekdayList @@ -69,12 +69,12 @@ class SQLiteHabitListTest : BaseUnitTest() { habitsArray[4].isArchived = true habitsArray[7].isArchived = true habitList.update(habitsArray) - activeHabits = habitList.getFiltered(HabitMatcherBuilder().build()) + activeHabits = habitList.getFiltered(HabitMatcher()) reminderHabits = habitList.getFiltered( - HabitMatcherBuilder() - .setArchivedAllowed(true) - .setReminderRequired(true) - .build() + HabitMatcher( + isArchivedAllowed = true, + isReminderRequired = true, + ) ) habitList.observable.addListener(listener) }