Skip to content
Snippets Groups Projects
Commit e05a514e authored by Nicolas Pomepuy's avatar Nicolas Pomepuy Committed by Duncan McNamara
Browse files

Allow changing the video media favorite state in action mode

Fixes #2880
parent 9a290ab7
No related branches found
No related tags found
1 merge request!1701Allow changing the video media favorite state in action mode
Pipeline #329048 passed with stage
in 4 minutes and 2 seconds
......@@ -61,4 +61,14 @@
android:icon="@drawable/ic_am_folder"
android:visible="false"
app:showAsAction="ifRoom" />
<item
android:orderInCategory="6"
android:title="@string/favorites_add"
app:showAsAction="never"
android:id="@+id/action_mode_favorite_add" />
<item
android:orderInCategory="6"
android:title="@string/favorites_remove"
app:showAsAction="never"
android:id="@+id/action_mode_favorite_remove" />
</menu>
\ No newline at end of file
......@@ -49,4 +49,14 @@
android:icon="@drawable/ic_am_folder"
android:visible="false"
app:showAsAction="ifRoom" />
<item
android:orderInCategory="6"
android:title="@string/favorites_add"
app:showAsAction="never"
android:id="@+id/action_mode_favorite_add" />
<item
android:orderInCategory="6"
android:title="@string/favorites_remove"
app:showAsAction="never"
android:id="@+id/action_mode_favorite_remove" />
</menu>
\ No newline at end of file
......@@ -386,6 +386,8 @@ class VideoGridFragment : MediaBrowserFragment<VideosViewModel>(), SwipeRefreshL
}
else -> {}
}
menu.findItem(R.id.action_mode_favorite_add).isVisible = multiSelectHelper.getSelection().none { it.isFavorite }
menu.findItem(R.id.action_mode_favorite_remove).isVisible = multiSelectHelper.getSelection().none { !it.isFavorite }
return true
}
......@@ -418,6 +420,8 @@ class VideoGridFragment : MediaBrowserFragment<VideosViewModel>(), SwipeRefreshL
R.id.action_ungroup -> viewModel.ungroup(list)
R.id.action_add_to_group -> addToGroup(list)
R.id.action_mode_go_to_folder -> (list.first() as? MediaWrapper)?.let { showParentFolder(it) }
R.id.action_mode_favorite_add -> lifecycleScope.launch { viewModel.changeFavorite(list, true)}
R.id.action_mode_favorite_remove -> lifecycleScope.launch { viewModel.changeFavorite(list, false)}
else -> {
stopActionMode()
return false
......@@ -435,6 +439,8 @@ class VideoGridFragment : MediaBrowserFragment<VideosViewModel>(), SwipeRefreshL
R.id.action_folder_append -> viewModel.appendFoldersSelection(selection)
R.id.action_folder_add_playlist -> lifecycleScope.launch { requireActivity().addToPlaylist(withContext(Dispatchers.Default) { selection.getAll() }) }
R.id.action_video_delete -> removeItems(selection.getAll())
R.id.action_mode_favorite_add -> lifecycleScope.launch { viewModel.changeFavorite(selection.getAll(), true)}
R.id.action_mode_favorite_remove -> lifecycleScope.launch { viewModel.changeFavorite(selection.getAll(), false)}
else -> return false
}
}
......@@ -450,6 +456,8 @@ class VideoGridFragment : MediaBrowserFragment<VideosViewModel>(), SwipeRefreshL
R.id.action_add_to_group -> addToGroup(selection)
R.id.action_mode_go_to_folder -> (selection.first() as? MediaWrapper)?.let { showParentFolder(it) }
R.id.action_video_delete -> removeItems(selection.getAll())
R.id.action_mode_favorite_add -> lifecycleScope.launch { viewModel.changeFavorite(selection.getAll(), true)}
R.id.action_mode_favorite_remove -> lifecycleScope.launch { viewModel.changeFavorite(selection.getAll(), false)}
else -> return false
}
}
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment