From 11664ff2c786b98ece1cb10fe1a716c3c8d6d1b8 Mon Sep 17 00:00:00 2001 From: AdityaGaikwad Date: Tue, 15 Oct 2024 19:13:20 +0530 Subject: [PATCH] Solved bug related to empty OneSignal user ID when the app is initially launched - for hindi button Solved bug related to margins when no small banner google ads are loaded. --- .../audiobooks/views/AudioBooksActivity.kt | 11 ++++++ .../com/woka/karaoke/views/KaraokeActivity.kt | 11 ++++++ .../onboard/fragments/LanguageFragment.kt | 35 ++++++++++--------- .../views/fragments/WebSeriesFragment.kt | 11 ++++++ .../com/woka/wokagames/views/GamesActivity.kt | 11 ++++++ .../main/res/layout/fragment_web_series.xml | 2 ++ 6 files changed, 64 insertions(+), 17 deletions(-) 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 70bc3cd..73d563d 100644 --- a/app/src/main/java/com/woka/audiobooks/views/AudioBooksActivity.kt +++ b/app/src/main/java/com/woka/audiobooks/views/AudioBooksActivity.kt @@ -14,6 +14,7 @@ import androidx.activity.result.ActivityResultLauncher import androidx.activity.result.contract.ActivityResultContracts import androidx.core.view.ViewCompat import androidx.core.view.WindowInsetsCompat +import androidx.core.view.updateLayoutParams import androidx.lifecycle.ViewModelProvider import androidx.lifecycle.lifecycleScope import androidx.recyclerview.widget.SimpleItemAnimator @@ -21,6 +22,7 @@ import com.google.android.gms.ads.AdListener import com.google.android.gms.ads.AdRequest import com.google.android.gms.ads.AdSize import com.google.android.gms.ads.AdView +import com.google.android.gms.ads.LoadAdError import com.google.android.material.appbar.CollapsingToolbarLayout import com.jwplayer.pub.api.media.playlists.PlaylistItem import com.woka.R @@ -639,6 +641,15 @@ class AudioBooksActivity : WokaBaseActivity() { adjustTrailerImage() } + + override fun onAdFailedToLoad(p0: LoadAdError) { + super.onAdFailedToLoad(p0) + binding.topPinnedView.updateLayoutParams { + height = 0 + } + + adjustTrailerImage() + } } adView.setAdSize( 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 bf89c7b..ad00eee 100644 --- a/app/src/main/java/com/woka/karaoke/views/KaraokeActivity.kt +++ b/app/src/main/java/com/woka/karaoke/views/KaraokeActivity.kt @@ -15,6 +15,7 @@ import androidx.activity.result.ActivityResultLauncher import androidx.activity.result.contract.ActivityResultContracts import androidx.core.view.ViewCompat import androidx.core.view.WindowInsetsCompat +import androidx.core.view.updateLayoutParams import androidx.lifecycle.ViewModelProvider import androidx.lifecycle.lifecycleScope import androidx.recyclerview.widget.SimpleItemAnimator @@ -22,6 +23,7 @@ import com.google.android.gms.ads.AdListener import com.google.android.gms.ads.AdRequest import com.google.android.gms.ads.AdSize import com.google.android.gms.ads.AdView +import com.google.android.gms.ads.LoadAdError import com.google.android.material.appbar.CollapsingToolbarLayout import com.woka.R import com.woka.WokaApp.Companion.userPrefs @@ -637,6 +639,15 @@ class KaraokeActivity : WokaBaseActivity() { adjustTrailerImage() } + + override fun onAdFailedToLoad(p0: LoadAdError) { + super.onAdFailedToLoad(p0) + binding.topPinnedView.updateLayoutParams { + height = 0 + } + + adjustTrailerImage() + } } adView.setAdSize( 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 d2fa844..8e00191 100644 --- a/app/src/main/java/com/woka/onboard/fragments/LanguageFragment.kt +++ b/app/src/main/java/com/woka/onboard/fragments/LanguageFragment.kt @@ -64,17 +64,19 @@ class LanguageFragment : Fragment() { ClicksHelper.upsertClickEvent(ContentType.OTHERS) progressView.show() if (OneSignal.User.onesignalId.isEmpty()){ + // As the OneSignal ID is still empty (Not initiated) at this stage + // observing the state of OneSignal User for change in ID OneSignal.User.addObserver(object : IUserStateObserver{ override fun onUserStateChange(state: UserChangedState) { lifecycleScope.launch { - guestLogin() + guestLogin(LOCALE_ENGLISH) } OneSignal.User.removeObserver(this) } }) }else{ - guestLogin() + guestLogin(LOCALE_ENGLISH) } } } @@ -83,27 +85,26 @@ class LanguageFragment : Fragment() { lifecycleScope.launch { ClicksHelper.upsertClickEvent(ContentType.OTHERS) progressView.show() - when (val response = onboardRepository.guestLogin()){ - is ApiResult.Error -> { - progressView.hide() - toast(response.errorMessage) - } - is ApiResult.Loading -> {} - is ApiResult.Success -> { - progressView.hide() - toast(response.message) - requireActivity().changeLocale(LOCALE_HINDI) + if (OneSignal.User.onesignalId.isEmpty()){ + // As the OneSignal ID is still empty (Not initiated) at this stage + // observing the state of OneSignal User for change in ID + OneSignal.User.addObserver(object : IUserStateObserver{ + override fun onUserStateChange(state: UserChangedState) { + lifecycleScope.launch { + guestLogin(LOCALE_HINDI) + } - response.data?.let { - completeGuestLogin(response.data) + OneSignal.User.removeObserver(this) } - } + }) + }else{ + guestLogin(LOCALE_HINDI) } } } } - private suspend fun guestLogin(){ + private suspend fun guestLogin(locale: String){ when (val response = onboardRepository.guestLogin()){ is ApiResult.Error -> { progressView.hide() @@ -113,7 +114,7 @@ class LanguageFragment : Fragment() { is ApiResult.Success -> { progressView.hide() toast(response.message) - requireActivity().changeLocale(LOCALE_ENGLISH) + requireActivity().changeLocale(locale) response.data?.let { completeGuestLogin(response.data) diff --git a/app/src/main/java/com/woka/webseries/views/fragments/WebSeriesFragment.kt b/app/src/main/java/com/woka/webseries/views/fragments/WebSeriesFragment.kt index 42be7eb..5ae2113 100644 --- a/app/src/main/java/com/woka/webseries/views/fragments/WebSeriesFragment.kt +++ b/app/src/main/java/com/woka/webseries/views/fragments/WebSeriesFragment.kt @@ -16,6 +16,7 @@ import android.widget.AdapterView import androidx.activity.result.ActivityResultLauncher import androidx.activity.result.contract.ActivityResultContracts import androidx.appcompat.content.res.AppCompatResources +import androidx.core.view.updateLayoutParams import androidx.fragment.app.Fragment import androidx.lifecycle.ViewModelProvider import androidx.lifecycle.lifecycleScope @@ -26,6 +27,7 @@ import com.google.android.gms.ads.AdListener import com.google.android.gms.ads.AdRequest import com.google.android.gms.ads.AdSize import com.google.android.gms.ads.AdView +import com.google.android.gms.ads.LoadAdError import com.google.android.material.appbar.CollapsingToolbarLayout import com.jwplayer.pub.api.media.playlists.PlaylistItem import com.woka.R @@ -465,6 +467,15 @@ class WebSeriesFragment : Fragment() { adjustMasilaImage() } + + override fun onAdFailedToLoad(p0: LoadAdError) { + super.onAdFailedToLoad(p0) + binding.topPinnedView.updateLayoutParams { + height = 0 + } + + adjustMasilaImage() + } } adView.setAdSize( 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 e22f798..d174cd0 100644 --- a/app/src/main/java/com/woka/wokagames/views/GamesActivity.kt +++ b/app/src/main/java/com/woka/wokagames/views/GamesActivity.kt @@ -13,6 +13,7 @@ import android.view.WindowManager import androidx.activity.enableEdgeToEdge import androidx.core.view.ViewCompat import androidx.core.view.WindowInsetsCompat +import androidx.core.view.updateLayoutParams import androidx.lifecycle.ViewModelProvider import androidx.lifecycle.lifecycleScope import androidx.recyclerview.widget.SimpleItemAnimator @@ -20,6 +21,7 @@ import com.google.android.gms.ads.AdListener import com.google.android.gms.ads.AdRequest import com.google.android.gms.ads.AdSize import com.google.android.gms.ads.AdView +import com.google.android.gms.ads.LoadAdError import com.google.android.material.appbar.CollapsingToolbarLayout import com.woka.R import com.woka.WokaApp.Companion.interstitialAds @@ -542,6 +544,15 @@ class GamesActivity : WokaBaseActivity() { adjustTrailerImage() } + + override fun onAdFailedToLoad(p0: LoadAdError) { + super.onAdFailedToLoad(p0) + binding.topPinnedView.updateLayoutParams { + height = 0 + } + + adjustTrailerImage() + } } adView.setAdSize( diff --git a/app/src/main/res/layout/fragment_web_series.xml b/app/src/main/res/layout/fragment_web_series.xml index b345838..4064a7c 100644 --- a/app/src/main/res/layout/fragment_web_series.xml +++ b/app/src/main/res/layout/fragment_web_series.xml @@ -284,6 +284,7 @@ android:textSize="@dimen/_14ssp" android:layout_marginHorizontal="15dp" + android:layout_marginTop="10dp" /> @@ -309,6 +310,7 @@ android:textSize="@dimen/_14ssp" android:layout_marginHorizontal="15dp" + android:layout_marginTop="10dp" />