Bug solving : HomeActivity was opening twice error.

No gender selection allowed in UserProfileActivity.

Completed Home1Fragment ui for small screen size (4.65 inches).
This commit is contained in:
2024-09-11 20:48:16 +05:30
parent e24b963c99
commit d4b0d3dd14
5 changed files with 118 additions and 15 deletions

View File

@@ -4,6 +4,26 @@
<value>
<entry key="app">
<State>
<runningDeviceTargetsSelectedWithDialog>
<Target>
<type value="RUNNING_DEVICE_TARGET" />
<deviceKey>
<Key>
<type value="SERIAL_NUMBER" />
<value value="RZCW41EJRPN" />
</Key>
</deviceKey>
</Target>
<Target>
<type value="RUNNING_DEVICE_TARGET" />
<deviceKey>
<Key>
<type value="VIRTUAL_DEVICE_PATH" />
<value value="$PROJECT_DIR$/../.android/avd/Small_Phone_API_34.avd" />
</Key>
</deviceKey>
</Target>
</runningDeviceTargetsSelectedWithDialog>
<targetsSelectedWithDialog>
<Target>
<type value="QUICK_BOOT_TARGET" />

View File

@@ -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<MarginLayoutParams> {
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()

View File

@@ -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

View File

@@ -68,7 +68,9 @@ class SplashFragment : Fragment(), Observer<ApiResult<UserDataResponse>?> {
// 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

View File

@@ -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">
<ImageView
android:id="@+id/balloon"
@@ -178,6 +178,7 @@
/>
<androidx.constraintlayout.widget.ConstraintLayout
android:id="@+id/tv_container"
android:layout_width="@dimen/_185sdp"
android:layout_height="@dimen/_125sdp"
@@ -313,7 +314,7 @@
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="@id/g1"
app:layout_constraintVertical_bias="0.28">
app:layout_constraintVertical_bias="0.3">
<com.woka.utils.PressableImageView
android:id="@+id/web_series"
@@ -355,7 +356,7 @@
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="@id/g1"
app:layout_constraintVertical_bias="0.22">
app:layout_constraintVertical_bias="0.24">
<com.woka.utils.PressableImageView
android:id="@+id/live_tv"