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

Check the PIN in the file deletion dialog

parent ffa5a472
No related branches found
No related tags found
1 merge request!1753Parental control
......@@ -488,23 +488,21 @@ open class HeaderMediaListActivity : AudioPlayerContainerActivity(), IEventsHand
}
}
private suspend fun removeItems(items: List<MediaWrapper>) {
if (checkPIN()){
val dialog = ConfirmDeleteDialog.newInstance(ArrayList(items))
dialog.show(supportFragmentManager, ConfirmDeleteDialog::class.simpleName)
dialog.setListener {
lifecycleScope.launch {
for (item in items) {
val deleteAction = kotlinx.coroutines.Runnable {
lifecycleScope.launch {
MediaUtils.deleteItem(this@HeaderMediaListActivity, item) {
UiTools.snacker(this@HeaderMediaListActivity, getString(R.string.msg_delete_failed, it.title))
}
if (isStarted()) viewModel.refresh()
private fun removeItems(items: List<MediaWrapper>) {
val dialog = ConfirmDeleteDialog.newInstance(ArrayList(items))
dialog.show(supportFragmentManager, ConfirmDeleteDialog::class.simpleName)
dialog.setListener {
lifecycleScope.launch {
for (item in items) {
val deleteAction = kotlinx.coroutines.Runnable {
lifecycleScope.launch {
MediaUtils.deleteItem(this@HeaderMediaListActivity, item) {
UiTools.snacker(this@HeaderMediaListActivity, getString(R.string.msg_delete_failed, it.title))
}
if (isStarted()) viewModel.refresh()
}
if (Permissions.checkWritePermission(this@HeaderMediaListActivity, item, deleteAction)) deleteAction.run()
}
if (Permissions.checkWritePermission(this@HeaderMediaListActivity, item, deleteAction)) deleteAction.run()
}
}
}
......
......@@ -30,16 +30,18 @@ import android.widget.Button
import android.widget.ImageView
import android.widget.TextView
import androidx.core.os.bundleOf
import androidx.lifecycle.lifecycleScope
import androidx.vectordrawable.graphics.drawable.Animatable2Compat
import androidx.vectordrawable.graphics.drawable.AnimatedVectorDrawableCompat
import com.google.android.material.bottomsheet.BottomSheetBehavior.STATE_EXPANDED
import kotlinx.coroutines.launch
import org.videolan.medialibrary.interfaces.media.Album
import org.videolan.medialibrary.interfaces.media.MediaWrapper
import org.videolan.medialibrary.interfaces.media.Playlist
import org.videolan.medialibrary.media.MediaLibraryItem
import org.videolan.resources.util.parcelableList
import org.videolan.vlc.R
import java.lang.IllegalStateException
import org.videolan.vlc.gui.helpers.hf.checkPIN
const val CONFIRM_DELETE_DIALOG_MEDIALIST = "CONFIRM_DELETE_DIALOG_MEDIALIST"
const val CONFIRM_DELETE_DIALOG_TITLE = "CONFIRM_DELETE_DIALOG_TITLE"
......@@ -80,6 +82,7 @@ class ConfirmDeleteDialog : VLCBottomSheetDialogFragment() {
}
override fun onCreate(savedInstanceState: Bundle?) {
lifecycleScope.launch { if (!requireActivity().checkPIN()) dismiss() }
mediaList = arguments?.parcelableList(CONFIRM_DELETE_DIALOG_MEDIALIST) ?: listOf()
titleString = arguments?.getString(CONFIRM_DELETE_DIALOG_TITLE)
descriptionString = arguments?.getString(CONFIRM_DELETE_DIALOG_DESCRIPTION)
......
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