diff --git a/app/src/main/java/com/nivesh/production/niveshfd/fd/db/PreferenceManager.kt b/app/src/main/java/com/nivesh/production/niveshfd/fd/db/PreferenceManager.kt index 010bb76..6e64c82 100644 --- a/app/src/main/java/com/nivesh/production/niveshfd/fd/db/PreferenceManager.kt +++ b/app/src/main/java/com/nivesh/production/niveshfd/fd/db/PreferenceManager.kt @@ -2,6 +2,7 @@ package com.nivesh.production.niveshfd.fd.db import android.content.Context import android.content.SharedPreferences +import android.provider.UserDictionary.Words.APP_ID import com.nivesh.production.niveshfd.fd.interfaces.IPreferenceHelper open class PreferenceManager(context: Context) : IPreferenceHelper { @@ -19,6 +20,7 @@ open class PreferenceManager(context: Context) : IPreferenceHelper { const val CLIENT_LANGUAGE = "LANGUAGE" const val ISFIRST_TIME = "IS FIRST TIME" + const val APP_ID = "AppId" } @@ -96,7 +98,9 @@ open class PreferenceManager(context: Context) : IPreferenceHelper { return preferences[ISFIRST_TIME] ?: false } - + override fun getAppId(): String { + return preferences[APP_ID] ?: "" + } override fun clearPrefs() { preferences.edit().clear().apply() diff --git a/app/src/main/java/com/nivesh/production/niveshfd/fd/interfaces/IPreferenceHelper.kt b/app/src/main/java/com/nivesh/production/niveshfd/fd/interfaces/IPreferenceHelper.kt index 6b4ea1e..fec0ca9 100644 --- a/app/src/main/java/com/nivesh/production/niveshfd/fd/interfaces/IPreferenceHelper.kt +++ b/app/src/main/java/com/nivesh/production/niveshfd/fd/interfaces/IPreferenceHelper.kt @@ -30,4 +30,5 @@ interface IPreferenceHelper { fun getFirstTime(): Boolean fun clearPrefs() + fun getAppId(): String } \ No newline at end of file diff --git a/app/src/main/java/com/nivesh/production/niveshfd/partnerOnBoarding/ui/fragments1/GetStartedFragment.kt b/app/src/main/java/com/nivesh/production/niveshfd/partnerOnBoarding/ui/fragments1/GetStartedFragment.kt index 589123e..f026d91 100644 --- a/app/src/main/java/com/nivesh/production/niveshfd/partnerOnBoarding/ui/fragments1/GetStartedFragment.kt +++ b/app/src/main/java/com/nivesh/production/niveshfd/partnerOnBoarding/ui/fragments1/GetStartedFragment.kt @@ -1,12 +1,25 @@ package com.nivesh.production.niveshfd.partnerOnBoarding.ui.fragments1 +import android.net.Uri import android.os.Bundle import android.view.LayoutInflater import android.view.View import android.view.ViewGroup +import android.widget.AdapterView +import android.widget.ArrayAdapter +import android.widget.Switch +import androidx.activity.result.ActivityResultLauncher +import androidx.activity.result.contract.ActivityResultContracts +import androidx.core.content.FileProvider +import androidx.lifecycle.lifecycleScope +import com.google.android.material.button.MaterialButton import com.nivesh.production.niveshfd.R import com.nivesh.production.niveshfd.databinding.FragmentGetStartedBinding +import com.nivesh.production.niveshfd.fd.db.PreferenceManager import com.nivesh.production.niveshfd.fd.ui.activity.BaseActivity +import com.nivesh.production.niveshfd.fd.util.Common.Companion.showDialogWithTwoButtons +import com.nivesh.production.niveshfd.partnerOnBoarding.ui.activities1.SignUpActivity +import java.io.File private const val ARG_PARAM1 = "param1" private const val ARG_PARAM2 = "param2" @@ -17,6 +30,28 @@ class GetStartedFragment : BaseFragment() { private var param2: String? = null private var _binding: FragmentGetStartedBinding? = null private val binding get() = _binding!! + private var latestTmpUri: Uri? = null + private var takeImageResult: ActivityResultLauncher? = null + private val mainPANUpload: Int = 1 + private val mainPhotoUpload: Int = 2 + private val firstDocUpload: Int = 3 + private val secondDocUpload: Int = 4 + + private val listArray = ArrayList() + + private val requestCameraPermission = registerForActivityResult( + ActivityResultContracts.RequestPermission() + ) { isGranted: Boolean -> + if (isGranted) { + takeImage() + } else { + showDialogWithTwoButtons( + (activity as SignUpActivity), getString(R.string.cameraPermission), getString( + R.string.permissionRequired + ) + ) + } + } override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) @@ -48,25 +83,57 @@ class GetStartedFragment : BaseFragment() { true ) } + + listArray.add("Aadhaar Front") + listArray.add("Aadhaar Back") + listArray.add("Passport") + listArray.add("Driving Licenses") + listArray.add("Voter Id") + + val arrayAdapter = ArrayAdapter(activity as SignUpActivity, androidx.appcompat.R.layout.support_simple_spinner_dropdown_item,listArray) + binding.spDocType.setAdapter(arrayAdapter) + + binding.spDocType.setOnItemClickListener{ _, _, position, _ -> + setVisibility(listArray[position]) + } + + binding.uploadFront + binding.uploadFront.setOnClickListener { + + } + } + + private fun setVisibility(s: String) { + if(s.contains("Aadhaar")){ + binding.txtFront.visibility = View.VISIBLE + binding.uploadFront.visibility = View.VISIBLE + binding.txtBack.visibility = View.VISIBLE + binding.uploadViewBack.visibility = View.VISIBLE + }else{ + binding.txtFront.visibility = View.VISIBLE + binding.uploadFront.visibility = View.VISIBLE + binding.txtBack.visibility = View.GONE + binding.uploadViewBack.visibility = View.GONE + } } - companion object { - /** - * Use this factory method to create a new instance of - * this fragment using the provided parameters. - * - * @param param1 Parameter 1. - * @param param2 Parameter 2. - * @return A new instance of fragment GetStarted. - */ - // TODO: Rename and change types and number of parameters - @JvmStatic - fun newInstance(param1: String, param2: String) = - GetStartedFragment().apply { - arguments = Bundle().apply { - putString(ARG_PARAM1, param1) - putString(ARG_PARAM2, param2) - } + private fun takeImage() { + lifecycleScope.launchWhenStarted { + getTmpFileUri().let { uri -> + latestTmpUri = uri + takeImageResult?.launch(uri) } + } + } + + private fun getTmpFileUri(): Uri { + val tmpFile = + File.createTempFile("tmp_image_file", ".png", requireActivity().cacheDir).apply { + createNewFile() + deleteOnExit() + } + + return FileProvider.getUriForFile( + requireActivity(), PreferenceManager(activity as SignUpActivity).getAppId().plus(".provider"), tmpFile) } } \ No newline at end of file diff --git a/app/src/main/res/drawable/svg_info.xml b/app/src/main/res/drawable/svg_info.xml new file mode 100644 index 0000000..adc8405 --- /dev/null +++ b/app/src/main/res/drawable/svg_info.xml @@ -0,0 +1,14 @@ + + + + + + \ No newline at end of file diff --git a/app/src/main/res/layout/fragment_almost_there.xml b/app/src/main/res/layout/fragment_almost_there.xml index bc264f2..036b9d2 100644 --- a/app/src/main/res/layout/fragment_almost_there.xml +++ b/app/src/main/res/layout/fragment_almost_there.xml @@ -22,6 +22,19 @@ android:orientation="vertical" app:layout_constraintBottom_toBottomOf="parent"> + + - - + + + - @@ -133,60 +146,57 @@ android:id="@+id/addAddressProof" android:layout_width="wrap_content" android:layout_height="wrap_content" - android:padding="@dimen/margin_4" android:layout_marginStart="@dimen/margin_8" + android:layout_marginTop="@dimen/margin_25" + android:padding="@dimen/margin_4" android:text="Add ADDRESS PROOF" android:textColor="@color/black" android:textSize="@dimen/text_size_14" android:textStyle="bold" - android:layout_marginTop="@dimen/margin_25" - app:layout_constraintTop_toBottomOf="@+id/tlFullNamePanCard" - app:layout_constraintStart_toStartOf= "parent" - app:layout_constraintHorizontal_chainStyle="spread" app:layout_constraintHorizontal_bias="0.5" + app:layout_constraintHorizontal_chainStyle="spread" + app:layout_constraintStart_toStartOf="parent" + app:layout_constraintTop_toBottomOf="@+id/tlFullNamePanCard" - /> + /> - + app:layout_constraintTop_toBottomOf="@+id/tlFullNamePanCard" /> + app:layout_constraintStart_toStartOf="parent" + app:layout_constraintTop_toBottomOf="@+id/addAddressProof" /> @@ -197,113 +207,118 @@ android:background="@drawable/rounded_corner_with_line1" android:hint="@string/addressProofType" android:inputType="none" - android:padding="@dimen/margin_5" android:labelFor="@+id/spInterestPayout" + android:padding="@dimen/margin_5" android:textColorHint="@color/greyColor2" - android:textSize="@dimen/text_size_14" - /> + android:textSize="@dimen/text_size_14" /> - - - - - + app:layout_constraintTop_toBottomOf="@+id/spAddressType"> - - - - - - - - - - - + + + + + + + + + + + + app:layout_constraintTop_toTopOf="parent" /> + + + + + + -` + ` @@ -315,17 +330,17 @@ android:layout_marginStart="@dimen/margin_15" android:layout_marginEnd="@dimen/margin_5" android:layout_marginBottom="@dimen/margin_20" - android:text="@string/save_draft" android:backgroundTint="@color/white" + android:text="@string/save_draft" android:textColor="@color/red" app:cornerRadius="@dimen/margin_15" - app:layout_constraintHorizontal_chainStyle="spread" + app:layout_constraintBottom_toBottomOf="parent" app:layout_constraintEnd_toStartOf="@+id/btnNext" app:layout_constraintHorizontal_bias="0.5" - app:layout_constraintStart_toStartOf="parent" + app:layout_constraintHorizontal_chainStyle="spread" app:layout_constraintLeft_toLeftOf="parent" app:layout_constraintRight_toLeftOf="@+id/btnNext" - app:layout_constraintBottom_toBottomOf="parent" + app:layout_constraintStart_toStartOf="parent" /> @@ -334,18 +349,18 @@ android:id="@+id/btnNext" android:layout_width="170dp" android:layout_height="wrap_content" - android:layout_marginBottom="@dimen/margin_20" android:layout_marginStart="@dimen/margin_5" android:layout_marginEnd="@dimen/margin_15" + android:layout_marginBottom="@dimen/margin_20" + android:backgroundTint="@color/red" android:text="@string/continueText" android:textColor="@color/white" - android:backgroundTint="@color/red" app:cornerRadius="@dimen/margin_15" - app:layout_constraintHorizontal_bias="0.5" - app:layout_constraintEnd_toEndOf="parent" - app:layout_constraintStart_toEndOf="@+id/saveDraft" app:layout_constraintBottom_toBottomOf="parent" + app:layout_constraintEnd_toEndOf="parent" + app:layout_constraintHorizontal_bias="0.5" app:layout_constraintLeft_toRightOf="@+id/saveDraft" - app:layout_constraintRight_toRightOf="parent"/> + app:layout_constraintRight_toRightOf="parent" + app:layout_constraintStart_toEndOf="@+id/saveDraft" /> \ 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 3845d2a..0aaffde 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -318,4 +318,12 @@ SAVE DRAFT Format (.png or .jpg) + + Aadhar Front + Aadhar Back + Passport + Driving Licenses + Voter Id + + \ No newline at end of file