diff --git a/app/src/main/java/com/nivesh/production/bajajfd/api/ApiClient.kt b/app/src/main/java/com/nivesh/production/bajajfd/api/ApiClient.kt index d89586a..aaa5a11 100644 --- a/app/src/main/java/com/nivesh/production/bajajfd/api/ApiClient.kt +++ b/app/src/main/java/com/nivesh/production/bajajfd/api/ApiClient.kt @@ -26,7 +26,7 @@ class ApiClient { .client(client) .build() } - val getApiClient by lazy { + val getApiClient: ApiInterface by lazy { client.create(ApiInterface::class.java) } } diff --git a/app/src/main/java/com/nivesh/production/bajajfd/interfaces/ApiInterface.kt b/app/src/main/java/com/nivesh/production/bajajfd/interfaces/ApiInterface.kt index 9d07be8..1e7cdd1 100644 --- a/app/src/main/java/com/nivesh/production/bajajfd/interfaces/ApiInterface.kt +++ b/app/src/main/java/com/nivesh/production/bajajfd/interfaces/ApiInterface.kt @@ -91,7 +91,7 @@ interface ApiInterface { suspend fun getFDStepsCount( @Body fdStepsCountRequest: FDStepsCountRequest, @Header("token") token: String - ): Response + ): Response @POST("WebApi/api/GetClientDetailV2_S") suspend fun getClientDetails( diff --git a/app/src/main/java/com/nivesh/production/bajajfd/model/Errors.kt b/app/src/main/java/com/nivesh/production/bajajfd/model/Errors.kt new file mode 100644 index 0000000..a2c80e2 --- /dev/null +++ b/app/src/main/java/com/nivesh/production/bajajfd/model/Errors.kt @@ -0,0 +1,6 @@ +package com.nivesh.production.bajajfd.model + +data class Errors( + val ErrorCode: Int, + val ErrorMessage: String +) \ No newline at end of file diff --git a/app/src/main/java/com/nivesh/production/bajajfd/model/Response.kt b/app/src/main/java/com/nivesh/production/bajajfd/model/Response.kt index 64ebb11..c479c7f 100644 --- a/app/src/main/java/com/nivesh/production/bajajfd/model/Response.kt +++ b/app/src/main/java/com/nivesh/production/bajajfd/model/Response.kt @@ -1,5 +1,7 @@ +import com.nivesh.production.bajajfd.model.Errors + data class Response( - val Errors: List, + val Errors: List, val Message: String, var ROIDatalist: MutableList, val Status: String, diff --git a/app/src/main/java/com/nivesh/production/bajajfd/model/ResponseX.kt b/app/src/main/java/com/nivesh/production/bajajfd/model/ResponseX.kt index e81f28d..0d08d82 100644 --- a/app/src/main/java/com/nivesh/production/bajajfd/model/ResponseX.kt +++ b/app/src/main/java/com/nivesh/production/bajajfd/model/ResponseX.kt @@ -1,7 +1,7 @@ package com.nivesh.production.bajajfd.model data class ResponseX( - val Errors: List, + val Errors: List, val GetCodesList: List, val Message: String, val Status: String, diff --git a/app/src/main/java/com/nivesh/production/bajajfd/model/ResponseXX.kt b/app/src/main/java/com/nivesh/production/bajajfd/model/ResponseXX.kt index 69077da..1ec3e62 100644 --- a/app/src/main/java/com/nivesh/production/bajajfd/model/ResponseXX.kt +++ b/app/src/main/java/com/nivesh/production/bajajfd/model/ResponseXX.kt @@ -1,7 +1,7 @@ package com.nivesh.production.bajajfd.model data class ResponseXX( - val Errors: Any, + val Errors: List, val MaturityAmount: Double, val Message: String, val Status: String, diff --git a/app/src/main/java/com/nivesh/production/bajajfd/model/ResponseXXXX.kt b/app/src/main/java/com/nivesh/production/bajajfd/model/ResponseXXXX.kt index 89521d8..0c37922 100644 --- a/app/src/main/java/com/nivesh/production/bajajfd/model/ResponseXXXX.kt +++ b/app/src/main/java/com/nivesh/production/bajajfd/model/ResponseXXXX.kt @@ -1,7 +1,7 @@ package com.nivesh.production.bajajfd.model data class ResponseXXXX( - val Errors: Any, + val Errors: List, val Message: String, val Status: String, val StatusCode: Int, diff --git a/app/src/main/java/com/nivesh/production/bajajfd/model/ResponseXXXXXXXX.kt b/app/src/main/java/com/nivesh/production/bajajfd/model/ResponseXXXXXXXX.kt index b674b23..a48dfa5 100644 --- a/app/src/main/java/com/nivesh/production/bajajfd/model/ResponseXXXXXXXX.kt +++ b/app/src/main/java/com/nivesh/production/bajajfd/model/ResponseXXXXXXXX.kt @@ -2,7 +2,7 @@ package com.nivesh.production.bajajfd.model data class ResponseXXXXXXXX( val BankList: List, - val Errors: List, + val Errors: List, val Message: String, val Status: String, val StatusCode: Int diff --git a/app/src/main/java/com/nivesh/production/bajajfd/model/ResponseXXXXXXXXX.kt b/app/src/main/java/com/nivesh/production/bajajfd/model/ResponseXXXXXXXXX.kt index 67165a6..128fad0 100644 --- a/app/src/main/java/com/nivesh/production/bajajfd/model/ResponseXXXXXXXXX.kt +++ b/app/src/main/java/com/nivesh/production/bajajfd/model/ResponseXXXXXXXXX.kt @@ -1,7 +1,7 @@ package com.nivesh.production.bajajfd.model data class ResponseXXXXXXXXX( - val message: Any, + val message: String, val status: String, val status_code: Int ) \ No newline at end of file diff --git a/app/src/main/java/com/nivesh/production/bajajfd/model/ResponseXXXXXXXXXXX.kt b/app/src/main/java/com/nivesh/production/bajajfd/model/ResponseXXXXXXXXXXX.kt index 0653d1d..cf7ddc5 100644 --- a/app/src/main/java/com/nivesh/production/bajajfd/model/ResponseXXXXXXXXXXX.kt +++ b/app/src/main/java/com/nivesh/production/bajajfd/model/ResponseXXXXXXXXXXX.kt @@ -1,7 +1,7 @@ package com.nivesh.production.bajajfd.model data class ResponseXXXXXXXXXXX( - val Errors: Any, + val Errors: List, val FDCreationDetailsResponse: FDCreationDetailsResponse, val Message: String, val Status: String, diff --git a/app/src/main/java/com/nivesh/production/bajajfd/ui/activity/BajajFdMainActivity.kt b/app/src/main/java/com/nivesh/production/bajajfd/ui/activity/BajajFdMainActivity.kt index 0e07da8..a915b91 100644 --- a/app/src/main/java/com/nivesh/production/bajajfd/ui/activity/BajajFdMainActivity.kt +++ b/app/src/main/java/com/nivesh/production/bajajfd/ui/activity/BajajFdMainActivity.kt @@ -19,6 +19,7 @@ import com.nivesh.production.bajajfd.ui.providerfactory.* import com.nivesh.production.bajajfd.util.Common import com.nivesh.production.bajajfd.util.Common.Companion.defaultShape import com.nivesh.production.bajajfd.util.Common.Companion.selectedShape +import com.nivesh.production.bajajfd.util.Common.Companion.showDialogValidation import com.nivesh.production.bajajfd.util.Constants.Companion.token import com.nivesh.production.bajajfd.util.Resource import com.nivesh.production.bajajfd.viewModel.* @@ -43,7 +44,7 @@ class BajajFdMainActivity : AppCompatActivity(), BajajFDInterface { var nomineeGuardianDetails: NomineeGuardianDetails var getClientDetailsResponse: getClientDetailsResponse - var stepCount : Int = 0 + private var stepCount: Int = 0 override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) @@ -120,17 +121,19 @@ class BajajFdMainActivity : AppCompatActivity(), BajajFDInterface { stepCount = stepsCountResponse.Response.StepsCount getClientDetailsApi(stepsCountResponse.Response.StepsCount) } - // 650 -> refreshToken() + 650 -> refreshToken(fdStepsCount) else -> { - + showDialogValidation( + this@BajajFdMainActivity, + stepsCountResponse.Response.Errors[0].ErrorMessage + ) } } } } - is Resource.Error -> { response.message?.let { message -> - Log.e(" ", "An error occurred:$message") + showDialogValidation(this@BajajFdMainActivity, message) } } is Resource.Loading -> { @@ -140,6 +143,13 @@ class BajajFdMainActivity : AppCompatActivity(), BajajFDInterface { } } + private fun refreshToken(fdStepsCount: FDStepsCountRequest) { + if (Common.isNetworkAvailable(this@BajajFdMainActivity)) { + + } + } + + private fun getClientDetailsApi(stepsCount: Int) { if (Common.isNetworkAvailable(this@BajajFdMainActivity)) { val getClientDetailsRequest = getClientDetailsRequest() @@ -183,14 +193,16 @@ class BajajFdMainActivity : AppCompatActivity(), BajajFDInterface { checkFDCKYCApi() } // 650 -> refreshToken() - else -> {} + else -> { + showDialogValidation(this@BajajFdMainActivity, response.message) + } } } } is Resource.Error -> { response.message?.let { message -> - Log.e(" ", "An error occurred:$message") + showDialogValidation(this@BajajFdMainActivity, message) } } is Resource.Loading -> { @@ -282,10 +294,11 @@ class BajajFdMainActivity : AppCompatActivity(), BajajFDInterface { } private fun checkFDCKYCApi() { - if (Common.isNetworkAvailable(this@BajajFdMainActivity)){ + if (Common.isNetworkAvailable(this@BajajFdMainActivity)) { 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() - checkFDKYCRequest.Mobile = getClientDetailsResponse.ObjectResponse?.clientDetails?.clientMasterMFD?.CM_MOBILE + checkFDKYCRequest.Mobile = + getClientDetailsResponse.ObjectResponse?.clientDetails?.clientMasterMFD?.CM_MOBILE checkFDKYCRequest.DOB = getClientDetailsResponse.ObjectResponse?.clientDetails?.clientMasterMFD?.CLIENT_DOB checkFDKYCRequest.PAN = @@ -309,14 +322,19 @@ class BajajFdMainActivity : AppCompatActivity(), BajajFDInterface { fdInvestmentDetails.CustomerType = "" } // 650 -> refreshToken() - else -> {} + else -> { + showDialogValidation( + this@BajajFdMainActivity, + getCodeResponse.Response.Errors[0].ErrorMessage + ) + } } } } is Resource.Error -> { response.message?.let { message -> - Log.e(" ", "An error occurred:$message") + showDialogValidation(this@BajajFdMainActivity, message) } } is Resource.Loading -> { @@ -352,13 +370,13 @@ class BajajFdMainActivity : AppCompatActivity(), BajajFDInterface { // step 2 response override fun stepTwoApi(data: CreateFDRequest) { Log.e("stepTwoApi", " response ---> $data") - if (stepCount == 4) { - // go to step 3 image Upload - binding.viewPager.currentItem = 2 - }else{ - // call create fd api bypass step 3 - createFDApi(data , 2) - } + if (stepCount == 4) { + // go to step 3 image Upload + binding.viewPager.currentItem = 2 + } else { + // call create fd api bypass step 3 + createFDApi(data, 2) + } } @@ -376,14 +394,14 @@ class BajajFdMainActivity : AppCompatActivity(), BajajFDInterface { } private fun createFDApi(data: CreateFDRequest, currentItem: Int) { - if (Common.isNetworkAvailable(this@BajajFdMainActivity)){ + if (Common.isNetworkAvailable(this@BajajFdMainActivity)) { viewModel.createFDApi(data, token) viewModel.getFDResponseMutableData.observe(this) { response -> when (response) { is Resource.Success -> { Log.e("response", "-->$response") - val createFDApplicationResponse : CreateFDApplicationResponse = + val createFDApplicationResponse: CreateFDApplicationResponse = Gson().fromJson( response.data?.toString(), CreateFDApplicationResponse::class.java @@ -392,17 +410,23 @@ class BajajFdMainActivity : AppCompatActivity(), BajajFDInterface { when (code) { 200 -> { binding.viewPager.currentItem = currentItem - StepFourBajajFDFragment.getInstance(this).getFDData(createFDApplicationResponse) + StepFourBajajFDFragment.getInstance(this) + .getFDData(createFDApplicationResponse) } // 650 -> refreshToken() - else -> {} + else -> { + showDialogValidation( + this@BajajFdMainActivity, + createFDApplicationResponse.Response.Errors[0].ErrorMessage + ) + } } } } is Resource.Error -> { response.message?.let { message -> - Log.e(" ", "An error occurred:$message") + showDialogValidation(this@BajajFdMainActivity, message) } } is Resource.Loading -> { @@ -416,5 +440,4 @@ class BajajFdMainActivity : AppCompatActivity(), BajajFDInterface { } - } \ No newline at end of file diff --git a/app/src/main/java/com/nivesh/production/bajajfd/ui/fragment/StepOneBajajFDFragment.kt b/app/src/main/java/com/nivesh/production/bajajfd/ui/fragment/StepOneBajajFDFragment.kt index 9f83647..fbe5465 100644 --- a/app/src/main/java/com/nivesh/production/bajajfd/ui/fragment/StepOneBajajFDFragment.kt +++ b/app/src/main/java/com/nivesh/production/bajajfd/ui/fragment/StepOneBajajFDFragment.kt @@ -206,14 +206,19 @@ class StepOneBajajFDFragment : Fragment() { } } // 650 -> refreshToken() - else -> {} + else -> { + Common.showDialogValidation( + activity as BajajFdMainActivity, + getCodeResponse.Response.Errors[0].ErrorMessage + ) + } } } } is Resource.Error -> { response.message?.let { message -> - Log.e(" ", "An error occurred:$message") + Common.showDialogValidation(activity as BajajFdMainActivity, message) } } is Resource.Loading -> { @@ -248,14 +253,19 @@ class StepOneBajajFDFragment : Fragment() { maxAmountApi() } // 650 -> refreshToken() - else -> {} + else -> { + Common.showDialogValidation( + activity as BajajFdMainActivity, + getCodeResponse.Response.Errors[0].ErrorMessage + ) + } } } } is Resource.Error -> { response.message?.let { message -> - Log.e(" ", "An error occurred:$message") + Common.showDialogValidation(activity as BajajFdMainActivity, message) } } is Resource.Loading -> { @@ -284,14 +294,19 @@ class StepOneBajajFDFragment : Fragment() { listOfMaxAmount = getCodeResponse.Response.GetCodesList } // 650 -> refreshToken() - else -> {} + else -> { + Common.showDialogValidation( + activity as BajajFdMainActivity, + getCodeResponse.Response.Errors[0].ErrorMessage + ) + } } } } is Resource.Error -> { response.message?.let { message -> - Log.e(" ", "An error occurred:$message") + Common.showDialogValidation(activity as BajajFdMainActivity, message) } } is Resource.Loading -> { @@ -348,7 +363,10 @@ class StepOneBajajFDFragment : Fragment() { } // 650 -> refreshToken() else -> { - + Common.showDialogValidation( + activity as BajajFdMainActivity, + getMaturityAmountResponse.Response.Errors[0].ErrorMessage + ) } } } @@ -356,7 +374,7 @@ class StepOneBajajFDFragment : Fragment() { is Resource.Error -> { response.message?.let { message -> - Log.e(" ", "An error occurred:$message") + Common.showDialogValidation(activity as BajajFdMainActivity, message) } } is Resource.Loading -> { @@ -462,14 +480,19 @@ class StepOneBajajFDFragment : Fragment() { } } // 650 -> refreshToken() - else -> {} + else -> { + Common.showDialogValidation( + activity as BajajFdMainActivity, + getRatesResponse.Response.Errors[0].ErrorMessage + ) + } } } } is Resource.Error -> { response.message?.let { message -> - Log.e(" ", "An error occurred:$message") + Common.showDialogValidation(activity as BajajFdMainActivity, message) } } is Resource.Loading -> { diff --git a/app/src/main/java/com/nivesh/production/bajajfd/ui/fragment/StepThreeBajajFDFragment.kt b/app/src/main/java/com/nivesh/production/bajajfd/ui/fragment/StepThreeBajajFDFragment.kt index 4612c7f..45290d2 100644 --- a/app/src/main/java/com/nivesh/production/bajajfd/ui/fragment/StepThreeBajajFDFragment.kt +++ b/app/src/main/java/com/nivesh/production/bajajfd/ui/fragment/StepThreeBajajFDFragment.kt @@ -268,7 +268,7 @@ class StepThreeBajajFDFragment : Fragment() { is Resource.Error -> { response.message?.let { message -> - Log.e(" ", "An error occurred:$message") + Common.showDialogValidation(activity as BajajFdMainActivity, message) } } is Resource.Loading -> { diff --git a/app/src/main/java/com/nivesh/production/bajajfd/ui/fragment/StepTwoBajajFDFragment.kt b/app/src/main/java/com/nivesh/production/bajajfd/ui/fragment/StepTwoBajajFDFragment.kt index ce8d2a9..c5e7dd6 100644 --- a/app/src/main/java/com/nivesh/production/bajajfd/ui/fragment/StepTwoBajajFDFragment.kt +++ b/app/src/main/java/com/nivesh/production/bajajfd/ui/fragment/StepTwoBajajFDFragment.kt @@ -761,7 +761,9 @@ class StepTwoBajajFDFragment : Fragment() { } // 650 -> refreshToken() else -> { - + Common.showDialogValidation( + activity as BajajFdMainActivity, + getIFSCCodeListResponse.Response.message) } } } @@ -769,7 +771,7 @@ class StepTwoBajajFDFragment : Fragment() { is Resource.Error -> { response.message?.let { message -> - Log.e(" ", "An error occurred:$message") + Common.showDialogValidation(activity as BajajFdMainActivity, message) } } is Resource.Loading -> { @@ -800,7 +802,9 @@ class StepTwoBajajFDFragment : Fragment() { } // 650 -> refreshToken() else -> { - + Common.showDialogValidation( + activity as BajajFdMainActivity, + getIFSCCodeResponse.Response.message) } } } @@ -808,7 +812,7 @@ class StepTwoBajajFDFragment : Fragment() { is Resource.Error -> { response.message?.let { message -> - Log.e(" ", "An error occurred:$message") + Common.showDialogValidation(activity as BajajFdMainActivity, message) } } is Resource.Loading -> { @@ -939,7 +943,7 @@ class StepTwoBajajFDFragment : Fragment() { is Resource.Error -> { response.message?.let { message -> - Log.e(" ", "An error occurred:$message") + Common.showDialogValidation(activity as BajajFdMainActivity, message) } } is Resource.Loading -> { @@ -1023,14 +1027,18 @@ class StepTwoBajajFDFragment : Fragment() { } // 650 -> refreshToken() - else -> {} + else -> { + Common.showDialogValidation( + activity as BajajFdMainActivity, + getCodeResponse.Response.Errors[0].ErrorMessage) + } } } } is Resource.Error -> { response.message?.let { message -> - Log.e(" ", "An error occurred:$message") + Common.showDialogValidation(activity as BajajFdMainActivity, message) } } is Resource.Loading -> { @@ -1074,14 +1082,18 @@ class StepTwoBajajFDFragment : Fragment() { } } // 650 -> refreshToken() - else -> {} + else -> { + Common.showDialogValidation( + activity as BajajFdMainActivity, + getCodeResponse.Response.Errors[0].ErrorMessage) + } } } } is Resource.Error -> { response.message?.let { message -> - Log.e(" ", "An error occurred:$message") + Common.showDialogValidation(activity as BajajFdMainActivity, message) } } is Resource.Loading -> { @@ -1133,14 +1145,18 @@ class StepTwoBajajFDFragment : Fragment() { } } // 650 -> refreshToken() - else -> {} + else -> { + Common.showDialogValidation( + activity as BajajFdMainActivity, + getCodeResponse.Response.Errors[0].ErrorMessage) + } } } } is Resource.Error -> { response.message?.let { message -> - Log.e(" ", "An error occurred:$message") + Common.showDialogValidation(activity as BajajFdMainActivity, message) } } is Resource.Loading -> { @@ -1185,14 +1201,18 @@ class StepTwoBajajFDFragment : Fragment() { } } // 650 -> refreshToken() - else -> {} + else -> { + Common.showDialogValidation( + activity as BajajFdMainActivity, + getCodeResponse.Response.Errors[0].ErrorMessage) + } } } } is Resource.Error -> { response.message?.let { message -> - Log.e(" ", "An error occurred:$message") + Common.showDialogValidation(activity as BajajFdMainActivity, message) } } is Resource.Loading -> { @@ -1237,14 +1257,18 @@ class StepTwoBajajFDFragment : Fragment() { } } // 650 -> refreshToken() - else -> {} + else -> { + Common.showDialogValidation( + activity as BajajFdMainActivity, + getCodeResponse.Response.Errors[0].ErrorMessage) + } } } } is Resource.Error -> { response.message?.let { message -> - Log.e(" ", "An error occurred:$message") + Common.showDialogValidation(activity as BajajFdMainActivity, message) } } is Resource.Loading -> { @@ -1289,14 +1313,18 @@ class StepTwoBajajFDFragment : Fragment() { } } // 650 -> refreshToken() - else -> {} + else -> { + Common.showDialogValidation( + activity as BajajFdMainActivity, + getCodeResponse.Response.Errors[0].ErrorMessage) + } } } } is Resource.Error -> { response.message?.let { message -> - Log.e(" ", "An error occurred:$message") + Common.showDialogValidation(activity as BajajFdMainActivity, message) } } is Resource.Loading -> { @@ -1357,14 +1385,18 @@ class StepTwoBajajFDFragment : Fragment() { } } // 650 -> refreshToken() - else -> {} + else -> { + Common.showDialogValidation( + activity as BajajFdMainActivity, + stateListResponse.response.message) + } } } } is Resource.Error -> { response.message?.let { message -> - Log.e(" ", "An error occurred:$message") + Common.showDialogValidation(activity as BajajFdMainActivity, message) } } is Resource.Loading -> { @@ -1429,14 +1461,18 @@ class StepTwoBajajFDFragment : Fragment() { } } // 650 -> refreshToken() - else -> {} + else -> { + Common.showDialogValidation( + activity as BajajFdMainActivity, + cityListResponse.response.message) + } } } } is Resource.Error -> { response.message?.let { message -> - Log.e(" ", "An error occurred:$message") + Common.showDialogValidation(activity as BajajFdMainActivity, message) } } is Resource.Loading -> { @@ -1466,14 +1502,18 @@ class StepTwoBajajFDFragment : Fragment() { } } // 650 -> refreshToken() - else -> {} + else -> { + Common.showDialogValidation( + activity as BajajFdMainActivity, + getFDBankListResponse.Response.Errors[0].ErrorMessage) + } } } } is Resource.Error -> { response.message?.let { message -> - Log.e(" ", "An error occurred:$message") + Common.showDialogValidation(activity as BajajFdMainActivity, message) } } is Resource.Loading -> { diff --git a/app/src/main/java/com/nivesh/production/bajajfd/util/Common.kt b/app/src/main/java/com/nivesh/production/bajajfd/util/Common.kt index 5cc34c9..fc36a35 100644 --- a/app/src/main/java/com/nivesh/production/bajajfd/util/Common.kt +++ b/app/src/main/java/com/nivesh/production/bajajfd/util/Common.kt @@ -1,6 +1,5 @@ package com.nivesh.production.bajajfd.util -import android.annotation.SuppressLint import android.app.Activity import android.app.AlertDialog import android.content.Context @@ -14,10 +13,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.google.gson.JsonObject import com.nivesh.production.bajajfd.R +import retrofit2.HttpException +import java.io.IOException 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 @@ -25,7 +25,7 @@ import java.util.regex.Pattern class Common { - companion object{ + companion object { /** *Before use this method write following code in model class app:Application(in activity and model) @@ -33,10 +33,12 @@ class Common { val connectivityManager = getApplication().getSystemService(.... **/ //internet check - fun isNetworkAvailable(activity: Activity): Boolean { + fun isNetworkAvailable(activity: Activity): Boolean { val connectivityManager = activity.getSystemService( Context.CONNECTIVITY_SERVICE ) as ConnectivityManager + + if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) { val activeNetwork = connectivityManager.activeNetwork ?: return false @@ -63,11 +65,11 @@ class Common { //valid email check fun isValidEmail(target: String?): Boolean { - return Patterns.EMAIL_ADDRESS.matcher(target.toString()).matches() + return Patterns.EMAIL_ADDRESS.matcher(target.toString()).matches() } //valid Name Check - fun isValidName(nameText: String?): Boolean { + fun isValidName(nameText: String?): Boolean { val pattern = Pattern.compile(("^[a-zA-Z\\s]{2,70}$")) val matcher = pattern.matcher(nameText.toString()) return matcher.matches() @@ -95,7 +97,7 @@ class Common { fun removeError(textInputLayout: TextInputLayout) { if (textInputLayout.error != null) { textInputLayout.error = null - if(textInputLayout.isErrorEnabled){ + if (textInputLayout.isErrorEnabled) { textInputLayout.isErrorEnabled = false; } } @@ -127,7 +129,7 @@ class Common { } // set Default Step - fun defaultShape(): GradientDrawable { + fun defaultShape(): GradientDrawable { val shape = GradientDrawable() shape.shape = GradientDrawable.OVAL shape.setColor(Color.WHITE) @@ -136,7 +138,7 @@ class Common { } // set Selected Step - fun selectedShape(): GradientDrawable { + fun selectedShape(): GradientDrawable { val shape = GradientDrawable() shape.shape = GradientDrawable.OVAL shape.setColor(Color.parseColor(Colors.colorDefault)) @@ -144,13 +146,13 @@ class Common { return shape } - fun commonErrorMethod( + fun commonErrorMethod( inputText: TextInputEditText, inputError: TextInputLayout, strMessage: String ): Boolean { inputText.requestFocus() - inputError.error = strMessage + inputError.error = strMessage return false } @@ -164,7 +166,7 @@ class Common { return false } - fun commonSpinnerErrorMethod( + fun commonSpinnerErrorMethod( inputText: MaterialAutoCompleteTextView, inputError: TextInputLayout, strMessage: String @@ -174,12 +176,31 @@ class Common { return false } - fun getDate(string :String): String { + 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 mDate: Date? = input.parse(string) val simpleDateFormat = SimpleDateFormat("yyyy-MM-dd", Locale.US) return simpleDateFormat.format(mDate as Date) } + + fun handleRatesResponse(response: retrofit2.Response): Resource { + try { + if (response.isSuccessful && response.body() != null) { + response.body()?.let { 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)) + else -> Resource.Error(t.localizedMessage?.toString() ?: "") + } + } + return Resource.Error(response.message()) + } + } + + } \ No newline at end of file diff --git a/app/src/main/java/com/nivesh/production/bajajfd/viewModel/BajajFDViewModel.kt b/app/src/main/java/com/nivesh/production/bajajfd/viewModel/BajajFDViewModel.kt index 68fed01..e26e127 100644 --- a/app/src/main/java/com/nivesh/production/bajajfd/viewModel/BajajFDViewModel.kt +++ b/app/src/main/java/com/nivesh/production/bajajfd/viewModel/BajajFDViewModel.kt @@ -6,9 +6,9 @@ import androidx.lifecycle.viewModelScope import com.google.gson.JsonObject import com.nivesh.production.bajajfd.model.CreateFDRequest import com.nivesh.production.bajajfd.model.FDStepsCountRequest -import com.nivesh.production.bajajfd.model.GetRatesRequest import com.nivesh.production.bajajfd.model.getClientDetailsRequest import com.nivesh.production.bajajfd.repositories.MainRepository +import com.nivesh.production.bajajfd.util.Common.Companion.handleRatesResponse import com.nivesh.production.bajajfd.util.Resource import kotlinx.coroutines.launch @@ -30,19 +30,27 @@ class BajajFDViewModel(private val mainRepository: MainRepository) : ViewModel() } val getFDResponseMutableData: MutableLiveData> = MutableLiveData() - fun createFDApi(getRatesRequest: CreateFDRequest, token :String) = viewModelScope.launch { + fun createFDApi(getRatesRequest: CreateFDRequest, token: String) = viewModelScope.launch { getFDResponseMutableData.postValue(Resource.Loading()) val response = mainRepository.createFDKYCResponse(getRatesRequest, token) getFDResponseMutableData.postValue(handleRatesResponse(response)) } - private fun handleRatesResponse(response: retrofit2.Response): Resource { - if (response.isSuccessful) { - response.body()?.let { resultResponse -> - return Resource.Success(resultResponse) - } - } - return Resource.Error(response.message()) - } +// private fun handleRatesResponse(response: retrofit2.Response): Resource { +// try { +// if ( response.isSuccessful && response.body() != null) { +// response.body()?.let { 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)) +// else -> Resource.Error(t.localizedMessage?.toString() ?: "") +// } +// } +// return Resource.Error(response.message()) +// } } \ No newline at end of file diff --git a/app/src/main/java/com/nivesh/production/bajajfd/viewModel/StepFourBajajFDViewModel.kt b/app/src/main/java/com/nivesh/production/bajajfd/viewModel/StepFourBajajFDViewModel.kt index 7f55996..062b603 100644 --- a/app/src/main/java/com/nivesh/production/bajajfd/viewModel/StepFourBajajFDViewModel.kt +++ b/app/src/main/java/com/nivesh/production/bajajfd/viewModel/StepFourBajajFDViewModel.kt @@ -7,6 +7,7 @@ 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.Common.Companion.handleRatesResponse import com.nivesh.production.bajajfd.util.Resource import kotlinx.coroutines.launch @@ -21,46 +22,34 @@ class StepFourBajajFDViewModel(private val mainRepository: MainRepository) : Vie } val getFDDetailsMutableData: MutableLiveData> = MutableLiveData() - fun getFDDetails(getRatesRequest: GetRatesRequest, token : String) = viewModelScope.launch { + 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> = MutableLiveData() - fun saveFDOtherData(getRatesRequest: GetRatesRequest, token : String) = viewModelScope.launch { + fun saveFDOtherData(getRatesRequest: GetRatesRequest, token: String) = viewModelScope.launch { getRatesMutableData.postValue(Resource.Loading()) val response = mainRepository.saveFDOtherDataResponse(getRatesRequest, token) getRatesMutableData.postValue(handleRatesResponse(response)) } - private fun handleRatesResponse(response: retrofit2.Response): Resource { - if (response.isSuccessful) { - response.body()?.let { resultResponse -> - return Resource.Success(resultResponse) - } + fun updateFDPaymentStatus(getRatesRequest: GetRatesRequest, token: String) = + viewModelScope.launch { + getRatesMutableData.postValue(Resource.Loading()) + val response = mainRepository.updateFDPaymentStatusResponse(getRatesRequest, token) + getRatesMutableData.postValue(handleRatesResponse(response)) } - return Resource.Error(response.message()) - - } - - - - fun updateFDPaymentStatus(getRatesRequest: GetRatesRequest, token : String) = viewModelScope.launch { - getRatesMutableData.postValue(Resource.Loading()) - val response = mainRepository.updateFDPaymentStatusResponse(getRatesRequest, token) - getRatesMutableData.postValue(handleRatesResponse(response)) - } - fun finaliseFD(getRatesRequest: GetRatesRequest, token : String) = viewModelScope.launch { + fun finaliseFD(getRatesRequest: GetRatesRequest, token: String) = viewModelScope.launch { getRatesMutableData.postValue(Resource.Loading()) val response = mainRepository.finaliseFDResponse(getRatesRequest, token) getRatesMutableData.postValue(handleRatesResponse(response)) } - fun finaliseKYC(getRatesRequest: GetRatesRequest, token : String) = viewModelScope.launch { + fun finaliseKYC(getRatesRequest: GetRatesRequest, token: String) = viewModelScope.launch { getRatesMutableData.postValue(Resource.Loading()) val response = mainRepository.finaliseKYCResponse(getRatesRequest, token) getRatesMutableData.postValue(handleRatesResponse(response)) diff --git a/app/src/main/java/com/nivesh/production/bajajfd/viewModel/StepOneBajajFDViewModel.kt b/app/src/main/java/com/nivesh/production/bajajfd/viewModel/StepOneBajajFDViewModel.kt index 5ee7803..940ab26 100644 --- a/app/src/main/java/com/nivesh/production/bajajfd/viewModel/StepOneBajajFDViewModel.kt +++ b/app/src/main/java/com/nivesh/production/bajajfd/viewModel/StepOneBajajFDViewModel.kt @@ -9,15 +9,14 @@ import com.nivesh.production.bajajfd.model.GetCodeRequest import com.nivesh.production.bajajfd.model.GetMaturityAmountRequest import com.nivesh.production.bajajfd.model.GetRatesRequest import com.nivesh.production.bajajfd.repositories.MainRepository +import com.nivesh.production.bajajfd.util.Common.Companion.handleRatesResponse import com.nivesh.production.bajajfd.util.Constants.Companion.token import com.nivesh.production.bajajfd.util.Resource import kotlinx.coroutines.launch class StepOneBajajFDViewModel(private val mainRepository: MainRepository) : ViewModel() { - // TODO: Implement the ViewModel val getCodeMutableData: MutableLiveData> = MutableLiveData() - fun getCode(requestBody: GetCodeRequest, token : String) = viewModelScope.launch { getCodeMutableData.postValue(Resource.Loading()) val response = mainRepository.getCodesResponse(requestBody, token) @@ -59,14 +58,14 @@ class StepOneBajajFDViewModel(private val mainRepository: MainRepository) : View getFDKYCMutableData.postValue(handleRatesResponse(response)) } - private fun handleRatesResponse(response: retrofit2.Response): Resource { - if (response.isSuccessful) { - response.body()?.let { resultResponse -> - return Resource.Success(resultResponse) - } - } - return Resource.Error(response.message()) - - } +// private fun handleRatesResponse(response: retrofit2.Response): Resource { +// if (response.isSuccessful) { +// response.body()?.let { resultResponse -> +// return Resource.Success(resultResponse) +// } +// } +// return Resource.Error(response.message()) +// +// } } \ No newline at end of file diff --git a/app/src/main/java/com/nivesh/production/bajajfd/viewModel/StepThreeBajajFDViewModel.kt b/app/src/main/java/com/nivesh/production/bajajfd/viewModel/StepThreeBajajFDViewModel.kt index ed0803b..84330b9 100644 --- a/app/src/main/java/com/nivesh/production/bajajfd/viewModel/StepThreeBajajFDViewModel.kt +++ b/app/src/main/java/com/nivesh/production/bajajfd/viewModel/StepThreeBajajFDViewModel.kt @@ -1,33 +1,25 @@ package com.nivesh.production.bajajfd.viewModel -import androidx.lifecycle.* +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.Common.Companion.handleRatesResponse import com.nivesh.production.bajajfd.util.Resource import kotlinx.coroutines.launch class StepThreeBajajFDViewModel(private val mainRepository: MainRepository) : ViewModel() { private val getRatesMutableData: MutableLiveData> = MutableLiveData() - fun documentsUpload(getRatesRequest: GetRatesRequest, token: String) = viewModelScope.launch { getRatesMutableData.postValue(Resource.Loading()) val response = mainRepository.documentsUploadResponse(getRatesRequest, token) getRatesMutableData.postValue(handleRatesResponse(response)) } - private fun handleRatesResponse(response: retrofit2.Response): Resource { - if (response.isSuccessful) { - response.body()?.let { resultResponse -> - return Resource.Success(resultResponse) - } - } - return Resource.Error(response.message()) - - } - val getTitleMutableData: MutableLiveData> = MutableLiveData() fun titleApi(getCodeRequest: GetCodeRequest, token: String) = viewModelScope.launch { getTitleMutableData.postValue(Resource.Loading()) @@ -35,5 +27,4 @@ class StepThreeBajajFDViewModel(private val mainRepository: MainRepository) : Vi getTitleMutableData.postValue(handleRatesResponse(response)) } - } \ No newline at end of file diff --git a/app/src/main/java/com/nivesh/production/bajajfd/viewModel/StepTwoBajajFDViewModel.kt b/app/src/main/java/com/nivesh/production/bajajfd/viewModel/StepTwoBajajFDViewModel.kt index 1260697..b76baef 100644 --- a/app/src/main/java/com/nivesh/production/bajajfd/viewModel/StepTwoBajajFDViewModel.kt +++ b/app/src/main/java/com/nivesh/production/bajajfd/viewModel/StepTwoBajajFDViewModel.kt @@ -6,25 +6,13 @@ import androidx.lifecycle.viewModelScope import com.google.gson.JsonObject import com.nivesh.production.bajajfd.model.* import com.nivesh.production.bajajfd.repositories.MainRepository +import com.nivesh.production.bajajfd.util.Common.Companion.handleRatesResponse import com.nivesh.production.bajajfd.util.Resource import kotlinx.coroutines.launch class StepTwoBajajFDViewModel(private val mainRepository: MainRepository) : ViewModel() { - // TODO: Implement the ViewModel - private val getRatesMutableData: MutableLiveData> = MutableLiveData() val getPanCheckMutableData: MutableLiveData> = MutableLiveData() - - private fun handleRatesResponse(response: retrofit2.Response): Resource { - if (response.isSuccessful) { - response.body()?.let { resultResponse -> - return Resource.Success(resultResponse) - } - } - return Resource.Error(response.message()) - - } - fun panCheck(panCheck: PanCheckRequest, token: String) = viewModelScope.launch { getPanCheckMutableData.postValue(Resource.Loading()) val response = mainRepository.panCheck(panCheck, token)