diff --git a/.idea/misc.xml b/.idea/misc.xml
index 8978d23..b65eb9a 100644
--- a/.idea/misc.xml
+++ b/.idea/misc.xml
@@ -1,3 +1,4 @@
+
@@ -6,4 +7,11 @@
+
+
+
\ No newline at end of file
diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml
index 03d66d1..cc26b38 100644
--- a/app/src/main/AndroidManifest.xml
+++ b/app/src/main/AndroidManifest.xml
@@ -15,6 +15,10 @@
android:supportsRtl="true"
android:theme="@style/Theme.Woka"
tools:targetApi="31">
+
if (showData.isNotEmpty()){
- val engList = mutableListOf()
- val hinList = mutableListOf()
+ val engList = mutableListOf()
+ val hinList = mutableListOf()
for (show in showData){
val ids = show.bookmark_category_ids?.split(",")
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 94451e5..764c777 100644
--- a/app/src/main/java/com/woka/home/mylist/MyListRepository.kt
+++ b/app/src/main/java/com/woka/home/mylist/MyListRepository.kt
@@ -1,18 +1,16 @@
package com.woka.home.mylist
-import android.util.Log
import androidx.lifecycle.LiveData
import androidx.lifecycle.MutableLiveData
import com.woka.home.mylist.models.AudioData
import com.woka.home.mylist.models.GameData
import com.woka.home.mylist.models.MyListResponse
import com.woka.home.mylist.models.PostType
-import com.woka.home.mylist.models.ShowData
+import com.woka.home.mylist.models.BookmarkedShowData
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 kotlinx.coroutines.CoroutineScope
import kotlinx.coroutines.Dispatchers
import kotlinx.coroutines.launch
@@ -75,14 +73,13 @@ object MyListRepository {
}
}
- fun unLikePost(postId: String, postType: PostType, categoryId: String = "0") {
+ fun unLikePost(postId: String, postType: PostType) {
CoroutineScope(Dispatchers.IO).launch {
val response = RetrofitHelper.handleApiCall {
myFavApiService.unLikePost(
FormBody.Builder()
.add("post_id", postId)
.add("post_type", postType.value)
- .add("category", categoryId)
.build()
)
}
@@ -97,7 +94,7 @@ object MyListRepository {
}
}
- fun markAsFavShowLocally(showData: ShowData, addToFav: Boolean){
+ fun markAsFavShowLocally(showData: BookmarkedShowData, addToFav: Boolean){
CoroutineScope(Dispatchers.IO).launch {
val response = RetrofitHelper.handleApiCall {
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 7af228a..caa3d89 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
@@ -11,7 +11,7 @@ import com.woka.R
import com.woka.databinding.FavViewHolderBinding
import com.woka.home.mylist.MyListRepository
import com.woka.home.mylist.models.PostType
-import com.woka.home.mylist.models.ShowData
+import com.woka.home.mylist.models.BookmarkedShowData
import com.woka.utils.isNetworkConnected
import com.woka.utils.toast
import java.util.concurrent.Executors
@@ -20,12 +20,12 @@ import kotlin.math.max
class WebSeriesAdapter(private val context: Context,
private val categoryId: String,
private val onListEmptyListener: ((postType: PostType, isEng: Boolean) -> Unit),
- config: AsyncDifferConfig): ListAdapter(config) {
+ 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 {
+ private val DIFF_UTIL = object : DiffUtil.ItemCallback(){
+ override fun areItemsTheSame(oldItem: BookmarkedShowData, newItem: BookmarkedShowData): Boolean = oldItem.id == newItem.id
+ override fun areContentsTheSame(oldItem: BookmarkedShowData, newItem: BookmarkedShowData): Boolean {
return oldItem.title == newItem.title &&
oldItem.is_liked == newItem.is_liked &&
oldItem.likes_count == newItem.likes_count
@@ -80,8 +80,7 @@ class WebSeriesAdapter(private val context: Context,
if (like.isSelected){
MyListRepository.unLikePost(
"${showData.id}",
- PostType.WEB_SERIES,
- categoryId
+ PostType.WEB_SERIES
)
showData.likes_count?.let {
@@ -90,8 +89,7 @@ class WebSeriesAdapter(private val context: Context,
}else{
MyListRepository.likePost(
"${showData.id}",
- PostType.WEB_SERIES,
- categoryId
+ PostType.WEB_SERIES
)
showData.likes_count?.let {
diff --git a/app/src/main/java/com/woka/home/mylist/models/ShowData.kt b/app/src/main/java/com/woka/home/mylist/models/BookmarkedShowData.kt
similarity index 94%
rename from app/src/main/java/com/woka/home/mylist/models/ShowData.kt
rename to app/src/main/java/com/woka/home/mylist/models/BookmarkedShowData.kt
index 75896c4..fbd55e2 100644
--- a/app/src/main/java/com/woka/home/mylist/models/ShowData.kt
+++ b/app/src/main/java/com/woka/home/mylist/models/BookmarkedShowData.kt
@@ -1,6 +1,6 @@
package com.woka.home.mylist.models
-data class ShowData(
+data class BookmarkedShowData(
val age_range_master_id: String?,
val bookmark_category_ids: String?,
val bookmark_count: Int?,
diff --git a/app/src/main/java/com/woka/home/mylist/models/Result.kt b/app/src/main/java/com/woka/home/mylist/models/Result.kt
index 533dc12..493d0a3 100644
--- a/app/src/main/java/com/woka/home/mylist/models/Result.kt
+++ b/app/src/main/java/com/woka/home/mylist/models/Result.kt
@@ -3,7 +3,7 @@ package com.woka.home.mylist.models
data class Result(
val audio_data: MutableList?,
val game_data: MutableList?,
- val show_data: MutableList?,
+ val show_data: MutableList?,
val sing_karaoke_data: MutableList?,
val video_data: MutableList?
)
\ No newline at end of file
diff --git a/app/src/main/java/com/woka/webseries/WebSeriesApiService.kt b/app/src/main/java/com/woka/webseries/WebSeriesApiService.kt
new file mode 100644
index 0000000..5855975
--- /dev/null
+++ b/app/src/main/java/com/woka/webseries/WebSeriesApiService.kt
@@ -0,0 +1,12 @@
+package com.woka.webseries
+
+import com.woka.networking.ApiResponse
+import com.woka.webseries.models.WebSeriesResponse
+import retrofit2.Response
+import retrofit2.http.POST
+
+interface WebSeriesApiService {
+
+ @POST("watch_show_listing")
+ suspend fun getWebSeries(): Response>
+}
\ No newline at end of file
diff --git a/app/src/main/java/com/woka/webseries/WebSeriesRepository.kt b/app/src/main/java/com/woka/webseries/WebSeriesRepository.kt
new file mode 100644
index 0000000..d3ff49a
--- /dev/null
+++ b/app/src/main/java/com/woka/webseries/WebSeriesRepository.kt
@@ -0,0 +1,104 @@
+package com.woka.webseries
+
+import androidx.lifecycle.LiveData
+import androidx.lifecycle.MutableLiveData
+import com.woka.home.mylist.MyFavApiService
+import com.woka.home.mylist.models.PostType
+import com.woka.networking.ApiResult
+import com.woka.networking.RetrofitHelper
+import com.woka.webseries.models.WebSeriesResponse
+import kotlinx.coroutines.CoroutineScope
+import kotlinx.coroutines.Dispatchers
+import kotlinx.coroutines.launch
+import okhttp3.FormBody
+import kotlin.math.max
+
+object WebSeriesRepository {
+ private val apiService = RetrofitHelper.getRetrofit().create(WebSeriesApiService::class.java)
+ private val myFavApiService = RetrofitHelper.getRetrofit().create(MyFavApiService::class.java)
+
+ private val _webSeriesLiveData = MutableLiveData>()
+ val webSeriesLiveData: LiveData>
+ get() = _webSeriesLiveData
+
+ private var webSeriesData: WebSeriesResponse? = null
+
+ init {
+ loadWebSeries()
+ }
+
+ private fun loadWebSeries(){
+ CoroutineScope(Dispatchers.IO).launch {
+ if (webSeriesData != null){
+ _webSeriesLiveData.postValue(ApiResult.Success(webSeriesData))
+ }else{
+ _webSeriesLiveData.postValue(ApiResult.Loading())
+ }
+
+ val response = RetrofitHelper.handleApiCall {
+ apiService.getWebSeries()
+ }
+
+ when (response){
+ is ApiResult.Error -> {}
+ is ApiResult.Loading -> {}
+ is ApiResult.Success -> {
+ webSeriesData = response.data
+ }
+ }
+
+ _webSeriesLiveData.postValue(response)
+ }
+ }
+
+ fun likeUnLikeShow(postId: String, likeIt: Boolean){
+ CoroutineScope(Dispatchers.IO).launch {
+ val response = RetrofitHelper.handleApiCall {
+ if (likeIt){
+ myFavApiService.likePost(
+ FormBody.Builder()
+ .add("post_id", postId)
+ .add("post_type", PostType.WEB_SERIES.value)
+ .build()
+ )
+ }else{
+ myFavApiService.unLikePost(
+ FormBody.Builder()
+ .add("post_id", postId)
+ .add("post_type", PostType.WEB_SERIES.value)
+ .build()
+ )
+ }
+ }
+
+ when (response){
+ is ApiResult.Error -> {}
+ is ApiResult.Loading -> {}
+ is ApiResult.Success -> {
+ changeLikeLocally(postId, likeIt)
+ }
+ }
+ }
+ }
+
+ private fun changeLikeLocally(id: String, isLiked: Boolean){
+
+ webSeriesData?.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
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/app/src/main/java/com/woka/webseries/adapters/WebSeriesShowAdapter.kt b/app/src/main/java/com/woka/webseries/adapters/WebSeriesShowAdapter.kt
new file mode 100644
index 0000000..7982dab
--- /dev/null
+++ b/app/src/main/java/com/woka/webseries/adapters/WebSeriesShowAdapter.kt
@@ -0,0 +1,109 @@
+package com.woka.webseries.adapters
+
+import android.content.Context
+import android.util.Log
+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.ViewHolder
+import com.bumptech.glide.Glide
+import com.woka.R
+import com.woka.databinding.ShowViewHolderBinding
+import com.woka.utils.TAG
+import com.woka.utils.isNetworkConnected
+import com.woka.utils.toast
+import com.woka.webseries.WebSeriesRepository
+import com.woka.webseries.models.ShowData
+import java.util.concurrent.Executors
+import kotlin.math.max
+
+class WebSeriesShowAdapter(private val context: Context,
+ 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 {
+ val value = oldItem.title == newItem.title &&
+ oldItem.is_liked == newItem.is_liked &&
+ oldItem.likes_count == newItem.likes_count
+ Log.d(TAG, "areContentsTheSame: $value")
+ return value
+ }
+ }
+
+ private val DIFF_CONFIG = AsyncDifferConfig.Builder(DIFF_UTIL)
+ .setBackgroundThreadExecutor(Executors.newSingleThreadExecutor())
+ .build()
+ }
+
+ inner class ShowViewHolder(val binding: ShowViewHolderBinding): ViewHolder(binding.root)
+
+ constructor(context: Context): this(context, DIFF_CONFIG)
+
+ override fun onCreateViewHolder(parent: ViewGroup, viewType: Int): ShowViewHolder {
+ return ShowViewHolder(
+ ShowViewHolderBinding.inflate(
+ LayoutInflater.from(parent.context),
+ parent,
+ false
+ )
+ )
+ }
+
+ override fun onBindViewHolder(holder: ShowViewHolder, pos: Int) {
+ val showData = getItem(holder.absoluteAdapterPosition)
+
+ holder.binding.apply {
+ showData.thumbnail_path?.let {
+ Glide.with(root.context)
+ .load(it)
+ .into(image)
+ }
+
+ title.text = showData.title
+
+ showData.likes_count?.let {
+ likeCount.text = "$it"
+ }
+
+ showData.is_liked?.let {
+ like.isSelected = it
+ }
+
+ like.setOnClickListener {
+ if (!context.isNetworkConnected()){
+ context.toast(context.getString(R.string.no_internet))
+ return@setOnClickListener
+ }
+
+ if (like.isSelected){
+ WebSeriesRepository.likeUnLikeShow("${showData.id}", false)
+
+ showData.likes_count?.let {
+ likeCount.text = "${max(it - 1, 0)}"
+ }
+ }else{
+ WebSeriesRepository.likeUnLikeShow("${showData.id}", true)
+
+ showData.likes_count?.let {
+ val value = it + 1
+ likeCount.text = "$value"
+ }
+ }
+
+ like.isSelected = !like.isSelected
+ }
+
+ fav.isSelected = showData.mark_as_favourite == true
+
+ fav.setOnClickListener {
+ if (!context.isNetworkConnected()){
+ context.toast(context.getString(R.string.no_internet))
+ return@setOnClickListener
+ }
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/app/src/main/java/com/woka/webseries/models/AgeRangeData.kt b/app/src/main/java/com/woka/webseries/models/AgeRangeData.kt
new file mode 100644
index 0000000..6f657c5
--- /dev/null
+++ b/app/src/main/java/com/woka/webseries/models/AgeRangeData.kt
@@ -0,0 +1,6 @@
+package com.woka.webseries.models
+
+data class AgeRangeData(
+ val age_range: String?,
+ val id: Int?
+)
\ No newline at end of file
diff --git a/app/src/main/java/com/woka/webseries/models/CategoryData.kt b/app/src/main/java/com/woka/webseries/models/CategoryData.kt
new file mode 100644
index 0000000..f60531f
--- /dev/null
+++ b/app/src/main/java/com/woka/webseries/models/CategoryData.kt
@@ -0,0 +1,6 @@
+package com.woka.webseries.models
+
+data class CategoryData(
+ val category_name: String?,
+ val id: Int?
+)
\ No newline at end of file
diff --git a/app/src/main/java/com/woka/webseries/models/ContentMoreDetail.kt b/app/src/main/java/com/woka/webseries/models/ContentMoreDetail.kt
new file mode 100644
index 0000000..863d3dd
--- /dev/null
+++ b/app/src/main/java/com/woka/webseries/models/ContentMoreDetail.kt
@@ -0,0 +1,11 @@
+package com.woka.webseries.models
+
+data class ContentMoreDetail(
+ val content_id: Int?,
+ val description: String?,
+ val id: Int?,
+ val language_master_id: Int?,
+ val post_type: Int?,
+ val tags_keywords: String?,
+ val title: String?
+)
\ No newline at end of file
diff --git a/app/src/main/java/com/woka/webseries/models/GenderData.kt b/app/src/main/java/com/woka/webseries/models/GenderData.kt
new file mode 100644
index 0000000..0749e47
--- /dev/null
+++ b/app/src/main/java/com/woka/webseries/models/GenderData.kt
@@ -0,0 +1,6 @@
+package com.woka.webseries.models
+
+data class GenderData(
+ val gender_name: String?,
+ val id: Int?
+)
\ No newline at end of file
diff --git a/app/src/main/java/com/woka/webseries/models/SeasonData.kt b/app/src/main/java/com/woka/webseries/models/SeasonData.kt
new file mode 100644
index 0000000..95d830c
--- /dev/null
+++ b/app/src/main/java/com/woka/webseries/models/SeasonData.kt
@@ -0,0 +1,17 @@
+package com.woka.webseries.models
+
+data class SeasonData(
+ val id: Int?,
+ val no_of_episodes: Int?,
+ val release_date: String?,
+ val release_year: Int?,
+ val season_description: String?,
+ val season_more_details: List?,
+ val season_number: String?,
+ val season_title: String?,
+ val tags_keyword: String?,
+ val thumbnail_img_url: Any?,
+ val thumbnail_path: String?,
+ val trailer_url: String?,
+ val watch_shows_master_id: Int?
+)
\ No newline at end of file
diff --git a/app/src/main/java/com/woka/webseries/models/SeasonMoreDetail.kt b/app/src/main/java/com/woka/webseries/models/SeasonMoreDetail.kt
new file mode 100644
index 0000000..2386946
--- /dev/null
+++ b/app/src/main/java/com/woka/webseries/models/SeasonMoreDetail.kt
@@ -0,0 +1,13 @@
+package com.woka.webseries.models
+
+data class SeasonMoreDetail(
+ val content_id: Int?,
+ val description: String?,
+ val id: Int?,
+ val language_master_id: Int?,
+ val post_type: Int?,
+ val tags_keywords: String?,
+ val title: String?,
+ val trailer_hd_url: String?,
+ val trailer_sd_url: String?
+)
\ No newline at end of file
diff --git a/app/src/main/java/com/woka/webseries/models/ShowData.kt b/app/src/main/java/com/woka/webseries/models/ShowData.kt
new file mode 100644
index 0000000..c78e914
--- /dev/null
+++ b/app/src/main/java/com/woka/webseries/models/ShowData.kt
@@ -0,0 +1,26 @@
+package com.woka.webseries.models
+
+data class ShowData(
+ val age_range_data: List?,
+ val age_range_master_id: String?,
+ val bookmark_count: Int?,
+ val category_data: List?,
+ val category_master_id: String?,
+ val content_more_details: List?,
+ val description: String?,
+ val favourite_category_ids: Int?,
+ val gender_data: List?,
+ val gender_master_id: String?,
+ val id: Int?,
+ var is_liked: Boolean?,
+ val liked_category_ids: Int?,
+ var likes_count: Int?,
+ val mark_as_favourite: Boolean?,
+ val season_data: List?,
+ val show_type: String?,
+ val thumbnail_path: String?,
+ val title: String?,
+ val total_episodes: Int?,
+ val total_seasons: Int?,
+ val views_count: Int?
+)
\ No newline at end of file
diff --git a/app/src/main/java/com/woka/webseries/models/WebSeriesResponse.kt b/app/src/main/java/com/woka/webseries/models/WebSeriesResponse.kt
new file mode 100644
index 0000000..67ce943
--- /dev/null
+++ b/app/src/main/java/com/woka/webseries/models/WebSeriesResponse.kt
@@ -0,0 +1,6 @@
+package com.woka.webseries.models
+
+data class WebSeriesResponse(
+ val show_data: List?,
+ val total_records: Int?
+)
\ 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
new file mode 100644
index 0000000..3279583
--- /dev/null
+++ b/app/src/main/java/com/woka/webseries/viewmodel/WebSeriesViewModel.kt
@@ -0,0 +1,13 @@
+package com.woka.webseries.viewmodel
+
+import androidx.lifecycle.LiveData
+import androidx.lifecycle.ViewModel
+import com.woka.networking.ApiResult
+import com.woka.webseries.WebSeriesRepository
+import com.woka.webseries.models.WebSeriesResponse
+
+class WebSeriesViewModel: ViewModel() {
+
+ val webSeriesData: LiveData>
+ get() = WebSeriesRepository.webSeriesLiveData
+}
\ 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
new file mode 100644
index 0000000..db04b6c
--- /dev/null
+++ b/app/src/main/java/com/woka/webseries/views/WebSeriesActivity.kt
@@ -0,0 +1,87 @@
+package com.woka.webseries.views
+
+import android.os.Bundle
+import androidx.activity.enableEdgeToEdge
+import androidx.core.view.ViewCompat
+import androidx.core.view.WindowInsetsCompat
+import androidx.lifecycle.ViewModelProvider
+import com.google.android.material.appbar.CollapsingToolbarLayout
+import com.woka.R
+import com.woka.databinding.ActivityWebSeriesBinding
+import com.woka.networking.ApiResult
+import com.woka.utils.WokaBaseActivity
+import com.woka.webseries.adapters.WebSeriesShowAdapter
+import com.woka.webseries.viewmodel.WebSeriesViewModel
+
+class WebSeriesActivity : WokaBaseActivity() {
+
+ private lateinit var binding: ActivityWebSeriesBinding
+
+ private lateinit var viewmodel: WebSeriesViewModel
+
+ private lateinit var showAdapter: WebSeriesShowAdapter
+
+ override fun onCreate(savedInstanceState: Bundle?) {
+ super.onCreate(savedInstanceState)
+ enableEdgeToEdge()
+ binding = ActivityWebSeriesBinding.inflate(layoutInflater)
+ setContentView(binding.root)
+ ViewCompat.setOnApplyWindowInsetsListener(findViewById(R.id.main)) { v, insets ->
+ val systemBars = insets.getInsets(WindowInsetsCompat.Type.systemBars())
+ v.setPadding(systemBars.left, systemBars.top, systemBars.right, systemBars.bottom)
+ insets
+ }
+
+ viewmodel = ViewModelProvider(this)[WebSeriesViewModel::class.java]
+
+ window.navigationBarColor = getColor(R.color.color_primary_dark)
+
+ initViews()
+
+ clickEvents()
+
+ setObservers()
+ }
+
+ private fun clickEvents() {
+ binding.apply {
+ toolbar.backBtn.setOnClickListener {
+ onBackPressedDispatcher.onBackPressed()
+ }
+ }
+ }
+
+ private fun initViews(){
+
+ // adapters
+ showAdapter = WebSeriesShowAdapter(this)
+
+ binding.apply {
+ // making space for masila image
+ topPinnedView.post {
+ val imgParams = masilaImage.layoutParams as CollapsingToolbarLayout.LayoutParams
+ imgParams.setMargins(0, 0, 0, topPinnedView.height)
+ masilaImage.layoutParams = imgParams
+ }
+
+ toolbar.title.text = getString(R.string.web_series)
+
+ rvWebSeries.adapter = showAdapter
+ }
+
+ }
+
+ private fun setObservers(){
+ viewmodel.webSeriesData.observe(this){
+ when(it){
+ is ApiResult.Error -> {}
+ is ApiResult.Loading -> {}
+ is ApiResult.Success -> {
+ it.data?.show_data?.let { showData ->
+ showAdapter.submitList(showData)
+ }
+ }
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/app/src/main/res/drawable/gradient_web_series.xml b/app/src/main/res/drawable/gradient_web_series.xml
new file mode 100644
index 0000000..5d5f0a0
--- /dev/null
+++ b/app/src/main/res/drawable/gradient_web_series.xml
@@ -0,0 +1,8 @@
+
+
+
+
+
+
\ No newline at end of file
diff --git a/app/src/main/res/layout/activity_web_series.xml b/app/src/main/res/layout/activity_web_series.xml
new file mode 100644
index 0000000..e8b2017
--- /dev/null
+++ b/app/src/main/res/layout/activity_web_series.xml
@@ -0,0 +1,120 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/app/src/main/res/layout/layout_toolbar.xml b/app/src/main/res/layout/layout_toolbar.xml
new file mode 100644
index 0000000..a57a028
--- /dev/null
+++ b/app/src/main/res/layout/layout_toolbar.xml
@@ -0,0 +1,35 @@
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/app/src/main/res/layout/show_view_holder.xml b/app/src/main/res/layout/show_view_holder.xml
new file mode 100644
index 0000000..0e9541d
--- /dev/null
+++ b/app/src/main/res/layout/show_view_holder.xml
@@ -0,0 +1,112 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml
index 1ea9249..445cc9f 100644
--- a/app/src/main/res/values/strings.xml
+++ b/app/src/main/res/values/strings.xml
@@ -174,4 +174,5 @@
No favorites added
0
No internet
+ TRAILER
\ No newline at end of file