diff --git a/app/src/main/java/com/woka/audiobooks/views/AudioBooksActivity.kt b/app/src/main/java/com/woka/audiobooks/views/AudioBooksActivity.kt index 3f0a839..6b44a44 100644 --- a/app/src/main/java/com/woka/audiobooks/views/AudioBooksActivity.kt +++ b/app/src/main/java/com/woka/audiobooks/views/AudioBooksActivity.kt @@ -8,7 +8,7 @@ import android.graphics.drawable.InsetDrawable import android.net.Uri import android.os.Bundle import android.text.Html -import android.util.Log +import android.view.View import android.view.WindowManager import androidx.activity.enableEdgeToEdge import androidx.activity.result.ActivityResultLauncher @@ -173,9 +173,12 @@ class AudioBooksActivity : WokaBaseActivity() { val percentageScrolled = (scrolledHeight.toFloat()/totalHeight.toFloat()) * 100 - if (percentageScrolled >= 60) { + if (percentageScrolled == 100f) { if (!isLoading && !viewModel.lastPage && isNetworkConnected()){ isLoading = true + binding.loadMoreProgress.post { + binding.nestedScrollView.fullScroll(View.FOCUS_DOWN) + } viewModel.loadAudioSongs() } } @@ -301,6 +304,9 @@ class AudioBooksActivity : WokaBaseActivity() { } else { // loading more data binding.loadMoreProgress.show() + binding.loadMoreProgress.post { + binding.nestedScrollView.fullScroll(View.FOCUS_DOWN) + } } } diff --git a/app/src/main/java/com/woka/home/fragments/Home1Fragment.kt b/app/src/main/java/com/woka/home/fragments/Home1Fragment.kt index acf6406..edfe88b 100644 --- a/app/src/main/java/com/woka/home/fragments/Home1Fragment.kt +++ b/app/src/main/java/com/woka/home/fragments/Home1Fragment.kt @@ -192,7 +192,11 @@ class Home1Fragment : Fragment() { viewModel.player?.play() } - binding.playerView.show() + if (viewModel.errorRetryCount == 0){ + viewModel.reloadPlayer() + } + + binding.playerView.show() } override fun onPause() { diff --git a/app/src/main/java/com/woka/home/fragments/Home2Fragment.kt b/app/src/main/java/com/woka/home/fragments/Home2Fragment.kt index ee8db2c..95499bb 100644 --- a/app/src/main/java/com/woka/home/fragments/Home2Fragment.kt +++ b/app/src/main/java/com/woka/home/fragments/Home2Fragment.kt @@ -119,6 +119,10 @@ class Home2Fragment : Fragment() { viewModel.player?.play() } + if (viewModel.errorRetryCount == 0){ + viewModel.reloadPlayer() + } + binding.playerView.show() } diff --git a/app/src/main/java/com/woka/home/fragments/MyListFragment.kt b/app/src/main/java/com/woka/home/fragments/MyListFragment.kt index 89bec80..d325634 100644 --- a/app/src/main/java/com/woka/home/fragments/MyListFragment.kt +++ b/app/src/main/java/com/woka/home/fragments/MyListFragment.kt @@ -27,6 +27,7 @@ import com.google.android.gms.ads.AdSize import com.google.android.gms.ads.AdView import com.jwplayer.pub.api.media.playlists.PlaylistItem import com.woka.R +import com.woka.WokaApp import com.woka.WokaApp.Companion.userPrefs import com.woka.advertisements.AdsRepository import com.woka.advertisements.models.ForPage @@ -940,16 +941,27 @@ class MyListFragment : Fragment() { watchCard.setOnClickListener { activity?.let { activity -> gameData.game_url?.let { - startActivity(Intent(activity, GamePlayerActivity::class.java).apply { - putExtra( - GamePlayerActivity.EXTRA_GAME_PLAYER_DATA, - GamePlayerData( - gameData.id, - it, - gameData.screen_orientation == "Landscape" - ) - ) - }) + lifecycleScope.launch { + AdsRepository.getADs()?.let { ads -> + val fmAds = ads.filter { it.slug == ForPage.GAME_INTERSTITIAL.value } + + if (fmAds.isNotEmpty()){ + fmAds.first().google_ad?.let {_ -> + WokaApp.interstitialAds?.showNewAd(activity){ + startActivity(Intent(activity, GamePlayerActivity::class.java).apply { + putExtra(GamePlayerActivity.EXTRA_GAME_PLAYER_DATA, GamePlayerData(gameData.id, it, gameData.screen_orientation == "Landscape")) + }) + } + + return@launch + } + } + } + + startActivity(Intent(activity, GamePlayerActivity::class.java).apply { + putExtra(GamePlayerActivity.EXTRA_GAME_PLAYER_DATA, GamePlayerData(gameData.id, it, gameData.screen_orientation == "Landscape")) + }) + } clickHelper.upsertClickEvent(ContentType.GAME, gameData.id) } diff --git a/app/src/main/java/com/woka/karaoke/views/KaraokeActivity.kt b/app/src/main/java/com/woka/karaoke/views/KaraokeActivity.kt index 26cce63..309f9e6 100644 --- a/app/src/main/java/com/woka/karaoke/views/KaraokeActivity.kt +++ b/app/src/main/java/com/woka/karaoke/views/KaraokeActivity.kt @@ -10,6 +10,7 @@ import android.net.Uri import android.os.Bundle import android.text.Html import android.util.Log +import android.view.View import android.view.WindowManager import androidx.activity.enableEdgeToEdge import androidx.activity.result.ActivityResultLauncher @@ -174,10 +175,13 @@ class KaraokeActivity : WokaBaseActivity() { val percentageScrolled = (scrolledHeight.toFloat()/totalHeight.toFloat()) * 100 - if (percentageScrolled >= 60) { + if (percentageScrolled == 100f) { if (!isLoading && !viewModel.lastPage && isNetworkConnected()){ Log.d("infinite_scroll", "LOAD MORE") isLoading = true + binding.loadMoreProgress.post { + binding.nestedScrollView.fullScroll(View.FOCUS_DOWN) + } viewModel.loadKaraokeSongs() } } @@ -528,6 +532,9 @@ class KaraokeActivity : WokaBaseActivity() { } else { // loading more data binding.loadMoreProgress.show() + binding.loadMoreProgress.post { + binding.nestedScrollView.fullScroll(View.FOCUS_DOWN) + } } } diff --git a/app/src/main/java/com/woka/onboard/fragments/LanguageFragment.kt b/app/src/main/java/com/woka/onboard/fragments/LanguageFragment.kt index 8e00191..9d29858 100644 --- a/app/src/main/java/com/woka/onboard/fragments/LanguageFragment.kt +++ b/app/src/main/java/com/woka/onboard/fragments/LanguageFragment.kt @@ -113,7 +113,6 @@ class LanguageFragment : Fragment() { is ApiResult.Loading -> {} is ApiResult.Success -> { progressView.hide() - toast(response.message) requireActivity().changeLocale(locale) response.data?.let { diff --git a/app/src/main/java/com/woka/onboard/fragments/SignInFragment.kt b/app/src/main/java/com/woka/onboard/fragments/SignInFragment.kt index 435715c..1005f32 100644 --- a/app/src/main/java/com/woka/onboard/fragments/SignInFragment.kt +++ b/app/src/main/java/com/woka/onboard/fragments/SignInFragment.kt @@ -160,7 +160,6 @@ class SignInFragment : Fragment() { is ApiResult.Success -> { progressView.hide() it.data?.let {data -> - toast(it.message) userPrefs?.userType = UserType.GUEST userPrefs?.guestUserName = data.fullname diff --git a/app/src/main/java/com/woka/shop/views/fragments/shop/ShopFragment3.kt b/app/src/main/java/com/woka/shop/views/fragments/shop/ShopFragment3.kt index 0c6b3c9..34e139e 100644 --- a/app/src/main/java/com/woka/shop/views/fragments/shop/ShopFragment3.kt +++ b/app/src/main/java/com/woka/shop/views/fragments/shop/ShopFragment3.kt @@ -21,7 +21,6 @@ import com.woka.shop.adapters.ShopProductAdapter import com.woka.shop.viewmodels.ShopViewModel import com.woka.utils.hide import com.woka.utils.isNetworkConnected -import com.woka.utils.setVisibility import com.woka.utils.show class ShopFragment3 : Fragment(), TabLayout.OnTabSelectedListener { @@ -36,7 +35,7 @@ class ShopFragment3 : Fragment(), TabLayout.OnTabSelectedListener { private val categoryId: String by lazy { args.categoryId } private val categoryName: String by lazy { args.categoryName } - private var loadMoreProducts = false + private var isLoadMoreProducts = false override fun onCreateView( inflater: LayoutInflater, container: ViewGroup?, @@ -45,7 +44,7 @@ class ShopFragment3 : Fragment(), TabLayout.OnTabSelectedListener { binding = FragmentShop3Binding.inflate(inflater, container, false) viewModel = ViewModelProvider(requireActivity())[ShopViewModel::class.java] productAdapter = ShopProductAdapter() - loadMoreProducts = false + isLoadMoreProducts = false return binding.root } @@ -88,21 +87,21 @@ class ShopFragment3 : Fragment(), TabLayout.OnTabSelectedListener { val totalItemCount = layoutManager.itemCount val firstVisibleItemPosition = layoutManager.findFirstVisibleItemPosition() - val subCategoryId = categoryTabs.getTabAt(categoryTabs.selectedTabPosition)?.tag + val subCategoryId = categoryTabs.getTabAt(categoryTabs.selectedTabPosition)?.tag?.toString() if ((viewModel.productPagingData["${superCategoryId}_${categoryId}_$subCategoryId"]?.nextPageToLoad?:0) > 0 - && !loadMoreProducts + && !isLoadMoreProducts && viewModel.productPagingData["${superCategoryId}_${categoryId}_$subCategoryId"]?.lastPage == false && context?.isNetworkConnected() == true) { if (visibleItemCount + firstVisibleItemPosition >= totalItemCount && firstVisibleItemPosition >= 0 ) { - Log.d("infinite_scroll", "LOAD MORE ${!loadMoreProducts}") - loadMoreProducts = true + Log.d("infinite_scroll", "LOAD MORE ${!isLoadMoreProducts}") + isLoadMoreProducts = true viewModel.loadMoreProducts( superCategoryId, categoryId, - "$subCategoryId" + subCategoryId ) } } @@ -133,7 +132,6 @@ class ShopFragment3 : Fragment(), TabLayout.OnTabSelectedListener { if (selectedTabPos >= 0) { viewModel.subcategoryDataMap["${superCategoryId}_$categoryId"]?.let { subCategories -> if (selectedTabPos < subCategories.size) { - loadMoreProducts = false viewModel.loadProducts(superCategoryId, categoryId, subCategories[selectedTabPos].id?.toString()) ClicksHelper.upsertClickEvent(ContentType.SHOP_PRODUCT, subCategories[selectedTabPos].id) @@ -180,21 +178,23 @@ class ShopFragment3 : Fragment(), TabLayout.OnTabSelectedListener { viewModel.productListingLiveData.observe(viewLifecycleOwner){ when (it) { is ApiResult.Error -> { - if (!loadMoreProducts){ + if (!isLoadMoreProducts){ rvProducts.hide() } - loadMoreProducts = false + isLoadMoreProducts = false } is ApiResult.Loading -> { - binding.rvProducts.setVisibility(loadMoreProducts) + if (isLoadMoreProducts){ + rvProducts.show() + } } is ApiResult.Success -> { it.data?.let { productList -> binding.rvProducts.show() - if (loadMoreProducts) { + if (isLoadMoreProducts) { // loaded more data productAdapter.notifyItemRangeInserted( productAdapter.currentList.size, @@ -214,7 +214,7 @@ class ShopFragment3 : Fragment(), TabLayout.OnTabSelectedListener { } } - loadMoreProducts = false + isLoadMoreProducts = false } } } diff --git a/app/src/main/java/com/woka/webseries/views/fragments/WebShowFragment.kt b/app/src/main/java/com/woka/webseries/views/fragments/WebShowFragment.kt index 08f4110..7a365bc 100644 --- a/app/src/main/java/com/woka/webseries/views/fragments/WebShowFragment.kt +++ b/app/src/main/java/com/woka/webseries/views/fragments/WebShowFragment.kt @@ -176,13 +176,16 @@ class WebShowFragment : Fragment(), TabLayout.OnTabSelectedListener { val percentageScrolled = (scrolledHeight.toFloat()/totalHeight.toFloat()) * 100 - if (percentageScrolled >= 80) { + if (percentageScrolled == 100f) { if (viewModel.episodesNextPageToLoad > 0 && !isLoadingMoreEpisodes && !viewModel.episodesLastPage && context?.isNetworkConnected() == true){ Log.d("infinite_scroll", "LOAD MORE") isLoadingMoreEpisodes = true + binding.loadMoreProgress.post { + binding.nestedScrollView.fullScroll(View.FOCUS_DOWN) + } viewModel.loadEpisodes("${showData.id}", selectedSeasonId) } } @@ -426,6 +429,9 @@ class WebShowFragment : Fragment(), TabLayout.OnTabSelectedListener { }else { // loading more data binding.loadMoreProgress.show() + binding.loadMoreProgress.post { + binding.nestedScrollView.fullScroll(View.FOCUS_DOWN) + } binding.rvEpisodes.show() binding.seasonMediaType.show() } @@ -437,7 +443,6 @@ class WebShowFragment : Fragment(), TabLayout.OnTabSelectedListener { binding.rvEpisodes.show() binding.seasonMediaType.show() binding.epShimmer.hide() - binding.loadMoreProgress.hide() if (!isLoadingMoreEpisodes){ // loading new data @@ -449,6 +454,8 @@ class WebShowFragment : Fragment(), TabLayout.OnTabSelectedListener { episodeAdapter.currentList.size, episodeList.size ) + + binding.loadMoreProgress.hide() } catch (e: Exception) { // do nothing } diff --git a/app/src/main/java/com/woka/wokagames/views/GamesActivity.kt b/app/src/main/java/com/woka/wokagames/views/GamesActivity.kt index 30969ff..89e4e7c 100644 --- a/app/src/main/java/com/woka/wokagames/views/GamesActivity.kt +++ b/app/src/main/java/com/woka/wokagames/views/GamesActivity.kt @@ -10,6 +10,7 @@ import android.net.Uri import android.os.Bundle import android.text.Html import android.util.Log +import android.view.View import android.view.WindowManager import androidx.activity.enableEdgeToEdge import androidx.core.view.ViewCompat @@ -149,10 +150,13 @@ class GamesActivity : WokaBaseActivity() { val percentageScrolled = (scrolledHeight.toFloat()/totalHeight.toFloat()) * 100 - if (percentageScrolled >= 80) { + if (percentageScrolled == 100f) { if (!isLoading && !viewModel.lastPage && isNetworkConnected()){ Log.d("infinite_scroll", "LOAD MORE") isLoading = true + binding.loadMoreProgress.post { + binding.nestedScrollView.fullScroll(View.FOCUS_DOWN) + } viewModel.loadGames() } } @@ -464,6 +468,9 @@ class GamesActivity : WokaBaseActivity() { } else { // loading more data binding.loadMoreProgress.show() + binding.loadMoreProgress.post { + binding.nestedScrollView.fullScroll(View.FOCUS_DOWN) + } } } is ApiResult.Success -> { diff --git a/app/src/main/res/layout/fragment_shop3.xml b/app/src/main/res/layout/fragment_shop3.xml index 9dfb027..464f589 100644 --- a/app/src/main/res/layout/fragment_shop3.xml +++ b/app/src/main/res/layout/fragment_shop3.xml @@ -49,7 +49,7 @@ android:layout_width="match_parent" android:layout_height="45dp" android:layout_marginStart="5dp" - android:layout_marginTop="10dp" + android:layout_marginVertical="10dp" app:tabBackground="@drawable/sub_category_tab_bg" app:tabGravity="start" app:tabIndicatorHeight="0dp" diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index f8bbe78..d6d3fb1 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -199,7 +199,7 @@ Dummy Button DUMMY\nCONTENT Warning - Clicking \"OK\" will exit you from the game.\nAre you sure you want to proceed? + Are you sure you want to exit the game? CANCEL OK SING ALONG and DANCE