Pulled some fixes from dev/chromecast (080cce00ee).

This commit is contained in:
Antoine POPINEAU 2020-06-24 19:45:16 +02:00
parent 2b9eb789e8
commit f7a5a29eea
No known key found for this signature in database
GPG Key ID: A78AC64694F84063
3 changed files with 22 additions and 12 deletions

View File

@ -158,8 +158,6 @@ class TracksAdapter(private val context: Context?, private val favoriteListener:
}
notifyItemMoved(oldPosition, newPosition)
CommandBus.send(Command.MoveFromQueue(oldPosition, newPosition))
}
inner class ViewHolder(view: View, val context: Context?) : RecyclerView.ViewHolder(view), View.OnClickListener {
@ -186,6 +184,9 @@ class TracksAdapter(private val context: Context?, private val favoriteListener:
}
inner class TouchHelperCallback : ItemTouchHelper.Callback() {
var from = -1
var to = -1
override fun isLongPressDragEnabled() = false
override fun isItemViewSwipeEnabled() = false
@ -194,7 +195,9 @@ class TracksAdapter(private val context: Context?, private val favoriteListener:
makeMovementFlags(ItemTouchHelper.UP or ItemTouchHelper.DOWN, 0)
override fun onMove(recyclerView: RecyclerView, viewHolder: RecyclerView.ViewHolder, target: RecyclerView.ViewHolder): Boolean {
onItemMove(viewHolder.adapterPosition, target.adapterPosition)
to = target.adapterPosition
onItemMove(viewHolder.adapterPosition, to)
return true
}
@ -204,7 +207,10 @@ class TracksAdapter(private val context: Context?, private val favoriteListener:
override fun onSelectedChanged(viewHolder: RecyclerView.ViewHolder?, actionState: Int) {
if (actionState == ItemTouchHelper.ACTION_STATE_DRAG) {
context?.let {
viewHolder?.itemView?.background = ColorDrawable(context.getColor(R.color.colorSelected))
viewHolder?.let {
from = viewHolder.adapterPosition
viewHolder.itemView.background = ColorDrawable(context.getColor(R.color.colorSelected))
}
}
}
@ -212,6 +218,13 @@ class TracksAdapter(private val context: Context?, private val favoriteListener:
}
override fun clearView(recyclerView: RecyclerView, viewHolder: RecyclerView.ViewHolder) {
if (from != -1 && to != -1) {
CommandBus.send(Command.MoveFromQueue(from, to))
from = -1
to = -1
}
viewHolder.itemView.background = ColorDrawable(Color.TRANSPARENT)
super.clearView(recyclerView, viewHolder)

View File

@ -1,12 +1,7 @@
package com.github.apognu.otter.fragments
import android.content.Context
import android.graphics.Rect
import android.graphics.drawable.Drawable
import android.os.Bundle
import android.text.SpannableString
import android.text.Spanned
import android.text.style.DynamicDrawableSpan
import android.view.View
import android.view.animation.AccelerateDecelerateInterpolator
import androidx.appcompat.app.AppCompatActivity
@ -24,7 +19,6 @@ import com.github.apognu.otter.repositories.AlbumsRepository
import com.github.apognu.otter.repositories.ArtistTracksRepository
import com.github.apognu.otter.repositories.Repository
import com.github.apognu.otter.utils.*
import com.github.apognu.otter.views.LoadingFlotingActionButton
import com.squareup.picasso.Picasso
import jp.wasabeef.picasso.transformations.RoundedCornersTransformation
import kotlinx.android.synthetic.main.fragment_albums.*

View File

@ -50,7 +50,7 @@ class PlayerService : Service() {
private lateinit var radioPlayer: RadioPlayer
override fun onStartCommand(intent: Intent?, flags: Int, startId: Int): Int {
watchEventBus()
if (jobs.isEmpty()) watchEventBus()
return START_STICKY
}
@ -222,7 +222,10 @@ class PlayerService : Service() {
@SuppressLint("NewApi")
override fun onDestroy() {
jobs.forEach { it.cancel() }
jobs.forEach {
it.cancel()
jobs.remove(it)
}
try {
unregisterReceiver(headphonesUnpluggedReceiver)