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