diff --git a/app/src/main/java/com/gamedog/vididin/beans/YoutubeBeans.kt b/app/src/main/java/com/gamedog/vididin/beans/YoutubeBeans.kt index 9aeca07..e75096a 100644 --- a/app/src/main/java/com/gamedog/vididin/beans/YoutubeBeans.kt +++ b/app/src/main/java/com/gamedog/vididin/beans/YoutubeBeans.kt @@ -5,92 +5,20 @@ import com.ama.core.model.BaseFragmentStateDiffItem import kotlinx.serialization.Serializable -@Serializable -data class ResYoutubeChannel( - val id: String, - val name: String, -) - @Serializable data class ResYoutubePlayList ( - val kind: String, - val etag: String, // TODO - this is Etag type - val nextPageToken: String, - val prevPageToken: String, - val pageInfo: PageInfo, - val items: List, + val videos: List, ) -@Serializable -data class PageInfo( - val totalResults: Int, - val resultsPerPage: Int, -) + @Serializable data class YoutubeVideo( - val kind: String, - val etag: String, val id: String, - val snippet: Snippet, - val status: Status, - - val contentDetails: ContentDetails, - val player: Player, - val localizations: Localizations, + val channel_title: String, + val description: String, ) : BaseFragmentStateDiffItem { override fun getPrimaryKey() = id override fun getItemId() = id.hashCode().toLong() -} - - - -@Serializable -data class ContentDetails( - val itemCount: Int, -) -@Serializable -data class Player( - val embedHtml: String, -) - -@Serializable -data class Localizations( - val title: String, - val description: String, -) - - - -@Serializable -data class Snippet( - val publishedAt: String, - val channelId: String, - val title: String, - val description: String, - //val thumbnails: Thumbnail, - val channelTitle: String, - val defaultLanguage: String, - val localized: Localized, -) - -@Serializable -data class Localized( - val title: String, - val description: String, -) - -@Serializable -data class Thumbnail( - val standard: String, -) - -@Serializable -data class Status( - val privacyStatus: String, - val podcastStatus: Int, -) - - - +} \ No newline at end of file diff --git a/app/src/main/java/com/gamedog/vididin/beans/YoutubeBeans_old.kt b/app/src/main/java/com/gamedog/vididin/beans/YoutubeBeans_old.kt new file mode 100644 index 0000000..9ed26cf --- /dev/null +++ b/app/src/main/java/com/gamedog/vididin/beans/YoutubeBeans_old.kt @@ -0,0 +1,98 @@ +package com.gamedog.vididin.beans + + +import com.ama.core.model.BaseFragmentStateDiffItem +import kotlinx.serialization.Serializable + + +@Serializable +data class ResYoutubeChannel( + val id: String, + val name: String, +) + +/* + + + +@Serializable +data class ResYoutubePlayList ( + val kind: String, + val etag: String, // TODO - this is Etag type + val nextPageToken: String, + val prevPageToken: String, + val pageInfo: PageInfo, + val items: List, +) + +@Serializable +data class PageInfo( + val totalResults: Int, + val resultsPerPage: Int, +) +@Serializable +data class YoutubeVideo( + val kind: String, + val etag: String, + val id: String, + val snippet: Snippet, + val status: Status, + + val contentDetails: ContentDetails, + val player: Player, + val localizations: Localizations, +) : BaseFragmentStateDiffItem { + override fun getPrimaryKey() = id + override fun getItemId() = id.hashCode().toLong() +} + + + +@Serializable +data class ContentDetails( + val itemCount: Int, +) +@Serializable +data class Player( + val embedHtml: String, +) + +@Serializable +data class Localizations( + val title: String, + val description: String, +) + + + +@Serializable +data class Snippet( + val publishedAt: String, + val channelId: String, + val title: String, + val description: String, + //val thumbnails: Thumbnail, + val channelTitle: String, + val defaultLanguage: String, + val localized: Localized, +) + +@Serializable +data class Localized( + val title: String, + val description: String, +) + +@Serializable +data class Thumbnail( + val standard: String, +) + +@Serializable +data class Status( + val privacyStatus: String, + val podcastStatus: Int, +) + + +*/ diff --git a/app/src/main/java/com/gamedog/vididin/main/fragments/home/DefaultYoutubeRepository.kt b/app/src/main/java/com/gamedog/vididin/main/fragments/home/DefaultYoutubeRepository.kt index bf2fd90..60b8cff 100644 --- a/app/src/main/java/com/gamedog/vididin/main/fragments/home/DefaultYoutubeRepository.kt +++ b/app/src/main/java/com/gamedog/vididin/main/fragments/home/DefaultYoutubeRepository.kt @@ -20,7 +20,7 @@ class DefaultYoutubeRepository @Inject constructor( page: Int, size: Int ): ResYoutubePlayList { - return network.getVideoList(mRespPlayList?.nextPageToken) + return network.getVideoList(mRespPlayList?.videos?.last()?.id) } override suspend fun getChannelList( @@ -35,7 +35,7 @@ class DefaultYoutubeRepository @Inject constructor( pageSize: Int ): List? { mRespPlayList = getVideoList(key, pageSize) - return mRespPlayList?.items + return mRespPlayList?.videos } diff --git a/app/src/main/java/com/gamedog/vididin/main/fragments/home/fragment/HomeItemFragment.kt b/app/src/main/java/com/gamedog/vididin/main/fragments/home/fragment/HomeItemFragment.kt index 71e824a..cc4f00d 100644 --- a/app/src/main/java/com/gamedog/vididin/main/fragments/home/fragment/HomeItemFragment.kt +++ b/app/src/main/java/com/gamedog/vididin/main/fragments/home/fragment/HomeItemFragment.kt @@ -54,8 +54,8 @@ class HomeItemFragment : AppViewsEmptyViewModelFragment() { if (mIsPlaying) mPlayer?.pause() else mPlayer?.play() } - tvVideoFrom.text = mVideoData?.snippet?.localized?.title - tvVideoIntro.text = mVideoData?.snippet?.localized?.description + tvVideoFrom.text = mVideoData?.channel_title + tvVideoIntro.text = mVideoData?.description popMenu.setMenuList( mutableListOf(