ModuleDialog in all view all sections of MyListFragment.
Syncing data by reloading latest 3 favs of the currently viewed view all when returning back. Changed karaoke url to mp4 to download audio from it: api changes. handled this in module and mylist. Error handling for player in LiveStreamPlayerActivity by reloading for 10 times repeatedly until there is an error. Added share functionality in all modules. ADDED CLICKED CACHING IN ALL OVER THE APP. (Except the common Player)
This commit is contained in:
@@ -11,6 +11,8 @@ import com.woka.R
|
|||||||
import com.woka.WokaApp.Companion.userPrefs
|
import com.woka.WokaApp.Companion.userPrefs
|
||||||
import com.woka.audiobooks.AudioBookRepository
|
import com.woka.audiobooks.AudioBookRepository
|
||||||
import com.woka.audiobooks.models.audiodata.AudioBookData
|
import com.woka.audiobooks.models.audiodata.AudioBookData
|
||||||
|
import com.woka.database.helpers.ClicksHelper
|
||||||
|
import com.woka.database.models.clicks.ContentType
|
||||||
import com.woka.databinding.ShowViewHolderBinding
|
import com.woka.databinding.ShowViewHolderBinding
|
||||||
import com.woka.userPreference.UserType
|
import com.woka.userPreference.UserType
|
||||||
import com.woka.utils.isNetworkConnected
|
import com.woka.utils.isNetworkConnected
|
||||||
@@ -123,6 +125,8 @@ class AudioBooksAdapter(
|
|||||||
audioBook.id?.let{
|
audioBook.id?.let{
|
||||||
onBookChanged(it, audioBook)
|
onBookChanged(it, audioBook)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
ClicksHelper.upsertClickEvent(ContentType.AUDIO, audioBook.id)
|
||||||
}
|
}
|
||||||
|
|
||||||
fav.isSelected = audioBook.mark_as_favourite == true
|
fav.isSelected = audioBook.mark_as_favourite == true
|
||||||
@@ -149,6 +153,8 @@ class AudioBooksAdapter(
|
|||||||
audioBook.id?.let{
|
audioBook.id?.let{
|
||||||
onBookChanged(it, audioBook)
|
onBookChanged(it, audioBook)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
ClicksHelper.upsertClickEvent(ContentType.AUDIO, audioBook.id)
|
||||||
}
|
}
|
||||||
|
|
||||||
root.setOnClickListener {
|
root.setOnClickListener {
|
||||||
|
|||||||
@@ -11,6 +11,8 @@ import com.woka.WokaApp
|
|||||||
import com.woka.audiobooks.AudioBookRepository
|
import com.woka.audiobooks.AudioBookRepository
|
||||||
import com.woka.audiobooks.models.audiodata.AudioBookData
|
import com.woka.audiobooks.models.audiodata.AudioBookData
|
||||||
import com.woka.audiobooks.models.continuedata.ContinueAudioData
|
import com.woka.audiobooks.models.continuedata.ContinueAudioData
|
||||||
|
import com.woka.database.helpers.ClicksHelper
|
||||||
|
import com.woka.database.models.clicks.ContentType
|
||||||
import com.woka.databinding.FavViewHolderBinding
|
import com.woka.databinding.FavViewHolderBinding
|
||||||
import com.woka.home.mylist.adapters.FavoriteViewHolder
|
import com.woka.home.mylist.adapters.FavoriteViewHolder
|
||||||
import com.woka.utils.isNetworkConnected
|
import com.woka.utils.isNetworkConnected
|
||||||
@@ -108,6 +110,8 @@ class ContinueAudioAdapter(private val context: Context,
|
|||||||
likeCount.text = "${audioBook.likes_count}"
|
likeCount.text = "${audioBook.likes_count}"
|
||||||
|
|
||||||
audioBook?.id?.let{onContinueBookChanged(it, AudioBookData(audioBook))}
|
audioBook?.id?.let{onContinueBookChanged(it, AudioBookData(audioBook))}
|
||||||
|
|
||||||
|
ClicksHelper.upsertClickEvent(ContentType.AUDIO, audioBook.id)
|
||||||
}
|
}
|
||||||
|
|
||||||
fav.isSelected = audioBook.mark_as_favourite == true
|
fav.isSelected = audioBook.mark_as_favourite == true
|
||||||
@@ -128,6 +132,8 @@ class ContinueAudioAdapter(private val context: Context,
|
|||||||
fav.isSelected = audioBook.mark_as_favourite == true
|
fav.isSelected = audioBook.mark_as_favourite == true
|
||||||
|
|
||||||
audioBook?.id?.let{onContinueBookChanged(it, AudioBookData(audioBook))}
|
audioBook?.id?.let{onContinueBookChanged(it, AudioBookData(audioBook))}
|
||||||
|
|
||||||
|
ClicksHelper.upsertClickEvent(ContentType.AUDIO, audioBook.id)
|
||||||
}
|
}
|
||||||
|
|
||||||
root.setOnClickListener {
|
root.setOnClickListener {
|
||||||
|
|||||||
@@ -23,6 +23,8 @@ import com.woka.audiobooks.adapters.ContinueAudioAdapter
|
|||||||
import com.woka.audiobooks.models.audiodata.AudioBookData
|
import com.woka.audiobooks.models.audiodata.AudioBookData
|
||||||
import com.woka.audiobooks.models.continuedata.ContinueAudioData
|
import com.woka.audiobooks.models.continuedata.ContinueAudioData
|
||||||
import com.woka.audiobooks.viewmodels.AudioBookViewModel
|
import com.woka.audiobooks.viewmodels.AudioBookViewModel
|
||||||
|
import com.woka.database.helpers.ClicksHelper
|
||||||
|
import com.woka.database.models.clicks.ContentType
|
||||||
import com.woka.databinding.ActivityAudioBooksBinding
|
import com.woka.databinding.ActivityAudioBooksBinding
|
||||||
import com.woka.databinding.DialogModuleShowerBinding
|
import com.woka.databinding.DialogModuleShowerBinding
|
||||||
import com.woka.networking.ApiResult
|
import com.woka.networking.ApiResult
|
||||||
@@ -34,6 +36,7 @@ import com.woka.utils.WokaBaseActivity
|
|||||||
import com.woka.utils.hide
|
import com.woka.utils.hide
|
||||||
import com.woka.utils.isNetworkConnected
|
import com.woka.utils.isNetworkConnected
|
||||||
import com.woka.utils.setVisibility
|
import com.woka.utils.setVisibility
|
||||||
|
import com.woka.utils.shareWokaApp
|
||||||
import com.woka.utils.show
|
import com.woka.utils.show
|
||||||
import com.woka.utils.toast
|
import com.woka.utils.toast
|
||||||
import java.text.SimpleDateFormat
|
import java.text.SimpleDateFormat
|
||||||
@@ -71,7 +74,7 @@ class AudioBooksActivity : WokaBaseActivity() {
|
|||||||
|
|
||||||
viewModel = ViewModelProvider(this)[AudioBookViewModel::class.java]
|
viewModel = ViewModelProvider(this)[AudioBookViewModel::class.java]
|
||||||
|
|
||||||
audioBookAdapter = AudioBooksAdapter(this, ::onBookClicked, ::onBookChanged){
|
audioBookAdapter = AudioBooksAdapter(this, ::onBookClicked, ::onBookChanged) {
|
||||||
noSignInDialog.show()
|
noSignInDialog.show()
|
||||||
}
|
}
|
||||||
continueAudioAdapter =
|
continueAudioAdapter =
|
||||||
@@ -91,11 +94,17 @@ class AudioBooksActivity : WokaBaseActivity() {
|
|||||||
|
|
||||||
setObservers()
|
setObservers()
|
||||||
|
|
||||||
if (!viewModel.audioBookLiveData.isInitialized){
|
if (!viewModel.audioBookLiveData.isInitialized) {
|
||||||
viewModel.loadAudioSongs()
|
viewModel.loadAudioSongs()
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
override fun onDestroy() {
|
||||||
|
super.onDestroy()
|
||||||
|
|
||||||
|
ClicksHelper.upsertClickEvent(ContentType.OTHERS)
|
||||||
|
}
|
||||||
|
|
||||||
private fun initViews() {
|
private fun initViews() {
|
||||||
binding.apply {
|
binding.apply {
|
||||||
adjustTrailerImage()
|
adjustTrailerImage()
|
||||||
@@ -129,6 +138,10 @@ class AudioBooksActivity : WokaBaseActivity() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
dialogBinding.close.setOnClickListener { audioDialog.dismiss() }
|
dialogBinding.close.setOnClickListener { audioDialog.dismiss() }
|
||||||
|
|
||||||
|
audioDialog.setOnDismissListener {
|
||||||
|
ClicksHelper.upsertClickEvent(ContentType.OTHERS)
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private fun clickEvents() {
|
private fun clickEvents() {
|
||||||
@@ -139,17 +152,21 @@ class AudioBooksActivity : WokaBaseActivity() {
|
|||||||
|
|
||||||
retryBtn.setOnClickListener {
|
retryBtn.setOnClickListener {
|
||||||
viewModel.loadAudioSongs()
|
viewModel.loadAudioSongs()
|
||||||
|
|
||||||
|
ClicksHelper.upsertClickEvent(ContentType.OTHERS)
|
||||||
}
|
}
|
||||||
|
|
||||||
loadMoreBtn.setOnClickListener {
|
loadMoreBtn.setOnClickListener {
|
||||||
viewModel.loadAudioSongs()
|
viewModel.loadAudioSongs()
|
||||||
|
|
||||||
|
ClicksHelper.upsertClickEvent(ContentType.OTHERS)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private fun setObservers() {
|
private fun setObservers() {
|
||||||
viewModel.audioBookLiveData.observe(this){
|
viewModel.audioBookLiveData.observe(this) {
|
||||||
when(it){
|
when (it) {
|
||||||
is ApiResult.Error -> {
|
is ApiResult.Error -> {
|
||||||
binding.shimmer.hide()
|
binding.shimmer.hide()
|
||||||
if (audioBookAdapter.currentList.size == 0) {
|
if (audioBookAdapter.currentList.size == 0) {
|
||||||
@@ -166,6 +183,7 @@ class AudioBooksActivity : WokaBaseActivity() {
|
|||||||
binding.loadMoreBtn.show()
|
binding.loadMoreBtn.show()
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
is ApiResult.Loading -> {
|
is ApiResult.Loading -> {
|
||||||
if (audioBookAdapter.currentList.size == 0) {
|
if (audioBookAdapter.currentList.size == 0) {
|
||||||
// loading first data
|
// loading first data
|
||||||
@@ -177,9 +195,10 @@ class AudioBooksActivity : WokaBaseActivity() {
|
|||||||
binding.loadMoreBtn.hide()
|
binding.loadMoreBtn.hide()
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
is ApiResult.Success -> {
|
is ApiResult.Success -> {
|
||||||
it.data?.let {newList ->
|
it.data?.let { newList ->
|
||||||
if (newList.isNotEmpty()){
|
if (newList.isNotEmpty()) {
|
||||||
binding.rvAudioBooks.show()
|
binding.rvAudioBooks.show()
|
||||||
binding.listenTxt.show()
|
binding.listenTxt.show()
|
||||||
binding.trailerView.show()
|
binding.trailerView.show()
|
||||||
@@ -191,15 +210,15 @@ class AudioBooksActivity : WokaBaseActivity() {
|
|||||||
binding.loadMoreBtn.text = getString(R.string.load_more)
|
binding.loadMoreBtn.text = getString(R.string.load_more)
|
||||||
binding.loadMoreBtn.setVisibility(!viewModel.lastPage)
|
binding.loadMoreBtn.setVisibility(!viewModel.lastPage)
|
||||||
|
|
||||||
if (audioBookAdapter.currentList.isEmpty()){
|
if (audioBookAdapter.currentList.isEmpty()) {
|
||||||
// first data load
|
// first data load
|
||||||
if (userPrefs?.userType != UserType.GUEST && !viewModel.audioContinueLiveData.isInitialized){
|
if (userPrefs?.userType != UserType.GUEST && !viewModel.audioContinueLiveData.isInitialized) {
|
||||||
viewModel.loadContinueData()
|
viewModel.loadContinueData()
|
||||||
}
|
}
|
||||||
|
|
||||||
loadTrailerData(newList[0])
|
loadTrailerData(newList[0])
|
||||||
audioBookAdapter.submitList(newList)
|
audioBookAdapter.submitList(newList)
|
||||||
}else{
|
} else {
|
||||||
// loaded more data
|
// loaded more data
|
||||||
audioBookAdapter.notifyItemRangeInserted(
|
audioBookAdapter.notifyItemRangeInserted(
|
||||||
audioBookAdapter.currentList.size,
|
audioBookAdapter.currentList.size,
|
||||||
@@ -260,6 +279,8 @@ class AudioBooksActivity : WokaBaseActivity() {
|
|||||||
|
|
||||||
trailerBtn.setOnClickListener {
|
trailerBtn.setOnClickListener {
|
||||||
onListenClicked(audioBookData)
|
onListenClicked(audioBookData)
|
||||||
|
|
||||||
|
ClicksHelper.upsertClickEvent(ContentType.AUDIO, audioBookData.id)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -278,11 +299,15 @@ class AudioBooksActivity : WokaBaseActivity() {
|
|||||||
private fun onBookClicked(audioBookData: AudioBookData) {
|
private fun onBookClicked(audioBookData: AudioBookData) {
|
||||||
loadTrailerData(audioBookData)
|
loadTrailerData(audioBookData)
|
||||||
showAudioDialog(audioBookData)
|
showAudioDialog(audioBookData)
|
||||||
|
|
||||||
|
ClicksHelper.upsertClickEvent(ContentType.AUDIO, audioBookData.id)
|
||||||
}
|
}
|
||||||
|
|
||||||
private fun onContinueBookClicked(audioBookData: ContinueAudioData) {
|
private fun onContinueBookClicked(audioBookData: ContinueAudioData) {
|
||||||
loadTrailerData(AudioBookData(audioBookData))
|
loadTrailerData(AudioBookData(audioBookData))
|
||||||
showAudioDialog(AudioBookData(audioBookData))
|
showAudioDialog(AudioBookData(audioBookData))
|
||||||
|
|
||||||
|
ClicksHelper.upsertClickEvent(ContentType.AUDIO, audioBookData.id)
|
||||||
}
|
}
|
||||||
|
|
||||||
private fun onBookChanged(id: Int, audioBookData: AudioBookData) {
|
private fun onBookChanged(id: Int, audioBookData: AudioBookData) {
|
||||||
@@ -320,18 +345,18 @@ class AudioBooksActivity : WokaBaseActivity() {
|
|||||||
var url: String? = null
|
var url: String? = null
|
||||||
var title = ""
|
var title = ""
|
||||||
|
|
||||||
audioBookData.content_more_details?.let {moreDetails ->
|
audioBookData.content_more_details?.let { moreDetails ->
|
||||||
if (moreDetails.isNotEmpty()){
|
if (moreDetails.isNotEmpty()) {
|
||||||
if (userPrefs?.appLanguage == "hi" && moreDetails.size > 1){
|
if (userPrefs?.appLanguage == "hi" && moreDetails.size > 1) {
|
||||||
url = moreDetails[1]?.url
|
url = moreDetails[1]?.url
|
||||||
title = moreDetails[1]?.title?:""
|
title = moreDetails[1]?.title ?: ""
|
||||||
}else{
|
} else {
|
||||||
url = moreDetails[0]?.url
|
url = moreDetails[0]?.url
|
||||||
title = moreDetails[0]?.title?:""
|
title = moreDetails[0]?.title ?: ""
|
||||||
}
|
}
|
||||||
}else{
|
} else {
|
||||||
url = audioBookData.audio_url
|
url = audioBookData.audio_url
|
||||||
title = audioBookData.title?:""
|
title = audioBookData.title ?: ""
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -417,15 +442,23 @@ class AudioBooksActivity : WokaBaseActivity() {
|
|||||||
|
|
||||||
watchCard.setOnClickListener {
|
watchCard.setOnClickListener {
|
||||||
onListenClicked(audioBookData)
|
onListenClicked(audioBookData)
|
||||||
|
|
||||||
|
ClicksHelper.upsertClickEvent(ContentType.AUDIO, audioBookData.id)
|
||||||
|
}
|
||||||
|
|
||||||
|
share.setOnClickListener {
|
||||||
|
shareWokaApp()
|
||||||
|
|
||||||
|
ClicksHelper.upsertClickEvent(ContentType.AUDIO, audioBookData.id)
|
||||||
}
|
}
|
||||||
|
|
||||||
like.setOnClickListener {
|
like.setOnClickListener {
|
||||||
if (!isNetworkConnected()){
|
if (!isNetworkConnected()) {
|
||||||
toast(getString(R.string.no_internet))
|
toast(getString(R.string.no_internet))
|
||||||
return@setOnClickListener
|
return@setOnClickListener
|
||||||
}
|
}
|
||||||
|
|
||||||
if (userPrefs?.userType == UserType.GUEST || userPrefs?.userType == UserType.NONE){
|
if (userPrefs?.userType == UserType.GUEST || userPrefs?.userType == UserType.NONE) {
|
||||||
noSignInDialog.show()
|
noSignInDialog.show()
|
||||||
return@setOnClickListener
|
return@setOnClickListener
|
||||||
}
|
}
|
||||||
@@ -436,10 +469,10 @@ class AudioBooksActivity : WokaBaseActivity() {
|
|||||||
)
|
)
|
||||||
|
|
||||||
audioBookData.likes_count?.let {
|
audioBookData.likes_count?.let {
|
||||||
audioBookData.likes_count = if (like.isSelected){
|
audioBookData.likes_count = if (like.isSelected) {
|
||||||
// unlike
|
// unlike
|
||||||
max(0, it - 1)
|
max(0, it - 1)
|
||||||
}else{
|
} else {
|
||||||
// like
|
// like
|
||||||
it + 1
|
it + 1
|
||||||
}
|
}
|
||||||
@@ -453,19 +486,21 @@ class AudioBooksActivity : WokaBaseActivity() {
|
|||||||
}
|
}
|
||||||
like.isSelected = !like.isSelected
|
like.isSelected = !like.isSelected
|
||||||
likeCount.text = "${audioBookData.likes_count}"
|
likeCount.text = "${audioBookData.likes_count}"
|
||||||
|
|
||||||
|
ClicksHelper.upsertClickEvent(ContentType.AUDIO, audioBookData.id)
|
||||||
}
|
}
|
||||||
|
|
||||||
fav.setOnClickListener {
|
fav.setOnClickListener {
|
||||||
if (!isNetworkConnected()){
|
if (!isNetworkConnected()) {
|
||||||
toast(getString(R.string.no_internet))
|
toast(getString(R.string.no_internet))
|
||||||
return@setOnClickListener
|
return@setOnClickListener
|
||||||
}
|
}
|
||||||
|
|
||||||
if (userPrefs?.userType == UserType.GUEST || userPrefs?.userType == UserType.NONE){
|
if (userPrefs?.userType == UserType.GUEST || userPrefs?.userType == UserType.NONE) {
|
||||||
noSignInDialog.show()
|
noSignInDialog.show()
|
||||||
return@setOnClickListener
|
return@setOnClickListener
|
||||||
}
|
}
|
||||||
|
|
||||||
AudioBookRepository.updateFavShow(
|
AudioBookRepository.updateFavShow(
|
||||||
audioBookData,
|
audioBookData,
|
||||||
!fav.isSelected
|
!fav.isSelected
|
||||||
@@ -479,10 +514,8 @@ class AudioBooksActivity : WokaBaseActivity() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
fav.isSelected = !fav.isSelected
|
fav.isSelected = !fav.isSelected
|
||||||
}
|
|
||||||
|
|
||||||
close.setOnClickListener {
|
ClicksHelper.upsertClickEvent(ContentType.AUDIO, audioBookData.id)
|
||||||
audioDialog.dismiss()
|
|
||||||
}
|
}
|
||||||
|
|
||||||
audioDialog.show()
|
audioDialog.show()
|
||||||
|
|||||||
@@ -22,6 +22,7 @@ import com.woka.networking.ApiResult
|
|||||||
import com.woka.players.models.VideoPlayList
|
import com.woka.players.models.VideoPlayList
|
||||||
import com.woka.players.views.LiveStreamPlayerActivity
|
import com.woka.players.views.LiveStreamPlayerActivity
|
||||||
import com.woka.players.views.PlayerActivity
|
import com.woka.players.views.PlayerActivity
|
||||||
|
import com.woka.shop.views.ShopActivity
|
||||||
import com.woka.streamingurls.StreamingUrlRepository
|
import com.woka.streamingurls.StreamingUrlRepository
|
||||||
import com.woka.userPreference.UserType
|
import com.woka.userPreference.UserType
|
||||||
import com.woka.userdata.userDataModels.UserDataResponse
|
import com.woka.userdata.userDataModels.UserDataResponse
|
||||||
@@ -130,6 +131,14 @@ class Home2Fragment : Fragment() {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
shop.setOnClickListener {
|
||||||
|
activity?.let {
|
||||||
|
startActivity(Intent(it, ShopActivity::class.java))
|
||||||
|
|
||||||
|
clickHelper.upsertClickEvent(ContentType.OTHERS)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
playTrailer.setOnClickListener {
|
playTrailer.setOnClickListener {
|
||||||
activity?.let {
|
activity?.let {
|
||||||
it.startActivity(Intent(it, PlayerActivity::class.java).apply {
|
it.startActivity(Intent(it, PlayerActivity::class.java).apply {
|
||||||
|
|||||||
@@ -57,6 +57,7 @@ import com.woka.userdata.UserRepository
|
|||||||
import com.woka.utils.hide
|
import com.woka.utils.hide
|
||||||
import com.woka.utils.isNetworkConnected
|
import com.woka.utils.isNetworkConnected
|
||||||
import com.woka.utils.setVisibility
|
import com.woka.utils.setVisibility
|
||||||
|
import com.woka.utils.shareWokaApp
|
||||||
import com.woka.utils.show
|
import com.woka.utils.show
|
||||||
import com.woka.utils.toast
|
import com.woka.utils.toast
|
||||||
import com.woka.webseries.models.ShowData
|
import com.woka.webseries.models.ShowData
|
||||||
@@ -484,6 +485,11 @@ class MyListFragment : Fragment() {
|
|||||||
|
|
||||||
clickHelper.upsertClickEvent(ContentType.OTHERS)
|
clickHelper.upsertClickEvent(ContentType.OTHERS)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
dialogBinding.share.setOnClickListener {
|
||||||
|
clickHelper.upsertClickEvent(ContentType.OTHERS)
|
||||||
|
activity?.shareWokaApp()
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private fun onListGotEmpty(postType: PostType, isEng: Boolean = true) {
|
private fun onListGotEmpty(postType: PostType, isEng: Boolean = true) {
|
||||||
@@ -967,6 +973,24 @@ class MyListFragment : Fragment() {
|
|||||||
" "
|
" "
|
||||||
), Html.FROM_HTML_MODE_LEGACY
|
), Html.FROM_HTML_MODE_LEGACY
|
||||||
)
|
)
|
||||||
|
|
||||||
|
watchCard.setOnClickListener {
|
||||||
|
activity?.let { activity ->
|
||||||
|
data.video_url_hd?.let {
|
||||||
|
startActivity(
|
||||||
|
Intent(
|
||||||
|
activity,
|
||||||
|
KaraokePlayerActivity::class.java
|
||||||
|
).apply {
|
||||||
|
putExtra(
|
||||||
|
KaraokePlayerActivity.EXTRA_KARAOKE_DATA,
|
||||||
|
KaraokePlayerData(it, karaokeData.title)
|
||||||
|
)
|
||||||
|
})
|
||||||
|
}
|
||||||
|
}
|
||||||
|
clickHelper.upsertClickEvent(ContentType.KARAOKE_VIDEO, karaokeData.id)
|
||||||
|
}
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
moreDetailsList[0]?.let { data ->
|
moreDetailsList[0]?.let { data ->
|
||||||
@@ -977,6 +1001,24 @@ class MyListFragment : Fragment() {
|
|||||||
" "
|
" "
|
||||||
), Html.FROM_HTML_MODE_LEGACY
|
), Html.FROM_HTML_MODE_LEGACY
|
||||||
)
|
)
|
||||||
|
|
||||||
|
watchCard.setOnClickListener {
|
||||||
|
activity?.let { activity ->
|
||||||
|
data.video_url_hd?.let {
|
||||||
|
startActivity(
|
||||||
|
Intent(
|
||||||
|
activity,
|
||||||
|
KaraokePlayerActivity::class.java
|
||||||
|
).apply {
|
||||||
|
putExtra(
|
||||||
|
KaraokePlayerActivity.EXTRA_KARAOKE_DATA,
|
||||||
|
KaraokePlayerData(it, karaokeData.title)
|
||||||
|
)
|
||||||
|
})
|
||||||
|
}
|
||||||
|
}
|
||||||
|
clickHelper.upsertClickEvent(ContentType.KARAOKE_VIDEO, karaokeData.id)
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
@@ -995,23 +1037,6 @@ class MyListFragment : Fragment() {
|
|||||||
}
|
}
|
||||||
watchCard.setCompoundDrawablesWithIntrinsicBounds(R.drawable.ic_mic, 0, 0, 0)
|
watchCard.setCompoundDrawablesWithIntrinsicBounds(R.drawable.ic_mic, 0, 0, 0)
|
||||||
watchCard.text = getString(R.string.sing_now)
|
watchCard.text = getString(R.string.sing_now)
|
||||||
watchCard.setOnClickListener {
|
|
||||||
activity?.let { activity ->
|
|
||||||
karaokeData.video_url?.let {
|
|
||||||
startActivity(
|
|
||||||
Intent(
|
|
||||||
activity,
|
|
||||||
KaraokePlayerActivity::class.java
|
|
||||||
).apply {
|
|
||||||
putExtra(
|
|
||||||
KaraokePlayerActivity.EXTRA_KARAOKE_DATA,
|
|
||||||
KaraokePlayerData(it, karaokeData.title)
|
|
||||||
)
|
|
||||||
})
|
|
||||||
}
|
|
||||||
}
|
|
||||||
clickHelper.upsertClickEvent(ContentType.KARAOKE_VIDEO, karaokeData.id)
|
|
||||||
}
|
|
||||||
|
|
||||||
like.setOnClickListener {
|
like.setOnClickListener {
|
||||||
KaraokeRepository.likeUnLikeSong(
|
KaraokeRepository.likeUnLikeSong(
|
||||||
|
|||||||
@@ -25,7 +25,11 @@ class WebSeriesAdapter(
|
|||||||
oldItem: BookmarkedShowData,
|
oldItem: BookmarkedShowData,
|
||||||
newItem: BookmarkedShowData
|
newItem: BookmarkedShowData
|
||||||
): Boolean {
|
): Boolean {
|
||||||
return oldItem.title == newItem.title
|
return oldItem.thumbnail_path == newItem.thumbnail_path &&
|
||||||
|
oldItem.title == newItem.title &&
|
||||||
|
oldItem.is_liked == newItem.is_liked &&
|
||||||
|
oldItem.mark_as_favourite == newItem.mark_as_favourite &&
|
||||||
|
oldItem.likes_count == newItem.likes_count
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -32,6 +32,7 @@ import com.woka.players.views.PlayerActivity
|
|||||||
import com.woka.utils.hide
|
import com.woka.utils.hide
|
||||||
import com.woka.utils.isNetworkConnected
|
import com.woka.utils.isNetworkConnected
|
||||||
import com.woka.utils.setVisibility
|
import com.woka.utils.setVisibility
|
||||||
|
import com.woka.utils.shareWokaApp
|
||||||
import com.woka.utils.show
|
import com.woka.utils.show
|
||||||
import com.woka.utils.toast
|
import com.woka.utils.toast
|
||||||
import java.text.SimpleDateFormat
|
import java.text.SimpleDateFormat
|
||||||
@@ -121,6 +122,11 @@ class FavAudioFragment : Fragment() {
|
|||||||
|
|
||||||
clickHelper.upsertClickEvent(ContentType.OTHERS)
|
clickHelper.upsertClickEvent(ContentType.OTHERS)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
dialogBinding.share.setOnClickListener {
|
||||||
|
clickHelper.upsertClickEvent(ContentType.OTHERS)
|
||||||
|
activity?.shareWokaApp()
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private fun setObservers(){
|
private fun setObservers(){
|
||||||
|
|||||||
@@ -27,6 +27,7 @@ import com.woka.networking.ApiResult
|
|||||||
import com.woka.utils.hide
|
import com.woka.utils.hide
|
||||||
import com.woka.utils.isNetworkConnected
|
import com.woka.utils.isNetworkConnected
|
||||||
import com.woka.utils.setVisibility
|
import com.woka.utils.setVisibility
|
||||||
|
import com.woka.utils.shareWokaApp
|
||||||
import com.woka.utils.show
|
import com.woka.utils.show
|
||||||
import com.woka.utils.toast
|
import com.woka.utils.toast
|
||||||
import com.woka.wokagames.GamesRepository
|
import com.woka.wokagames.GamesRepository
|
||||||
@@ -107,6 +108,11 @@ class FavGameFragment : Fragment() {
|
|||||||
|
|
||||||
clickHelper.upsertClickEvent(ContentType.OTHERS)
|
clickHelper.upsertClickEvent(ContentType.OTHERS)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
dialogBinding.share.setOnClickListener {
|
||||||
|
clickHelper.upsertClickEvent(ContentType.OTHERS)
|
||||||
|
activity?.shareWokaApp()
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private fun initViews(){
|
private fun initViews(){
|
||||||
|
|||||||
@@ -21,7 +21,6 @@ import com.woka.database.models.clicks.ContentType
|
|||||||
import com.woka.databinding.DialogModuleShowerBinding
|
import com.woka.databinding.DialogModuleShowerBinding
|
||||||
import com.woka.databinding.FragmentFavoritesBinding
|
import com.woka.databinding.FragmentFavoritesBinding
|
||||||
import com.woka.home.mylist.MyListRepository
|
import com.woka.home.mylist.MyListRepository
|
||||||
import com.woka.home.mylist.models.FavKaraokeData
|
|
||||||
import com.woka.home.mylist.viewmodel.FavoriteViewModel
|
import com.woka.home.mylist.viewmodel.FavoriteViewModel
|
||||||
import com.woka.karaoke.KaraokeRepository
|
import com.woka.karaoke.KaraokeRepository
|
||||||
import com.woka.karaoke.adapters.KaraokeAdapter
|
import com.woka.karaoke.adapters.KaraokeAdapter
|
||||||
@@ -32,6 +31,7 @@ import com.woka.networking.ApiResult
|
|||||||
import com.woka.utils.hide
|
import com.woka.utils.hide
|
||||||
import com.woka.utils.isNetworkConnected
|
import com.woka.utils.isNetworkConnected
|
||||||
import com.woka.utils.setVisibility
|
import com.woka.utils.setVisibility
|
||||||
|
import com.woka.utils.shareWokaApp
|
||||||
import com.woka.utils.show
|
import com.woka.utils.show
|
||||||
import com.woka.utils.toast
|
import com.woka.utils.toast
|
||||||
import java.text.SimpleDateFormat
|
import java.text.SimpleDateFormat
|
||||||
@@ -107,6 +107,11 @@ class FavKaraokeFragment : Fragment() {
|
|||||||
|
|
||||||
clickHelper.upsertClickEvent(ContentType.OTHERS)
|
clickHelper.upsertClickEvent(ContentType.OTHERS)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
dialogBinding.share.setOnClickListener {
|
||||||
|
clickHelper.upsertClickEvent(ContentType.OTHERS)
|
||||||
|
activity?.shareWokaApp()
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private fun initViews(){
|
private fun initViews(){
|
||||||
@@ -207,6 +212,24 @@ class FavKaraokeFragment : Fragment() {
|
|||||||
" "
|
" "
|
||||||
), Html.FROM_HTML_MODE_LEGACY
|
), Html.FROM_HTML_MODE_LEGACY
|
||||||
)
|
)
|
||||||
|
|
||||||
|
watchCard.setOnClickListener {
|
||||||
|
activity?.let { activity ->
|
||||||
|
data.video_url_hd?.let {
|
||||||
|
startActivity(
|
||||||
|
Intent(
|
||||||
|
activity,
|
||||||
|
KaraokePlayerActivity::class.java
|
||||||
|
).apply {
|
||||||
|
putExtra(
|
||||||
|
KaraokePlayerActivity.EXTRA_KARAOKE_DATA,
|
||||||
|
KaraokePlayerData(it, karaokeData.title)
|
||||||
|
)
|
||||||
|
})
|
||||||
|
}
|
||||||
|
}
|
||||||
|
clickHelper.upsertClickEvent(ContentType.KARAOKE_VIDEO, karaokeData.id)
|
||||||
|
}
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
moreDetailsList[0]?.let { data ->
|
moreDetailsList[0]?.let { data ->
|
||||||
@@ -217,6 +240,24 @@ class FavKaraokeFragment : Fragment() {
|
|||||||
" "
|
" "
|
||||||
), Html.FROM_HTML_MODE_LEGACY
|
), Html.FROM_HTML_MODE_LEGACY
|
||||||
)
|
)
|
||||||
|
|
||||||
|
watchCard.setOnClickListener {
|
||||||
|
activity?.let { activity ->
|
||||||
|
data.video_url_hd?.let {
|
||||||
|
startActivity(
|
||||||
|
Intent(
|
||||||
|
activity,
|
||||||
|
KaraokePlayerActivity::class.java
|
||||||
|
).apply {
|
||||||
|
putExtra(
|
||||||
|
KaraokePlayerActivity.EXTRA_KARAOKE_DATA,
|
||||||
|
KaraokePlayerData(it, karaokeData.title)
|
||||||
|
)
|
||||||
|
})
|
||||||
|
}
|
||||||
|
}
|
||||||
|
clickHelper.upsertClickEvent(ContentType.KARAOKE_VIDEO, karaokeData.id)
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
@@ -235,23 +276,6 @@ class FavKaraokeFragment : Fragment() {
|
|||||||
}
|
}
|
||||||
watchCard.setCompoundDrawablesWithIntrinsicBounds(R.drawable.ic_mic, 0, 0, 0)
|
watchCard.setCompoundDrawablesWithIntrinsicBounds(R.drawable.ic_mic, 0, 0, 0)
|
||||||
watchCard.text = getString(R.string.sing_now)
|
watchCard.text = getString(R.string.sing_now)
|
||||||
watchCard.setOnClickListener {
|
|
||||||
activity?.let { activity ->
|
|
||||||
karaokeData.video_url?.let {
|
|
||||||
startActivity(
|
|
||||||
Intent(
|
|
||||||
activity,
|
|
||||||
KaraokePlayerActivity::class.java
|
|
||||||
).apply {
|
|
||||||
putExtra(
|
|
||||||
KaraokePlayerActivity.EXTRA_KARAOKE_DATA,
|
|
||||||
KaraokePlayerData(it, karaokeData.title)
|
|
||||||
)
|
|
||||||
})
|
|
||||||
}
|
|
||||||
}
|
|
||||||
clickHelper.upsertClickEvent(ContentType.KARAOKE_VIDEO, karaokeData.id)
|
|
||||||
}
|
|
||||||
|
|
||||||
like.setOnClickListener {
|
like.setOnClickListener {
|
||||||
KaraokeRepository.likeUnLikeSong(
|
KaraokeRepository.likeUnLikeSong(
|
||||||
|
|||||||
@@ -7,6 +7,8 @@ import androidx.core.view.ViewCompat
|
|||||||
import androidx.core.view.WindowInsetsCompat
|
import androidx.core.view.WindowInsetsCompat
|
||||||
import com.woka.R
|
import com.woka.R
|
||||||
import com.woka.audiobooks.views.AudioBooksActivity
|
import com.woka.audiobooks.views.AudioBooksActivity
|
||||||
|
import com.woka.database.helpers.ClicksHelper
|
||||||
|
import com.woka.database.models.clicks.ContentType
|
||||||
import com.woka.databinding.ActivityNotificationsBinding
|
import com.woka.databinding.ActivityNotificationsBinding
|
||||||
import com.woka.karaoke.views.KaraokeActivity
|
import com.woka.karaoke.views.KaraokeActivity
|
||||||
import com.woka.networking.ApiResult
|
import com.woka.networking.ApiResult
|
||||||
@@ -56,10 +58,14 @@ class NotificationsActivity : WokaBaseActivity() {
|
|||||||
binding.apply {
|
binding.apply {
|
||||||
retry.setOnClickListener {
|
retry.setOnClickListener {
|
||||||
NotificationRepository.loadNotifications()
|
NotificationRepository.loadNotifications()
|
||||||
|
|
||||||
|
ClicksHelper.upsertClickEvent(ContentType.OTHERS)
|
||||||
}
|
}
|
||||||
|
|
||||||
backBtn.setOnClickListener {
|
backBtn.setOnClickListener {
|
||||||
onBackPressedDispatcher.onBackPressed()
|
onBackPressedDispatcher.onBackPressed()
|
||||||
|
|
||||||
|
ClicksHelper.upsertClickEvent(ContentType.OTHERS)
|
||||||
}
|
}
|
||||||
|
|
||||||
adapter.clickListener = {
|
adapter.clickListener = {
|
||||||
@@ -77,6 +83,8 @@ class NotificationsActivity : WokaBaseActivity() {
|
|||||||
this@NotificationsActivity, destination
|
this@NotificationsActivity, destination
|
||||||
))
|
))
|
||||||
}
|
}
|
||||||
|
|
||||||
|
ClicksHelper.upsertClickEvent(ContentType.OTHERS)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -7,6 +7,8 @@ import androidx.activity.enableEdgeToEdge
|
|||||||
import androidx.core.view.ViewCompat
|
import androidx.core.view.ViewCompat
|
||||||
import androidx.core.view.WindowInsetsCompat
|
import androidx.core.view.WindowInsetsCompat
|
||||||
import com.woka.R
|
import com.woka.R
|
||||||
|
import com.woka.database.helpers.ClicksHelper
|
||||||
|
import com.woka.database.models.clicks.ContentType
|
||||||
import com.woka.databinding.ActivityAboutBinding
|
import com.woka.databinding.ActivityAboutBinding
|
||||||
import com.woka.utils.WokaBaseActivity
|
import com.woka.utils.WokaBaseActivity
|
||||||
import com.woka.utils.lightStatusBar
|
import com.woka.utils.lightStatusBar
|
||||||
@@ -36,6 +38,13 @@ class AboutActivity : WokaBaseActivity() {
|
|||||||
clickEvents()
|
clickEvents()
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Suppress("DEPRECATION")
|
||||||
|
@Deprecated("Deprecated in Java")
|
||||||
|
override fun onBackPressed() {
|
||||||
|
super.onBackPressed()
|
||||||
|
ClicksHelper.upsertClickEvent(ContentType.OTHERS)
|
||||||
|
}
|
||||||
|
|
||||||
private fun clickEvents() {
|
private fun clickEvents() {
|
||||||
binding.apply {
|
binding.apply {
|
||||||
backBtn.setOnClickListener {
|
backBtn.setOnClickListener {
|
||||||
|
|||||||
@@ -8,6 +8,8 @@ import androidx.appcompat.app.AppCompatActivity
|
|||||||
import androidx.core.view.ViewCompat
|
import androidx.core.view.ViewCompat
|
||||||
import androidx.core.view.WindowInsetsCompat
|
import androidx.core.view.WindowInsetsCompat
|
||||||
import com.woka.R
|
import com.woka.R
|
||||||
|
import com.woka.database.helpers.ClicksHelper
|
||||||
|
import com.woka.database.models.clicks.ContentType
|
||||||
import com.woka.databinding.ActivityFaqBinding
|
import com.woka.databinding.ActivityFaqBinding
|
||||||
import com.woka.modules.faqs.FAQsRepository
|
import com.woka.modules.faqs.FAQsRepository
|
||||||
import com.woka.networking.ApiResult
|
import com.woka.networking.ApiResult
|
||||||
@@ -44,6 +46,13 @@ class FaqActivity : AppCompatActivity() {
|
|||||||
setObservers()
|
setObservers()
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Suppress("DEPRECATION")
|
||||||
|
@Deprecated("Deprecated in Java")
|
||||||
|
override fun onBackPressed() {
|
||||||
|
super.onBackPressed()
|
||||||
|
ClicksHelper.upsertClickEvent(ContentType.OTHERS)
|
||||||
|
}
|
||||||
|
|
||||||
private fun setObservers() {
|
private fun setObservers() {
|
||||||
FAQsRepository.faqLiveData.observe(this){
|
FAQsRepository.faqLiveData.observe(this){
|
||||||
when(it){
|
when(it){
|
||||||
|
|||||||
@@ -10,6 +10,8 @@ import androidx.lifecycle.ViewModelProvider
|
|||||||
import com.bumptech.glide.Glide
|
import com.bumptech.glide.Glide
|
||||||
import com.woka.R
|
import com.woka.R
|
||||||
import com.woka.WokaApp.Companion.userPrefs
|
import com.woka.WokaApp.Companion.userPrefs
|
||||||
|
import com.woka.database.helpers.ClicksHelper
|
||||||
|
import com.woka.database.models.clicks.ContentType
|
||||||
import com.woka.databinding.ActivityUserProfileBinding
|
import com.woka.databinding.ActivityUserProfileBinding
|
||||||
import com.woka.networking.ApiResult
|
import com.woka.networking.ApiResult
|
||||||
import com.woka.userPreference.UserType
|
import com.woka.userPreference.UserType
|
||||||
@@ -51,6 +53,13 @@ class UserProfileActivity : WokaBaseActivity() {
|
|||||||
setObservers()
|
setObservers()
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Suppress("DEPRECATION")
|
||||||
|
@Deprecated("Deprecated in Java")
|
||||||
|
override fun onBackPressed() {
|
||||||
|
super.onBackPressed()
|
||||||
|
ClicksHelper.upsertClickEvent(ContentType.OTHERS)
|
||||||
|
}
|
||||||
|
|
||||||
private fun initViews() {
|
private fun initViews() {
|
||||||
binding.apply {
|
binding.apply {
|
||||||
genderMTxt.text = if (userPrefs?.userType == UserType.GUARDIAN) getString(R.string.male)
|
genderMTxt.text = if (userPrefs?.userType == UserType.GUARDIAN) getString(R.string.male)
|
||||||
@@ -63,8 +72,16 @@ class UserProfileActivity : WokaBaseActivity() {
|
|||||||
|
|
||||||
private fun clickEvents() {
|
private fun clickEvents() {
|
||||||
binding.apply {
|
binding.apply {
|
||||||
genderM.setOnClickListener { selectGender(Gender.MALE) }
|
genderM.setOnClickListener {
|
||||||
genderF.setOnClickListener { selectGender(Gender.FEMALE) }
|
selectGender(Gender.MALE)
|
||||||
|
|
||||||
|
ClicksHelper.upsertClickEvent(ContentType.OTHERS)
|
||||||
|
}
|
||||||
|
genderF.setOnClickListener {
|
||||||
|
selectGender(Gender.FEMALE)
|
||||||
|
|
||||||
|
ClicksHelper.upsertClickEvent(ContentType.OTHERS)
|
||||||
|
}
|
||||||
|
|
||||||
backBtn.setOnClickListener {
|
backBtn.setOnClickListener {
|
||||||
onBackPressedDispatcher.onBackPressed()
|
onBackPressedDispatcher.onBackPressed()
|
||||||
@@ -82,6 +99,8 @@ class UserProfileActivity : WokaBaseActivity() {
|
|||||||
}
|
}
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
ClicksHelper.upsertClickEvent(ContentType.OTHERS)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -6,6 +6,8 @@ import android.transition.Slide
|
|||||||
import android.util.Patterns
|
import android.util.Patterns
|
||||||
import android.view.Gravity
|
import android.view.Gravity
|
||||||
import android.view.MotionEvent
|
import android.view.MotionEvent
|
||||||
|
import android.view.View
|
||||||
|
import android.widget.AdapterView
|
||||||
import android.widget.ArrayAdapter
|
import android.widget.ArrayAdapter
|
||||||
import androidx.activity.enableEdgeToEdge
|
import androidx.activity.enableEdgeToEdge
|
||||||
import androidx.core.view.ViewCompat
|
import androidx.core.view.ViewCompat
|
||||||
@@ -13,6 +15,8 @@ import androidx.core.view.WindowInsetsCompat
|
|||||||
import androidx.lifecycle.ViewModelProvider
|
import androidx.lifecycle.ViewModelProvider
|
||||||
import com.woka.R
|
import com.woka.R
|
||||||
import com.woka.WokaApp.Companion.userPrefs
|
import com.woka.WokaApp.Companion.userPrefs
|
||||||
|
import com.woka.database.helpers.ClicksHelper
|
||||||
|
import com.woka.database.models.clicks.ContentType
|
||||||
import com.woka.databinding.ActivitySupportBinding
|
import com.woka.databinding.ActivitySupportBinding
|
||||||
import com.woka.networking.ApiResult
|
import com.woka.networking.ApiResult
|
||||||
import com.woka.utils.ProgressView
|
import com.woka.utils.ProgressView
|
||||||
@@ -59,6 +63,13 @@ class SupportActivity : WokaBaseActivity() {
|
|||||||
setObservers()
|
setObservers()
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Suppress("DEPRECATION")
|
||||||
|
@Deprecated("Deprecated in Java")
|
||||||
|
override fun onBackPressed() {
|
||||||
|
super.onBackPressed()
|
||||||
|
ClicksHelper.upsertClickEvent(ContentType.OTHERS)
|
||||||
|
}
|
||||||
|
|
||||||
private fun setObservers() {
|
private fun setObservers() {
|
||||||
viewModel.supportLiveData.observe(this){
|
viewModel.supportLiveData.observe(this){
|
||||||
when(it){
|
when(it){
|
||||||
@@ -108,6 +119,19 @@ class SupportActivity : WokaBaseActivity() {
|
|||||||
android.R.layout.simple_spinner_dropdown_item
|
android.R.layout.simple_spinner_dropdown_item
|
||||||
)
|
)
|
||||||
|
|
||||||
|
subjectSpinner.onItemSelectedListener = object : AdapterView.OnItemSelectedListener{
|
||||||
|
override fun onItemSelected(
|
||||||
|
parent: AdapterView<*>?,
|
||||||
|
view: View?,
|
||||||
|
position: Int,
|
||||||
|
id: Long
|
||||||
|
) {
|
||||||
|
ClicksHelper.upsertClickEvent(ContentType.OTHERS)
|
||||||
|
}
|
||||||
|
|
||||||
|
override fun onNothingSelected(parent: AdapterView<*>?) {}
|
||||||
|
}
|
||||||
|
|
||||||
subjectSpinner.setAdapter(adapter)
|
subjectSpinner.setAdapter(adapter)
|
||||||
|
|
||||||
message.setOnTouchListener { v, event ->
|
message.setOnTouchListener { v, event ->
|
||||||
@@ -150,6 +174,8 @@ class SupportActivity : WokaBaseActivity() {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
ClicksHelper.upsertClickEvent(ContentType.OTHERS)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,21 +1,28 @@
|
|||||||
package com.woka.home.viewmodels
|
package com.woka.home.viewmodels
|
||||||
|
|
||||||
import android.content.Context
|
import android.content.Context
|
||||||
|
import android.util.Log
|
||||||
import androidx.lifecycle.LiveData
|
import androidx.lifecycle.LiveData
|
||||||
import androidx.lifecycle.MutableLiveData
|
import androidx.lifecycle.MutableLiveData
|
||||||
import androidx.lifecycle.ViewModel
|
import androidx.lifecycle.ViewModel
|
||||||
import androidx.lifecycle.viewModelScope
|
import androidx.lifecycle.viewModelScope
|
||||||
import androidx.media3.common.MediaItem
|
import androidx.media3.common.MediaItem
|
||||||
|
import androidx.media3.common.PlaybackException
|
||||||
import androidx.media3.common.Player
|
import androidx.media3.common.Player
|
||||||
import androidx.media3.common.Player.Listener
|
import androidx.media3.common.Player.Listener
|
||||||
import androidx.media3.exoplayer.ExoPlayer
|
import androidx.media3.exoplayer.ExoPlayer
|
||||||
import com.woka.home.views.BottomNavigation.Companion.HOME
|
import com.woka.home.views.BottomNavigation.Companion.HOME
|
||||||
import com.woka.networking.ApiResult
|
import com.woka.networking.ApiResult
|
||||||
import com.woka.userdata.UserRepository
|
import com.woka.userdata.UserRepository
|
||||||
|
import com.woka.utils.TAG
|
||||||
import kotlinx.coroutines.launch
|
import kotlinx.coroutines.launch
|
||||||
|
|
||||||
class HomeViewModel : ViewModel() {
|
class HomeViewModel : ViewModel() {
|
||||||
|
|
||||||
|
companion object{
|
||||||
|
private const val ERROR_RETRY_COUNT = 10
|
||||||
|
}
|
||||||
|
|
||||||
var selectedBottomTab: Int = HOME
|
var selectedBottomTab: Int = HOME
|
||||||
var isHomeBackgroundBlurred: Boolean = false
|
var isHomeBackgroundBlurred: Boolean = false
|
||||||
|
|
||||||
@@ -34,6 +41,7 @@ class HomeViewModel : ViewModel() {
|
|||||||
var playerReadyCallback: (() -> Unit)? = null
|
var playerReadyCallback: (() -> Unit)? = null
|
||||||
|
|
||||||
var player: Player? = null
|
var player: Player? = null
|
||||||
|
private var errorRetryCount = ERROR_RETRY_COUNT
|
||||||
|
|
||||||
fun initPlayer(context: Context, liveUrl: String) {
|
fun initPlayer(context: Context, liveUrl: String) {
|
||||||
player = ExoPlayer.Builder(context).build()
|
player = ExoPlayer.Builder(context).build()
|
||||||
@@ -56,6 +64,25 @@ class HomeViewModel : ViewModel() {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
override fun onIsPlayingChanged(isPlaying: Boolean) {
|
||||||
|
super.onIsPlayingChanged(isPlaying)
|
||||||
|
if (isPlaying){
|
||||||
|
errorRetryCount = ERROR_RETRY_COUNT
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
override fun onPlayerError(error: PlaybackException) {
|
||||||
|
super.onPlayerError(error)
|
||||||
|
Log.d(TAG, "onPlayerError: $errorRetryCount")
|
||||||
|
if (errorRetryCount > 0){
|
||||||
|
errorRetryCount--
|
||||||
|
|
||||||
|
player?.setMediaItem(MediaItem.fromUri(liveUrl))
|
||||||
|
player?.playWhenReady = true
|
||||||
|
player?.prepare()
|
||||||
|
}
|
||||||
|
}
|
||||||
})
|
})
|
||||||
|
|
||||||
player?.setMediaItem(MediaItem.fromUri(liveUrl))
|
player?.setMediaItem(MediaItem.fromUri(liveUrl))
|
||||||
|
|||||||
@@ -113,8 +113,6 @@ class MoreHomeActivity : WokaBaseActivity() {
|
|||||||
|
|
||||||
blogBinding.close.setOnClickListener {
|
blogBinding.close.setOnClickListener {
|
||||||
blogDialog.dismiss()
|
blogDialog.dismiss()
|
||||||
|
|
||||||
clickHelper.upsertClickEvent(ContentType.OTHERS)
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -122,6 +120,8 @@ class MoreHomeActivity : WokaBaseActivity() {
|
|||||||
binding.apply {
|
binding.apply {
|
||||||
more.setOnClickListener {
|
more.setOnClickListener {
|
||||||
onBackPressedDispatcher.onBackPressed()
|
onBackPressedDispatcher.onBackPressed()
|
||||||
|
|
||||||
|
clickHelper.upsertClickEvent(ContentType.OTHERS)
|
||||||
}
|
}
|
||||||
|
|
||||||
playTrailer.setOnClickListener {
|
playTrailer.setOnClickListener {
|
||||||
|
|||||||
@@ -9,6 +9,8 @@ import androidx.recyclerview.widget.ListAdapter
|
|||||||
import androidx.recyclerview.widget.RecyclerView.ViewHolder
|
import androidx.recyclerview.widget.RecyclerView.ViewHolder
|
||||||
import com.woka.R
|
import com.woka.R
|
||||||
import com.woka.WokaApp.Companion.userPrefs
|
import com.woka.WokaApp.Companion.userPrefs
|
||||||
|
import com.woka.database.helpers.ClicksHelper
|
||||||
|
import com.woka.database.models.clicks.ContentType
|
||||||
import com.woka.databinding.ShowViewHolderBinding
|
import com.woka.databinding.ShowViewHolderBinding
|
||||||
import com.woka.karaoke.KaraokeRepository
|
import com.woka.karaoke.KaraokeRepository
|
||||||
import com.woka.karaoke.models.listing.KaraokeData
|
import com.woka.karaoke.models.listing.KaraokeData
|
||||||
@@ -126,6 +128,8 @@ class KaraokeAdapter(
|
|||||||
}
|
}
|
||||||
|
|
||||||
karaokeData.id?.let{onKaraokeChanged(it, false, karaokeData)}
|
karaokeData.id?.let{onKaraokeChanged(it, false, karaokeData)}
|
||||||
|
|
||||||
|
ClicksHelper.upsertClickEvent(ContentType.KARAOKE_VIDEO, karaokeData.id)
|
||||||
}
|
}
|
||||||
|
|
||||||
fav.isSelected = karaokeData.mark_as_favourite == true
|
fav.isSelected = karaokeData.mark_as_favourite == true
|
||||||
@@ -151,6 +155,8 @@ class KaraokeAdapter(
|
|||||||
fav.isSelected = karaokeData.mark_as_favourite == true
|
fav.isSelected = karaokeData.mark_as_favourite == true
|
||||||
|
|
||||||
karaokeData.id?.let{onKaraokeChanged(it, false, karaokeData)}
|
karaokeData.id?.let{onKaraokeChanged(it, false, karaokeData)}
|
||||||
|
|
||||||
|
ClicksHelper.upsertClickEvent(ContentType.KARAOKE_VIDEO, karaokeData.id)
|
||||||
}
|
}
|
||||||
|
|
||||||
root.setOnClickListener {
|
root.setOnClickListener {
|
||||||
|
|||||||
@@ -8,5 +8,6 @@ data class ContentMoreDetail(
|
|||||||
val post_type: Int?,
|
val post_type: Int?,
|
||||||
val tags_keywords: String?,
|
val tags_keywords: String?,
|
||||||
val title: String?,
|
val title: String?,
|
||||||
val url: String?
|
val url: String?,
|
||||||
|
val video_url_hd: String?
|
||||||
)
|
)
|
||||||
@@ -31,6 +31,8 @@ import androidx.media3.common.Player
|
|||||||
import androidx.media3.common.util.UnstableApi
|
import androidx.media3.common.util.UnstableApi
|
||||||
import androidx.media3.exoplayer.ExoPlayer
|
import androidx.media3.exoplayer.ExoPlayer
|
||||||
import com.woka.R
|
import com.woka.R
|
||||||
|
import com.woka.database.helpers.ClicksHelper
|
||||||
|
import com.woka.database.models.clicks.ContentType
|
||||||
import com.woka.databinding.ActivityKaraokePlayerrBinding
|
import com.woka.databinding.ActivityKaraokePlayerrBinding
|
||||||
import com.woka.players.models.PlayBackState
|
import com.woka.players.models.PlayBackState
|
||||||
import com.woka.utils.TAG
|
import com.woka.utils.TAG
|
||||||
@@ -167,6 +169,8 @@ class KaraokePlayerActivity : WokaBaseActivity() {
|
|||||||
File(recordingOutputPath).deleteOnExit()
|
File(recordingOutputPath).deleteOnExit()
|
||||||
File(karaokeFinalPath).deleteOnExit()
|
File(karaokeFinalPath).deleteOnExit()
|
||||||
File(karaokeMusicPath).deleteOnExit()
|
File(karaokeMusicPath).deleteOnExit()
|
||||||
|
|
||||||
|
ClicksHelper.upsertClickEvent(ContentType.OTHERS)
|
||||||
}
|
}
|
||||||
|
|
||||||
private fun initViews() {
|
private fun initViews() {
|
||||||
@@ -188,6 +192,8 @@ class KaraokePlayerActivity : WokaBaseActivity() {
|
|||||||
binding.mainView.show()
|
binding.mainView.show()
|
||||||
binding.errorView.hide()
|
binding.errorView.hide()
|
||||||
playVideo()
|
playVideo()
|
||||||
|
|
||||||
|
ClicksHelper.upsertClickEvent(ContentType.OTHERS)
|
||||||
}
|
}
|
||||||
|
|
||||||
closeBtn.setOnClickListener {
|
closeBtn.setOnClickListener {
|
||||||
@@ -196,12 +202,16 @@ class KaraokePlayerActivity : WokaBaseActivity() {
|
|||||||
|
|
||||||
recordBtn.setOnClickListener {
|
recordBtn.setOnClickListener {
|
||||||
startStopRecording()
|
startStopRecording()
|
||||||
|
|
||||||
|
ClicksHelper.upsertClickEvent(ContentType.KARAOKE_VIDEO, karaokePlayerData?.id)
|
||||||
}
|
}
|
||||||
|
|
||||||
audioBtn.setOnClickListener {
|
audioBtn.setOnClickListener {
|
||||||
if (audioBtn.isEnabled){
|
if (audioBtn.isEnabled){
|
||||||
playStopPlayingAudio()
|
playStopPlayingAudio()
|
||||||
}
|
}
|
||||||
|
|
||||||
|
ClicksHelper.upsertClickEvent(ContentType.KARAOKE_VIDEO, karaokePlayerData?.id)
|
||||||
}
|
}
|
||||||
|
|
||||||
downloadBtn.setOnClickListener {
|
downloadBtn.setOnClickListener {
|
||||||
@@ -219,6 +229,8 @@ class KaraokePlayerActivity : WokaBaseActivity() {
|
|||||||
Log.d(TAG, "clickEvents: $e")
|
Log.d(TAG, "clickEvents: $e")
|
||||||
toast(getString(R.string.something_went_wrong))
|
toast(getString(R.string.something_went_wrong))
|
||||||
}
|
}
|
||||||
|
|
||||||
|
ClicksHelper.upsertClickEvent(ContentType.KARAOKE_VIDEO, karaokePlayerData?.id)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -335,6 +347,8 @@ class KaraokePlayerActivity : WokaBaseActivity() {
|
|||||||
} else {
|
} else {
|
||||||
PlayBackState.PAUSED
|
PlayBackState.PAUSED
|
||||||
}
|
}
|
||||||
|
|
||||||
|
ClicksHelper.upsertClickEvent(ContentType.KARAOKE_VIDEO, karaokePlayerData?.id)
|
||||||
}
|
}
|
||||||
|
|
||||||
override fun onPlayerError(error: PlaybackException) {
|
override fun onPlayerError(error: PlaybackException) {
|
||||||
|
|||||||
@@ -6,5 +6,6 @@ import kotlinx.parcelize.Parcelize
|
|||||||
@Parcelize
|
@Parcelize
|
||||||
data class KaraokePlayerData(
|
data class KaraokePlayerData(
|
||||||
val karaokeVideoUrl: String,
|
val karaokeVideoUrl: String,
|
||||||
val title: String?
|
val title: String?,
|
||||||
|
val id: Int?
|
||||||
): Parcelable
|
): Parcelable
|
||||||
@@ -17,6 +17,8 @@ import androidx.recyclerview.widget.SimpleItemAnimator
|
|||||||
import com.google.android.material.appbar.CollapsingToolbarLayout
|
import com.google.android.material.appbar.CollapsingToolbarLayout
|
||||||
import com.woka.R
|
import com.woka.R
|
||||||
import com.woka.WokaApp.Companion.userPrefs
|
import com.woka.WokaApp.Companion.userPrefs
|
||||||
|
import com.woka.database.helpers.ClicksHelper
|
||||||
|
import com.woka.database.models.clicks.ContentType
|
||||||
import com.woka.databinding.ActivityKaraokeBinding
|
import com.woka.databinding.ActivityKaraokeBinding
|
||||||
import com.woka.databinding.DialogModuleShowerBinding
|
import com.woka.databinding.DialogModuleShowerBinding
|
||||||
import com.woka.karaoke.KaraokeRepository
|
import com.woka.karaoke.KaraokeRepository
|
||||||
@@ -34,6 +36,7 @@ import com.woka.utils.WokaBaseActivity
|
|||||||
import com.woka.utils.hide
|
import com.woka.utils.hide
|
||||||
import com.woka.utils.isNetworkConnected
|
import com.woka.utils.isNetworkConnected
|
||||||
import com.woka.utils.setVisibility
|
import com.woka.utils.setVisibility
|
||||||
|
import com.woka.utils.shareWokaApp
|
||||||
import com.woka.utils.show
|
import com.woka.utils.show
|
||||||
import com.woka.utils.toast
|
import com.woka.utils.toast
|
||||||
import java.text.SimpleDateFormat
|
import java.text.SimpleDateFormat
|
||||||
@@ -75,9 +78,10 @@ class KaraokeActivity : WokaBaseActivity() {
|
|||||||
karaokeAdapter = KaraokeAdapter(this, ::onKaraokeClicked, ::onKaraokeChanged) {
|
karaokeAdapter = KaraokeAdapter(this, ::onKaraokeClicked, ::onKaraokeChanged) {
|
||||||
noSignInDialog.show()
|
noSignInDialog.show()
|
||||||
}
|
}
|
||||||
continueKaraokeAdapter = ContinueKaraokeAdapter(this, ::onKaraokeClicked, ::onKaraokeChanged) {
|
continueKaraokeAdapter =
|
||||||
noSignInDialog.show()
|
ContinueKaraokeAdapter(this, ::onKaraokeClicked, ::onKaraokeChanged) {
|
||||||
}
|
noSignInDialog.show()
|
||||||
|
}
|
||||||
|
|
||||||
dialogBinding = DialogModuleShowerBinding.inflate(layoutInflater)
|
dialogBinding = DialogModuleShowerBinding.inflate(layoutInflater)
|
||||||
karaokeDialog = Dialog(this)
|
karaokeDialog = Dialog(this)
|
||||||
@@ -98,6 +102,12 @@ class KaraokeActivity : WokaBaseActivity() {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
override fun onDestroy() {
|
||||||
|
super.onDestroy()
|
||||||
|
|
||||||
|
ClicksHelper.upsertClickEvent(ContentType.OTHERS)
|
||||||
|
}
|
||||||
|
|
||||||
private fun initViews() {
|
private fun initViews() {
|
||||||
binding.apply {
|
binding.apply {
|
||||||
adjustTrailerImage()
|
adjustTrailerImage()
|
||||||
@@ -130,7 +140,13 @@ class KaraokeActivity : WokaBaseActivity() {
|
|||||||
// do nothing
|
// do nothing
|
||||||
}
|
}
|
||||||
|
|
||||||
dialogBinding.close.setOnClickListener { karaokeDialog.dismiss() }
|
dialogBinding.close.setOnClickListener {
|
||||||
|
karaokeDialog.dismiss()
|
||||||
|
}
|
||||||
|
|
||||||
|
karaokeDialog.setOnDismissListener {
|
||||||
|
ClicksHelper.upsertClickEvent(ContentType.OTHERS)
|
||||||
|
}
|
||||||
|
|
||||||
dialogBinding.watchCard.setCompoundDrawablesWithIntrinsicBounds(R.drawable.ic_mic, 0, 0, 0)
|
dialogBinding.watchCard.setCompoundDrawablesWithIntrinsicBounds(R.drawable.ic_mic, 0, 0, 0)
|
||||||
dialogBinding.watchCard.backgroundTintList =
|
dialogBinding.watchCard.backgroundTintList =
|
||||||
@@ -146,10 +162,14 @@ class KaraokeActivity : WokaBaseActivity() {
|
|||||||
|
|
||||||
retryBtn.setOnClickListener {
|
retryBtn.setOnClickListener {
|
||||||
viewModel.loadKaraokeSongs()
|
viewModel.loadKaraokeSongs()
|
||||||
|
|
||||||
|
ClicksHelper.upsertClickEvent(ContentType.OTHERS)
|
||||||
}
|
}
|
||||||
|
|
||||||
loadMoreBtn.setOnClickListener {
|
loadMoreBtn.setOnClickListener {
|
||||||
viewModel.loadKaraokeSongs()
|
viewModel.loadKaraokeSongs()
|
||||||
|
|
||||||
|
ClicksHelper.upsertClickEvent(ContentType.OTHERS)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -177,15 +197,33 @@ class KaraokeActivity : WokaBaseActivity() {
|
|||||||
|
|
||||||
trailerBtn.setOnClickListener {
|
trailerBtn.setOnClickListener {
|
||||||
onSingClicked(karaokeData)
|
onSingClicked(karaokeData)
|
||||||
|
|
||||||
|
ClicksHelper.upsertClickEvent(ContentType.KARAOKE_VIDEO, it.id)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private fun onSingClicked(karaokeData: KaraokeData) {
|
private fun onSingClicked(karaokeData: KaraokeData) {
|
||||||
karaokeData.video_url?.let {
|
karaokeData.content_more_details?.let { moreDetailsList ->
|
||||||
startActivity(Intent(this@KaraokeActivity, KaraokePlayerActivity::class.java).apply {
|
if (moreDetailsList.isNotEmpty()){
|
||||||
putExtra(EXTRA_KARAOKE_DATA, KaraokePlayerData(it, karaokeData.title))
|
if (userPrefs?.appLanguage == "hi" && moreDetailsList.size > 1){
|
||||||
})
|
moreDetailsList[1]?.let {data ->
|
||||||
|
data.video_url_hd?.let {
|
||||||
|
startActivity(Intent(this@KaraokeActivity, KaraokePlayerActivity::class.java).apply {
|
||||||
|
putExtra(EXTRA_KARAOKE_DATA, KaraokePlayerData(it, karaokeData.title, karaokeData.id))
|
||||||
|
})
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}else{
|
||||||
|
moreDetailsList[0]?.let {data ->
|
||||||
|
data.video_url_hd?.let {
|
||||||
|
startActivity(Intent(this@KaraokeActivity, KaraokePlayerActivity::class.java).apply {
|
||||||
|
putExtra(EXTRA_KARAOKE_DATA, KaraokePlayerData(it, karaokeData.title, karaokeData.id))
|
||||||
|
})
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -258,17 +296,24 @@ class KaraokeActivity : WokaBaseActivity() {
|
|||||||
)
|
)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
share.setOnClickListener {
|
||||||
|
ClicksHelper.upsertClickEvent(ContentType.KARAOKE_VIDEO, karaokeData.id)
|
||||||
|
shareWokaApp()
|
||||||
|
}
|
||||||
|
|
||||||
watchCard.setOnClickListener {
|
watchCard.setOnClickListener {
|
||||||
onSingClicked(karaokeData)
|
onSingClicked(karaokeData)
|
||||||
|
|
||||||
|
ClicksHelper.upsertClickEvent(ContentType.KARAOKE_VIDEO, karaokeData.id)
|
||||||
}
|
}
|
||||||
|
|
||||||
like.setOnClickListener {
|
like.setOnClickListener {
|
||||||
if (!isNetworkConnected()){
|
if (!isNetworkConnected()) {
|
||||||
toast(getString(R.string.no_internet))
|
toast(getString(R.string.no_internet))
|
||||||
return@setOnClickListener
|
return@setOnClickListener
|
||||||
}
|
}
|
||||||
|
|
||||||
if (userPrefs?.userType == UserType.GUEST || userPrefs?.userType == UserType.NONE){
|
if (userPrefs?.userType == UserType.GUEST || userPrefs?.userType == UserType.NONE) {
|
||||||
noSignInDialog.show()
|
noSignInDialog.show()
|
||||||
return@setOnClickListener
|
return@setOnClickListener
|
||||||
}
|
}
|
||||||
@@ -296,15 +341,17 @@ class KaraokeActivity : WokaBaseActivity() {
|
|||||||
}
|
}
|
||||||
like.isSelected = !like.isSelected
|
like.isSelected = !like.isSelected
|
||||||
likeCount.text = "${karaokeData.likes_count}"
|
likeCount.text = "${karaokeData.likes_count}"
|
||||||
|
|
||||||
|
ClicksHelper.upsertClickEvent(ContentType.KARAOKE_VIDEO, karaokeData.id)
|
||||||
}
|
}
|
||||||
|
|
||||||
fav.setOnClickListener {
|
fav.setOnClickListener {
|
||||||
if (!isNetworkConnected()){
|
if (!isNetworkConnected()) {
|
||||||
toast(getString(R.string.no_internet))
|
toast(getString(R.string.no_internet))
|
||||||
return@setOnClickListener
|
return@setOnClickListener
|
||||||
}
|
}
|
||||||
|
|
||||||
if (userPrefs?.userType == UserType.GUEST || userPrefs?.userType == UserType.NONE){
|
if (userPrefs?.userType == UserType.GUEST || userPrefs?.userType == UserType.NONE) {
|
||||||
noSignInDialog.show()
|
noSignInDialog.show()
|
||||||
return@setOnClickListener
|
return@setOnClickListener
|
||||||
}
|
}
|
||||||
@@ -322,10 +369,8 @@ class KaraokeActivity : WokaBaseActivity() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
fav.isSelected = !fav.isSelected
|
fav.isSelected = !fav.isSelected
|
||||||
}
|
|
||||||
|
|
||||||
close.setOnClickListener {
|
ClicksHelper.upsertClickEvent(ContentType.KARAOKE_VIDEO, karaokeData.id)
|
||||||
karaokeDialog.dismiss()
|
|
||||||
}
|
}
|
||||||
|
|
||||||
karaokeDialog.show()
|
karaokeDialog.show()
|
||||||
@@ -366,6 +411,8 @@ class KaraokeActivity : WokaBaseActivity() {
|
|||||||
private fun onKaraokeClicked(karaokeData: KaraokeData) {
|
private fun onKaraokeClicked(karaokeData: KaraokeData) {
|
||||||
loadTrailerData(karaokeData)
|
loadTrailerData(karaokeData)
|
||||||
showKaraokeDialog(karaokeData)
|
showKaraokeDialog(karaokeData)
|
||||||
|
|
||||||
|
ClicksHelper.upsertClickEvent(ContentType.KARAOKE_VIDEO, karaokeData.id)
|
||||||
}
|
}
|
||||||
|
|
||||||
private fun setObservers() {
|
private fun setObservers() {
|
||||||
|
|||||||
@@ -13,6 +13,8 @@ import androidx.core.view.ViewCompat
|
|||||||
import androidx.core.view.WindowInsetsCompat
|
import androidx.core.view.WindowInsetsCompat
|
||||||
import com.woka.R
|
import com.woka.R
|
||||||
import com.woka.WokaApp
|
import com.woka.WokaApp
|
||||||
|
import com.woka.database.helpers.ClicksHelper
|
||||||
|
import com.woka.database.models.clicks.ContentType
|
||||||
import com.woka.databinding.ActivityBlogsBinding
|
import com.woka.databinding.ActivityBlogsBinding
|
||||||
import com.woka.databinding.DialogBlogsBinding
|
import com.woka.databinding.DialogBlogsBinding
|
||||||
import com.woka.modules.blogs.BlogsGridAdapter
|
import com.woka.modules.blogs.BlogsGridAdapter
|
||||||
@@ -54,6 +56,13 @@ class BlogsActivity : AppCompatActivity() {
|
|||||||
setObservers()
|
setObservers()
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Suppress("DEPRECATION")
|
||||||
|
@Deprecated("Deprecated in Java")
|
||||||
|
override fun onBackPressed() {
|
||||||
|
super.onBackPressed()
|
||||||
|
ClicksHelper.upsertClickEvent(ContentType.OTHERS)
|
||||||
|
}
|
||||||
|
|
||||||
private fun initViews(){
|
private fun initViews(){
|
||||||
binding.apply {
|
binding.apply {
|
||||||
toolbar.title.text = getString(R.string.blogs)
|
toolbar.title.text = getString(R.string.blogs)
|
||||||
@@ -65,6 +74,8 @@ class BlogsActivity : AppCompatActivity() {
|
|||||||
binding.apply {
|
binding.apply {
|
||||||
retryBtn.setOnClickListener {
|
retryBtn.setOnClickListener {
|
||||||
BlogsRepository.loadBlogs()
|
BlogsRepository.loadBlogs()
|
||||||
|
|
||||||
|
ClicksHelper.upsertClickEvent(ContentType.OTHERS)
|
||||||
}
|
}
|
||||||
|
|
||||||
toolbar.backBtn.setOnClickListener {
|
toolbar.backBtn.setOnClickListener {
|
||||||
@@ -129,6 +140,8 @@ class BlogsActivity : AppCompatActivity() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
blogDialog.show()
|
blogDialog.show()
|
||||||
|
|
||||||
|
ClicksHelper.upsertClickEvent(ContentType.OTHERS)
|
||||||
}
|
}
|
||||||
|
|
||||||
private fun setObservers(){
|
private fun setObservers(){
|
||||||
|
|||||||
@@ -5,6 +5,8 @@ import androidx.activity.enableEdgeToEdge
|
|||||||
import androidx.core.view.ViewCompat
|
import androidx.core.view.ViewCompat
|
||||||
import androidx.core.view.WindowInsetsCompat
|
import androidx.core.view.WindowInsetsCompat
|
||||||
import com.woka.R
|
import com.woka.R
|
||||||
|
import com.woka.database.helpers.ClicksHelper
|
||||||
|
import com.woka.database.models.clicks.ContentType
|
||||||
import com.woka.databinding.ActivityDisclaimerBinding
|
import com.woka.databinding.ActivityDisclaimerBinding
|
||||||
import com.woka.utils.WokaBaseActivity
|
import com.woka.utils.WokaBaseActivity
|
||||||
|
|
||||||
@@ -27,4 +29,11 @@ class DisclaimerActivity : WokaBaseActivity() {
|
|||||||
onBackPressedDispatcher.onBackPressed()
|
onBackPressedDispatcher.onBackPressed()
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Suppress("DEPRECATION")
|
||||||
|
@Deprecated("Deprecated in Java")
|
||||||
|
override fun onBackPressed() {
|
||||||
|
super.onBackPressed()
|
||||||
|
ClicksHelper.upsertClickEvent(ContentType.OTHERS)
|
||||||
|
}
|
||||||
}
|
}
|
||||||
@@ -13,6 +13,8 @@ import androidx.activity.enableEdgeToEdge
|
|||||||
import androidx.core.view.ViewCompat
|
import androidx.core.view.ViewCompat
|
||||||
import androidx.core.view.WindowInsetsCompat
|
import androidx.core.view.WindowInsetsCompat
|
||||||
import com.woka.R
|
import com.woka.R
|
||||||
|
import com.woka.database.helpers.ClicksHelper
|
||||||
|
import com.woka.database.models.clicks.ContentType
|
||||||
import com.woka.databinding.ActivityWebViewBinding
|
import com.woka.databinding.ActivityWebViewBinding
|
||||||
import com.woka.utils.WEBSITE_BASE_URL
|
import com.woka.utils.WEBSITE_BASE_URL
|
||||||
import com.woka.utils.WokaBaseActivity
|
import com.woka.utils.WokaBaseActivity
|
||||||
@@ -63,6 +65,13 @@ class WebViewActivity : WokaBaseActivity() {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Suppress("DEPRECATION")
|
||||||
|
@Deprecated("Deprecated in Java")
|
||||||
|
override fun onBackPressed() {
|
||||||
|
super.onBackPressed()
|
||||||
|
ClicksHelper.upsertClickEvent(ContentType.OTHERS)
|
||||||
|
}
|
||||||
|
|
||||||
override fun onSupportNavigateUp(): Boolean {
|
override fun onSupportNavigateUp(): Boolean {
|
||||||
onBackPressedDispatcher.onBackPressed()
|
onBackPressedDispatcher.onBackPressed()
|
||||||
return true
|
return true
|
||||||
|
|||||||
@@ -9,6 +9,8 @@ import android.view.WindowManager
|
|||||||
import androidx.fragment.app.Fragment
|
import androidx.fragment.app.Fragment
|
||||||
import androidx.navigation.fragment.findNavController
|
import androidx.navigation.fragment.findNavController
|
||||||
import com.woka.R
|
import com.woka.R
|
||||||
|
import com.woka.database.helpers.ClicksHelper
|
||||||
|
import com.woka.database.models.clicks.ContentType
|
||||||
import com.woka.databinding.FragmentAgeSelectBinding
|
import com.woka.databinding.FragmentAgeSelectBinding
|
||||||
import com.woka.onboard.fragments.GetEmailFragment.Companion.IS_UNDER_16
|
import com.woka.onboard.fragments.GetEmailFragment.Companion.IS_UNDER_16
|
||||||
|
|
||||||
@@ -34,16 +36,22 @@ class AgeSelectionFragment : Fragment() {
|
|||||||
val args = Bundle()
|
val args = Bundle()
|
||||||
args.putBoolean(IS_UNDER_16, true)
|
args.putBoolean(IS_UNDER_16, true)
|
||||||
findNavController().navigate(R.id.action_age_select_fragment_to_getEmailFragment, args)
|
findNavController().navigate(R.id.action_age_select_fragment_to_getEmailFragment, args)
|
||||||
|
|
||||||
|
ClicksHelper.upsertClickEvent(ContentType.OTHERS)
|
||||||
}
|
}
|
||||||
|
|
||||||
binding.above16.setOnClickListener {
|
binding.above16.setOnClickListener {
|
||||||
val args = Bundle()
|
val args = Bundle()
|
||||||
args.putBoolean(IS_UNDER_16, false)
|
args.putBoolean(IS_UNDER_16, false)
|
||||||
findNavController().navigate(R.id.action_age_select_fragment_to_getEmailFragment, args)
|
findNavController().navigate(R.id.action_age_select_fragment_to_getEmailFragment, args)
|
||||||
|
|
||||||
|
ClicksHelper.upsertClickEvent(ContentType.OTHERS)
|
||||||
}
|
}
|
||||||
|
|
||||||
binding.backBtn.setOnClickListener{
|
binding.backBtn.setOnClickListener{
|
||||||
activity?.onBackPressedDispatcher?.onBackPressed()
|
activity?.onBackPressedDispatcher?.onBackPressed()
|
||||||
|
|
||||||
|
ClicksHelper.upsertClickEvent(ContentType.OTHERS)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -8,6 +8,8 @@ import android.view.ViewGroup
|
|||||||
import androidx.lifecycle.ViewModelProvider
|
import androidx.lifecycle.ViewModelProvider
|
||||||
import androidx.navigation.fragment.findNavController
|
import androidx.navigation.fragment.findNavController
|
||||||
import com.woka.R
|
import com.woka.R
|
||||||
|
import com.woka.database.helpers.ClicksHelper
|
||||||
|
import com.woka.database.models.clicks.ContentType
|
||||||
import com.woka.databinding.FragmentChildListBinding
|
import com.woka.databinding.FragmentChildListBinding
|
||||||
import com.woka.onboard.adapters.ChildAdapter
|
import com.woka.onboard.adapters.ChildAdapter
|
||||||
import com.woka.onboard.fragments.GetCodeFragment.Companion.EMAIL_ARG
|
import com.woka.onboard.fragments.GetCodeFragment.Companion.EMAIL_ARG
|
||||||
@@ -45,7 +47,11 @@ class ChildListFragment : Fragment() {
|
|||||||
|
|
||||||
private fun clickEvents() {
|
private fun clickEvents() {
|
||||||
binding.apply {
|
binding.apply {
|
||||||
next.setOnClickListener { gotoSignUpFragment() }
|
next.setOnClickListener {
|
||||||
|
gotoSignUpFragment()
|
||||||
|
|
||||||
|
ClicksHelper.upsertClickEvent(ContentType.OTHERS)
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -13,6 +13,8 @@ import androidx.lifecycle.ViewModelProvider
|
|||||||
import androidx.lifecycle.lifecycleScope
|
import androidx.lifecycle.lifecycleScope
|
||||||
import androidx.navigation.fragment.findNavController
|
import androidx.navigation.fragment.findNavController
|
||||||
import com.woka.R
|
import com.woka.R
|
||||||
|
import com.woka.database.helpers.ClicksHelper
|
||||||
|
import com.woka.database.models.clicks.ContentType
|
||||||
import com.woka.databinding.FragmentGetCodeBinding
|
import com.woka.databinding.FragmentGetCodeBinding
|
||||||
import com.woka.networking.ApiResult
|
import com.woka.networking.ApiResult
|
||||||
import com.woka.networking.NoSuccessError
|
import com.woka.networking.NoSuccessError
|
||||||
@@ -291,6 +293,8 @@ class GetCodeFragment : Fragment() {
|
|||||||
binding.apply {
|
binding.apply {
|
||||||
backBtn.setOnClickListener {
|
backBtn.setOnClickListener {
|
||||||
activity?.onBackPressedDispatcher?.onBackPressed()
|
activity?.onBackPressedDispatcher?.onBackPressed()
|
||||||
|
|
||||||
|
ClicksHelper.upsertClickEvent(ContentType.OTHERS)
|
||||||
}
|
}
|
||||||
|
|
||||||
next.setOnClickListener {
|
next.setOnClickListener {
|
||||||
@@ -301,6 +305,8 @@ class GetCodeFragment : Fragment() {
|
|||||||
} else {
|
} else {
|
||||||
viewModel.validateOTP(uniqueString, otp)
|
viewModel.validateOTP(uniqueString, otp)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
ClicksHelper.upsertClickEvent(ContentType.OTHERS)
|
||||||
}
|
}
|
||||||
|
|
||||||
resend.setOnClickListener {
|
resend.setOnClickListener {
|
||||||
@@ -311,6 +317,8 @@ class GetCodeFragment : Fragment() {
|
|||||||
} else {
|
} else {
|
||||||
viewModel.sendOTP(email, CHILD_TYPE)
|
viewModel.sendOTP(email, CHILD_TYPE)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
ClicksHelper.upsertClickEvent(ContentType.OTHERS)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -10,6 +10,8 @@ import androidx.fragment.app.Fragment
|
|||||||
import androidx.lifecycle.ViewModelProvider
|
import androidx.lifecycle.ViewModelProvider
|
||||||
import androidx.navigation.fragment.findNavController
|
import androidx.navigation.fragment.findNavController
|
||||||
import com.woka.R
|
import com.woka.R
|
||||||
|
import com.woka.database.helpers.ClicksHelper
|
||||||
|
import com.woka.database.models.clicks.ContentType
|
||||||
import com.woka.databinding.FragmentGetEmailBinding
|
import com.woka.databinding.FragmentGetEmailBinding
|
||||||
import com.woka.networking.ApiResult
|
import com.woka.networking.ApiResult
|
||||||
import com.woka.onboard.fragments.GetCodeFragment.Companion.EMAIL_ARG
|
import com.woka.onboard.fragments.GetCodeFragment.Companion.EMAIL_ARG
|
||||||
@@ -211,10 +213,14 @@ class GetEmailFragment : Fragment() {
|
|||||||
// child
|
// child
|
||||||
viewModel.sendOTP(binding.email.text.toString(), CHILD_TYPE)
|
viewModel.sendOTP(binding.email.text.toString(), CHILD_TYPE)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
ClicksHelper.upsertClickEvent(ContentType.OTHERS)
|
||||||
}
|
}
|
||||||
|
|
||||||
binding.backBtn.setOnClickListener {
|
binding.backBtn.setOnClickListener {
|
||||||
activity?.onBackPressedDispatcher?.onBackPressed()
|
activity?.onBackPressedDispatcher?.onBackPressed()
|
||||||
|
|
||||||
|
ClicksHelper.upsertClickEvent(ContentType.OTHERS)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -10,6 +10,8 @@ import androidx.fragment.app.Fragment
|
|||||||
import androidx.lifecycle.ViewModelProvider
|
import androidx.lifecycle.ViewModelProvider
|
||||||
import androidx.navigation.fragment.findNavController
|
import androidx.navigation.fragment.findNavController
|
||||||
import com.woka.R
|
import com.woka.R
|
||||||
|
import com.woka.database.helpers.ClicksHelper
|
||||||
|
import com.woka.database.models.clicks.ContentType
|
||||||
import com.woka.databinding.FragmentGetMoreInfoBinding
|
import com.woka.databinding.FragmentGetMoreInfoBinding
|
||||||
import com.woka.networking.ApiResult
|
import com.woka.networking.ApiResult
|
||||||
import com.woka.onboard.views.InterestTopicView
|
import com.woka.onboard.views.InterestTopicView
|
||||||
@@ -67,6 +69,8 @@ class GetMoreInfoFragment : Fragment() {
|
|||||||
// topic select callback
|
// topic select callback
|
||||||
if (selected) viewModel.interestTopics.add(id)
|
if (selected) viewModel.interestTopics.add(id)
|
||||||
else viewModel.interestTopics.remove(id)
|
else viewModel.interestTopics.remove(id)
|
||||||
|
|
||||||
|
ClicksHelper.upsertClickEvent(ContentType.OTHERS)
|
||||||
}
|
}
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
@@ -77,10 +81,22 @@ class GetMoreInfoFragment : Fragment() {
|
|||||||
|
|
||||||
private fun clickEvents() {
|
private fun clickEvents() {
|
||||||
binding.apply {
|
binding.apply {
|
||||||
genderM.setOnClickListener { selectGender(Gender.MALE) }
|
genderM.setOnClickListener {
|
||||||
genderF.setOnClickListener { selectGender(Gender.FEMALE) }
|
selectGender(Gender.MALE)
|
||||||
|
|
||||||
backBtn.setOnClickListener { activity?.onBackPressedDispatcher?.onBackPressed() }
|
ClicksHelper.upsertClickEvent(ContentType.OTHERS)
|
||||||
|
}
|
||||||
|
genderF.setOnClickListener {
|
||||||
|
selectGender(Gender.FEMALE)
|
||||||
|
|
||||||
|
ClicksHelper.upsertClickEvent(ContentType.OTHERS)
|
||||||
|
}
|
||||||
|
|
||||||
|
backBtn.setOnClickListener {
|
||||||
|
activity?.onBackPressedDispatcher?.onBackPressed()
|
||||||
|
|
||||||
|
ClicksHelper.upsertClickEvent(ContentType.OTHERS)
|
||||||
|
}
|
||||||
|
|
||||||
next.setOnClickListener {
|
next.setOnClickListener {
|
||||||
if (viewModel.selectedGender == Gender.NONE) {
|
if (viewModel.selectedGender == Gender.NONE) {
|
||||||
@@ -97,6 +113,8 @@ class GetMoreInfoFragment : Fragment() {
|
|||||||
{
|
{
|
||||||
putBoolean(IS_UNDER_16, isUnder16)
|
putBoolean(IS_UNDER_16, isUnder16)
|
||||||
})
|
})
|
||||||
|
|
||||||
|
ClicksHelper.upsertClickEvent(ContentType.OTHERS)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -8,6 +8,9 @@ import android.view.View
|
|||||||
import android.view.ViewGroup
|
import android.view.ViewGroup
|
||||||
import androidx.core.app.ActivityOptionsCompat
|
import androidx.core.app.ActivityOptionsCompat
|
||||||
import androidx.fragment.app.Fragment
|
import androidx.fragment.app.Fragment
|
||||||
|
import com.woka.R
|
||||||
|
import com.woka.database.helpers.ClicksHelper
|
||||||
|
import com.woka.database.models.clicks.ContentType
|
||||||
import com.woka.databinding.FragmentLanguageBinding
|
import com.woka.databinding.FragmentLanguageBinding
|
||||||
import com.woka.onboard.views.OnboardActivity
|
import com.woka.onboard.views.OnboardActivity
|
||||||
import com.woka.utils.LOCALE_ENGLISH
|
import com.woka.utils.LOCALE_ENGLISH
|
||||||
@@ -30,7 +33,7 @@ class LanguageFragment : Fragment() {
|
|||||||
savedInstanceState: Bundle?
|
savedInstanceState: Bundle?
|
||||||
): View {
|
): View {
|
||||||
binding = FragmentLanguageBinding.inflate(inflater, container, false)
|
binding = FragmentLanguageBinding.inflate(inflater, container, false)
|
||||||
progressView = ProgressView(requireContext(), "please wait...")
|
progressView = ProgressView(requireContext(), getString(R.string.please_wait))
|
||||||
return binding.root
|
return binding.root
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -43,11 +46,13 @@ class LanguageFragment : Fragment() {
|
|||||||
binding.english.setOnClickListener {
|
binding.english.setOnClickListener {
|
||||||
requireActivity().changeLocale(LOCALE_ENGLISH)
|
requireActivity().changeLocale(LOCALE_ENGLISH)
|
||||||
gotoOnboardActivity()
|
gotoOnboardActivity()
|
||||||
|
ClicksHelper.upsertClickEvent(ContentType.OTHERS)
|
||||||
}
|
}
|
||||||
|
|
||||||
binding.hindi.setOnClickListener {
|
binding.hindi.setOnClickListener {
|
||||||
requireActivity().changeLocale(LOCALE_HINDI)
|
requireActivity().changeLocale(LOCALE_HINDI)
|
||||||
gotoOnboardActivity()
|
gotoOnboardActivity()
|
||||||
|
ClicksHelper.upsertClickEvent(ContentType.OTHERS)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -9,6 +9,8 @@ import android.widget.Toast
|
|||||||
import androidx.lifecycle.ViewModelProvider
|
import androidx.lifecycle.ViewModelProvider
|
||||||
import androidx.navigation.fragment.findNavController
|
import androidx.navigation.fragment.findNavController
|
||||||
import com.woka.R
|
import com.woka.R
|
||||||
|
import com.woka.database.helpers.ClicksHelper
|
||||||
|
import com.woka.database.models.clicks.ContentType
|
||||||
import com.woka.databinding.FragmentNewPasswordBinding
|
import com.woka.databinding.FragmentNewPasswordBinding
|
||||||
import com.woka.networking.ApiResult
|
import com.woka.networking.ApiResult
|
||||||
import com.woka.onboard.fragments.GetCodeFragment.Companion.EMAIL_ARG
|
import com.woka.onboard.fragments.GetCodeFragment.Companion.EMAIL_ARG
|
||||||
@@ -77,6 +79,8 @@ class NewPasswordFragment : Fragment() {
|
|||||||
binding.apply {
|
binding.apply {
|
||||||
backBtn.setOnClickListener {
|
backBtn.setOnClickListener {
|
||||||
activity?.onBackPressedDispatcher?.onBackPressed()
|
activity?.onBackPressedDispatcher?.onBackPressed()
|
||||||
|
|
||||||
|
ClicksHelper.upsertClickEvent(ContentType.OTHERS)
|
||||||
}
|
}
|
||||||
|
|
||||||
next.setOnClickListener {
|
next.setOnClickListener {
|
||||||
@@ -87,6 +91,8 @@ class NewPasswordFragment : Fragment() {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
ClicksHelper.upsertClickEvent(ContentType.OTHERS)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -14,6 +14,8 @@ import androidx.navigation.fragment.findNavController
|
|||||||
import com.google.android.material.tabs.TabLayoutMediator
|
import com.google.android.material.tabs.TabLayoutMediator
|
||||||
import com.woka.R
|
import com.woka.R
|
||||||
import com.woka.WokaApp.Companion.userPrefs
|
import com.woka.WokaApp.Companion.userPrefs
|
||||||
|
import com.woka.database.helpers.ClicksHelper
|
||||||
|
import com.woka.database.models.clicks.ContentType
|
||||||
import com.woka.databinding.FragmentOnboardBinding
|
import com.woka.databinding.FragmentOnboardBinding
|
||||||
import com.woka.home.views.HomeActivity
|
import com.woka.home.views.HomeActivity
|
||||||
import com.woka.networking.ApiResult
|
import com.woka.networking.ApiResult
|
||||||
@@ -105,18 +107,22 @@ class OnboardFragment : Fragment() {
|
|||||||
binding.apply {
|
binding.apply {
|
||||||
backBtn.setOnClickListener{
|
backBtn.setOnClickListener{
|
||||||
activity?.onBackPressedDispatcher?.onBackPressed()
|
activity?.onBackPressedDispatcher?.onBackPressed()
|
||||||
|
ClicksHelper.upsertClickEvent(ContentType.OTHERS)
|
||||||
}
|
}
|
||||||
|
|
||||||
createAccount.setOnClickListener {
|
createAccount.setOnClickListener {
|
||||||
findNavController().navigate(R.id.action_onboardFragment_to_age_select_fragment)
|
findNavController().navigate(R.id.action_onboardFragment_to_age_select_fragment)
|
||||||
|
ClicksHelper.upsertClickEvent(ContentType.OTHERS)
|
||||||
}
|
}
|
||||||
|
|
||||||
login.setOnClickListener {
|
login.setOnClickListener {
|
||||||
findNavController().navigate(R.id.action_onboardFragment_to_signInFragment)
|
findNavController().navigate(R.id.action_onboardFragment_to_signInFragment)
|
||||||
|
ClicksHelper.upsertClickEvent(ContentType.OTHERS)
|
||||||
}
|
}
|
||||||
|
|
||||||
guest.setOnClickListener {
|
guest.setOnClickListener {
|
||||||
viewModel.guestLogin()
|
viewModel.guestLogin()
|
||||||
|
ClicksHelper.upsertClickEvent(ContentType.OTHERS)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -10,6 +10,8 @@ import androidx.lifecycle.ViewModelProvider
|
|||||||
import androidx.lifecycle.lifecycleScope
|
import androidx.lifecycle.lifecycleScope
|
||||||
import com.woka.R
|
import com.woka.R
|
||||||
import com.woka.WokaApp.Companion.userPrefs
|
import com.woka.WokaApp.Companion.userPrefs
|
||||||
|
import com.woka.database.helpers.ClicksHelper
|
||||||
|
import com.woka.database.models.clicks.ContentType
|
||||||
import com.woka.databinding.FragmentSelectAvatarBinding
|
import com.woka.databinding.FragmentSelectAvatarBinding
|
||||||
import com.woka.home.views.HomeActivity
|
import com.woka.home.views.HomeActivity
|
||||||
import com.woka.networking.ApiResult
|
import com.woka.networking.ApiResult
|
||||||
@@ -67,6 +69,8 @@ class SelectAvatarFragment : Fragment() {
|
|||||||
binding.apply {
|
binding.apply {
|
||||||
backBtn.setOnClickListener {
|
backBtn.setOnClickListener {
|
||||||
activity?.onBackPressedDispatcher?.onBackPressed()
|
activity?.onBackPressedDispatcher?.onBackPressed()
|
||||||
|
|
||||||
|
ClicksHelper.upsertClickEvent(ContentType.OTHERS)
|
||||||
}
|
}
|
||||||
|
|
||||||
next.setOnClickListener {
|
next.setOnClickListener {
|
||||||
@@ -93,6 +97,8 @@ class SelectAvatarFragment : Fragment() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
viewModel.registerUser(registerRequestData)
|
viewModel.registerUser(registerRequestData)
|
||||||
|
|
||||||
|
ClicksHelper.upsertClickEvent(ContentType.OTHERS)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -115,6 +121,8 @@ class SelectAvatarFragment : Fragment() {
|
|||||||
it.data?.result?.let { avatarList ->
|
it.data?.result?.let { avatarList ->
|
||||||
adapter = AvatarAdapter(avatarList, viewModel.selectedAvatarPos) { pos ->
|
adapter = AvatarAdapter(avatarList, viewModel.selectedAvatarPos) { pos ->
|
||||||
viewModel.selectedAvatarPos = pos
|
viewModel.selectedAvatarPos = pos
|
||||||
|
|
||||||
|
ClicksHelper.upsertClickEvent(ContentType.OTHERS)
|
||||||
}
|
}
|
||||||
binding.rvAvatar.adapter = adapter
|
binding.rvAvatar.adapter = adapter
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -12,6 +12,8 @@ import androidx.lifecycle.ViewModelProvider
|
|||||||
import androidx.navigation.fragment.findNavController
|
import androidx.navigation.fragment.findNavController
|
||||||
import com.woka.R
|
import com.woka.R
|
||||||
import com.woka.WokaApp.Companion.userPrefs
|
import com.woka.WokaApp.Companion.userPrefs
|
||||||
|
import com.woka.database.helpers.ClicksHelper
|
||||||
|
import com.woka.database.models.clicks.ContentType
|
||||||
import com.woka.databinding.FragmentSignInBinding
|
import com.woka.databinding.FragmentSignInBinding
|
||||||
import com.woka.home.views.HomeActivity
|
import com.woka.home.views.HomeActivity
|
||||||
import com.woka.networking.ApiResult
|
import com.woka.networking.ApiResult
|
||||||
@@ -185,10 +187,13 @@ class SignInFragment : Fragment() {
|
|||||||
Bundle().apply {
|
Bundle().apply {
|
||||||
putBoolean(IS_RESET_PASSWORD_INTENT, true)
|
putBoolean(IS_RESET_PASSWORD_INTENT, true)
|
||||||
})
|
})
|
||||||
|
|
||||||
|
ClicksHelper.upsertClickEvent(ContentType.OTHERS)
|
||||||
}
|
}
|
||||||
|
|
||||||
backBtn.setOnClickListener {
|
backBtn.setOnClickListener {
|
||||||
activity?.onBackPressedDispatcher?.onBackPressed()
|
activity?.onBackPressedDispatcher?.onBackPressed()
|
||||||
|
ClicksHelper.upsertClickEvent(ContentType.OTHERS)
|
||||||
}
|
}
|
||||||
|
|
||||||
continueAsGuest.setOnClickListener {
|
continueAsGuest.setOnClickListener {
|
||||||
@@ -201,10 +206,13 @@ class SignInFragment : Fragment() {
|
|||||||
})
|
})
|
||||||
activity?.finish()
|
activity?.finish()
|
||||||
}
|
}
|
||||||
|
|
||||||
|
ClicksHelper.upsertClickEvent(ContentType.OTHERS)
|
||||||
}
|
}
|
||||||
|
|
||||||
createAccount.setOnClickListener {
|
createAccount.setOnClickListener {
|
||||||
findNavController().navigate(R.id.action_signInFragment_to_age_select_fragment)
|
findNavController().navigate(R.id.action_signInFragment_to_age_select_fragment)
|
||||||
|
ClicksHelper.upsertClickEvent(ContentType.OTHERS)
|
||||||
}
|
}
|
||||||
|
|
||||||
login.setOnClickListener {
|
login.setOnClickListener {
|
||||||
@@ -221,6 +229,8 @@ class SignInFragment : Fragment() {
|
|||||||
|
|
||||||
viewModel.login(username.text.toString(), password.toString())
|
viewModel.login(username.text.toString(), password.toString())
|
||||||
}?:toast(getString(R.string.something_went_wrong))
|
}?:toast(getString(R.string.something_went_wrong))
|
||||||
|
|
||||||
|
ClicksHelper.upsertClickEvent(ContentType.OTHERS)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -11,6 +11,8 @@ import android.widget.Toast
|
|||||||
import androidx.lifecycle.ViewModelProvider
|
import androidx.lifecycle.ViewModelProvider
|
||||||
import androidx.navigation.fragment.findNavController
|
import androidx.navigation.fragment.findNavController
|
||||||
import com.woka.R
|
import com.woka.R
|
||||||
|
import com.woka.database.helpers.ClicksHelper
|
||||||
|
import com.woka.database.models.clicks.ContentType
|
||||||
import com.woka.databinding.FragmentSignUpBinding
|
import com.woka.databinding.FragmentSignUpBinding
|
||||||
import com.woka.networking.ApiResult
|
import com.woka.networking.ApiResult
|
||||||
import com.woka.onboard.fragments.GetCodeFragment.Companion.EMAIL_ARG
|
import com.woka.onboard.fragments.GetCodeFragment.Companion.EMAIL_ARG
|
||||||
@@ -141,6 +143,8 @@ class SignUpFragment : Fragment() {
|
|||||||
binding.apply {
|
binding.apply {
|
||||||
backBtn.setOnClickListener {
|
backBtn.setOnClickListener {
|
||||||
activity?.onBackPressedDispatcher?.onBackPressed()
|
activity?.onBackPressedDispatcher?.onBackPressed()
|
||||||
|
|
||||||
|
ClicksHelper.upsertClickEvent(ContentType.OTHERS)
|
||||||
}
|
}
|
||||||
|
|
||||||
next.setOnClickListener {
|
next.setOnClickListener {
|
||||||
@@ -150,6 +154,8 @@ class SignUpFragment : Fragment() {
|
|||||||
viewModel.checkUserNameExist(it, username.text.toString(), userType)
|
viewModel.checkUserNameExist(it, username.text.toString(), userType)
|
||||||
} ?: toast(getString(R.string.something_went_wrong))
|
} ?: toast(getString(R.string.something_went_wrong))
|
||||||
}
|
}
|
||||||
|
|
||||||
|
ClicksHelper.upsertClickEvent(ContentType.OTHERS)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -2,5 +2,6 @@ package com.woka.onboard.models
|
|||||||
|
|
||||||
data class Guest(
|
data class Guest(
|
||||||
val fullname: String?,
|
val fullname: String?,
|
||||||
val username: String?
|
val username: String?,
|
||||||
|
val new_guest: Boolean?
|
||||||
)
|
)
|
||||||
@@ -5,7 +5,7 @@ import kotlinx.parcelize.Parcelize
|
|||||||
|
|
||||||
@Parcelize
|
@Parcelize
|
||||||
data class VideoViewRequestData(
|
data class VideoViewRequestData(
|
||||||
val post_id: String,
|
val post_id: Int?,
|
||||||
val post_type: String,
|
val post_type: String,
|
||||||
var total_watched_duration: String? = null,
|
var total_watched_duration: String? = null,
|
||||||
val category_id: String? = null
|
val category_id: String? = null
|
||||||
|
|||||||
@@ -30,6 +30,8 @@ class LiveStreamPlayerActivity : AppCompatActivity(), FullscreenHandler {
|
|||||||
companion object{
|
companion object{
|
||||||
const val EXTRA_LIVE_STREAM_URL = "extra_live_stream_url"
|
const val EXTRA_LIVE_STREAM_URL = "extra_live_stream_url"
|
||||||
const val EXTRA_LIVE_STREAM_ID = "extra_live_stream_id"
|
const val EXTRA_LIVE_STREAM_ID = "extra_live_stream_id"
|
||||||
|
|
||||||
|
private const val ERROR_RETRY_COUNT = 10
|
||||||
}
|
}
|
||||||
|
|
||||||
private lateinit var binding: ActivityLiveStreamPlayerBinding
|
private lateinit var binding: ActivityLiveStreamPlayerBinding
|
||||||
@@ -47,6 +49,8 @@ class LiveStreamPlayerActivity : AppCompatActivity(), FullscreenHandler {
|
|||||||
private var liveStreamUrl: String = ""
|
private var liveStreamUrl: String = ""
|
||||||
private var liveTvId: Int = -1
|
private var liveTvId: Int = -1
|
||||||
|
|
||||||
|
private var errorRetryCount = ERROR_RETRY_COUNT
|
||||||
|
|
||||||
override fun onCreate(savedInstanceState: Bundle?) {
|
override fun onCreate(savedInstanceState: Bundle?) {
|
||||||
super.onCreate(savedInstanceState)
|
super.onCreate(savedInstanceState)
|
||||||
enableEdgeToEdge()
|
enableEdgeToEdge()
|
||||||
@@ -125,6 +129,8 @@ class LiveStreamPlayerActivity : AppCompatActivity(), FullscreenHandler {
|
|||||||
binding.errorView.hide()
|
binding.errorView.hide()
|
||||||
|
|
||||||
upsertClickEvent()
|
upsertClickEvent()
|
||||||
|
|
||||||
|
errorRetryCount = ERROR_RETRY_COUNT
|
||||||
})
|
})
|
||||||
player.addListener(EventType.PAUSE, VideoPlayerEvents.OnPauseListener {
|
player.addListener(EventType.PAUSE, VideoPlayerEvents.OnPauseListener {
|
||||||
playbackState = PlayBackState.PAUSED
|
playbackState = PlayBackState.PAUSED
|
||||||
@@ -133,8 +139,13 @@ class LiveStreamPlayerActivity : AppCompatActivity(), FullscreenHandler {
|
|||||||
})
|
})
|
||||||
player.addListener(EventType.ERROR, VideoPlayerEvents.OnErrorListener {
|
player.addListener(EventType.ERROR, VideoPlayerEvents.OnErrorListener {
|
||||||
playbackState = PlayBackState.STOPPED
|
playbackState = PlayBackState.STOPPED
|
||||||
binding.playerView.hide()
|
if (errorRetryCount > 0){
|
||||||
binding.errorView.show()
|
errorRetryCount--
|
||||||
|
configureAndPlay()
|
||||||
|
}else{
|
||||||
|
binding.playerView.hide()
|
||||||
|
binding.errorView.show()
|
||||||
|
}
|
||||||
})
|
})
|
||||||
|
|
||||||
(getSystemService(CONNECTIVITY_SERVICE) as ConnectivityManager).registerNetworkCallback(
|
(getSystemService(CONNECTIVITY_SERVICE) as ConnectivityManager).registerNetworkCallback(
|
||||||
|
|||||||
@@ -8,6 +8,8 @@ import androidx.recyclerview.widget.DiffUtil
|
|||||||
import androidx.recyclerview.widget.ListAdapter
|
import androidx.recyclerview.widget.ListAdapter
|
||||||
import androidx.recyclerview.widget.RecyclerView.ViewHolder
|
import androidx.recyclerview.widget.RecyclerView.ViewHolder
|
||||||
import com.woka.R
|
import com.woka.R
|
||||||
|
import com.woka.database.helpers.ClicksHelper
|
||||||
|
import com.woka.database.models.clicks.ContentType
|
||||||
import com.woka.databinding.CartAddressViewHolderBinding
|
import com.woka.databinding.CartAddressViewHolderBinding
|
||||||
import com.woka.shop.models.addresslisting.ParentAddressData
|
import com.woka.shop.models.addresslisting.ParentAddressData
|
||||||
import com.woka.shop.viewmodels.CartViewModel
|
import com.woka.shop.viewmodels.CartViewModel
|
||||||
@@ -124,6 +126,8 @@ class ParentAddressAdapter(private val viewModel: CartViewModel) :
|
|||||||
addressSelectListener?.invoke(address.id)
|
addressSelectListener?.invoke(address.id)
|
||||||
|
|
||||||
holder.loadEDD(address)
|
holder.loadEDD(address)
|
||||||
|
|
||||||
|
ClicksHelper.upsertClickEvent(ContentType.SHOP_PRODUCT)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -5,6 +5,8 @@ import androidx.activity.enableEdgeToEdge
|
|||||||
import androidx.core.view.ViewCompat
|
import androidx.core.view.ViewCompat
|
||||||
import androidx.core.view.WindowInsetsCompat
|
import androidx.core.view.WindowInsetsCompat
|
||||||
import com.woka.R
|
import com.woka.R
|
||||||
|
import com.woka.database.helpers.ClicksHelper
|
||||||
|
import com.woka.database.models.clicks.ContentType
|
||||||
import com.woka.databinding.ActivityAddressBinding
|
import com.woka.databinding.ActivityAddressBinding
|
||||||
import com.woka.utils.WokaBaseActivity
|
import com.woka.utils.WokaBaseActivity
|
||||||
|
|
||||||
@@ -32,6 +34,13 @@ class AddressActivity : WokaBaseActivity() {
|
|||||||
clickEvents()
|
clickEvents()
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Suppress("DEPRECATION")
|
||||||
|
@Deprecated("Deprecated in Java")
|
||||||
|
override fun onBackPressed() {
|
||||||
|
super.onBackPressed()
|
||||||
|
ClicksHelper.upsertClickEvent(ContentType.OTHERS)
|
||||||
|
}
|
||||||
|
|
||||||
private fun initViews() {
|
private fun initViews() {
|
||||||
binding.apply {
|
binding.apply {
|
||||||
toolbar.title.text = getString(R.string.address_details)
|
toolbar.title.text = getString(R.string.address_details)
|
||||||
|
|||||||
@@ -1,10 +1,13 @@
|
|||||||
package com.woka.shop.views
|
package com.woka.shop.views
|
||||||
|
|
||||||
import android.os.Bundle
|
import android.os.Bundle
|
||||||
|
import android.window.OnBackInvokedDispatcher
|
||||||
import androidx.activity.enableEdgeToEdge
|
import androidx.activity.enableEdgeToEdge
|
||||||
import androidx.core.view.ViewCompat
|
import androidx.core.view.ViewCompat
|
||||||
import androidx.core.view.WindowInsetsCompat
|
import androidx.core.view.WindowInsetsCompat
|
||||||
import androidx.lifecycle.ViewModelProvider
|
import androidx.lifecycle.ViewModelProvider
|
||||||
|
import com.woka.database.helpers.ClicksHelper
|
||||||
|
import com.woka.database.models.clicks.ContentType
|
||||||
import com.woka.databinding.ActivityCartBinding
|
import com.woka.databinding.ActivityCartBinding
|
||||||
import com.woka.shop.viewmodels.CartViewModel
|
import com.woka.shop.viewmodels.CartViewModel
|
||||||
import com.woka.utils.WokaBaseActivity
|
import com.woka.utils.WokaBaseActivity
|
||||||
@@ -36,6 +39,12 @@ class CartActivity : WokaBaseActivity() {
|
|||||||
setObservers()
|
setObservers()
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Deprecated("Deprecated in Java")
|
||||||
|
override fun onBackPressed() {
|
||||||
|
super.onBackPressed()
|
||||||
|
ClicksHelper.upsertClickEvent(ContentType.OTHERS)
|
||||||
|
}
|
||||||
|
|
||||||
private fun clickEvents() {
|
private fun clickEvents() {
|
||||||
binding.apply {
|
binding.apply {
|
||||||
toolbar.backBtn.setOnClickListener {
|
toolbar.backBtn.setOnClickListener {
|
||||||
|
|||||||
@@ -2,6 +2,7 @@ package com.woka.shop.views
|
|||||||
|
|
||||||
import android.content.Intent
|
import android.content.Intent
|
||||||
import android.os.Bundle
|
import android.os.Bundle
|
||||||
|
import android.window.OnBackInvokedDispatcher
|
||||||
import androidx.activity.enableEdgeToEdge
|
import androidx.activity.enableEdgeToEdge
|
||||||
import androidx.core.view.ViewCompat
|
import androidx.core.view.ViewCompat
|
||||||
import androidx.core.view.WindowInsetsCompat
|
import androidx.core.view.WindowInsetsCompat
|
||||||
@@ -10,6 +11,8 @@ import androidx.lifecycle.lifecycleScope
|
|||||||
import com.google.android.material.bottomsheet.BottomSheetDialog
|
import com.google.android.material.bottomsheet.BottomSheetDialog
|
||||||
import com.woka.R
|
import com.woka.R
|
||||||
import com.woka.WokaApp
|
import com.woka.WokaApp
|
||||||
|
import com.woka.database.helpers.ClicksHelper
|
||||||
|
import com.woka.database.models.clicks.ContentType
|
||||||
import com.woka.databinding.ActivityMyOrdersBinding
|
import com.woka.databinding.ActivityMyOrdersBinding
|
||||||
import com.woka.databinding.BsOrderTrackingBinding
|
import com.woka.databinding.BsOrderTrackingBinding
|
||||||
import com.woka.networking.ApiResult
|
import com.woka.networking.ApiResult
|
||||||
@@ -78,6 +81,13 @@ class MyOrdersActivity : WokaBaseActivity() {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Suppress("DEPRECATION")
|
||||||
|
@Deprecated("Deprecated in Java")
|
||||||
|
override fun onBackPressed() {
|
||||||
|
super.onBackPressed()
|
||||||
|
ClicksHelper.upsertClickEvent(ContentType.OTHERS)
|
||||||
|
}
|
||||||
|
|
||||||
private fun initViews(){
|
private fun initViews(){
|
||||||
binding.apply {
|
binding.apply {
|
||||||
rvOrders.adapter = adapter
|
rvOrders.adapter = adapter
|
||||||
@@ -97,14 +107,20 @@ class MyOrdersActivity : WokaBaseActivity() {
|
|||||||
}else{
|
}else{
|
||||||
startActivity(Intent(this@MyOrdersActivity, CartActivity::class.java))
|
startActivity(Intent(this@MyOrdersActivity, CartActivity::class.java))
|
||||||
}
|
}
|
||||||
|
|
||||||
|
ClicksHelper.upsertClickEvent(ContentType.SHOP_PRODUCT)
|
||||||
}
|
}
|
||||||
|
|
||||||
loadMoreBtn.setOnClickListener {
|
loadMoreBtn.setOnClickListener {
|
||||||
viewModel.loadOrders()
|
viewModel.loadOrders()
|
||||||
|
|
||||||
|
ClicksHelper.upsertClickEvent(ContentType.OTHERS)
|
||||||
}
|
}
|
||||||
|
|
||||||
adapter.orderTrackClickListener = {
|
adapter.orderTrackClickListener = {
|
||||||
showOrderTrackingDialog(it)
|
showOrderTrackingDialog(it)
|
||||||
|
|
||||||
|
ClicksHelper.upsertClickEvent(ContentType.SHOP_PRODUCT)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -2,6 +2,7 @@ package com.woka.shop.views
|
|||||||
|
|
||||||
import android.content.Intent
|
import android.content.Intent
|
||||||
import android.os.Bundle
|
import android.os.Bundle
|
||||||
|
import android.window.OnBackInvokedDispatcher
|
||||||
import androidx.activity.enableEdgeToEdge
|
import androidx.activity.enableEdgeToEdge
|
||||||
import androidx.activity.result.ActivityResultLauncher
|
import androidx.activity.result.ActivityResultLauncher
|
||||||
import androidx.activity.result.contract.ActivityResultContracts
|
import androidx.activity.result.contract.ActivityResultContracts
|
||||||
@@ -10,6 +11,8 @@ import androidx.core.view.WindowInsetsCompat
|
|||||||
import androidx.lifecycle.ViewModelProvider
|
import androidx.lifecycle.ViewModelProvider
|
||||||
import com.woka.R
|
import com.woka.R
|
||||||
import com.woka.WokaApp.Companion.userPrefs
|
import com.woka.WokaApp.Companion.userPrefs
|
||||||
|
import com.woka.database.helpers.ClicksHelper
|
||||||
|
import com.woka.database.models.clicks.ContentType
|
||||||
import com.woka.databinding.ActivityShopBinding
|
import com.woka.databinding.ActivityShopBinding
|
||||||
import com.woka.shop.viewmodels.ShopViewModel
|
import com.woka.shop.viewmodels.ShopViewModel
|
||||||
import com.woka.shop.views.CartActivity.Companion.EXTRA_CURRENT_PRODUCT
|
import com.woka.shop.views.CartActivity.Companion.EXTRA_CURRENT_PRODUCT
|
||||||
@@ -54,6 +57,13 @@ class ShopActivity : WokaBaseActivity() {
|
|||||||
registerLaunchers()
|
registerLaunchers()
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Suppress("DEPRECATION")
|
||||||
|
@Deprecated("Deprecated in Java")
|
||||||
|
override fun onBackPressed() {
|
||||||
|
super.onBackPressed()
|
||||||
|
ClicksHelper.upsertClickEvent(ContentType.OTHERS)
|
||||||
|
}
|
||||||
|
|
||||||
private fun initViews() {
|
private fun initViews() {
|
||||||
binding.apply {
|
binding.apply {
|
||||||
title.text = getString(R.string.shop)
|
title.text = getString(R.string.shop)
|
||||||
@@ -74,6 +84,8 @@ class ShopActivity : WokaBaseActivity() {
|
|||||||
putExtra(EXTRA_CURRENT_PRODUCT, viewModel.currentProductId)
|
putExtra(EXTRA_CURRENT_PRODUCT, viewModel.currentProductId)
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
|
ClicksHelper.upsertClickEvent(ContentType.SHOP_PRODUCT)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -11,6 +11,8 @@ import androidx.lifecycle.ViewModelProvider
|
|||||||
import androidx.lifecycle.lifecycleScope
|
import androidx.lifecycle.lifecycleScope
|
||||||
import androidx.navigation.fragment.navArgs
|
import androidx.navigation.fragment.navArgs
|
||||||
import com.woka.R
|
import com.woka.R
|
||||||
|
import com.woka.database.helpers.ClicksHelper
|
||||||
|
import com.woka.database.models.clicks.ContentType
|
||||||
import com.woka.databinding.FragmentAddAddressBinding
|
import com.woka.databinding.FragmentAddAddressBinding
|
||||||
import com.woka.networking.ApiResult
|
import com.woka.networking.ApiResult
|
||||||
import com.woka.shop.models.addaddress.AddAddressRequestData
|
import com.woka.shop.models.addaddress.AddAddressRequestData
|
||||||
@@ -62,6 +64,8 @@ class AddAddressFragment : Fragment() {
|
|||||||
if (allOkay()){
|
if (allOkay()){
|
||||||
addAddress()
|
addAddress()
|
||||||
}
|
}
|
||||||
|
|
||||||
|
ClicksHelper.upsertClickEvent(ContentType.SHOP_PRODUCT)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -10,6 +10,8 @@ import androidx.lifecycle.ViewModelProvider
|
|||||||
import androidx.lifecycle.lifecycleScope
|
import androidx.lifecycle.lifecycleScope
|
||||||
import androidx.navigation.fragment.findNavController
|
import androidx.navigation.fragment.findNavController
|
||||||
import com.woka.R
|
import com.woka.R
|
||||||
|
import com.woka.database.helpers.ClicksHelper
|
||||||
|
import com.woka.database.models.clicks.ContentType
|
||||||
import com.woka.databinding.FragmentPinCodeBinding
|
import com.woka.databinding.FragmentPinCodeBinding
|
||||||
import com.woka.networking.ApiResult
|
import com.woka.networking.ApiResult
|
||||||
import com.woka.shop.viewmodels.AddressViewModel
|
import com.woka.shop.viewmodels.AddressViewModel
|
||||||
@@ -46,6 +48,8 @@ class PinCodeFragment :Fragment() {
|
|||||||
private fun clickEvents() {
|
private fun clickEvents() {
|
||||||
binding.apply {
|
binding.apply {
|
||||||
btn.setOnClickListener {
|
btn.setOnClickListener {
|
||||||
|
ClicksHelper.upsertClickEvent(ContentType.SHOP_PRODUCT)
|
||||||
|
|
||||||
if (selectedPinCode.length == 6){
|
if (selectedPinCode.length == 6){
|
||||||
|
|
||||||
findNavController().navigate(PinCodeFragmentDirections.actionPinCodeFragmentToAddAddressFragment(
|
findNavController().navigate(PinCodeFragmentDirections.actionPinCodeFragmentToAddAddressFragment(
|
||||||
|
|||||||
@@ -13,6 +13,8 @@ import androidx.lifecycle.lifecycleScope
|
|||||||
import androidx.navigation.fragment.findNavController
|
import androidx.navigation.fragment.findNavController
|
||||||
import com.woka.R
|
import com.woka.R
|
||||||
import com.woka.WokaApp.Companion.userPrefs
|
import com.woka.WokaApp.Companion.userPrefs
|
||||||
|
import com.woka.database.helpers.ClicksHelper
|
||||||
|
import com.woka.database.models.clicks.ContentType
|
||||||
import com.woka.databinding.FragmentCartBinding
|
import com.woka.databinding.FragmentCartBinding
|
||||||
import com.woka.networking.ApiResult
|
import com.woka.networking.ApiResult
|
||||||
import com.woka.shop.adapters.CartAdapter
|
import com.woka.shop.adapters.CartAdapter
|
||||||
@@ -80,44 +82,52 @@ class CartFragment: Fragment() {
|
|||||||
binding.apply {
|
binding.apply {
|
||||||
|
|
||||||
adapter.onCartItemDeleteListener = {cartItem, position ->
|
adapter.onCartItemDeleteListener = {cartItem, position ->
|
||||||
lifecycleScope.launch {
|
decisionDialog.setPositiveButton(getString(R.string.yes)){
|
||||||
progressDialog.show(getString(R.string.removing_item))
|
lifecycleScope.launch {
|
||||||
|
progressDialog.show(getString(R.string.removing_item))
|
||||||
|
|
||||||
cartItem.id?.let {
|
cartItem.id?.let {
|
||||||
when (val response = viewModel.removeItem(it)){
|
when (val response = viewModel.removeItem(it)){
|
||||||
is ApiResult.Error -> {
|
is ApiResult.Error -> {
|
||||||
progressDialog.hide()
|
progressDialog.hide()
|
||||||
toast(response.errorMessage)
|
toast(response.errorMessage)
|
||||||
}
|
}
|
||||||
is ApiResult.Loading -> {}
|
is ApiResult.Loading -> {}
|
||||||
is ApiResult.Success -> {
|
is ApiResult.Success -> {
|
||||||
progressDialog.hide()
|
progressDialog.hide()
|
||||||
toast(response.message)
|
toast(response.message)
|
||||||
|
|
||||||
try {
|
try {
|
||||||
adapter.notifyItemRemoved(position)
|
adapter.notifyItemRemoved(position)
|
||||||
} finally {
|
} finally {
|
||||||
response.data?.let {cartValue ->
|
response.data?.let {cartValue ->
|
||||||
if (cartValue > 0){
|
if (cartValue > 0){
|
||||||
val finalAmount = "₹ $cartValue"
|
val finalAmount = "₹ $cartValue"
|
||||||
totalAmount.text = finalAmount
|
totalAmount.text = finalAmount
|
||||||
}else{
|
}else{
|
||||||
rvCart.hide()
|
rvCart.hide()
|
||||||
progressView.hide()
|
progressView.hide()
|
||||||
checkoutView.hide()
|
checkoutView.hide()
|
||||||
|
|
||||||
noDataView.show()
|
noDataView.show()
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
|
||||||
|
|
||||||
if (cartItem.id == currentProductId){
|
if (cartItem.id == currentProductId){
|
||||||
activity?.setResult(AppCompatActivity.RESULT_OK, Intent())
|
activity?.setResult(AppCompatActivity.RESULT_OK, Intent())
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
decisionDialog.setNegativeButton(getString(R.string.no))
|
||||||
|
|
||||||
|
decisionDialog.show(getString(R.string.alert),
|
||||||
|
getString(R.string.are_you_sure_you_want_to_remove_item_from_cart))
|
||||||
|
|
||||||
|
ClicksHelper.upsertClickEvent(ContentType.SHOP_PRODUCT, cartItem.id)
|
||||||
}
|
}
|
||||||
|
|
||||||
binding.checkout.setOnClickListener {
|
binding.checkout.setOnClickListener {
|
||||||
@@ -129,6 +139,8 @@ class CartFragment: Fragment() {
|
|||||||
viewModel.clearAppliedCoupon()
|
viewModel.clearAppliedCoupon()
|
||||||
findNavController().navigate(R.id.action_cartFragment_to_orderSummaryFragment)
|
findNavController().navigate(R.id.action_cartFragment_to_orderSummaryFragment)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
ClicksHelper.upsertClickEvent(ContentType.SHOP_PRODUCT)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -10,6 +10,8 @@ import androidx.lifecycle.ViewModelProvider
|
|||||||
import androidx.lifecycle.lifecycleScope
|
import androidx.lifecycle.lifecycleScope
|
||||||
import androidx.navigation.fragment.findNavController
|
import androidx.navigation.fragment.findNavController
|
||||||
import com.woka.R
|
import com.woka.R
|
||||||
|
import com.woka.database.helpers.ClicksHelper
|
||||||
|
import com.woka.database.models.clicks.ContentType
|
||||||
import com.woka.databinding.FragmentOrderSummaryBinding
|
import com.woka.databinding.FragmentOrderSummaryBinding
|
||||||
import com.woka.networking.ApiResult
|
import com.woka.networking.ApiResult
|
||||||
import com.woka.shop.adapters.CouponAdapter
|
import com.woka.shop.adapters.CouponAdapter
|
||||||
@@ -81,6 +83,8 @@ class OrderSummaryFragment : Fragment() {
|
|||||||
couponsView.show()
|
couponsView.show()
|
||||||
showCouponIndicator.setImageResource(R.drawable.ic_half_arrow_up)
|
showCouponIndicator.setImageResource(R.drawable.ic_half_arrow_up)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
ClicksHelper.upsertClickEvent(ContentType.SHOP_PRODUCT)
|
||||||
}
|
}
|
||||||
|
|
||||||
applyBtn.setOnClickListener {
|
applyBtn.setOnClickListener {
|
||||||
@@ -95,11 +99,15 @@ class OrderSummaryFragment : Fragment() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
viewModel.applyCoupon(couponCode.text.toString(), "$cartTotalAmount")
|
viewModel.applyCoupon(couponCode.text.toString(), "$cartTotalAmount")
|
||||||
|
|
||||||
|
ClicksHelper.upsertClickEvent(ContentType.SHOP_PRODUCT)
|
||||||
}
|
}
|
||||||
|
|
||||||
confirm.setOnClickListener {
|
confirm.setOnClickListener {
|
||||||
viewModel.clearAddressSelection()
|
viewModel.clearAddressSelection()
|
||||||
findNavController().navigate(R.id.action_orderSummaryFragment_to_parentAddressFragment)
|
findNavController().navigate(R.id.action_orderSummaryFragment_to_parentAddressFragment)
|
||||||
|
|
||||||
|
ClicksHelper.upsertClickEvent(ContentType.SHOP_PRODUCT)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -133,6 +141,8 @@ class OrderSummaryFragment : Fragment() {
|
|||||||
binding.couponCode.setText(it.coupon_code)
|
binding.couponCode.setText(it.coupon_code)
|
||||||
viewModel.selectedCouponCode = it.coupon_code
|
viewModel.selectedCouponCode = it.coupon_code
|
||||||
viewModel.selectedCouponId = it.id
|
viewModel.selectedCouponId = it.id
|
||||||
|
|
||||||
|
ClicksHelper.upsertClickEvent(ContentType.SHOP_PRODUCT)
|
||||||
}
|
}
|
||||||
|
|
||||||
viewModel.applyCouponLiveData.observe(viewLifecycleOwner) {
|
viewModel.applyCouponLiveData.observe(viewLifecycleOwner) {
|
||||||
|
|||||||
@@ -11,6 +11,8 @@ import androidx.activity.result.contract.ActivityResultContracts
|
|||||||
import androidx.fragment.app.Fragment
|
import androidx.fragment.app.Fragment
|
||||||
import androidx.lifecycle.ViewModelProvider
|
import androidx.lifecycle.ViewModelProvider
|
||||||
import com.woka.R
|
import com.woka.R
|
||||||
|
import com.woka.database.helpers.ClicksHelper
|
||||||
|
import com.woka.database.models.clicks.ContentType
|
||||||
import com.woka.databinding.FragmentParentAddressBinding
|
import com.woka.databinding.FragmentParentAddressBinding
|
||||||
import com.woka.networking.ApiResult
|
import com.woka.networking.ApiResult
|
||||||
import com.woka.shop.adapters.ParentAddressAdapter
|
import com.woka.shop.adapters.ParentAddressAdapter
|
||||||
@@ -89,6 +91,8 @@ class ParentAddressFragment : Fragment() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
viewModel.createOrder(productIds, viewModel.appliedCoupon, "${viewModel.selectedAddressId}")
|
viewModel.createOrder(productIds, viewModel.appliedCoupon, "${viewModel.selectedAddressId}")
|
||||||
|
|
||||||
|
ClicksHelper.upsertClickEvent(ContentType.SHOP_PRODUCT)
|
||||||
}
|
}
|
||||||
|
|
||||||
addNewAddress.setOnClickListener {
|
addNewAddress.setOnClickListener {
|
||||||
@@ -100,6 +104,8 @@ class ParentAddressFragment : Fragment() {
|
|||||||
)
|
)
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
ClicksHelper.upsertClickEvent(ContentType.SHOP_PRODUCT)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -12,6 +12,8 @@ import androidx.navigation.fragment.navArgs
|
|||||||
import com.google.android.material.tabs.TabLayoutMediator
|
import com.google.android.material.tabs.TabLayoutMediator
|
||||||
import com.woka.R
|
import com.woka.R
|
||||||
import com.woka.WokaApp.Companion.userPrefs
|
import com.woka.WokaApp.Companion.userPrefs
|
||||||
|
import com.woka.database.helpers.ClicksHelper
|
||||||
|
import com.woka.database.models.clicks.ContentType
|
||||||
import com.woka.databinding.FragmentProductBinding
|
import com.woka.databinding.FragmentProductBinding
|
||||||
import com.woka.networking.ApiResult
|
import com.woka.networking.ApiResult
|
||||||
import com.woka.shop.adapters.ProductImagesAdapter
|
import com.woka.shop.adapters.ProductImagesAdapter
|
||||||
@@ -87,6 +89,8 @@ class ProductFragment : Fragment() {
|
|||||||
binding.apply {
|
binding.apply {
|
||||||
retryBtn.setOnClickListener {
|
retryBtn.setOnClickListener {
|
||||||
loadProductData()
|
loadProductData()
|
||||||
|
|
||||||
|
ClicksHelper.upsertClickEvent(ContentType.OTHERS)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -196,6 +200,8 @@ class ProductFragment : Fragment() {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
ClicksHelper.upsertClickEvent(ContentType.SHOP_PRODUCT, shopProduct.id)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -8,6 +8,8 @@ import androidx.fragment.app.Fragment
|
|||||||
import androidx.lifecycle.ViewModelProvider
|
import androidx.lifecycle.ViewModelProvider
|
||||||
import androidx.navigation.fragment.findNavController
|
import androidx.navigation.fragment.findNavController
|
||||||
import com.woka.R
|
import com.woka.R
|
||||||
|
import com.woka.database.helpers.ClicksHelper
|
||||||
|
import com.woka.database.models.clicks.ContentType
|
||||||
import com.woka.databinding.FragmentShop1Binding
|
import com.woka.databinding.FragmentShop1Binding
|
||||||
import com.woka.networking.ApiResult
|
import com.woka.networking.ApiResult
|
||||||
import com.woka.shop.adapters.CategoryAdapter
|
import com.woka.shop.adapters.CategoryAdapter
|
||||||
@@ -61,10 +63,13 @@ class ShopFragment1 : Fragment() {
|
|||||||
binding.apply {
|
binding.apply {
|
||||||
retryButton.setOnClickListener {
|
retryButton.setOnClickListener {
|
||||||
viewModel.loadSuperCategories()
|
viewModel.loadSuperCategories()
|
||||||
|
|
||||||
|
ClicksHelper.upsertClickEvent(ContentType.OTHERS)
|
||||||
}
|
}
|
||||||
|
|
||||||
adapter.onCategoryClickListener = {id, _ ->
|
adapter.onCategoryClickListener = {id, _ ->
|
||||||
findNavController().navigate(ShopFragment1Directions.actionShopFragment1ToShopFragment2(id))
|
findNavController().navigate(ShopFragment1Directions.actionShopFragment1ToShopFragment2(id))
|
||||||
|
ClicksHelper.upsertClickEvent(ContentType.SHOP_PRODUCT, id)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -9,6 +9,8 @@ import androidx.lifecycle.ViewModelProvider
|
|||||||
import androidx.navigation.fragment.findNavController
|
import androidx.navigation.fragment.findNavController
|
||||||
import androidx.navigation.fragment.navArgs
|
import androidx.navigation.fragment.navArgs
|
||||||
import com.woka.R
|
import com.woka.R
|
||||||
|
import com.woka.database.helpers.ClicksHelper
|
||||||
|
import com.woka.database.models.clicks.ContentType
|
||||||
import com.woka.databinding.FragmentShop2Binding
|
import com.woka.databinding.FragmentShop2Binding
|
||||||
import com.woka.networking.ApiResult
|
import com.woka.networking.ApiResult
|
||||||
import com.woka.shop.adapters.CategoryAdapter
|
import com.woka.shop.adapters.CategoryAdapter
|
||||||
@@ -68,6 +70,8 @@ class ShopFragment2 : Fragment() {
|
|||||||
binding.apply {
|
binding.apply {
|
||||||
retryButton.setOnClickListener {
|
retryButton.setOnClickListener {
|
||||||
viewModel.loadCategories(superCategoryId)
|
viewModel.loadCategories(superCategoryId)
|
||||||
|
|
||||||
|
ClicksHelper.upsertClickEvent(ContentType.OTHERS)
|
||||||
}
|
}
|
||||||
|
|
||||||
adapter.onCategoryClickListener = {id, title ->
|
adapter.onCategoryClickListener = {id, title ->
|
||||||
@@ -78,6 +82,8 @@ class ShopFragment2 : Fragment() {
|
|||||||
title
|
title
|
||||||
)
|
)
|
||||||
)
|
)
|
||||||
|
|
||||||
|
ClicksHelper.upsertClickEvent(ContentType.SHOP_PRODUCT, id)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -10,6 +10,8 @@ import androidx.navigation.fragment.findNavController
|
|||||||
import androidx.navigation.fragment.navArgs
|
import androidx.navigation.fragment.navArgs
|
||||||
import com.google.android.material.tabs.TabLayout
|
import com.google.android.material.tabs.TabLayout
|
||||||
import com.woka.R
|
import com.woka.R
|
||||||
|
import com.woka.database.helpers.ClicksHelper
|
||||||
|
import com.woka.database.models.clicks.ContentType
|
||||||
import com.woka.databinding.FragmentShop3Binding
|
import com.woka.databinding.FragmentShop3Binding
|
||||||
import com.woka.networking.ApiResult
|
import com.woka.networking.ApiResult
|
||||||
import com.woka.shop.adapters.ShopProductAdapter
|
import com.woka.shop.adapters.ShopProductAdapter
|
||||||
@@ -75,16 +77,22 @@ class ShopFragment3 : Fragment(), TabLayout.OnTabSelectedListener {
|
|||||||
binding.apply {
|
binding.apply {
|
||||||
retryButton.setOnClickListener {
|
retryButton.setOnClickListener {
|
||||||
viewModel.loadSubCategories(superCategoryId, categoryId)
|
viewModel.loadSubCategories(superCategoryId, categoryId)
|
||||||
|
|
||||||
|
ClicksHelper.upsertClickEvent(ContentType.OTHERS)
|
||||||
}
|
}
|
||||||
|
|
||||||
prodLoadMoreBtn.setOnClickListener {
|
prodLoadMoreBtn.setOnClickListener {
|
||||||
loadMoreProducts = true
|
loadMoreProducts = true
|
||||||
val subCategoryId = categoryTabs.getTabAt(categoryTabs.selectedTabPosition)?.tag?.toString()
|
val subCategoryId = categoryTabs.getTabAt(categoryTabs.selectedTabPosition)?.tag?.toString()
|
||||||
viewModel.loadMoreProducts(superCategoryId, categoryId, subCategoryId)
|
viewModel.loadMoreProducts(superCategoryId, categoryId, subCategoryId)
|
||||||
|
|
||||||
|
ClicksHelper.upsertClickEvent(ContentType.OTHERS)
|
||||||
}
|
}
|
||||||
|
|
||||||
productAdapter.onProductClicked = {
|
productAdapter.onProductClicked = {
|
||||||
findNavController().navigate(ShopFragment3Directions.actionShopFragment3ToProductFragment(it))
|
findNavController().navigate(ShopFragment3Directions.actionShopFragment3ToProductFragment(it))
|
||||||
|
|
||||||
|
ClicksHelper.upsertClickEvent(ContentType.SHOP_PRODUCT, it)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -96,6 +104,8 @@ class ShopFragment3 : Fragment(), TabLayout.OnTabSelectedListener {
|
|||||||
if (selectedTabPos < subCategories.size) {
|
if (selectedTabPos < subCategories.size) {
|
||||||
loadMoreProducts = false
|
loadMoreProducts = false
|
||||||
viewModel.loadProducts(superCategoryId, categoryId, subCategories[selectedTabPos].id?.toString())
|
viewModel.loadProducts(superCategoryId, categoryId, subCategories[selectedTabPos].id?.toString())
|
||||||
|
|
||||||
|
ClicksHelper.upsertClickEvent(ContentType.SHOP_PRODUCT, subCategories[selectedTabPos].id)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -16,4 +16,8 @@ const val LOCALE_ENGLISH = "en"
|
|||||||
// website urls
|
// website urls
|
||||||
const val WEBSITE_BASE_URL = "https://www.wokaland.com/"
|
const val WEBSITE_BASE_URL = "https://www.wokaland.com/"
|
||||||
const val TERMS_N_CONDITIONS_URL = "https://www.wokaland.com/terms/"
|
const val TERMS_N_CONDITIONS_URL = "https://www.wokaland.com/terms/"
|
||||||
const val PRIVACY_N_POLICY_URL = "https://www.wokaland.com/privacy-policy/"
|
const val PRIVACY_N_POLICY_URL = "https://www.wokaland.com/privacy-policy/"
|
||||||
|
|
||||||
|
// other urls
|
||||||
|
|
||||||
|
const val PLAY_STORE_URL = "https://play.google.com/store/apps/details?id=com.woka"
|
||||||
@@ -4,6 +4,7 @@ import android.animation.AnimatorSet
|
|||||||
import android.animation.ObjectAnimator
|
import android.animation.ObjectAnimator
|
||||||
import android.app.Activity
|
import android.app.Activity
|
||||||
import android.content.Context
|
import android.content.Context
|
||||||
|
import android.content.Intent
|
||||||
import android.content.res.Configuration
|
import android.content.res.Configuration
|
||||||
import android.net.ConnectivityManager
|
import android.net.ConnectivityManager
|
||||||
import android.net.NetworkCapabilities
|
import android.net.NetworkCapabilities
|
||||||
@@ -79,6 +80,17 @@ fun Activity.closeKeyboard(){
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
fun Activity.shareWokaApp(){
|
||||||
|
val sendIntent: Intent = Intent().apply {
|
||||||
|
action = Intent.ACTION_SEND
|
||||||
|
putExtra(Intent.EXTRA_TEXT, PLAY_STORE_URL)
|
||||||
|
type = "text/plain"
|
||||||
|
}
|
||||||
|
|
||||||
|
val shareIntent = Intent.createChooser(sendIntent, null)
|
||||||
|
startActivity(shareIntent)
|
||||||
|
}
|
||||||
|
|
||||||
fun Context.toast(text: String?, length: Int = Toast.LENGTH_SHORT){
|
fun Context.toast(text: String?, length: Int = Toast.LENGTH_SHORT){
|
||||||
Toast.makeText(this, "$text", length).show()
|
Toast.makeText(this, "$text", length).show()
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -36,7 +36,7 @@ class EpisodeAdapter private constructor(val context: Context,
|
|||||||
constructor(context: Context): this(context, DIFF_CONFIG)
|
constructor(context: Context): this(context, DIFF_CONFIG)
|
||||||
|
|
||||||
var onEpisodeClicked: ((position: Int, episodeData: EpisodeData) -> Unit)? = null
|
var onEpisodeClicked: ((position: Int, episodeData: EpisodeData) -> Unit)? = null
|
||||||
var onEpisodePlayClicked: ((position: Int) -> Unit)? = null
|
var onEpisodePlayClicked: ((position: Int, EpisodeData) -> Unit)? = null
|
||||||
|
|
||||||
override fun onCreateViewHolder(parent: ViewGroup, viewType: Int): EpisodeViewHolder {
|
override fun onCreateViewHolder(parent: ViewGroup, viewType: Int): EpisodeViewHolder {
|
||||||
return EpisodeViewHolder(
|
return EpisodeViewHolder(
|
||||||
@@ -71,7 +71,7 @@ class EpisodeAdapter private constructor(val context: Context,
|
|||||||
}
|
}
|
||||||
|
|
||||||
playBtn.setOnClickListener {
|
playBtn.setOnClickListener {
|
||||||
onEpisodePlayClicked?.invoke(holder.absoluteAdapterPosition)
|
onEpisodePlayClicked?.invoke(holder.absoluteAdapterPosition, episode)
|
||||||
}
|
}
|
||||||
|
|
||||||
card.setOnClickListener {
|
card.setOnClickListener {
|
||||||
|
|||||||
@@ -35,7 +35,7 @@ class TeaserAdapter private constructor(val context: Context,
|
|||||||
constructor(context: Context): this(context, DIFF_CONFIG)
|
constructor(context: Context): this(context, DIFF_CONFIG)
|
||||||
|
|
||||||
var onEpisodeClicked: ((position: Int, teaserData: TeaserData) -> Unit)? = null
|
var onEpisodeClicked: ((position: Int, teaserData: TeaserData) -> Unit)? = null
|
||||||
var onEpisodePlayClicked: ((position: Int) -> Unit)? = null
|
var onEpisodePlayClicked: ((position: Int, TeaserData) -> Unit)? = null
|
||||||
|
|
||||||
override fun onCreateViewHolder(parent: ViewGroup, viewType: Int): EpisodeViewHolder {
|
override fun onCreateViewHolder(parent: ViewGroup, viewType: Int): EpisodeViewHolder {
|
||||||
return EpisodeViewHolder(
|
return EpisodeViewHolder(
|
||||||
@@ -70,7 +70,7 @@ class TeaserAdapter private constructor(val context: Context,
|
|||||||
}
|
}
|
||||||
|
|
||||||
playBtn.setOnClickListener {
|
playBtn.setOnClickListener {
|
||||||
onEpisodePlayClicked?.invoke(holder.absoluteAdapterPosition)
|
onEpisodePlayClicked?.invoke(holder.absoluteAdapterPosition, episode)
|
||||||
}
|
}
|
||||||
|
|
||||||
card.setOnClickListener {
|
card.setOnClickListener {
|
||||||
|
|||||||
@@ -8,6 +8,8 @@ import androidx.recyclerview.widget.RecyclerView
|
|||||||
import androidx.recyclerview.widget.RecyclerView.ViewHolder
|
import androidx.recyclerview.widget.RecyclerView.ViewHolder
|
||||||
import com.woka.R
|
import com.woka.R
|
||||||
import com.woka.WokaApp.Companion.userPrefs
|
import com.woka.WokaApp.Companion.userPrefs
|
||||||
|
import com.woka.database.helpers.ClicksHelper
|
||||||
|
import com.woka.database.models.clicks.ContentType
|
||||||
import com.woka.databinding.ShowViewHolderBinding
|
import com.woka.databinding.ShowViewHolderBinding
|
||||||
import com.woka.userPreference.UserType
|
import com.woka.userPreference.UserType
|
||||||
import com.woka.utils.isNetworkConnected
|
import com.woka.utils.isNetworkConnected
|
||||||
@@ -115,6 +117,8 @@ class WebSeriesShowAdapter(
|
|||||||
categoryId?.let {
|
categoryId?.let {
|
||||||
onShowCommonDataChange?.invoke(showData, it)
|
onShowCommonDataChange?.invoke(showData, it)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
ClicksHelper.upsertClickEvent(ContentType.SERIES, showData.id, categoryId)
|
||||||
}
|
}
|
||||||
|
|
||||||
categoryId?.let { fav.isSelected = showData.isBookMarked(it) }
|
categoryId?.let { fav.isSelected = showData.isBookMarked(it) }
|
||||||
@@ -147,6 +151,8 @@ class WebSeriesShowAdapter(
|
|||||||
|
|
||||||
fav.isSelected = !fav.isSelected
|
fav.isSelected = !fav.isSelected
|
||||||
}
|
}
|
||||||
|
|
||||||
|
ClicksHelper.upsertClickEvent(ContentType.SERIES, showData.id, categoryId)
|
||||||
}
|
}
|
||||||
|
|
||||||
root.setOnClickListener {
|
root.setOnClickListener {
|
||||||
|
|||||||
@@ -7,6 +7,8 @@ import androidx.core.view.WindowInsetsCompat
|
|||||||
import androidx.navigation.NavOptions
|
import androidx.navigation.NavOptions
|
||||||
import androidx.navigation.fragment.NavHostFragment
|
import androidx.navigation.fragment.NavHostFragment
|
||||||
import com.woka.R
|
import com.woka.R
|
||||||
|
import com.woka.database.helpers.ClicksHelper
|
||||||
|
import com.woka.database.models.clicks.ContentType
|
||||||
import com.woka.databinding.ActivityWebSeriesBinding
|
import com.woka.databinding.ActivityWebSeriesBinding
|
||||||
import com.woka.utils.WokaBaseActivity
|
import com.woka.utils.WokaBaseActivity
|
||||||
import com.woka.webseries.models.ShowData
|
import com.woka.webseries.models.ShowData
|
||||||
@@ -45,4 +47,11 @@ class WebSeriesActivity : WokaBaseActivity() {
|
|||||||
), NavOptions.Builder().setPopUpTo(R.id.webSeriesFragment2, true).build())
|
), NavOptions.Builder().setPopUpTo(R.id.webSeriesFragment2, true).build())
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Suppress("DEPRECATION")
|
||||||
|
@Deprecated("Deprecated in Java")
|
||||||
|
override fun onBackPressed() {
|
||||||
|
super.onBackPressed()
|
||||||
|
ClicksHelper.upsertClickEvent(ContentType.OTHERS)
|
||||||
|
}
|
||||||
}
|
}
|
||||||
@@ -21,6 +21,8 @@ import com.google.android.material.appbar.CollapsingToolbarLayout
|
|||||||
import com.jwplayer.pub.api.media.playlists.PlaylistItem
|
import com.jwplayer.pub.api.media.playlists.PlaylistItem
|
||||||
import com.woka.R
|
import com.woka.R
|
||||||
import com.woka.WokaApp.Companion.userPrefs
|
import com.woka.WokaApp.Companion.userPrefs
|
||||||
|
import com.woka.database.helpers.ClicksHelper
|
||||||
|
import com.woka.database.models.clicks.ContentType
|
||||||
import com.woka.databinding.DialogContinueEpisodeBinding
|
import com.woka.databinding.DialogContinueEpisodeBinding
|
||||||
import com.woka.databinding.FragmentWebSeriesBinding
|
import com.woka.databinding.FragmentWebSeriesBinding
|
||||||
import com.woka.networking.ApiResult
|
import com.woka.networking.ApiResult
|
||||||
@@ -111,6 +113,8 @@ class WebSeriesFragment : Fragment() {
|
|||||||
binding.errorView.hide()
|
binding.errorView.hide()
|
||||||
|
|
||||||
viewModel.loadCategories()
|
viewModel.loadCategories()
|
||||||
|
|
||||||
|
ClicksHelper.upsertClickEvent(ContentType.OTHERS)
|
||||||
}
|
}
|
||||||
|
|
||||||
loadMoreBtn.setOnClickListener {
|
loadMoreBtn.setOnClickListener {
|
||||||
@@ -118,6 +122,8 @@ class WebSeriesFragment : Fragment() {
|
|||||||
loadingMore = true
|
loadingMore = true
|
||||||
viewModel.loadMoreWebSeries(it)
|
viewModel.loadMoreWebSeries(it)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
ClicksHelper.upsertClickEvent(ContentType.OTHERS)
|
||||||
}
|
}
|
||||||
|
|
||||||
trailerBtn.setOnClickListener {
|
trailerBtn.setOnClickListener {
|
||||||
@@ -140,6 +146,8 @@ class WebSeriesFragment : Fragment() {
|
|||||||
)
|
)
|
||||||
putExtra(EXTRA_PLAY_INDEX, 0)
|
putExtra(EXTRA_PLAY_INDEX, 0)
|
||||||
})
|
})
|
||||||
|
|
||||||
|
ClicksHelper.upsertClickEvent(ContentType.TEASER)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -203,6 +211,10 @@ class WebSeriesFragment : Fragment() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
episodeDialogBinding.close.setOnClickListener { episodeDialog.dismiss() }
|
episodeDialogBinding.close.setOnClickListener { episodeDialog.dismiss() }
|
||||||
|
|
||||||
|
episodeDialog.setOnDismissListener {
|
||||||
|
ClicksHelper.upsertClickEvent(ContentType.OTHERS)
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private fun loadShowData() {
|
private fun loadShowData() {
|
||||||
@@ -334,6 +346,7 @@ class WebSeriesFragment : Fragment() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
viewModel.selectedCategoryPos = position
|
viewModel.selectedCategoryPos = position
|
||||||
|
ClicksHelper.upsertClickEvent(ContentType.OTHERS)
|
||||||
}
|
}
|
||||||
|
|
||||||
override fun onNothingSelected(parent: AdapterView<*>?) {}
|
override fun onNothingSelected(parent: AdapterView<*>?) {}
|
||||||
@@ -350,6 +363,8 @@ class WebSeriesFragment : Fragment() {
|
|||||||
showData, categoryId
|
showData, categoryId
|
||||||
)
|
)
|
||||||
)
|
)
|
||||||
|
|
||||||
|
ClicksHelper.upsertClickEvent(ContentType.SERIES, showData.id, categoryId)
|
||||||
}
|
}
|
||||||
|
|
||||||
// updating common data of shows across all category show list
|
// updating common data of shows across all category show list
|
||||||
@@ -429,12 +444,14 @@ class WebSeriesFragment : Fragment() {
|
|||||||
|
|
||||||
videoPlayList.videoViewRequestDataList?.add(
|
videoPlayList.videoViewRequestDataList?.add(
|
||||||
VideoViewRequestData(
|
VideoViewRequestData(
|
||||||
"${episodeData.id}",
|
episodeData.id,
|
||||||
"3",
|
"3",
|
||||||
null,
|
null,
|
||||||
category_id = "18"
|
category_id = "18"
|
||||||
)
|
)
|
||||||
)
|
)
|
||||||
|
|
||||||
|
ClicksHelper.upsertClickEvent(ContentType.EPISODE, episodeData.id, "18")
|
||||||
} else {
|
} else {
|
||||||
videoPlayList.playlist.add(
|
videoPlayList.playlist.add(
|
||||||
PlaylistItem.Builder()
|
PlaylistItem.Builder()
|
||||||
@@ -446,12 +463,14 @@ class WebSeriesFragment : Fragment() {
|
|||||||
|
|
||||||
videoPlayList.videoViewRequestDataList?.add(
|
videoPlayList.videoViewRequestDataList?.add(
|
||||||
VideoViewRequestData(
|
VideoViewRequestData(
|
||||||
"${episodeData.id}",
|
episodeData.id,
|
||||||
"3",
|
"3",
|
||||||
null,
|
null,
|
||||||
"1"
|
"1"
|
||||||
)
|
)
|
||||||
)
|
)
|
||||||
|
|
||||||
|
ClicksHelper.upsertClickEvent(ContentType.EPISODE, episodeData.id, "1")
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -463,10 +482,6 @@ class WebSeriesFragment : Fragment() {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
close.setOnClickListener {
|
|
||||||
episodeDialog.dismiss()
|
|
||||||
}
|
|
||||||
|
|
||||||
episodeDialog.show()
|
episodeDialog.show()
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -21,6 +21,8 @@ import com.google.android.material.tabs.TabLayout
|
|||||||
import com.jwplayer.pub.api.media.playlists.PlaylistItem
|
import com.jwplayer.pub.api.media.playlists.PlaylistItem
|
||||||
import com.woka.R
|
import com.woka.R
|
||||||
import com.woka.WokaApp.Companion.userPrefs
|
import com.woka.WokaApp.Companion.userPrefs
|
||||||
|
import com.woka.database.helpers.ClicksHelper
|
||||||
|
import com.woka.database.models.clicks.ContentType
|
||||||
import com.woka.databinding.DialogEpisodeBinding
|
import com.woka.databinding.DialogEpisodeBinding
|
||||||
import com.woka.databinding.FragmentWebShowBinding
|
import com.woka.databinding.FragmentWebShowBinding
|
||||||
import com.woka.networking.ApiResult
|
import com.woka.networking.ApiResult
|
||||||
@@ -32,6 +34,7 @@ import com.woka.utils.hide
|
|||||||
import com.woka.utils.isNetworkConnected
|
import com.woka.utils.isNetworkConnected
|
||||||
import com.woka.utils.lightStatusBar
|
import com.woka.utils.lightStatusBar
|
||||||
import com.woka.utils.setVisibility
|
import com.woka.utils.setVisibility
|
||||||
|
import com.woka.utils.shareWokaApp
|
||||||
import com.woka.utils.show
|
import com.woka.utils.show
|
||||||
import com.woka.utils.toast
|
import com.woka.utils.toast
|
||||||
import com.woka.webseries.WebSeriesRepository
|
import com.woka.webseries.WebSeriesRepository
|
||||||
@@ -161,11 +164,20 @@ class WebShowFragment : Fragment(), TabLayout.OnTabSelectedListener {
|
|||||||
|
|
||||||
watchCard.setOnClickListener {
|
watchCard.setOnClickListener {
|
||||||
playTrailer.performClick()
|
playTrailer.performClick()
|
||||||
|
|
||||||
|
ClicksHelper.upsertClickEvent(ContentType.SERIES, showData.id, categoryId)
|
||||||
|
}
|
||||||
|
|
||||||
|
shareSeason.setOnClickListener {
|
||||||
|
activity?.shareWokaApp()
|
||||||
|
ClicksHelper.upsertClickEvent(ContentType.SERIES, showData.id, categoryId)
|
||||||
}
|
}
|
||||||
|
|
||||||
epLoadMoreBtn.setOnClickListener {
|
epLoadMoreBtn.setOnClickListener {
|
||||||
loadMoreEpisodes = true
|
loadMoreEpisodes = true
|
||||||
viewModel.loadMoreEpisodes("${showData.id}", selectedSeasonId)
|
viewModel.loadMoreEpisodes("${showData.id}", selectedSeasonId)
|
||||||
|
|
||||||
|
ClicksHelper.upsertClickEvent(ContentType.OTHERS)
|
||||||
}
|
}
|
||||||
|
|
||||||
likeSeason.setOnClickListener {
|
likeSeason.setOnClickListener {
|
||||||
@@ -202,6 +214,8 @@ class WebShowFragment : Fragment(), TabLayout.OnTabSelectedListener {
|
|||||||
})
|
})
|
||||||
|
|
||||||
showDataChanged = true
|
showDataChanged = true
|
||||||
|
|
||||||
|
ClicksHelper.upsertClickEvent(ContentType.SERIES, showData.id, categoryId)
|
||||||
}
|
}
|
||||||
|
|
||||||
favSeason.setOnClickListener {
|
favSeason.setOnClickListener {
|
||||||
@@ -239,6 +253,7 @@ class WebShowFragment : Fragment(), TabLayout.OnTabSelectedListener {
|
|||||||
})
|
})
|
||||||
|
|
||||||
showDataChanged = true
|
showDataChanged = true
|
||||||
|
ClicksHelper.upsertClickEvent(ContentType.SERIES, showData.id, categoryId)
|
||||||
}
|
}
|
||||||
|
|
||||||
playTrailer.setOnClickListener {
|
playTrailer.setOnClickListener {
|
||||||
@@ -283,6 +298,8 @@ class WebShowFragment : Fragment(), TabLayout.OnTabSelectedListener {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
ClicksHelper.upsertClickEvent(ContentType.SEASON, seasonData.id, categoryId)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -314,6 +331,10 @@ class WebShowFragment : Fragment(), TabLayout.OnTabSelectedListener {
|
|||||||
}
|
}
|
||||||
|
|
||||||
episodeDialogBinding.close.setOnClickListener { episodeDialog.dismiss() }
|
episodeDialogBinding.close.setOnClickListener { episodeDialog.dismiss() }
|
||||||
|
|
||||||
|
episodeDialog.setOnDismissListener {
|
||||||
|
ClicksHelper.upsertClickEvent(ContentType.OTHERS)
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// callbacks
|
// callbacks
|
||||||
@@ -473,7 +494,7 @@ class WebShowFragment : Fragment(), TabLayout.OnTabSelectedListener {
|
|||||||
}
|
}
|
||||||
|
|
||||||
watchCard.setOnClickListener {
|
watchCard.setOnClickListener {
|
||||||
onEpisodePlayClicked(position)
|
onEpisodePlayClicked(position, episodeData)
|
||||||
}
|
}
|
||||||
|
|
||||||
close.setOnClickListener {
|
close.setOnClickListener {
|
||||||
@@ -483,9 +504,11 @@ class WebShowFragment : Fragment(), TabLayout.OnTabSelectedListener {
|
|||||||
episodeDialog.show()
|
episodeDialog.show()
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
ClicksHelper.upsertClickEvent(ContentType.EPISODE, episodeData.id, categoryId)
|
||||||
}
|
}
|
||||||
|
|
||||||
private fun onEpisodePlayClicked(position: Int) {
|
private fun onEpisodePlayClicked(position: Int, episodeData: EpisodeData) {
|
||||||
activity?.let {
|
activity?.let {
|
||||||
startActivity(Intent(it, PlayerActivity::class.java).apply {
|
startActivity(Intent(it, PlayerActivity::class.java).apply {
|
||||||
putExtra(
|
putExtra(
|
||||||
@@ -494,6 +517,8 @@ class WebShowFragment : Fragment(), TabLayout.OnTabSelectedListener {
|
|||||||
)
|
)
|
||||||
putExtra(PlayerActivity.EXTRA_PLAY_INDEX, position)
|
putExtra(PlayerActivity.EXTRA_PLAY_INDEX, position)
|
||||||
})
|
})
|
||||||
|
|
||||||
|
ClicksHelper.upsertClickEvent(ContentType.EPISODE, episodeData.id, categoryId)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -550,7 +575,7 @@ class WebShowFragment : Fragment(), TabLayout.OnTabSelectedListener {
|
|||||||
}
|
}
|
||||||
|
|
||||||
watchCard.setOnClickListener {
|
watchCard.setOnClickListener {
|
||||||
onTeaserPlayClicked(position)
|
onTeaserPlayClicked(position, teaserData)
|
||||||
}
|
}
|
||||||
|
|
||||||
close.setOnClickListener {
|
close.setOnClickListener {
|
||||||
@@ -560,6 +585,8 @@ class WebShowFragment : Fragment(), TabLayout.OnTabSelectedListener {
|
|||||||
episodeDialog.show()
|
episodeDialog.show()
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
ClicksHelper.upsertClickEvent(ContentType.TEASER, teaserData.id, categoryId)
|
||||||
}
|
}
|
||||||
|
|
||||||
private fun loadSeasonData() {
|
private fun loadSeasonData() {
|
||||||
@@ -570,6 +597,8 @@ class WebShowFragment : Fragment(), TabLayout.OnTabSelectedListener {
|
|||||||
if (seasonsTab.selectedTabPosition < seasonList.size) {
|
if (seasonsTab.selectedTabPosition < seasonList.size) {
|
||||||
seasonList[seasonsTab.selectedTabPosition].let { seasonData ->
|
seasonList[seasonsTab.selectedTabPosition].let { seasonData ->
|
||||||
|
|
||||||
|
ClicksHelper.upsertClickEvent(ContentType.SEASON, seasonData.id, categoryId)
|
||||||
|
|
||||||
playTrailer.show()
|
playTrailer.show()
|
||||||
detailsProgressiveView.hide()
|
detailsProgressiveView.hide()
|
||||||
detailsView.show()
|
detailsView.show()
|
||||||
@@ -626,7 +655,7 @@ class WebShowFragment : Fragment(), TabLayout.OnTabSelectedListener {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private fun onTeaserPlayClicked(position: Int) {
|
private fun onTeaserPlayClicked(position: Int, teaserData: TeaserData) {
|
||||||
activity?.let {
|
activity?.let {
|
||||||
startActivity(Intent(it, PlayerActivity::class.java).apply {
|
startActivity(Intent(it, PlayerActivity::class.java).apply {
|
||||||
putExtra(
|
putExtra(
|
||||||
@@ -635,6 +664,8 @@ class WebShowFragment : Fragment(), TabLayout.OnTabSelectedListener {
|
|||||||
)
|
)
|
||||||
putExtra(PlayerActivity.EXTRA_PLAY_INDEX, position)
|
putExtra(PlayerActivity.EXTRA_PLAY_INDEX, position)
|
||||||
})
|
})
|
||||||
|
|
||||||
|
ClicksHelper.upsertClickEvent(ContentType.TEASER, teaserData.id, categoryId)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -9,6 +9,8 @@ import androidx.recyclerview.widget.ListAdapter
|
|||||||
import androidx.recyclerview.widget.RecyclerView.ViewHolder
|
import androidx.recyclerview.widget.RecyclerView.ViewHolder
|
||||||
import com.woka.R
|
import com.woka.R
|
||||||
import com.woka.WokaApp.Companion.userPrefs
|
import com.woka.WokaApp.Companion.userPrefs
|
||||||
|
import com.woka.database.helpers.ClicksHelper
|
||||||
|
import com.woka.database.models.clicks.ContentType
|
||||||
import com.woka.databinding.ShowViewHolderBinding
|
import com.woka.databinding.ShowViewHolderBinding
|
||||||
import com.woka.userPreference.UserType
|
import com.woka.userPreference.UserType
|
||||||
import com.woka.utils.isNetworkConnected
|
import com.woka.utils.isNetworkConnected
|
||||||
@@ -120,6 +122,8 @@ class GamesAdapter(
|
|||||||
|
|
||||||
like.isSelected = !like.isSelected
|
like.isSelected = !like.isSelected
|
||||||
likeCount.text = "${gameData.likes_count}"
|
likeCount.text = "${gameData.likes_count}"
|
||||||
|
|
||||||
|
ClicksHelper.upsertClickEvent(ContentType.GAME, gameData.id)
|
||||||
}
|
}
|
||||||
|
|
||||||
fav.isSelected = gameData.mark_as_favourite == true
|
fav.isSelected = gameData.mark_as_favourite == true
|
||||||
@@ -143,6 +147,8 @@ class GamesAdapter(
|
|||||||
gameData.mark_as_favourite = !fav.isSelected
|
gameData.mark_as_favourite = !fav.isSelected
|
||||||
|
|
||||||
fav.isSelected = gameData.mark_as_favourite == true
|
fav.isSelected = gameData.mark_as_favourite == true
|
||||||
|
|
||||||
|
ClicksHelper.upsertClickEvent(ContentType.GAME, gameData.id)
|
||||||
}
|
}
|
||||||
|
|
||||||
root.setOnClickListener {
|
root.setOnClickListener {
|
||||||
|
|||||||
@@ -17,6 +17,8 @@ import androidx.recyclerview.widget.SimpleItemAnimator
|
|||||||
import com.google.android.material.appbar.CollapsingToolbarLayout
|
import com.google.android.material.appbar.CollapsingToolbarLayout
|
||||||
import com.woka.R
|
import com.woka.R
|
||||||
import com.woka.WokaApp.Companion.userPrefs
|
import com.woka.WokaApp.Companion.userPrefs
|
||||||
|
import com.woka.database.helpers.ClicksHelper
|
||||||
|
import com.woka.database.models.clicks.ContentType
|
||||||
import com.woka.databinding.ActivityGamesBinding
|
import com.woka.databinding.ActivityGamesBinding
|
||||||
import com.woka.databinding.DialogModuleShowerBinding
|
import com.woka.databinding.DialogModuleShowerBinding
|
||||||
import com.woka.networking.ApiResult
|
import com.woka.networking.ApiResult
|
||||||
@@ -26,6 +28,7 @@ import com.woka.utils.WokaBaseActivity
|
|||||||
import com.woka.utils.hide
|
import com.woka.utils.hide
|
||||||
import com.woka.utils.isNetworkConnected
|
import com.woka.utils.isNetworkConnected
|
||||||
import com.woka.utils.setVisibility
|
import com.woka.utils.setVisibility
|
||||||
|
import com.woka.utils.shareWokaApp
|
||||||
import com.woka.utils.show
|
import com.woka.utils.show
|
||||||
import com.woka.utils.toast
|
import com.woka.utils.toast
|
||||||
import com.woka.wokagames.GamesRepository
|
import com.woka.wokagames.GamesRepository
|
||||||
@@ -92,6 +95,11 @@ class GamesActivity : WokaBaseActivity() {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
override fun onDestroy() {
|
||||||
|
super.onDestroy()
|
||||||
|
ClicksHelper.upsertClickEvent(ContentType.OTHERS)
|
||||||
|
}
|
||||||
|
|
||||||
private fun initViews() {
|
private fun initViews() {
|
||||||
binding.apply {
|
binding.apply {
|
||||||
adjustTrailerImage()
|
adjustTrailerImage()
|
||||||
@@ -123,6 +131,10 @@ class GamesActivity : WokaBaseActivity() {
|
|||||||
|
|
||||||
dialogBinding.close.setOnClickListener { gameDialog.dismiss() }
|
dialogBinding.close.setOnClickListener { gameDialog.dismiss() }
|
||||||
|
|
||||||
|
gameDialog.setOnDismissListener {
|
||||||
|
ClicksHelper.upsertClickEvent(ContentType.OTHERS)
|
||||||
|
}
|
||||||
|
|
||||||
dialogBinding.watchCard.backgroundTintList = ColorStateList.valueOf(getColor(R.color.game_grad_one))
|
dialogBinding.watchCard.backgroundTintList = ColorStateList.valueOf(getColor(R.color.game_grad_one))
|
||||||
dialogBinding.watchCard.text = getString(R.string.play_now)
|
dialogBinding.watchCard.text = getString(R.string.play_now)
|
||||||
}
|
}
|
||||||
@@ -135,10 +147,14 @@ class GamesActivity : WokaBaseActivity() {
|
|||||||
|
|
||||||
retryBtn.setOnClickListener {
|
retryBtn.setOnClickListener {
|
||||||
viewModel.loadGames()
|
viewModel.loadGames()
|
||||||
|
|
||||||
|
ClicksHelper.upsertClickEvent(ContentType.OTHERS)
|
||||||
}
|
}
|
||||||
|
|
||||||
loadMoreBtn.setOnClickListener {
|
loadMoreBtn.setOnClickListener {
|
||||||
viewModel.loadGames()
|
viewModel.loadGames()
|
||||||
|
|
||||||
|
ClicksHelper.upsertClickEvent(ContentType.OTHERS)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -146,6 +162,8 @@ class GamesActivity : WokaBaseActivity() {
|
|||||||
private fun onGameClicked(gameData: GameData) {
|
private fun onGameClicked(gameData: GameData) {
|
||||||
loadTrailerData(gameData)
|
loadTrailerData(gameData)
|
||||||
showGameDialog(gameData)
|
showGameDialog(gameData)
|
||||||
|
|
||||||
|
ClicksHelper.upsertClickEvent(ContentType.GAME, gameData.id)
|
||||||
}
|
}
|
||||||
|
|
||||||
private fun loadTrailerData(gameData: GameData) {
|
private fun loadTrailerData(gameData: GameData) {
|
||||||
@@ -175,6 +193,8 @@ class GamesActivity : WokaBaseActivity() {
|
|||||||
putExtra(EXTRA_GAME_PLAYER_DATA, GamePlayerData(it, gameData.screen_orientation == "Landscape"))
|
putExtra(EXTRA_GAME_PLAYER_DATA, GamePlayerData(it, gameData.screen_orientation == "Landscape"))
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
|
ClicksHelper.upsertClickEvent(ContentType.GAME, gameData.id)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -254,6 +274,13 @@ class GamesActivity : WokaBaseActivity() {
|
|||||||
putExtra(EXTRA_GAME_PLAYER_DATA, GamePlayerData(it, gameData.screen_orientation == "Landscape"))
|
putExtra(EXTRA_GAME_PLAYER_DATA, GamePlayerData(it, gameData.screen_orientation == "Landscape"))
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
|
ClicksHelper.upsertClickEvent(ContentType.GAME, gameData.id)
|
||||||
|
}
|
||||||
|
|
||||||
|
dialogBinding.share.setOnClickListener {
|
||||||
|
shareWokaApp()
|
||||||
|
ClicksHelper.upsertClickEvent(ContentType.GAME, gameData.id)
|
||||||
}
|
}
|
||||||
|
|
||||||
like.setOnClickListener {
|
like.setOnClickListener {
|
||||||
@@ -289,6 +316,8 @@ class GamesActivity : WokaBaseActivity() {
|
|||||||
}
|
}
|
||||||
like.isSelected = !like.isSelected
|
like.isSelected = !like.isSelected
|
||||||
likeCount.text = "${gameData.likes_count}"
|
likeCount.text = "${gameData.likes_count}"
|
||||||
|
|
||||||
|
ClicksHelper.upsertClickEvent(ContentType.GAME, gameData.id)
|
||||||
}
|
}
|
||||||
|
|
||||||
fav.setOnClickListener {
|
fav.setOnClickListener {
|
||||||
@@ -314,10 +343,8 @@ class GamesActivity : WokaBaseActivity() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
fav.isSelected = !fav.isSelected
|
fav.isSelected = !fav.isSelected
|
||||||
}
|
|
||||||
|
|
||||||
close.setOnClickListener {
|
ClicksHelper.upsertClickEvent(ContentType.GAME, gameData.id)
|
||||||
gameDialog.dismiss()
|
|
||||||
}
|
}
|
||||||
|
|
||||||
gameDialog.show()
|
gameDialog.show()
|
||||||
|
|||||||
@@ -58,7 +58,7 @@
|
|||||||
<string name="forgot_password">पासवर्ड भूल गए?</string>
|
<string name="forgot_password">पासवर्ड भूल गए?</string>
|
||||||
<string name="forgot_your_password">अपना पासवर्ड भूल गए?</string>
|
<string name="forgot_your_password">अपना पासवर्ड भूल गए?</string>
|
||||||
<string name="please_give_us_your_username">कृपया हमें अपना उपयोगकर्ता नाम दें</string>
|
<string name="please_give_us_your_username">कृपया हमें अपना उपयोगकर्ता नाम दें</string>
|
||||||
<string name="we_will_send_a_reset_code_to_your_parent_s_email">हम आपके माता-पिता के ईमेल पर एक रीसेट कोड भेजेंगे</string>
|
<string name="we_will_send_a_reset_code_to_your_parent_s_email">हम आपके ईमेल पर एक रीसेट कोड भेजेंगे</string>
|
||||||
<string name="request_them_for_the_code_to_reset_your_password">अपना पासवर्ड रीसेट करने के लिए उनसे कोड के लिए अनुरोध करें</string>
|
<string name="request_them_for_the_code_to_reset_your_password">अपना पासवर्ड रीसेट करने के लिए उनसे कोड के लिए अनुरोध करें</string>
|
||||||
<string name="great_select_new_password">नया पासवर्ड चुनें</string>
|
<string name="great_select_new_password">नया पासवर्ड चुनें</string>
|
||||||
<string name="enter_a_new_password_">नया पासवर्ड दर्ज करें</string>
|
<string name="enter_a_new_password_">नया पासवर्ड दर्ज करें</string>
|
||||||
|
|||||||
@@ -60,7 +60,7 @@
|
|||||||
<string name="forgot_password">Forgot Password?</string>
|
<string name="forgot_password">Forgot Password?</string>
|
||||||
<string name="forgot_your_password">Forgot your Password?</string>
|
<string name="forgot_your_password">Forgot your Password?</string>
|
||||||
<string name="please_give_us_your_username">PLEASE GIVE US YOUR USERNAME</string>
|
<string name="please_give_us_your_username">PLEASE GIVE US YOUR USERNAME</string>
|
||||||
<string name="we_will_send_a_reset_code_to_your_parent_s_email">We will send a reset code to your parent’s email</string>
|
<string name="we_will_send_a_reset_code_to_your_parent_s_email">We will send a reset code to your email</string>
|
||||||
<string name="request_them_for_the_code_to_reset_your_password">Request them for the code to reset your password</string>
|
<string name="request_them_for_the_code_to_reset_your_password">Request them for the code to reset your password</string>
|
||||||
<string name="great_select_new_password">Great! Select New Password</string>
|
<string name="great_select_new_password">Great! Select New Password</string>
|
||||||
<string name="enter_a_new_password_">Enter a new password</string>
|
<string name="enter_a_new_password_">Enter a new password</string>
|
||||||
@@ -297,4 +297,6 @@
|
|||||||
<string name="status">Status:</string>
|
<string name="status">Status:</string>
|
||||||
<string name="expected_date">Expected Date:</string>
|
<string name="expected_date">Expected Date:</string>
|
||||||
<string name="view_all">VIEW ALL</string>
|
<string name="view_all">VIEW ALL</string>
|
||||||
|
<string name="alert">Alert!</string>
|
||||||
|
<string name="are_you_sure_you_want_to_remove_item_from_cart">Are you sure you want to remove item from cart?</string>
|
||||||
</resources>
|
</resources>
|
||||||
Reference in New Issue
Block a user