- LrcLibApi (api/get + api/search, User-Agent), DI @Named(lrclib) Retrofit - LyricsRepository.fetchLyrics -> LyricsResult (plain/synced/instrumental) - LyricsViewModel + LyricsSheet (загрузка/инструментал/найдено/не найдено), прокрутка + атрибуция LRCLIB - кнопка «Текст песни» открывает встроенный экран (плеер + деталь трека чартов), вместо ссылки в браузере
25 lines
769 B
Kotlin
25 lines
769 B
Kotlin
package com.radiola.data.remote
|
|
|
|
import com.radiola.data.remote.dto.LrcLibLyricsDto
|
|
import retrofit2.http.GET
|
|
import retrofit2.http.Header
|
|
import retrofit2.http.Query
|
|
|
|
interface LrcLibApi {
|
|
|
|
@GET("api/get")
|
|
suspend fun get(
|
|
@Header("User-Agent") userAgent: String = "radiOLA Android (https://radiorecord.ru)",
|
|
@Query("artist_name") artistName: String,
|
|
@Query("track_name") trackName: String,
|
|
@Query("duration") durationSec: Int? = null
|
|
): LrcLibLyricsDto
|
|
|
|
@GET("api/search")
|
|
suspend fun search(
|
|
@Header("User-Agent") userAgent: String = "radiOLA Android (https://radiorecord.ru)",
|
|
@Query("artist_name") artistName: String,
|
|
@Query("track_name") trackName: String
|
|
): List<LrcLibLyricsDto>
|
|
}
|