Implement edit habit group activity

This commit is contained in:
Dharanish
2024-07-03 10:30:57 +02:00
parent a2cf78f823
commit 0a1cdd45cb
9 changed files with 82 additions and 40 deletions

View File

@@ -56,7 +56,7 @@ class EditHabitGroupActivity : AppCompatActivity() {
if (intent.hasExtra("habitGroupId")) {
binding.toolbar.title = getString(R.string.edit_habit_group)
habitGroupId = intent.getLongExtra("habitId", -1)
habitGroupId = intent.getLongExtra("habitGroupId", -1)
val hgr = component.habitGroupList.getById(habitGroupId)!!
color = hgr.color
hgr.reminder?.let {

View File

@@ -41,6 +41,7 @@ import org.isoron.uhabits.core.commands.ChangeHabitColorCommand
import org.isoron.uhabits.core.commands.Command
import org.isoron.uhabits.core.commands.CommandRunner
import org.isoron.uhabits.core.commands.CreateHabitCommand
import org.isoron.uhabits.core.commands.DeleteHabitGroupsCommand
import org.isoron.uhabits.core.commands.DeleteHabitsCommand
import org.isoron.uhabits.core.commands.EditHabitCommand
import org.isoron.uhabits.core.commands.UnarchiveHabitsCommand
@@ -179,6 +180,11 @@ class ListHabitsScreen
activity.startActivity(intent)
}
override fun showEditHabitGroupScreen(selected: List<HabitGroup>) {
val intent = intentFactory.startEditGroupActivity(activity, selected[0])
activity.startActivity(intent)
}
override fun showFAQScreen() {
val intent = intentFactory.viewFAQ(activity)
activity.startActivity(intent)
@@ -318,6 +324,12 @@ class ListHabitsScreen
command.selected.size
)
}
is DeleteHabitGroupsCommand -> {
return activity.resources.getQuantityString(
R.plurals.toast_habits_deleted,
command.selected.size
)
}
is EditHabitCommand -> {
return activity.resources.getQuantityString(R.plurals.toast_habits_changed, 1)
}

View File

@@ -82,7 +82,7 @@ class ListHabitsSelectionMenu @Inject constructor(
itemArchive.isVisible = behavior.canArchive()
itemUnarchive.isVisible = behavior.canUnarchive()
itemNotify.isVisible = prefs.isDeveloper
activeActionMode?.title = listAdapter.selectedHabits.size.toString()
activeActionMode?.title = (listAdapter.selectedHabits.size + listAdapter.selectedHabitGroups.size).toString()
return true
}
override fun onDestroyActionMode(mode: ActionMode?) {

View File

@@ -79,11 +79,12 @@ class HabitCardListAdapter @Inject constructor(
*/
override fun clearSelection() {
selectedHabits.clear()
selectedHabitGroups.clear()
notifyDataSetChanged()
observable.notifyListeners()
}
override fun getSelected(): List<Habit> {
override fun getSelectedHabits(): List<Habit> {
return ArrayList(selectedHabits)
}

View File

@@ -8,11 +8,9 @@ import androidx.appcompat.app.AppCompatActivity
import kotlinx.coroutines.CoroutineScope
import kotlinx.coroutines.Dispatchers
import kotlinx.coroutines.launch
import org.isoron.uhabits.AndroidDirFinder
import org.isoron.uhabits.HabitsApplication
import org.isoron.uhabits.R
import org.isoron.uhabits.activities.AndroidThemeSwitcher
import org.isoron.uhabits.activities.HabitGroupsDirFinder
import org.isoron.uhabits.activities.common.dialogs.ConfirmDeleteDialog
import org.isoron.uhabits.core.commands.Command
import org.isoron.uhabits.core.commands.CommandRunner
@@ -68,9 +66,7 @@ class ShowHabitGroupActivity : AppCompatActivity(), CommandRunner.Listener {
commandRunner = commandRunner,
habitGroup = habitGroup,
habitGroupList = habitGroupList,
screen = screen,
system = HabitGroupsDirFinder(AndroidDirFinder(this)),
taskRunner = appComponent.taskRunner
screen = screen
)
menu = ShowHabitGroupMenu(

View File

@@ -19,11 +19,11 @@ class ShowHabitGroupMenu(
fun onOptionsItemSelected(item: MenuItem): Boolean {
when (item.itemId) {
R.id.action_edit_habit_group -> {
presenter.onEditHabit()
presenter.onEditHabitGroup()
return true
}
R.id.action_delete -> {
presenter.onDeleteHabit()
presenter.onDeleteHabitGroup()
return true
}
}