Browse Source

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

# Conflicts:
#	app/src/main/res/values-hi-rIN/strings.xml
#	app/src/main/res/values/strings.xml
PankajBranch
Manoj 2 years ago
parent
commit
07aacb4007
51 changed files with 1778 additions and 461 deletions
  1. +2
    -1
      app/src/main/AndroidManifest.xml
  2. +92
    -0
      app/src/main/java/com/nivesh/production/bajajfd/adapter/BankListAdapter.kt
  3. +39
    -0
      app/src/main/java/com/nivesh/production/bajajfd/adapter/RecommendedBankListAdapter.kt
  4. +149
    -65
      app/src/main/java/com/nivesh/production/bajajfd/interfaces/ApiInterface.kt
  5. +1
    -1
      app/src/main/java/com/nivesh/production/bajajfd/interfaces/BajajFDInterface.kt
  6. +6
    -0
      app/src/main/java/com/nivesh/production/bajajfd/model/Bank.kt
  7. +15
    -0
      app/src/main/java/com/nivesh/production/bajajfd/model/BankList.kt
  8. +0
    -2
      app/src/main/java/com/nivesh/production/bajajfd/model/CityListResponse.kt
  9. +1
    -1
      app/src/main/java/com/nivesh/production/bajajfd/model/CityRequest.kt
  10. +11
    -0
      app/src/main/java/com/nivesh/production/bajajfd/model/ClientBanklist.kt
  11. +22
    -0
      app/src/main/java/com/nivesh/production/bajajfd/model/ClientDetails.kt
  12. +40
    -0
      app/src/main/java/com/nivesh/production/bajajfd/model/ClientMasterMFD.kt
  13. +5
    -0
      app/src/main/java/com/nivesh/production/bajajfd/model/CreateFDApplicationResponse.kt
  14. +7
    -1
      app/src/main/java/com/nivesh/production/bajajfd/model/DataObject.kt
  15. +5
    -1
      app/src/main/java/com/nivesh/production/bajajfd/model/DataObjectX.kt
  16. +12
    -0
      app/src/main/java/com/nivesh/production/bajajfd/model/DeviceInfo.kt
  17. +7
    -0
      app/src/main/java/com/nivesh/production/bajajfd/model/FDCreationDetailsResponse.kt
  18. +3
    -0
      app/src/main/java/com/nivesh/production/bajajfd/model/GetCodes.kt
  19. +5
    -0
      app/src/main/java/com/nivesh/production/bajajfd/model/GetFDBankListResponse.kt
  20. +6
    -0
      app/src/main/java/com/nivesh/production/bajajfd/model/GetIFSCCodeListResponse.kt
  21. +10
    -0
      app/src/main/java/com/nivesh/production/bajajfd/model/GetIFSCCodeResponse.kt
  22. +12
    -0
      app/src/main/java/com/nivesh/production/bajajfd/model/Nominee.kt
  23. +9
    -0
      app/src/main/java/com/nivesh/production/bajajfd/model/ObjectResponse.kt
  24. +7
    -0
      app/src/main/java/com/nivesh/production/bajajfd/model/ResponseXXXXXXX.kt
  25. +9
    -0
      app/src/main/java/com/nivesh/production/bajajfd/model/ResponseXXXXXXXX.kt
  26. +7
    -0
      app/src/main/java/com/nivesh/production/bajajfd/model/ResponseXXXXXXXXX.kt
  27. +7
    -0
      app/src/main/java/com/nivesh/production/bajajfd/model/ResponseXXXXXXXXXX.kt
  28. +9
    -0
      app/src/main/java/com/nivesh/production/bajajfd/model/ResponseXXXXXXXXXXX.kt
  29. +10
    -0
      app/src/main/java/com/nivesh/production/bajajfd/model/UserRequest.kt
  30. +8
    -0
      app/src/main/java/com/nivesh/production/bajajfd/model/getClientDetailsRequest.kt
  31. +8
    -0
      app/src/main/java/com/nivesh/production/bajajfd/model/getClientDetailsResponse.kt
  32. +25
    -5
      app/src/main/java/com/nivesh/production/bajajfd/repositories/MainRepository.kt
  33. +130
    -23
      app/src/main/java/com/nivesh/production/bajajfd/ui/activity/BajajFdMainActivity.kt
  34. +90
    -1
      app/src/main/java/com/nivesh/production/bajajfd/ui/fragment/StepFourBajajFDFragment.kt
  35. +4
    -0
      app/src/main/java/com/nivesh/production/bajajfd/ui/fragment/StepOneBajajFDFragment.kt
  36. +530
    -95
      app/src/main/java/com/nivesh/production/bajajfd/ui/fragment/StepTwoBajajFDFragment.kt
  37. +22
    -2
      app/src/main/java/com/nivesh/production/bajajfd/util/Common.kt
  38. +1
    -1
      app/src/main/java/com/nivesh/production/bajajfd/util/Constants.kt
  39. +9
    -11
      app/src/main/java/com/nivesh/production/bajajfd/viewModel/BajajFDViewModel.kt
  40. +19
    -6
      app/src/main/java/com/nivesh/production/bajajfd/viewModel/StepFourBajajFDViewModel.kt
  41. +22
    -0
      app/src/main/java/com/nivesh/production/bajajfd/viewModel/StepTwoBajajFDViewModel.kt
  42. +5
    -0
      app/src/main/res/drawable/ic_add_icon.xml
  43. +5
    -0
      app/src/main/res/drawable/ic_select_green.xml
  44. +5
    -0
      app/src/main/res/drawable/ic_select_outline.xml
  45. +160
    -158
      app/src/main/res/layout/fragment_bajajfd_step_two.xml
  46. +96
    -0
      app/src/main/res/layout/item_bank_list_preview.xml
  47. +54
    -0
      app/src/main/res/layout/layout_bank_list.xml
  48. +18
    -0
      app/src/main/res/layout/row_bank_list.xml
  49. +34
    -25
      app/src/main/res/values-hi-rIN/strings.xml
  50. +4
    -0
      app/src/main/res/values-night/strings.xml
  51. +21
    -62
      app/src/main/res/values/strings.xml

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

@ -33,7 +33,8 @@
<activity
android:name=".ui.activity.BajajFdMainActivity"
android:exported="true"
android:windowSoftInputMode="adjustPan">
android:windowSoftInputMode="adjustPan"
>
<intent-filter>
<action android:name="android.intent.action.MAIN" />


+ 92
- 0
app/src/main/java/com/nivesh/production/bajajfd/adapter/BankListAdapter.kt View File

@ -0,0 +1,92 @@
package com.nivesh.production.bajajfd.adapter
import android.view.LayoutInflater
import android.view.View
import android.view.ViewGroup
import android.widget.ImageView
import android.widget.TextView
import androidx.recyclerview.widget.RecyclerView
import com.nivesh.production.bajajfd.R
import com.nivesh.production.bajajfd.model.BankList
import com.nivesh.production.bajajfd.model.ClientBanklist
class BankListAdapter(
private val bankList: List<ClientBanklist>?,
private val selectedAccount: String? = null
) : RecyclerView.Adapter<BankListAdapter.BankListViewHolder>() {
inner class BankListViewHolder(itemView: View) : RecyclerView.ViewHolder(itemView) {
val bankSelector: ImageView = itemView.findViewById(R.id.bankSelector)
val tvBankName: TextView = itemView.findViewById(R.id.tvBankName)
val tvBankAccountNumber: TextView = itemView.findViewById(R.id.tvBankAccountNumber)
val tvBankIFSC: TextView = itemView.findViewById(R.id.tvBankIFSC)
}
private var checkedPosition: Int = -2
override fun onCreateViewHolder(
parent: ViewGroup,
viewType: Int
): BankListViewHolder {
return BankListViewHolder(
LayoutInflater.from(parent.context).inflate(
R.layout.item_bank_list_preview,
parent,
false
)
)
}
override fun onBindViewHolder(holder: BankListViewHolder, position: Int) {
val bankList = bankList?.get(position)
if (bankList !=null) {
holder.itemView.apply {
holder.tvBankName.text = bankList.BankName
holder.tvBankIFSC.text = bankList.IFSCCode
holder.tvBankAccountNumber.text = bankList.AccountNumber
if (selectedAccount == bankList.AccountNumber && checkedPosition == -2
) {
holder.bankSelector.setBackgroundResource(R.drawable.ic_select_green)
checkedPosition = holder.adapterPosition
} else if (checkedPosition == -1) {
holder.bankSelector.setBackgroundResource(R.drawable.ic_select_outline)
} else if (checkedPosition == holder.adapterPosition) {
holder.bankSelector.setBackgroundResource(R.drawable.ic_select_green)
} else {
holder.bankSelector.setBackgroundResource(R.drawable.ic_select_outline)
}
setOnClickListener {
onItemClickListener?.let {
it(bankList)
holder.bankSelector.setBackgroundResource(R.drawable.ic_select_green)
if (checkedPosition != holder.adapterPosition) {
notifyItemChanged(checkedPosition)
checkedPosition = holder.adapterPosition
}
}
}
}
}
}
override fun getItemCount(): Int {
return bankList?.size!!
}
private var onItemClickListener: ((ClientBanklist) -> Unit)? = null
fun setOnItemClickListener(listener: (ClientBanklist) -> Unit) {
onItemClickListener = listener
}
fun getSelected(): ClientBanklist? {
return if (checkedPosition != -1) {
bankList?.get(checkedPosition)
} else null
}
}

+ 39
- 0
app/src/main/java/com/nivesh/production/bajajfd/adapter/RecommendedBankListAdapter.kt View File

@ -0,0 +1,39 @@
package com.nivesh.production.bajajfd.adapter
import android.view.LayoutInflater
import android.view.View
import android.view.ViewGroup
import android.widget.TextView
import androidx.recyclerview.widget.RecyclerView
import com.nivesh.production.bajajfd.R
import com.nivesh.production.bajajfd.model.Bank
class RecommendedBankListAdapter(
private val bankList: List<Bank>
) : RecyclerView.Adapter<RecommendedBankListAdapter.MyViewHolder>() {
class MyViewHolder(view: View) : RecyclerView.ViewHolder(view) {
val txtYear: TextView
init {
txtYear = view.findViewById(R.id.txtYear)
}
}
override fun onCreateViewHolder(parent: ViewGroup, viewType: Int): MyViewHolder {
val itemView: View = LayoutInflater.from(parent.context)
.inflate(R.layout.row_bank_list, parent, false)
return MyViewHolder(itemView)
}
override fun onBindViewHolder(holder: MyViewHolder, position: Int) {
val bank: Bank = bankList[position]
holder.txtYear.text = bank.BankName
}
override fun getItemCount(): Int {
return bankList.size
}
}

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

@ -8,72 +8,156 @@ import retrofit2.http.*
interface ApiInterface {
@POST("GetRates")
suspend fun getRates(@Body getRatesRequest: GetRatesRequest, @Header("token") token: String): Response<JsonObject>
@POST("CheckFDCKYC")
suspend fun checkFDKYC(@Body requestBody: RequestBody, @Header("token") token: String): Response<JsonObject>
@POST("CreateFDApplication")
suspend fun createFDApp(@Body requestBody: RequestBody, @Header("token") token: String): Response<JsonObject>
@POST("DocumentsUpload")
suspend fun documentsUpload(@Body requestBody: RequestBody, @Header("token") token: String): Response<JsonObject>
@POST("SaveFDOtherData")
suspend fun saveFDOtherData(@Body requestBody: RequestBody, @Header("token") token: String): Response<JsonObject>
@POST("GetFDDetails")
suspend fun getFDDetails(@Body requestBody: RequestBody, @Header("token") token: String): Response<JsonObject>
@POST("UpdateFDPaymentStatus")
suspend fun updateFDPaymentStatus(@Body requestBody: RequestBody, @Header("token") token: String): Response<JsonObject>
@POST("FinaliseFD")
suspend fun finaliseFD(@Body requestBody: RequestBody, @Header("token") token: String): Response<JsonObject>
@POST("FinaliseKYC")
suspend fun finaliseKYC(@Body requestBody: RequestBody, @Header("token") token: String): Response<JsonObject>
@POST("PaymentRequery")
suspend fun paymentReQuery(@Body requestBody: RequestBody, @Header("token") token: String): Response<JsonObject>
@POST("WebApi_Bajaj/GetRates")
suspend fun getRates(
@Body getRatesRequest: GetRatesRequest,
@Header("token") token: String
): Response<JsonObject>
@POST("WebApi_Bajaj/CheckFDCKYC")
suspend fun checkFDKYC(
@Body requestBody: RequestBody,
@Header("token") token: String
): Response<JsonObject>
@POST("WebApi_Bajaj/CreateFDApplication")
suspend fun createFDApp(
@Body requestBody: RequestBody,
@Header("token") token: String
): Response<JsonObject>
@POST("WebApi_Bajaj/DocumentsUpload")
suspend fun documentsUpload(
@Body requestBody: RequestBody,
@Header("token") token: String
): Response<JsonObject>
@POST("WebApi_Bajaj/SaveFDOtherData")
suspend fun saveFDOtherData(
@Body requestBody: RequestBody,
@Header("token") token: String
): Response<JsonObject>
@POST("WebApi_Bajaj/GetFDDetails")
suspend fun getFDDetails(
@Body requestBody: RequestBody,
@Header("token") token: String
): Response<JsonObject>
@POST("WebApi_Bajaj/UpdateFDPaymentStatus")
suspend fun updateFDPaymentStatus(
@Body requestBody: RequestBody,
@Header("token") token: String
): Response<JsonObject>
@POST("WebApi_Bajaj/FinaliseFD")
suspend fun finaliseFD(
@Body requestBody: RequestBody,
@Header("token") token: String
): Response<JsonObject>
@POST("WebApi_Bajaj/FinaliseKYC")
suspend fun finaliseKYC(
@Body requestBody: RequestBody,
@Header("token") token: String
): Response<JsonObject>
@POST("WebApi_Bajaj/PaymentRequery")
suspend fun paymentReQuery(
@Body requestBody: RequestBody,
@Header("token") token: String
): Response<JsonObject>
// @FormUrlEncoded
@POST("GetCodes")
suspend fun getCodes(@Body requestBody: GetCodeRequest, @Header("token") token: String): Response<JsonObject>
@POST("CalculateFDMaturityAmount")
suspend fun getCalculateFDMaturityAmount(@Body requestBody: GetMaturityAmountRequest, @Header("token") token: String): Response<JsonObject>
@POST("api/PanCheck_S")
suspend fun panCheckApi(@Body panCheck: PanCheckRequest, @Header("token") token: String): Response<JsonObject>
@POST("getFDStepsCount")
suspend fun getFDStepsCount(@Body fdStepsCountRequest: FDStepsCountRequest, @Header("token") token: String): Response<JsonObject>
@POST("GetCodes")
suspend fun titleApi(@Body getCodeRequest: GetCodeRequest, @Header("token") token: String): Response<JsonObject>
@POST("GetCodes")
suspend fun genderApi(@Body getCodeRequest: GetCodeRequest, @Header("token") token: String): Response<JsonObject>
@POST("GetCodes")
suspend fun annualIncomeApi(@Body getCodeRequest: GetCodeRequest, @Header("token") token: String): Response<JsonObject>
@POST("GetCodes")
suspend fun relationShipApi(@Body getCodeRequest: GetCodeRequest, @Header("token") token: String): Response<JsonObject>
@POST("GetCodes")
suspend fun maritalStatusApi(@Body getCodeRequest: GetCodeRequest, @Header("token") token: String): Response<JsonObject>
@POST("GetCodes")
suspend fun occupationApi(@Body getCodeRequest: GetCodeRequest, @Header("token") token: String): Response<JsonObject>
@POST("GetStateMaster")
suspend fun stateApi( @Header("token") token: String): Response<JsonObject>
@POST("api/GetCity")
suspend fun cityApi(@Body cityRequest: CityRequest, @Header("token") token: String): Response<JsonObject>
@POST("WebApi_Bajaj/GetCodes")
suspend fun getCodes(
@Body requestBody: GetCodeRequest,
@Header("token") token: String
): Response<JsonObject>
@POST("WebApi_Bajaj/CalculateFDMaturityAmount")
suspend fun getCalculateFDMaturityAmount(
@Body requestBody: GetMaturityAmountRequest,
@Header("token") token: String
): Response<JsonObject>
@POST("WebApi_Bajaj/api/PanCheck_S")
suspend fun panCheckApi(
@Body panCheck: PanCheckRequest,
@Header("token") token: String
): Response<JsonObject>
@POST("WebApi_Bajaj/getFDStepsCount")
suspend fun getFDStepsCount(
@Body fdStepsCountRequest: FDStepsCountRequest,
@Header("token") token: String
): Response<JsonObject>
@POST("WebApi/api/GetClientDetailV2_S")
suspend fun getClientDetails(
@Body getClientDetailsRequest: getClientDetailsRequest,
@Header("token") token: String
): Response<JsonObject>
@POST("WebApi_Bajaj/GetCodes")
suspend fun titleApi(
@Body getCodeRequest: GetCodeRequest,
@Header("token") token: String
): Response<JsonObject>
@POST("WebApi_Bajaj/GetCodes")
suspend fun genderApi(
@Body getCodeRequest: GetCodeRequest,
@Header("token") token: String
): Response<JsonObject>
@POST("WebApi_Bajaj/GetCodes")
suspend fun annualIncomeApi(
@Body getCodeRequest: GetCodeRequest,
@Header("token") token: String
): Response<JsonObject>
@POST("WebApi_Bajaj/GetCodes")
suspend fun relationShipApi(
@Body getCodeRequest: GetCodeRequest,
@Header("token") token: String
): Response<JsonObject>
@POST("WebApi_Bajaj/GetCodes")
suspend fun maritalStatusApi(
@Body getCodeRequest: GetCodeRequest,
@Header("token") token: String
): Response<JsonObject>
@POST("WebApi_Bajaj/GetCodes")
suspend fun occupationApi(
@Body getCodeRequest: GetCodeRequest,
@Header("token") token: String
): Response<JsonObject>
@POST("WebApi_Bajaj/api/GetStateMaster")
suspend fun stateApi(@Header("token") token: String): Response<JsonObject>
@POST("WebApi_Bajaj/api/GetCity")
suspend fun cityApi(
@Body cityRequest: CityRequest,
@Header("token") token: String
): Response<JsonObject>
@GET("WebAPI_Bajaj/GetFDBankList?FDProvider=Bajaj")
suspend fun bankListApi(@Header("token") token: String): Response<JsonObject>
@GET("WebApi/api/GetIFSC_Autofill?prefix={prefix}")
suspend fun getIFSCApi(@Path("prefix") ifsc : String): Response<JsonObject>
@GET("WebApi/api/GetBankDetailsFromIFSC?")
suspend fun getIFSCDetailsApi(@Query("ifsc") ifsc : String,@Header("token") token: String): Response<JsonObject>
@POST("WebApi_Bajaj/GetCodes")
suspend fun payModeApi(
@Body getCodeRequest: GetCodeRequest,
@Header("token") token: String
): Response<JsonObject>
}

+ 1
- 1
app/src/main/java/com/nivesh/production/bajajfd/interfaces/BajajFDInterface.kt View File

@ -2,7 +2,7 @@ package com.nivesh.production.bajajfd.interfaces
interface BajajFDInterface {
fun stepOneApi(data: String?)
fun stepTwoApi(data: String?)
fun stepTwoApi(data: CreateFDRequest)
fun stepThreeApi(data: String?)
fun stepFourApi(data: String?)
}

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

@ -0,0 +1,6 @@
package com.nivesh.production.bajajfd.model
data class Bank(
val BankName: String,
val IFSC4Mapping: String
)

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

@ -0,0 +1,15 @@
package com.nivesh.production.bajajfd.model
import java.io.Serializable
data class BankList(
val BankName: String?,
val IFSCCode: String?,
val AccountNumber: String?,
val BranchName: String?,
val DefaultBankFlag: String?,
val IsValBank: String?,
val AccountType: String?
): Serializable

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

@ -2,7 +2,5 @@ package com.nivesh.production.bajajfd.model
data class CityListResponse(
val DataObject: List<DataObjectX>,
val Message: Any,
val ObjectResponse: Any,
val response: ResponseXXXXXX
)

+ 1
- 1
app/src/main/java/com/nivesh/production/bajajfd/model/CityRequest.kt View File

@ -8,7 +8,7 @@ data class CityRequest(
var RMCode: String?="",
var RoleID: Int = 0,
var Source: String? = "",
var StateCode: Int = 0,
var StateCode: Int? = 0,
var Subbroker_Code: String? = "",
var Type: String?= "",
var UID: Int = 0

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

@ -0,0 +1,11 @@
package com.nivesh.production.bajajfd.model
data class ClientBanklist(
val AccountNumber: String?,
val AccountType: String?,
val BankName: String?,
val BranchName: String?,
val DefaultBankFlag: String?,
val IFSCCode: String?,
val IsValBank: Int? = 0
)

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

@ -0,0 +1,22 @@
package com.nivesh.production.bajajfd.model
data class ClientDetails(
val ARNexpiredFlag: Boolean,
val EditProfileMessage: String,
val IsPartiallyFilled: Boolean,
val KYCstatus: String,
val ProfileMessage: String,
val ProfileStatus: String,
val UnifiedMessage: String,
val appliaction1_image_name: String,
val city_of_birth: String,
val clientMasterMFD: ClientMasterMFD,
val country_of_birth: String,
val created_by: String,
val created_date: String,
val email: String,
val mobile: String,
val modified_by: String,
val modified_date: String,
val sub_broker_code: String
)

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

@ -0,0 +1,40 @@
package com.nivesh.production.bajajfd.model
data class ClientMasterMFD(
val CLIENT_ACCNO1: String,
val CLIENT_ACCTYPE1: String,
val CLIENT_ADD1: String,
val CLIENT_ADD2: String,
val CLIENT_ADD3: String,
val CLIENT_APPNAME1: String,
val CLIENT_CITY: String,
val CLIENT_CODE: String,
val CLIENT_COMMMODE: String,
val CLIENT_COUNTRY: String,
val CLIENT_DIVPAYMODE: String,
val CLIENT_DOB: String,
val CLIENT_EMAIL: String,
val CLIENT_FATHER_HUSBAND_GUARDIAN: String,
val CLIENT_GENDER: String,
val CLIENT_GUARDIANPAN: String,
val CLIENT_HOLDING: String,
val CLIENT_NEFT_IFSCCODE1: String,
val CLIENT_OCCUPATION_CODE: String,
val CLIENT_PAN: String,
val CLIENT_PINCODE: String,
val CLIENT_STATE: String,
val CLIENT_TAXSTATUS: String,
val CLIENT_TYPE: String,
val CM_MOBILE: String,
val Client_Title: String,
val DEFAULT_BLANK_FLAG1: String,
val Filler1: String,
val Filler2: String,
val Filler3: Any,
val NominationAuthMode: String,
val NominationOptFlag: String,
val Nominee_Title: String,
val Nominees: List<Nominee>,
val ParentName: String,
val ums_id: String
)

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

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

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

@ -1,5 +1,7 @@
package com.nivesh.production.bajajfd.model
import java.io.Serializable
data class DataObject(
val BSE_State_Code: String,
val CAMS_statecode: String,
@ -8,4 +10,8 @@ data class DataObject(
val State_Id: Int,
val State_Name: String,
val signzyCode: String
)
): Serializable {
override fun toString(): String {
return State_Name
}
}

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

@ -3,4 +3,8 @@ package com.nivesh.production.bajajfd.model
data class DataObjectX(
val city_id: Int,
val city_name: String
)
) {
override fun toString(): String {
return city_name
}
}

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

@ -0,0 +1,12 @@
package com.nivesh.production.bajajfd.model
data class DeviceInfo(
var app_version: String? = "",
var device_id: String? = "",
var device_model: String? = "",
var device_name: String? ="",
var device_os_version: String? = "",
var device_token: String? = "",
var device_type: String? = "",
var device_id_for_UMSId : String? = ""
)

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

@ -0,0 +1,7 @@
package com.nivesh.production.bajajfd.model
data class FDCreationDetailsResponse(
val DocumentUploadFlag: Int,
val UniqueId: String,
val kycFlag: Int
)

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

@ -7,4 +7,7 @@ data class GetCodes(
override fun toString(): String {
return Label
}
}

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

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

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

@ -0,0 +1,6 @@
package com.nivesh.production.bajajfd.model
data class GetIFSCCodeListResponse(
val IFSCCodes: MutableList<String>,
val Response: ResponseXXXXXXXXXX
)

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

@ -0,0 +1,10 @@
package com.nivesh.production.bajajfd.model
data class GetIFSCCodeResponse(
val ADDRESS: String,
val BANK: String,
val BRANCH: String,
val IFSC: String,
val MICR: String,
val Response: ResponseXXXXXXXXX
)

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

@ -0,0 +1,12 @@
package com.nivesh.production.bajajfd.model
data class Nominee(
val NomineeApplicablePercent: Double,
val NomineeDOB: String,
val NomineeGuardian: String,
val NomineeGuardianPAN: String,
val NomineeMinorFlag: String,
val NomineeName: String,
val NomineePAN: String,
val NomineeRelationship: String
)

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

@ -0,0 +1,9 @@
package com.nivesh.production.bajajfd.model
data class ObjectResponse(
val TransactionCount: Int,
val clientDetails: ClientDetails,
val languageid: Int,
val membersList: List<Any>,
val ClientBanklist : List<ClientBanklist>
)

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

@ -0,0 +1,7 @@
package com.nivesh.production.bajajfd.model
data class ResponseXXXXXXX(
val message: String,
val status: String,
val status_code: Int
)

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

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

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

@ -0,0 +1,7 @@
package com.nivesh.production.bajajfd.model
data class ResponseXXXXXXXXX(
val message: Any,
val status: String,
val status_code: Int
)

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

@ -0,0 +1,7 @@
package com.nivesh.production.bajajfd.model
data class ResponseXXXXXXXXXX(
val message: String,
val status: String,
val status_code: Int
)

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

@ -0,0 +1,9 @@
package com.nivesh.production.bajajfd.model
data class ResponseXXXXXXXXXXX(
val Errors: Any,
val FDCreationDetailsResponse: FDCreationDetailsResponse,
val Message: String,
val Status: String,
val StatusCode: Int
)

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

@ -0,0 +1,10 @@
package com.nivesh.production.bajajfd.model
data class UserRequest(
var AppOrWeb: String? = "",
var IPAddress: String? = "",
var LoggedInRoleId: Int = 0,
var Source: String? = "",
var UID: Int? = 0,
var deviceInfo: DeviceInfo? = null
)

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

@ -0,0 +1,8 @@
package com.nivesh.production.bajajfd.model
data class getClientDetailsRequest(
var AppOrWeb: String? = "",
var UserRequest: UserRequest? = null,
var client_code: String? = "",
var sub_broker_code: String? = ""
)

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

@ -0,0 +1,8 @@
package com.nivesh.production.bajajfd.model
data class getClientDetailsResponse(
// val DataObject: Any ?,
// val Message: Any,
val ObjectResponse: ObjectResponse? = null,
val response: ResponseXXXXXXX? = null
)

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

@ -7,12 +7,19 @@ 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) =
suspend fun getCodesResponse(requestBody: GetCodeRequest, token: String) =
apiInterface.getCodes(requestBody, token)
suspend fun getStepsCountResponse(requestBody: FDStepsCountRequest , token: String) =
suspend fun getStepsCountResponse(requestBody: FDStepsCountRequest, token: String) =
apiInterface.getFDStepsCount(requestBody, token)
suspend fun createCalculateFDMaturityAmount(requestBody: GetMaturityAmountRequest, token: String) =
suspend fun getClientDetailsResponse(getClientDetails: getClientDetailsRequest, token: String) =
apiInterface.getClientDetails(getClientDetails, token)
suspend fun createCalculateFDMaturityAmount(
requestBody: GetMaturityAmountRequest,
token: String
) =
apiInterface.getCalculateFDMaturityAmount(requestBody, token)
@ -61,8 +68,21 @@ class MainRepository constructor(private val apiInterface: ApiInterface) {
suspend fun occupationCheck(getCodeRequest: GetCodeRequest, token: String) =
apiInterface.occupationApi(getCodeRequest, token)
suspend fun stateCheck( token: String) =
apiInterface.stateApi( token)
suspend fun stateCheck(token: String) =
apiInterface.stateApi(token)
suspend fun cityCheck(cityRequest: CityRequest, token: String) =
apiInterface.cityApi(cityRequest, token)
suspend fun bankListCheck(token: String) =
apiInterface.bankListApi(token)
suspend fun ifscCodeCheck(str: String) =
apiInterface.getIFSCApi(str)
suspend fun ifscCodeDetailsCheck(str: String, token: String) =
apiInterface.getIFSCDetailsApi(str, token)
suspend fun payModeCheck(getCodeRequest: GetCodeRequest, token: String) =
apiInterface.payModeApi(getCodeRequest, token)
}

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

@ -26,6 +26,7 @@ import com.nivesh.production.bajajfd.viewModel.*
class BajajFdMainActivity : AppCompatActivity(), BajajFDInterface {
lateinit var binding: ActivityBajajFdBinding
private lateinit var viewModel: BajajFDViewModel
private lateinit var viewModel1: BajajFDViewModel
lateinit var stepOneBajajFDViewModel: StepOneBajajFDViewModel
lateinit var stepTwoBajajFDViewModel: StepTwoBajajFDViewModel
@ -33,25 +34,25 @@ class BajajFdMainActivity : AppCompatActivity(), BajajFDInterface {
lateinit var stepFourBajajFDViewModel: StepFourBajajFDViewModel
lateinit var stepFiveBajajFDViewModel: StepFiveBajajFDViewModel
lateinit var createFDRequest: CreateFDRequest
lateinit var createFDApplicantRequest: CreateFDApplicationRequest
lateinit var applicantDetails: ApplicantDetails
lateinit var fdInvestmentDetails: FDInvestmentDetails
lateinit var applicantRelationDetails: ApplicantRelationDetails
lateinit var fdBankDetails: FdBankDetails
lateinit var nomineeDetails: NomineeDetails
lateinit var nomineeGuardianDetails: NomineeGuardianDetails
var createFDRequest: CreateFDRequest
var createFDApplicantRequest: CreateFDApplicationRequest
var applicantDetails: ApplicantDetails
var fdInvestmentDetails: FDInvestmentDetails
var applicantRelationDetails: ApplicantRelationDetails
var fdBankDetails: FdBankDetails
var nomineeDetails: NomineeDetails
var nomineeGuardianDetails: NomineeGuardianDetails
var getClientDetailsResponse: getClientDetailsResponse
var stepCount : Int = 0
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
init()
}
private fun init() {
binding = ActivityBajajFdBinding.inflate(layoutInflater)
setContentView(binding.root)
init {
getClientDetailsResponse = getClientDetailsResponse()
createFDRequest = CreateFDRequest()
createFDApplicantRequest = CreateFDApplicationRequest()
@ -61,14 +62,49 @@ class BajajFdMainActivity : AppCompatActivity(), BajajFDInterface {
fdBankDetails = FdBankDetails()
nomineeDetails = NomineeDetails()
nomineeGuardianDetails = NomineeGuardianDetails()
}
private fun init() {
binding = ActivityBajajFdBinding.inflate(layoutInflater)
setContentView(binding.root)
// createFDRequest = CreateFDRequest()
// createFDApplicantRequest = CreateFDApplicationRequest()
//
// fdInvestmentDetails = FDInvestmentDetails()
// applicantDetails = ApplicantDetails()
// applicantRelationDetails = ApplicantRelationDetails()
// fdBankDetails = FdBankDetails()
// nomineeDetails = NomineeDetails()
// nomineeGuardianDetails = NomineeGuardianDetails()
//start Repository
viewModel = ViewModelProvider(this, FDModelProviderFactory(MainRepository(ApiClient.getApiClient)))[BajajFDViewModel::class.java]
stepOneBajajFDViewModel = ViewModelProvider(this, StepOneModelProviderFactory(MainRepository(ApiClient.getApiClient)))[StepOneBajajFDViewModel::class.java]
stepTwoBajajFDViewModel = ViewModelProvider(this, StepTwoModelProviderFactory(MainRepository(ApiClient.getApiClient)))[StepTwoBajajFDViewModel::class.java]
stepThreeBajajFDViewModel = ViewModelProvider(this, StepThreeModelProviderFactory(MainRepository(ApiClient.getApiClient)))[StepThreeBajajFDViewModel::class.java]
stepFourBajajFDViewModel = ViewModelProvider(this, StepFourModelProviderFactory(MainRepository(ApiClient.getApiClient)))[StepFourBajajFDViewModel::class.java]
stepFiveBajajFDViewModel = ViewModelProvider(this, StepFiveModelProviderFactory(MainRepository(ApiClient.getApiClient)))[StepFiveBajajFDViewModel::class.java]
viewModel = ViewModelProvider(
this,
FDModelProviderFactory(MainRepository(ApiClient.getApiClient))
)[BajajFDViewModel::class.java]
stepOneBajajFDViewModel = ViewModelProvider(
this,
StepOneModelProviderFactory(MainRepository(ApiClient.getApiClient))
)[StepOneBajajFDViewModel::class.java]
stepTwoBajajFDViewModel = ViewModelProvider(
this,
StepTwoModelProviderFactory(MainRepository(ApiClient.getApiClient))
)[StepTwoBajajFDViewModel::class.java]
stepThreeBajajFDViewModel = ViewModelProvider(
this,
StepThreeModelProviderFactory(MainRepository(ApiClient.getApiClient))
)[StepThreeBajajFDViewModel::class.java]
stepFourBajajFDViewModel = ViewModelProvider(
this,
StepFourModelProviderFactory(MainRepository(ApiClient.getApiClient))
)[StepFourBajajFDViewModel::class.java]
stepFiveBajajFDViewModel = ViewModelProvider(
this,
StepFiveModelProviderFactory(MainRepository(ApiClient.getApiClient))
)[StepFiveBajajFDViewModel::class.java]
if (Common.isNetworkAvailable(this)) {
getStepsCountApi()
@ -79,7 +115,7 @@ class BajajFdMainActivity : AppCompatActivity(), BajajFDInterface {
}
}
private fun getStepsCountApi(){
private fun getStepsCountApi() {
val fdStepsCount = FDStepsCountRequest()
fdStepsCount.FDProvider = getString(R.string.bajaj)
fdStepsCount.NiveshClientCode = "8872"
@ -93,7 +129,9 @@ class BajajFdMainActivity : AppCompatActivity(), BajajFDInterface {
stepsCountResponse.Response.StatusCode.let { code ->
when (code) {
200 -> {
setViewPager(stepsCountResponse.Response.StepsCount)
stepCount = stepsCountResponse.Response.StepsCount
getClientDetailsApi(stepsCountResponse.Response.StepsCount)
// setViewPager(stepsCountResponse.Response.StepsCount)
}
// 650 -> refreshToken()
else -> {}
@ -113,6 +151,66 @@ class BajajFdMainActivity : AppCompatActivity(), BajajFDInterface {
}
}
private fun getClientDetailsApi(stepsCount: Int) {
if (Common.isNetworkAvailable(this@BajajFdMainActivity)) {
val getClientDetailsRequest = getClientDetailsRequest()
getClientDetailsRequest.client_code = "8872"
getClientDetailsRequest.AppOrWeb = "App"
getClientDetailsRequest.sub_broker_code = "1038"
val userRequest = UserRequest()
userRequest.UID = 19060
userRequest.IPAddress = ""
userRequest.Source = "Nivesh"
userRequest.AppOrWeb = "App"
userRequest.LoggedInRoleId = 5
val deviceInfo = DeviceInfo()
deviceInfo.device_id = ""
deviceInfo.device_id_for_UMSId = ""
deviceInfo.device_type = "App"
deviceInfo.device_model = ""
deviceInfo.device_token = ""
deviceInfo.device_name = ""
deviceInfo.app_version = ""
deviceInfo.device_os_version = ""
userRequest.deviceInfo = deviceInfo
getClientDetailsRequest.UserRequest = userRequest
Log.e("getClientDetailRequest", "-->" + Gson().toJson(getClientDetailsRequest))
viewModel.getClientDetails(getClientDetailsRequest, token)
viewModel.getClientDetailsMutableData.observe(this) { response ->
when (response) {
is Resource.Success -> {
Log.e("response", "-->$response")
getClientDetailsResponse =
Gson().fromJson(
response.data?.toString(),
getClientDetailsResponse::class.java
)
getClientDetailsResponse.response?.status_code.let { code ->
when (code) {
200 -> {
setViewPager(stepsCount)
}
// 650 -> refreshToken()
else -> {}
}
}
}
is Resource.Error -> {
response.message?.let { message ->
Log.e(" ", "An error occurred:$message")
}
}
is Resource.Loading -> {
}
}
}
}
}
private fun setViewPager(stepsCount: Int) {
// steps setting
@ -213,14 +311,23 @@ class BajajFdMainActivity : AppCompatActivity(), BajajFDInterface {
}
// step 2 response
override fun stepTwoApi(data: String?) {
override fun stepTwoApi(data: CreateFDRequest) {
Log.e("stepTwoApi", " response ---> $data")
binding.viewPager.currentItem = 2
if (stepCount == 4) {
binding.viewPager.currentItem = 2
}else{
// call create fd api
}
}
// step 3 response
override fun stepThreeApi(data: String?) {
Log.e("stepThreeApi", " response ---> $data")
// call create fd api
// StepFourBajajFDFragment.getInstance().getCreateFDResponse()
binding.viewPager.currentItem = 3
}


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

@ -1,15 +1,23 @@
package com.nivesh.production.bajajfd.ui.fragment
import android.os.Bundle
import android.util.Log
import android.view.LayoutInflater
import android.view.View
import android.view.ViewGroup
import androidx.fragment.app.Fragment
import com.google.gson.Gson
import com.nivesh.production.bajajfd.R
import com.nivesh.production.bajajfd.databinding.FragmentBajajfdStepFourBinding
import com.nivesh.production.bajajfd.interfaces.BajajFDInterface
import com.nivesh.production.bajajfd.model.GetCodeRequest
import com.nivesh.production.bajajfd.model.GetCodeResponse
import com.nivesh.production.bajajfd.model.GetRatesRequest
import com.nivesh.production.bajajfd.ui.activity.BajajFdMainActivity
import com.nivesh.production.bajajfd.util.Common
import com.nivesh.production.bajajfd.util.Common.Companion.showDialogValidation
import com.nivesh.production.bajajfd.util.Constants
import com.nivesh.production.bajajfd.util.Resource
import com.nivesh.production.bajajfd.viewModel.StepFourBajajFDViewModel
class StepFourBajajFDFragment : Fragment() {
@ -83,7 +91,88 @@ class StepFourBajajFDFragment : Fragment() {
return root
}
override fun onDestroyView() {
fun getCreateFDResponse()
{
}
private fun paymentModeApi() {
if (Common.isNetworkAvailable(activity as BajajFdMainActivity)) {
val getCodeRequest = GetCodeRequest()
getCodeRequest.ProductName = getString(R.string.bajajFD)
getCodeRequest.Category = getString(R.string.genderCategory)
getCodeRequest.Language = getString(R.string.language)
getCodeRequest.InputValue = ""
stepFourBajajFDViewModel.paymentModeApi(getCodeRequest, Constants.token)
stepFourBajajFDViewModel.getPaymentModeMutableData.observe(viewLifecycleOwner) { response ->
when (response) {
is Resource.Success -> {
Log.e("response", "-->$response")
val getCodeResponse: GetCodeResponse =
Gson().fromJson(response.data?.toString(), GetCodeResponse::class.java)
getCodeResponse.Response.StatusCode.let { code ->
when (code) {
200 -> {
}
// 650 -> refreshToken()
else -> {}
}
}
}
is Resource.Error -> {
response.message?.let { message ->
Log.e(" ", "An error occurred:$message")
}
}
is Resource.Loading -> {
}
}
}
}
}
private fun getFDDetailsApi() {
if (Common.isNetworkAvailable(activity as BajajFdMainActivity)) {
val getCodeRequest = GetRatesRequest()
stepFourBajajFDViewModel.getFDDetails(getCodeRequest, Constants.token)
stepFourBajajFDViewModel.getFDDetailsMutableData.observe(viewLifecycleOwner) { response ->
when (response) {
is Resource.Success -> {
Log.e("response", "-->$response")
val getCodeResponse: GetCodeResponse =
Gson().fromJson(response.data?.toString(), GetCodeResponse::class.java)
getCodeResponse.Response.StatusCode.let { code ->
when (code) {
200 -> {
}
// 650 -> refreshToken()
else -> {}
}
}
}
is Resource.Error -> {
response.message?.let { message ->
Log.e(" ", "An error occurred:$message")
}
}
is Resource.Loading -> {
}
}
}
}
}
override fun onDestroyView() {
super.onDestroyView()
_binding = null
}

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

@ -73,6 +73,7 @@ class StepOneBajajFDFragment : Fragment() {
listOfMinAmount = ArrayList()
listOfMaxAmount = ArrayList()
listOfFrequency = ArrayList()
rgMaturity = RadioButton(activity as BajajFdMainActivity)
// Amount
binding.edtAmount.addTextChangedListener(object : TextWatcher {
@ -122,6 +123,7 @@ class StepOneBajajFDFragment : Fragment() {
}
// Maturity Options
rgMaturity.text = getString(R.string.additionalDetailOne)
binding.radioGroup.setOnCheckedChangeListener { group, checkedId ->
rgMaturity = group.findViewById(checkedId)
Log.e("Maturity", "-->" + rgMaturity.text)
@ -160,6 +162,8 @@ class StepOneBajajFDFragment : Fragment() {
(activity as BajajFdMainActivity).fdInvestmentDetails.CustomerType = ""
(activity as BajajFdMainActivity).fdInvestmentDetails.CKYCNumber = ""
(activity as BajajFdMainActivity).createFDApplicantRequest.FDInvestmentDetails = (activity as BajajFdMainActivity).fdInvestmentDetails
Log.e("Maturity", "-->" + rgMaturity.text)
bajajFDInterface.stepOneApi("stepOneResponse")
}
}


+ 530
- 95
app/src/main/java/com/nivesh/production/bajajfd/ui/fragment/StepTwoBajajFDFragment.kt
File diff suppressed because it is too large
View File


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

@ -1,5 +1,6 @@
package com.nivesh.production.bajajfd.util
import android.annotation.SuppressLint
import android.app.Activity
import android.app.AlertDialog
import android.content.Context
@ -13,9 +14,11 @@ import android.util.Patterns
import com.google.android.material.textfield.MaterialAutoCompleteTextView
import com.google.android.material.textfield.TextInputEditText
import com.google.android.material.textfield.TextInputLayout
import com.nivesh.production.bajajfd.BajajApplication
import com.nivesh.production.bajajfd.R
import com.nivesh.production.bajajfd.ui.activity.BajajFdMainActivity
import java.text.SimpleDateFormat
import java.time.LocalDate
import java.time.format.DateTimeFormatter
import java.util.*
import java.util.regex.Matcher
import java.util.regex.Pattern
@ -151,6 +154,16 @@ class Common {
return false
}
fun commonErrorAutoCompleteMethod(
inputText: MaterialAutoCompleteTextView,
inputError: TextInputLayout,
strMessage: String
): Boolean {
inputText.requestFocus()
inputError.error = strMessage
return false
}
fun commonSpinnerErrorMethod(
inputText: MaterialAutoCompleteTextView,
inputError: TextInputLayout,
@ -161,5 +174,12 @@ class Common {
return false
}
fun getDate(string :String): String {
val input = SimpleDateFormat("dd/MM/yyyy", Locale.US)
val mDate : Date? = input.parse(string)
// val simpleDateFormat = SimpleDateFormat("dd MMM, yyyy", Locale.US)
val simpleDateFormat = SimpleDateFormat("yyyy-MM-dd", Locale.US)
return simpleDateFormat.format(mDate as Date)
}
}
}

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

@ -3,7 +3,7 @@ package com.nivesh.production.bajajfd.util
class Constants() {
companion object {
const val BASE_URL = "https://providential.in/WebApi_Bajaj/"
const val BASE_URL = "https://providential.in/"
const val token = "636F8F63-06C4-4D95-8562-392B34025FB0"
}
}

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

@ -5,29 +5,27 @@ import androidx.lifecycle.ViewModel
import androidx.lifecycle.viewModelScope
import com.google.gson.JsonObject
import com.nivesh.production.bajajfd.model.FDStepsCountRequest
import com.nivesh.production.bajajfd.model.GetCodeRequest
import com.nivesh.production.bajajfd.model.getClientDetailsRequest
import com.nivesh.production.bajajfd.repositories.MainRepository
import com.nivesh.production.bajajfd.util.Resource
import kotlinx.coroutines.launch
import okhttp3.RequestBody
class BajajFDViewModel(private val mainRepository: MainRepository) : ViewModel() {
// TODO: Implement the ViewModel
val getRatesMutableData: MutableLiveData<Resource<JsonObject>> = MutableLiveData()
fun getCode(requestBody: GetCodeRequest, token : String) = viewModelScope.launch {
getRatesMutableData.postValue(Resource.Loading())
val response = mainRepository.getCodesResponse(requestBody, token)
getRatesMutableData.postValue(handleRatesResponse(response))
}
val getStepsCountMutableData: MutableLiveData<Resource<JsonObject>> = MutableLiveData()
fun getStepsCount(requestBody: FDStepsCountRequest, token : String) = viewModelScope.launch {
fun getStepsCount(requestBody: FDStepsCountRequest, token: String) = viewModelScope.launch {
getStepsCountMutableData.postValue(Resource.Loading())
val response = mainRepository.getStepsCountResponse(requestBody, token)
getStepsCountMutableData.postValue(handleRatesResponse(response))
}
val getClientDetailsMutableData: MutableLiveData<Resource<JsonObject>> = MutableLiveData()
fun getClientDetails(getClientDetailsRequest: getClientDetailsRequest, token: String) =
viewModelScope.launch {
getClientDetailsMutableData.postValue(Resource.Loading())
val response = mainRepository.getClientDetailsResponse(getClientDetailsRequest, token)
getClientDetailsMutableData.postValue(handleRatesResponse(response))
}
private fun handleRatesResponse(response: retrofit2.Response<JsonObject>): Resource<JsonObject> {


+ 19
- 6
app/src/main/java/com/nivesh/production/bajajfd/viewModel/StepFourBajajFDViewModel.kt View File

@ -4,6 +4,7 @@ import androidx.lifecycle.MutableLiveData
import androidx.lifecycle.ViewModel
import androidx.lifecycle.viewModelScope
import com.google.gson.JsonObject
import com.nivesh.production.bajajfd.model.GetCodeRequest
import com.nivesh.production.bajajfd.model.GetRatesRequest
import com.nivesh.production.bajajfd.repositories.MainRepository
import com.nivesh.production.bajajfd.util.Resource
@ -11,8 +12,24 @@ import kotlinx.coroutines.launch
class StepFourBajajFDViewModel(private val mainRepository: MainRepository) : ViewModel() {
private val getRatesMutableData: MutableLiveData<Resource<JsonObject>> = MutableLiveData()
val getPaymentModeMutableData: MutableLiveData<Resource<JsonObject>> = MutableLiveData()
fun paymentModeApi(getCodeRequest: GetCodeRequest, token: String) = viewModelScope.launch {
getPaymentModeMutableData.postValue(Resource.Loading())
val response = mainRepository.payModeCheck(getCodeRequest, token)
getPaymentModeMutableData.postValue(handleRatesResponse(response))
}
val getFDDetailsMutableData: MutableLiveData<Resource<JsonObject>> = MutableLiveData()
fun getFDDetails(getRatesRequest: GetRatesRequest, token : String) = viewModelScope.launch {
getFDDetailsMutableData.postValue(Resource.Loading())
val response = mainRepository.getFDDetailsResponse(getRatesRequest, token)
getFDDetailsMutableData.postValue(handleRatesResponse(response))
}
private val getRatesMutableData: MutableLiveData<Resource<JsonObject>> = MutableLiveData()
fun saveFDOtherData(getRatesRequest: GetRatesRequest, token : String) = viewModelScope.launch {
getRatesMutableData.postValue(Resource.Loading())
val response = mainRepository.saveFDOtherDataResponse(getRatesRequest, token)
@ -29,11 +46,7 @@ class StepFourBajajFDViewModel(private val mainRepository: MainRepository) : Vie
}
fun getFDDetails(getRatesRequest: GetRatesRequest, token : String) = viewModelScope.launch {
getRatesMutableData.postValue(Resource.Loading())
val response = mainRepository.getFDDetailsResponse(getRatesRequest, token)
getRatesMutableData.postValue(handleRatesResponse(response))
}
fun updateFDPaymentStatus(getRatesRequest: GetRatesRequest, token : String) = viewModelScope.launch {
getRatesMutableData.postValue(Resource.Loading())


+ 22
- 0
app/src/main/java/com/nivesh/production/bajajfd/viewModel/StepTwoBajajFDViewModel.kt View File

@ -104,4 +104,26 @@ class StepTwoBajajFDViewModel(private val mainRepository: MainRepository) : View
getCityListMutableData.postValue(handleRatesResponse(response))
}
val getFDBankListMutableData: MutableLiveData<Resource<JsonObject>> = MutableLiveData()
fun bankListApi( token: String) = viewModelScope.launch {
getFDBankListMutableData.postValue(Resource.Loading())
val response = mainRepository.bankListCheck( token)
getFDBankListMutableData.postValue(handleRatesResponse(response))
}
val getifscCodeCheckMutableData: MutableLiveData<Resource<JsonObject>> = MutableLiveData()
fun ifscCodeApi(ifsc : String) = viewModelScope.launch {
getifscCodeCheckMutableData.postValue(Resource.Loading())
val response = mainRepository.ifscCodeCheck(ifsc)
getifscCodeCheckMutableData.postValue(handleRatesResponse(response))
}
val getifscCodeDetailsCheckMutableData: MutableLiveData<Resource<JsonObject>> = MutableLiveData()
fun ifscCodeDetailsApi(ifsc : String, token: String) = viewModelScope.launch {
getifscCodeDetailsCheckMutableData.postValue(Resource.Loading())
val response = mainRepository.ifscCodeDetailsCheck(ifsc, token)
getifscCodeDetailsCheckMutableData.postValue(handleRatesResponse(response))
}
}

+ 5
- 0
app/src/main/res/drawable/ic_add_icon.xml View File

@ -0,0 +1,5 @@
<vector android:height="24dp" android:tint="#6D6B6B"
android:viewportHeight="24" android:viewportWidth="24"
android:width="24dp" xmlns:android="http://schemas.android.com/apk/res/android">
<path android:fillColor="@android:color/white" android:pathData="M13,7h-2v4L7,11v2h4v4h2v-4h4v-2h-4L13,7zM12,2C6.48,2 2,6.48 2,12s4.48,10 10,10 10,-4.48 10,-10S17.52,2 12,2zM12,20c-4.41,0 -8,-3.59 -8,-8s3.59,-8 8,-8 8,3.59 8,8 -3.59,8 -8,8z"/>
</vector>

+ 5
- 0
app/src/main/res/drawable/ic_select_green.xml View File

@ -0,0 +1,5 @@
<vector android:height="24dp" android:tint="#69F324"
android:viewportHeight="24" android:viewportWidth="24"
android:width="24dp" xmlns:android="http://schemas.android.com/apk/res/android">
<path android:fillColor="@android:color/white" android:pathData="M12,6c3.31,0 6,2.69 6,6s-2.69,6 -6,6 -6,-2.69 -6,-6 2.69,-6 6,-6m0,-2c-4.42,0 -8,3.58 -8,8s3.58,8 8,8 8,-3.58 8,-8 -3.58,-8 -8,-8z"/>
</vector>

+ 5
- 0
app/src/main/res/drawable/ic_select_outline.xml View File

@ -0,0 +1,5 @@
<vector android:height="24dp" android:tint="#403D3D"
android:viewportHeight="24" android:viewportWidth="24"
android:width="24dp" xmlns:android="http://schemas.android.com/apk/res/android">
<path android:fillColor="@android:color/white" android:pathData="M12,6c3.31,0 6,2.69 6,6s-2.69,6 -6,6 -6,-2.69 -6,-6 2.69,-6 6,-6m0,-2c-4.42,0 -8,3.58 -8,8s3.58,8 8,8 8,-3.58 8,-8 -3.58,-8 -8,-8z"/>
</vector>

+ 160
- 158
app/src/main/res/layout/fragment_bajajfd_step_two.xml View File

@ -14,9 +14,9 @@
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_marginBottom="@dimen/margin_80"
android:padding="@dimen/margin_5"
android:background="@color/NiveshColorAppBg"
android:fillViewport="true"
android:padding="@dimen/margin_5"
android:visibility="visible"
app:layout_constraintBottom_toTopOf="@+id/btnNext"
app:layout_constraintEnd_toEndOf="parent"
@ -72,8 +72,8 @@
style="@style/regularStyle"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="@dimen/margin_10"
android:layout_marginStart="@dimen/margin_10"
android:layout_marginTop="@dimen/margin_10"
android:layout_marginBottom="@dimen/margin_1"
android:text="@string/mandatoryField"
android:textColor="@color/greyColor2"
@ -91,8 +91,8 @@
android:paddingStart="@dimen/margin_18"
android:paddingEnd="@dimen/margin_15"
android:text="@string/personalDetails"
android:textSize="@dimen/text_size_14"
android:textColor="@color/black"
android:textSize="@dimen/text_size_14"
app:drawableEndCompat="@drawable/svg_down_arrow" />
<LinearLayout
@ -114,10 +114,10 @@
android:id="@+id/edtMobileNumber"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:paddingTop="@dimen/margin_15"
android:paddingBottom="@dimen/margin_15"
android:inputType="phone"
android:maxEms="10"
android:paddingTop="@dimen/margin_15"
android:paddingBottom="@dimen/margin_15"
android:textSize="@dimen/text_size_14" />
</com.google.android.material.textfield.TextInputLayout>
@ -134,10 +134,11 @@
android:id="@+id/edtDOB"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:drawableEnd="@drawable/svg_cal"
android:focusable="false"
android:inputType="none"
android:paddingTop="@dimen/margin_15"
android:paddingBottom="@dimen/margin_15"
android:drawableEnd="@drawable/svg_cal"
android:inputType="date"
android:textSize="@dimen/text_size_14" />
</com.google.android.material.textfield.TextInputLayout>
@ -154,34 +155,35 @@
android:id="@+id/edtPANNumber"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:inputType="textCapCharacters"
android:maxEms="10"
android:paddingTop="@dimen/margin_15"
android:paddingBottom="@dimen/margin_15"
android:maxEms="10"
android:textSize="@dimen/text_size_14" />
</com.google.android.material.textfield.TextInputLayout>
<TextView
android:id="@+id/tvPANVerify"
android:visibility="gone"
style="@style/regularStyle"
android:layout_gravity="end"
android:layout_marginEnd="@dimen/margin_15"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="end"
android:layout_marginEnd="@dimen/margin_15"
android:textColor="@color/greyColor2"
android:textSize="@dimen/text_size_10"
android:textColor="@color/greyColor2" />
android:visibility="gone" />
<com.google.android.material.textfield.TextInputLayout
android:id="@+id/tlTitle"
style="@style/Widget.MaterialComponents.TextInputLayout.OutlinedBox.ExposedDropdownMenu"
android:layout_width="match_parent"
android:layout_height="@dimen/margin_48"
android:layout_marginTop="@dimen/margin_10"
android:layout_marginBottom="@dimen/margin_5"
android:layout_height="wrap_content"
android:layout_marginStart="@dimen/margin_5"
android:layout_marginTop="@dimen/margin_10"
android:layout_marginEnd="@dimen/margin_5"
android:layout_marginBottom="@dimen/margin_5"
app:hintEnabled="false"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
@ -199,6 +201,32 @@
android:textSize="@dimen/text_size_14" />
</com.google.android.material.textfield.TextInputLayout>
<com.google.android.material.textfield.TextInputLayout
android:id="@+id/tlGender"
style="@style/Widget.MaterialComponents.TextInputLayout.OutlinedBox.ExposedDropdownMenu"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginStart="@dimen/margin_5"
android:layout_marginTop="@dimen/margin_10"
android:layout_marginEnd="@dimen/margin_5"
android:layout_marginBottom="@dimen/margin_5"
app:hintEnabled="false"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/tlDepositAmount">
<com.google.android.material.textfield.MaterialAutoCompleteTextView
android:id="@+id/spGender"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="@drawable/rounded_corner_with_line"
android:hint="@string/selectGender"
android:inputType="none"
android:labelFor="@+id/spInterestPayout"
android:textColorHint="#757575"
android:textSize="@dimen/text_size_14" />
</com.google.android.material.textfield.TextInputLayout>
<com.google.android.material.textfield.TextInputLayout
android:id="@+id/tlFirstName"
style="@style/Widget.MaterialComponents.TextInputLayout.OutlinedBox.Dense"
@ -211,10 +239,10 @@
android:id="@+id/edtFirstName"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:paddingTop="@dimen/margin_15"
android:paddingBottom="@dimen/margin_15"
android:inputType="text"
android:maxEms="40"
android:paddingTop="@dimen/margin_15"
android:paddingBottom="@dimen/margin_15"
android:textSize="@dimen/text_size_14" />
</com.google.android.material.textfield.TextInputLayout>
@ -232,10 +260,10 @@
android:id="@+id/edtMiddleName"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:paddingTop="@dimen/margin_15"
android:paddingBottom="@dimen/margin_15"
android:inputType="text"
android:maxEms="40"
android:paddingTop="@dimen/margin_15"
android:paddingBottom="@dimen/margin_15"
android:textSize="@dimen/text_size_14" />
</com.google.android.material.textfield.TextInputLayout>
@ -254,67 +282,22 @@
android:id="@+id/edtLastName"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:paddingTop="@dimen/margin_15"
android:paddingBottom="@dimen/margin_15"
android:inputType="text"
android:maxEms="40"
android:textSize="@dimen/text_size_14" />
</com.google.android.material.textfield.TextInputLayout>
<com.google.android.material.textfield.TextInputLayout
android:id="@+id/tlGender"
style="@style/Widget.MaterialComponents.TextInputLayout.OutlinedBox.ExposedDropdownMenu"
android:layout_width="match_parent"
android:layout_height="@dimen/margin_48"
android:layout_marginTop="@dimen/margin_10"
android:layout_marginBottom="@dimen/margin_5"
android:layout_marginStart="@dimen/margin_5"
android:layout_marginEnd="@dimen/margin_5"
app:hintEnabled="false"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/tlDepositAmount">
<com.google.android.material.textfield.MaterialAutoCompleteTextView
android:id="@+id/spGender"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="@drawable/rounded_corner_with_line"
android:hint="@string/selectGender"
android:inputType="none"
android:labelFor="@+id/spInterestPayout"
android:textColorHint="#757575"
android:textSize="@dimen/text_size_14" />
</com.google.android.material.textfield.TextInputLayout>
<com.google.android.material.textfield.TextInputLayout
android:id="@+id/tlEmail"
style="@style/Widget.MaterialComponents.TextInputLayout.OutlinedBox.Dense"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_margin="@dimen/margin_5"
android:hint="@string/enterEmailAddress">
<com.google.android.material.textfield.TextInputEditText
android:id="@+id/edtEmail"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:inputType="textEmailAddress"
android:paddingTop="@dimen/margin_15"
android:paddingBottom="@dimen/margin_15"
android:maxEms="50"
android:textSize="@dimen/text_size_14" />
</com.google.android.material.textfield.TextInputLayout>
<com.google.android.material.textfield.TextInputLayout
android:id="@+id/tlOccupation"
style="@style/Widget.MaterialComponents.TextInputLayout.OutlinedBox.ExposedDropdownMenu"
android:layout_width="match_parent"
android:layout_height="wrap_content"
app:hintEnabled="false"
android:layout_margin="@dimen/margin_5">
android:layout_margin="@dimen/margin_5"
app:hintEnabled="false">
<com.google.android.material.textfield.MaterialAutoCompleteTextView
android:id="@+id/spOccupation"
@ -325,7 +308,7 @@
android:inputType="none"
android:labelFor="@+id/spInterestPayout"
android:textColorHint="#757575"
android:textSize="@dimen/text_size_14" />
android:textSize="@dimen/text_size_14" />
</com.google.android.material.textfield.TextInputLayout>
@ -334,8 +317,8 @@
style="@style/Widget.MaterialComponents.TextInputLayout.OutlinedBox.ExposedDropdownMenu"
android:layout_width="match_parent"
android:layout_height="wrap_content"
app:hintEnabled="false"
android:layout_margin="@dimen/margin_5">
android:layout_margin="@dimen/margin_5"
app:hintEnabled="false">
<com.google.android.material.textfield.MaterialAutoCompleteTextView
android:id="@+id/spIncome"
@ -346,7 +329,7 @@
android:inputType="none"
android:labelFor="@+id/spInterestPayout"
android:textColorHint="#757575"
android:textSize="@dimen/text_size_14" />
android:textSize="@dimen/text_size_14" />
</com.google.android.material.textfield.TextInputLayout>
@ -362,10 +345,10 @@
android:id="@+id/edtQualification"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:paddingTop="@dimen/margin_15"
android:paddingBottom="@dimen/margin_15"
android:inputType="text"
android:maxEms="60"
android:paddingTop="@dimen/margin_15"
android:paddingBottom="@dimen/margin_15"
android:textSize="@dimen/text_size_14" />
</com.google.android.material.textfield.TextInputLayout>
@ -374,11 +357,11 @@
android:id="@+id/tlMarital"
style="@style/Widget.MaterialComponents.TextInputLayout.OutlinedBox.ExposedDropdownMenu"
android:layout_width="match_parent"
android:layout_height="@dimen/margin_48"
android:layout_marginTop="@dimen/margin_10"
android:layout_marginBottom="@dimen/margin_5"
android:layout_height="wrap_content"
android:layout_marginStart="@dimen/margin_5"
android:layout_marginTop="@dimen/margin_10"
android:layout_marginEnd="@dimen/margin_5"
android:layout_marginBottom="@dimen/margin_5"
app:hintEnabled="false"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
@ -396,51 +379,22 @@
android:textSize="@dimen/text_size_14" />
</com.google.android.material.textfield.TextInputLayout>
<com.google.android.material.textfield.TextInputLayout
android:id="@+id/tlRelation"
style="@style/Widget.MaterialComponents.TextInputLayout.OutlinedBox.ExposedDropdownMenu"
android:layout_width="match_parent"
android:layout_height="@dimen/margin_48"
android:layout_marginTop="@dimen/margin_10"
android:layout_marginBottom="@dimen/margin_5"
android:layout_marginStart="@dimen/margin_5"
android:layout_marginEnd="@dimen/margin_5"
app:hintEnabled="false"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/tlDepositAmount">
<com.google.android.material.textfield.MaterialAutoCompleteTextView
android:id="@+id/spRelation"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="@drawable/rounded_corner_with_line"
android:hint="@string/selectRelation"
android:inputType="none"
android:labelFor="@+id/tlRelation"
android:textColorHint="#757575"
android:textSize="@dimen/text_size_14" />
</com.google.android.material.textfield.TextInputLayout>
<com.google.android.material.textfield.TextInputLayout
android:id="@+id/tlRelationName"
android:id="@+id/tlEmail"
style="@style/Widget.MaterialComponents.TextInputLayout.OutlinedBox.Dense"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_margin="@dimen/margin_5"
android:hint="@string/relationName">
android:hint="@string/enterEmailAddress">
<com.google.android.material.textfield.TextInputEditText
android:id="@+id/edtRelationName"
android:id="@+id/edtEmail"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:inputType="textEmailAddress"
android:maxEms="50"
android:paddingTop="@dimen/margin_15"
android:paddingBottom="@dimen/margin_15"
android:inputType="text"
android:maxEms="100"
android:textSize="@dimen/text_size_14" />
</com.google.android.material.textfield.TextInputLayout>
@ -457,10 +411,10 @@
android:id="@+id/edtAddressLine1"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:paddingTop="@dimen/margin_15"
android:paddingBottom="@dimen/margin_15"
android:inputType="text"
android:maxEms="100"
android:paddingTop="@dimen/margin_15"
android:paddingBottom="@dimen/margin_15"
android:textSize="@dimen/text_size_14" />
</com.google.android.material.textfield.TextInputLayout>
@ -477,10 +431,10 @@
android:id="@+id/edtAddressLine2"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:paddingTop="@dimen/margin_15"
android:paddingBottom="@dimen/margin_15"
android:inputType="text"
android:maxEms="100"
android:paddingTop="@dimen/margin_15"
android:paddingBottom="@dimen/margin_15"
android:textSize="@dimen/text_size_14" />
</com.google.android.material.textfield.TextInputLayout>
@ -491,16 +445,16 @@
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_margin="@dimen/margin_5"
android:hint="@string/enterAddress2">
android:hint="@string/enterAddress3">
<com.google.android.material.textfield.TextInputEditText
android:id="@+id/edtAddressLine3"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:paddingTop="@dimen/margin_15"
android:paddingBottom="@dimen/margin_15"
android:inputType="text"
android:maxEms="100"
android:paddingTop="@dimen/margin_15"
android:paddingBottom="@dimen/margin_15"
android:textSize="@dimen/text_size_14" />
</com.google.android.material.textfield.TextInputLayout>
@ -523,7 +477,7 @@
android:inputType="none"
android:labelFor="@+id/tlState"
android:textColorHint="#757575"
android:textSize="@dimen/text_size_14"/>
android:textSize="@dimen/text_size_14" />
</com.google.android.material.textfield.TextInputLayout>
@ -532,8 +486,8 @@
style="@style/Widget.MaterialComponents.TextInputLayout.OutlinedBox.ExposedDropdownMenu"
android:layout_width="match_parent"
android:layout_height="wrap_content"
app:hintEnabled="false"
android:layout_margin="@dimen/margin_5">
android:layout_margin="@dimen/margin_5"
app:hintEnabled="false">
<com.google.android.material.textfield.MaterialAutoCompleteTextView
android:id="@+id/spCity"
@ -561,11 +515,11 @@
android:id="@+id/edtPinCode"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:inputType="number"
android:maxEms="6"
android:paddingTop="@dimen/margin_15"
android:paddingBottom="@dimen/margin_15"
android:inputType="text"
android:textSize="@dimen/text_size_14"
android:maxEms="6" />
android:textSize="@dimen/text_size_14" />
</com.google.android.material.textfield.TextInputLayout>
@ -586,7 +540,6 @@
app:drawableEndCompat="@drawable/svg_down_arrow" />
<LinearLayout
android:id="@+id/llNomineeDetail"
android:layout_width="match_parent"
@ -598,11 +551,11 @@
android:id="@+id/tlNomineeTitle"
style="@style/Widget.MaterialComponents.TextInputLayout.OutlinedBox.ExposedDropdownMenu"
android:layout_width="match_parent"
android:layout_height="@dimen/margin_48"
android:layout_marginTop="@dimen/margin_10"
android:layout_marginBottom="@dimen/margin_5"
android:layout_height="wrap_content"
android:layout_marginStart="@dimen/margin_5"
android:layout_marginTop="@dimen/margin_10"
android:layout_marginEnd="@dimen/margin_5"
android:layout_marginBottom="@dimen/margin_5"
app:hintEnabled="false"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
@ -633,10 +586,10 @@
android:id="@+id/edtNomineeFirstName"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:paddingTop="@dimen/margin_15"
android:paddingBottom="@dimen/margin_15"
android:inputType="text"
android:maxEms="100"
android:paddingTop="@dimen/margin_15"
android:paddingBottom="@dimen/margin_15"
android:textSize="@dimen/text_size_14" />
</com.google.android.material.textfield.TextInputLayout>
@ -653,10 +606,10 @@
android:id="@+id/edtNomineeMiddleName"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:paddingTop="@dimen/margin_15"
android:paddingBottom="@dimen/margin_15"
android:inputType="text"
android:maxEms="100"
android:paddingTop="@dimen/margin_15"
android:paddingBottom="@dimen/margin_15"
android:textSize="@dimen/text_size_14" />
</com.google.android.material.textfield.TextInputLayout>
@ -673,10 +626,10 @@
android:id="@+id/edtNomineeLastName"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:paddingTop="@dimen/margin_15"
android:paddingBottom="@dimen/margin_15"
android:inputType="text"
android:maxEms="100"
android:paddingTop="@dimen/margin_15"
android:paddingBottom="@dimen/margin_15"
android:textSize="@dimen/text_size_14" />
</com.google.android.material.textfield.TextInputLayout>
@ -694,9 +647,10 @@
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:drawableEnd="@drawable/svg_cal"
android:focusable="false"
android:inputType="none"
android:paddingTop="@dimen/margin_15"
android:paddingBottom="@dimen/margin_15"
android:inputType="date"
android:textSize="@dimen/text_size_14" />
</com.google.android.material.textfield.TextInputLayout>
@ -705,11 +659,11 @@
android:id="@+id/tlNomineeRelation"
style="@style/Widget.MaterialComponents.TextInputLayout.OutlinedBox.ExposedDropdownMenu"
android:layout_width="match_parent"
android:layout_height="@dimen/margin_48"
android:layout_marginTop="@dimen/margin_10"
android:layout_marginBottom="@dimen/margin_5"
android:layout_height="wrap_content"
android:layout_marginStart="@dimen/margin_5"
android:layout_marginTop="@dimen/margin_10"
android:layout_marginEnd="@dimen/margin_5"
android:layout_marginBottom="@dimen/margin_5"
app:hintEnabled="false"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
@ -748,10 +702,10 @@
android:id="@+id/edtGuardianName"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:paddingTop="@dimen/margin_15"
android:paddingBottom="@dimen/margin_15"
android:inputType="text"
android:maxEms="60"
android:paddingTop="@dimen/margin_15"
android:paddingBottom="@dimen/margin_15"
android:textSize="@dimen/text_size_14" />
</com.google.android.material.textfield.TextInputLayout>
@ -768,10 +722,10 @@
android:id="@+id/edtGuardianAge"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:paddingTop="@dimen/margin_15"
android:paddingBottom="@dimen/margin_15"
android:inputType="text"
android:maxEms="60"
android:paddingTop="@dimen/margin_15"
android:paddingBottom="@dimen/margin_15"
android:textSize="@dimen/text_size_14" />
</com.google.android.material.textfield.TextInputLayout>
@ -780,11 +734,11 @@
android:id="@+id/tlGuardianRelation"
style="@style/Widget.MaterialComponents.TextInputLayout.OutlinedBox.ExposedDropdownMenu"
android:layout_width="match_parent"
android:layout_height="@dimen/margin_48"
android:layout_marginTop="@dimen/margin_10"
android:layout_marginBottom="@dimen/margin_5"
android:layout_height="wrap_content"
android:layout_marginStart="@dimen/margin_5"
android:layout_marginTop="@dimen/margin_10"
android:layout_marginEnd="@dimen/margin_5"
android:layout_marginBottom="@dimen/margin_5"
app:hintEnabled="false"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
@ -815,10 +769,10 @@
android:id="@+id/edtGuardianAddress"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:paddingTop="@dimen/margin_15"
android:paddingBottom="@dimen/margin_15"
android:inputType="text"
android:maxEms="60"
android:paddingTop="@dimen/margin_15"
android:paddingBottom="@dimen/margin_15"
android:textSize="@dimen/text_size_14" />
</com.google.android.material.textfield.TextInputLayout>
@ -835,10 +789,10 @@
android:id="@+id/edtGuardianPinCode"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:inputType="number"
android:maxEms="60"
android:paddingTop="@dimen/margin_15"
android:paddingBottom="@dimen/margin_15"
android:inputType="text"
android:maxEms="60"
android:textSize="@dimen/text_size_14" />
</com.google.android.material.textfield.TextInputLayout>
@ -859,12 +813,45 @@
android:textSize="@dimen/text_size_14"
app:drawableRightCompat="@drawable/svg_down_arrow" />
<!-- RecyclerView for bankList and Add Bank-->
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_margin="@dimen/margin_5"
android:orientation="vertical">
<androidx.recyclerview.widget.RecyclerView
android:id="@+id/rvClientBankList"
android:layout_width="match_parent"
android:layout_height="match_parent" />
<TextView
android:id="@+id/addBankDetail"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="@dimen/margin_10"
android:drawablePadding="@dimen/margin_4"
android:padding="@dimen/margin_5"
android:text="@string/add_new_account"
android:textColor="@color/black"
android:textSize="@dimen/text_size_18"
android:textStyle="bold"
app:drawableEndCompat="@drawable/ic_add_icon">
</TextView>
</LinearLayout>
<!-- Add Bank Field-->
<LinearLayout
android:id="@+id/llBankDetails"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical"
android:padding="@dimen/margin_10">
android:padding="@dimen/margin_10"
android:visibility="gone">
<TextView
android:id="@+id/tvAccountType"
@ -908,10 +895,12 @@
android:layout_margin="@dimen/margin_5"
android:hint="@string/enterIfscCode">
<com.google.android.material.textfield.TextInputEditText
<com.google.android.material.textfield.MaterialAutoCompleteTextView
android:id="@+id/edtIFSC"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:paddingStart="@dimen/margin_15"
android:paddingEnd="@dimen/margin_15"
android:paddingTop="@dimen/margin_15"
android:paddingBottom="@dimen/margin_15"
android:textSize="@dimen/text_size_14" />
@ -932,7 +921,7 @@
android:layout_height="wrap_content"
android:paddingTop="@dimen/margin_15"
android:paddingBottom="@dimen/margin_15"
android:textSize="@dimen/text_size_14"/>
android:textSize="@dimen/text_size_14" />
</com.google.android.material.textfield.TextInputLayout>
@ -973,38 +962,51 @@
</com.google.android.material.textfield.TextInputLayout>
<com.google.android.material.button.MaterialButton
android:id="@+id/btnAddBank"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="end"
android:layout_marginTop="@dimen/margin_5"
android:layout_marginEnd="@dimen/margin_10"
android:layout_marginBottom="@dimen/margin_5"
android:backgroundTint="@color/colorPrimaryDark"
android:text="@string/add"
android:textColor="@color/white"
android:textSize="@dimen/text_size_14" />
</LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="@dimen/margin_5"
android:background="@color/greyColor3"
android:orientation="horizontal"
android:paddingStart="@dimen/margin_18"
android:paddingEnd="@dimen/margin_15"
android:layout_marginTop="@dimen/margin_5"
android:background="@color/greyColor3">
android:paddingEnd="@dimen/margin_15">
<TextView
android:id="@+id/tvPaymentMode"
style="@style/semiBoldStyle"
android:layout_weight="0.4"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="0.4"
android:text="@string/paymentMode"
android:textColor="@color/black"
android:textSize="@dimen/text_size_14" />
<TextView
android:id="@+id/tvEligibleBankOption"
style="@style/regularStyle"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:gravity="end"
android:layout_gravity="end"
android:gravity="end"
android:padding="@dimen/margin_3"
android:text="@string/eligibleBankOption"
android:textColor="@color/blue"
android:textSize="@dimen/text_size_14"
/>
android:textSize="@dimen/text_size_14" />
</LinearLayout>


+ 96
- 0
app/src/main/res/layout/item_bank_list_preview.xml View File

@ -0,0 +1,96 @@
<?xml version="1.0" encoding="utf-8"?>
<com.google.android.material.card.MaterialCardView xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:layout_width="match_parent"
android:layout_height="wrap_content"
app:cardBackgroundColor="@color/white"
app:cardCornerRadius="3dp"
app:cardElevation="3dp"
app:cardMaxElevation="1dp"
app:cardPreventCornerOverlap="true"
app:cardUseCompatPadding="true">
<RelativeLayout
android:padding="@dimen/margin_3"
android:layout_width="match_parent"
android:layout_height="wrap_content">
<ImageView
android:id="@+id/bankSelector"
android:layout_width="@dimen/margin_25"
android:layout_height="@dimen/margin_25"
android:layout_centerVertical="true"
android:layout_marginStart="@dimen/margin_10"
android:layout_marginEnd="@dimen/margin_10"
android:layout_marginBottom="@dimen/margin_10"
android:padding="@dimen/margin_5"
android:contentDescription="@null" />
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_toEndOf="@id/bankSelector"
android:orientation="vertical">
<TextView
android:id="@+id/tvBankName"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="@dimen/margin_4"
android:textColor="@color/black"
android:textSize="16sp"
android:textStyle="bold" />
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="4dp"
android:orientation="horizontal">
<TextView
style="@style/regularStyle"
android:id="@+id/bankAcNo"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textSize="@dimen/text_size_14"
android:text="@string/accountNo" />
<androidx.appcompat.widget.AppCompatTextView
android:id="@+id/tvBankAccountNumber"
style="@style/regularStyle"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textSize="@dimen/text_size_14"
android:text="" />
</LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="4dp"
android:layout_marginBottom="@dimen/margin_2"
android:orientation="horizontal">
<androidx.appcompat.widget.AppCompatTextView
android:id="@+id/bankIfsc"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
style="@style/regularStyle"
android:textSize="@dimen/text_size_14"
android:text="@string/acIfsc" />
<androidx.appcompat.widget.AppCompatTextView
android:id="@+id/tvBankIFSC"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
style="@style/regularStyle"
android:textSize="@dimen/text_size_14"
android:text="" />
</LinearLayout>
</LinearLayout>
</RelativeLayout>
</com.google.android.material.card.MaterialCardView>

+ 54
- 0
app/src/main/res/layout/layout_bank_list.xml View File

@ -0,0 +1,54 @@
<?xml version="1.0" encoding="utf-8"?>
<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:layout_width="match_parent"
android:layout_height="match_parent">
<TextView
android:id="@+id/tvSelectClient"
style="@style/BoldStyle"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:gravity="center_vertical"
android:padding="@dimen/margin_15"
android:text="@string/information"
android:textColor="@color/red"
android:textSize="@dimen/text_size_16"
app:layout_constraintBottom_toTopOf="@+id/rvBankList"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent" />
<TextView
android:id="@+id/tvCancel"
style="@style/BoldStyle"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginEnd="@dimen/margin_10"
android:gravity="center_vertical"
android:padding="@dimen/margin_10"
android:text="@string/x"
android:textColor="@color/black"
android:textSize="@dimen/text_size_19"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintTop_toTopOf="parent" />
<View
android:id="@+id/view"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintTop_toBottomOf="@+id/tvSelectClient"
android:layout_width="0dp"
android:background="@color/greyColor2"
android:layout_height="@dimen/margin_1"/>
<androidx.recyclerview.widget.RecyclerView
android:id="@+id/rvBankList"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_marginTop="@dimen/margin_60"
android:layout_marginBottom="@dimen/margin_5"
android:scrollbars="none"
app:layout_constraintTop_toBottomOf="@+id/tvSelectClient" />
</androidx.constraintlayout.widget.ConstraintLayout>

+ 18
- 0
app/src/main/res/layout/row_bank_list.xml View File

@ -0,0 +1,18 @@
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:padding="@dimen/margin_5"
android:orientation="vertical">
<TextView
android:background="@drawable/rounded_corner_with_line"
android:id="@+id/txtYear"
android:padding="@dimen/margin_10"
android:layout_width="match_parent"
android:layout_height="@dimen/margin_35"
android:gravity="center"
android:textColor="@color/black"
android:textSize="@dimen/text_size_12" />
</LinearLayout>

+ 34
- 25
app/src/main/res/values-hi-rIN/strings.xml View File

@ -4,7 +4,6 @@
<string name="app">App</string>
<string name="source">nivesh</string>
<string name="step1">Step 1</string>
<string name="step2">Step 2</string>
<string name="step3">Step 3</string>
@ -42,8 +41,9 @@
<string name="bajajFD">BajajFD</string>
<string name="category">InterestPayoutFreq</string>
<string name="language">EN</string>
<string name="minMaxValidation">Min, 12 months, Max. 60 months</string>
<string name="minMaxValidation">Min. 12 months, Max. 60 months</string>
<string name="minAmountCategory">MINAmount</string>
<string name="MaxAmountCategory">MAXAmount</string>
<!-- Validations -->
<string name="emptyAmount">Please enter amount</string>
@ -55,6 +55,7 @@
<string name="emptyInterestPayout">Please select Interest Payout</string>
<string name="emptyInterestTenure">Please select Investment Tenure</string>
<!-- Step 2 -->
<string name="mandatoryField">All fields are mandatory other then optional</string>
<string name="personalDetails">Personal Details</string>
@ -75,12 +76,26 @@
<string name="enterAddress1">Enter Address Line 1</string>
<string name="enterAddress2">Enter Address Line 2</string>
<string name="enterAddress3">Enter Address Line 3</string>
<string name="state">State</string>
<string name="city">City</string>
<string name="pinCode">PinCode</string>
<string name="verifiedText">Verified</string>
<string name="notVerifiedText">Not Verified</string>
<string name="salutationCategory">Salutation</string>
<string name="genderCategory">Gender</string>
<string name="maritalCategory">MaritalStatus</string>
<string name="occupationCategory">Occupation</string>
<string name="relationshipCategory">NomineeRelationship</string>
<string name="selectIncome">Select Income</string>
<string name="selectState">Select State</string>
<string name="selectCity">Select City</string>
<string name="annualIncome">AnnualIncome</string>
<string name="information">Information</string>
<string name="x">X</string>
<string name="accountNo">A/c No:</string>
<string name="acIfsc">A/c IFSC :</string>
<string name="add">Add</string>
<!-- Nominee Details -->
<string name="nomineeDetailsOptional">Nominee Details (Optional)</string>
@ -119,11 +134,14 @@
<string name="inValidMobileNumber">Mobile number should have at least 10 digits</string>
<string name="inValidIndianMobileNumber">Mobile number should start with 6,7,8 and 9</string>
<string name="emptyDOB">Please select date of birth</string>
<string name="emptyPAN">Please enter PAN number</string>
<string name="invalidPAN">Invalid PAN</string>
<string name="emptyTitle">Please select title</string>
<string name="emptyGender">Please select gender</string>
<string name="emptyFirstName">Please enter First Name</string>
<string name="validFirstName">Please enter valid First Name</string>
@ -133,13 +151,17 @@
<string name="emptyLastName">Please enter Last name</string>
<string name="validLastName">Please enter valid Last Name</string>
<string name="emptyEmail">Please enter email address</string>
<string name="validEmail">Please enter valid email address</string>
<string name="emptyOccupation">Please select occupation</string>
<string name="emptyIncome">Please select income</string>
<string name="emptyQualification">Please select Qualification</string>
<string name="emptyMaritalStatus">Please select marital status </string>
<string name="emptyRelation">Please select relation </string>
<string name="emptyRelationName">Please enter relation name</string>
<string name="emptyEmail">Please enter email address</string>
<string name="validEmail">Please enter valid email address</string>
<string name="emptyAddressLine1">Please enter address 1</string>
<string name="emptyAddressLine2">Please enter address 2</string>
<string name="emptyAddressLine3">Please enter address 3</string>
@ -150,14 +172,16 @@
<string name="emptyPinCode">Please enter PinCode</string>
<string name="validPinCode">Please enter valid PinCode</string>
<string name="emptyAccNo">Please enter valid account number</string>
<string name="emptyAccNo">Please enter account number</string>
<string name="emptyIFSCCode">Please enter IFSC code</string>
<string name="validIFSCCode">Please enter valid IFSC code</string>
<string name="emptyBankName">Please select bank name</string>
<string name="emptyBranchName">Please enter branch name</string>
<string name="emptyBankName">Please select bank name</string>
<string name="emptyPaymentMode">Please select payment mode</string>
<!-- Step Three -->
<string name="uploadKycDocuments">Upload KYC Documents</string>
<string name="addressProofType">Address Proof Type <font color='#E9161E'>*</font></string>
@ -185,6 +209,7 @@
<string name="politicallyExposedPerson">Are you a politically exposed person</string>
<string name="outsideOfIndia">I am not a citizen, national or tax resident of any country outside of India</string>
<string name="termsCondition">I undertake to inform company any change in status of my nationality or tax residence. I am making investment from my Indian resident Individual Savings bank account. I/ We confirm that 1/we have read and understood the detailed terms and conditions annexed to this Application including the interest rate and other charges. I have gone through the financials and other statements/particulars representations furnished/made by the company and after careful consideration I am making the deposit with the company at my own risk and volition. I have read and agree to the <font color='#5077FF'>Terms &amp; conditions</font></string>
<string name="validTermsConditions">Please accept terms &amp; conditions.</string>
@ -210,25 +235,9 @@
<string name="onceYouClick">Once you click on PAY, your order will be placed and you will be redirected to payment gateway.</string>
<string name="seniorCitizen">Senior Citizen</string>
<string name="nonSeniorCitizen">Non Senior Citizen</string>
<string name="add_new_account">Add New Account</string>
<string name="minAmountCategory">MINAmount</string>
<string name="MaxAmountCategory">MAXAmount</string>
<string name="ok">OK</string>
<string name="cancel">Cancel</string>
<string name="salutationCategory">Salutation</string>
<string name="genderCategory">Gender</string>
<string name="maritalCategory">MaritalStatus</string>
<string name="occupationCategory">Occupation</string>
<string name="relationshipCategory">NomineeRelationship</string>
<string name="selectIncome">Select Income</string>
<string name="selectState">Select State</string>
<string name="selectCity">Select City</string>
<string name="annualIncome">AnnualIncome</string>
<string name="aadhar">Aadhar</string>
<string name="gallery">Gallery</string>
<string name="camera">Camera</string>
<string name="select_option">Select Option</string>
</resources>

+ 4
- 0
app/src/main/res/values-night/strings.xml View File

@ -0,0 +1,4 @@
<?xml version="1.0" encoding="utf-8"?>
<resources>
<string name="add_new_account">Add New Account</string>
</resources>

+ 21
- 62
app/src/main/res/values/strings.xml View File

@ -42,7 +42,8 @@
<string name="category">InterestPayoutFreq</string>
<string name="language">EN</string>
<string name="minMaxValidation">Min. 12 months, Max. 60 months</string>
<string name="minAmountCategory">MINAmount</string>
<string name="MaxAmountCategory">MAXAmount</string>
<!-- Validations -->
<string name="emptyAmount">Please enter amount</string>
@ -75,12 +76,26 @@
<string name="enterAddress1">Enter Address Line 1</string>
<string name="enterAddress2">Enter Address Line 2</string>
<string name="enterAddress3">Enter Address Line 3</string>
<string name="state">State</string>
<string name="city">City</string>
<string name="pinCode">PinCode</string>
<string name="verifiedText">Verified</string>
<string name="notVerifiedText">Not Verified</string>
<string name="salutationCategory">Salutation</string>
<string name="genderCategory">Gender</string>
<string name="maritalCategory">MaritalStatus</string>
<string name="occupationCategory">Occupation</string>
<string name="relationshipCategory">NomineeRelationship</string>
<string name="selectIncome">Select Income</string>
<string name="selectState">Select State</string>
<string name="selectCity">Select City</string>
<string name="annualIncome">AnnualIncome</string>
<string name="information">Information</string>
<string name="x">X</string>
<string name="accountNo">A/c No:</string>
<string name="acIfsc">A/c IFSC :</string>
<string name="add">Add</string>
<!-- Nominee Details -->
<string name="nomineeDetailsOptional">Nominee Details (Optional)</string>
@ -140,6 +155,8 @@
<string name="validEmail">Please enter valid email address</string>
<string name="emptyOccupation">Please select occupation</string>
<string name="emptyIncome">Please select income</string>
<string name="emptyQualification">Please select Qualification</string>
<string name="emptyMaritalStatus">Please select marital status </string>
<string name="emptyRelation">Please select relation </string>
@ -217,43 +234,11 @@
<string name="onceYouClick">Once you click on PAY, your order will be placed and you will be redirected to payment gateway.</string>
<string name="seniorCitizen">Senior Citizen</string>
<string name="nonSeniorCitizen">Non Senior Citizen</string>
<string name="add_new_account">Add New Account</string>
<string name="minAmountCategory">MINAmount</string>
<string name="MaxAmountCategory">MAXAmount</string>
<string name="ok">OK</string>
<string name="cancel">Cancel</string>
<string name="salutationCategory">Salutation</string>
<string name="genderCategory">Gender</string>
<string name="maritalCategory">MaritalStatus</string>
<string name="occupationCategory">Occupation</string>
<string name="relationshipCategory">NomineeRelationship</string>
<string name="selectIncome">Select Income</string>
<string name="selectState">Select State</string>
<string name="selectCity">Select City</string>
<string name="annualIncome">AnnualIncome</string>
<string name="docType">Doctype</string>
<string name="aadhar">AADHAR</string>
<string name="gallery">Gallery</string>
<string name="camera">Camera</string>
<string name="select_option">Select Option</string>
<!-- <string-array name="interestPayoutList">-->
<!-- <item>On Maturity</item>-->
<!-- <item>Monthly</item>-->
<!-- <item>Quarterly</item>-->
<!-- <item>Half Yearly</item>-->
<!-- <item>Yearly</item>-->
<!-- </string-array>-->
<!-- <string-array name="tenure">-->
<!-- <item>On Maturity</item>-->
<!-- <item>Monthly</item>-->
<!-- <item>Quarterly</item>-->
<!-- <item>Half Yearly</item>-->
<!-- <item>Yearly</item>-->
<!-- </string-array>-->
<array name="addressType">
<item>Aadhaar Card</item>
@ -262,30 +247,4 @@
<item>Driving Licence</item>
</array>
<!-- <array name="title">-->
<!-- <item>Mr</item>-->
<!-- <item>Mrs</item>-->
<!-- </array>-->
<!-- <array name="gender">-->
<!-- <item>Male</item>-->
<!-- <item>Female</item>-->
<!-- </array>-->
<!-- <array name="maritalStatus">-->
<!-- <item>Marital Status</item>-->
<!-- <item>Married</item>-->
<!-- <item>Unmarried</item>-->
<!-- </array>-->
<!-- <array name="interestPayoutLists">-->
<!-- <item>Interest Payout</item>-->
<!-- <item>On Maturity</item>-->
<!-- <item>Monthly</item>-->
<!-- <item>Quarterly</item>-->
<!-- <item>Half Yearly</item>-->
<!-- <item>Yearly</item>-->
<!-- </array>-->
</resources>

Loading…
Cancel
Save

Powered by TurnKey Linux.