Browse Source

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

# Conflicts:
#	app/src/main/java/com/nivesh/production/bajajfd/repositories/MainRepository.kt
#	app/src/main/java/com/nivesh/production/bajajfd/ui/activity/BajajFdMainActivity.kt
#	app/src/main/java/com/nivesh/production/bajajfd/util/Common.kt
#	app/src/main/java/com/nivesh/production/bajajfd/util/ProgressUtil.kt
#	settings.gradle
Manoj 2 years ago
parent
commit
639e744f63
27 changed files with 543 additions and 388 deletions
  1. +2
    -2
      app/build.gradle
  2. +3
    -4
      app/src/main/AndroidManifest.xml
  3. +2
    -2
      app/src/main/java/com/nivesh/production/bajajfd/adapter/SectionsPagerAdapter.kt
  4. +8
    -2
      app/src/main/java/com/nivesh/production/bajajfd/interfaces/ApiInterface.kt
  5. +7
    -0
      app/src/main/java/com/nivesh/production/bajajfd/model/FinaliseFD.kt
  6. +5
    -0
      app/src/main/java/com/nivesh/production/bajajfd/model/FinalizeFDRequest.kt
  7. +5
    -0
      app/src/main/java/com/nivesh/production/bajajfd/model/FinalizeFDResponse.kt
  8. +7
    -0
      app/src/main/java/com/nivesh/production/bajajfd/model/FinalizeKYCRequest.kt
  9. +9
    -0
      app/src/main/java/com/nivesh/production/bajajfd/model/ResponseXXXXXXXXXXXXXXXX.kt
  10. +42
    -32
      app/src/main/java/com/nivesh/production/bajajfd/repositories/MainRepository.kt
  11. +44
    -33
      app/src/main/java/com/nivesh/production/bajajfd/ui/activity/BajajFdMainActivity.kt
  12. +135
    -4
      app/src/main/java/com/nivesh/production/bajajfd/ui/fragment/StepFiveBajajFDFragment.kt
  13. +50
    -31
      app/src/main/java/com/nivesh/production/bajajfd/ui/fragment/StepFourBajajFDFragment.kt
  14. +108
    -40
      app/src/main/java/com/nivesh/production/bajajfd/ui/fragment/StepThreeBajajFDFragment.kt
  15. +7
    -4
      app/src/main/java/com/nivesh/production/bajajfd/ui/fragment/StepTwoBajajFDFragment.kt
  16. +2
    -1
      app/src/main/java/com/nivesh/production/bajajfd/ui/providerfactory/FDModelProviderFactory.kt
  17. +22
    -13
      app/src/main/java/com/nivesh/production/bajajfd/util/Common.kt
  18. +3
    -3
      app/src/main/java/com/nivesh/production/bajajfd/util/ProgressUtil.kt
  19. +20
    -7
      app/src/main/java/com/nivesh/production/bajajfd/viewModel/BajajFDViewModel.kt
  20. +41
    -34
      app/src/main/res/layout/activity_bajaj_fd.xml
  21. +5
    -30
      app/src/main/res/layout/fragment_bajajfd_step_five.xml
  22. +0
    -136
      app/src/main/res/layout/fragment_step_fail.xml
  23. +6
    -3
      app/src/main/res/values-hi-rIN/strings.xml
  24. +1
    -1
      app/src/main/res/values-night/themes.xml
  25. +6
    -3
      app/src/main/res/values/strings.xml
  26. +1
    -1
      app/src/main/res/values/themes.xml
  27. +2
    -2
      settings.gradle

+ 2
- 2
app/build.gradle View File

@ -51,8 +51,8 @@ dependencies {
implementation 'androidx.legacy:legacy-support-v4:1.0.0' implementation 'androidx.legacy:legacy-support-v4:1.0.0'
implementation 'androidx.lifecycle:lifecycle-livedata-ktx:2.5.1' implementation 'androidx.lifecycle:lifecycle-livedata-ktx:2.5.1'
testImplementation 'junit:junit:4.13.2' testImplementation 'junit:junit:4.13.2'
androidTestImplementation 'androidx.test.ext:junit:1.1.4'
androidTestImplementation 'androidx.test.espresso:espresso-core:3.5.0'
androidTestImplementation 'androidx.test.ext:junit:1.1.5'
androidTestImplementation 'androidx.test.espresso:espresso-core:3.5.1'
// Architectural Components // Architectural Components
implementation "androidx.lifecycle:lifecycle-viewmodel-ktx:2.5.1" implementation "androidx.lifecycle:lifecycle-viewmodel-ktx:2.5.1"


+ 3
- 4
app/src/main/AndroidManifest.xml View File

@ -5,11 +5,10 @@
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" /> <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="android.permission.INTERNET" /> <uses-permission android:name="android.permission.INTERNET" />
<uses-permission <uses-permission
android:name="android.permission.WRITE_EXTERNAL_STORAGE"
android:maxSdkVersion="28"
tools:ignore="ScopedStorage" />
android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.CAMERA" /> <uses-permission android:name="android.permission.CAMERA" />
<uses-permission android:name="ANDROID.PERMISSION.READ_EXTERNAL_STORAGE" /> <uses-permission android:name="ANDROID.PERMISSION.READ_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.READ_MEDIA_IMAGES"/>
<uses-feature <uses-feature
android:name="android.hardware.camera" android:name="android.hardware.camera"
@ -29,7 +28,7 @@
android:label="@string/appName" android:label="@string/appName"
android:roundIcon="@mipmap/ic_launcher_round" android:roundIcon="@mipmap/ic_launcher_round"
android:supportsRtl="true" android:supportsRtl="true"
android:theme="@style/Theme.NiveshSDK"
android:theme="@style/Theme.NiveshFDSDK"
tools:targetApi="31"> tools:targetApi="31">
<activity <activity


+ 2
- 2
app/src/main/java/com/nivesh/production/bajajfd/adapter/SectionsPagerAdapter.kt View File

@ -5,13 +5,13 @@ import androidx.fragment.app.FragmentManager
import androidx.fragment.app.FragmentPagerAdapter import androidx.fragment.app.FragmentPagerAdapter
class SectionsPagerAdapter(manager: FragmentManager,private val fragments: Array<Fragment>, private val NumberOfTabs: Int) : FragmentPagerAdapter(manager, BEHAVIOR_RESUME_ONLY_CURRENT_FRAGMENT) {
class SectionsPagerAdapter(manager: FragmentManager,private val fragments: Array<Fragment>) : FragmentPagerAdapter(manager, BEHAVIOR_RESUME_ONLY_CURRENT_FRAGMENT) {
private val titles = ArrayList<String>() private val titles = ArrayList<String>()
override fun getItem(position: Int): Fragment = fragments[position] override fun getItem(position: Int): Fragment = fragments[position]
override fun getCount(): Int = NumberOfTabs
override fun getCount(): Int = fragments.size
override fun getPageTitle(position: Int): CharSequence = titles[position] override fun getPageTitle(position: Int): CharSequence = titles[position]

+ 8
- 2
app/src/main/java/com/nivesh/production/bajajfd/interfaces/ApiInterface.kt View File

@ -52,13 +52,13 @@ interface ApiInterface {
@POST("FinaliseFD") @POST("FinaliseFD")
suspend fun finaliseFD( suspend fun finaliseFD(
@Body requestBody: RequestBody,
@Body requestBody: FinalizeFDRequest,
@Header("token") token: String @Header("token") token: String
): Response<JsonObject> ): Response<JsonObject>
@POST("FinaliseKYC") @POST("FinaliseKYC")
suspend fun finaliseKYC( suspend fun finaliseKYC(
@Body requestBody: RequestBody,
@Body requestBody: FinalizeKYCRequest,
@Header("token") token: String @Header("token") token: String
): Response<JsonObject> ): Response<JsonObject>
@ -160,6 +160,12 @@ interface ApiInterface {
@Header("token") token: String @Header("token") token: String
): Response<JsonObject> ): Response<JsonObject>
@POST("GetCodes")
suspend fun customerListApi(
@Body getCodeRequest: GetCodeRequest,
@Header("token") token: String
): Response<JsonObject>
@POST("BankValidationAPI_S") @POST("BankValidationAPI_S")
suspend fun bankValidationApi( suspend fun bankValidationApi(
@Body bankValidationApiRequest: BankValidationApiRequest, @Body bankValidationApiRequest: BankValidationApiRequest,


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

@ -0,0 +1,7 @@
package com.nivesh.production.bajajfd.model
data class FinaliseFD(
var FDProvider: String? = "",
var NiveshClientCode: String? = "",
var UniqueId: String? = ""
)

+ 5
- 0
app/src/main/java/com/nivesh/production/bajajfd/model/FinalizeFDRequest.kt View File

@ -0,0 +1,5 @@
package com.nivesh.production.bajajfd.model
data class FinalizeFDRequest(
var FinaliseFD: FinaliseFD? = null
)

+ 5
- 0
app/src/main/java/com/nivesh/production/bajajfd/model/FinalizeFDResponse.kt View File

@ -0,0 +1,5 @@
package com.nivesh.production.bajajfd.model
data class FinalizeFDResponse(
val Response: ResponseXXXXXXXXXXXXXXXX
)

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

@ -0,0 +1,7 @@
package com.nivesh.production.bajajfd.model
data class FinalizeKYCRequest(
var FDProvider: String? = "",
var NiveshClientCode: String? = "",
var UniqueId: String? = ""
)

+ 9
- 0
app/src/main/java/com/nivesh/production/bajajfd/model/ResponseXXXXXXXXXXXXXXXX.kt View File

@ -0,0 +1,9 @@
package com.nivesh.production.bajajfd.model
data class ResponseXXXXXXXXXXXXXXXX(
val Errors: List<Errors>,
val Message: String,
val Status: String,
val StatusCode: Int,
val UniqueId: String
)

+ 42
- 32
app/src/main/java/com/nivesh/production/bajajfd/repositories/MainRepository.kt View File

@ -1,23 +1,25 @@
package com.nivesh.production.bajajfd.repositories package com.nivesh.production.bajajfd.repositories
import com.google.gson.JsonObject
import com.nivesh.production.bajajfd.interfaces.ApiInterface import com.nivesh.production.bajajfd.interfaces.ApiInterface
import com.nivesh.production.bajajfd.model.* import com.nivesh.production.bajajfd.model.*
import okhttp3.RequestBody
class MainRepository constructor(private val apiInterface: ApiInterface) { class MainRepository constructor(private val apiInterface: ApiInterface) {
suspend fun getRatesResponse(getRatesRequest: GetRatesRequest, token: String) =
apiInterface.getRates(getRatesRequest, token)
suspend fun getCodesResponse(requestBody: GetCodeRequest, token: String) =
apiInterface.getCodes(requestBody, token)
// MainActivity
suspend fun getStepsCountResponse(requestBody: FDStepsCountRequest, token: String) = suspend fun getStepsCountResponse(requestBody: FDStepsCountRequest, token: String) =
apiInterface.getFDStepsCount(requestBody, token) apiInterface.getFDStepsCount(requestBody, token)
suspend fun getClientDetailsResponse(getClientDetails: getClientDetailsRequest, token: String) = suspend fun getClientDetailsResponse(getClientDetails: getClientDetailsRequest, token: String) =
apiInterface.getClientDetails(getClientDetails, token) apiInterface.getClientDetails(getClientDetails, token)
// Step One
suspend fun getRatesResponse(getRatesRequest: GetRatesRequest, token: String) =
apiInterface.getRates(getRatesRequest, token)
suspend fun getCodesResponse(requestBody: GetCodeRequest, token: String) =
apiInterface.getCodes(requestBody, token)
suspend fun createCalculateFDMaturityAmount( suspend fun createCalculateFDMaturityAmount(
requestBody: GetMaturityAmountRequest, requestBody: GetMaturityAmountRequest,
token: String token: String
@ -25,30 +27,10 @@ class MainRepository constructor(private val apiInterface: ApiInterface) {
apiInterface.getCalculateFDMaturityAmount(requestBody, token) apiInterface.getCalculateFDMaturityAmount(requestBody, token)
// Step Two
suspend fun createFDKYCResponse(createFDRequest: CreateFDRequest, token: String) = suspend fun createFDKYCResponse(createFDRequest: CreateFDRequest, token: String) =
apiInterface.createFDApp(createFDRequest, token) apiInterface.createFDApp(createFDRequest, token)
suspend fun documentsUploadResponse(getRatesRequest: DocumentUpload, token: String) =
apiInterface.documentsUpload(getRatesRequest, token)
suspend fun saveFDOtherDataResponse(getRatesRequest: SaveFDOtherDataRequest, token: String) =
apiInterface.saveFDOtherData(getRatesRequest, token)
suspend fun getFDDetailsResponse(getRatesRequest: GetFDDetailsRequest, token: String) =
apiInterface.getFDDetails(getRatesRequest, token)
suspend fun updateFDPaymentStatusResponse(getRatesRequest: GetRatesRequest, token: String) =
apiInterface.getRates(getRatesRequest, token)
suspend fun finaliseFDResponse(getRatesRequest: GetRatesRequest, token: String) =
apiInterface.getRates(getRatesRequest, token)
suspend fun finaliseKYCResponse(getRatesRequest: GetRatesRequest, token: String) =
apiInterface.getRates(getRatesRequest, token)
suspend fun paymentReQueryResponse(getRatesRequest: PaymentReQueryRequest, token: String) =
apiInterface.paymentReQuery(getRatesRequest, token)
suspend fun panCheck(panCheck: PanCheckRequest, token: String) = suspend fun panCheck(panCheck: PanCheckRequest, token: String) =
apiInterface.panCheckApi(panCheck, token) apiInterface.panCheckApi(panCheck, token)
@ -88,13 +70,41 @@ class MainRepository constructor(private val apiInterface: ApiInterface) {
suspend fun payModeCheck(getCodeRequest: GetCodeRequest, token: String) = suspend fun payModeCheck(getCodeRequest: GetCodeRequest, token: String) =
apiInterface.payModeApi(getCodeRequest, token) apiInterface.payModeApi(getCodeRequest, token)
suspend fun bankValidationApiRequest(bankValidationApiRequest: BankValidationApiRequest, token: String) =
apiInterface.bankValidationApi(bankValidationApiRequest, token)
// Step Three
suspend fun documentsUploadResponse(getRatesRequest: DocumentUpload, token: String) =
apiInterface.documentsUpload(getRatesRequest, token)
suspend fun saveFDOtherDataResponse(getRatesRequest: SaveFDOtherDataRequest, token: String) =
apiInterface.saveFDOtherData(getRatesRequest, token)
suspend fun getFDDetailsResponse(getRatesRequest: GetFDDetailsRequest, token: String) =
apiInterface.getFDDetails(getRatesRequest, token)
suspend fun updateFDPaymentStatusResponse(getRatesRequest: GetRatesRequest, token: String) =
apiInterface.getRates(getRatesRequest, token)
// Step 4
suspend fun customerListCheck(getCodeRequest: GetCodeRequest, token: String) =
apiInterface.customerListApi(getCodeRequest, token)
suspend fun checkFDKYCRequest(checkFDKYCRequest: CheckFDKYCRequest, token: String) = suspend fun checkFDKYCRequest(checkFDKYCRequest: CheckFDKYCRequest, token: String) =
apiInterface.checkFDKYC(checkFDKYCRequest, token) apiInterface.checkFDKYC(checkFDKYCRequest, token)
suspend fun bankValidationApiRequest(bankValidationApiRequest: BankValidationApiRequest, token: String) =
apiInterface.bankValidationApi(bankValidationApiRequest, token)
suspend fun freshToken(body: RequestBody) =
apiInterface.freshToken(body)
// Step 5
suspend fun finaliseFDResponse(getRatesRequest: FinalizeFDRequest, token: String) =
apiInterface.finaliseFD(getRatesRequest, token)
suspend fun finaliseKYCResponse(getRatesRequest: FinalizeKYCRequest, token: String) =
apiInterface.finaliseKYC(getRatesRequest, token)
suspend fun paymentReQueryResponse(getRatesRequest: PaymentReQueryRequest, token: String) =
apiInterface.paymentReQuery(getRatesRequest, token)
} }

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

@ -6,6 +6,7 @@ import android.graphics.Bitmap
import android.graphics.drawable.Drawable import android.graphics.drawable.Drawable
import android.os.Bundle import android.os.Bundle
import android.util.Log import android.util.Log
import android.view.View
import android.view.WindowManager import android.view.WindowManager
import android.webkit.WebView import android.webkit.WebView
import android.webkit.WebViewClient import android.webkit.WebViewClient
@ -30,6 +31,8 @@ import com.nivesh.production.bajajfd.util.Common.Companion.selectedShape
import com.nivesh.production.bajajfd.util.Common.Companion.showDialogValidation import com.nivesh.production.bajajfd.util.Common.Companion.showDialogValidation
import com.nivesh.production.bajajfd.util.Constants.Companion.token import com.nivesh.production.bajajfd.util.Constants.Companion.token
import com.nivesh.production.bajajfd.util.ProgressUtil import com.nivesh.production.bajajfd.util.ProgressUtil
import com.nivesh.production.bajajfd.util.ProgressUtil.hideLoading
import com.nivesh.production.bajajfd.util.ProgressUtil.showLoading
import com.nivesh.production.bajajfd.util.Resource import com.nivesh.production.bajajfd.util.Resource
import com.nivesh.production.bajajfd.viewModel.* import com.nivesh.production.bajajfd.viewModel.*
@ -54,7 +57,7 @@ class BajajFdMainActivity : BaseActivity() {
var nomineeGuardianDetails: NomineeGuardianDetails = NomineeGuardianDetails() var nomineeGuardianDetails: NomineeGuardianDetails = NomineeGuardianDetails()
var getClientDetailsResponse: getClientDetailsResponse = getClientDetailsResponse() var getClientDetailsResponse: getClientDetailsResponse = getClientDetailsResponse()
var uniqueId: String = "" var uniqueId: String = ""
private var stepCount: Int = 0
var stepCount: Int = 0
private lateinit var sectionsPagerAdapter: SectionsPagerAdapter private lateinit var sectionsPagerAdapter: SectionsPagerAdapter
private lateinit var fragments: Array<Fragment> private lateinit var fragments: Array<Fragment>
var dialogWebView: Dialog? = null var dialogWebView: Dialog? = null
@ -66,15 +69,15 @@ class BajajFdMainActivity : BaseActivity() {
} }
private fun init() { private fun init() {
binding = ActivityBajajFdBinding.inflate(layoutInflater)
setContentView(binding.root)
//start Repository //start Repository
viewModel = ViewModelProvider( viewModel = ViewModelProvider(
this@BajajFdMainActivity, this@BajajFdMainActivity,
FDModelProviderFactory(MainRepository(ApiClient.getApiClient)) FDModelProviderFactory(MainRepository(ApiClient.getApiClient))
)[BajajFDViewModel::class.java] )[BajajFDViewModel::class.java]
binding = ActivityBajajFdBinding.inflate(layoutInflater)
binding.apply {
setContentView(this.root)
}
loginRole = 5 loginRole = 5
if (Common.isNetworkAvailable(this)) { if (Common.isNetworkAvailable(this)) {
@ -88,7 +91,6 @@ class BajajFdMainActivity : BaseActivity() {
private fun getStepsCountApi() { private fun getStepsCountApi() {
if (Common.isNetworkAvailable(this)) { if (Common.isNetworkAvailable(this)) {
ProgressUtil.showLoading(this)
val fdStepsCount = FDStepsCountRequest() val fdStepsCount = FDStepsCountRequest()
fdStepsCount.FDProvider = getString(R.string.bajaj) fdStepsCount.FDProvider = getString(R.string.bajaj)
fdStepsCount.NiveshClientCode = "8872" // 60476 fdStepsCount.NiveshClientCode = "8872" // 60476
@ -106,6 +108,9 @@ class BajajFdMainActivity : BaseActivity() {
when (code) { when (code) {
200 -> { 200 -> {
stepCount = stepsCountResponse.Response.StepsCount stepCount = stepsCountResponse.Response.StepsCount
if (stepCount == 3) {
binding.llStep4.visibility = View.GONE
}
getClientDetailsApi(stepsCountResponse.Response.StepsCount) getClientDetailsApi(stepsCountResponse.Response.StepsCount)
} }
650 -> "" 650 -> ""
@ -124,7 +129,7 @@ class BajajFdMainActivity : BaseActivity() {
} }
} }
is Resource.Loading -> { is Resource.Loading -> {
ProgressUtil.hideLoading()
} }
is Resource.DataError -> { is Resource.DataError -> {
@ -136,7 +141,6 @@ class BajajFdMainActivity : BaseActivity() {
private fun getClientDetailsApi(stepsCount: Int) { private fun getClientDetailsApi(stepsCount: Int) {
if (Common.isNetworkAvailable(this@BajajFdMainActivity)) { if (Common.isNetworkAvailable(this@BajajFdMainActivity)) {
ProgressUtil.showLoading(this)
val getClientDetailsRequest = getClientDetailsRequest() val getClientDetailsRequest = getClientDetailsRequest()
getClientDetailsRequest.client_code = "8872" getClientDetailsRequest.client_code = "8872"
getClientDetailsRequest.AppOrWeb = getString(R.string.app) getClientDetailsRequest.AppOrWeb = getString(R.string.app)
@ -160,6 +164,7 @@ class BajajFdMainActivity : BaseActivity() {
userRequest.deviceInfo = deviceInfo userRequest.deviceInfo = deviceInfo
getClientDetailsRequest.UserRequest = userRequest getClientDetailsRequest.UserRequest = userRequest
Log.e("getClientDetail ", " Request -->" + Gson().toJson(getClientDetailsRequest)) Log.e("getClientDetail ", " Request -->" + Gson().toJson(getClientDetailsRequest))
showLoading(this@BajajFdMainActivity)
viewModel.getClientDetails(getClientDetailsRequest, token, this) viewModel.getClientDetails(getClientDetailsRequest, token, this)
viewModel.getClientDetailsMutableData.observe(this) { response -> viewModel.getClientDetailsMutableData.observe(this) { response ->
when (response) { when (response) {
@ -190,7 +195,7 @@ class BajajFdMainActivity : BaseActivity() {
} }
} }
is Resource.Loading -> { is Resource.Loading -> {
ProgressUtil.hideLoading()
hideLoading()
} }
is Resource.DataError -> { is Resource.DataError -> {
@ -202,7 +207,7 @@ class BajajFdMainActivity : BaseActivity() {
private fun setViewPager(stepsCount: Int) { private fun setViewPager(stepsCount: Int) {
// steps setting // steps setting
setBackground(selectedShape(), defaultShape(), defaultShape(), defaultShape())
setBackground(selectedShape(), defaultShape(), defaultShape(), defaultShape(), stepsCount)
if (stepCount == 3) { if (stepCount == 3) {
fragments = arrayOf( fragments = arrayOf(
@ -222,12 +227,12 @@ class BajajFdMainActivity : BaseActivity() {
} }
// set viewPager // set viewPager
sectionsPagerAdapter = SectionsPagerAdapter(supportFragmentManager, fragments, stepsCount)
sectionsPagerAdapter = SectionsPagerAdapter(supportFragmentManager, fragments)
val viewPager: DisableAdapter = binding.viewPager val viewPager: DisableAdapter = binding.viewPager
viewPager.setPagingEnabled(false)
viewPager.adapter = sectionsPagerAdapter viewPager.adapter = sectionsPagerAdapter
viewPager.setPagingEnabled(false)
if (sectionsPagerAdapter.count > 1) { if (sectionsPagerAdapter.count > 1) {
viewPager.offscreenPageLimit = sectionsPagerAdapter.count - 1
viewPager.offscreenPageLimit = stepCount
} else { } else {
viewPager.offscreenPageLimit = 1 viewPager.offscreenPageLimit = 1
} }
@ -246,7 +251,8 @@ class BajajFdMainActivity : BaseActivity() {
defaultShape(), defaultShape(),
defaultShape(), defaultShape(),
defaultShape(), defaultShape(),
defaultShape()
defaultShape(),
stepsCount
) )
} }
1 -> { 1 -> {
@ -254,7 +260,8 @@ class BajajFdMainActivity : BaseActivity() {
selectedShape(), selectedShape(),
defaultShape(), defaultShape(),
defaultShape(), defaultShape(),
defaultShape()
defaultShape(),
stepsCount
) )
} }
2 -> { 2 -> {
@ -262,7 +269,8 @@ class BajajFdMainActivity : BaseActivity() {
selectedShape(), selectedShape(),
selectedShape(), selectedShape(),
defaultShape(), defaultShape(),
defaultShape()
defaultShape(),
stepsCount
) )
} }
3 -> { 3 -> {
@ -270,7 +278,8 @@ class BajajFdMainActivity : BaseActivity() {
selectedShape(), selectedShape(),
selectedShape(), selectedShape(),
selectedShape(), selectedShape(),
defaultShape()
defaultShape(),
stepsCount
) )
} }
4 -> { 4 -> {
@ -278,7 +287,8 @@ class BajajFdMainActivity : BaseActivity() {
selectedShape(), selectedShape(),
selectedShape(), selectedShape(),
selectedShape(), selectedShape(),
selectedShape()
selectedShape(),
stepsCount
) )
} }
} }
@ -293,7 +303,6 @@ class BajajFdMainActivity : BaseActivity() {
private fun checkFDCKYCApi() { private fun checkFDCKYCApi() {
if (Common.isNetworkAvailable(this@BajajFdMainActivity)) { if (Common.isNetworkAvailable(this@BajajFdMainActivity)) {
ProgressUtil.showLoading(this)
if (getClientDetailsResponse.ObjectResponse?.clientDetails?.clientMasterMFD?.CM_MOBILE?.isNotEmpty()!! && getClientDetailsResponse.ObjectResponse?.clientDetails?.clientMasterMFD?.CLIENT_DOB?.isNotEmpty()!! && getClientDetailsResponse.ObjectResponse?.clientDetails?.clientMasterMFD?.CLIENT_PAN?.isNotEmpty()!! && getClientDetailsResponse.ObjectResponse?.clientDetails?.clientMasterMFD?.CLIENT_CODE?.isNotEmpty()!!) { if (getClientDetailsResponse.ObjectResponse?.clientDetails?.clientMasterMFD?.CM_MOBILE?.isNotEmpty()!! && getClientDetailsResponse.ObjectResponse?.clientDetails?.clientMasterMFD?.CLIENT_DOB?.isNotEmpty()!! && getClientDetailsResponse.ObjectResponse?.clientDetails?.clientMasterMFD?.CLIENT_PAN?.isNotEmpty()!! && getClientDetailsResponse.ObjectResponse?.clientDetails?.clientMasterMFD?.CLIENT_CODE?.isNotEmpty()!!) {
val checkFDKYCRequest = CheckFDKYCRequest() val checkFDKYCRequest = CheckFDKYCRequest()
checkFDKYCRequest.Mobile = checkFDKYCRequest.Mobile =
@ -337,7 +346,7 @@ class BajajFdMainActivity : BaseActivity() {
} }
} }
is Resource.Loading -> { is Resource.Loading -> {
ProgressUtil.hideLoading()
} }
is Resource.DataError -> { is Resource.DataError -> {
@ -354,12 +363,16 @@ class BajajFdMainActivity : BaseActivity() {
drawable: Drawable?, drawable: Drawable?,
drawable1: Drawable?, drawable1: Drawable?,
drawable2: Drawable?, drawable2: Drawable?,
drawable3: Drawable?
drawable3: Drawable?,
stepsCount: Int
) { ) {
binding.stepOne.background = drawable binding.stepOne.background = drawable
binding.stepTwo.background = drawable1 binding.stepTwo.background = drawable1
binding.stepThree.background = drawable2 binding.stepThree.background = drawable2
binding.stepFour.background = drawable3
if (stepsCount == 4) {
binding.stepFour.background = drawable3
}
} }
// step 1 response // step 1 response
@ -370,6 +383,9 @@ class BajajFdMainActivity : BaseActivity() {
// step 2 response // step 2 response
fun stepTwoApi() { fun stepTwoApi() {
binding.viewPager.currentItem = 2 binding.viewPager.currentItem = 2
if (stepCount == 3) {
stepFourBajajFDFragment.displayReceivedData()
}
} }
// step 3 response // step 3 response
@ -425,16 +441,16 @@ class BajajFdMainActivity : BaseActivity() {
fun paymentReQueryApi() { fun paymentReQueryApi() {
if (Common.isNetworkAvailable(this)) { if (Common.isNetworkAvailable(this)) {
ProgressUtil.showLoading(this)
val paymentReQueryRequest = PaymentReQueryRequest() val paymentReQueryRequest = PaymentReQueryRequest()
paymentReQueryRequest.UniqueId = uniqueId paymentReQueryRequest.UniqueId = uniqueId
paymentReQueryRequest.NiveshClientCode = paymentReQueryRequest.NiveshClientCode =
getClientDetailsResponse.ObjectResponse?.clientDetails?.clientMasterMFD?.CLIENT_CODE getClientDetailsResponse.ObjectResponse?.clientDetails?.clientMasterMFD?.CLIENT_CODE
ProgressUtil.showLoading(this@BajajFdMainActivity)
viewModel.getPaymentReQuery(paymentReQueryRequest, token, this) viewModel.getPaymentReQuery(paymentReQueryRequest, token, this)
viewModel.getPaymentReQueryMutableData.observe(this) { response -> viewModel.getPaymentReQueryMutableData.observe(this) { response ->
when (response) { when (response) {
is Resource.Success -> { is Resource.Success -> {
Log.e("response", "-->$response")
Log.e("paymentReQueryApi ", "response -->$response")
val paymentReQueryResponse: PaymentReQueryResponse = val paymentReQueryResponse: PaymentReQueryResponse =
Gson().fromJson( Gson().fromJson(
response.data?.toString(), response.data?.toString(),
@ -442,7 +458,8 @@ class BajajFdMainActivity : BaseActivity() {
) )
paymentReQueryResponse.Response.StatusCode.let { code -> paymentReQueryResponse.Response.StatusCode.let { code ->
when (code) { when (code) {
200 -> {
650 -> ""
else -> {
if (stepCount == 4) { if (stepCount == 4) {
binding.viewPager.currentItem = 4 binding.viewPager.currentItem = 4
} else { } else {
@ -450,13 +467,6 @@ class BajajFdMainActivity : BaseActivity() {
} }
stepFiveBajajFDFragment.getData(paymentReQueryResponse) stepFiveBajajFDFragment.getData(paymentReQueryResponse)
} }
650 -> ""
else -> {
showDialogValidation(
this@BajajFdMainActivity,
paymentReQueryResponse.Response.Errors[0].ErrorMessage
)
}
} }
} }
} }
@ -466,7 +476,7 @@ class BajajFdMainActivity : BaseActivity() {
} }
} }
is Resource.Loading -> { is Resource.Loading -> {
ProgressUtil.hideLoading()
hideLoading()
} }
is Resource.DataError -> { is Resource.DataError -> {
@ -475,4 +485,5 @@ class BajajFdMainActivity : BaseActivity() {
} }
} }
} }
} }

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

@ -1,12 +1,20 @@
package com.nivesh.production.bajajfd.ui.fragment package com.nivesh.production.bajajfd.ui.fragment
import android.os.Bundle import android.os.Bundle
import android.util.Log
import android.view.LayoutInflater import android.view.LayoutInflater
import android.view.View import android.view.View
import android.view.ViewGroup import android.view.ViewGroup
import androidx.core.content.ContextCompat
import androidx.fragment.app.Fragment import androidx.fragment.app.Fragment
import com.google.gson.Gson
import com.nivesh.production.bajajfd.R
import com.nivesh.production.bajajfd.databinding.FragmentBajajfdStepFiveBinding import com.nivesh.production.bajajfd.databinding.FragmentBajajfdStepFiveBinding
import com.nivesh.production.bajajfd.model.PaymentReQueryResponse
import com.nivesh.production.bajajfd.model.*
import com.nivesh.production.bajajfd.ui.activity.BajajFdMainActivity
import com.nivesh.production.bajajfd.util.Common
import com.nivesh.production.bajajfd.util.Constants
import com.nivesh.production.bajajfd.util.Resource
class StepFiveBajajFDFragment : Fragment() { class StepFiveBajajFDFragment : Fragment() {
@ -17,24 +25,147 @@ class StepFiveBajajFDFragment : Fragment() {
inflater: LayoutInflater, container: ViewGroup?, inflater: LayoutInflater, container: ViewGroup?,
savedInstanceState: Bundle? savedInstanceState: Bundle?
): View { ): View {
_binding = FragmentBajajfdStepFiveBinding.inflate(inflater, container, false) _binding = FragmentBajajfdStepFiveBinding.inflate(inflater, container, false)
return binding.root return binding.root
} }
override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
super.onViewCreated(view, savedInstanceState)
binding.tvCongrats.text = ""
binding.tvSuccessMessage.text = ""
binding.btnViewOrder.setOnClickListener {
}
}
fun getData(paymentReQueryResponse: PaymentReQueryResponse) { fun getData(paymentReQueryResponse: PaymentReQueryResponse) {
if (paymentReQueryResponse.Response.StatusCode == 200) {
if (paymentReQueryResponse.Response.Message.isNotEmpty()) {
val arrOfStr: List<String> = paymentReQueryResponse.Response.Message.split(" ", limit = 2)
binding.tvCongrats.text = arrOfStr[0]
binding.tvCongrats.setTextColor(
ContextCompat.getColor(
activity as BajajFdMainActivity,
R.color.green
)
)
binding.tvSuccessMessage.text = arrOfStr[1]
}
}else{
if (paymentReQueryResponse.Response.Message.isNotEmpty()) {
val arrOfStr: List<String> = paymentReQueryResponse.Response.Message.split(" ", limit = 2)
binding.tvCongrats.text = arrOfStr[0]
binding.tvCongrats.setTextColor(
ContextCompat.getColor(
activity as BajajFdMainActivity,
R.color.red
)
)
binding.tvSuccessMessage.text = arrOfStr[1]
}
}
finalizeFDApi()
finalizeKYCApi()
}
private fun finalizeFDApi() {
val finalizeFDRequest = FinalizeFDRequest()
val finaliseFD = FinaliseFD()
finaliseFD.FDProvider = getString(R.string.bajaj)
finaliseFD.NiveshClientCode = (activity as BajajFdMainActivity).getClientDetailsResponse.ObjectResponse?.clientDetails?.clientMasterMFD?.CLIENT_CODE
finaliseFD.UniqueId = (activity as BajajFdMainActivity).uniqueId
finalizeFDRequest.FinaliseFD = finaliseFD
(activity as BajajFdMainActivity).viewModel.finaliseFD(
finalizeFDRequest, Constants.token, activity as BajajFdMainActivity
)
(activity as BajajFdMainActivity).viewModel.getFinalizeFDMutableData.observe(viewLifecycleOwner){ response ->
when (response) {
is Resource.Success -> {
Log.e("finalizeKYC ", " response-->${response.data.toString()}")
val finalizeFDResponse: FinalizeFDResponse =
Gson().fromJson(response.data?.toString(), FinalizeFDResponse::class.java)
finalizeFDResponse.Response.StatusCode.let { code ->
when (code) {
200 -> {
}
650 -> ""
else -> {
Common.showDialogValidation(
activity as BajajFdMainActivity,
finalizeFDResponse.Response.Errors[0].ErrorMessage
)
}
}
}
}
is Resource.Error -> {
response.message?.let { message ->
Common.showDialogValidation(activity as BajajFdMainActivity, message)
}
}
is Resource.Loading -> {
}
is Resource.DataError -> {
}
}
}
} }
override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
super.onViewCreated(view, savedInstanceState)
private fun finalizeKYCApi() {
val finalizeKYCRequest = FinalizeKYCRequest()
finalizeKYCRequest.FDProvider = getString(R.string.bajaj)
finalizeKYCRequest.NiveshClientCode = (activity as BajajFdMainActivity).getClientDetailsResponse.ObjectResponse?.clientDetails?.clientMasterMFD?.CLIENT_CODE
finalizeKYCRequest.UniqueId = (activity as BajajFdMainActivity).uniqueId
(activity as BajajFdMainActivity).viewModel.finaliseKYC(
finalizeKYCRequest, Constants.token, activity as BajajFdMainActivity
)
(activity as BajajFdMainActivity).viewModel.getFinalizeKYCMutableData.observe(viewLifecycleOwner){ response ->
when (response) {
is Resource.Success -> {
Log.e("finalizeKYC ", " response-->${response.data.toString()}")
val finalizeFDResponse: FinalizeFDResponse =
Gson().fromJson(response.data?.toString(), FinalizeFDResponse::class.java)
finalizeFDResponse.Response.StatusCode.let { code ->
when (code) {
200 -> {
binding.btnViewOrder.setOnClickListener {
}
650 -> ""
else -> {
Common.showDialogValidation(
activity as BajajFdMainActivity,
finalizeFDResponse.Response.Errors[0].ErrorMessage
)
}
}
}
}
is Resource.Error -> {
response.message?.let { message ->
Common.showDialogValidation(activity as BajajFdMainActivity, message)
}
}
is Resource.Loading -> {
}
is Resource.DataError -> {
}
}
} }
} }
override fun onDestroyView() { override fun onDestroyView() {
super.onDestroyView() super.onDestroyView()
_binding = null _binding = null


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

@ -17,6 +17,7 @@ import com.nivesh.production.bajajfd.ui.activity.BajajFdMainActivity
import com.nivesh.production.bajajfd.util.Common import com.nivesh.production.bajajfd.util.Common
import com.nivesh.production.bajajfd.util.Common.Companion.showDialogValidation import com.nivesh.production.bajajfd.util.Common.Companion.showDialogValidation
import com.nivesh.production.bajajfd.util.Constants.Companion.token import com.nivesh.production.bajajfd.util.Constants.Companion.token
import com.nivesh.production.bajajfd.util.ProgressUtil
import com.nivesh.production.bajajfd.util.Resource import com.nivesh.production.bajajfd.util.Resource
class StepFourBajajFDFragment : Fragment() { class StepFourBajajFDFragment : Fragment() {
@ -62,43 +63,60 @@ class StepFourBajajFDFragment : Fragment() {
} }
binding.btnNext.setOnClickListener { binding.btnNext.setOnClickListener {
if ((activity as BajajFdMainActivity).loginRole == 5) {
selectedList = ""
for (getCodes in listOfCustomer) {
if (getCodes.isSelected) {
selectedList = if (selectedList.isEmpty()) {
getCodes.Value
} else {
selectedList.plus(",").plus(getCodes.Value)
}
selectedList = ""
for (getCodes in listOfCustomer) {
if (getCodes.isSelected) {
selectedList = if (selectedList.isEmpty()) {
getCodes.Value
} else {
selectedList.plus(",").plus(getCodes.Value)
} }
} }
if (binding.checkBox.isChecked && selectedList.isNotEmpty()) {
val saveFDOtherDataRequest = SaveFDOtherDataRequest()
saveFDOtherDataRequest.FDProvider = getString(R.string.bajaj)
saveFDOtherDataRequest.UniqueId = (activity as BajajFdMainActivity).uniqueId
saveFDOtherDataRequest.Values = selectedList
saveFDOtherDataRequest.NiveshClientCode =
(activity as BajajFdMainActivity).getClientDetailsResponse.ObjectResponse?.clientDetails?.clientMasterMFD?.CLIENT_CODE
// bajajFDInterface.stepFourApi(saveFDOtherDataRequest, payUrl, Value)
saveFDOtherData(saveFDOtherDataRequest, payUrl, value)
} else {
showDialogValidation(
activity as BajajFdMainActivity,
resources.getString(R.string.validTermsConditions)
)
}
} else {
// go to view order
} }
if (validated()) {
if ((activity as BajajFdMainActivity).loginRole == 5) {
val saveFDOtherDataRequest = SaveFDOtherDataRequest()
saveFDOtherDataRequest.FDProvider = getString(R.string.bajaj)
saveFDOtherDataRequest.UniqueId = (activity as BajajFdMainActivity).uniqueId
saveFDOtherDataRequest.Values = selectedList
saveFDOtherDataRequest.NiveshClientCode =
(activity as BajajFdMainActivity).getClientDetailsResponse.ObjectResponse?.clientDetails?.clientMasterMFD?.CLIENT_CODE
saveFDOtherData(saveFDOtherDataRequest, payUrl, value)
} else {
// go to view order
}
}
} }
binding.btnBack.setOnClickListener { binding.btnBack.setOnClickListener {
(activity as BajajFdMainActivity).binding.viewPager.currentItem = 2
if ((activity as BajajFdMainActivity).stepCount == 4) {
(activity as BajajFdMainActivity).binding.viewPager.currentItem = 2
} else {
(activity as BajajFdMainActivity).binding.viewPager.currentItem = 1
}
}
}
private fun validated(): Boolean {
if (selectedList.isEmpty()) {
showDialogValidation(
activity as BajajFdMainActivity,
getString(R.string.validTermsCondition)
)
return false
} else if (!binding.checkBox.isChecked) {
showDialogValidation(
activity as BajajFdMainActivity,
resources.getString(R.string.validTermsConditions)
)
return false
} else {
return true
} }
} }
private fun saveFDOtherData(data: SaveFDOtherDataRequest, payUrl: String, value: String) { private fun saveFDOtherData(data: SaveFDOtherDataRequest, payUrl: String, value: String) {
ProgressUtil.showLoading(activity as BajajFdMainActivity)
(activity as BajajFdMainActivity).viewModel.saveFDOtherData( (activity as BajajFdMainActivity).viewModel.saveFDOtherData(
data, data,
token, token,
@ -135,7 +153,7 @@ class StepFourBajajFDFragment : Fragment() {
} }
} }
is Resource.Loading -> { is Resource.Loading -> {
ProgressUtil.hideLoading()
} }
is Resource.DataError -> { is Resource.DataError -> {
@ -155,12 +173,12 @@ class StepFourBajajFDFragment : Fragment() {
getCodeRequest.Category = getString(R.string.customerCategory) getCodeRequest.Category = getString(R.string.customerCategory)
getCodeRequest.Language = getString(R.string.language) getCodeRequest.Language = getString(R.string.language)
getCodeRequest.InputValue = "" getCodeRequest.InputValue = ""
(activity as BajajFdMainActivity).viewModel.paymentModeApi(
(activity as BajajFdMainActivity).viewModel.customerListApi(
getCodeRequest, getCodeRequest,
token, token,
activity as BajajFdMainActivity activity as BajajFdMainActivity
) )
(activity as BajajFdMainActivity).viewModel.getPaymentModeMutableData.observe(
(activity as BajajFdMainActivity).viewModel.customerListMutableData.observe(
viewLifecycleOwner viewLifecycleOwner
) { response -> ) { response ->
when (response) { when (response) {
@ -217,6 +235,7 @@ class StepFourBajajFDFragment : Fragment() {
getFDDetailsRequest.NiveshClientCode = getFDDetailsRequest.NiveshClientCode =
(activity as BajajFdMainActivity).getClientDetailsResponse.ObjectResponse?.clientDetails?.clientMasterMFD?.CLIENT_CODE (activity as BajajFdMainActivity).getClientDetailsResponse.ObjectResponse?.clientDetails?.clientMasterMFD?.CLIENT_CODE
getFDDetailsRequest.UniqueId = (activity as BajajFdMainActivity).uniqueId getFDDetailsRequest.UniqueId = (activity as BajajFdMainActivity).uniqueId
ProgressUtil.showLoading(activity as BajajFdMainActivity)
(activity as BajajFdMainActivity).viewModel.getFDDetails( (activity as BajajFdMainActivity).viewModel.getFDDetails(
getFDDetailsRequest, getFDDetailsRequest,
token, token,
@ -266,7 +285,7 @@ class StepFourBajajFDFragment : Fragment() {
} }
} }
is Resource.Loading -> { is Resource.Loading -> {
ProgressUtil.hideLoading()
} }
is Resource.DataError -> { is Resource.DataError -> {


+ 108
- 40
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.Manifest
import android.annotation.SuppressLint import android.annotation.SuppressLint
import android.app.Activity
import android.content.DialogInterface import android.content.DialogInterface
import android.content.pm.PackageManager import android.content.pm.PackageManager
import android.database.Cursor import android.database.Cursor
import android.graphics.Bitmap import android.graphics.Bitmap
import android.graphics.BitmapFactory import android.graphics.BitmapFactory
import android.net.Uri import android.net.Uri
import android.os.Build
import android.os.Bundle import android.os.Bundle
import android.provider.OpenableColumns import android.provider.OpenableColumns
import android.util.Base64 import android.util.Base64
@ -19,6 +21,7 @@ import android.widget.*
import androidx.activity.result.ActivityResultLauncher import androidx.activity.result.ActivityResultLauncher
import androidx.activity.result.contract.ActivityResultContracts import androidx.activity.result.contract.ActivityResultContracts
import androidx.appcompat.app.AlertDialog import androidx.appcompat.app.AlertDialog
import androidx.core.app.ActivityCompat
import androidx.core.content.ContextCompat import androidx.core.content.ContextCompat
import androidx.core.content.FileProvider import androidx.core.content.FileProvider
import androidx.fragment.app.Fragment import androidx.fragment.app.Fragment
@ -31,10 +34,12 @@ import com.nivesh.production.bajajfd.model.*
import com.nivesh.production.bajajfd.ui.activity.BajajFdMainActivity import com.nivesh.production.bajajfd.ui.activity.BajajFdMainActivity
import com.nivesh.production.bajajfd.util.Common import com.nivesh.production.bajajfd.util.Common
import com.nivesh.production.bajajfd.util.Common.Companion.getFileExtension import com.nivesh.production.bajajfd.util.Common.Companion.getFileExtension
import com.nivesh.production.bajajfd.util.Common.Companion.showDialogWithTwoButtons
import com.nivesh.production.bajajfd.util.Constants import com.nivesh.production.bajajfd.util.Constants
import com.nivesh.production.bajajfd.util.ImageUtil import com.nivesh.production.bajajfd.util.ImageUtil
import com.nivesh.production.bajajfd.util.Resource import com.nivesh.production.bajajfd.util.Resource
import java.io.* import java.io.*
import java.util.*
class StepThreeBajajFDFragment : Fragment() { class StepThreeBajajFDFragment : Fragment() {
@ -48,7 +53,6 @@ class StepThreeBajajFDFragment : Fragment() {
private val mapImage: HashMap<String, String> = HashMap() private val mapImage: HashMap<String, String> = HashMap()
private lateinit var listOfDocType: List<GetCodes> private lateinit var listOfDocType: List<GetCodes>
private var check: Array<String>? = null
private var panString: String = "" private var panString: String = ""
private var photoString: String = "" private var photoString: String = ""
@ -65,14 +69,44 @@ class StepThreeBajajFDFragment : Fragment() {
private val secondDocUpload: Int = 4 private val secondDocUpload: Int = 4
private var actionType: Int = -1 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 requestPermission = registerForActivityResult(
private val requestCameraPermission = registerForActivityResult(
ActivityResultContracts.RequestPermission() ActivityResultContracts.RequestPermission()
) { isGranted: Boolean -> ) { isGranted: Boolean ->
if (isGranted) { if (isGranted) {
Log.e("permission:", "Granted")
takeImage()
} else { } else {
Log.e("permission:", "Denied")
showDialogWithTwoButtons(
(activity as BajajFdMainActivity), getString(R.string.cameraPermission), getString(
R.string.permissionRequired
)
)
}
}
private val requestGalleryPermission = registerForActivityResult(
ActivityResultContracts.RequestMultiplePermissions()
) { permission ->
if (!permission.containsValue(false)) {
selectImageIntent?.launch("image/*")
} else {
showDialogWithTwoButtons(
(activity as BajajFdMainActivity), getString(R.string.galleryPermission), getString(
R.string.permissionsRequired
)
)
} }
} }
@ -90,12 +124,6 @@ class StepThreeBajajFDFragment : Fragment() {
override fun onViewCreated(view: View, savedInstanceState: Bundle?) { override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
super.onViewCreated(view, savedInstanceState) super.onViewCreated(view, savedInstanceState)
check = arrayOf(
getString(R.string.takePhoto),
getString(R.string.chooseFromGallery),
getString(R.string.cancel)
)
selectImageIntent = registerForActivityResult(ActivityResultContracts.GetContent()) selectImageIntent = registerForActivityResult(ActivityResultContracts.GetContent())
{ uri: Uri? -> { uri: Uri? ->
if (uri != null) { if (uri != null) {
@ -208,40 +236,80 @@ class StepThreeBajajFDFragment : Fragment() {
) )
builder.setTitle(getString(R.string.addPhoto)) builder.setTitle(getString(R.string.addPhoto))
builder.setItems( 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() 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
}
private 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?) { private fun setOtherUploadLayout(itemName: String?) {
binding.tvAadhaarFront.text = itemName.plus(" Front *") binding.tvAadhaarFront.text = itemName.plus(" Front *")
if (binding.tvAadhaarBack.visibility == View.VISIBLE) binding.tvAadhaarBack.visibility = if (binding.tvAadhaarBack.visibility == View.VISIBLE) binding.tvAadhaarBack.visibility =
@ -524,11 +592,11 @@ class StepThreeBajajFDFragment : Fragment() {
) )
binding.spDocType.setAdapter(adapter) binding.spDocType.setAdapter(adapter)
binding.spDocType.setText( binding.spDocType.setText(
adapter.getItem(0)?.Value,
adapter.getItem(0)?.Label,
false false
) )
setOtherUploadLayout(adapter.getItem(0)?.Value)
docValue = adapter.getItem(0)?.Value.toString()
setOtherUploadLayout(adapter.getItem(0)?.Label)
docValue = adapter.getItem(0)?.Label.toString()
} }
} }


+ 7
- 4
app/src/main/java/com/nivesh/production/bajajfd/ui/fragment/StepTwoBajajFDFragment.kt View File

@ -42,6 +42,7 @@ import com.nivesh.production.bajajfd.util.Common.Companion.isValidPan
import com.nivesh.production.bajajfd.util.Common.Companion.removeError import com.nivesh.production.bajajfd.util.Common.Companion.removeError
import com.nivesh.production.bajajfd.util.Common.Companion.showDialogValidation import com.nivesh.production.bajajfd.util.Common.Companion.showDialogValidation
import com.nivesh.production.bajajfd.util.Constants.Companion.token import com.nivesh.production.bajajfd.util.Constants.Companion.token
import com.nivesh.production.bajajfd.util.ProgressUtil
import com.nivesh.production.bajajfd.util.Resource import com.nivesh.production.bajajfd.util.Resource
import java.util.* import java.util.*
@ -713,6 +714,7 @@ class StepTwoBajajFDFragment : Fragment() {
} }
private fun createFDApi(data: CreateFDRequest) { private fun createFDApi(data: CreateFDRequest) {
ProgressUtil.showLoading(activity as BajajFdMainActivity)
(activity as BajajFdMainActivity).viewModel.createFDApi(data, token, activity as BajajFdMainActivity) (activity as BajajFdMainActivity).viewModel.createFDApi(data, token, activity as BajajFdMainActivity)
(activity as BajajFdMainActivity).viewModel.getFDResponseMutableData.observe(viewLifecycleOwner) { response -> (activity as BajajFdMainActivity).viewModel.getFDResponseMutableData.observe(viewLifecycleOwner) { response ->
when (response) { when (response) {
@ -747,7 +749,7 @@ class StepTwoBajajFDFragment : Fragment() {
} }
} }
is Resource.Loading -> { is Resource.Loading -> {
ProgressUtil.hideLoading()
} }
is Resource.DataError -> { is Resource.DataError -> {
@ -872,6 +874,7 @@ class StepTwoBajajFDFragment : Fragment() {
bankValidationApiRequest.PhoneNo = phoneNumber bankValidationApiRequest.PhoneNo = phoneNumber
bankValidationApiRequest.RoleId = loginRole bankValidationApiRequest.RoleId = loginRole
bankValidationApiRequest.BankNo = 1 bankValidationApiRequest.BankNo = 1
ProgressUtil.showLoading(activity as BajajFdMainActivity)
(activity as BajajFdMainActivity).viewModel.bankValidationApi( (activity as BajajFdMainActivity).viewModel.bankValidationApi(
bankValidationApiRequest, bankValidationApiRequest,
token, token,
@ -939,7 +942,7 @@ class StepTwoBajajFDFragment : Fragment() {
} }
} }
is Resource.Loading -> { is Resource.Loading -> {
ProgressUtil.hideLoading()
} }
is Resource.DataError -> { is Resource.DataError -> {
@ -1706,6 +1709,7 @@ class StepTwoBajajFDFragment : Fragment() {
} }
private fun apiForEligibleBankList() { private fun apiForEligibleBankList() {
ProgressUtil.showLoading(activity as BajajFdMainActivity)
(activity as BajajFdMainActivity).viewModel.bankListApi(token,getString(R.string.language), activity as BajajFdMainActivity) (activity as BajajFdMainActivity).viewModel.bankListApi(token,getString(R.string.language), activity as BajajFdMainActivity)
(activity as BajajFdMainActivity).viewModel.getFDBankListMutableData.observe(viewLifecycleOwner) { response -> (activity as BajajFdMainActivity).viewModel.getFDBankListMutableData.observe(viewLifecycleOwner) { response ->
when (response) { when (response) {
@ -1740,7 +1744,7 @@ class StepTwoBajajFDFragment : Fragment() {
} }
} }
is Resource.Loading -> { is Resource.Loading -> {
ProgressUtil.hideLoading()
} }
is Resource.DataError -> { is Resource.DataError -> {
@ -1751,7 +1755,6 @@ class StepTwoBajajFDFragment : Fragment() {
private fun refreshToken() { private fun refreshToken() {
} }
private fun dialogForBankList(bankList: List<Bank>) { private fun dialogForBankList(bankList: List<Bank>) {


+ 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.repositories.MainRepository
import com.nivesh.production.bajajfd.viewModel.BajajFDViewModel 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 { override fun <T : ViewModel> create(modelClass: Class<T>): T {
return BajajFDViewModel(mainRepository) as T return BajajFDViewModel(mainRepository) as T


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

@ -1,22 +1,31 @@
package com.nivesh.production.bajajfd.util package com.nivesh.production.bajajfd.util
import android.Manifest
import android.app.Activity import android.app.Activity
import android.app.AlertDialog import android.app.AlertDialog
import android.content.Context import android.content.Context
import android.content.Intent
import android.content.pm.PackageManager
import android.graphics.Color import android.graphics.Color
import android.graphics.drawable.GradientDrawable import android.graphics.drawable.GradientDrawable
import android.net.ConnectivityManager import android.net.ConnectivityManager
import android.net.NetworkCapabilities import android.net.NetworkCapabilities
import android.net.Uri
import android.os.Build import android.os.Build
import android.provider.Settings
import android.text.format.DateFormat import android.text.format.DateFormat
import android.util.Log import android.util.Log
import android.util.Patterns import android.util.Patterns
import androidx.coordinatorlayout.widget.CoordinatorLayout
import androidx.activity.result.contract.ActivityResultContracts
import androidx.core.app.ActivityCompat
import androidx.core.content.ContextCompat
import androidx.core.content.ContextCompat.startActivity
import com.google.android.material.textfield.MaterialAutoCompleteTextView import com.google.android.material.textfield.MaterialAutoCompleteTextView
import com.google.android.material.textfield.TextInputEditText import com.google.android.material.textfield.TextInputEditText
import com.google.android.material.textfield.TextInputLayout import com.google.android.material.textfield.TextInputLayout
import com.google.gson.JsonObject import com.google.gson.JsonObject
import com.nivesh.production.bajajfd.R import com.nivesh.production.bajajfd.R
import com.nivesh.production.bajajfd.ui.activity.BajajFdMainActivity
import kotlinx.coroutines.CoroutineExceptionHandler import kotlinx.coroutines.CoroutineExceptionHandler
import org.json.JSONObject import org.json.JSONObject
import retrofit2.HttpException import retrofit2.HttpException
@ -120,11 +129,18 @@ class Common {
builder.show() builder.show()
} }
fun showDialogWithTwoButtons(activity: Activity?, message: CharSequence?) {
fun showDialogWithTwoButtons(activity: Activity?, message: CharSequence?, title: String) {
val builder = AlertDialog.Builder(activity) val builder = AlertDialog.Builder(activity)
builder.setTitle(title)
builder.setMessage(message) builder.setMessage(message)
if (activity != null) { if (activity != null) {
builder.setPositiveButton(activity.getString(R.string.Ok)) { dialogInterface, _ -> builder.setPositiveButton(activity.getString(R.string.Ok)) { dialogInterface, _ ->
val intent = Intent(
Settings.ACTION_APPLICATION_DETAILS_SETTINGS,
Uri.fromParts("package", (activity as BajajFdMainActivity).packageName, null)
)
intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK)
activity.startActivity(intent)
dialogInterface.dismiss() dialogInterface.dismiss()
} }
builder.setNegativeButton(activity.getString(R.string.cancel)) { dialogInterface, _ -> builder.setNegativeButton(activity.getString(R.string.cancel)) { dialogInterface, _ ->
@ -190,21 +206,11 @@ class Common {
} }
fun handleResponse(response: Response<JsonObject>): Resource<JsonObject> { fun handleResponse(response: Response<JsonObject>): Resource<JsonObject> {
// try {
if (response.isSuccessful && response.body() != null) { if (response.isSuccessful && response.body() != null) {
response.body()?.let { resultResponse -> response.body()?.let { resultResponse ->
return Resource.Success(resultResponse) return Resource.Success(resultResponse)
} }
} }
// } catch (t: Throwable) {
// return when (t) {
// is IOException -> Resource.Error("Response : " + t.message.plus(" Cause: " + t.cause))
// is HttpException -> Resource.Error("Response : " + t.message.plus(" Cause: " + t.cause))
// is SocketTimeoutException -> Resource.Error("Response : " + t.message.plus(" Cause: " + t.cause))
// is UnknownHostException -> Resource.Error("Response : " + t.message.plus(" Cause: " + t.cause))
// else -> Resource.Error(t.localizedMessage?.toString() ?: "")
// }
// }
return Resource.Error(response.message()) return Resource.Error(response.message())
} }
@ -243,7 +249,7 @@ class Common {
} }
fun isMinor(date: String): Boolean { fun isMinor(date: String): Boolean {
val simpleDateFormat = SimpleDateFormat("yyyy-MM-dd", Locale.getDefault())
val simpleDateFormat = SimpleDateFormat("yyyy-MM-dd", Locale.US)
val dt1: Date = simpleDateFormat.parse(date) as Date val dt1: Date = simpleDateFormat.parse(date) as Date
val year: Int = DateFormat.format("yyyy", dt1).toString().toInt() val year: Int = DateFormat.format("yyyy", dt1).toString().toInt()
val month: Int = DateFormat.format("mm", dt1).toString().toInt() val month: Int = DateFormat.format("mm", dt1).toString().toInt()
@ -272,5 +278,8 @@ class Common {
"" ""
} }
} }
} }
} }

+ 3
- 3
app/src/main/java/com/nivesh/production/bajajfd/util/ProgressUtil.kt View File

@ -18,7 +18,7 @@ object ProgressUtil{
fun showLoading(ctx: Context){ fun showLoading(ctx: Context){
// instantiating the lateint objects
// instantiating the lateInit objects
dialogBuilder= AlertDialog.Builder(ctx) dialogBuilder= AlertDialog.Builder(ctx)
pDialog= ProgressBar(ctx) pDialog= ProgressBar(ctx)
@ -28,11 +28,11 @@ object ProgressUtil{
alertDialog=dialogBuilder.create() alertDialog=dialogBuilder.create()
// magic of transparent background goes here // magic of transparent background goes here
alertDialog.requestWindowFeature(Window.FEATURE_NO_TITLE);
alertDialog.requestWindowFeature(Window.FEATURE_NO_TITLE)
// setting the alertDialog's BackgroundDrawable as the color resource of any color with 1% opacity // setting the alertDialog's BackgroundDrawable as the color resource of any color with 1% opacity
alertDialog.window?.setBackgroundDrawable(ColorDrawable(Color.parseColor("#00141414"))) alertDialog.window?.setBackgroundDrawable(ColorDrawable(Color.parseColor("#00141414")))
// finally displaying the Alertdialog containging the ProgressBar
// finally displaying the Alertdialog containing the ProgressBar
alertDialog.show() alertDialog.show()
} }


+ 20
- 7
app/src/main/java/com/nivesh/production/bajajfd/viewModel/BajajFDViewModel.kt View File

@ -335,6 +335,17 @@ open class BajajFDViewModel(private val mainRepository: MainRepository) : ViewMo
} }
} }
val customerListMutableData: MutableLiveData<Resource<JsonObject>> = MutableLiveData()
fun customerListApi(getCodeRequest: GetCodeRequest, token: String,activity : Activity) = viewModelScope.launch(
handleError(activity)
) {
if (Common.isNetworkAvailable(activity)) {
customerListMutableData.postValue(Resource.Loading())
val response = mainRepository.customerListCheck(getCodeRequest, token)
customerListMutableData.postValue(handleResponse(response))
}
}
fun updateFDPaymentStatus(getRatesRequest: GetRatesRequest, token: String, fun updateFDPaymentStatus(getRatesRequest: GetRatesRequest, token: String,
activity: Activity activity: Activity
) = ) =
@ -346,21 +357,23 @@ open class BajajFDViewModel(private val mainRepository: MainRepository) : ViewMo
} }
} }
fun finaliseFD(getRatesRequest: GetRatesRequest, token: String,
val getFinalizeFDMutableData: MutableLiveData<Resource<JsonObject>> = MutableLiveData()
fun finaliseFD(finalizeFDRequest: FinalizeFDRequest, token: String,
activity: Activity) = viewModelScope.launch(handleError(activity)) { activity: Activity) = viewModelScope.launch(handleError(activity)) {
if (Common.isNetworkAvailable(activity)) { if (Common.isNetworkAvailable(activity)) {
getRatesMutableData.postValue(Resource.Loading())
val response = mainRepository.finaliseFDResponse(getRatesRequest, token)
getRatesMutableData.postValue(handleResponse(response))
getFinalizeFDMutableData.postValue(Resource.Loading())
val response = mainRepository.finaliseFDResponse(finalizeFDRequest, token)
getFinalizeFDMutableData.postValue(handleResponse(response))
} }
} }
fun finaliseKYC(getRatesRequest: GetRatesRequest, token: String,
val getFinalizeKYCMutableData: MutableLiveData<Resource<JsonObject>> = MutableLiveData()
fun finaliseKYC(getRatesRequest: FinalizeKYCRequest, token: String,
activity: Activity) = viewModelScope.launch(handleError(activity)) { activity: Activity) = viewModelScope.launch(handleError(activity)) {
if (Common.isNetworkAvailable(activity)) { if (Common.isNetworkAvailable(activity)) {
getRatesMutableData.postValue(Resource.Loading())
getFinalizeKYCMutableData.postValue(Resource.Loading())
val response = mainRepository.finaliseKYCResponse(getRatesRequest, token) val response = mainRepository.finaliseKYCResponse(getRatesRequest, token)
getRatesMutableData.postValue(handleResponse(response))
getFinalizeKYCMutableData.postValue(handleResponse(response))
} }
} }

+ 41
- 34
app/src/main/res/layout/activity_bajaj_fd.xml View File

@ -12,33 +12,33 @@
android:background="@color/white"> android:background="@color/white">
<LinearLayout <LinearLayout
android:orientation="horizontal"
android:background="@color/red"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="wrap_content">
android:layout_height="wrap_content"
android:background="@color/red"
android:orientation="horizontal">
<ImageView <ImageView
android:id="@+id/imgBack" android:id="@+id/imgBack"
android:layout_marginStart="@dimen/margin_15"
android:layout_marginEnd="@dimen/margin_15"
android:padding="@dimen/margin_10"
android:layout_gravity="center_vertical"
android:src="@drawable/svg_back"
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_gravity="center_vertical"
android:layout_marginStart="@dimen/margin_15"
android:layout_marginEnd="@dimen/margin_15"
android:contentDescription="@string/back" android:contentDescription="@string/back"
android:gravity="center" />
android:gravity="center"
android:padding="@dimen/margin_10"
android:src="@drawable/svg_back" />
<TextView <TextView
android:id="@+id/title" android:id="@+id/title"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:textColor="@color/white"
android:textSize="@dimen/text_size_14"
android:minHeight="?actionBarSize" android:minHeight="?actionBarSize"
android:padding="@dimen/margin_16" android:padding="@dimen/margin_16"
android:text="@string/fd" android:text="@string/fd"
android:textAppearance="@style/TextAppearance.Widget.AppCompat.Toolbar.Title" />
android:textAppearance="@style/TextAppearance.Widget.AppCompat.Toolbar.Title"
android:textColor="@color/white"
android:textSize="@dimen/text_size_14" />
</LinearLayout> </LinearLayout>
@ -47,9 +47,9 @@
android:id="@+id/llSteps" android:id="@+id/llSteps"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:background="@color/greyColor4"
android:gravity="center" android:gravity="center"
android:orientation="horizontal" android:orientation="horizontal"
android:background="@color/greyColor4"
android:paddingTop="@dimen/margin_10" android:paddingTop="@dimen/margin_10"
android:paddingBottom="@dimen/margin_10"> android:paddingBottom="@dimen/margin_10">
@ -112,36 +112,43 @@
android:textColor="@color/black" android:textColor="@color/black"
android:textSize="@dimen/text_size_12" /> android:textSize="@dimen/text_size_12" />
<View
android:layout_width="@dimen/margin_22"
android:layout_height="@dimen/margin_2"
android:layout_marginStart="@dimen/margin_5"
android:layout_marginEnd="@dimen/margin_5"
android:background="@color/green" />
<ImageView
android:id="@+id/stepFour"
android:layout_width="@dimen/margin_19"
android:layout_height="@dimen/margin_19"
android:contentDescription="@string/step4"
android:gravity="center" />
<TextView
android:layout_width="wrap_content"
<LinearLayout
android:id="@+id/llStep4"
android:layout_width="match_parent"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_marginStart="@dimen/margin_3"
android:text="@string/step4"
android:textColor="@color/black"
android:textSize="@dimen/text_size_12" />
android:orientation="horizontal">
<View
android:layout_width="@dimen/margin_22"
android:layout_height="@dimen/margin_2"
android:layout_marginStart="@dimen/margin_5"
android:layout_marginEnd="@dimen/margin_5"
android:background="@color/green" />
<ImageView
android:id="@+id/stepFour"
android:layout_width="@dimen/margin_19"
android:layout_height="@dimen/margin_19"
android:contentDescription="@string/step4"
android:gravity="center" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginStart="@dimen/margin_3"
android:text="@string/step4"
android:textColor="@color/black"
android:textSize="@dimen/text_size_12" />
</LinearLayout>
</LinearLayout> </LinearLayout>
</com.google.android.material.appbar.AppBarLayout> </com.google.android.material.appbar.AppBarLayout>
<com.nivesh.production.bajajfd.adapter.DisableAdapter <com.nivesh.production.bajajfd.adapter.DisableAdapter
android:id="@+id/viewPager" android:id="@+id/viewPager"
android:contentDescription="@string/viewpager"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="match_parent" android:layout_height="match_parent"
android:contentDescription="@string/viewpager"
app:layout_behavior="@string/appbar_scrolling_view_behavior" /> app:layout_behavior="@string/appbar_scrolling_view_behavior" />
</androidx.coordinatorlayout.widget.CoordinatorLayout> </androidx.coordinatorlayout.widget.CoordinatorLayout>

+ 5
- 30
app/src/main/res/layout/fragment_bajajfd_step_five.xml View File

@ -17,7 +17,6 @@
android:background="@color/NiveshColorAppBg" android:background="@color/NiveshColorAppBg"
android:fillViewport="true" android:fillViewport="true"
android:orientation="vertical" android:orientation="vertical"
app:layout_constraintBottom_toTopOf="@+id/btnNext"
app:layout_constraintEnd_toEndOf="parent" app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent" app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent"> app:layout_constraintTop_toTopOf="parent">
@ -86,31 +85,30 @@
style="@style/semiBoldStyle" style="@style/semiBoldStyle"
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_marginTop="12dp"
android:text="@string/congratulations"
android:layout_marginTop="@dimen/margin_12"
android:textColor="@color/black" android:textColor="@color/black"
android:textSize="@dimen/text_size_17" android:textSize="@dimen/text_size_17"
android:text=""
app:layout_constraintEnd_toEndOf="parent" app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintHorizontal_bias="0.437"
app:layout_constraintStart_toStartOf="parent" app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent" /> app:layout_constraintTop_toTopOf="parent" />
<TextView <TextView
android:id="@+id/tvSuccessMessage" android:id="@+id/tvSuccessMessage"
style="@style/regularStyle" style="@style/regularStyle"
android:gravity="center"
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_marginTop="16dp"
android:text="@string/transactionIsSuccessful"
android:layout_marginTop="@dimen/margin_15"
android:textColor="@color/black" android:textColor="@color/black"
android:textSize="@dimen/text_size_16" android:textSize="@dimen/text_size_16"
app:layout_constraintEnd_toEndOf="parent" app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintHorizontal_bias="0.419"
app:layout_constraintStart_toStartOf="parent" app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/tvCongrats" /> app:layout_constraintTop_toBottomOf="@+id/tvCongrats" />
<TextView <TextView
android:id="@+id/tvSuccessMsgDetail" android:id="@+id/tvSuccessMsgDetail"
android:visibility="gone"
style="@style/regularStyle" style="@style/regularStyle"
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
@ -127,34 +125,11 @@
</androidx.constraintlayout.widget.ConstraintLayout> </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> </androidx.constraintlayout.widget.ConstraintLayout>
</com.google.android.material.card.MaterialCardView> </com.google.android.material.card.MaterialCardView>
</androidx.core.widget.NestedScrollView> </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 <com.google.android.material.button.MaterialButton
android:id="@+id/btnViewOrder" android:id="@+id/btnViewOrder"
android:layout_width="wrap_content" 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>

+ 6
- 3
app/src/main/res/values-hi-rIN/strings.xml View File

@ -1,5 +1,5 @@
<resources> <resources>
<string name="appName">NiveshSDK</string>
<string name="appName">NiveshFDSDK</string>
<string name="bajaj">Bajaj</string> <string name="bajaj">Bajaj</string>
<string name="app">App</string> <string name="app">App</string>
<string name="source">nivesh</string> <string name="source">nivesh</string>
@ -225,11 +225,9 @@
<!-- Step Five --> <!-- Step Five -->
<string name="viewOrder">View Order</string> <string name="viewOrder">View Order</string>
<string name="congratulations">Congratulations</string>
<string name="transactionIsSuccessful">Your transaction is successful.</string> <string name="transactionIsSuccessful">Your transaction is successful.</string>
<string name="certificateOnEmail">You will receive fixed deposit certificate\nwithin 3 working days on email</string> <string name="certificateOnEmail">You will receive fixed deposit certificate\nwithin 3 working days on email</string>
<string name="downloadInvoice">Download Invoice</string> <string name="downloadInvoice">Download Invoice</string>
<string name="sorry">Sorry!</string>
<string name="TransactionIsUnsuccessful">Your transaction is unsuccessful.</string> <string name="TransactionIsUnsuccessful">Your transaction is unsuccessful.</string>
<string name="tryAgainLater">Sorry for the inconvenience please try again later</string> <string name="tryAgainLater">Sorry for the inconvenience please try again later</string>
<string name="retry">Retry</string> <string name="retry">Retry</string>
@ -248,6 +246,11 @@
<string name="add_new_account">Add New Account</string> <string name="add_new_account">Add New Account</string>
<string name="Ok"><font fgcolor='#FF8E8E93'>OK</font></string> <string name="Ok"><font fgcolor='#FF8E8E93'>OK</font></string>
<string name="cameraPermission">You Need to Give Permission of Camera for uploading Image</string>
<string name="galleryPermission">You Need to Give Permission of Gallery for uploading Image</string>
<string name="permissionRequired">Permission Required !</string>
<string name="permissionsRequired">Permission\'s Required !</string>
<string name="validTermsCondition"><![CDATA[Please select at least one Term & Condition.]]></string>
</resources> </resources>

+ 1
- 1
app/src/main/res/values-night/themes.xml View File

@ -1,6 +1,6 @@
<resources> <resources>
<!-- Base application theme. --> <!-- Base application theme. -->
<style name="Theme.NiveshSDK" parent="Theme.MaterialComponents.DayNight.DarkActionBar">
<style name="Theme.NiveshFDSDK" parent="Theme.MaterialComponents.DayNight.DarkActionBar">
<!-- Primary brand color. --> <!-- Primary brand color. -->
<item name="colorPrimary">#FFBB86FC</item> <item name="colorPrimary">#FFBB86FC</item>
<item name="colorPrimaryVariant">@color/colorPrimary</item> <item name="colorPrimaryVariant">@color/colorPrimary</item>


+ 6
- 3
app/src/main/res/values/strings.xml View File

@ -1,5 +1,5 @@
<resources> <resources>
<string name="appName">NiveshSDK</string>
<string name="appName">NiveshFDSDK</string>
<string name="bajaj">Bajaj</string> <string name="bajaj">Bajaj</string>
<string name="app">App</string> <string name="app">App</string>
<string name="source">nivesh</string> <string name="source">nivesh</string>
@ -225,11 +225,9 @@
<!-- Step Five --> <!-- Step Five -->
<string name="viewOrder">View Order</string> <string name="viewOrder">View Order</string>
<string name="congratulations">Congratulations</string>
<string name="transactionIsSuccessful">Your transaction is successful.</string> <string name="transactionIsSuccessful">Your transaction is successful.</string>
<string name="certificateOnEmail">You will receive fixed deposit certificate\nwithin 3 working days on email</string> <string name="certificateOnEmail">You will receive fixed deposit certificate\nwithin 3 working days on email</string>
<string name="downloadInvoice">Download Invoice</string> <string name="downloadInvoice">Download Invoice</string>
<string name="sorry">Sorry!</string>
<string name="TransactionIsUnsuccessful">Your transaction is unsuccessful.</string> <string name="TransactionIsUnsuccessful">Your transaction is unsuccessful.</string>
<string name="tryAgainLater">Sorry for the inconvenience please try again later</string> <string name="tryAgainLater">Sorry for the inconvenience please try again later</string>
<string name="retry">Retry</string> <string name="retry">Retry</string>
@ -248,6 +246,11 @@
<string name="add_new_account">Add New Account</string> <string name="add_new_account">Add New Account</string>
<string name="Ok"><font fgcolor='#FF8E8E93'>OK</font></string> <string name="Ok"><font fgcolor='#FF8E8E93'>OK</font></string>
<string name="cameraPermission">You Need to Give Permission of Camera for uploading Image</string>
<string name="galleryPermission">You Need to Give Permission of Gallery for uploading Image</string>
<string name="permissionRequired">Permission Required !</string>
<string name="permissionsRequired">Permission\'s Required !</string>
<string name="validTermsCondition"><![CDATA[Please select at least one Term & Condition.]]></string>
</resources> </resources>

+ 1
- 1
app/src/main/res/values/themes.xml View File

@ -1,6 +1,6 @@
<resources> <resources>
<!-- Base application theme. --> <!-- Base application theme. -->
<style name="Theme.NiveshSDK" parent="Theme.MaterialComponents.DayNight.NoActionBar">
<style name="Theme.NiveshFDSDK" parent="Theme.MaterialComponents.DayNight.NoActionBar">
<!-- Primary brand color. --> <!-- Primary brand color. -->
<item name="colorPrimary">#898989</item> <item name="colorPrimary">#898989</item>
<item name="colorPrimaryVariant">@color/colorPrimary</item> <item name="colorPrimaryVariant">@color/colorPrimary</item>


+ 2
- 2
settings.gradle View File

@ -16,5 +16,5 @@ dependencyResolutionManagement {
} }
} }
} }
rootProject.name = "NiveshSDK"
include ':app'
rootProject.name = "NiveshFDSDK"
include ':app'

Loading…
Cancel
Save

Powered by TurnKey Linux.