diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml
index 8b4a8f8..21cb76f 100644
--- a/app/src/main/AndroidManifest.xml
+++ b/app/src/main/AndroidManifest.xml
@@ -15,6 +15,11 @@
android:supportsRtl="true"
android:theme="@style/Theme.Woka"
tools:targetApi="31">
+
) :
+ ListAdapter(config) {
+
+ inner class BlogViewHolder(binding: BlogViewHolderBinding): ViewHolder(binding.root)
+
+ override fun onCreateViewHolder(parent: ViewGroup, viewType: Int): BlogViewHolder {
+
+ }
+
+ override fun onBindViewHolder(holder: BlogViewHolder, position: Int) {
+ }
+}
\ No newline at end of file
diff --git a/app/src/main/java/com/woka/home/MoreHomeActivity.kt b/app/src/main/java/com/woka/home/MoreHomeActivity.kt
new file mode 100644
index 0000000..f80242b
--- /dev/null
+++ b/app/src/main/java/com/woka/home/MoreHomeActivity.kt
@@ -0,0 +1,45 @@
+package com.woka.home
+
+import android.graphics.Color
+import android.os.Bundle
+import android.view.WindowManager
+import androidx.activity.enableEdgeToEdge
+import androidx.appcompat.app.AppCompatActivity
+import androidx.core.view.ViewCompat
+import androidx.core.view.WindowInsetsCompat
+import androidx.lifecycle.ViewModelProvider
+import com.woka.R
+import com.woka.modules.BlogsViewModel
+import com.woka.utils.WokaBaseActivity
+import com.woka.utils.lightStatusBar
+
+class MoreHomeActivity : WokaBaseActivity() {
+
+ private lateinit var blogsViewModel: BlogsViewModel
+
+ override fun onCreate(savedInstanceState: Bundle?) {
+ super.onCreate(savedInstanceState)
+ enableEdgeToEdge()
+ setContentView(R.layout.activity_more_home)
+ 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
+ }
+
+ window.addFlags(WindowManager.LayoutParams.FLAG_DRAWS_SYSTEM_BAR_BACKGROUNDS)
+ window.statusBarColor = Color.TRANSPARENT
+ window.navigationBarColor = getColor(R.color.more_bg)
+ window.lightStatusBar()
+
+ blogsViewModel = ViewModelProvider(this)[BlogsViewModel::class.java]
+
+ setObservers()
+ }
+
+ private fun setObservers() {
+ blogsViewModel.blogsLiveData.observe(this){
+
+ }
+ }
+}
\ No newline at end of file
diff --git a/app/src/main/java/com/woka/home/fragments/Home1Fragment.kt b/app/src/main/java/com/woka/home/fragments/Home1Fragment.kt
index 7e5657f..8569608 100644
--- a/app/src/main/java/com/woka/home/fragments/Home1Fragment.kt
+++ b/app/src/main/java/com/woka/home/fragments/Home1Fragment.kt
@@ -22,6 +22,7 @@ import com.woka.R
import com.woka.WokaApp.Companion.userPrefs
import com.woka.databinding.FragmentHome1Binding
import com.woka.home.HomeViewModel
+import com.woka.home.MoreHomeActivity
import com.woka.home.TimePeriod
import com.woka.mvvm.userDataModels.UserDataResponse
import com.woka.networking.ApiResult
@@ -58,22 +59,14 @@ class Home1Fragment : Fragment() {
player = ExoPlayer.Builder(it).build()
}
+ initViews()
+
initPlayerView()
handleScaleAnimations()
updateBackground()
- minuteReceiver = object : BroadcastReceiver() {
- override fun onReceive(context: Context?, intent: Intent?) {
- // this function is called every minute
- if (intent?.action == ACTION_TIME_TICK) {
- updateBackground()
- }
- }
- }
- activity?.registerReceiver(minuteReceiver, IntentFilter(ACTION_TIME_TICK))
-
setObservers()
clickEvents()
@@ -81,12 +74,22 @@ class Home1Fragment : Fragment() {
return binding.root
}
+ private fun initViews() {
+ if (viewModel.isHomeBackgroundBlurred){
+ binding.playerView.hide()
+ }else{
+ binding.playerView.show()
+ }
+ }
+
override fun onResume() {
super.onResume()
handleAnimations()
if (!player.isPlaying){
player.play()
}
+
+ binding.playerView.show()
}
override fun onPause() {
@@ -98,6 +101,10 @@ class Home1Fragment : Fragment() {
if (star2Animator?.isRunning == true) star2Animator?.pause()
if (player.isPlaying) player.pause()
+
+ if (viewModel.isHomeBackgroundBlurred){
+ binding.playerView.hide()
+ }
}
override fun onDestroy() {
@@ -140,6 +147,16 @@ class Home1Fragment : Fragment() {
moreTxt.text = getString(R.string.more)
}
}
+
+ minuteReceiver = object : BroadcastReceiver() {
+ override fun onReceive(context: Context?, intent: Intent?) {
+ // this function is called every minute
+ if (intent?.action == ACTION_TIME_TICK) {
+ updateBackground()
+ }
+ }
+ }
+ activity?.registerReceiver(minuteReceiver, IntentFilter(ACTION_TIME_TICK))
}
private fun clickEvents() {
@@ -149,6 +166,11 @@ class Home1Fragment : Fragment() {
startActivity(Intent(it, LiveStreamPlayerActivity::class.java))
}
}
+
+ more.setOnClickListener {
+ activity?.let {
+ startActivity(Intent(it, MoreHomeActivity::class.java))
+ } }
}
}
diff --git a/app/src/main/java/com/woka/home/fragments/Home2Fragment.kt b/app/src/main/java/com/woka/home/fragments/Home2Fragment.kt
index e8bad0f..1548e26 100644
--- a/app/src/main/java/com/woka/home/fragments/Home2Fragment.kt
+++ b/app/src/main/java/com/woka/home/fragments/Home2Fragment.kt
@@ -1,10 +1,14 @@
package com.woka.home.fragments
import android.content.Intent
+import android.graphics.Bitmap
+import android.graphics.Canvas
+import android.media.MediaMetadataRetriever
import android.net.Uri
import android.os.Bundle
import androidx.fragment.app.Fragment
import android.view.LayoutInflater
+import android.view.TextureView
import android.view.View
import android.view.ViewGroup
import androidx.lifecycle.ViewModelProvider
@@ -18,7 +22,8 @@ import com.woka.mvvm.userDataModels.UserDataResponse
import com.woka.networking.ApiResult
import com.woka.players.LiveStreamPlayerActivity
import com.woka.utils.UserType
-import com.woka.utils.toast
+import com.woka.utils.hide
+import com.woka.utils.show
class Home2Fragment : Fragment() {
@@ -39,6 +44,8 @@ class Home2Fragment : Fragment() {
player = ExoPlayer.Builder(it).build()
}
+ iniViews()
+
initPlayerView()
setObservers()
@@ -48,16 +55,32 @@ class Home2Fragment : Fragment() {
return binding.root
}
+ private fun iniViews() {
+ if (viewModel.isHomeBackgroundBlurred){
+ binding.playerView.hide()
+ }else{
+ binding.playerView.show()
+ }
+ }
+
override fun onResume() {
super.onResume()
if (!player.isPlaying){
player.play()
}
+
+ binding.playerView.show()
}
override fun onPause() {
super.onPause()
- if (player.isPlaying) player.pause()
+ if (player.isPlaying) {
+ player.pause()
+ }
+
+ if (viewModel.isHomeBackgroundBlurred){
+ binding.playerView.hide()
+ }
}
override fun onDestroy() {
diff --git a/app/src/main/java/com/woka/modules/BlogsRepository.kt b/app/src/main/java/com/woka/modules/BlogsRepository.kt
new file mode 100644
index 0000000..2249cc2
--- /dev/null
+++ b/app/src/main/java/com/woka/modules/BlogsRepository.kt
@@ -0,0 +1,17 @@
+package com.woka.modules
+
+import com.woka.modules.blogs.BlogsResponse
+import com.woka.networking.ApiResult
+import com.woka.networking.RetrofitHelper
+import com.woka.networking.RetrofitHelper.handleApiCall
+
+class BlogsRepository {
+ private val apiService = RetrofitHelper.getRetrofit().create(ModuleApiService::class.java)
+
+ suspend fun getBlogs(): ApiResult{
+ return handleApiCall{
+ apiService.getBlogs()
+ }
+ }
+
+}
\ No newline at end of file
diff --git a/app/src/main/java/com/woka/modules/BlogsViewModel.kt b/app/src/main/java/com/woka/modules/BlogsViewModel.kt
new file mode 100644
index 0000000..7794ebd
--- /dev/null
+++ b/app/src/main/java/com/woka/modules/BlogsViewModel.kt
@@ -0,0 +1,30 @@
+package com.woka.modules
+
+import androidx.lifecycle.LiveData
+import androidx.lifecycle.MutableLiveData
+import androidx.lifecycle.ViewModel
+import androidx.lifecycle.viewModelScope
+import com.woka.modules.blogs.BlogsResponse
+import com.woka.networking.ApiResult
+import kotlinx.coroutines.launch
+
+class BlogsViewModel: ViewModel() {
+
+ private val blogsRepository = BlogsRepository()
+
+ private val _blogsLiveData = MutableLiveData>()
+ val blogsLiveData: LiveData?>
+ get() = _blogsLiveData
+
+ init {
+ loadBlogs()
+ }
+
+ private fun loadBlogs(){
+ viewModelScope.launch {
+ _blogsLiveData.postValue(ApiResult.Loading())
+ _blogsLiveData.postValue(blogsRepository.getBlogs())
+ }
+ }
+
+}
\ No newline at end of file
diff --git a/app/src/main/java/com/woka/modules/ModuleApiService.kt b/app/src/main/java/com/woka/modules/ModuleApiService.kt
new file mode 100644
index 0000000..08e4833
--- /dev/null
+++ b/app/src/main/java/com/woka/modules/ModuleApiService.kt
@@ -0,0 +1,12 @@
+package com.woka.modules
+
+import com.woka.modules.blogs.BlogsResponse
+import com.woka.networking.ApiResponse
+import retrofit2.Response
+import retrofit2.http.GET
+
+interface ModuleApiService {
+
+ @GET("blogs")
+ suspend fun getBlogs(): Response>
+}
\ No newline at end of file
diff --git a/app/src/main/java/com/woka/modules/blogs/Blog.kt b/app/src/main/java/com/woka/modules/blogs/Blog.kt
new file mode 100644
index 0000000..847c83b
--- /dev/null
+++ b/app/src/main/java/com/woka/modules/blogs/Blog.kt
@@ -0,0 +1,12 @@
+package com.woka.modules.blogs
+
+data class Blog(
+ val article_url: Any?,
+ val category_master_id: String?,
+ val content_more_details: List?,
+ val description: String?,
+ val id: Int?,
+ val language_master_id: Int?,
+ val thumbnail_path: String?,
+ val title: String?
+)
\ No newline at end of file
diff --git a/app/src/main/java/com/woka/modules/blogs/BlogsResponse.kt b/app/src/main/java/com/woka/modules/blogs/BlogsResponse.kt
new file mode 100644
index 0000000..050edfc
--- /dev/null
+++ b/app/src/main/java/com/woka/modules/blogs/BlogsResponse.kt
@@ -0,0 +1,6 @@
+package com.woka.modules.blogs
+
+data class BlogsResponse(
+ val blogs: List?,
+ val total_records: Int?
+)
\ No newline at end of file
diff --git a/app/src/main/java/com/woka/modules/blogs/ContentMoreDetail.kt b/app/src/main/java/com/woka/modules/blogs/ContentMoreDetail.kt
new file mode 100644
index 0000000..7ff41d1
--- /dev/null
+++ b/app/src/main/java/com/woka/modules/blogs/ContentMoreDetail.kt
@@ -0,0 +1,11 @@
+package com.woka.modules.blogs
+
+data class ContentMoreDetail(
+ val article: String?,
+ val content_id: Int?,
+ val description: String?,
+ val id: Int?,
+ val language_master_id: Int?,
+ val post_type: Int?,
+ val title: String?
+)
\ No newline at end of file
diff --git a/app/src/main/java/com/woka/players/LiveStreamPlayerActivity.kt b/app/src/main/java/com/woka/players/LiveStreamPlayerActivity.kt
index 6abfdcf..43df8e3 100644
--- a/app/src/main/java/com/woka/players/LiveStreamPlayerActivity.kt
+++ b/app/src/main/java/com/woka/players/LiveStreamPlayerActivity.kt
@@ -90,7 +90,11 @@ class LiveStreamPlayerActivity : AppCompatActivity(), FullscreenHandler {
override fun onFullscreenExitRequested() {
player.stop()
- onBackPressedDispatcher.onBackPressed()
+ val windowInsetsController =
+ WindowCompat.getInsetsController(window, window.decorView)
+ windowInsetsController.show(WindowInsetsCompat.Type.systemBars())
+
+ finish()
}
override fun onAllowRotationChanged(allowRotation: Boolean) {}
diff --git a/app/src/main/res/drawable-hdpi/img_masila_tn_small.png b/app/src/main/res/drawable-hdpi/img_masila_tn_small.png
new file mode 100644
index 0000000..746c44d
Binary files /dev/null and b/app/src/main/res/drawable-hdpi/img_masila_tn_small.png differ
diff --git a/app/src/main/res/drawable-hdpi/img_more_bg.png b/app/src/main/res/drawable-hdpi/img_more_bg.png
new file mode 100644
index 0000000..b63f445
Binary files /dev/null and b/app/src/main/res/drawable-hdpi/img_more_bg.png differ
diff --git a/app/src/main/res/drawable-ldpi/img_masila_tn_small.png b/app/src/main/res/drawable-ldpi/img_masila_tn_small.png
new file mode 100644
index 0000000..b1f92e5
Binary files /dev/null and b/app/src/main/res/drawable-ldpi/img_masila_tn_small.png differ
diff --git a/app/src/main/res/drawable-ldpi/img_more_bg.png b/app/src/main/res/drawable-ldpi/img_more_bg.png
new file mode 100644
index 0000000..abc862f
Binary files /dev/null and b/app/src/main/res/drawable-ldpi/img_more_bg.png differ
diff --git a/app/src/main/res/drawable-mdpi/img_masila_tn_small.png b/app/src/main/res/drawable-mdpi/img_masila_tn_small.png
new file mode 100644
index 0000000..c8141d9
Binary files /dev/null and b/app/src/main/res/drawable-mdpi/img_masila_tn_small.png differ
diff --git a/app/src/main/res/drawable-mdpi/img_more_bg.png b/app/src/main/res/drawable-mdpi/img_more_bg.png
new file mode 100644
index 0000000..3221b7f
Binary files /dev/null and b/app/src/main/res/drawable-mdpi/img_more_bg.png differ
diff --git a/app/src/main/res/drawable-xhdpi/img_masila_tn_small.png b/app/src/main/res/drawable-xhdpi/img_masila_tn_small.png
new file mode 100644
index 0000000..d2512e9
Binary files /dev/null and b/app/src/main/res/drawable-xhdpi/img_masila_tn_small.png differ
diff --git a/app/src/main/res/drawable-xhdpi/img_more_bg.png b/app/src/main/res/drawable-xhdpi/img_more_bg.png
new file mode 100644
index 0000000..52fdfe5
Binary files /dev/null and b/app/src/main/res/drawable-xhdpi/img_more_bg.png differ
diff --git a/app/src/main/res/drawable-xxhdpi/img_masila_tn_small.png b/app/src/main/res/drawable-xxhdpi/img_masila_tn_small.png
new file mode 100644
index 0000000..905e8d0
Binary files /dev/null and b/app/src/main/res/drawable-xxhdpi/img_masila_tn_small.png differ
diff --git a/app/src/main/res/drawable-xxhdpi/img_more_bg.png b/app/src/main/res/drawable-xxhdpi/img_more_bg.png
new file mode 100644
index 0000000..bf050ad
Binary files /dev/null and b/app/src/main/res/drawable-xxhdpi/img_more_bg.png differ
diff --git a/app/src/main/res/drawable-xxxhdpi/img_masila_tn_small.png b/app/src/main/res/drawable-xxxhdpi/img_masila_tn_small.png
new file mode 100644
index 0000000..5c83b43
Binary files /dev/null and b/app/src/main/res/drawable-xxxhdpi/img_masila_tn_small.png differ
diff --git a/app/src/main/res/drawable-xxxhdpi/img_more_bg.png b/app/src/main/res/drawable-xxxhdpi/img_more_bg.png
new file mode 100644
index 0000000..7bfc852
Binary files /dev/null and b/app/src/main/res/drawable-xxxhdpi/img_more_bg.png differ
diff --git a/app/src/main/res/drawable/ic_more_up.xml b/app/src/main/res/drawable/ic_more_up.xml
new file mode 100644
index 0000000..96b1eaf
--- /dev/null
+++ b/app/src/main/res/drawable/ic_more_up.xml
@@ -0,0 +1,10 @@
+
+
+
diff --git a/app/src/main/res/drawable/round_bg_5.xml b/app/src/main/res/drawable/round_bg_5.xml
new file mode 100644
index 0000000..b2624f4
--- /dev/null
+++ b/app/src/main/res/drawable/round_bg_5.xml
@@ -0,0 +1,6 @@
+
+
+
+
+
+
\ No newline at end of file
diff --git a/app/src/main/res/layout/activity_more_home.xml b/app/src/main/res/layout/activity_more_home.xml
new file mode 100644
index 0000000..82f9f95
--- /dev/null
+++ b/app/src/main/res/layout/activity_more_home.xml
@@ -0,0 +1,171 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/app/src/main/res/layout/blog_view_holder.xml b/app/src/main/res/layout/blog_view_holder.xml
new file mode 100644
index 0000000..624fb91
--- /dev/null
+++ b/app/src/main/res/layout/blog_view_holder.xml
@@ -0,0 +1,57 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/app/src/main/res/layout/fragment_home2.xml b/app/src/main/res/layout/fragment_home2.xml
index d93efa1..da34b78 100644
--- a/app/src/main/res/layout/fragment_home2.xml
+++ b/app/src/main/res/layout/fragment_home2.xml
@@ -124,11 +124,20 @@
app:layout_constraintBottom_toTopOf="@id/g1"
app:layout_constraintTop_toBottomOf="@id/profile_image">
+
+
diff --git a/app/src/main/res/layout/fragment_home_1.xml b/app/src/main/res/layout/fragment_home_1.xml
index 98fdf4d..31e55bf 100644
--- a/app/src/main/res/layout/fragment_home_1.xml
+++ b/app/src/main/res/layout/fragment_home_1.xml
@@ -551,6 +551,7 @@
app:layout_constraintStart_toStartOf="parent">
वोका एफएम
खेल
जल्द ही Woka पर आ रहा है
+ वोका लाइव टीवी
+ ब्लॉग
+ मासिला
+ ट्रेलर चलाएं
\ No newline at end of file
diff --git a/app/src/main/res/values/colors.xml b/app/src/main/res/values/colors.xml
index bfdc657..2afb74d 100644
--- a/app/src/main/res/values/colors.xml
+++ b/app/src/main/res/values/colors.xml
@@ -15,4 +15,6 @@
#a3e1d3
#11b3fe
#443682
+
+ #cbe16f
\ 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 9957167..d983e22 100644
--- a/app/src/main/res/values/strings.xml
+++ b/app/src/main/res/values/strings.xml
@@ -136,4 +136,6 @@
Coming soonn on Woka
WOKA LIVE TV
BLOGS
+ MASILA
+ PLAY TRAILER
\ No newline at end of file