Browse Source

working on gallry

PankajBranch
Hemant Khadase 2 years ago
parent
commit
d03ce535b6
8 changed files with 133 additions and 214 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. +108
    -37
      app/src/main/java/com/nivesh/production/bajajfd/ui/fragment/StepThreeBajajFDFragment.kt
  5. +2
    -1
      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))
)[BajajFDViewModel::class.java]
binding = ActivityBajajFdBinding.inflate(layoutInflater)
binding.apply {
setContentView(this.root)
}
loginRole = 5
if (Common.isNetworkAvailable(this)) {
@ -437,7 +437,8 @@ class BajajFdMainActivity : BaseActivity() {
)
paymentReQueryResponse.Response.StatusCode.let { code ->
when (code) {
200 -> {
650 -> ""
else -> {
if (stepCount == 4) {
binding.viewPager.currentItem = 4
} else {
@ -445,13 +446,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?) {


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

@ -2,12 +2,14 @@ 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.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.OpenableColumns
import android.util.Base64
@ -19,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
@ -50,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 = ""
@ -67,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?
@ -90,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) {
@ -208,40 +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()
}
} else if (check!![item] == getString(R.string.cancel)) {
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 -> {
requestCameraPermission.launch(
Manifest.permission.CAMERA
)
}
}
}
private fun setOtherUploadLayout(itemName: String?) {
binding.tvAadhaarFront.text = itemName.plus(" Front *")
if (binding.tvAadhaarBack.visibility == View.VISIBLE) binding.tvAadhaarBack.visibility =


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

@ -5,7 +5,8 @@ import androidx.lifecycle.ViewModelProvider
import com.nivesh.production.bajajfd.repositories.MainRepository
import com.nivesh.production.bajajfd.viewModel.BajajFDViewModel
class FDModelProviderFactory (private val mainRepository: MainRepository) : ViewModelProvider.Factory {
class FDModelProviderFactory(private val mainRepository: MainRepository) :
ViewModelProvider.Factory {
override fun <T : ViewModel> create(modelClass: Class<T>): 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.