|
|
@ -1,8 +1,6 @@ |
|
|
|
package com.nivesh.production.bajajfd.ui.activity |
|
|
|
|
|
|
|
import android.graphics.Color |
|
|
|
import android.graphics.drawable.Drawable |
|
|
|
import android.graphics.drawable.GradientDrawable |
|
|
|
import android.os.Bundle |
|
|
|
import android.util.Log |
|
|
|
import androidx.appcompat.app.AppCompatActivity |
|
|
@ -20,7 +18,8 @@ import com.nivesh.production.bajajfd.repositories.MainRepository |
|
|
|
import com.nivesh.production.bajajfd.ui.fragment.* |
|
|
|
import com.nivesh.production.bajajfd.ui.providerfactory.FDModelProviderFactory |
|
|
|
import com.nivesh.production.bajajfd.ui.providerfactory.GetRatesModelProviderFactory |
|
|
|
import com.nivesh.production.bajajfd.util.Colors |
|
|
|
import com.nivesh.production.bajajfd.util.Common.Companion.defaultShape |
|
|
|
import com.nivesh.production.bajajfd.util.Common.Companion.selectedShape |
|
|
|
import com.nivesh.production.bajajfd.util.Resource |
|
|
|
import com.nivesh.production.bajajfd.viewModel.BajajFDViewModel |
|
|
|
import com.nivesh.production.bajajfd.viewModel.StepOneBajajFDViewModel |
|
|
@ -32,7 +31,7 @@ class BajajFdMainActivity : AppCompatActivity(), BajajFDInterface { |
|
|
|
|
|
|
|
lateinit var stepOneBajajFDViewModel: StepOneBajajFDViewModel |
|
|
|
lateinit var viewModel: BajajFDViewModel |
|
|
|
lateinit var listOfFrequency : List<GetCodes> |
|
|
|
lateinit var listOfFrequency: List<GetCodes> |
|
|
|
|
|
|
|
|
|
|
|
override fun onCreate(savedInstanceState: Bundle?) { |
|
|
@ -46,11 +45,15 @@ class BajajFdMainActivity : AppCompatActivity(), BajajFDInterface { |
|
|
|
setContentView(binding.root) |
|
|
|
|
|
|
|
//start Repository |
|
|
|
// val viewModelProviderFactory = GetRatesModelProviderFactory(MainRepository(ApiClient.getApiClient)) |
|
|
|
// stepOneBajajFDViewModel = ViewModelProvider(this, viewModelProviderFactory)[StepOneBajajFDViewModel::class.java] |
|
|
|
|
|
|
|
val fdViewModelProviderFactory = FDModelProviderFactory(MainRepository(ApiClient.getApiClient)) |
|
|
|
viewModel = ViewModelProvider(this, fdViewModelProviderFactory)[BajajFDViewModel::class.java] |
|
|
|
val viewModelProviderFactory = |
|
|
|
GetRatesModelProviderFactory(MainRepository(ApiClient.getApiClient)) |
|
|
|
stepOneBajajFDViewModel = |
|
|
|
ViewModelProvider(this, viewModelProviderFactory)[StepOneBajajFDViewModel::class.java] |
|
|
|
|
|
|
|
val fdViewModelProviderFactory = |
|
|
|
FDModelProviderFactory(MainRepository(ApiClient.getApiClient)) |
|
|
|
viewModel = |
|
|
|
ViewModelProvider(this, fdViewModelProviderFactory)[BajajFDViewModel::class.java] |
|
|
|
listOfFrequency = ArrayList() |
|
|
|
getCodeApi() |
|
|
|
|
|
|
@ -59,6 +62,45 @@ class BajajFdMainActivity : AppCompatActivity(), BajajFDInterface { |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
private fun getCodeApi() { |
|
|
|
val getCodeRequest = GetCodeRequest() |
|
|
|
getCodeRequest.ProductName = "BajajFD" |
|
|
|
getCodeRequest.Category = "InterestPayoutFreq" |
|
|
|
getCodeRequest.Language = "EN" |
|
|
|
getCodeRequest.InputValue = "" |
|
|
|
val codeRequest: String = Gson().toJson(getCodeRequest); |
|
|
|
val requestBody = codeRequest.toRequestBody("application/json".toMediaTypeOrNull()) |
|
|
|
viewModel.getCode(requestBody) |
|
|
|
viewModel.getRatesMutableData.observe(this) { 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 -> { |
|
|
|
listOfFrequency = getCodeResponse.Response.GetCodesList |
|
|
|
setViewPager() |
|
|
|
} |
|
|
|
// 650 -> refreshToken() |
|
|
|
else -> {} |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
is Resource.Error -> { |
|
|
|
response.message?.let { message -> |
|
|
|
Log.e(" ", "An error occurred:$message") |
|
|
|
} |
|
|
|
} |
|
|
|
is Resource.Loading -> { |
|
|
|
|
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
private fun setViewPager() { |
|
|
|
// steps setting |
|
|
|
setBackground(selectedShape(), defaultShape(), defaultShape(), defaultShape()) |
|
|
@ -136,63 +178,6 @@ class BajajFdMainActivity : AppCompatActivity(), BajajFDInterface { |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
private fun getCodeApi() { |
|
|
|
val getCodeRequest = GetCodeRequest() |
|
|
|
getCodeRequest.ProductName = "BajajFD" |
|
|
|
getCodeRequest.Category = "InterestPayoutFreq" |
|
|
|
getCodeRequest.Language = "EN" |
|
|
|
getCodeRequest.InputValue = "" |
|
|
|
val codeRequest : String = Gson().toJson(getCodeRequest); |
|
|
|
val requestBody = codeRequest.toRequestBody("application/json".toMediaTypeOrNull()) |
|
|
|
viewModel.getCode(requestBody) |
|
|
|
viewModel.getRatesMutableData.observe(this) { response -> |
|
|
|
when (response) { |
|
|
|
is Resource.Success -> { |
|
|
|
Log.e("response", "-->"+response) |
|
|
|
val getCodeResponse: GetCodeResponse = |
|
|
|
Gson().fromJson(response.toString(), GetCodeResponse::class.java) |
|
|
|
getCodeResponse.Response.StatusCode.let { code -> |
|
|
|
when (code) { |
|
|
|
200 -> { |
|
|
|
listOfFrequency = getCodeResponse.Response.GetCodesList |
|
|
|
setViewPager() |
|
|
|
} |
|
|
|
// 650 -> refreshToken() |
|
|
|
else -> {} |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
is Resource.Error -> { |
|
|
|
response.message?.let { message -> |
|
|
|
Log.e(" ", "An error occurred:$message") |
|
|
|
} |
|
|
|
} |
|
|
|
is Resource.Loading -> { |
|
|
|
|
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
// set Default Step |
|
|
|
private fun defaultShape(): GradientDrawable { |
|
|
|
val shape = GradientDrawable() |
|
|
|
shape.shape = GradientDrawable.OVAL |
|
|
|
shape.setColor(Color.WHITE) |
|
|
|
shape.setStroke(6, Color.parseColor(Colors.colorDefault)) |
|
|
|
return shape |
|
|
|
} |
|
|
|
|
|
|
|
// set Selected Step |
|
|
|
private fun selectedShape(): GradientDrawable { |
|
|
|
val shape = GradientDrawable() |
|
|
|
shape.shape = GradientDrawable.OVAL |
|
|
|
shape.setColor(Color.parseColor(Colors.colorDefault)) |
|
|
|
shape.setStroke(6, Color.parseColor(Colors.colorDefault)) |
|
|
|
return shape |
|
|
|
} |
|
|
|
|
|
|
|
// set background for selected/ default step |
|
|
|
private fun setBackground( |
|
|
|
drawable: Drawable?, |
|
|
|