diff --git a/.idea/deploymentTargetDropDown.xml b/.idea/deploymentTargetDropDown.xml index 7b6e97d..30ee9ed 100644 --- a/.idea/deploymentTargetDropDown.xml +++ b/.idea/deploymentTargetDropDown.xml @@ -4,6 +4,26 @@ + + + + + + + + + + + + + + + + + + + + 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 682748b..e9740b4 100644 --- a/app/src/main/java/com/woka/home/fragments/Home1Fragment.kt +++ b/app/src/main/java/com/woka/home/fragments/Home1Fragment.kt @@ -11,10 +11,15 @@ import android.content.IntentFilter import android.net.Uri import android.os.Bundle import android.util.DisplayMetrics +import android.util.Log +import android.util.TypedValue import android.view.LayoutInflater import android.view.View import android.view.ViewGroup +import android.view.ViewGroup.MarginLayoutParams +import androidx.constraintlayout.widget.ConstraintLayout import androidx.core.content.ContextCompat +import androidx.core.view.updateLayoutParams import androidx.fragment.app.Fragment import androidx.lifecycle.ViewModelProvider import androidx.lifecycle.lifecycleScope @@ -40,6 +45,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.TAG import com.woka.utils.changeLocale import com.woka.utils.hide import com.woka.utils.scaleAnimate @@ -81,6 +87,8 @@ class Home1Fragment : Fragment() { viewModel = ViewModelProvider(requireActivity())[HomeViewModel::class.java] progressView = ProgressView(requireContext()) + setUpDynamicViewSizes() + initViews() initPlayerView() @@ -98,6 +106,83 @@ class Home1Fragment : Fragment() { return binding.root } + private fun setUpDynamicViewSizes(){ + // Calculate screen dimensions in pixels + + // Calculate screen dimensions in pixels + val displayMetrics = resources.displayMetrics + val screenWidth = displayMetrics.widthPixels + val screenHeight = displayMetrics.heightPixels + + // Calculate aspect ratio + val aspectRatio = screenHeight.toFloat() / screenWidth.toFloat() + + Log.d(TAG, "setUpDynamicViewSizes: $aspectRatio") + + when { + aspectRatio > 2.1 -> { + // screen is taller + } + aspectRatio > 2 -> { + // screen is normal size + } + else -> { + // screen is smaller + + // all modules + binding.webSeries.layoutParams.width = resources.getDimensionPixelSize(com.intuit.sdp.R.dimen._59sdp) + binding.webSeries.layoutParams.height = resources.getDimensionPixelSize(com.intuit.sdp.R.dimen._48sdp) + binding.webSeriesTxt.setTextSize(TypedValue.COMPLEX_UNIT_PX, resources.getDimension(com.intuit.ssp.R.dimen._8ssp)) + + binding.liveTv.layoutParams.width = resources.getDimensionPixelSize(com.intuit.sdp.R.dimen._59sdp) + binding.liveTv.layoutParams.height = resources.getDimensionPixelSize(com.intuit.sdp.R.dimen._48sdp) + binding.liveTvTxt.setTextSize(TypedValue.COMPLEX_UNIT_PX, resources.getDimension(com.intuit.ssp.R.dimen._8ssp)) + + binding.shop.layoutParams.width = resources.getDimensionPixelSize(com.intuit.sdp.R.dimen._59sdp) + binding.shop.layoutParams.height = resources.getDimensionPixelSize(com.intuit.sdp.R.dimen._48sdp) + binding.shopTxt.setTextSize(TypedValue.COMPLEX_UNIT_PX, resources.getDimension(com.intuit.ssp.R.dimen._8ssp)) + + binding.karaoke.layoutParams.width = resources.getDimensionPixelSize(com.intuit.sdp.R.dimen._59sdp) + binding.karaoke.layoutParams.height = resources.getDimensionPixelSize(com.intuit.sdp.R.dimen._48sdp) + binding.karaokeTxt.setTextSize(TypedValue.COMPLEX_UNIT_PX, resources.getDimension(com.intuit.ssp.R.dimen._8ssp)) + + binding.audioBooks.layoutParams.width = resources.getDimensionPixelSize(com.intuit.sdp.R.dimen._59sdp) + binding.audioBooks.layoutParams.height = resources.getDimensionPixelSize(com.intuit.sdp.R.dimen._48sdp) + binding.audioBooksTxt.setTextSize(TypedValue.COMPLEX_UNIT_PX, resources.getDimension(com.intuit.ssp.R.dimen._8ssp)) + + binding.play.layoutParams.width = resources.getDimensionPixelSize(com.intuit.sdp.R.dimen._59sdp) + binding.play.layoutParams.height = resources.getDimensionPixelSize(com.intuit.sdp.R.dimen._48sdp) + binding.playTxt.setTextSize(TypedValue.COMPLEX_UNIT_PX, resources.getDimension(com.intuit.ssp.R.dimen._8ssp)) + + // ad view + binding.adView.layoutParams.width = resources.getDimensionPixelSize(com.intuit.sdp.R.dimen._59sdp) + binding.adView.layoutParams.height = resources.getDimensionPixelSize(com.intuit.sdp.R.dimen._59sdp) + + // tv view + binding.apply { + balloon.layoutParams.width = resources.getDimensionPixelSize(com.intuit.sdp.R.dimen._57sdp) + balloon.layoutParams.height = resources.getDimensionPixelSize(com.intuit.sdp.R.dimen._37sdp) + + tvContainer.layoutParams.width = resources.getDimensionPixelSize(com.intuit.sdp.R.dimen._151sdp) + tvContainer.layoutParams.height = resources.getDimensionPixelSize(com.intuit.sdp.R.dimen._102sdp) + tvContainer.updateLayoutParams { + topMargin = resources.getDimensionPixelSize(com.intuit.sdp.R.dimen._18sdp) + } + + playerView.layoutParams.width = resources.getDimensionPixelSize(com.intuit.sdp.R.dimen._99sdp) + playerView.layoutParams.height = resources.getDimensionPixelSize(com.intuit.sdp.R.dimen._66sdp) + + blackImage.layoutParams.width = resources.getDimensionPixelSize(com.intuit.sdp.R.dimen._99sdp) + blackImage.layoutParams.height = resources.getDimensionPixelSize(com.intuit.sdp.R.dimen._66sdp) + + helloTxt.setTextSize(TypedValue.COMPLEX_UNIT_PX, resources.getDimension(com.intuit.ssp.R.dimen._12ssp)) + userName.setTextSize(TypedValue.COMPLEX_UNIT_PX, resources.getDimension(com.intuit.ssp.R.dimen._12ssp)) + welcomeText.setTextSize(TypedValue.COMPLEX_UNIT_PX, resources.getDimension(com.intuit.ssp.R.dimen._10ssp)) + } + } + } + } + private fun initViews() { if (viewModel.isHomeBackgroundBlurred) { binding.playerView.hide() diff --git a/app/src/main/java/com/woka/home/sidebar/profile/UserProfileActivity.kt b/app/src/main/java/com/woka/home/sidebar/profile/UserProfileActivity.kt index 7767517..696b476 100644 --- a/app/src/main/java/com/woka/home/sidebar/profile/UserProfileActivity.kt +++ b/app/src/main/java/com/woka/home/sidebar/profile/UserProfileActivity.kt @@ -93,11 +93,7 @@ class UserProfileActivity : WokaBaseActivity() { viewModel.updateProfile( email = email.text.toString(), name = fullName.text.toString(), - gender = if (selectedGender == Gender.MALE) { - "2" - }else{ - "1" - } + gender = if (selectedGender == Gender.MALE) "2" else if (selectedGender == Gender.FEMALE) "1" else "0" ) } @@ -121,7 +117,11 @@ class UserProfileActivity : WokaBaseActivity() { is ApiResult.Success -> { it.data?.result?.let { userData -> viewModel.currentFullName = userData.fullname - viewModel.currentGender = if (userData.gender_data?.id == 2) Gender.MALE else Gender.FEMALE + viewModel.currentGender = when (userData.gender_data?.id) { + 2 -> Gender.MALE + 1 -> Gender.FEMALE + else -> Gender.NONE + } updateUserData(userData) } } @@ -167,11 +167,6 @@ class UserProfileActivity : WokaBaseActivity() { allOkay = false fullName.error = getString(R.string.required) } - - if (selectedGender == Gender.NONE){ - allOkay = false - toast(getString(R.string.select_a_gender)) - } } return allOkay diff --git a/app/src/main/java/com/woka/onboard/fragments/SplashFragment.kt b/app/src/main/java/com/woka/onboard/fragments/SplashFragment.kt index 06dca2f..ae2e950 100644 --- a/app/src/main/java/com/woka/onboard/fragments/SplashFragment.kt +++ b/app/src/main/java/com/woka/onboard/fragments/SplashFragment.kt @@ -68,7 +68,9 @@ class SplashFragment : Fragment(), Observer?> { // some type of user is logged in // thus, loading user data userPrefs?.userLiveData?.observe(viewLifecycleOwner, this) - userPrefs?.loadUserData() + if (userPrefs?.userLiveData?.isInitialized == false){ + userPrefs?.loadUserData() + } }else{ // no user is logged in // listening to version history diff --git a/app/src/main/res/layout/fragment_home_1.xml b/app/src/main/res/layout/fragment_home_1.xml index b08997f..c619efb 100644 --- a/app/src/main/res/layout/fragment_home_1.xml +++ b/app/src/main/res/layout/fragment_home_1.xml @@ -161,7 +161,7 @@ app:layout_constraintBottom_toBottomOf="parent" app:layout_constraintStart_toStartOf="parent" app:layout_constraintTop_toTopOf="parent" - app:layout_constraintVertical_bias="0.25"> + app:layout_constraintVertical_bias="0.27"> + app:layout_constraintVertical_bias="0.3"> + app:layout_constraintVertical_bias="0.24">