diff --git a/app/src/main/java/com/nivesh/production/niveshfd/partnerOnBoarding/ui/activities1/BasActivity.kt b/app/src/main/java/com/nivesh/production/niveshfd/partnerOnBoarding/ui/activities1/BasActivity.kt new file mode 100644 index 0000000..d644182 --- /dev/null +++ b/app/src/main/java/com/nivesh/production/niveshfd/partnerOnBoarding/ui/activities1/BasActivity.kt @@ -0,0 +1,13 @@ +package com.nivesh.production.niveshfd.partnerOnBoarding.ui.activities1 + +import android.app.Activity +import android.os.Bundle + +class BasActivity : Activity() { + + lateinit var mActivity : Activity + override fun onCreate(savedInstanceState: Bundle?) { + super.onCreate(savedInstanceState) + mActivity = this; + } +} \ No newline at end of file diff --git a/app/src/main/java/com/nivesh/production/niveshfd/partnerOnBoarding/ui/activities1/SignUpActivity.kt b/app/src/main/java/com/nivesh/production/niveshfd/partnerOnBoarding/ui/activities1/SignUpActivity.kt index 53498e6..533aa1f 100644 --- a/app/src/main/java/com/nivesh/production/niveshfd/partnerOnBoarding/ui/activities1/SignUpActivity.kt +++ b/app/src/main/java/com/nivesh/production/niveshfd/partnerOnBoarding/ui/activities1/SignUpActivity.kt @@ -1,6 +1,9 @@ package com.nivesh.production.niveshfd.partnerOnBoarding.ui.activities1 +import android.os.Build import android.os.Bundle +import android.window.OnBackInvokedDispatcher +import androidx.activity.OnBackPressedCallback import com.nivesh.production.niveshfd.R import com.nivesh.production.niveshfd.databinding.ActivitySignupBinding import com.nivesh.production.niveshfd.fd.ui.activity.BaseActivity @@ -25,6 +28,30 @@ class SignUpActivity : BaseActivity() { .commit() } + @Deprecated("Deprecated in Java") + override fun onBackPressed() { + if (Build.VERSION.SDK_INT >= 33) { + onBackInvokedDispatcher.registerOnBackInvokedCallback( + OnBackInvokedDispatcher.PRIORITY_DEFAULT + ) { + exitOnBackPressed() + } + } else { + onBackPressedDispatcher.addCallback(this, object : OnBackPressedCallback(true) { + override fun handleOnBackPressed() { + exitOnBackPressed() + } + }) + } + } + + private fun exitOnBackPressed() { + if (isTaskRoot) { + finish() + } else { + + } + } } diff --git a/app/src/main/java/com/nivesh/production/niveshfd/partnerOnBoarding/ui/fragments1/BaseFragment.kt b/app/src/main/java/com/nivesh/production/niveshfd/partnerOnBoarding/ui/fragments1/BaseFragment.kt new file mode 100644 index 0000000..e68d2e1 --- /dev/null +++ b/app/src/main/java/com/nivesh/production/niveshfd/partnerOnBoarding/ui/fragments1/BaseFragment.kt @@ -0,0 +1,47 @@ +package com.nivesh.production.niveshfd.partnerOnBoarding.ui.fragments1 + +import android.app.Activity +import android.content.Context +import androidx.fragment.app.Fragment +import com.nivesh.production.niveshfd.fd.ui.activity.BaseActivity + +open class BaseFragment : Fragment() { + + private lateinit var mActivity: Activity + override fun onAttach(context: Context) { + super.onAttach(context) + mActivity = context as BaseActivity + } + + companion object { + fun addFragment( + activity: BaseActivity, + containerViewId: Int, + fragment: Fragment, + tag: String, + addToBackStack: Boolean + ) { + val fragmentTransaction = activity.supportFragmentManager.beginTransaction() + fragmentTransaction.add(containerViewId, fragment, tag) + if (addToBackStack) { + fragmentTransaction.addToBackStack(tag) + } + fragmentTransaction.commit() + } + + fun replaceFragment( + activity: BaseActivity, + containerViewId: Int, + fragment: Fragment, + tag: String, + addToBackStack: Boolean + ) { + val fragmentTransaction = activity.supportFragmentManager.beginTransaction() + fragmentTransaction.replace(containerViewId, fragment, tag) + if (addToBackStack) { + fragmentTransaction.addToBackStack(tag) + } + fragmentTransaction.commit() + } + } +} \ No newline at end of file diff --git a/app/src/main/java/com/nivesh/production/niveshfd/partnerOnBoarding/ui/fragments1/OTPFragment.kt b/app/src/main/java/com/nivesh/production/niveshfd/partnerOnBoarding/ui/fragments1/OTPFragment.kt index d1be938..6eb7d6a 100644 --- a/app/src/main/java/com/nivesh/production/niveshfd/partnerOnBoarding/ui/fragments1/OTPFragment.kt +++ b/app/src/main/java/com/nivesh/production/niveshfd/partnerOnBoarding/ui/fragments1/OTPFragment.kt @@ -11,9 +11,10 @@ import android.widget.EditText import androidx.fragment.app.Fragment import com.nivesh.production.niveshfd.R import com.nivesh.production.niveshfd.databinding.FragmentOtpBinding +import com.nivesh.production.niveshfd.fd.ui.activity.BaseActivity import com.nivesh.production.niveshfd.fd.util.Common -class OTPFragment : Fragment() { +class OTPFragment : BaseFragment() { private var _binding: FragmentOtpBinding? = null private val binding get() = _binding!! @@ -44,12 +45,16 @@ class OTPFragment : Fragment() { binding.edtOTP5.setOnKeyListener(GenericKeyEvent(binding.edtOTP5, binding.edtOTP4)) binding.edtOTP6.setOnKeyListener(GenericKeyEvent(binding.edtOTP6, binding.edtOTP5)) + binding.txtDigit.text = getString(R.string.sixDigitOTP).plus(" ").plus("+91.00000.00000") - binding.txtDigit.text = getString(R.string.sixDigitOTP).plus(" ").plus("0000000000") - binding.btnContinue.setOnClickListener { - if (validate()) { + binding.txtResendOTP.setOnClickListener{ + + } + binding.btnSubmit.setOnClickListener { + if (validate()) { + addFragment(activity as BaseActivity, R.id.signUpContainer,OTPFragment(),"", true) } } } @@ -146,4 +151,5 @@ class OTPFragment : Fragment() { } + } \ No newline at end of file diff --git a/app/src/main/java/com/nivesh/production/niveshfd/partnerOnBoarding/ui/fragments1/SignUpFragment.kt b/app/src/main/java/com/nivesh/production/niveshfd/partnerOnBoarding/ui/fragments1/SignUpFragment.kt index 7085a68..79ae161 100644 --- a/app/src/main/java/com/nivesh/production/niveshfd/partnerOnBoarding/ui/fragments1/SignUpFragment.kt +++ b/app/src/main/java/com/nivesh/production/niveshfd/partnerOnBoarding/ui/fragments1/SignUpFragment.kt @@ -6,15 +6,16 @@ import android.text.TextWatcher import android.view.LayoutInflater import android.view.View import android.view.ViewGroup -import androidx.fragment.app.Fragment import com.nivesh.production.niveshfd.databinding.FragmentSignupBinding +import com.nivesh.production.niveshfd.fd.ui.activity.BaseActivity import com.nivesh.production.niveshfd.fd.util.Common -class SignUpFragment : Fragment() { +class SignUpFragment : BaseFragment() { private var _binding: FragmentSignupBinding? = null private val binding get() = _binding!! + override fun onCreateView( inflater: LayoutInflater, container: ViewGroup?, savedInstanceState: Bundle? ): View { @@ -38,13 +39,18 @@ class SignUpFragment : Fragment() { binding.btnSignUp.setOnClickListener { if (validate()) { - activity?.supportFragmentManager?.beginTransaction() - ?.add(com.nivesh.production.niveshfd.R.id.signUpContainer, OTPFragment()) - ?.commit() + addFragment( + activity as BaseActivity, + com.nivesh.production.niveshfd.R.id.signUpContainer, + OTPFragment(), + "", + true + ) } } } + private fun validate(): Boolean { return if (binding.edtMobileNumber.text.toString().isEmpty()) { // EditText Common.commonErrorMethod( @@ -52,13 +58,13 @@ class SignUpFragment : Fragment() { binding.tlMobileNumber, getString(com.nivesh.production.niveshfd.R.string.emptyMobileNumber) ) - } else if (binding.edtMobileNumber.text?.length != 10) { // EditText + } else if (binding.edtMobileNumber.text?.length != 10) { // EditText Common.commonErrorMethod( binding.edtMobileNumber, binding.tlMobileNumber, getString(com.nivesh.production.niveshfd.R.string.inValidMobileNumber) ) - }else if (!Common.isIndianMobileNo(binding.edtMobileNumber.text.toString())) { // EditText + } else if (!Common.isIndianMobileNo(binding.edtMobileNumber.text.toString())) { // EditText Common.commonErrorMethod( binding.edtMobileNumber, binding.tlMobileNumber, @@ -69,4 +75,5 @@ class SignUpFragment : Fragment() { } } + } \ No newline at end of file diff --git a/app/src/main/res/anim/slide_down.xml b/app/src/main/res/anim/slide_down.xml new file mode 100644 index 0000000..4be7711 --- /dev/null +++ b/app/src/main/res/anim/slide_down.xml @@ -0,0 +1,7 @@ + + + + \ No newline at end of file diff --git a/app/src/main/res/anim/slide_up.xml b/app/src/main/res/anim/slide_up.xml new file mode 100644 index 0000000..e19132f --- /dev/null +++ b/app/src/main/res/anim/slide_up.xml @@ -0,0 +1,4 @@ + + \ No newline at end of file diff --git a/app/src/main/res/drawable/default_pager_dot.xml b/app/src/main/res/drawable/default_pager_dot.xml index 82c112a..d8635d1 100644 --- a/app/src/main/res/drawable/default_pager_dot.xml +++ b/app/src/main/res/drawable/default_pager_dot.xml @@ -5,9 +5,15 @@ - + + + - - \ No newline at end of file + + + \ No newline at end of file diff --git a/app/src/main/res/drawable/selected_pager_dot.xml b/app/src/main/res/drawable/selected_pager_dot.xml index 784b1a8..29af010 100644 --- a/app/src/main/res/drawable/selected_pager_dot.xml +++ b/app/src/main/res/drawable/selected_pager_dot.xml @@ -1,13 +1,13 @@ - + - + + \ No newline at end of file diff --git a/app/src/main/res/drawable/tab_pager_selector.xml b/app/src/main/res/drawable/tab_pager_selector.xml index 2557aff..9887a8c 100644 --- a/app/src/main/res/drawable/tab_pager_selector.xml +++ b/app/src/main/res/drawable/tab_pager_selector.xml @@ -2,6 +2,6 @@ + android:state_selected="true" /> \ No newline at end of file diff --git a/app/src/main/res/layout/fragment_otp.xml b/app/src/main/res/layout/fragment_otp.xml index cc85970..362b40b 100644 --- a/app/src/main/res/layout/fragment_otp.xml +++ b/app/src/main/res/layout/fragment_otp.xml @@ -7,12 +7,11 @@ android:orientation="vertical"> @@ -21,7 +20,7 @@ android:layout_width="wrap_content" android:layout_height="wrap_content" android:padding="@dimen/margin_5" - android:text="We sent a code to your mobile number" + android:text="@string/mobNoText" android:textColor="@color/black" android:textSize="@dimen/text_size_20" android:textStyle="bold" @@ -35,29 +34,50 @@ android:layout_height="wrap_content" android:layout_marginStart="@dimen/margin_10" android:layout_marginTop="@dimen/margin_5" - android:text="@string/sixDigitOTP" android:textColor="@color/black" app:layout_constraintEnd_toEndOf="parent" app:layout_constraintStart_toStartOf="parent" app:layout_constraintTop_toBottomOf="@id/txtSignUp" /> + + + + + app:layout_constraintTop_toBottomOf="@+id/txtCode"> + android:layout_marginStart="@dimen/margin_10" + android:padding="@dimen/margin_1" + app:layout_constraintStart_toStartOf="parent" + app:layout_constraintTop_toTopOf="parent"> + + android:padding="@dimen/margin_1" + app:layout_constraintStart_toEndOf="@+id/tlOTP1" + app:layout_constraintTop_toTopOf="parent"> + + android:padding="@dimen/margin_1" + app:layout_constraintStart_toEndOf="@+id/tlOTP2" + app:layout_constraintTop_toTopOf="parent"> + + android:padding="@dimen/margin_1" + app:layout_constraintStart_toEndOf="@+id/tlOTP3" + app:layout_constraintTop_toTopOf="parent"> + + android:padding="@dimen/margin_1" + app:layout_constraintStart_toEndOf="@+id/tlOTP4" + app:layout_constraintTop_toTopOf="parent"> + + android:padding="@dimen/margin_1" + app:layout_constraintStart_toEndOf="@+id/tlOTP5" + app:layout_constraintTop_toTopOf="parent"> + + + + + + + + + \ No newline at end of file diff --git a/app/src/main/res/values-hi-rIN/strings.xml b/app/src/main/res/values-hi-rIN/strings.xml index 1d70ac7..05b9fca 100644 --- a/app/src/main/res/values-hi-rIN/strings.xml +++ b/app/src/main/res/values-hi-rIN/strings.xml @@ -295,6 +295,13 @@ abcdefghijklmnopqrstuvwxyz ABCDEFGHIJKLMNOPQRSTUVWXYZ Please enter valid OTP Enter the 6-digit verification code sent to + SUBMIT + This session will end in 30 seconds. + Didn\'t get the OTP + RESEND OTP + We sent a code to your mobile number + Change + Code \ No newline at end of file diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index d1d3871..6da2dc3 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -302,6 +302,13 @@ abcdefghijklmnopqrstuvwxyz ABCDEFGHIJKLMNOPQRSTUVWXYZ Please enter valid OTP Enter the 6-digit verification code sent to + SUBMIT + This session will end in 30 seconds. + Didn\'t get the OTP + RESEND OTP + We sent a code to your mobile number + Change + Code \ No newline at end of file