Fixed some Activity animations and some bugs in header fetching.

This commit is contained in:
casey langen 2017-12-09 15:20:44 -08:00
parent 256ce45bde
commit 4a0a0005d1
8 changed files with 57 additions and 12 deletions

View File

@ -17,6 +17,7 @@ import okhttp3.Request
import okhttp3.Response
import java.io.File
import java.io.RandomAccessFile
import java.net.SocketTimeoutException
import javax.inject.Inject
/**
@ -96,13 +97,18 @@ class GaplessHeaderService {
}
if (res?.code() == 206) {
val bytes = res.body()?.bytes()
if (bytes?.isNotEmpty() == true) {
RandomAccessFile(fn, "rw").use {
it.seek(0)
it.write(bytes, 0, Math.min(bytes.size, HEADER_SIZE_BYTES))
try {
val bytes = res.body()?.bytes()
if (bytes?.isNotEmpty() == true) {
RandomAccessFile(fn, "rw").use {
it.seek(0)
it.write(bytes, 0, Math.min(bytes.size, HEADER_SIZE_BYTES))
}
newState = GaplessTrack.UPDATED
}
newState = GaplessTrack.UPDATED
}
catch (ex: SocketTimeoutException) {
newState = GaplessTrack.DOWNLOADED
}
}
else {

View File

@ -96,8 +96,10 @@ abstract class PlayerWrapper {
}
gaplessDb.dao().queryByUrl(uri).forEach {
gaplessDb.dao().update(GaplessTrack.DOWNLOADED, it.url)
gaplessService.schedule()
if (it.state != GaplessTrack.UPDATED) {
gaplessDb.dao().update(GaplessTrack.DOWNLOADED, it.url)
gaplessService.schedule()
}
}
}
.subscribeOn(Schedulers.io())

View File

@ -405,6 +405,7 @@ class MainActivity : BaseActivity() {
private fun navigateToPlayQueue() {
startActivity(PlayQueueActivity.getStartIntent(this@MainActivity, playback.service.queuePosition))
overridePendingTransition(R.anim.slide_up, R.anim.stay_put)
}
private fun scheduleUpdateTime(immediate: Boolean) {

View File

@ -3,6 +3,7 @@ package io.casey.musikcube.remote.ui.playqueue.activity
import android.content.Context
import android.content.Intent
import android.os.Bundle
import android.view.MenuItem
import android.view.View
import com.simplecityapps.recyclerview_fastscroll.views.FastScrollRecyclerView
import io.casey.musikcube.remote.R
@ -88,6 +89,21 @@ class PlayQueueActivity : BaseActivity() {
}
}
override fun onOptionsItemSelected(item: MenuItem): Boolean {
val result = super.onOptionsItemSelected(item)
if (item.itemId == android.R.id.home) {
overridePendingTransition(R.anim.stay_put, R.anim.slide_down)
}
return result
}
override fun onBackPressed() {
super.onBackPressed()
overridePendingTransition(R.anim.stay_put, R.anim.slide_down)
}
private val adapterListener = object: PlayQueueAdapter.EventListener {
override fun onItemClicked(position: Int) =
playback.service.playAt(position)

View File

@ -50,21 +50,24 @@ class TransportFragment: BaseFragment() {
private fun bindEventHandlers() {
this.title = this.rootView.findViewById(R.id.track_title)
this.title.isClickable = false
this.title.isFocusable = false
this.buffering = this.rootView.findViewById(R.id.buffering)
val titleBar = this.rootView.findViewById<View>(R.id.title_bar)
titleBar?.setOnClickListener { _: View ->
if (playback.service.state != PlaybackState.Stopped) {
val intent = PlayQueueActivity
startActivity(PlayQueueActivity
.getStartIntent(activity, playback.service.queuePosition)
.addFlags(Intent.FLAG_ACTIVITY_SINGLE_TOP)
.addFlags(Intent.FLAG_ACTIVITY_SINGLE_TOP))
startActivity(intent)
activity.overridePendingTransition(R.anim.slide_up, R.anim.stay_put)
}
}
this.title.setOnLongClickListener { _: View ->
titleBar?.setOnLongClickListener { _: View ->
startActivity(MainActivity.getStartIntent(activity))
true
}

View File

@ -0,0 +1,7 @@
<set xmlns:android="http://schemas.android.com/apk/res/android" >
<translate
android:duration="250"
android:interpolator="@android:anim/accelerate_interpolator"
android:fromYDelta="0"
android:toYDelta="100%" />
</set>

View File

@ -0,0 +1,7 @@
<set xmlns:android="http://schemas.android.com/apk/res/android" >
<translate
android:duration="250"
android:interpolator="@android:anim/accelerate_interpolator"
android:fromYDelta="100%"
android:toYDelta="0" />
</set>

View File

@ -0,0 +1,3 @@
<set xmlns:android="http://schemas.android.com/apk/res/android">
<translate android:fromYDelta="0%p" android:toYDelta="0" android:duration="250"/>
</set>