diff --git a/app/src/main/java/com/woka/home/mylist/MyListRepository.kt b/app/src/main/java/com/woka/home/mylist/MyListRepository.kt index 48717af..532a830 100644 --- a/app/src/main/java/com/woka/home/mylist/MyListRepository.kt +++ b/app/src/main/java/com/woka/home/mylist/MyListRepository.kt @@ -1,6 +1,5 @@ package com.woka.home.mylist -import android.util.Log import androidx.lifecycle.LiveData import androidx.lifecycle.MutableLiveData import com.woka.home.mylist.models.AudioData @@ -12,7 +11,6 @@ import com.woka.home.mylist.models.SingKaraokeData import com.woka.networking.ApiResult import com.woka.networking.RetrofitHelper import com.woka.userdata.UserRepository -import com.woka.utils.TAG import com.woka.webseries.WebSeriesRepository import kotlinx.coroutines.CoroutineScope import kotlinx.coroutines.Dispatchers @@ -159,45 +157,23 @@ object MyListRepository { } } - if (categoryId == "1"){ - WebSeriesRepository.englishWebSeriesData?.show_data?.let { - for (show in it){ - var found = false + WebSeriesRepository.webSeriesData[categoryId]?.show_data?.let { + for (show in it){ + var found = false - show?.let {data -> - if (showData.id == data.id){ - found = true + show?.let {data -> + if (showData.id == data.id){ + found = true - if (addToFav){ - show.addAsBookMark(categoryId) - }else{ - show.removeAsBookMark(categoryId) - } + if (addToFav){ + show.addAsBookMark(categoryId) + }else{ + show.removeAsBookMark(categoryId) } } - - if (found) break } - } - }else{ - WebSeriesRepository.hindiWebSeriesData?.show_data?.let { - for (show in it){ - var found = false - show?.let {data -> - if (showData.id == data.id){ - found = true - - if (addToFav){ - show.addAsBookMark(categoryId) - }else{ - show.removeAsBookMark(categoryId) - } - } - } - - if (found) break - } + if (found) break } } } diff --git a/app/src/main/java/com/woka/home/mylist/adapters/WebSeriesAdapter.kt b/app/src/main/java/com/woka/home/mylist/adapters/WebSeriesAdapter.kt index a9d39ec..61ff746 100644 --- a/app/src/main/java/com/woka/home/mylist/adapters/WebSeriesAdapter.kt +++ b/app/src/main/java/com/woka/home/mylist/adapters/WebSeriesAdapter.kt @@ -13,6 +13,7 @@ import com.woka.home.mylist.MyListRepository import com.woka.home.mylist.models.PostType import com.woka.home.mylist.models.BookmarkedShowData import com.woka.utils.isNetworkConnected +import com.woka.utils.show import com.woka.utils.toast import java.util.concurrent.Executors import kotlin.math.max @@ -63,6 +64,9 @@ class WebSeriesAdapter(private val context: Context, title.text = showData.title + likeCount.show() + like.show() + showData.likes_count?.let { likeCount.text = "$it" } @@ -101,6 +105,7 @@ class WebSeriesAdapter(private val context: Context, like.isSelected = !like.isSelected } + fav.show() fav.isSelected = true fav.setOnClickListener { diff --git a/app/src/main/java/com/woka/webseries/WebSeriesRepository.kt b/app/src/main/java/com/woka/webseries/WebSeriesRepository.kt index c19337b..a483973 100644 --- a/app/src/main/java/com/woka/webseries/WebSeriesRepository.kt +++ b/app/src/main/java/com/woka/webseries/WebSeriesRepository.kt @@ -5,12 +5,10 @@ import androidx.lifecycle.MutableLiveData import com.woka.home.mylist.MyFavApiService import com.woka.home.mylist.MyListRepository import com.woka.home.mylist.models.BookmarkedShowData -import com.woka.home.mylist.models.MyListResponse import com.woka.home.mylist.models.PostType import com.woka.modules.ModuleApiService import com.woka.networking.ApiResult import com.woka.networking.RetrofitHelper -import com.woka.userdata.UserRepository import com.woka.webseries.models.ContinueEpisodeResponse import com.woka.webseries.models.ShowData import com.woka.webseries.models.WebSeriesResponse @@ -29,17 +27,11 @@ object WebSeriesRepository { // live data // show data (loose caching) - private val _englishWebSeriesLiveData = MutableLiveData>() - val englishWebSeriesLiveData: LiveData> - get() = _englishWebSeriesLiveData + private val _webSeriesLiveData = MutableLiveData>>() + val webSeriesLiveData: LiveData>> + get() = _webSeriesLiveData - var englishWebSeriesData: WebSeriesResponse? = null - - private val _hindiWebSeriesLiveData = MutableLiveData>() - val hindiWebSeriesLiveData: LiveData> - get() = _hindiWebSeriesLiveData - - var hindiWebSeriesData: WebSeriesResponse? = null + var webSeriesData = HashMap() // continue watching (tight caching) private val _continueWatchLiveData = MutableLiveData>() @@ -93,62 +85,39 @@ object WebSeriesRepository { } } - fun clearData(){ - _englishWebSeriesLiveData.postValue(ApiResult.Loading()) - _hindiWebSeriesLiveData.postValue(ApiResult.Loading()) - - hindiWebSeriesData = null - englishWebSeriesData = null - - shallLoadNewContinueWatchData = true - continueWatchData = null - } - - fun loadEnglishWebSeries(){ - CoroutineScope(Dispatchers.IO).launch { - _englishWebSeriesLiveData.postValue(ApiResult.Loading()) - - val response = RetrofitHelper.handleApiCall { - apiService.getWebSeries( - FormBody.Builder() - .add("category_id", "1") - .build() - ) + fun loadWebSeries(categoryId: String){ + if (webSeriesData.containsKey(categoryId)){ + webSeriesData[categoryId]?.let { + _webSeriesLiveData.postValue(ApiResult.Success(webSeriesData)) + return } - - when (response){ - is ApiResult.Error -> {} - is ApiResult.Loading -> {} - is ApiResult.Success -> { - englishWebSeriesData = response.data - } - } - - _englishWebSeriesLiveData.postValue(response) } - } - fun loadHindiWebSeries(){ CoroutineScope(Dispatchers.IO).launch { - _hindiWebSeriesLiveData.postValue(ApiResult.Loading()) + _webSeriesLiveData.postValue(ApiResult.Loading()) val response = RetrofitHelper.handleApiCall { apiService.getWebSeries( FormBody.Builder() - .add("category_id", "18") + .add("category_id", categoryId) .build() ) } when (response){ - is ApiResult.Error -> {} - is ApiResult.Loading -> {} + is ApiResult.Error -> { + _webSeriesLiveData.postValue(ApiResult.Error(response.errorMessage, response.error)) + } + is ApiResult.Loading -> { + _webSeriesLiveData.postValue(ApiResult.Loading()) + } is ApiResult.Success -> { - hindiWebSeriesData = response.data + response.data?.let { + webSeriesData[categoryId] = it + _webSeriesLiveData.postValue(ApiResult.Success(data = webSeriesData)) + } } } - - _hindiWebSeriesLiveData.postValue(response) } } @@ -176,37 +145,16 @@ object WebSeriesRepository { is ApiResult.Error -> {} is ApiResult.Loading -> {} is ApiResult.Success -> { - changeLikeLocally(postId, likeIt, categoryId) + changeLikeLocally(postId, likeIt) } } } } - private fun changeLikeLocally(id: String, isLiked: Boolean, categoryId: String){ - - if (categoryId == "1"){ - englishWebSeriesData?.show_data?.let{ - for (show in it){ - var found = false - show?.let {data -> - if ("${data.id}" == id){ - - data.is_liked = isLiked - - data.likes_count?.let { count -> - data.likes_count = if (isLiked) count + 1 - else max(0, count - 1) - } - - found = true - } - } - if (found) break - } - } - }else{ - hindiWebSeriesData?.show_data?.let{ - for (show in it){ + private fun changeLikeLocally(id: String, isLiked: Boolean){ + for (showDataResponse in webSeriesData.values){ + showDataResponse.show_data?.let {shows -> + for (show in shows){ var found = false show?.let {data -> if ("${data.id}" == id){ @@ -234,4 +182,12 @@ object WebSeriesRepository { categoryId ) } + + fun clearData(){ + _webSeriesLiveData.postValue(ApiResult.Loading()) + webSeriesData.clear() + + shallLoadNewContinueWatchData = true + continueWatchData = null + } } \ No newline at end of file diff --git a/app/src/main/java/com/woka/webseries/adapters/SpinnerAdapter.kt b/app/src/main/java/com/woka/webseries/adapters/SpinnerAdapter.kt index 871e078..b5ad060 100644 --- a/app/src/main/java/com/woka/webseries/adapters/SpinnerAdapter.kt +++ b/app/src/main/java/com/woka/webseries/adapters/SpinnerAdapter.kt @@ -8,12 +8,19 @@ import android.widget.ArrayAdapter import android.widget.ImageView import android.widget.TextView import com.woka.R +import com.woka.modules.categorymodels.Category import com.woka.utils.hide import com.woka.utils.show -class SpinnerAdapter(context: Context, list: List): ArrayAdapter(context, 0, list){ +class SpinnerAdapter(context: Context, private val list: List, ): ArrayAdapter(context, 0, list){ - private var currentSelection: Int = 0 + var currentSelection: Int = 0 + + var selectedCategoryType: String? = null + get() { + return "${list[currentSelection].id}" + } + private set override fun getView(position: Int, convertView: View?, parent: ViewGroup): View { return createViewFromResource(convertView, parent, position) @@ -23,7 +30,7 @@ class SpinnerAdapter(context: Context, list: List): ArrayAdapter val view = convertView ?: LayoutInflater.from(context).inflate(R.layout.spinner_view_holder, parent, false) val textView = view.findViewById(R.id.spinner_text_view) val tickView = view.findViewById(R.id.spinner_tick) - textView.text = getItem(position) + textView.text = getItem(position).category_name if (currentSelection == position){ tickView.show() @@ -37,10 +44,14 @@ class SpinnerAdapter(context: Context, list: List): ArrayAdapter private fun createViewFromResource(convertView: View?, parent: ViewGroup, position: Int): View { val view = convertView ?: LayoutInflater.from(context).inflate(R.layout.spinner_view_holder, parent, false) val textView = view.findViewById(R.id.spinner_text_view) - textView.text = getItem(position) + textView.text = getItem(position).category_name return view } + override fun getItem(position: Int): Category { + return list[position] + } + fun selectPosition(position: Int){ this.currentSelection = position } diff --git a/app/src/main/java/com/woka/webseries/adapters/WebSeriesShowAdapter.kt b/app/src/main/java/com/woka/webseries/adapters/WebSeriesShowAdapter.kt index 5e56fa9..d606f6a 100644 --- a/app/src/main/java/com/woka/webseries/adapters/WebSeriesShowAdapter.kt +++ b/app/src/main/java/com/woka/webseries/adapters/WebSeriesShowAdapter.kt @@ -1,45 +1,40 @@ package com.woka.webseries.adapters +import android.annotation.SuppressLint import android.content.Context -import android.util.Log +import android.content.Intent import android.view.LayoutInflater import android.view.ViewGroup -import androidx.recyclerview.widget.AsyncDifferConfig -import androidx.recyclerview.widget.DiffUtil -import androidx.recyclerview.widget.ListAdapter +import androidx.recyclerview.widget.RecyclerView import androidx.recyclerview.widget.RecyclerView.ViewHolder import com.bumptech.glide.Glide import com.bumptech.glide.load.engine.DiskCacheStrategy import com.woka.R import com.woka.databinding.ShowViewHolderBinding -import com.woka.utils.TAG import com.woka.utils.isNetworkConnected +import com.woka.utils.show import com.woka.utils.toast import com.woka.webseries.WebSeriesRepository import com.woka.webseries.models.ShowData -import java.util.concurrent.Executors +import com.woka.webseries.views.SeasonActivity +import com.woka.webseries.views.SeasonActivity.Companion.EXTRA_SHOW_CATEGORY_DATA +import com.woka.webseries.views.SeasonActivity.Companion.EXTRA_SHOW_ID import kotlin.math.max -class WebSeriesShowAdapter private constructor(private val context: Context, - private var categoryId: String, - config: AsyncDifferConfig): ListAdapter(config) { - companion object{ - - private val DIFF_UTIL = object : DiffUtil.ItemCallback(){ - override fun areItemsTheSame(oldItem: ShowData, newItem: ShowData): Boolean = oldItem.id == newItem.id - override fun areContentsTheSame(oldItem: ShowData, newItem: ShowData): Boolean { - return true - } - } - - private val DIFF_CONFIG = AsyncDifferConfig.Builder(DIFF_UTIL) - .setBackgroundThreadExecutor(Executors.newSingleThreadExecutor()) - .build() - } +class WebSeriesShowAdapter(private val context: Context): RecyclerView.Adapter() { inner class ShowViewHolder(val binding: ShowViewHolderBinding): ViewHolder(binding.root) - constructor(context: Context, categoryId: String): this(context, categoryId, DIFF_CONFIG) + private var categoryId: String? = null + + private var showList: List = ArrayList() + + @SuppressLint("NotifyDataSetChanged") + fun submitListShowList(it: List, categoryId: String?) { + this.showList = it + this.categoryId = categoryId + notifyDataSetChanged() + } override fun onCreateViewHolder(parent: ViewGroup, viewType: Int): ShowViewHolder { return ShowViewHolder( @@ -51,8 +46,10 @@ class WebSeriesShowAdapter private constructor(private val context: Context, ) } - override fun onBindViewHolder(holder: ShowViewHolder, pos: Int) { - val showData = getItem(holder.absoluteAdapterPosition) + override fun getItemCount(): Int = showList.size + + override fun onBindViewHolder(holder: ShowViewHolder, position: Int) { + val showData = showList[holder.absoluteAdapterPosition] holder.binding.apply { showData.thumbnail_path?.let { @@ -65,6 +62,10 @@ class WebSeriesShowAdapter private constructor(private val context: Context, title.text = showData.title + like.show() + likeCount.show() + fav.show() + showData.likes_count?.let { likeCount.text = "$it" } @@ -79,25 +80,27 @@ class WebSeriesShowAdapter private constructor(private val context: Context, return@setOnClickListener } - if (like.isSelected){ - WebSeriesRepository.likeUnLikeShow("${showData.id}", false, categoryId) + categoryId?.let { + if (like.isSelected){ + WebSeriesRepository.likeUnLikeShow("${showData.id}", false, it) - showData.likes_count?.let { - likeCount.text = "${max(it - 1, 0)}" - } - }else{ - WebSeriesRepository.likeUnLikeShow("${showData.id}", true, categoryId) + showData.likes_count?.let { + likeCount.text = "${max(it - 1, 0)}" + } + }else{ + WebSeriesRepository.likeUnLikeShow("${showData.id}", true, it) - showData.likes_count?.let { - val value = it + 1 - likeCount.text = "$value" + showData.likes_count?.let { + val value = it + 1 + likeCount.text = "$value" + } } + + like.isSelected = !like.isSelected } - - like.isSelected = !like.isSelected } - fav.isSelected = showData.isBookMarked(categoryId) + categoryId?.let { fav.isSelected = showData.isBookMarked(it) } fav.setOnClickListener { if (!context.isNetworkConnected()){ @@ -105,13 +108,22 @@ class WebSeriesShowAdapter private constructor(private val context: Context, return@setOnClickListener } - WebSeriesRepository.updateFavShow( - showData, - !fav.isSelected, - categoryId - ) + categoryId?.let { + WebSeriesRepository.updateFavShow( + showData, + !fav.isSelected, + it + ) - fav.isSelected = !fav.isSelected + fav.isSelected = !fav.isSelected + } + } + + root.setOnClickListener { + context.startActivity(Intent(context, SeasonActivity::class.java).apply { + putExtra(EXTRA_SHOW_ID, showData.id) + putExtra(EXTRA_SHOW_CATEGORY_DATA, categoryId) + }) } } } diff --git a/app/src/main/java/com/woka/webseries/models/SeasonMoreDetail.kt b/app/src/main/java/com/woka/webseries/models/SeasonMoreDetail.kt index 2386946..ab85e7a 100644 --- a/app/src/main/java/com/woka/webseries/models/SeasonMoreDetail.kt +++ b/app/src/main/java/com/woka/webseries/models/SeasonMoreDetail.kt @@ -1,5 +1,7 @@ package com.woka.webseries.models +import java.io.Serializable + data class SeasonMoreDetail( val content_id: Int?, val description: String?, @@ -10,4 +12,4 @@ data class SeasonMoreDetail( val title: String?, val trailer_hd_url: String?, val trailer_sd_url: String? -) \ No newline at end of file +): Serializable \ No newline at end of file diff --git a/app/src/main/java/com/woka/webseries/viewmodel/WebSeriesViewModel.kt b/app/src/main/java/com/woka/webseries/viewmodel/WebSeriesViewModel.kt index 7b5d9a4..4bb00e5 100644 --- a/app/src/main/java/com/woka/webseries/viewmodel/WebSeriesViewModel.kt +++ b/app/src/main/java/com/woka/webseries/viewmodel/WebSeriesViewModel.kt @@ -9,11 +9,8 @@ import com.woka.webseries.models.WebSeriesResponse class WebSeriesViewModel: ViewModel() { - val englishWebSeriesData: LiveData> - get() = WebSeriesRepository.englishWebSeriesLiveData - - val hindiWebSeriesData: LiveData> - get() = WebSeriesRepository.hindiWebSeriesLiveData + val webSeriesLiveData: LiveData>> + get() = WebSeriesRepository.webSeriesLiveData val continueWatchLiveData: LiveData> get() = WebSeriesRepository.continueWatchLiveData diff --git a/app/src/main/java/com/woka/webseries/views/SeasonActivity.kt b/app/src/main/java/com/woka/webseries/views/SeasonActivity.kt index 65d8298..6b79898 100644 --- a/app/src/main/java/com/woka/webseries/views/SeasonActivity.kt +++ b/app/src/main/java/com/woka/webseries/views/SeasonActivity.kt @@ -1,16 +1,30 @@ package com.woka.webseries.views +import android.graphics.Color import android.os.Bundle import androidx.activity.enableEdgeToEdge import androidx.appcompat.app.AppCompatActivity import androidx.core.view.ViewCompat import androidx.core.view.WindowInsetsCompat +import com.bumptech.glide.Glide import com.woka.R import com.woka.databinding.ActivitySeasonBinding +import com.woka.utils.lightStatusBar +import com.woka.webseries.WebSeriesRepository +import com.woka.webseries.models.ShowData class SeasonActivity : AppCompatActivity() { + companion object{ + const val EXTRA_SHOW_ID = "extra_show_id_data" + const val EXTRA_SHOW_CATEGORY_DATA = "extra_show_category_data" + } + private lateinit var binding: ActivitySeasonBinding + private var showId: Int = -1 + private var categoryId: String? = null + + private var showData: ShowData? = null override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) @@ -22,5 +36,49 @@ class SeasonActivity : AppCompatActivity() { v.setPadding(systemBars.left, systemBars.top, systemBars.right, systemBars.bottom) insets } + + with(window){ + statusBarColor = Color.parseColor("#D3EFF8") + lightStatusBar(true) + } + + showId = intent.getIntExtra(EXTRA_SHOW_ID, -1) + categoryId = intent.getStringExtra(EXTRA_SHOW_CATEGORY_DATA) + + if (showId == -1 || categoryId == null){ + finish() + return + } + + WebSeriesRepository.webSeriesData[categoryId]?.show_data?.let { + for (show in it){ + if (showId == show?.id){ + showData = show + break + } + } + } + + initViews() + + } + + private fun initViews() { + if (showData != null && categoryId != null) { + binding.apply { + showData!!.thumbnail_path?.let { + Glide.with(applicationContext) + .load(it) + .into(image) + } + + likeCount.text = "${showData!!.likes_count}" + + favSeason.isSelected = showData!!.isBookMarked(categoryId!!) + + likeSeason.isSelected = showData!!.is_liked?:false + + } + } } } \ No newline at end of file diff --git a/app/src/main/java/com/woka/webseries/views/WebSeriesActivity.kt b/app/src/main/java/com/woka/webseries/views/WebSeriesActivity.kt index 7619a26..803915e 100644 --- a/app/src/main/java/com/woka/webseries/views/WebSeriesActivity.kt +++ b/app/src/main/java/com/woka/webseries/views/WebSeriesActivity.kt @@ -8,6 +8,7 @@ import android.widget.ArrayAdapter import androidx.activity.enableEdgeToEdge import androidx.core.view.ViewCompat import androidx.core.view.WindowInsetsCompat +import androidx.lifecycle.LiveData import androidx.lifecycle.Observer import androidx.lifecycle.ViewModelProvider import androidx.recyclerview.widget.SimpleItemAnimator @@ -26,14 +27,13 @@ import com.woka.webseries.adapters.WebSeriesShowAdapter import com.woka.webseries.models.WebSeriesResponse import com.woka.webseries.viewmodel.WebSeriesViewModel -class WebSeriesActivity : WokaBaseActivity(), Observer>{ +class WebSeriesActivity : WokaBaseActivity(), Observer>>{ private lateinit var binding: ActivityWebSeriesBinding private lateinit var viewmodel: WebSeriesViewModel - private lateinit var engShowAdapter: WebSeriesShowAdapter - private lateinit var hinShowAdapter: WebSeriesShowAdapter + private lateinit var showAdapter: WebSeriesShowAdapter private lateinit var continueWatchAdapter: ContinueEpisodeAdapter @@ -88,8 +88,7 @@ class WebSeriesActivity : WokaBaseActivity(), Observer { @@ -127,20 +124,6 @@ class WebSeriesActivity : WokaBaseActivity(), Observer?, - view: View?, - position: Int, - id: Long - ) { - catSpinnerAdapter?.selectPosition(position) - loadShowData() - } - - override fun onNothingSelected(parent: AdapterView<*>?) {} - } - ModuleRepository.showCategoryLiveData.observe(this){ when(it){ is ApiResult.Error -> { @@ -149,64 +132,67 @@ class WebSeriesActivity : WokaBaseActivity(), Observer {} is ApiResult.Success -> { - - val categories = mutableListOf() it.data?.result?.let {catList -> - for (cat in catList){ - cat?.category_name?.let { category -> - categories.add(category) - } + binding.shimmer.hide() + + binding.trailerView.show() + + adjustMasilaImage() + + binding.spinnerCard.show() + binding.selectLangTxt.show() + + WebSeriesRepository.continueWatchData?.let { + binding.continueWatchTxt.show() + binding.rvContinueWatch.show() + }?:{ + binding.continueWatchTxt.hide() + binding.rvContinueWatch.hide() } + + catSpinnerAdapter = SpinnerAdapter(this, catList.filterNotNull()) + binding.categorySpinner.setAdapter(catSpinnerAdapter) + + loadShowData() } - - catSpinnerAdapter = SpinnerAdapter(this, categories) - - loadShowData() - - binding.categorySpinner.setAdapter(catSpinnerAdapter) } } } + + binding.categorySpinner.onItemSelectedListener = object : OnItemSelectedListener{ + override fun onItemSelected( + parent: AdapterView<*>?, + view: View?, + position: Int, + id: Long + ) { + if (position != catSpinnerAdapter?.currentSelection){ + catSpinnerAdapter?.selectPosition(position) + loadShowData() + } + } + + override fun onNothingSelected(parent: AdapterView<*>?) {} + } } - override fun onChanged(value: ApiResult) { + override fun onChanged(value: ApiResult>) { when (value){ is ApiResult.Error -> { - binding.shimmer.hide() - binding.errorView.show() + binding.shimmerShowData.hide() + binding.rvWebSeries.hide() + } + is ApiResult.Loading -> { + binding.shimmerShowData.show() + binding.rvWebSeries.hide() } - is ApiResult.Loading -> {} is ApiResult.Success -> { - value.data?.show_data?.let { - binding.trailerView.show() + catSpinnerAdapter?.selectedCategoryType?.let { categoryType -> + value.data?.get(categoryType)?.show_data?.let {showList -> + binding.shimmerShowData.hide() - adjustMasilaImage() - - binding.shimmer.hide() - - binding.spinnerCard.show() - binding.selectLangTxt.show() - - WebSeriesRepository.continueWatchData?.let { - binding.continueWatchTxt.show() - binding.rvContinueWatch.show() - }?:{ - binding.continueWatchTxt.hide() - binding.rvContinueWatch.hide() - } - - if (binding.categorySpinner.selectedItemPosition <= 0){ - // hindi - binding.rvHindiWebSeries.show() - binding.rvEngWebSeries.hide() - - hinShowAdapter.submitList(it) - }else{ - // English - binding.rvHindiWebSeries.hide() - binding.rvEngWebSeries.show() - - engShowAdapter.submitList(it) + showAdapter.submitListShowList(showList.filterNotNull(), categoryType) + binding.rvWebSeries.show() } } } @@ -214,10 +200,8 @@ class WebSeriesActivity : WokaBaseActivity(), Observer - - - + + + + diff --git a/app/src/main/res/drawable/ic_heart_select.xml b/app/src/main/res/drawable/ic_heart_select.xml index 458f983..59a572d 100644 --- a/app/src/main/res/drawable/ic_heart_select.xml +++ b/app/src/main/res/drawable/ic_heart_select.xml @@ -1,11 +1,8 @@ - + - + \ No newline at end of file diff --git a/app/src/main/res/drawable/ic_like_filled.xml b/app/src/main/res/drawable/ic_like_filled.xml index c2d496e..6421185 100644 --- a/app/src/main/res/drawable/ic_like_filled.xml +++ b/app/src/main/res/drawable/ic_like_filled.xml @@ -1,7 +1,16 @@ - - - - - - + + + + + + diff --git a/app/src/main/res/drawable/ic_like_not_filled.xml b/app/src/main/res/drawable/ic_like_not_filled.xml index 64066ec..4c94f0f 100644 --- a/app/src/main/res/drawable/ic_like_not_filled.xml +++ b/app/src/main/res/drawable/ic_like_not_filled.xml @@ -1,6 +1,6 @@ + + diff --git a/app/src/main/res/drawable/ic_share.xml b/app/src/main/res/drawable/ic_share.xml new file mode 100644 index 0000000..e155153 --- /dev/null +++ b/app/src/main/res/drawable/ic_share.xml @@ -0,0 +1,5 @@ + + + + + diff --git a/app/src/main/res/layout/activity_season.xml b/app/src/main/res/layout/activity_season.xml index b27ef24..bc39c6c 100644 --- a/app/src/main/res/layout/activity_season.xml +++ b/app/src/main/res/layout/activity_season.xml @@ -1,10 +1,388 @@ - - \ No newline at end of file + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +