Change language issue resolved with delacate functions of Android.

Minor bugs fixes
This commit is contained in:
2024-10-21 20:49:56 +05:30
parent efadaf4a2c
commit d0cbe21e3e
18 changed files with 145 additions and 139 deletions

View File

@@ -3,20 +3,7 @@
<component name="deploymentTargetDropDown">
<value>
<entry key="app">
<State>
<runningDeviceTargetSelectedWithDropDown>
<Target>
<type value="RUNNING_DEVICE_TARGET" />
<deviceKey>
<Key>
<type value="VIRTUAL_DEVICE_PATH" />
<value value="$PROJECT_DIR$/../.android/avd/Pixel_6_API_27.avd" />
</Key>
</deviceKey>
</Target>
</runningDeviceTargetSelectedWithDropDown>
<timeTargetWasSelectedWithDropDown value="2024-10-18T12:15:13.580519Z" />
</State>
<State />
</entry>
</value>
</component>

View File

@@ -17,8 +17,8 @@ android {
applicationId "com.woka"
minSdk 24
targetSdk 34
versionCode 43
versionName "25.9"
versionCode 48
versionName "25.9.0"
testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
}
@@ -47,6 +47,12 @@ android {
jvmTarget = '1.8'
}
bundle {
language {
enableSplit = false
}
}
buildFeatures{
viewBinding true
buildConfig true

View File

@@ -88,7 +88,6 @@
android:configChanges="keyboard|keyboardHidden|orientation|screenSize|uiMode|fontScale|fontWeightAdjustment|screenLayout"
android:exported="false"
android:launchMode="singleTask"
android:screenOrientation="portrait"
android:theme="@style/TransparentActivity" />
<activity
android:name=".home.notifications.NotificationsActivity"
@@ -125,7 +124,6 @@
<activity
android:name=".home.views.MoreHomeActivity"
android:exported="false"
android:screenOrientation="portrait"
android:theme="@style/TransparentActivity" />
<activity
android:name=".players.views.LiveStreamPlayerActivity"
@@ -137,11 +135,11 @@
<activity
android:name=".home.views.ExploreWokaActivity"
android:exported="false"
android:screenOrientation="portrait"
android:theme="@style/TransparentActivity" />
<activity
android:name=".home.views.HomeActivity"
android:exported="false"
android:configChanges="locale|layoutDirection|screenLayout|orientation"
android:screenOrientation="portrait" />
<activity
android:name=".onboard.views.OnboardActivity"
@@ -151,6 +149,7 @@
<activity
android:name=".onboard.views.WelcomeActivity"
android:exported="true"
android:configChanges="locale|layoutDirection|screenLayout|orientation"
android:screenOrientation="portrait"
android:theme="@style/Theme.App.Starting">
<intent-filter>

View File

@@ -709,8 +709,8 @@ class AudioBooksActivity : WokaBaseActivity() {
adView2.setAdSize(
AdSize(
binding.trailerImage.width / resources.displayMetrics.density.toInt(),
binding.trailerImage.height / resources.displayMetrics.density.toInt(),
(binding.trailerImage.width / resources.displayMetrics.density).toInt(),
(binding.trailerImage.height / resources.displayMetrics.density).toInt(),
)
)
adView2.adUnitId = AUDIO_BOOKS_TRAILER_AD

View File

@@ -42,7 +42,7 @@ import com.woka.streamingurls.StreamingUrlRepository
import com.woka.userPreference.UserType
import com.woka.userdata.userDataModels.UserDataResponse
import com.woka.utils.ProgressView
import com.woka.utils.changeLocale
import com.woka.utils.getStringFromLocale
import com.woka.utils.hide
import com.woka.utils.scaleAnimate
import com.woka.utils.show
@@ -70,11 +70,6 @@ class Home1Fragment : Fragment() {
private val clickHelper = ClicksHelper
private val adClickHelper = AdClicksHelper
override fun onAttach(context: Context) {
super.onAttach(context)
context.changeLocale(userPrefs?.appLanguage?:"en")
}
override fun onCreateView(
inflater: LayoutInflater, container: ViewGroup?,
savedInstanceState: Bundle?
@@ -227,17 +222,17 @@ class Home1Fragment : Fragment() {
viewModel.localeChangeLiveData.observe(viewLifecycleOwner) {
binding.apply {
helloTxt.text = getString(R.string.hello)
welcomeText.text = getString(R.string.welcome_to_wokaland)
helloTxt.text = context?.getStringFromLocale(R.string.hello)
welcomeText.text = context?.getStringFromLocale(R.string.welcome_to_wokaland)
webSeriesTxt.text = getString(R.string.web_series)
liveTvTxt.text = getString(R.string.live_tv)
shopTxt.text = getString(R.string.shop)
karaokeTxt.text = getString(R.string.karaoke)
audioBooksTxt.text = getString(R.string.audio_books)
playTxt.text = getString(R.string.games)
webSeriesTxt.text = context?.getStringFromLocale(R.string.web_series)
liveTvTxt.text = context?.getStringFromLocale(R.string.live_tv)
shopTxt.text = context?.getStringFromLocale(R.string.shop)
karaokeTxt.text = context?.getStringFromLocale(R.string.karaoke)
audioBooksTxt.text = context?.getStringFromLocale(R.string.audio_books)
playTxt.text = context?.getStringFromLocale(R.string.games)
moreTxt.text = getString(R.string.more)
moreTxt.text = context?.getStringFromLocale(R.string.more)
}
}
@@ -440,7 +435,7 @@ class Home1Fragment : Fragment() {
"translationX",
resources.displayMetrics.widthPixels - binding.tvView.width - (2 * endMargin)
).apply {
duration = 7000
duration = 8000
repeatCount = ValueAnimator.INFINITE
repeatMode = ValueAnimator.REVERSE
start()

View File

@@ -1,6 +1,5 @@
package com.woka.home.fragments
import android.content.Context
import android.content.Intent
import android.os.Bundle
import android.view.LayoutInflater
@@ -36,7 +35,7 @@ import com.woka.streamingurls.StreamingUrlRepository
import com.woka.userPreference.UserType
import com.woka.userdata.userDataModels.UserDataResponse
import com.woka.utils.ProgressView
import com.woka.utils.changeLocale
import com.woka.utils.getStringFromLocale
import com.woka.utils.hide
import com.woka.utils.show
import com.woka.webseries.views.WebSeriesActivity
@@ -53,11 +52,6 @@ class Home2Fragment : Fragment() {
private val clickHelper = ClicksHelper
override fun onAttach(context: Context) {
super.onAttach(context)
context.changeLocale(WokaApp.userPrefs?.appLanguage ?: "en")
}
override fun onCreateView(
inflater: LayoutInflater, container: ViewGroup?,
savedInstanceState: Bundle?
@@ -237,21 +231,21 @@ class Home2Fragment : Fragment() {
viewModel.localeChangeLiveData.observe(viewLifecycleOwner) {
binding.apply {
helloTxt.text = getString(R.string.hello)
welcomeText.text = getString(R.string.welcome_to_wokaland)
helloTxt.text = context?.getStringFromLocale(R.string.hello)
welcomeText.text = context?.getStringFromLocale(R.string.welcome_to_wokaland)
webSeriesTxt.text = getString(R.string.web_series)
liveTvTxt.text = getString(R.string.live_tv)
shopTxt.text = getString(R.string.shop)
karaokeTxt.text = getString(R.string.karaoke)
audioBooksTxt.text = getString(R.string.audio_books)
gamesTxt.text = getString(R.string.games)
wokaFmTxt.text = getString(R.string.woka_fm)
webSeriesTxt.text = context?.getStringFromLocale(R.string.web_series)
liveTvTxt.text = context?.getStringFromLocale(R.string.live_tv)
shopTxt.text = context?.getStringFromLocale(R.string.shop)
karaokeTxt.text = context?.getStringFromLocale(R.string.karaoke)
audioBooksTxt.text = context?.getStringFromLocale(R.string.audio_books)
gamesTxt.text = context?.getStringFromLocale(R.string.games)
wokaFmTxt.text = context?.getStringFromLocale(R.string.woka_fm)
exploreWokaTxt.text = getString(R.string.explore_woka)
comingSoonTxt.text = getString(R.string.coming_soonn_on_woka)
playTrailerTxt.text = getString(R.string.play_trailer)
masila.text = getString(R.string.masila)
exploreWokaTxt.text = context?.getStringFromLocale(R.string.explore_woka)
comingSoonTxt.text = context?.getStringFromLocale(R.string.coming_soonn_on_woka)
playTrailerTxt.text = context?.getStringFromLocale(R.string.play_trailer)
masila.text = context?.getStringFromLocale(R.string.masila)
}
}

View File

@@ -1,7 +1,6 @@
package com.woka.home.fragments
import android.app.Dialog
import android.content.Context
import android.content.Intent
import android.content.res.ColorStateList
import android.graphics.Color
@@ -65,7 +64,7 @@ import com.woka.players.models.VideoViewData
import com.woka.players.views.PlayerActivity
import com.woka.userPreference.UserType
import com.woka.userdata.UserRepository
import com.woka.utils.changeLocale
import com.woka.utils.getStringFromLocale
import com.woka.utils.hide
import com.woka.utils.isNetworkConnected
import com.woka.utils.setVisibility
@@ -110,11 +109,6 @@ class MyListFragment : Fragment() {
private val clickHelper = ClicksHelper
override fun onAttach(context: Context) {
super.onAttach(context)
context.changeLocale(userPrefs?.appLanguage?:"en")
}
override fun onCreateView(
inflater: LayoutInflater, container: ViewGroup?,
savedInstanceState: Bundle?
@@ -151,14 +145,12 @@ class MyListFragment : Fragment() {
binding.noSignInView.show()
}
updateListData()
return binding.root
}
private fun initViews() {
binding.apply {
title.text = getString(R.string.favorites)
title.text = context?.getStringFromLocale(R.string.favorites)
(rvWebSeriesEnglish.itemAnimator as SimpleItemAnimator).supportsChangeAnimations = false
(rvWebSeriesHindi.itemAnimator as SimpleItemAnimator).supportsChangeAnimations = false
@@ -207,7 +199,7 @@ class MyListFragment : Fragment() {
activity,
FavoritesActivity::class.java
).apply {
putExtra(EXTRA_FAVORITE_TITLE, getString(R.string.web_series_english))
putExtra(EXTRA_FAVORITE_TITLE, context?.getStringFromLocale(R.string.web_series_english))
putExtra(EXTRA_FAVORITE_CONTENT_TYPE, ContentType.SERIES.id)
putExtra(EXTRA_FAVORITE_WEB_SERIES_IS_ENGLISH, true)
})
@@ -225,7 +217,7 @@ class MyListFragment : Fragment() {
activity,
FavoritesActivity::class.java
).apply {
putExtra(EXTRA_FAVORITE_TITLE, getString(R.string.web_series_hindi))
putExtra(EXTRA_FAVORITE_TITLE, context?.getStringFromLocale(R.string.web_series_hindi))
putExtra(EXTRA_FAVORITE_CONTENT_TYPE, ContentType.SERIES.id)
putExtra(EXTRA_FAVORITE_WEB_SERIES_IS_ENGLISH, false)
})
@@ -239,7 +231,7 @@ class MyListFragment : Fragment() {
openedViewAll = PostType.AUDIO_BOOKS
favActivityLauncher?.launch(
Intent(activity, FavoritesActivity::class.java).apply {
putExtra(EXTRA_FAVORITE_TITLE, getString(R.string.audio_books))
putExtra(EXTRA_FAVORITE_TITLE, context?.getStringFromLocale(R.string.audio_books))
putExtra(EXTRA_FAVORITE_CONTENT_TYPE, ContentType.AUDIO.id)
}
)
@@ -253,7 +245,7 @@ class MyListFragment : Fragment() {
openedViewAll = PostType.GAMES
favActivityLauncher?.launch(
Intent(activity, FavoritesActivity::class.java).apply {
putExtra(EXTRA_FAVORITE_TITLE, getString(R.string.games))
putExtra(EXTRA_FAVORITE_TITLE, context?.getStringFromLocale(R.string.games))
putExtra(EXTRA_FAVORITE_CONTENT_TYPE, ContentType.GAME.id)
}
)
@@ -267,7 +259,7 @@ class MyListFragment : Fragment() {
openedViewAll = PostType.KARAOKE
favActivityLauncher?.launch(
Intent(activity, FavoritesActivity::class.java).apply {
putExtra(EXTRA_FAVORITE_TITLE, getString(R.string.karaoke))
putExtra(EXTRA_FAVORITE_TITLE, context?.getStringFromLocale(R.string.karaoke))
putExtra(EXTRA_FAVORITE_CONTENT_TYPE, ContentType.KARAOKE_VIDEO.id)
}
)
@@ -471,6 +463,8 @@ class MyListFragment : Fragment() {
}
}
}
updateListData()
}
}
}
@@ -502,15 +496,26 @@ class MyListFragment : Fragment() {
private fun setObservers() {
binding.apply {
viewModel.localeChangeLiveData.observe(viewLifecycleOwner) {
binding.title.text = getString(R.string.favorites)
webSeriesEngTxt.text = getString(R.string.web_series_english)
webSeriesHinTxt.text = getString(R.string.web_series_hindi)
audioBooksTxt.text = getString(R.string.audio_books)
karaokeTxt.text = getString(R.string.karaoke)
gamesTxt.text = getString(R.string.games)
binding.title.text = context?.getStringFromLocale(R.string.favorites)
noDataTxt.text = getString(R.string.no_favorites_added)
webSeriesEngTxt.text = context?.getStringFromLocale(R.string.web_series_english)
webSeriesHinTxt.text = context?.getStringFromLocale(R.string.web_series_hindi)
audioBooksTxt.text = context?.getStringFromLocale(R.string.audio_books)
karaokeTxt.text = context?.getStringFromLocale(R.string.karaoke)
gamesTxt.text = context?.getStringFromLocale(R.string.games)
gamesViewAll.text = context?.getStringFromLocale(R.string.view_all)
audioBooksViewAll.text = context?.getStringFromLocale(R.string.view_all)
karaokeViewAll.text = context?.getStringFromLocale(R.string.view_all)
webSeriesHinViewAll.text = context?.getStringFromLocale(R.string.view_all)
webSeriesEngViewAll.text = context?.getStringFromLocale(R.string.view_all)
noSignIn.signIm.text = context?.getStringFromLocale(R.string.free_sign_in)
noSignIn.title.text = context?.getStringFromLocale(R.string.continue_to_woka)
noSignIn.message.text = context?.getStringFromLocale(R.string.to_continue_please_sign_in_for_more_adventures_and_features)
noDataTxt.text = context?.getStringFromLocale(R.string.no_favorites_added)
if (webSeriesEAdapter.currentList.isNotEmpty()) {
webSeriesEAdapter.notifyItemRangeChanged(0, webSeriesEAdapter.currentList.size)
@@ -725,7 +730,7 @@ class MyListFragment : Fragment() {
watchCard.backgroundTintList =
ColorStateList.valueOf(it.getColor(R.color.audio_grad_one))
}
watchCard.text = getString(R.string.listen_now)
watchCard.text = context?.getStringFromLocale(R.string.listen_now)
watchCard.setOnClickListener {
onAudioListenClicked(audioBookData)
}
@@ -752,7 +757,7 @@ class MyListFragment : Fragment() {
fav.setOnClickListener {
if (context?.isNetworkConnected() == false) {
toast(getString(R.string.no_internet))
toast(context?.getStringFromLocale(R.string.no_internet))
return@setOnClickListener
}
@@ -937,7 +942,7 @@ class MyListFragment : Fragment() {
watchCard.backgroundTintList =
ColorStateList.valueOf(it.getColor(R.color.game_grad_one))
}
watchCard.text = getString(R.string.play_now)
watchCard.text = context?.getStringFromLocale(R.string.play_now)
watchCard.setOnClickListener {
activity?.let { activity ->
gameData.game_url?.let {
@@ -990,7 +995,7 @@ class MyListFragment : Fragment() {
fav.setOnClickListener {
if (context?.isNetworkConnected() == false) {
toast(getString(R.string.no_internet))
toast(context?.getStringFromLocale(R.string.no_internet))
return@setOnClickListener
}
@@ -1177,7 +1182,7 @@ class MyListFragment : Fragment() {
ColorStateList.valueOf(it.getColor(R.color.game_grad_one))
}
watchCard.setCompoundDrawablesWithIntrinsicBounds(R.drawable.ic_mic, 0, 0, 0)
watchCard.text = getString(R.string.sing_now)
watchCard.text = context?.getStringFromLocale(R.string.sing_now)
like.setOnClickListener {
KaraokeRepository.likeUnLikeSong(
@@ -1201,7 +1206,7 @@ class MyListFragment : Fragment() {
fav.setOnClickListener {
if (context?.isNetworkConnected() == false) {
toast(getString(R.string.no_internet))
toast(context?.getStringFromLocale(R.string.no_internet))
return@setOnClickListener
}

View File

@@ -28,10 +28,6 @@ object MyListRepository {
*/
private var shallLoadNewData: Boolean = true
fun setLoadNewDataFlag(loadNew: Boolean){
this.shallLoadNewData = loadNew
}
fun clearData(){
shallLoadNewData = true
myFavData.result?.let {

View File

@@ -8,6 +8,8 @@ import android.widget.ImageView
import android.widget.TextView
import androidx.cardview.widget.CardView
import com.woka.R
import com.woka.utils.LOCALE_ENGLISH
import com.woka.utils.getStringFromLocale
class BottomNavigation: FrameLayout {
@@ -110,10 +112,10 @@ class BottomNavigation: FrameLayout {
bottomTabSelectListener?.onBottomTabSelected(tab)
}
fun initTitles(){
homeTxt?.text = context.getString(R.string.home)
myListTxt?.text = context.getString(R.string.my_list)
exploreWokaTxt?.text = context.getString(R.string.explore_woka)
fun initTitles(it: String = LOCALE_ENGLISH){
homeTxt?.text = context.getStringFromLocale(R.string.home)
myListTxt?.text = context.getStringFromLocale(R.string.my_list)
exploreWokaTxt?.text = context.getStringFromLocale(R.string.explore_woka)
}
interface OnBottomTabSelectListener{

View File

@@ -26,7 +26,6 @@ import androidx.core.view.ViewCompat
import androidx.core.view.WindowInsetsCompat
import androidx.lifecycle.Observer
import androidx.lifecycle.ViewModelProvider
import androidx.lifecycle.lifecycleScope
import com.bumptech.glide.Glide
import com.woka.BuildConfig
import com.woka.R
@@ -70,6 +69,7 @@ import com.woka.utils.ProgressView
import com.woka.utils.TERMS_N_CONDITIONS_URL
import com.woka.utils.WokaBaseActivity
import com.woka.utils.changeLocale
import com.woka.utils.getStringFromLocale
import com.woka.utils.hide
import com.woka.utils.lightStatusBar
import com.woka.utils.setVisibility
@@ -163,15 +163,15 @@ class HomeActivity : WokaBaseActivity(),
}else if (binding.bottomNav.getSelectedTab() != HOME){
binding.bottomNav.selectTab(HOME)
}else {
decisionDialog.title = getString(R.string.app_name_caps)
decisionDialog.message = getString(R.string.do_you_want_to_exit_from_the_woka_app)
decisionDialog.title = getStringFromLocale(R.string.app_name_caps)
decisionDialog.message = getStringFromLocale(R.string.do_you_want_to_exit_from_the_woka_app)
decisionDialog.setPositiveButton(getString(R.string.yes)){
decisionDialog.setPositiveButton(getStringFromLocale(R.string.yes)){
@Suppress("DEPRECATION")
super.onBackPressed()
}
decisionDialog.setNegativeButton(getString(R.string.no))
decisionDialog.setNegativeButton(getStringFromLocale(R.string.no))
decisionDialog.show()
}
@@ -205,7 +205,7 @@ class HomeActivity : WokaBaseActivity(),
toast(it.errorMessage)
}
is ApiResult.Loading -> {
progressView.show(getString(R.string.logging_you_out))
progressView.show(getStringFromLocale(R.string.logging_you_out))
}
is ApiResult.Success -> {
startActivity(Intent(this, OnboardActivity::class.java).apply {
@@ -228,7 +228,7 @@ class HomeActivity : WokaBaseActivity(),
toast(it.errorMessage)
}
is ApiResult.Loading -> {
progressView.show(getString(R.string.please_wait))
progressView.show(getStringFromLocale(R.string.please_wait))
}
is ApiResult.Success -> {
progressView.hide()
@@ -292,7 +292,7 @@ class HomeActivity : WokaBaseActivity(),
notifications.hide()
getString(R.string.login_register)
getStringFromLocale(R.string.login_register)
}else{
// showing menu options
if (userPrefs?.userType == UserType.GUARDIAN){
@@ -305,22 +305,22 @@ class HomeActivity : WokaBaseActivity(),
notifications.show()
getString(R.string.logout)
getStringFromLocale(R.string.logout)
}
}
viewModel.localeChangeLiveData.observe(this){
// locale has changed
binding.apply {
bottomNav.initTitles()
themeTxt.text = getString(R.string.theme)
helloTxt.text = getString(R.string.hello)
sbBtn.text = getString(R.string.logout)
bottomNav.initTitles(it)
themeTxt.text = getStringFromLocale(R.string.theme, it)
helloTxt.text = getStringFromLocale(R.string.hello, it)
sbBtn.text = getStringFromLocale(R.string.logout, it)
sbBtn.text = if (userPrefs?.userType == UserType.GUEST || userPrefs?.userType == UserType.NONE){
getString(R.string.login_register)
getStringFromLocale(R.string.login_register, it)
}else{
getString(R.string.logout)
getStringFromLocale(R.string.logout, it)
}
}
}
@@ -388,12 +388,12 @@ class HomeActivity : WokaBaseActivity(),
}else{
// signing out user
decisionDialog.apply {
title = getString(R.string.woka)
message = getString(R.string.do_you_want_to_log_out)
setPositiveButton(getString(R.string.yes)){
title = getStringFromLocale(R.string.woka)
message = getStringFromLocale(R.string.do_you_want_to_log_out)
setPositiveButton(getStringFromLocale(R.string.yes)){
viewModel.logout()
}
setNegativeButton(getString(R.string.no))
setNegativeButton(getStringFromLocale(R.string.no))
show()
}
}
@@ -439,13 +439,13 @@ class HomeActivity : WokaBaseActivity(),
sbDeActivateAccountCard.setOnClickListener {
decisionDialog.apply {
title = getString(R.string.deactivate_woka_account)
title = getStringFromLocale(R.string.deactivate_woka_account)
message =
getString(R.string.by_clicking_on_the_button_below_your_account_will_get_deactivated_your_data_will_be_erased_after_a_month)
setPositiveButton(getString(R.string.yes)){
getStringFromLocale(R.string.by_clicking_on_the_button_below_your_account_will_get_deactivated_your_data_will_be_erased_after_a_month)
setPositiveButton(getStringFromLocale(R.string.yes)){
viewModel.deActivateAccount()
}
setNegativeButton(getString(R.string.no))
setNegativeButton(getStringFromLocale(R.string.no))
show()
}
@@ -456,7 +456,7 @@ class HomeActivity : WokaBaseActivity(),
startActivity(
Intent(this@HomeActivity, WebViewActivity::class.java).apply {
putExtra(WEB_VIEW_URL, TERMS_N_CONDITIONS_URL)
putExtra(WEB_VIEW_TITLE, getString(R.string.terms_conditions))
putExtra(WEB_VIEW_TITLE, getStringFromLocale(R.string.terms_conditions))
}
)
@@ -467,7 +467,7 @@ class HomeActivity : WokaBaseActivity(),
startActivity(
Intent(this@HomeActivity, WebViewActivity::class.java).apply {
putExtra(WEB_VIEW_URL, PRIVACY_N_POLICY_URL)
putExtra(WEB_VIEW_TITLE, getString(R.string.privacy_policy))
putExtra(WEB_VIEW_TITLE, getStringFromLocale(R.string.privacy_policy))
}
)
@@ -690,7 +690,7 @@ class HomeActivity : WokaBaseActivity(),
sbUserName.text = text
}
sbBtn.text = getString(R.string.logout)
sbBtn.text = getStringFromLocale(R.string.logout)
}
}

View File

@@ -708,8 +708,8 @@ class KaraokeActivity : WokaBaseActivity() {
adView2.setAdSize(
AdSize(
binding.trailerImage.width / resources.displayMetrics.density.toInt(),
binding.trailerImage.height / resources.displayMetrics.density.toInt(),
(binding.trailerImage.width / resources.displayMetrics.density).toInt(),
(binding.trailerImage.height / resources.displayMetrics.density).toInt(),
)
)
adView2.adUnitId = KARAOKE_TRAILER_AD

View File

@@ -113,7 +113,7 @@ class LanguageFragment : Fragment() {
is ApiResult.Loading -> {}
is ApiResult.Success -> {
progressView.hide()
requireActivity().changeLocale(locale)
changeLocale(locale)
response.data?.let {
completeGuestLogin(response.data)

View File

@@ -17,6 +17,8 @@ import android.view.Window
import android.view.inputmethod.InputMethodManager
import android.widget.EditText
import android.widget.Toast
import androidx.appcompat.app.AppCompatDelegate
import androidx.core.os.LocaleListCompat
import androidx.core.view.WindowCompat
import androidx.fragment.app.Fragment
import com.google.i18n.phonenumbers.PhoneNumberUtil
@@ -56,23 +58,35 @@ fun View.setVisibility(show: Boolean){
else hide()
}
fun changeLocale(language: String){
val lanReg = when (language){
LOCALE_HINDI -> "hi-IN"
else -> "en-US"
}
@Suppress("DEPRECATION")
fun Context.changeLocale(language: String){
val locale = Locale(language)
Locale.setDefault(locale)
val config: Configuration = this.resources.configuration
config.locale = locale
config.setLayoutDirection(locale)
this.resources.updateConfiguration(
config,
this.resources.displayMetrics
AppCompatDelegate.setApplicationLocales(
LocaleListCompat.create(Locale.forLanguageTag(lanReg))
)
// saving to user preferences
userPrefs?.appLanguage = language
}
fun Context.getStringFromLocale(id: Int, locale: String = userPrefs?.appLanguage?: LOCALE_ENGLISH): String {
var newResources = resources
try {
val config = Configuration(resources.configuration)
config.setLocale(Locale(locale))
createConfigurationContext(config)?.resources?.let {
newResources = it
}
}catch (e: Exception){
// do nothing
}
return newResources.getString(id)
}
fun Activity.closeKeyboard(){
this.currentFocus?.let {
(this.getSystemService(Activity.INPUT_METHOD_SERVICE) as InputMethodManager)

View File

@@ -3,7 +3,6 @@ package com.woka.utils
import android.content.Context
import android.content.res.Configuration
import androidx.appcompat.app.AppCompatActivity
import com.woka.WokaApp.Companion.userPrefs
import kotlin.math.min
/*
@@ -16,6 +15,5 @@ open class WokaBaseActivity: AppCompatActivity() {
configuration.fontScale = min(configuration.fontScale.toDouble(), 1.0).toFloat()
applyOverrideConfiguration(configuration)
super.attachBaseContext(newBase)
changeLocale(userPrefs?.appLanguage?: LOCALE_ENGLISH)
}
}

View File

@@ -520,8 +520,8 @@ class WebSeriesFragment : Fragment() {
adView2.setAdSize(
AdSize(
binding.masilaImage.width / resources.displayMetrics.density.toInt(),
binding.masilaImage.height / resources.displayMetrics.density.toInt(),
(binding.masilaImage.width / resources.displayMetrics.density).toInt(),
(binding.masilaImage.height / resources.displayMetrics.density).toInt(),
)
)
adView2.adUnitId = WEB_SERIES_TRAILER_AD

View File

@@ -616,8 +616,8 @@ class GamesActivity : WokaBaseActivity() {
adView2.setAdSize(
AdSize(
binding.trailerImage.width / resources.displayMetrics.density.toInt(),
binding.trailerImage.height / resources.displayMetrics.density.toInt(),
(binding.trailerImage.width / resources.displayMetrics.density).toInt(),
(binding.trailerImage.height / resources.displayMetrics.density).toInt(),
)
)
adView2.adUnitId = GAME_TRAILER_AD

View File

@@ -308,6 +308,8 @@
android:orientation="vertical"
android:visibility="visible"
android:layout_marginStart="10dp"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintHorizontal_bias="0"
@@ -393,6 +395,8 @@
android:orientation="vertical"
android:visibility="visible"
android:layout_marginEnd="10dp"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintHorizontal_bias="1"
@@ -438,7 +442,7 @@
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintHorizontal_bias="0.05"
app:layout_constraintHorizontal_bias="0.06"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="@id/g1"
@@ -522,6 +526,8 @@
android:orientation="vertical"
android:visibility="visible"
android:layout_marginEnd="10dp"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintHorizontal_bias="0.98"

View File

@@ -162,4 +162,8 @@
<string name="have_a_fun_time">आनंद करने का समय</string>
<string name="load_more">और लोड करें</string>
<string name="notifications">सूचनाएं</string>
<string name="continue_to_woka">WOKA से जुड़े रहे</string>
<string name="to_continue_please_sign_in_for_more_adventures_and_features">कृपया अधिक रोमांच और सुविधाओ के लिए साइन इन करे...</string>
<string name="free_sign_in">फ्री साइन इन</string>
</resources>