Browse Source

Merge branch 'HemantBranch' of https://git.nivesh.com:443/hemant.khadase/BajajFDLib into PankajBranch

# Conflicts:
#	app/src/main/java/com/nivesh/production/bajajfd/ui/fragment/StepThreeBajajFDFragment.kt
#	app/src/main/java/com/nivesh/production/bajajfd/ui/providerfactory/FDModelProviderFactory.kt
pankaj 2 years ago
parent
commit
d654fbe2f0
8 changed files with 131 additions and 229 deletions
  1. +1
    -0
      app/src/main/AndroidManifest.xml
  2. +6
    -12
      app/src/main/java/com/nivesh/production/bajajfd/ui/activity/BajajFdMainActivity.kt
  3. +8
    -2
      app/src/main/java/com/nivesh/production/bajajfd/ui/fragment/StepFiveBajajFDFragment.kt
  4. +105
    -50
      app/src/main/java/com/nivesh/production/bajajfd/ui/fragment/StepThreeBajajFDFragment.kt
  5. +3
    -3
      app/src/main/java/com/nivesh/production/bajajfd/ui/providerfactory/FDModelProviderFactory.kt
  6. +7
    -0
      app/src/main/java/com/nivesh/production/bajajfd/util/Common.kt
  7. +1
    -26
      app/src/main/res/layout/fragment_bajajfd_step_five.xml
  8. +0
    -136
      app/src/main/res/layout/fragment_step_fail.xml

+ 1
- 0
app/src/main/AndroidManifest.xml View File

@ -10,6 +10,7 @@
tools:ignore="ScopedStorage" />
<uses-permission android:name="android.permission.CAMERA" />
<uses-permission android:name="ANDROID.PERMISSION.READ_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.READ_MEDIA_IMAGES"/>
<uses-feature
android:name="android.hardware.camera"


+ 6
- 12
app/src/main/java/com/nivesh/production/bajajfd/ui/activity/BajajFdMainActivity.kt View File

@ -65,15 +65,15 @@ class BajajFdMainActivity : BaseActivity() {
}
private fun init() {
binding = ActivityBajajFdBinding.inflate(layoutInflater)
setContentView(binding.root)
//start Repository
viewModel = ViewModelProvider(
this@BajajFdMainActivity,
FDModelProviderFactory(MainRepository(ApiClient.getApiClient),application)
)[BajajFDViewModel::class.java]
binding = ActivityBajajFdBinding.inflate(layoutInflater)
binding.apply {
setContentView(this.root)
}
loginRole = 5
@ -438,7 +438,8 @@ class BajajFdMainActivity : BaseActivity() {
)
paymentReQueryResponse.Response.StatusCode.let { code ->
when (code) {
200 -> {
650 -> ""
else -> {
if (stepCount == 4) {
binding.viewPager.currentItem = 4
} else {
@ -446,13 +447,6 @@ class BajajFdMainActivity : BaseActivity() {
}
stepFiveBajajFDFragment.getData(paymentReQueryResponse)
}
650 -> ""
else -> {
showDialogValidation(
this@BajajFdMainActivity,
paymentReQueryResponse.Response.Errors[0].ErrorMessage
)
}
}
}
}


+ 8
- 2
app/src/main/java/com/nivesh/production/bajajfd/ui/fragment/StepFiveBajajFDFragment.kt View File

@ -5,6 +5,7 @@ import android.view.LayoutInflater
import android.view.View
import android.view.ViewGroup
import androidx.fragment.app.Fragment
import com.nivesh.production.bajajfd.R
import com.nivesh.production.bajajfd.databinding.FragmentBajajfdStepFiveBinding
import com.nivesh.production.bajajfd.model.PaymentReQueryResponse
@ -22,8 +23,13 @@ class StepFiveBajajFDFragment : Fragment() {
}
fun getData(paymentReQueryResponse: PaymentReQueryResponse) {
if (paymentReQueryResponse.Response.StatusCode == 200) {
binding.tvCongrats.text = getString(R.string.congratulations)
binding.tvSuccessMessage.text = paymentReQueryResponse.Response.Message
}else{
binding.tvCongrats.text = getString(R.string.sorry)
binding.tvSuccessMessage.text = paymentReQueryResponse.Response.Message
}
}
override fun onViewCreated(view: View, savedInstanceState: Bundle?) {


+ 105
- 50
app/src/main/java/com/nivesh/production/bajajfd/ui/fragment/StepThreeBajajFDFragment.kt View File

@ -2,15 +2,15 @@ package com.nivesh.production.bajajfd.ui.fragment
import android.Manifest
import android.annotation.SuppressLint
import android.app.Activity
import android.content.DialogInterface
import android.content.Intent
import android.content.pm.PackageManager
import android.database.Cursor
import android.graphics.Bitmap
import android.graphics.BitmapFactory
import android.net.Uri
import android.os.Build
import android.os.Bundle
import android.provider.MediaStore
import android.provider.OpenableColumns
import android.util.Base64
import android.util.Log
@ -21,6 +21,7 @@ import android.widget.*
import androidx.activity.result.ActivityResultLauncher
import androidx.activity.result.contract.ActivityResultContracts
import androidx.appcompat.app.AlertDialog
import androidx.core.app.ActivityCompat
import androidx.core.content.ContextCompat
import androidx.core.content.FileProvider
import androidx.fragment.app.Fragment
@ -52,7 +53,6 @@ class StepThreeBajajFDFragment : Fragment() {
private val mapImage: HashMap<String, String> = HashMap()
private lateinit var listOfDocType: List<GetCodes>
private var check: Array<String>? = null
private var panString: String = ""
private var photoString: String = ""
@ -69,17 +69,51 @@ class StepThreeBajajFDFragment : Fragment() {
private val secondDocUpload: Int = 4
private var actionType: Int = -1
private val permissions = if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.TIRAMISU) {
arrayOf(
Manifest.permission.READ_EXTERNAL_STORAGE,
Manifest.permission.WRITE_EXTERNAL_STORAGE,
Manifest.permission.READ_MEDIA_IMAGES
)
} else {
arrayOf(
Manifest.permission.READ_EXTERNAL_STORAGE,
Manifest.permission.WRITE_EXTERNAL_STORAGE
)
}
private val askPermissions = mutableListOf<String>()
private val requestPermission = registerForActivityResult(
private val requestCameraPermission = registerForActivityResult(
ActivityResultContracts.RequestPermission()
) { isGranted: Boolean ->
if (isGranted) {
Log.e("permission:", "Granted")
Log.e("Permission: ", "Granted")
} else {
Log.e("permission:", "Denied")
Log.e("Permission: ", "Denied")
}
}
private val requestGalleryPermission = registerForActivityResult(
ActivityResultContracts.RequestMultiplePermissions()
) { permission ->
if (!permission.containsValue(false)){
selectImageIntent?.launch("image/*")
}else{
// for (permissionObj in permissions) {
// if (ContextCompat.checkSelfPermission(activity as BajajFdMainActivity, permissionObj) != PackageManager.PERMISSION_GRANTED) {
// askPermissions.add(permissionObj)
// }
// }
// if (askPermissions.isNotEmpty()){
// requestGalleryPermission.launch(askPermissions)
// }
}
}
override fun onCreateView(
inflater: LayoutInflater, container: ViewGroup?,
savedInstanceState: Bundle?
@ -92,12 +126,6 @@ class StepThreeBajajFDFragment : Fragment() {
override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
super.onViewCreated(view, savedInstanceState)
check = arrayOf(
getString(R.string.takePhoto),
getString(R.string.chooseFromGallery),
getString(R.string.cancel)
)
selectImageIntent = registerForActivityResult(ActivityResultContracts.GetContent())
{ uri: Uri? ->
if (uri != null) {
@ -210,54 +238,81 @@ class StepThreeBajajFDFragment : Fragment() {
)
builder.setTitle(getString(R.string.addPhoto))
builder.setItems(
check
) { dialog: DialogInterface, item: Int ->
if (check!![item] == getString(R.string.takePhoto)) {
val permission = ContextCompat.checkSelfPermission(
activity as BajajFdMainActivity,
Manifest.permission.CAMERA
)
if (permission == PackageManager.PERMISSION_GRANTED) {
takeImage()
} else {
requestPermission.launch(
Manifest.permission.CAMERA
)
arrayOf(
getString(R.string.takePhoto),
getString(R.string.chooseFromGallery),
getString(R.string.cancel)
)
) { dialog: DialogInterface, pos ->
when (pos) {
0 -> {
if (hasPermissions(
activity as BajajFdMainActivity,
Manifest.permission.CAMERA
)
) {
takeImage()
} else {
onClickRequestPermission()
}
dialog.dismiss()
}
dialog.dismiss()
} else if (check!![item] == getString(R.string.chooseFromGallery)) {
val permission = ContextCompat.checkSelfPermission(
activity as BajajFdMainActivity,
Manifest.permission.READ_EXTERNAL_STORAGE
)
if (permission == PackageManager.PERMISSION_GRANTED) {
selectImageIntent?.launch("image/*")
} else {
requestPermission.launch(
Manifest.permission.READ_EXTERNAL_STORAGE
)
1 -> {
if (hasPermissions(activity as BajajFdMainActivity, *permissions)) {
selectImageIntent?.launch("image/*")
} else {
requestGalleryPermission.launch(permissions)
}
dialog.dismiss()
}
else -> {
dialog.dismiss()
}
}
}
builder.show()
}
private fun hasPermissions(activity: Activity, vararg permissions: String?): Boolean {
for (permission in permissions) {
if (ActivityCompat.checkSelfPermission(
activity,
permission!!
) != PackageManager.PERMISSION_GRANTED
) {
return false
}
}
return true
}
fun onClickRequestPermission() {
when {
ContextCompat.checkSelfPermission(
activity as BajajFdMainActivity,
Manifest.permission.CAMERA
) == PackageManager.PERMISSION_GRANTED -> {
}
ActivityCompat.shouldShowRequestPermissionRationale(
activity as BajajFdMainActivity,
Manifest.permission.CAMERA
) -> {
requestCameraPermission.launch(
Manifest.permission.CAMERA
)
}
}
} else if (check!![item] == getString(R.string.cancel)) {
dialog.dismiss()
else -> {
requestCameraPermission.launch(
Manifest.permission.CAMERA
)
}
}
builder.show()
}
private fun setOtherUploadLayout(itemName: String?) {
binding.tvAadhaarFront.text = itemName.plus(" Front *")
if (binding.tvAadhaarBack.visibility == View.VISIBLE) binding.tvAadhaarBack.visibility =


+ 3
- 3
app/src/main/java/com/nivesh/production/bajajfd/ui/providerfactory/FDModelProviderFactory.kt View File

@ -1,15 +1,15 @@
package com.nivesh.production.bajajfd.ui.providerfactory
import android.content.Context
import androidx.lifecycle.ViewModel
import androidx.lifecycle.ViewModelProvider
import com.nivesh.production.bajajfd.repositories.MainRepository
import com.nivesh.production.bajajfd.viewModel.BajajFDViewModel
class FDModelProviderFactory (private val mainRepository: MainRepository,val context: Context) : ViewModelProvider.Factory {
class FDModelProviderFactory(private val mainRepository: MainRepository) :
ViewModelProvider.Factory {
override fun <T : ViewModel> create(modelClass: Class<T>): T {
return BajajFDViewModel(mainRepository,context) as T
return BajajFDViewModel(mainRepository) as T
}
}

+ 7
- 0
app/src/main/java/com/nivesh/production/bajajfd/util/Common.kt View File

@ -1,8 +1,10 @@
package com.nivesh.production.bajajfd.util
import android.Manifest
import android.app.Activity
import android.app.AlertDialog
import android.content.Context
import android.content.pm.PackageManager
import android.graphics.Color
import android.graphics.drawable.GradientDrawable
import android.net.ConnectivityManager
@ -11,6 +13,9 @@ import android.os.Build
import android.text.format.DateFormat
import android.util.Log
import android.util.Patterns
import androidx.activity.result.contract.ActivityResultContracts
import androidx.core.app.ActivityCompat
import androidx.core.content.ContextCompat
import com.google.android.material.textfield.MaterialAutoCompleteTextView
import com.google.android.material.textfield.TextInputEditText
import com.google.android.material.textfield.TextInputLayout
@ -272,5 +277,7 @@ class Common {
}
}
}
}

+ 1
- 26
app/src/main/res/layout/fragment_bajajfd_step_five.xml View File

@ -17,7 +17,6 @@
android:background="@color/NiveshColorAppBg"
android:fillViewport="true"
android:orientation="vertical"
app:layout_constraintBottom_toTopOf="@+id/btnNext"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent">
@ -87,7 +86,6 @@
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="12dp"
android:text="@string/congratulations"
android:textColor="@color/black"
android:textSize="@dimen/text_size_17"
app:layout_constraintEnd_toEndOf="parent"
@ -101,7 +99,6 @@
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="16dp"
android:text="@string/transactionIsSuccessful"
android:textColor="@color/black"
android:textSize="@dimen/text_size_16"
app:layout_constraintEnd_toEndOf="parent"
@ -111,6 +108,7 @@
<TextView
android:id="@+id/tvSuccessMsgDetail"
android:visibility="gone"
style="@style/regularStyle"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
@ -127,34 +125,11 @@
</androidx.constraintlayout.widget.ConstraintLayout>
<!-- </com.google.android.material.card.MaterialCardView>-->
<include
android:id="@+id/fragmentStepFail"
layout="@layout/fragment_step_fail"
android:visibility="gone" />
</androidx.constraintlayout.widget.ConstraintLayout>
</com.google.android.material.card.MaterialCardView>
</androidx.core.widget.NestedScrollView>
<!-- <TextView-->
<!-- android:id="@+id/tvDownloadInvoice"-->
<!-- style="@style/semiBoldStyle"-->
<!-- android:layout_width="wrap_content"-->
<!-- android:layout_height="wrap_content"-->
<!-- android:layout_gravity="center_vertical"-->
<!-- android:layout_marginTop="@dimen/margin_20"-->
<!-- android:backgroundTint="@color/blue"-->
<!-- android:text="@string/downloadInvoice"-->
<!-- android:textColor="@color/blue"-->
<!-- android:textSize="@dimen/text_size_16"-->
<!-- app:layout_constraintTop_toBottomOf="@+id/linearLayoutTwo"-->
<!-- app:layout_constraintBottom_toBottomOf="parent"-->
<!-- app:layout_constraintEnd_toStartOf="@+id/btnNext"-->
<!-- app:layout_constraintStart_toStartOf="parent" />-->
<com.google.android.material.button.MaterialButton
android:id="@+id/btnViewOrder"
android:layout_width="wrap_content"


+ 0
- 136
app/src/main/res/layout/fragment_step_fail.xml View File

@ -1,136 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
xmlns:app="http://schemas.android.com/apk/res-auto">
<com.google.android.material.card.MaterialCardView
android:id="@+id/cardViewThree"
style="@style/CustomCardViewTopStyle"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginLeft="@dimen/margin_5"
android:layout_marginTop="@dimen/margin_5"
android:layout_marginRight="@dimen/margin_5"
android:padding="@dimen/margin_10"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent">
<androidx.constraintlayout.widget.ConstraintLayout
android:layout_width="match_parent"
android:layout_height="70dp"
android:layout_marginTop="16dp"
android:layout_marginBottom="12dp"
android:background="@color/white"
android:padding="@dimen/margin_5"
app:layout_constraintBottom_toTopOf="@+id/tvCongrats"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintHorizontal_bias="1.0"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent"
app:layout_constraintVertical_bias="1.0">
<ImageView
android:id="@+id/logoTwo"
android:layout_width="@dimen/margin_150"
android:layout_height="18dp"
android:layout_marginTop="8dp"
android:src="@drawable/bajaj_logo"
app:layout_constraintBottom_toTopOf="@+id/tvFdRatingTwo"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintHorizontal_bias="0.0"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent"
android:contentDescription="@string/contentDescription"/>
<TextView
android:id="@+id/tvFdRatingTwo"
style="@style/regularStyle"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/schemeRating"
android:textColor="@color/greyColor2"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintHorizontal_bias="0.0"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/logoTwo"
app:layout_constraintVertical_bias="0.0" />
</androidx.constraintlayout.widget.ConstraintLayout>
</com.google.android.material.card.MaterialCardView>
<com.google.android.material.card.MaterialCardView
android:id="@+id/cardViewFour"
style="@style/CustomCardViewBottomStyle"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginLeft="@dimen/margin_5"
android:layout_marginRight="@dimen/margin_5"
android:layout_marginBottom="@dimen/margin_5"
android:padding="@dimen/margin_10"
app:cardBackgroundColor="@color/greyColor4"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintHorizontal_bias="1.0"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/cardViewThree"
app:layout_constraintVertical_bias="0.0">
<androidx.constraintlayout.widget.ConstraintLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:padding="@dimen/margin_10"
app:layout_constraintBottom_toBottomOf="parent">
<TextView
android:id="@+id/textViewFail1"
style="@style/semiBoldStyle"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="12dp"
android:text="@string/sorry"
android:textColor="@color/black"
android:textSize="@dimen/text_size_16"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintHorizontal_bias="0.437"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent" />
<TextView
android:id="@+id/tvFailMsg"
style="@style/regularStyle"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="16dp"
android:text="@string/TransactionIsUnsuccessful"
android:textColor="@color/black"
android:textSize="@dimen/text_size_16"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintHorizontal_bias="0.419"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/textViewFail1" />
<TextView
android:id="@+id/tvSorryMsg"
style="@style/regularStyle"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="16dp"
android:gravity="center"
android:text="@string/tryAgainLater"
android:textColor="@color/black"
android:textSize="@dimen/text_size_14"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintHorizontal_bias="0.393"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/tvFailMsg" />
</androidx.constraintlayout.widget.ConstraintLayout>
</com.google.android.material.card.MaterialCardView>
</androidx.constraintlayout.widget.ConstraintLayout>

Loading…
Cancel
Save

Powered by TurnKey Linux.