mirror of
https://github.com/clangen/musikcube.git
synced 2024-10-02 04:52:32 +00:00
Fixed some Activity animations and some bugs in header fetching.
This commit is contained in:
parent
256ce45bde
commit
4a0a0005d1
@ -17,6 +17,7 @@ import okhttp3.Request
|
|||||||
import okhttp3.Response
|
import okhttp3.Response
|
||||||
import java.io.File
|
import java.io.File
|
||||||
import java.io.RandomAccessFile
|
import java.io.RandomAccessFile
|
||||||
|
import java.net.SocketTimeoutException
|
||||||
import javax.inject.Inject
|
import javax.inject.Inject
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -96,13 +97,18 @@ class GaplessHeaderService {
|
|||||||
}
|
}
|
||||||
|
|
||||||
if (res?.code() == 206) {
|
if (res?.code() == 206) {
|
||||||
val bytes = res.body()?.bytes()
|
try {
|
||||||
if (bytes?.isNotEmpty() == true) {
|
val bytes = res.body()?.bytes()
|
||||||
RandomAccessFile(fn, "rw").use {
|
if (bytes?.isNotEmpty() == true) {
|
||||||
it.seek(0)
|
RandomAccessFile(fn, "rw").use {
|
||||||
it.write(bytes, 0, Math.min(bytes.size, HEADER_SIZE_BYTES))
|
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 {
|
else {
|
||||||
|
@ -96,8 +96,10 @@ abstract class PlayerWrapper {
|
|||||||
}
|
}
|
||||||
|
|
||||||
gaplessDb.dao().queryByUrl(uri).forEach {
|
gaplessDb.dao().queryByUrl(uri).forEach {
|
||||||
gaplessDb.dao().update(GaplessTrack.DOWNLOADED, it.url)
|
if (it.state != GaplessTrack.UPDATED) {
|
||||||
gaplessService.schedule()
|
gaplessDb.dao().update(GaplessTrack.DOWNLOADED, it.url)
|
||||||
|
gaplessService.schedule()
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
.subscribeOn(Schedulers.io())
|
.subscribeOn(Schedulers.io())
|
||||||
|
@ -405,6 +405,7 @@ class MainActivity : BaseActivity() {
|
|||||||
|
|
||||||
private fun navigateToPlayQueue() {
|
private fun navigateToPlayQueue() {
|
||||||
startActivity(PlayQueueActivity.getStartIntent(this@MainActivity, playback.service.queuePosition))
|
startActivity(PlayQueueActivity.getStartIntent(this@MainActivity, playback.service.queuePosition))
|
||||||
|
overridePendingTransition(R.anim.slide_up, R.anim.stay_put)
|
||||||
}
|
}
|
||||||
|
|
||||||
private fun scheduleUpdateTime(immediate: Boolean) {
|
private fun scheduleUpdateTime(immediate: Boolean) {
|
||||||
|
@ -3,6 +3,7 @@ package io.casey.musikcube.remote.ui.playqueue.activity
|
|||||||
import android.content.Context
|
import android.content.Context
|
||||||
import android.content.Intent
|
import android.content.Intent
|
||||||
import android.os.Bundle
|
import android.os.Bundle
|
||||||
|
import android.view.MenuItem
|
||||||
import android.view.View
|
import android.view.View
|
||||||
import com.simplecityapps.recyclerview_fastscroll.views.FastScrollRecyclerView
|
import com.simplecityapps.recyclerview_fastscroll.views.FastScrollRecyclerView
|
||||||
import io.casey.musikcube.remote.R
|
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 {
|
private val adapterListener = object: PlayQueueAdapter.EventListener {
|
||||||
override fun onItemClicked(position: Int) =
|
override fun onItemClicked(position: Int) =
|
||||||
playback.service.playAt(position)
|
playback.service.playAt(position)
|
||||||
|
@ -50,21 +50,24 @@ class TransportFragment: BaseFragment() {
|
|||||||
|
|
||||||
private fun bindEventHandlers() {
|
private fun bindEventHandlers() {
|
||||||
this.title = this.rootView.findViewById(R.id.track_title)
|
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)
|
this.buffering = this.rootView.findViewById(R.id.buffering)
|
||||||
|
|
||||||
val titleBar = this.rootView.findViewById<View>(R.id.title_bar)
|
val titleBar = this.rootView.findViewById<View>(R.id.title_bar)
|
||||||
|
|
||||||
titleBar?.setOnClickListener { _: View ->
|
titleBar?.setOnClickListener { _: View ->
|
||||||
if (playback.service.state != PlaybackState.Stopped) {
|
if (playback.service.state != PlaybackState.Stopped) {
|
||||||
val intent = PlayQueueActivity
|
startActivity(PlayQueueActivity
|
||||||
.getStartIntent(activity, playback.service.queuePosition)
|
.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))
|
startActivity(MainActivity.getStartIntent(activity))
|
||||||
true
|
true
|
||||||
}
|
}
|
||||||
|
7
src/musikdroid/app/src/main/res/anim/slide_down.xml
Normal file
7
src/musikdroid/app/src/main/res/anim/slide_down.xml
Normal 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>
|
7
src/musikdroid/app/src/main/res/anim/slide_up.xml
Normal file
7
src/musikdroid/app/src/main/res/anim/slide_up.xml
Normal 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>
|
3
src/musikdroid/app/src/main/res/anim/stay_put.xml
Normal file
3
src/musikdroid/app/src/main/res/anim/stay_put.xml
Normal 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>
|
Loading…
Reference in New Issue
Block a user