diff --git a/app/src/main/java/org/lineageos/glimpse/fragments/AlbumViewerFragment.kt b/app/src/main/java/org/lineageos/glimpse/fragments/AlbumViewerFragment.kt
index 520304a..216e11b 100644
--- a/app/src/main/java/org/lineageos/glimpse/fragments/AlbumViewerFragment.kt
+++ b/app/src/main/java/org/lineageos/glimpse/fragments/AlbumViewerFragment.kt
@@ -56,6 +56,7 @@
 import org.lineageos.glimpse.viewmodels.AlbumViewerViewModel
 import org.lineageos.glimpse.viewmodels.QueryResult.Data
 import org.lineageos.glimpse.viewmodels.QueryResult.Empty
+import kotlin.reflect.safeCast
 
 /**
  * A fragment showing a list of media from a specific album with thumbnails.
@@ -332,6 +333,50 @@
         val appBarConfiguration = AppBarConfiguration(navController.graph)
         toolbar.setupWithNavController(navController, appBarConfiguration)
 
+        when (album?.id) {
+            MediaStoreBuckets.MEDIA_STORE_BUCKET_TRASH.id ->
+                R.menu.fragment_album_viewer_toolbar_trash
+            else -> null
+        }?.let {
+            toolbar.inflateMenu(it)
+        }
+
+        toolbar.setOnMenuItemClickListener { menuItem ->
+            when (menuItem.itemId) {
+                R.id.emptyTrash -> {
+                    val selection = thumbnailAdapter.currentList.mapNotNull {
+                        AlbumViewerViewModel.DataType.Thumbnail::class.safeCast(it)?.media
+                    }
+                    val count = selection.size
+
+                    if (count > 0) {
+                        MaterialAlertDialogBuilder(requireContext())
+                            .setTitle(R.string.file_action_delete_forever)
+                            .setMessage(
+                                resources.getQuantityString(
+                                    R.plurals.delete_file_forever_confirm_message, count, count
+                                )
+                            ).setPositiveButton(android.R.string.ok) { _, _ ->
+                                deleteForeverContract.launch(
+                                    requireContext().contentResolver.createDeleteRequest(
+                                        *selection.mapNotNull { media ->
+                                            MediaStoreMedia::class.safeCast(media)?.uri
+                                        }.toTypedArray()
+                                    )
+                                )
+                            }
+                            .setNegativeButton(android.R.string.cancel) { _, _ ->
+                                // Do nothing
+                            }
+                            .show()
+                    }
+
+                    true
+                }
+                else -> false
+            }
+        }
+
         recyclerView.layoutManager = ThumbnailLayoutManager(
             requireContext(), thumbnailAdapter
         )
diff --git a/app/src/main/res/drawable/ic_delete_sweep.xml b/app/src/main/res/drawable/ic_delete_sweep.xml
new file mode 100644
index 0000000..2ff2e9c
--- /dev/null
+++ b/app/src/main/res/drawable/ic_delete_sweep.xml
@@ -0,0 +1,15 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+     SPDX-FileCopyrightText: Material Design Authors / Google LLC
+     SPDX-License-Identifier: Apache-2.0
+-->
+<vector xmlns:android="http://schemas.android.com/apk/res/android"
+    android:width="24dp"
+    android:height="24dp"
+    android:tint="#000000"
+    android:viewportWidth="24"
+    android:viewportHeight="24">
+    <path
+        android:fillColor="@android:color/white"
+        android:pathData="M15,16h4v2h-4zM15,8h7v2h-7zM15,12h6v2h-6zM3,18c0,1.1 0.9,2 2,2h6c1.1,0 2,-0.9 2,-2L13,8L3,8v10zM5,10h6v8L5,18v-8zM10,4L6,4L5,5L2,5v2h12L14,5h-3z" />
+</vector>
diff --git a/app/src/main/res/layout/fragment_album_viewer.xml b/app/src/main/res/layout/fragment_album_viewer.xml
index 9562818..beceea1 100644
--- a/app/src/main/res/layout/fragment_album_viewer.xml
+++ b/app/src/main/res/layout/fragment_album_viewer.xml
@@ -21,8 +21,7 @@
             android:id="@+id/toolbar"
             android:layout_width="match_parent"
             android:layout_height="?attr/actionBarSize"
-            app:layout_scrollFlags="scroll|enterAlways|snap"
-            app:menu="@menu/top_app_bar" />
+            app:layout_scrollFlags="scroll|enterAlways|snap" />
 
     </com.google.android.material.appbar.AppBarLayout>
 
diff --git a/app/src/main/res/layout/fragment_albums.xml b/app/src/main/res/layout/fragment_albums.xml
index 3699e70..a719143 100644
--- a/app/src/main/res/layout/fragment_albums.xml
+++ b/app/src/main/res/layout/fragment_albums.xml
@@ -22,7 +22,6 @@
             android:layout_width="match_parent"
             android:layout_height="?attr/actionBarSize"
             app:layout_scrollFlags="scroll|enterAlways|snap"
-            app:menu="@menu/top_app_bar"
             app:title="@string/albums_title" />
 
     </com.google.android.material.appbar.AppBarLayout>
diff --git a/app/src/main/res/layout/fragment_main.xml b/app/src/main/res/layout/fragment_main.xml
index e1243cb..e16013e 100644
--- a/app/src/main/res/layout/fragment_main.xml
+++ b/app/src/main/res/layout/fragment_main.xml
@@ -30,6 +30,6 @@
         app:layout_constraintBottom_toBottomOf="parent"
         app:layout_constraintEnd_toEndOf="parent"
         app:layout_constraintStart_toStartOf="parent"
-        app:menu="@menu/bottom_app_bar" />
+        app:menu="@menu/fragment_main_bottom_app_bar" />
 
 </androidx.constraintlayout.widget.ConstraintLayout>
diff --git a/app/src/main/res/menu/top_app_bar.xml b/app/src/main/res/menu/fragment_album_viewer_toolbar_trash.xml
similarity index 60%
rename from app/src/main/res/menu/top_app_bar.xml
rename to app/src/main/res/menu/fragment_album_viewer_toolbar_trash.xml
index 002fdda..6b327ca 100644
--- a/app/src/main/res/menu/top_app_bar.xml
+++ b/app/src/main/res/menu/fragment_album_viewer_toolbar_trash.xml
@@ -8,10 +8,10 @@
 
     <item
         style="@style/Theme.Glimpse.TopAppBarOption"
-        android:id="@+id/select"
-        android:icon="@drawable/ic_edit"
-        android:title="@string/top_app_bar_select"
-        android:contentDescription="@string/top_app_bar_select"
-        app:showAsAction="never" />
+        android:id="@+id/emptyTrash"
+        android:icon="@drawable/ic_delete_sweep"
+        android:title="@string/empty_trash"
+        android:contentDescription="@string/empty_trash"
+        app:showAsAction="ifRoom" />
 
 </menu>
diff --git a/app/src/main/res/menu/bottom_app_bar.xml b/app/src/main/res/menu/fragment_main_bottom_app_bar.xml
similarity index 100%
rename from app/src/main/res/menu/bottom_app_bar.xml
rename to app/src/main/res/menu/fragment_main_bottom_app_bar.xml
diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml
index fde668a..e8f99cc 100644
--- a/app/src/main/res/values/strings.xml
+++ b/app/src/main/res/values/strings.xml
@@ -9,9 +9,6 @@
     <!-- Toast messages -->
     <string name="app_permissions_toast">Permissions not granted by the user.</string>
 
-    <!-- Top app bar -->
-    <string name="top_app_bar_select">Select</string>
-
     <!-- Titles -->
     <string name="reels_title">Reels</string>
     <string name="albums_title">Albums</string>
@@ -102,4 +99,7 @@
 
     <!-- Selection -->
     <string name="thumbnail_selection_count">%d selected</string>
+
+    <!-- Empty trash -->
+    <string name="empty_trash">Empty trash</string>
 </resources>
