Skip to content

Commit f7a7f11

Browse files
committed
FEAT: implement delete all feature in reminders list
A menu item for deleting all items was added to the menu and all reminders can be deleted by clicking it.
1 parent 1cad2e9 commit f7a7f11

File tree

3 files changed

+18
-1
lines changed

3 files changed

+18
-1
lines changed

app/src/main/java/com/udacity/locationreminder/locationreminders/reminderslist/ReminderListFragment.kt

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -118,6 +118,9 @@ class ReminderListFragment : BaseFragment() {
118118
navigateToAuthenticationActivity()
119119
}
120120
}
121+
R.id.action_delete_all -> {
122+
_viewModel.deleteAllReminders()
123+
}
121124
}
122125
return super.onOptionsItemSelected(item)
123126
}

app/src/main/java/com/udacity/locationreminder/locationreminders/reminderslist/RemindersListViewModel.kt

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -57,4 +57,12 @@ class RemindersListViewModel(
5757
private fun invalidateShowNoData() {
5858
showNoData.value = remindersList.value == null || remindersList.value!!.isEmpty()
5959
}
60+
61+
fun deleteAllReminders() {
62+
viewModelScope.launch {
63+
dataSource.deleteAllReminders()
64+
remindersList.value = ArrayList<ReminderDataItem>()
65+
invalidateShowNoData()
66+
}
67+
}
6068
}

app/src/main/res/menu/main_menu.xml

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,5 +4,11 @@
44
<item
55
android:id="@+id/logout"
66
android:title="@string/logout"
7-
app:showAsAction="always" />
7+
app:showAsAction="never" />
8+
<item
9+
android:id="@+id/action_delete_all"
10+
android:icon="@drawable/ic_baseline_delete_forever_24"
11+
android:title="@string/delete_all"
12+
app:showAsAction="never" />
13+
814
</menu>

0 commit comments

Comments
 (0)