-
-
Notifications
You must be signed in to change notification settings - Fork 133
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
π fix(MediaServiceModule): Increase stream chunk length β¨ feat(changelog): Add changelog for version 25 π fix(Settings): Fix bugs in the Settings screen β¨ feat(UI): Add swipe gesture for next/previous track β¨ feat(language): Add Korean language support π fix(redirect): Improve redirect logging β¬οΈ chore(deps): Upgrade Kotlin and Ktor versions ```
- Loading branch information
1 parent
08da315
commit aad061b
Showing
8 changed files
with
44 additions
and
21 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,5 @@ | ||
- Fixed "Send back to Google" feature | ||
- Added swipe to next or previous inside now playing screen | ||
- Improve performance and stability | ||
- Fixed some bugs inside Setting screen | ||
- Added new language: Korean |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,5 @@ | ||
- Sα»a lα»i tΓnh nΔng "Gα»i lαΊ‘i dα»― liα»u cho Google" | ||
- ThΓͺm chα»©c nΔng vuα»t Δα» chuyα»n bΓ i tiαΊΏp theo hoαΊ·c trΖ°α»c ΔΓ³ trong mΓ n hΓ¬nh Δang phΓ‘t | ||
- CαΊ£i thiα»n hiα»u suαΊ₯t vΓ α»n Δα»nh | ||
- Sα»a mα»t sα» lα»i trong mΓ n hΓ¬nh cΓ i ΔαΊ·t | ||
- ThΓͺm ngΓ΄n ngα»― mα»i: HΓ n Quα»c |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
19 changes: 13 additions & 6 deletions
19
kotlinYtmusicScraper/src/main/java/com/maxrave/kotlinytmusicscraper/encoder/BrotliEncoder.kt
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,22 +1,29 @@ | ||
package com.maxrave.kotlinytmusicscraper.encoder | ||
|
||
import io.ktor.client.plugins.compression.ContentEncoder | ||
import io.ktor.client.plugins.compression.ContentEncoding | ||
import io.ktor.client.plugins.compression.ContentEncodingConfig | ||
import io.ktor.util.ContentEncoder | ||
import io.ktor.utils.io.ByteReadChannel | ||
import io.ktor.utils.io.ByteWriteChannel | ||
import io.ktor.utils.io.jvm.javaio.toByteReadChannel | ||
import io.ktor.utils.io.jvm.javaio.toInputStream | ||
import kotlinx.coroutines.CoroutineScope | ||
import org.brotli.dec.BrotliInputStream | ||
import kotlin.coroutines.CoroutineContext | ||
|
||
object BrotliEncoder : ContentEncoder { | ||
override val name: String = "br" | ||
override fun decode(source: ByteReadChannel, coroutineContext: CoroutineContext): ByteReadChannel { | ||
return BrotliInputStream(source.toInputStream()).toByteReadChannel(coroutineContext) | ||
} | ||
|
||
override fun CoroutineScope.decode(source: ByteReadChannel): ByteReadChannel = BrotliInputStream(source.toInputStream()).toByteReadChannel() | ||
override fun encode(source: ByteReadChannel, coroutineContext: CoroutineContext): ByteReadChannel { | ||
throw UnsupportedOperationException("Encode not implemented by the library yet.") | ||
} | ||
|
||
override fun CoroutineScope.encode(source: ByteReadChannel): ByteReadChannel = | ||
override fun encode(source: ByteWriteChannel, coroutineContext: CoroutineContext): ByteWriteChannel { | ||
throw UnsupportedOperationException("Encode not implemented by the library yet.") | ||
} | ||
} | ||
|
||
fun ContentEncoding.Config.brotli(quality: Float? = null) { | ||
fun ContentEncodingConfig.brotli(quality: Float? = null) { | ||
customEncoder(BrotliEncoder, quality) | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
19 changes: 13 additions & 6 deletions
19
spotify/src/main/java/com/maxrave/spotify/encoder/BrotliEncoder.kt
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,22 +1,29 @@ | ||
package com.maxrave.spotify.encoder | ||
|
||
import io.ktor.client.plugins.compression.ContentEncoder | ||
import io.ktor.client.plugins.compression.ContentEncoding | ||
import io.ktor.client.plugins.compression.ContentEncodingConfig | ||
import io.ktor.util.ContentEncoder | ||
import io.ktor.utils.io.ByteReadChannel | ||
import io.ktor.utils.io.ByteWriteChannel | ||
import io.ktor.utils.io.jvm.javaio.toByteReadChannel | ||
import io.ktor.utils.io.jvm.javaio.toInputStream | ||
import kotlinx.coroutines.CoroutineScope | ||
import org.brotli.dec.BrotliInputStream | ||
import kotlin.coroutines.CoroutineContext | ||
|
||
object BrotliEncoder : ContentEncoder { | ||
override val name: String = "br" | ||
override fun decode(source: ByteReadChannel, coroutineContext: CoroutineContext): ByteReadChannel { | ||
return BrotliInputStream(source.toInputStream()).toByteReadChannel(coroutineContext) | ||
} | ||
|
||
override fun CoroutineScope.decode(source: ByteReadChannel): ByteReadChannel = BrotliInputStream(source.toInputStream()).toByteReadChannel() | ||
override fun encode(source: ByteReadChannel, coroutineContext: CoroutineContext): ByteReadChannel { | ||
throw UnsupportedOperationException("Encode not implemented by the library yet.") | ||
} | ||
|
||
override fun CoroutineScope.encode(source: ByteReadChannel): ByteReadChannel = | ||
override fun encode(source: ByteWriteChannel, coroutineContext: CoroutineContext): ByteWriteChannel { | ||
throw UnsupportedOperationException("Encode not implemented by the library yet.") | ||
} | ||
} | ||
|
||
fun ContentEncoding.Config.brotli(quality: Float? = null) { | ||
fun ContentEncodingConfig.brotli(quality: Float? = null) { | ||
customEncoder(BrotliEncoder, quality) | ||
} |