Skip to content

Commit

Permalink
add an option at the queue screen to delete files themselves
Browse files Browse the repository at this point in the history
  • Loading branch information
tibbi committed Nov 4, 2022
1 parent 95a64d3 commit 6f427b6
Show file tree
Hide file tree
Showing 2 changed files with 46 additions and 17 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -13,6 +13,7 @@ import com.bumptech.glide.load.resource.bitmap.RoundedCorners
import com.bumptech.glide.request.RequestOptions
import com.qtalk.recyclerviewfastscroller.RecyclerViewFastScroller
import com.simplemobiletools.commons.adapters.MyRecyclerViewAdapter
import com.simplemobiletools.commons.dialogs.ConfirmationDialog
import com.simplemobiletools.commons.extensions.*
import com.simplemobiletools.commons.interfaces.ItemMoveCallback
import com.simplemobiletools.commons.interfaces.ItemTouchHelperContract
Expand All @@ -21,6 +22,7 @@ import com.simplemobiletools.commons.views.MyRecyclerView
import com.simplemobiletools.musicplayer.R
import com.simplemobiletools.musicplayer.activities.SimpleActivity
import com.simplemobiletools.musicplayer.extensions.addTracksToPlaylist
import com.simplemobiletools.musicplayer.extensions.deleteTracks
import com.simplemobiletools.musicplayer.extensions.removeQueueItems
import com.simplemobiletools.musicplayer.extensions.sendIntent
import com.simplemobiletools.musicplayer.helpers.FINISH
Expand Down Expand Up @@ -77,6 +79,7 @@ class QueueAdapter(activity: SimpleActivity, var items: ArrayList<Track>, recycl

when (id) {
R.id.cab_remove_from_queue -> removeFromQueue()
R.id.cab_delete_file -> deleteTracks()
R.id.cab_add_to_playlist -> addToPlaylist()
R.id.cab_select_all -> selectAll()
}
Expand Down Expand Up @@ -105,24 +108,45 @@ class QueueAdapter(activity: SimpleActivity, var items: ArrayList<Track>, recycl
}

activity.removeQueueItems(selectedTracks) {
activity.runOnUiThread {
if (selectedTracks.contains(MusicService.mCurrTrack)) {
if (MusicService.mTracks.isEmpty()) {
activity.sendIntent(FINISH)
activity.finish()
return@runOnUiThread
}

Intent(activity, MusicService::class.java).apply {
action = PLAY_TRACK
putExtra(TRACK_ID, (MusicService.mTracks.first()).mediaStoreId)
activity.startService(this)
}
refreshTracksList(positions, selectedTracks)
}
}

private fun deleteTracks() {
ConfirmationDialog(activity, "", R.string.delete_song_warning, R.string.ok, R.string.cancel) {
val positions = ArrayList<Int>()
val selectedTracks = getSelectedTracks()
selectedTracks.forEach { track ->
val position = items.indexOfFirst { it.mediaStoreId == track.mediaStoreId }
if (position != -1) {
positions.add(position)
}
}

activity.deleteTracks(selectedTracks) {
refreshTracksList(positions, selectedTracks)
}
}
}

private fun refreshTracksList(positions: ArrayList<Int>, selectedTracks: List<Track>) {
activity.runOnUiThread {
if (selectedTracks.contains(MusicService.mCurrTrack)) {
if (MusicService.mTracks.isEmpty()) {
activity.sendIntent(FINISH)
activity.finish()
return@runOnUiThread
}

positions.sortDescending()
removeSelectedItems(positions)
Intent(activity, MusicService::class.java).apply {
action = PLAY_TRACK
putExtra(TRACK_ID, (MusicService.mTracks.first()).mediaStoreId)
activity.startService(this)
}
}

positions.sortDescending()
removeSelectedItems(positions)
}
}

Expand Down
9 changes: 7 additions & 2 deletions app/src/main/res/menu/cab_queue.xml
Original file line number Diff line number Diff line change
Expand Up @@ -8,14 +8,19 @@
android:icon="@drawable/ic_minus_circle_vector"
android:title="@string/remove_from_queue"
app:showAsAction="always" />
<item
android:id="@+id/cab_delete_file"
android:showAsAction="never"
android:title="@string/delete"
app:showAsAction="never" />
<item
android:id="@+id/cab_add_to_playlist"
android:showAsAction="never"
android:title="@string/add_to_playlist"
app:showAsAction="never" />
<item
android:id="@+id/cab_select_all"
android:icon="@drawable/ic_select_all_vector"
android:showAsAction="never"
android:title="@string/select_all"
app:showAsAction="always" />
app:showAsAction="never" />
</menu>

0 comments on commit 6f427b6

Please sign in to comment.