mirror of
https://github.com/iSoron/uhabits.git
synced 2025-12-14 21:18:51 -06:00
Implement edit habit group activity
This commit is contained in:
@@ -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 {
|
||||
|
||||
@@ -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)
|
||||
}
|
||||
|
||||
@@ -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?) {
|
||||
|
||||
@@ -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)
|
||||
}
|
||||
|
||||
|
||||
@@ -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(
|
||||
|
||||
@@ -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
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user