diff --git a/.idea/deploymentTargetDropDown.xml b/.idea/deploymentTargetDropDown.xml index a80278b..0c0c338 100644 --- a/.idea/deploymentTargetDropDown.xml +++ b/.idea/deploymentTargetDropDown.xml @@ -3,20 +3,7 @@ - - - - - - - - - - - - - - + diff --git a/app/build.gradle b/app/build.gradle index 33e4b9a..cbf0151 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -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 diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index 9593580..0192a06 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -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" /> 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 6b44a44..69714e4 100644 --- a/app/src/main/java/com/woka/audiobooks/views/AudioBooksActivity.kt +++ b/app/src/main/java/com/woka/audiobooks/views/AudioBooksActivity.kt @@ -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 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 edfe88b..c90dc5a 100644 --- a/app/src/main/java/com/woka/home/fragments/Home1Fragment.kt +++ b/app/src/main/java/com/woka/home/fragments/Home1Fragment.kt @@ -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() 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 95499bb..ab0bb85 100644 --- a/app/src/main/java/com/woka/home/fragments/Home2Fragment.kt +++ b/app/src/main/java/com/woka/home/fragments/Home2Fragment.kt @@ -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) } } 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 d325634..20c279c 100644 --- a/app/src/main/java/com/woka/home/fragments/MyListFragment.kt +++ b/app/src/main/java/com/woka/home/fragments/MyListFragment.kt @@ -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 } diff --git a/app/src/main/java/com/woka/home/mylist/MyListRepository.kt b/app/src/main/java/com/woka/home/mylist/MyListRepository.kt index 1f0f127..36ff94d 100644 --- a/app/src/main/java/com/woka/home/mylist/MyListRepository.kt +++ b/app/src/main/java/com/woka/home/mylist/MyListRepository.kt @@ -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 { diff --git a/app/src/main/java/com/woka/home/views/BottomNavigation.kt b/app/src/main/java/com/woka/home/views/BottomNavigation.kt index ae3b955..f10c819 100644 --- a/app/src/main/java/com/woka/home/views/BottomNavigation.kt +++ b/app/src/main/java/com/woka/home/views/BottomNavigation.kt @@ -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{ diff --git a/app/src/main/java/com/woka/home/views/HomeActivity.kt b/app/src/main/java/com/woka/home/views/HomeActivity.kt index 4e5ab6c..822415d 100644 --- a/app/src/main/java/com/woka/home/views/HomeActivity.kt +++ b/app/src/main/java/com/woka/home/views/HomeActivity.kt @@ -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) } } 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 309f9e6..a72294b 100644 --- a/app/src/main/java/com/woka/karaoke/views/KaraokeActivity.kt +++ b/app/src/main/java/com/woka/karaoke/views/KaraokeActivity.kt @@ -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 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 9d29858..9db19bd 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,7 @@ class LanguageFragment : Fragment() { is ApiResult.Loading -> {} is ApiResult.Success -> { progressView.hide() - requireActivity().changeLocale(locale) + changeLocale(locale) response.data?.let { completeGuestLogin(response.data) diff --git a/app/src/main/java/com/woka/utils/Extensions.kt b/app/src/main/java/com/woka/utils/Extensions.kt index c227bb1..8ba78cc 100644 --- a/app/src/main/java/com/woka/utils/Extensions.kt +++ b/app/src/main/java/com/woka/utils/Extensions.kt @@ -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) diff --git a/app/src/main/java/com/woka/utils/WokaBaseActivity.kt b/app/src/main/java/com/woka/utils/WokaBaseActivity.kt index 9f36afb..ea355ea 100644 --- a/app/src/main/java/com/woka/utils/WokaBaseActivity.kt +++ b/app/src/main/java/com/woka/utils/WokaBaseActivity.kt @@ -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) } } \ No newline at end of file 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 8447eae..6ff64e2 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 @@ -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 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 89e4e7c..c8559cb 100644 --- a/app/src/main/java/com/woka/wokagames/views/GamesActivity.kt +++ b/app/src/main/java/com/woka/wokagames/views/GamesActivity.kt @@ -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 diff --git a/app/src/main/res/layout/fragment_home_1.xml b/app/src/main/res/layout/fragment_home_1.xml index 22adede..da6a789 100644 --- a/app/src/main/res/layout/fragment_home_1.xml +++ b/app/src/main/res/layout/fragment_home_1.xml @@ -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" diff --git a/app/src/main/res/values-hi/strings.xml b/app/src/main/res/values-hi/strings.xml index cf48fed..711bc9d 100644 --- a/app/src/main/res/values-hi/strings.xml +++ b/app/src/main/res/values-hi/strings.xml @@ -162,4 +162,8 @@ आनंद करने का समय और लोड करें सूचनाएं + + WOKA से जुड़े रहे + कृपया अधिक रोमांच और सुविधाओ के लिए साइन इन करे... + फ्री साइन इन \ No newline at end of file