3 Commits

Author SHA1 Message Date
  Hemant Khadase 5e090421fd updated code 2 years ago
  Hemant Khadase 630b233ac7 added modification in code 2 years ago
  Hemant Khadase 39ce0a10e0 resolved gradle setting issue 2 years ago
34 changed files with 229 additions and 947 deletions
Unified View
  1. +2
    -2
      app/build.gradle
  2. +2
    -2
      app/src/main/java/com/nivesh/production/partnerOnBoarding/adapters/NewDistributorSignStepOneAdapter.kt
  3. +0
    -4
      app/src/main/java/com/nivesh/production/partnerOnBoarding/adapters/SectionsPagerAdapter1.kt
  4. +0
    -32
      app/src/main/java/com/nivesh/production/partnerOnBoarding/api/ApiCallback.kt
  5. +3
    -20
      app/src/main/java/com/nivesh/production/partnerOnBoarding/api/ApiClient.kt
  6. +0
    -60
      app/src/main/java/com/nivesh/production/partnerOnBoarding/db/PreferenceManager.kt
  7. +0
    -1
      app/src/main/java/com/nivesh/production/partnerOnBoarding/interfaces/ApiInterface.kt
  8. +2
    -21
      app/src/main/java/com/nivesh/production/partnerOnBoarding/interfaces/IPreferenceHelper.kt
  9. +0
    -6
      app/src/main/java/com/nivesh/production/partnerOnBoarding/model/ErrorX.kt
  10. +0
    -8
      app/src/main/java/com/nivesh/production/partnerOnBoarding/model/ImageSelectedModel.kt
  11. +1
    -1
      app/src/main/java/com/nivesh/production/partnerOnBoarding/model/ResultXX.kt
  12. +0
    -6
      app/src/main/java/com/nivesh/production/partnerOnBoarding/model/request/GetAMFIDetailRequest.kt
  13. +0
    -8
      app/src/main/java/com/nivesh/production/partnerOnBoarding/model/request/SaveEAgreementRequestX.kt
  14. +0
    -4
      app/src/main/java/com/nivesh/production/partnerOnBoarding/repositories/DataRepository.kt
  15. +0
    -12
      app/src/main/java/com/nivesh/production/partnerOnBoarding/repositories/MainRepository.kt
  16. +17
    -25
      app/src/main/java/com/nivesh/production/partnerOnBoarding/ui/activities/RegisterActivity.kt
  17. +0
    -31
      app/src/main/java/com/nivesh/production/partnerOnBoarding/ui/activities/SignUpActivity.kt
  18. +2
    -3
      app/src/main/java/com/nivesh/production/partnerOnBoarding/ui/activities/ViewPagerActivity.kt
  19. +22
    -79
      app/src/main/java/com/nivesh/production/partnerOnBoarding/ui/fragments/AlmostThereFragment.kt
  20. +104
    -179
      app/src/main/java/com/nivesh/production/partnerOnBoarding/ui/fragments/GetStartedFragment.kt
  21. +13
    -25
      app/src/main/java/com/nivesh/production/partnerOnBoarding/ui/fragments/NewDistributorSignStepOne.kt
  22. +11
    -25
      app/src/main/java/com/nivesh/production/partnerOnBoarding/ui/fragments/OTPFragment.kt
  23. +0
    -1
      app/src/main/java/com/nivesh/production/partnerOnBoarding/ui/fragments/QuestionsFragment.kt
  24. +9
    -20
      app/src/main/java/com/nivesh/production/partnerOnBoarding/ui/fragments/SaveEAgreementFragment.kt
  25. +10
    -36
      app/src/main/java/com/nivesh/production/partnerOnBoarding/ui/fragments/SignUpFragment.kt
  26. +23
    -105
      app/src/main/java/com/nivesh/production/partnerOnBoarding/util/Common.kt
  27. +4
    -3
      app/src/main/java/com/nivesh/production/partnerOnBoarding/util/Constants.kt
  28. +0
    -134
      app/src/main/java/com/nivesh/production/partnerOnBoarding/util/ImageFilePath.kt
  29. +0
    -27
      app/src/main/java/com/nivesh/production/partnerOnBoarding/util/ImageUtil.kt
  30. +0
    -8
      app/src/main/java/com/nivesh/production/partnerOnBoarding/util/ProgressUtil.kt
  31. +0
    -12
      app/src/main/java/com/nivesh/production/partnerOnBoarding/viewModels/MyObservable.kt
  32. +0
    -47
      app/src/main/java/com/nivesh/production/partnerOnBoarding/viewModels/OnBoardingViewModel.kt
  33. +2
    -0
      app/src/main/res/values-hi-rIN/strings.xml
  34. +2
    -0
      app/src/main/res/values/strings.xml

+ 2
- 2
app/build.gradle View File

@ -58,8 +58,8 @@ dependencies {
implementation "androidx.lifecycle:lifecycle-viewmodel-ktx:2.6.1" implementation "androidx.lifecycle:lifecycle-viewmodel-ktx:2.6.1"
// Coroutines // Coroutines
implementation 'org.jetbrains.kotlinx:kotlinx-coroutines-core:composeVersion'
implementation 'org.jetbrains.kotlinx:kotlinx-coroutines-android:composeVersion'
implementation 'org.jetbrains.kotlinx:kotlinx-coroutines-core:1.6.4'
implementation 'org.jetbrains.kotlinx:kotlinx-coroutines-android:1.6.4'
// Coroutine Lifecycle Scopes // Coroutine Lifecycle Scopes
implementation "androidx.lifecycle:lifecycle-viewmodel-ktx:2.6.1" implementation "androidx.lifecycle:lifecycle-viewmodel-ktx:2.6.1"


+ 2
- 2
app/src/main/java/com/nivesh/production/partnerOnBoarding/adapters/NewDistributorSignStepOneAdapter.kt View File

@ -20,7 +20,7 @@ class NewDistributorSignStepOneAdapter(private var listData: List<DataX>) :
RecyclerView.Adapter<NewDistributorSignStepOneAdapter.ViewHolder>() { RecyclerView.Adapter<NewDistributorSignStepOneAdapter.ViewHolder>() {
private var context: Context? = null private var context: Context? = null
private var isPosBroker: Boolean? = false private var isPosBroker: Boolean? = false
var isPosInsurer: Boolean? = false
private var isPosInsurer: Boolean? = false
override fun onCreateViewHolder(parent: ViewGroup, viewType: Int): ViewHolder { override fun onCreateViewHolder(parent: ViewGroup, viewType: Int): ViewHolder {
context = parent.context context = parent.context
@ -89,7 +89,7 @@ class NewDistributorSignStepOneAdapter(private var listData: List<DataX>) :
} }
holder.radioGroup.setOnCheckedChangeListener { group, checkedId -> holder.radioGroup.setOnCheckedChangeListener { group, checkedId ->
var rb: RadioButton = group.findViewById(checkedId)
val rb: RadioButton = group.findViewById(checkedId)
if(rb.text.equals("Yes")) if(rb.text.equals("Yes"))
holder.llPOS.visibility = View.VISIBLE holder.llPOS.visibility = View.VISIBLE
else holder.llPOS.visibility = View.GONE else holder.llPOS.visibility = View.GONE


+ 0
- 4
app/src/main/java/com/nivesh/production/partnerOnBoarding/adapters/SectionsPagerAdapter1.kt View File

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

+ 0
- 32
app/src/main/java/com/nivesh/production/partnerOnBoarding/api/ApiCallback.kt View File

@ -1,32 +0,0 @@
package com.nivesh.production.partnerOnBoarding.api
import com.nivesh.production.partnerOnBoarding.util.Resource
import retrofit2.Call
import retrofit2.Callback
import retrofit2.Response
abstract class ApiCallback<T : Any> : Callback<Resource<T>> {
abstract fun onSuccess(response: Resource<T>)
abstract fun onFailure(response: Resource<T>)
override fun onResponse(call: Call<Resource<T>>, response: Response<Resource<T>>) {
if (response.isSuccessful && response.body() != null && response.code() == 200) {
onSuccess(response.body()!!)
} else if (response.code() == 650){
// handle 4xx & 5xx error codes here
// val resp = Resource<T>()
// resp.status = false
// resp.message = response.message()
// onFailure(resp)
}
}
override fun onFailure(call: Call<Resource<T>>, t: Throwable) {
// val response = Resource<T>()
// response.status = false
// response.message = t.message.toString()
// onFailure(response)
}
}

+ 3
- 20
app/src/main/java/com/nivesh/production/partnerOnBoarding/api/ApiClient.kt View File

@ -2,40 +2,28 @@ package com.nivesh.production.partnerOnBoarding.api
import com.nivesh.production.partnerOnBoarding.NiveshFdApplication import com.nivesh.production.partnerOnBoarding.NiveshFdApplication
import com.nivesh.production.partnerOnBoarding.util.Constants
import com.nivesh.production.partnerOnBoarding.util.Constants.Companion.BASE_URL import com.nivesh.production.partnerOnBoarding.util.Constants.Companion.BASE_URL
import com.nivesh.production.partnerOnBoarding.util.Constants.Companion.BASE_URL_COMMON
import okhttp3.OkHttpClient import okhttp3.OkHttpClient
import okhttp3.logging.HttpLoggingInterceptor import okhttp3.logging.HttpLoggingInterceptor
import retrofit2.Retrofit import retrofit2.Retrofit
import retrofit2.converter.gson.GsonConverterFactory import retrofit2.converter.gson.GsonConverterFactory
import java.security.KeyStore import java.security.KeyStore
import java.util.*
import java.util.concurrent.TimeUnit import java.util.concurrent.TimeUnit
import javax.net.ssl.* import javax.net.ssl.*
class ApiClient { class ApiClient {
val context = NiveshFdApplication.appContext val context = NiveshFdApplication.appContext
//For First BaseURL
companion object { companion object {
private val clientOne by lazy { private val clientOne by lazy {
//lazy means we only initialize this here once
val logging = HttpLoggingInterceptor() val logging = HttpLoggingInterceptor()
//loggingInterceptor use for see making request and for see what responses are
logging.setLevel(HttpLoggingInterceptor.Level.BODY) logging.setLevel(HttpLoggingInterceptor.Level.BODY)
//see the body of response
//create client for retrofit
val trustManagerFactory: TrustManagerFactory = val trustManagerFactory: TrustManagerFactory =
TrustManagerFactory.getInstance(TrustManagerFactory.getDefaultAlgorithm()) TrustManagerFactory.getInstance(TrustManagerFactory.getDefaultAlgorithm())
trustManagerFactory.init(null as KeyStore?) trustManagerFactory.init(null as KeyStore?)
val trustManagers: Array<TrustManager> = trustManagerFactory.getTrustManagers()
val trustManagers: Array<TrustManager> = trustManagerFactory.trustManagers
check(!(trustManagers.size != 1 || trustManagers[0] !is X509TrustManager)) { check(!(trustManagers.size != 1 || trustManagers[0] !is X509TrustManager)) {
"Unexpected default trust managers:" + Arrays.toString(
trustManagers
)
"Unexpected default trust managers:" + trustManagers.contentToString()
} }
val trustManager: X509TrustManager = trustManagers[0] as X509TrustManager val trustManager: X509TrustManager = trustManagers[0] as X509TrustManager
val sslContext = SSLContext.getInstance("SSL") val sslContext = SSLContext.getInstance("SSL")
@ -50,10 +38,6 @@ class ApiClient {
.connectTimeout(20, TimeUnit.SECONDS) .connectTimeout(20, TimeUnit.SECONDS)
.readTimeout(30, TimeUnit.SECONDS) .readTimeout(30, TimeUnit.SECONDS)
.writeTimeout(30, TimeUnit.SECONDS) .writeTimeout(30, TimeUnit.SECONDS)
// .callTimeout(2, TimeUnit.MINUTES)
// .connectTimeout(200, TimeUnit.SECONDS)
// .readTimeout(300, TimeUnit.SECONDS)
// .writeTimeout(300, TimeUnit.SECONDS)
.build() .build()
Retrofit.Builder() Retrofit.Builder()
@ -63,8 +47,7 @@ class ApiClient {
.build() .build()
} }
//Common Method for All Client (BASE_URL)
val getApiClientOne: ApiInterface by lazy{
val getApiClientOne: ApiInterface by lazy {
clientOne.create(ApiInterface::class.java) clientOne.create(ApiInterface::class.java)
} }
} }

+ 0
- 60
app/src/main/java/com/nivesh/production/partnerOnBoarding/db/PreferenceManager.kt View File

@ -9,62 +9,13 @@ open class PreferenceManager(context: Context) : IPreferenceHelper {
private var preferences: SharedPreferences = context.getSharedPreferences(preferenceName, Context.MODE_PRIVATE) private var preferences: SharedPreferences = context.getSharedPreferences(preferenceName, Context.MODE_PRIVATE)
companion object { companion object {
const val KEY_USER_UID = "UserUid"
const val KEY_LOGIN_ROLE = "LoginRole"
const val KEY_SUB_BROKER_CODE = "SubBrokerCode"
const val KEY_LOGIN_PASSWORD = "LOGIN_PASSWORD"
const val KEY_CLIENT_UMS_ID = "UMS_Id"
const val KEY_CLIENT_CODE = "ClientCode" const val KEY_CLIENT_CODE = "ClientCode"
const val KEY_PARTNER_CODE = "PartnerCode" const val KEY_PARTNER_CODE = "PartnerCode"
const val KEY_GET_TOKEN = "GetToken" const val KEY_GET_TOKEN = "GetToken"
const val CLIENT_LANGUAGE = "LANGUAGE"
const val IS_FIRST_TIME = "IS FIRST TIME" const val IS_FIRST_TIME = "IS FIRST TIME"
const val APP_ID = "AppId"
}
override fun getLoginPasswordHash(): String {
return preferences[KEY_LOGIN_PASSWORD] ?: ""
}
override fun setLoginPasswordHash(appName: String) {
preferences[KEY_LOGIN_PASSWORD] = appName
}
override fun setUserUid(appName: Int) {
preferences[KEY_USER_UID] = appName
}
override fun getUserUid(): Int {
return preferences[KEY_USER_UID] ?: -1
}
override fun setLoginRole(appName: Int) {
preferences[KEY_LOGIN_ROLE] = appName
}
override fun getLoginRole(): Int {
return preferences[KEY_LOGIN_ROLE] ?: -1
} }
override fun setSubBrokerID(appName: String) {
preferences[KEY_SUB_BROKER_CODE] = appName
}
override fun getSubBrokerID(): String {
return preferences[KEY_SUB_BROKER_CODE] ?: ""
}
override fun setClientUmsID(appName: String) {
preferences[KEY_CLIENT_UMS_ID] = appName
}
override fun getClientUmsID(): String {
return preferences[KEY_CLIENT_UMS_ID] ?: ""
}
override fun setClientCode(appName: String) { override fun setClientCode(appName: String) {
preferences[KEY_CLIENT_CODE] = appName preferences[KEY_CLIENT_CODE] = appName
} }
@ -89,14 +40,6 @@ open class PreferenceManager(context: Context) : IPreferenceHelper {
return preferences[KEY_GET_TOKEN] ?: "" return preferences[KEY_GET_TOKEN] ?: ""
} }
override fun setLanguage(appName: String) {
preferences[CLIENT_LANGUAGE] = appName
}
override fun getLanguage(): String {
return preferences[CLIENT_LANGUAGE] ?: ""
}
override fun setIsFirstTime(appName: Boolean) { override fun setIsFirstTime(appName: Boolean) {
preferences[IS_FIRST_TIME] = appName preferences[IS_FIRST_TIME] = appName
@ -106,9 +49,6 @@ open class PreferenceManager(context: Context) : IPreferenceHelper {
return preferences[IS_FIRST_TIME] ?: false return preferences[IS_FIRST_TIME] ?: false
} }
override fun getAppId(): String {
return preferences[APP_ID] ?: ""
}
override fun clearPrefs() { override fun clearPrefs() {
preferences.edit().clear().apply() preferences.edit().clear().apply()


+ 0
- 1
app/src/main/java/com/nivesh/production/partnerOnBoarding/interfaces/ApiInterface.kt View File

@ -3,7 +3,6 @@ package com.nivesh.production.partnerOnBoarding.api
import com.google.gson.JsonObject import com.google.gson.JsonObject
import com.nivesh.production.partnerOnBoarding.model.* import com.nivesh.production.partnerOnBoarding.model.*
import com.nivesh.production.partnerOnBoarding.model.request.PartnerRequest import com.nivesh.production.partnerOnBoarding.model.request.PartnerRequest
import com.nivesh.production.partnerOnBoarding.model.request.SaveEAgreementRequest
import com.nivesh.production.partnerOnBoarding.model.request.SendOTPRequest import com.nivesh.production.partnerOnBoarding.model.request.SendOTPRequest
import com.nivesh.production.partnerOnBoarding.model.request.ValidatePartnerRequest import com.nivesh.production.partnerOnBoarding.model.request.ValidatePartnerRequest
import okhttp3.MultipartBody import okhttp3.MultipartBody


+ 2
- 21
app/src/main/java/com/nivesh/production/partnerOnBoarding/interfaces/IPreferenceHelper.kt View File

@ -2,36 +2,17 @@ package com.nivesh.production.partnerOnBoarding.interfaces
interface IPreferenceHelper { interface IPreferenceHelper {
fun getLoginPasswordHash(): String
fun setLoginPasswordHash(appName: String)
fun getUserUid(): Int
fun setUserUid(appName: Int)
fun getLoginRole(): Int
fun setLoginRole(appName: Int)
fun getSubBrokerID(): String
fun setSubBrokerID(appName: String)
fun getClientUmsID(): String
fun setClientUmsID(appName: String)
fun getClientCode(): String fun getClientCode(): String
fun setClientCode(appName: String) fun setClientCode(appName: String)
fun setToken(appName: String) fun setToken(appName: String)
fun getToken(): String fun getToken(): String
fun setLanguage(appName: String)
fun getLanguage(): String
fun setIsFirstTime(appName: Boolean) fun setIsFirstTime(appName: Boolean)
fun getFirstTime(): Boolean fun getFirstTime(): Boolean
fun clearPrefs()
fun getAppId(): String
fun setPartnerCode(partnerCode: String) fun setPartnerCode(partnerCode: String)
fun getPartnerCode(): String fun getPartnerCode(): String
fun clearPrefs()
} }

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

@ -1,6 +0,0 @@
package com.nivesh.production.partnerOnBoarding.model
data class ErrorX(
val ErrorCode: Int,
val ErrorMessage: String
)

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

@ -1,8 +0,0 @@
package com.nivesh.production.partnerOnBoarding.model
import java.io.File
data class ImageSelectedModel(
var file1: File? = null,
var file2: File? = null
)

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

@ -1,5 +1,5 @@
package com.nivesh.production.partnerOnBoarding.model package com.nivesh.production.partnerOnBoarding.model
data class ResultXX( data class ResultXX(
val Errors: List<ErrorX>
val Errors: List<Error>
) )

+ 0
- 6
app/src/main/java/com/nivesh/production/partnerOnBoarding/model/request/GetAMFIDetailRequest.kt View File

@ -1,6 +0,0 @@
package com.nivesh.production.partnerOnBoarding.model.request
data class GetAMFIDetailRequest(
var Mobile: String = "",
var ARN: String = ""
)

+ 0
- 8
app/src/main/java/com/nivesh/production/partnerOnBoarding/model/request/SaveEAgreementRequestX.kt View File

@ -1,8 +0,0 @@
package com.nivesh.production.partnerOnBoarding.model.request
data class SaveEAgreementRequestX(
val FinancialYear: String,
val OTP: Int,
val OTPGenerationDate: String,
val SubBrokerCode: String
)

+ 0
- 4
app/src/main/java/com/nivesh/production/partnerOnBoarding/repositories/DataRepository.kt View File

@ -1,4 +0,0 @@
package com.nivesh.production.partnerOnBoarding.repositories
class DataRepository {
}

+ 0
- 12
app/src/main/java/com/nivesh/production/partnerOnBoarding/repositories/MainRepository.kt View File

@ -2,7 +2,6 @@ package com.nivesh.production.partnerOnBoarding.repositories
import com.nivesh.production.partnerOnBoarding.api.ApiInterface import com.nivesh.production.partnerOnBoarding.api.ApiInterface
import com.nivesh.production.partnerOnBoarding.model.request.PartnerRequest import com.nivesh.production.partnerOnBoarding.model.request.PartnerRequest
import com.nivesh.production.partnerOnBoarding.model.request.SaveEAgreementRequest
import com.nivesh.production.partnerOnBoarding.model.request.SendOTPRequest import com.nivesh.production.partnerOnBoarding.model.request.SendOTPRequest
import com.nivesh.production.partnerOnBoarding.model.request.ValidatePartnerRequest import com.nivesh.production.partnerOnBoarding.model.request.ValidatePartnerRequest
import okhttp3.MultipartBody import okhttp3.MultipartBody
@ -10,17 +9,6 @@ import okhttp3.RequestBody
class MainRepository constructor(private val apiInterface: ApiInterface) { class MainRepository constructor(private val apiInterface: ApiInterface) {
// MainActivity
// suspend fun getStepsCountResponse(requestBody: FDStepsCountRequest, token: String) =
// apiInterface.getFDStepsCount(requestBody, token)
//
// suspend fun getClientDetailsResponse(getClientDetails: getClientDetailsRequest, token: String) =
// apiInterface.getClientDetails(getClientDetails, token)
//
// suspend fun getPartnerResponse(partnerRequest: PartnerRequest) = apiInterface.postPartnerCreation(partnerRequest)
suspend fun getPartnerCreationResponse(requestBody: PartnerRequest, token: String) = suspend fun getPartnerCreationResponse(requestBody: PartnerRequest, token: String) =
apiInterface.postPartnerCreation(requestBody) apiInterface.postPartnerCreation(requestBody)


+ 17
- 25
app/src/main/java/com/nivesh/production/partnerOnBoarding/ui/activities/RegisterActivity.kt View File

@ -24,7 +24,6 @@ class RegisterActivity : BaseActivity() {
setContentView(this.root) setContentView(this.root)
} }
binding.imgInfo.setOnClickListener { binding.imgInfo.setOnClickListener {
} }
@ -33,32 +32,15 @@ class RegisterActivity : BaseActivity() {
intent = Intent(this@RegisterActivity, RegisterActivity::class.java) intent = Intent(this@RegisterActivity, RegisterActivity::class.java)
startActivity(intent) startActivity(intent)
} }
binding.btnDistributor.setOnClickListener { binding.btnDistributor.setOnClickListener {
if (!PreferenceManager(this@RegisterActivity).getFirstTime()){
intent = Intent(this@RegisterActivity, ViewPagerActivity::class.java)
intent.putExtra("type", 4)
intent.putExtra("arnType","advisory")
startActivity(intent)
}else{
intent = Intent(this@RegisterActivity, SignUpActivity::class.java)
intent.putExtra("type", 4)
intent.putExtra("arnType","advisory")
startActivity(intent)
}
commonMethod(4, "advisory")
} }
binding.btnReferrer.setOnClickListener { binding.btnReferrer.setOnClickListener {
if (!PreferenceManager(this@RegisterActivity).getFirstTime()){
intent = Intent(this@RegisterActivity, ViewPagerActivity::class.java)
intent.putExtra("type", 3)
intent.putExtra("arnType","Associate")
startActivity(intent)
}else{
intent = Intent(this@RegisterActivity, SignUpActivity::class.java)
intent.putExtra("type", 3)
intent.putExtra("arnType","Associate")
startActivity(intent)
}
commonMethod(3, "Associate")
} }
binding.imgInfo.setOnClickListener { binding.imgInfo.setOnClickListener {
showWebViewDialogBottom( showWebViewDialogBottom(
this@RegisterActivity, this@RegisterActivity,
@ -68,10 +50,20 @@ class RegisterActivity : BaseActivity() {
} }
} }
private fun commonMethod(type: Int, brokerType: String) {
intent = if (!PreferenceManager(this@RegisterActivity).getFirstTime()){
Intent(this@RegisterActivity, ViewPagerActivity::class.java)
}else{
Intent(this@RegisterActivity, SignUpActivity::class.java)
}
intent.putExtra("type", type)
intent.putExtra("arnType",brokerType)
startActivity(intent)
}
private fun getScreenHeight(): Int { private fun getScreenHeight(): Int {
val height: Int = if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.R) { val height: Int = if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.R) {
val defaultDisplay =
DisplayManagerCompat.getInstance(this).getDisplay(Display.DEFAULT_DISPLAY)
val defaultDisplay = DisplayManagerCompat.getInstance(this@RegisterActivity).getDisplay(Display.DEFAULT_DISPLAY)
val displayContext = createDisplayContext(defaultDisplay!!) val displayContext = createDisplayContext(defaultDisplay!!)
displayContext.resources.displayMetrics.heightPixels displayContext.resources.displayMetrics.heightPixels
} else { } else {


+ 0
- 31
app/src/main/java/com/nivesh/production/partnerOnBoarding/ui/activities/SignUpActivity.kt View File

@ -13,7 +13,6 @@ import com.nivesh.production.partnerOnBoarding.viewModels.OnBoardingViewModel
class SignUpActivity : BaseActivity() { class SignUpActivity : BaseActivity() {
lateinit var binding: ActivitySignupBinding lateinit var binding: ActivitySignupBinding
lateinit var viewModelOne: OnBoardingViewModel lateinit var viewModelOne: OnBoardingViewModel
// lateinit var viewModelTwo: OnBoardingViewModel
var type: Int? = null var type: Int? = null
override fun onCreate(savedInstanceState: Bundle?) { override fun onCreate(savedInstanceState: Bundle?) {
@ -22,22 +21,11 @@ class SignUpActivity : BaseActivity() {
} }
private fun init() { private fun init() {
// viewModel = ViewModelProvider(
// this@SignUpActivity,
// ViewModelProviderFactory(MainRepository(ApiClient.getApiClient))
// )[OnBoardingViewModel::class.java]
viewModelOne = ViewModelProvider( viewModelOne = ViewModelProvider(
this@SignUpActivity, this@SignUpActivity,
OnBoardingModelProviderFactory(MainRepository(ApiClient.getApiClientOne)) OnBoardingModelProviderFactory(MainRepository(ApiClient.getApiClientOne))
)[OnBoardingViewModel::class.java] )[OnBoardingViewModel::class.java]
// viewModelTwo = ViewModelProvider(
// this@SignUpActivity,
// OnBoardingModelProviderFactory(MainRepository(ApiClient.getApiClientTwo))
// )[OnBoardingViewModel::class.java]
type = intent.getIntExtra("type", 0) type = intent.getIntExtra("type", 0)
binding = ActivitySignupBinding.inflate(layoutInflater) binding = ActivitySignupBinding.inflate(layoutInflater)
@ -53,23 +41,4 @@ class SignUpActivity : BaseActivity() {
supportFragmentManager.beginTransaction().add(R.id.signUpContainer, fragment).commit() supportFragmentManager.beginTransaction().add(R.id.signUpContainer, fragment).commit()
} }
// override fun onBackPressed() {
// val fm: FragmentManager = supportFragmentManager
// if (fm.backStackEntryCount > 0) {
// Log.i("MainActivity", "popping backstack")
// fm.popBackStack()
// } else {
// Log.i("MainActivity", "nothing on backstack, calling super")
// super.onBackPressed()
// }
// }
private fun exitOnBackPressed() {
if (isTaskRoot) {
finish()
} else {
}
}
} }

+ 2
- 3
app/src/main/java/com/nivesh/production/partnerOnBoarding/ui/activities/ViewPagerActivity.kt View File

@ -36,14 +36,14 @@ class ViewPagerActivity : BaseActivity() {
private fun setViewPager() { private fun setViewPager() {
PreferenceManager(this@ViewPagerActivity).setIsFirstTime(true) PreferenceManager(this@ViewPagerActivity).setIsFirstTime(true)
type = intent.getIntExtra("type", 0);
type = intent.getIntExtra("type", 0)
fragments = arrayOf( fragments = arrayOf(
stepOnePagerFragment, stepOnePagerFragment,
stepTwoPagerFragment, stepTwoPagerFragment,
stepThreePagerFragment stepThreePagerFragment
) )
// set viewPager
sectionsPagerAdapter = SectionsPagerAdapter1(supportFragmentManager, fragments) sectionsPagerAdapter = SectionsPagerAdapter1(supportFragmentManager, fragments)
val viewPager: DisableAdapter1 = binding.viewPager1 val viewPager: DisableAdapter1 = binding.viewPager1
viewPager.adapter = sectionsPagerAdapter viewPager.adapter = sectionsPagerAdapter
@ -77,7 +77,6 @@ class ViewPagerActivity : BaseActivity() {
} }
}) })
binding.tvSkip.setOnClickListener{ binding.tvSkip.setOnClickListener{
stepFourApi() stepFourApi()
} }


+ 22
- 79
app/src/main/java/com/nivesh/production/partnerOnBoarding/ui/fragments/AlmostThereFragment.kt View File

@ -3,7 +3,6 @@ package com.nivesh.production.partnerOnBoarding.ui.fragments
import android.os.Build import android.os.Build
import android.os.Bundle import android.os.Bundle
import android.text.Editable import android.text.Editable
import android.text.TextUtils
import android.text.TextWatcher import android.text.TextWatcher
import android.util.Log import android.util.Log
import android.view.LayoutInflater import android.view.LayoutInflater
@ -18,24 +17,20 @@ import com.nivesh.production.partnerOnBoarding.databinding.FragmentAlmostThereBi
import com.nivesh.production.partnerOnBoarding.db.PreferenceManager import com.nivesh.production.partnerOnBoarding.db.PreferenceManager
import com.nivesh.production.partnerOnBoarding.model.DataX import com.nivesh.production.partnerOnBoarding.model.DataX
import com.nivesh.production.partnerOnBoarding.model.request.PartnerRequest import com.nivesh.production.partnerOnBoarding.model.request.PartnerRequest
import com.nivesh.production.partnerOnBoarding.model.request.SaveEAgreementRequest
import com.nivesh.production.partnerOnBoarding.model.response.DocumentTypeResponse
import com.nivesh.production.partnerOnBoarding.model.response.PANResponse import com.nivesh.production.partnerOnBoarding.model.response.PANResponse
import com.nivesh.production.partnerOnBoarding.model.response.PartnerResponse import com.nivesh.production.partnerOnBoarding.model.response.PartnerResponse
import com.nivesh.production.partnerOnBoarding.providerfactory.OnBoardingModelProviderFactory import com.nivesh.production.partnerOnBoarding.providerfactory.OnBoardingModelProviderFactory
import com.nivesh.production.partnerOnBoarding.repositories.MainRepository import com.nivesh.production.partnerOnBoarding.repositories.MainRepository
import com.nivesh.production.partnerOnBoarding.ui.activities.BaseActivity import com.nivesh.production.partnerOnBoarding.ui.activities.BaseActivity
import com.nivesh.production.partnerOnBoarding.util.Common
import com.nivesh.production.partnerOnBoarding.ui.activities.SignUpActivity import com.nivesh.production.partnerOnBoarding.ui.activities.SignUpActivity
import com.nivesh.production.partnerOnBoarding.util.Common
import com.nivesh.production.partnerOnBoarding.util.Common.Companion.isValidPinCode
import com.nivesh.production.partnerOnBoarding.viewModels.OnBoardingViewModel import com.nivesh.production.partnerOnBoarding.viewModels.OnBoardingViewModel
class AlmostThereFragment : BaseFragment() { class AlmostThereFragment : BaseFragment() {
private var _binding: FragmentAlmostThereBinding? = null private var _binding: FragmentAlmostThereBinding? = null
private val binding get() = _binding!! private val binding get() = _binding!!
lateinit var viewModel: OnBoardingViewModel
// private lateinit var arnData: DataX
// private lateinit var panResponse: PANResponse
private lateinit var viewModel: OnBoardingViewModel
override fun onCreateView( override fun onCreateView(
inflater: LayoutInflater, container: ViewGroup?, savedInstanceState: Bundle? inflater: LayoutInflater, container: ViewGroup?, savedInstanceState: Bundle?
): View { ): View {
@ -58,9 +53,9 @@ class AlmostThereFragment : BaseFragment() {
val partnerRequest: PartnerRequest = val partnerRequest: PartnerRequest =
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.TIRAMISU) { if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.TIRAMISU) {
arguments?.getSerializable("Inputvalue", PartnerRequest::class.java)!!
arguments?.getSerializable("InputValue", PartnerRequest::class.java)!!
} else { } else {
(arguments?.getSerializable("Inputvalue") as? PartnerRequest)!!
(arguments?.getSerializable("InputValue") as? PartnerRequest)!!
} }
val arnData: DataX? = if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.TIRAMISU) { val arnData: DataX? = if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.TIRAMISU) {
@ -70,16 +65,15 @@ class AlmostThereFragment : BaseFragment() {
} }
val panResponse: PANResponse? = if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.TIRAMISU) { val panResponse: PANResponse? = if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.TIRAMISU) {
arguments?.getSerializable("PANDATA", PANResponse::class.java)
arguments?.getSerializable("panData", PANResponse::class.java)
} else { } else {
(arguments?.getSerializable("PANDATA") as? PANResponse)!!
(arguments?.getSerializable("panData") as? PANResponse)!!
} }
Log.e("check_arn_Data", arnData.toString() + "\n" + panResponse.toString()) Log.e("check_arn_Data", arnData.toString() + "\n" + panResponse.toString())
if (panResponse != null) if (panResponse != null)
binding.edtDate.setText(panResponse.Result.data.DOB) binding.edtDate.setText(panResponse.Result.data.DOB)
//TODO: Set AMFI Data if Availabe else set PAN Data
if (arnData?.FullName != null) { if (arnData?.FullName != null) {
binding.edtFullName.setText(arnData.FullName) binding.edtFullName.setText(arnData.FullName)
} else if (panResponse?.Result?.data?.FullName != null) { } else if (panResponse?.Result?.data?.FullName != null) {
@ -88,7 +82,6 @@ class AlmostThereFragment : BaseFragment() {
binding.edtFullName.setText("") binding.edtFullName.setText("")
} }
//TODO: Set Address Line1 Data from AMFI if Available else from Pan
if (arnData?.Address != null) { if (arnData?.Address != null) {
binding.edtAddressLine1.setText(arnData.Address) binding.edtAddressLine1.setText(arnData.Address)
} else if (panResponse?.Result?.data?.Address1 != null) { } else if (panResponse?.Result?.data?.Address1 != null) {
@ -104,7 +97,6 @@ class AlmostThereFragment : BaseFragment() {
binding.edtAddressLine2.setText("") binding.edtAddressLine2.setText("")
} }
//TODO: Set Pin Data from AMFI if Available else from Pan
if (arnData?.Pincode != null) { if (arnData?.Pincode != null) {
binding.edtPinCode.setText(arnData.Pincode) binding.edtPinCode.setText(arnData.Pincode)
} else if (panResponse?.Result?.data?.Pincode != null) { } else if (panResponse?.Result?.data?.Pincode != null) {
@ -113,7 +105,6 @@ class AlmostThereFragment : BaseFragment() {
binding.edtPinCode.setText("") binding.edtPinCode.setText("")
} }
//TODO: Set City Data from AMFI if Available else from Pan
if (arnData?.City != null) { if (arnData?.City != null) {
binding.spCity.setText(arnData.City) binding.spCity.setText(arnData.City)
} else if (panResponse?.Result?.data?.City != null) { } else if (panResponse?.Result?.data?.City != null) {
@ -122,7 +113,6 @@ class AlmostThereFragment : BaseFragment() {
binding.spCity.setText("") binding.spCity.setText("")
} }
//TODO: Set State Data from AMFI if Available else from Pan
if (arnData?.State != null) { if (arnData?.State != null) {
binding.spState.setText(arnData.State) binding.spState.setText(arnData.State)
} else if (panResponse?.Result?.data?.State != null) { } else if (panResponse?.Result?.data?.State != null) {
@ -137,28 +127,6 @@ class AlmostThereFragment : BaseFragment() {
Common.datePicker(activity as SignUpActivity, binding.edtDate) Common.datePicker(activity as SignUpActivity, binding.edtDate)
} }
// binding.edtDate.addTextChangedListener(object : TextWatcher {
// override fun afterTextChanged(s: Editable?) {}
// override fun beforeTextChanged(s: CharSequence?, start: Int, count: Int, after: Int) {}
// override fun onTextChanged(s: CharSequence?, start: Int, before: Int, count: Int) {
// Common.removeError(binding.tlDay)
// }
// })
// binding.edtMonth.addTextChangedListener(object : TextWatcher {
// override fun afterTextChanged(s: Editable?) {}
// override fun beforeTextChanged(s: CharSequence?, start: Int, count: Int, after: Int) {}
// override fun onTextChanged(s: CharSequence?, start: Int, before: Int, count: Int) {
// Common.removeError(binding.tlMonth)
// }
// })
// binding.edtYear.addTextChangedListener(object : TextWatcher {
// override fun afterTextChanged(s: Editable?) {}
// override fun beforeTextChanged(s: CharSequence?, start: Int, count: Int, after: Int) {}
// override fun onTextChanged(s: CharSequence?, start: Int, before: Int, count: Int) {
// Common.removeError(binding.tlYear)
// }
// })
binding.edtFullName.addTextChangedListener(object : TextWatcher { binding.edtFullName.addTextChangedListener(object : TextWatcher {
override fun afterTextChanged(s: Editable?) {} override fun afterTextChanged(s: Editable?) {}
override fun beforeTextChanged(s: CharSequence?, start: Int, count: Int, after: Int) {} override fun beforeTextChanged(s: CharSequence?, start: Int, count: Int, after: Int) {}
@ -194,7 +162,6 @@ class AlmostThereFragment : BaseFragment() {
binding.spCity.setOnClickListener { binding.spCity.setOnClickListener {
} }
binding.spState.setOnClickListener { binding.spState.setOnClickListener {
} }
@ -218,7 +185,6 @@ class AlmostThereFragment : BaseFragment() {
binding.btnNext.setOnClickListener { binding.btnNext.setOnClickListener {
if (validate()) { if (validate()) {
//TODO: ARN,EUIN,ECertificate,Name,Pan,PCertificate value getting from Previous Fragment
partnerRequest.Pin = binding.edtPinCode.text.toString() partnerRequest.Pin = binding.edtPinCode.text.toString()
partnerRequest.City = binding.spCity.text.toString() partnerRequest.City = binding.spCity.text.toString()
partnerRequest.State = binding.spState.text.toString() partnerRequest.State = binding.spState.text.toString()
@ -230,11 +196,8 @@ class AlmostThereFragment : BaseFragment() {
partnerRequest.OtherProductName = "" partnerRequest.OtherProductName = ""
partnerRequest.PartnerCode = PreferenceManager((activity as SignUpActivity)).getPartnerCode() partnerRequest.PartnerCode = PreferenceManager((activity as SignUpActivity)).getPartnerCode()
partnerRequest.PartnerType = "advisory" partnerRequest.PartnerType = "advisory"
Log.e("check_partner",partnerRequest.toString())
Log.e("check_partner", partnerRequest.toString())
apiPartnerCreation(partnerRequest) apiPartnerCreation(partnerRequest)
// ApiClient.getApiClient.postPartnerCreation(partnerCreation)
} }
} }
} }
@ -255,12 +218,12 @@ class AlmostThereFragment : BaseFragment() {
PartnerResponse::class.java PartnerResponse::class.java
) )
Log.e("check_res_partner", res.toString()) Log.e("check_res_partner", res.toString())
if(res.Status == "success") {
if (res.Status == "success") {
Toast.makeText(requireActivity(), res.Message, Toast.LENGTH_LONG).show() Toast.makeText(requireActivity(), res.Message, Toast.LENGTH_LONG).show()
var bundle = Bundle()
bundle.putSerializable("mobile",arguments?.getString("mobile")!!)
bundle.putSerializable("email",binding.edtEmail.text.toString())
val bundle = Bundle()
bundle.putSerializable("mobile", arguments?.getString("mobile")!!)
bundle.putSerializable("email", binding.edtEmail.text.toString())
val fragment = SaveEAgreementFragment() val fragment = SaveEAgreementFragment()
fragment.arguments = bundle fragment.arguments = bundle
replaceFragment( replaceFragment(
@ -272,24 +235,6 @@ class AlmostThereFragment : BaseFragment() {
) )
} }
} }
// (activity as SignUpActivity).viewModel.getPartnerCreation(partnerRequest,"",activity as SignUpActivity)
// (activity as SignUpActivity).viewModel.postPartnerCreationViewModel.observe(viewLifecycleOwner){ resposne ->
// when (resposne){
// is Resource.Success ->{
// Log.e("check_res",resposne.toString())
// }
// is Resource.Error -> {
// Log.e("check_error",resposne.toString())
// }
// is Resource.DataError ->{
// Log.e("check_data_error",resposne.toString())
// }
// is Resource.Loading ->{
// Log.e("check_loading",resposne.toString())
// }
// }
// }
} }
private fun validate(): Boolean { private fun validate(): Boolean {
@ -299,8 +244,7 @@ class AlmostThereFragment : BaseFragment() {
binding.tlDay, binding.tlDay,
getString(R.string.emptyDOB) getString(R.string.emptyDOB)
) )
}
else if (binding.edtFullName.text.toString().isEmpty()) { // EditText
} else if (binding.edtFullName.text.toString().isEmpty()) { // EditText
Common.commonErrorMethod( Common.commonErrorMethod(
binding.edtFullName, binding.edtFullName,
binding.tlFullName, binding.tlFullName,
@ -330,32 +274,31 @@ class AlmostThereFragment : BaseFragment() {
binding.tlPinCode, binding.tlPinCode,
getString(R.string.emptyPinCode) getString(R.string.emptyPinCode)
) )
} else if (binding.edtPinCode.text.toString().length != 6) { // EditText
} else if (isValidPinCode(binding.edtPinCode.text.toString())) { // EditText
Common.commonErrorMethod( Common.commonErrorMethod(
binding.edtPinCode, binding.edtPinCode,
binding.tlPinCode, binding.tlPinCode,
getString(R.string.validPinCode) getString(R.string.validPinCode)
) )
}
else if (binding.spCity.text.toString().isEmpty()) { // EditText
} else if (binding.spCity.text.toString().isEmpty()) { // EditText
Common.commonSpinnerErrorMethod( Common.commonSpinnerErrorMethod(
binding.spCity, binding.spCity,
binding.tlCity, binding.tlCity,
getString(R.string.emptyCity) getString(R.string.emptyCity)
) )
}
else if (binding.spState.text.toString().isEmpty()) { // EditText
} else if (binding.spState.text.toString().isEmpty()) { // EditText
Common.commonSpinnerErrorMethod( Common.commonSpinnerErrorMethod(
binding.spState, binding.spState,
binding.tlState, binding.tlState,
getString(R.string.emptyState) getString(R.string.emptyState)
) )
}
else if(!binding.cbCheck.isChecked){
Common.showDialogValidation((activity as SignUpActivity),getString(R.string.termsConditionText))
} else if (!binding.cbCheck.isChecked) {
Common.showDialogValidation(
(activity as SignUpActivity),
getString(R.string.termsConditionText)
)
return false return false
}
else return binding.cbCheck.isChecked
} else return binding.cbCheck.isChecked
} }
} }

+ 104
- 179
app/src/main/java/com/nivesh/production/partnerOnBoarding/ui/fragments/GetStartedFragment.kt View File

@ -52,9 +52,9 @@ import com.nivesh.production.partnerOnBoarding.ui.activities.SignUpActivity
import com.nivesh.production.partnerOnBoarding.util.* import com.nivesh.production.partnerOnBoarding.util.*
import com.nivesh.production.partnerOnBoarding.util.Common.Companion.getFileExtension import com.nivesh.production.partnerOnBoarding.util.Common.Companion.getFileExtension
import com.nivesh.production.partnerOnBoarding.util.Common.Companion.isValidIndividualPan import com.nivesh.production.partnerOnBoarding.util.Common.Companion.isValidIndividualPan
import com.nivesh.production.partnerOnBoarding.util.Common.Companion.isValidPan
import com.nivesh.production.partnerOnBoarding.util.Common.Companion.showDialogValidation import com.nivesh.production.partnerOnBoarding.util.Common.Companion.showDialogValidation
import com.nivesh.production.partnerOnBoarding.util.Common.Companion.showDialogWithTwoButtons import com.nivesh.production.partnerOnBoarding.util.Common.Companion.showDialogWithTwoButtons
import com.nivesh.production.partnerOnBoarding.util.Constants.Companion.maxFileSize
import com.nivesh.production.partnerOnBoarding.viewModels.OnBoardingViewModel import com.nivesh.production.partnerOnBoarding.viewModels.OnBoardingViewModel
import okhttp3.MediaType.Companion.toMediaType import okhttp3.MediaType.Companion.toMediaType
import okhttp3.MediaType.Companion.toMediaTypeOrNull import okhttp3.MediaType.Companion.toMediaTypeOrNull
@ -65,7 +65,6 @@ import okhttp3.RequestBody.Companion.toRequestBody
import org.json.JSONObject import org.json.JSONObject
import java.io.* import java.io.*
import java.util.* import java.util.*
import kotlin.collections.ArrayList
class GetStartedFragment : BaseFragment() { class GetStartedFragment : BaseFragment() {
private var _binding: FragmentGetStartedBinding? = null private var _binding: FragmentGetStartedBinding? = null
@ -78,35 +77,18 @@ class GetStartedFragment : BaseFragment() {
private val mainPANUpload: Int = 1 private val mainPANUpload: Int = 1
private val mainARNPhotoUpload: Int = 2 private val mainARNPhotoUpload: Int = 2
private val mainEUINPhotoUpload: Int = 3 private val mainEUINPhotoUpload: Int = 3
private val secondDocUpload: Int = 4
private var actionType: Int = -1 private var actionType: Int = -1
private var panString: String = "" private var panString: String = ""
private var docString: String = ""
private var docString2: String = ""
private var panFileExt: String? = "" private var panFileExt: String? = ""
private var photoFileExt: String? = ""
private var doc1FileExt: String? = ""
private var doc2fileExt: String? = ""
private var docValue: String = "" private var docValue: String = ""
private var uploadPosition = 0
private var isFront: Boolean = false private var isFront: Boolean = false
private var preSelectedDate = ""
private var preSelectedDate2 = ""
var year = 0
var month = 0
var day = 0
private var cal = Calendar.getInstance()
lateinit var viewModel: OnBoardingViewModel
private lateinit var viewModel: OnBoardingViewModel
private lateinit var listOfDocType: List<Data> private lateinit var listOfDocType: List<Data>
private var imageSelectedList = ArrayList<File>() private var imageSelectedList = ArrayList<File>()
private var imageSelectedARNOrEUIN = kotlin.collections.ArrayList<File>()
private var arnList = ArrayList<DataX>() private var arnList = ArrayList<DataX>()
private lateinit var arnData: DataX private lateinit var arnData: DataX
private lateinit var panRes: PANResponse private lateinit var panRes: PANResponse
private val MaxFileSize = 5
private val permissions = arrayOf( private val permissions = arrayOf(
Manifest.permission.READ_EXTERNAL_STORAGE, Manifest.permission.READ_EXTERNAL_STORAGE,
@ -129,18 +111,8 @@ class GetStartedFragment : BaseFragment() {
private val requestGalleryPermission = registerForActivityResult( private val requestGalleryPermission = registerForActivityResult(
ActivityResultContracts.RequestMultiplePermissions() ActivityResultContracts.RequestMultiplePermissions()
) { permission ->
// if (!permission.containsValue(false)) {
) {
selectImageIntent?.launch("image/*") selectImageIntent?.launch("image/*")
// } else {
// showDialogWithTwoButtons(
// (activity as SignUpActivity),
// getString(R.string.galleryPermission),
// getString(
// R.string.permissionsRequired
// )
// )
// }
} }
override fun onCreateView( override fun onCreateView(
@ -148,7 +120,6 @@ class GetStartedFragment : BaseFragment() {
container: ViewGroup?, container: ViewGroup?,
savedInstanceState: Bundle? savedInstanceState: Bundle?
): View { ): View {
// Inflate the layout for this fragment
_binding = FragmentGetStartedBinding.inflate(inflater, container, false) _binding = FragmentGetStartedBinding.inflate(inflater, container, false)
return binding.root return binding.root
} }
@ -172,23 +143,6 @@ class GetStartedFragment : BaseFragment() {
return null return null
} }
private fun isInputCorrect(
s: Editable,
totalSymbols: Int,
dividerModulo: Int,
divider: Char
): Boolean {
var isCorrect = s.length <= totalSymbols // check size of entered string
for (i in s.indices) { // check that every element is right
isCorrect = if (i > 0 && (i + 1) % dividerModulo == 0) {
isCorrect and (divider == s[i])
} else {
isCorrect and Character.isDigit(s[i])
}
}
return isCorrect
}
@SuppressLint("SuspiciousIndentation") @SuppressLint("SuspiciousIndentation")
private fun init() { private fun init() {
viewModel = ViewModelProvider( viewModel = ViewModelProvider(
@ -198,31 +152,10 @@ class GetStartedFragment : BaseFragment() {
var docType = "I" var docType = "I"
if (arguments?.getString("arnType").equals("Associate", true)) { if (arguments?.getString("arnType").equals("Associate", true)) {
binding.edtArnNumber.visibility = View.GONE
binding.tlArnNumber.visibility = View.GONE
binding.edtEUINNumber.visibility = View.GONE
binding.tlArnNumber.visibility = View.GONE
binding.edtPassingAMFI.visibility = View.GONE
binding.tlPassingAMFI.visibility = View.GONE
binding.edtExpiryAMFI.visibility = View.GONE
binding.tlExpiryAMFI.visibility = View.GONE
commonMethodForVisibility(View.GONE)
docType = "N" docType = "N"
} else if (arguments?.getString("arnType").equals("advisory", true)) { } else if (arguments?.getString("arnType").equals("advisory", true)) {
binding.edtArnNumber.visibility = View.VISIBLE
binding.tlArnNumber.visibility = View.VISIBLE
binding.edtEUINNumber.visibility = View.VISIBLE
binding.tlArnNumber.visibility = View.VISIBLE
binding.edtPassingAMFI.visibility = View.VISIBLE
binding.tlPassingAMFI.visibility = View.VISIBLE
binding.edtExpiryAMFI.visibility = View.VISIBLE
binding.tlExpiryAMFI.visibility = View.VISIBLE
commonMethodForVisibility(View.VISIBLE)
docType = "I" docType = "I"
} }
@ -294,7 +227,6 @@ class GetStartedFragment : BaseFragment() {
} }
binding.btnNext.setOnClickListener { binding.btnNext.setOnClickListener {
// apiUploadDocument()
if (arguments?.getString("arnType").equals("Associate", false)) { if (arguments?.getString("arnType").equals("Associate", false)) {
val pt = PartnerRequest() val pt = PartnerRequest()
pt.Name = binding.edtFullNamePanCard.text.toString() pt.Name = binding.edtFullNamePanCard.text.toString()
@ -302,9 +234,9 @@ class GetStartedFragment : BaseFragment() {
val fragment = AlmostThereFragment() val fragment = AlmostThereFragment()
val bundle = Bundle() val bundle = Bundle()
bundle.putSerializable("Inputvalue", pt)
bundle.putSerializable("InputValue", pt)
bundle.putSerializable("arnData", arnData) bundle.putSerializable("arnData", arnData)
bundle.putSerializable("PANDATA", panRes)
bundle.putSerializable("panData", panRes)
bundle.putString("mobile", arguments?.getString("mobile")) bundle.putString("mobile", arguments?.getString("mobile"))
fragment.arguments = bundle fragment.arguments = bundle
@ -328,9 +260,9 @@ class GetStartedFragment : BaseFragment() {
val fragment = AlmostThereFragment() val fragment = AlmostThereFragment()
val bundle = Bundle() val bundle = Bundle()
bundle.putSerializable("Inputvalue", pt)
bundle.putSerializable("InputValue", pt)
bundle.putSerializable("arnData", arnData) bundle.putSerializable("arnData", arnData)
bundle.putSerializable("PANDATA", panRes)
bundle.putSerializable("panData", panRes)
bundle.putString("mobile", arguments?.getString("mobile")) bundle.putString("mobile", arguments?.getString("mobile"))
fragment.arguments = bundle fragment.arguments = bundle
@ -397,12 +329,12 @@ class GetStartedFragment : BaseFragment() {
} }
} }
binding.rlARNUpload.setOnClickListener{
binding.rlARNUpload.setOnClickListener {
actionType = mainARNPhotoUpload actionType = mainARNPhotoUpload
selectImage()
selectImage()
} }
binding.rlEUINUpload.setOnClickListener{
binding.rlEUINUpload.setOnClickListener {
actionType = mainEUINPhotoUpload actionType = mainEUINPhotoUpload
selectImage() selectImage()
} }
@ -410,15 +342,17 @@ class GetStartedFragment : BaseFragment() {
binding.edtPanNumber.addTextChangedListener(object : TextWatcher { binding.edtPanNumber.addTextChangedListener(object : TextWatcher {
override fun onTextChanged(s: CharSequence?, start: Int, before: Int, count: Int) { override fun onTextChanged(s: CharSequence?, start: Int, before: Int, count: Int) {
Common.removeError(binding.tlPanNumber) Common.removeError(binding.tlPanNumber)
if(s.toString().length > 3 && s.toString()[3] != 'P'){
if (isValidIndividualPan(s.toString().trim())) {
binding.rlEUINUpload.visibility = View.GONE
} else {
binding.rlEUINUpload.visibility = View.VISIBLE binding.rlEUINUpload.visibility = View.VISIBLE
if(!TextUtils.isEmpty(binding.edtEUINNumber.text)){
if (!TextUtils.isEmpty(binding.edtEUINNumber.text)) {
binding.edtEUINNumberNF.setText(binding.edtEUINNumber.text.toString()) binding.edtEUINNumberNF.setText(binding.edtEUINNumber.text.toString())
binding.edtEUINNumber.visibility = View.GONE binding.edtEUINNumber.visibility = View.GONE
} }
}else if(s.toString().length > 3 && s.toString()[3] == 'P'){
binding.rlEUINUpload.visibility = View.GONE
} }
if (s.toString().trim().length >= 10 && !isPanVerify) { if (s.toString().trim().length >= 10 && !isPanVerify) {
apiPANVerify(s.toString().trim()) apiPANVerify(s.toString().trim())
} else if (s.toString().trim().length < 10 && !isPanVerify) { } else if (s.toString().trim().length < 10 && !isPanVerify) {
@ -429,7 +363,7 @@ class GetStartedFragment : BaseFragment() {
0 0
) )
binding.edtFullNamePanCard.setText("") binding.edtFullNamePanCard.setText("")
}else if(s.toString().length < 10){
} else if (s.toString().length < 10) {
isPanVerify = false isPanVerify = false
binding.edtPanNumber.setCompoundDrawablesWithIntrinsicBounds( binding.edtPanNumber.setCompoundDrawablesWithIntrinsicBounds(
0, 0,
@ -437,8 +371,7 @@ class GetStartedFragment : BaseFragment() {
0, 0,
0 0
) )
}
else {
} else {
binding.edtPanNumber.setCompoundDrawablesWithIntrinsicBounds( binding.edtPanNumber.setCompoundDrawablesWithIntrinsicBounds(
0, 0,
0, 0,
@ -461,6 +394,17 @@ class GetStartedFragment : BaseFragment() {
} }
} }
private fun commonMethodForVisibility(visibility: Int) {
binding.edtArnNumber.visibility = visibility
binding.tlArnNumber.visibility = visibility
binding.edtEUINNumber.visibility = visibility
binding.tlArnNumber.visibility = visibility
binding.edtPassingAMFI.visibility = visibility
binding.tlPassingAMFI.visibility = visibility
binding.edtExpiryAMFI.visibility = visibility
binding.tlExpiryAMFI.visibility = visibility
}
private fun documentTypeAPI(docType: String) { private fun documentTypeAPI(docType: String) {
try { try {
ProgressUtil.showLoading(activity as SignUpActivity) ProgressUtil.showLoading(activity as SignUpActivity)
@ -481,7 +425,7 @@ class GetStartedFragment : BaseFragment() {
DocumentTypeResponse::class.java DocumentTypeResponse::class.java
) )
Log.e("checkDocRes", res.toString()) Log.e("checkDocRes", res.toString())
if (res.Status == "success") {
if (res.Status == getString(R.string.successText)) {
listOfDocType = res.Result.Data listOfDocType = res.Result.Data
if (listOfDocType.isNotEmpty()) { if (listOfDocType.isNotEmpty()) {
val adapter = ArrayAdapter( val adapter = ArrayAdapter(
@ -492,68 +436,14 @@ class GetStartedFragment : BaseFragment() {
binding.spDocType.setAdapter(adapter) binding.spDocType.setAdapter(adapter)
} }
} }
//TODO: Check AMFI Data Available or not
apiAMFIDetail("Mobile", arguments?.getString("mobile")) apiAMFIDetail("Mobile", arguments?.getString("mobile"))
// apiAMFIDetail("Mobile", "1722651388")
} }
} catch (e: Exception) { } catch (e: Exception) {
// ProgressUtil.hideLoading()
Log.e("checkPANError", e.message.toString()) Log.e("checkPANError", e.message.toString())
} }
} }
private fun prepareImagePart(file: File, partName: String): MultipartBody.Part {
var requestBody: RequestBody =
file.asRequestBody("application/octet-stream".toMediaTypeOrNull())
return MultipartBody.Part.createFormData(
"Files",
partName,
requestBody
)
}
private fun apiUploadDocument() {
if (imageSelectedList != null && imageSelectedList.size != 0) {
var part = ArrayList<MultipartBody.Part>()
imageSelectedList.forEachIndexed { index, element ->
if (index == 0) {
part.add(prepareImagePart(element, "front"))
} else {
part.add(prepareImagePart(element, "back"))
}
}
(activity as SignUpActivity).viewModelOne.getDocumentUpload(
part,
3,
5,
8,
(activity as SignUpActivity)
)
(activity as SignUpActivity).viewModelOne.getDocumentUploadMutableData.observe(
viewLifecycleOwner
) { response ->
Log.e("check_upload_res", response.toString())
val res: DocumentUploadResponse =
Gson().fromJson(
response?.data.toString(),
DocumentUploadResponse::class.java
)
if (res.Status == "success") {
Toast.makeText(activity as SignUpActivity, res.Message, Toast.LENGTH_LONG)
.show()
}
}
}
}
private fun apiPANVerify(pan: String) { private fun apiPANVerify(pan: String) {
try { try {
ProgressUtil.showLoading(activity as SignUpActivity) ProgressUtil.showLoading(activity as SignUpActivity)
@ -599,9 +489,9 @@ class GetStartedFragment : BaseFragment() {
} }
private fun apiAMFIDetail(type: String, value: String?) { private fun apiAMFIDetail(type: String, value: String?) {
var jsonObject = JSONObject()
val jsonObject = JSONObject()
val mediaType = "application/json; charset=utf-8".toMediaType() val mediaType = "application/json; charset=utf-8".toMediaType()
var body: RequestBody
val body: RequestBody
try { try {
jsonObject.put(type, value) jsonObject.put(type, value)
@ -621,12 +511,11 @@ class GetStartedFragment : BaseFragment() {
response?.data.toString(), response?.data.toString(),
GetAMFIDetailResponse::class.java GetAMFIDetailResponse::class.java
) )
//TODO: Need to set up Data if not null
if (res != null && res.Result.data != null) { if (res != null && res.Result.data != null) {
arnList.clear() arnList.clear()
arnList = res.Result.data as ArrayList<DataX> arnList = res.Result.data as ArrayList<DataX>
if (res.Status == "success") {
if (res.Status == getString(R.string.successText)) {
if (type == "ARN") { if (type == "ARN") {
if (arnList.size > 0) { if (arnList.size > 0) {
arnData = arnList[0] arnData = arnList[0]
@ -640,17 +529,17 @@ class GetStartedFragment : BaseFragment() {
binding.edtExpiryAMFI.setText(arnData.ARNValidTill) binding.edtExpiryAMFI.setText(arnData.ARNValidTill)
} }
setARNEUIN(View.GONE)
setArnUploadVisibility(View.GONE)
} else { } else {
var adapter = ArrayAdapter(
val adapter = ArrayAdapter(
(activity as SignUpActivity), (activity as SignUpActivity),
androidx.appcompat.R.layout.support_simple_spinner_dropdown_item, androidx.appcompat.R.layout.support_simple_spinner_dropdown_item,
arnList arnList
) )
binding.edtArnNumber.setAdapter(adapter) binding.edtArnNumber.setAdapter(adapter)
} }
}else if(type == "ARN" && binding.edtArnNumber.text.length >= 7){
setARNEUIN(View.VISIBLE)
} else if (type == "ARN" && binding.edtArnNumber.text.length >= 7) {
setArnUploadVisibility(View.VISIBLE)
} }
} }
} }
@ -660,11 +549,8 @@ class GetStartedFragment : BaseFragment() {
} }
} }
private fun setARNEUIN(visibility: Int) {
private fun setArnUploadVisibility(visibility: Int) {
binding.rlARNUpload.visibility = visibility binding.rlARNUpload.visibility = visibility
// binding.rlEUINUpload.visibility = visibility
// if(visibility==View.VISIBLE) binding.tlEUINNumber.visibility = View.GONE
// else binding.tlEUINNumber.visibility = View.VISIBLE
} }
private fun commonErrorMethod( private fun commonErrorMethod(
@ -735,10 +621,6 @@ class GetStartedFragment : BaseFragment() {
} }
} }
private fun setUploadOption(checked: Boolean) {
isFront = checked
}
private fun selectImage() { private fun selectImage() {
val builder = AlertDialog.Builder( val builder = AlertDialog.Builder(
activity as SignUpActivity activity as SignUpActivity
@ -821,7 +703,7 @@ class GetStartedFragment : BaseFragment() {
private fun setVisibility(s: String) { private fun setVisibility(s: String) {
binding.llDoc.visibility = View.VISIBLE binding.llDoc.visibility = View.VISIBLE
if (s.contains("Aadhaar")) {
if (s.contains(getString(R.string.aadhaarText))) {
binding.txtFront.visibility = View.VISIBLE binding.txtFront.visibility = View.VISIBLE
binding.uploadFront.visibility = View.VISIBLE binding.uploadFront.visibility = View.VISIBLE
binding.txtBack.visibility = View.VISIBLE binding.txtBack.visibility = View.VISIBLE
@ -920,7 +802,7 @@ class GetStartedFragment : BaseFragment() {
val size: Double = Common.getFileSizeInMB(fileExtension.length()) val size: Double = Common.getFileSizeInMB(fileExtension.length())
setFrontHideVisible(uri) setFrontHideVisible(uri)
if (size < MaxFileSize) {
if (size < maxFileSize) {
if (type == "c") { if (type == "c") {
encodedPANBase64(fileExtension) encodedPANBase64(fileExtension)
if (isFront) imageSelectedList.add(0, fileExtension) if (isFront) imageSelectedList.add(0, fileExtension)
@ -946,10 +828,10 @@ class GetStartedFragment : BaseFragment() {
} else { } else {
panString = "" panString = ""
panFileExt = "" panFileExt = ""
showDialogValidation(activity,getString(R.string.fileSizeCant))
showDialogValidation(activity, getString(R.string.fileSizeCant))
} }
} }
mainARNPhotoUpload ->{
mainARNPhotoUpload -> {
val fileDir: File = (activity as SignUpActivity).cacheDir val fileDir: File = (activity as SignUpActivity).cacheDir
val fileExtension = File(fileDir.toString().plus("/").plus(getFileName(uri))) val fileExtension = File(fileDir.toString().plus("/").plus(getFileName(uri)))
panFileExt = getFileExtension(getFileName(uri)) panFileExt = getFileExtension(getFileName(uri))
@ -957,12 +839,10 @@ class GetStartedFragment : BaseFragment() {
binding.ivARNUpload.setImageURI(uri) binding.ivARNUpload.setImageURI(uri)
if (size < MaxFileSize) {
if (size < maxFileSize) {
if (type == "c") { if (type == "c") {
encodedPANBase64(fileExtension) encodedPANBase64(fileExtension)
// imageSelectedARNOrEUIN.add(0,fileExtension)
imageSelectedARNOrEUIN.add(0,fileExtension)
binding.tvUploadARN.visibility = View.GONE
imageSelectedList.add(2, fileExtension)
} else { } else {
val bitmap: Bitmap = val bitmap: Bitmap =
MediaStore.Images.Media.getBitmap(context?.contentResolver, uri) MediaStore.Images.Media.getBitmap(context?.contentResolver, uri)
@ -977,18 +857,16 @@ class GetStartedFragment : BaseFragment() {
fOut.close() fOut.close()
if (file.exists()) encodedPANBase64(file) if (file.exists()) encodedPANBase64(file)
// imageSelectedList.add(2, file)
imageSelectedARNOrEUIN.add(0,file)
binding.tvUploadARN.visibility = View.GONE
imageSelectedList.add(2, file)
Log.e("check_panString", panString + "\n" + bitmap.toString()) Log.e("check_panString", panString + "\n" + bitmap.toString())
} }
} else { } else {
panString = "" panString = ""
panFileExt = "" panFileExt = ""
showDialogValidation(activity,getString(R.string.fileSizeCant))
showDialogValidation(activity, getString(R.string.fileSizeCant))
} }
} }
mainEUINPhotoUpload ->{
mainEUINPhotoUpload -> {
val fileDir: File = (activity as SignUpActivity).cacheDir val fileDir: File = (activity as SignUpActivity).cacheDir
val fileExtension = File(fileDir.toString().plus("/").plus(getFileName(uri))) val fileExtension = File(fileDir.toString().plus("/").plus(getFileName(uri)))
panFileExt = getFileExtension(getFileName(uri)) panFileExt = getFileExtension(getFileName(uri))
@ -996,12 +874,10 @@ class GetStartedFragment : BaseFragment() {
binding.ivEUINUpload.setImageURI(uri) binding.ivEUINUpload.setImageURI(uri)
if (size < MaxFileSize) {
if (size < maxFileSize) {
if (type == "c") { if (type == "c") {
encodedPANBase64(fileExtension) encodedPANBase64(fileExtension)
// imageSelectedList.add(3, fileExtension)
imageSelectedARNOrEUIN.add(1,fileExtension)
binding.tvUploadEUINTitle.visibility = View.GONE
imageSelectedList.add(3, fileExtension)
} else { } else {
val bitmap: Bitmap = val bitmap: Bitmap =
MediaStore.Images.Media.getBitmap(context?.contentResolver, uri) MediaStore.Images.Media.getBitmap(context?.contentResolver, uri)
@ -1016,20 +892,69 @@ class GetStartedFragment : BaseFragment() {
fOut.close() fOut.close()
if (file.exists()) encodedPANBase64(file) if (file.exists()) encodedPANBase64(file)
// imageSelectedList.add(3, file)
imageSelectedARNOrEUIN.add(1,file)
binding.tvUploadEUINTitle.visibility = View.GONE
imageSelectedList.add(3, file)
Log.e("check_panString", panString + "\n" + bitmap.toString()) Log.e("check_panString", panString + "\n" + bitmap.toString())
} }
} else { } else {
panString = "" panString = ""
panFileExt = "" panFileExt = ""
showDialogValidation(activity,getString(R.string.fileSizeCant))
showDialogValidation(activity, getString(R.string.fileSizeCant))
}
}
}
}
private fun apiUploadDocument() {
if (imageSelectedList != null && imageSelectedList.size != 0) {
val part = ArrayList<MultipartBody.Part>()
imageSelectedList.forEachIndexed { index, element ->
if (index == 0) {
part.add(prepareImagePart(element, "front"))
} else {
part.add(prepareImagePart(element, "back"))
}
}
(activity as SignUpActivity).viewModelOne.getDocumentUpload(
part,
3,
5,
8,
(activity as SignUpActivity)
)
(activity as SignUpActivity).viewModelOne.getDocumentUploadMutableData.observe(
viewLifecycleOwner
) { response ->
Log.e("check_upload_res", response.toString())
val res: DocumentUploadResponse =
Gson().fromJson(
response?.data.toString(),
DocumentUploadResponse::class.java
)
if (res.Status == getString(R.string.successText)) {
Toast.makeText(activity as SignUpActivity, res.Message, Toast.LENGTH_LONG)
.show()
} }
} }
} }
} }
private fun prepareImagePart(file: File, partName: String): MultipartBody.Part {
val requestBody: RequestBody =
file.asRequestBody("application/octet-stream".toMediaTypeOrNull())
return MultipartBody.Part.createFormData(
"Files",
partName,
requestBody
)
}
private fun setFrontHideVisible(uri: Uri) { private fun setFrontHideVisible(uri: Uri) {
if (isFront) { if (isFront) {
binding.uploadFront.visibility = View.GONE binding.uploadFront.visibility = View.GONE


+ 13
- 25
app/src/main/java/com/nivesh/production/partnerOnBoarding/ui/fragments/NewDistributorSignStepOne.kt View File

@ -5,7 +5,6 @@ import android.view.LayoutInflater
import android.view.View import android.view.View
import android.view.ViewGroup import android.view.ViewGroup
import android.widget.Toast import android.widget.Toast
import androidx.fragment.app.Fragment
import androidx.lifecycle.ViewModelProvider import androidx.lifecycle.ViewModelProvider
import androidx.recyclerview.widget.LinearLayoutManager import androidx.recyclerview.widget.LinearLayoutManager
import com.google.gson.Gson import com.google.gson.Gson
@ -25,8 +24,7 @@ class NewDistributorSignStepOne : BaseFragment() {
private var _binding: NewDistributorSignStepOneBinding? = null private var _binding: NewDistributorSignStepOneBinding? = null
private val binding get() = _binding!! private val binding get() = _binding!!
lateinit var viewModel: OnBoardingViewModel
// val listData: List<DataX>
private lateinit var viewModel: OnBoardingViewModel
companion object { companion object {
var listMapData: MutableMap<Int, String>? = null var listMapData: MutableMap<Int, String>? = null
@ -36,7 +34,7 @@ class NewDistributorSignStepOne : BaseFragment() {
inflater: LayoutInflater, inflater: LayoutInflater,
container: ViewGroup?, container: ViewGroup?,
savedInstanceState: Bundle? savedInstanceState: Bundle?
): View? {
): View {
_binding = NewDistributorSignStepOneBinding.inflate(inflater, container, false) _binding = NewDistributorSignStepOneBinding.inflate(inflater, container, false)
return binding.root return binding.root
} }
@ -67,7 +65,7 @@ class NewDistributorSignStepOne : BaseFragment() {
GetAllProductResponse::class.java GetAllProductResponse::class.java
) )
if ((res.Status == "success")) {
if ((res.Status == getString(R.string.successText))) {
binding.rvList.layoutManager = LinearLayoutManager(activity as SignUpActivity) binding.rvList.layoutManager = LinearLayoutManager(activity as SignUpActivity)
val adapter = NewDistributorSignStepOneAdapter(res.Result.Data) val adapter = NewDistributorSignStepOneAdapter(res.Result.Data)
binding.rvList.adapter = adapter binding.rvList.adapter = adapter
@ -75,26 +73,12 @@ class NewDistributorSignStepOne : BaseFragment() {
} }
// val listData = mutableListOf(
// "Mutual Fund",
// "Insurance",
// "Bond",
// "Capital Gain Bond (CGB)",
// "Non-Convertible Debentures(NCDs)",
// "Fixed Deposit (FD)",
// "National Pension System (NPS)",
// "Secondary Bond",
// "Other"
// )
binding.btnNext.setOnClickListener { binding.btnNext.setOnClickListener {
if(listMapData?.isNotEmpty() == true){
if (listMapData?.isNotEmpty() == true) {
val bundle = Bundle() val bundle = Bundle()
bundle.putString("mobile",arguments?.getString("mobile"))
bundle.putString("arnType","Associate")
var fragment = GetStartedFragment()
bundle.putString("mobile", arguments?.getString("mobile"))
bundle.putString("arnType", "Associate")
val fragment = GetStartedFragment()
fragment.arguments = bundle fragment.arguments = bundle
replaceFragment( replaceFragment(
@ -104,8 +88,12 @@ class NewDistributorSignStepOne : BaseFragment() {
"GET STARTED", "GET STARTED",
true true
) )
}else{
Toast.makeText((activity as SignUpActivity), "Choose the business you are interested", Toast.LENGTH_SHORT)
} else {
Toast.makeText(
(activity as SignUpActivity),
"Choose the business you are interested",
Toast.LENGTH_SHORT
)
.show() .show()
} }
} }


+ 11
- 25
app/src/main/java/com/nivesh/production/partnerOnBoarding/ui/fragments/OTPFragment.kt View File

@ -11,17 +11,12 @@ import android.view.View
import android.view.ViewGroup import android.view.ViewGroup
import android.widget.EditText import android.widget.EditText
import androidx.fragment.app.Fragment import androidx.fragment.app.Fragment
import androidx.lifecycle.ViewModelProvider
import com.nivesh.production.partnerOnBoarding.R import com.nivesh.production.partnerOnBoarding.R
import com.nivesh.production.partnerOnBoarding.api.ApiClient
import com.nivesh.production.partnerOnBoarding.databinding.FragmentOtpBinding import com.nivesh.production.partnerOnBoarding.databinding.FragmentOtpBinding
import com.nivesh.production.partnerOnBoarding.model.request.SendOTPRequest import com.nivesh.production.partnerOnBoarding.model.request.SendOTPRequest
import com.nivesh.production.partnerOnBoarding.providerfactory.OnBoardingModelProviderFactory
import com.nivesh.production.partnerOnBoarding.repositories.MainRepository
import com.nivesh.production.partnerOnBoarding.ui.activities.BaseActivity import com.nivesh.production.partnerOnBoarding.ui.activities.BaseActivity
import com.nivesh.production.partnerOnBoarding.ui.activities.SignUpActivity import com.nivesh.production.partnerOnBoarding.ui.activities.SignUpActivity
import com.nivesh.production.partnerOnBoarding.util.Common import com.nivesh.production.partnerOnBoarding.util.Common
import com.nivesh.production.partnerOnBoarding.viewModels.OnBoardingViewModel
import okhttp3.MediaType.Companion.toMediaType import okhttp3.MediaType.Companion.toMediaType
import okhttp3.RequestBody import okhttp3.RequestBody
import okhttp3.RequestBody.Companion.toRequestBody import okhttp3.RequestBody.Companion.toRequestBody
@ -32,8 +27,6 @@ class OTPFragment : BaseFragment() {
private val binding get() = _binding!! private val binding get() = _binding!!
private var type: Int? = null private var type: Int? = null
private var mobile: String? = null private var mobile: String? = null
private var partnerCode: String? = null
// lateinit var viewModelOTP: OnBoardingViewModel
override fun onCreateView( override fun onCreateView(
inflater: LayoutInflater, container: ViewGroup?, savedInstanceState: Bundle? inflater: LayoutInflater, container: ViewGroup?, savedInstanceState: Bundle?
@ -50,11 +43,6 @@ class OTPFragment : BaseFragment() {
} }
private fun init() { private fun init() {
// viewModelOTP = ViewModelProvider(
// (activity as SignUpActivity),
// OnBoardingModelProviderFactory(MainRepository(ApiClient.getApiClientOne))
// )[OnBoardingViewModel::class.java]
smsAPI() smsAPI()
@ -99,14 +87,14 @@ class OTPFragment : BaseFragment() {
} }
private fun apiVerifyOTP() { private fun apiVerifyOTP() {
var obj = JSONObject()
obj.put("OTP","1234")
obj.put("Mobile",mobile)
obj.put("Email","test@test.com")
obj.put("ExpiryTimeInMinute",0)
val obj = JSONObject()
obj.put("OTP", "1234")
obj.put("Mobile", mobile)
obj.put("Email", "test@test.com")
obj.put("ExpiryTimeInMinute", 0)
val mediaType = "application/json; charset=utf-8".toMediaType() val mediaType = "application/json; charset=utf-8".toMediaType()
var body: RequestBody = obj.toString().toRequestBody(mediaType)
val body: RequestBody = obj.toString().toRequestBody(mediaType)
(activity as SignUpActivity).viewModelOne.getVerifyOTP( (activity as SignUpActivity).viewModelOne.getVerifyOTP(
body, body,
@ -119,13 +107,13 @@ class OTPFragment : BaseFragment() {
Log.e("check_otp_res", response?.data.toString()) Log.e("check_otp_res", response?.data.toString())
val bundle = Bundle() val bundle = Bundle()
bundle.putString("mobile",mobile)
bundle.putString("arnType",arguments?.getString("arnType"))
bundle.putString("mobile", mobile)
bundle.putString("arnType", arguments?.getString("arnType"))
var fragment = Fragment() var fragment = Fragment()
if(type == 4) {
if (type == 4) {
fragment = GetStartedFragment() fragment = GetStartedFragment()
} else if(type == 3){
} else if (type == 3) {
fragment = NewDistributorSignStepOne() fragment = NewDistributorSignStepOne()
} }
@ -207,7 +195,6 @@ class OTPFragment : BaseFragment() {
) : View.OnKeyListener { ) : View.OnKeyListener {
override fun onKey(p0: View?, keyCode: Int, event: KeyEvent?): Boolean { override fun onKey(p0: View?, keyCode: Int, event: KeyEvent?): Boolean {
if (event!!.action == KeyEvent.ACTION_DOWN && keyCode == KeyEvent.KEYCODE_DEL && currentView.id != R.id.edtOTP1 && currentView.text.isEmpty()) { if (event!!.action == KeyEvent.ACTION_DOWN && keyCode == KeyEvent.KEYCODE_DEL && currentView.id != R.id.edtOTP1 && currentView.text.isEmpty()) {
//If current is empty then previous EditText's number will also be deleted
previousView!!.text = null previousView!!.text = null
previousView.requestFocus() previousView.requestFocus()
return true return true
@ -220,7 +207,7 @@ class OTPFragment : BaseFragment() {
private val currentView: View, private val currentView: View,
private val nextView: View? private val nextView: View?
) : TextWatcher { ) : TextWatcher {
override fun afterTextChanged(editable: Editable) { // TODO Auto-generated method stub
override fun afterTextChanged(editable: Editable) {
val text = editable.toString() val text = editable.toString()
when (currentView.id) { when (currentView.id) {
R.id.edtOTP1 -> if (text.length == 1) nextView!!.requestFocus() R.id.edtOTP1 -> if (text.length == 1) nextView!!.requestFocus()
@ -228,7 +215,6 @@ class OTPFragment : BaseFragment() {
R.id.edtOTP3 -> if (text.length == 1) nextView!!.requestFocus() R.id.edtOTP3 -> if (text.length == 1) nextView!!.requestFocus()
R.id.edtOTP4 -> if (text.length == 1) nextView!!.requestFocus() R.id.edtOTP4 -> if (text.length == 1) nextView!!.requestFocus()
R.id.edtOTP5 -> if (text.length == 1) nextView!!.requestFocus() R.id.edtOTP5 -> if (text.length == 1) nextView!!.requestFocus()
//You can use EditText4 same as above to hide the keyboard
} }
} }


+ 0
- 1
app/src/main/java/com/nivesh/production/partnerOnBoarding/ui/fragments/QuestionsFragment.kt View File

@ -17,7 +17,6 @@ class QuestionsFragment : BaseFragment() {
container: ViewGroup?, container: ViewGroup?,
savedInstanceState: Bundle? savedInstanceState: Bundle?
): View { ): View {
// Inflate the layout for this fragment
_binding = FragmentQuestionBinding.inflate(inflater,container,false) _binding = FragmentQuestionBinding.inflate(inflater,container,false)
return binding.root return binding.root
} }


+ 9
- 20
app/src/main/java/com/nivesh/production/partnerOnBoarding/ui/fragments/SaveEAgreementFragment.kt View File

@ -32,14 +32,13 @@ import org.json.JSONObject
class SaveEAgreementFragment : BaseFragment() { class SaveEAgreementFragment : BaseFragment() {
private var _binding: FragmentSaveEAgreementBinding? = null private var _binding: FragmentSaveEAgreementBinding? = null
private val binding get() = _binding!! private val binding get() = _binding!!
// lateinit var viewModel: OnBoardingViewModel
private lateinit var dialog: Dialog private lateinit var dialog: Dialog
override fun onCreateView( override fun onCreateView(
inflater: LayoutInflater, inflater: LayoutInflater,
container: ViewGroup?, container: ViewGroup?,
savedInstanceState: Bundle? savedInstanceState: Bundle?
): View? {
): View {
_binding = FragmentSaveEAgreementBinding.inflate(inflater, container, false) _binding = FragmentSaveEAgreementBinding.inflate(inflater, container, false)
return binding.root return binding.root
} }
@ -51,10 +50,6 @@ class SaveEAgreementFragment : BaseFragment() {
@SuppressLint("SetTextI18n") @SuppressLint("SetTextI18n")
private fun init() { private fun init() {
// viewModel = ViewModelProvider(
// (activity as SignUpActivity),
// OnBoardingModelProviderFactory(MainRepository(ApiClient.getApiClientOne))
// )[OnBoardingViewModel::class.java]
binding.header.tvTitle.text = "AGREEMENT" binding.header.tvTitle.text = "AGREEMENT"
@ -77,15 +72,12 @@ class SaveEAgreementFragment : BaseFragment() {
ValidateOTPResponse::class.java ValidateOTPResponse::class.java
) )
if (res != null) {
if (res.Status == "success") {
if (dialog.isShowing) dialog.cancel()
showConfirmDialog(res.Message)
} else if (res.Status == "error") {
Common.showDialogValidation((activity as SignUpActivity), res.Message)
}
if (res.Status == getString(R.string.successText)) {
if (dialog.isShowing) dialog.cancel()
showConfirmDialog(res.Message)
} else if (res.Status == "error") {
Common.showDialogValidation((activity as SignUpActivity), res.Message)
} }
Log.e("check_otp_res", response?.data.toString()) Log.e("check_otp_res", response?.data.toString())
} }
} }
@ -269,14 +261,14 @@ class SaveEAgreementFragment : BaseFragment() {
} }
private fun apiVerifyOTP(otp: String) { private fun apiVerifyOTP(otp: String) {
var obj = JSONObject()
val obj = JSONObject()
obj.put("SubBrokerCode", PreferenceManager((activity as SignUpActivity)).getPartnerCode()) obj.put("SubBrokerCode", PreferenceManager((activity as SignUpActivity)).getPartnerCode())
obj.put("OTP", otp) obj.put("OTP", otp)
obj.put("OTPGenerationDate", Common.getDateFromTimeMills(System.currentTimeMillis())) obj.put("OTPGenerationDate", Common.getDateFromTimeMills(System.currentTimeMillis()))
obj.put("FinancialYear", "") obj.put("FinancialYear", "")
val mediaType = "application/json; charset=utf-8".toMediaType() val mediaType = "application/json; charset=utf-8".toMediaType()
var body: RequestBody = obj.toString().toRequestBody(mediaType)
val body: RequestBody = obj.toString().toRequestBody(mediaType)
(activity as SignUpActivity).viewModelOne.getSaveEAgreement( (activity as SignUpActivity).viewModelOne.getSaveEAgreement(
body, body,
@ -296,9 +288,6 @@ class SaveEAgreementFragment : BaseFragment() {
sendOTPRequest.ProductId = 1 sendOTPRequest.ProductId = 1
sendOTPRequest.UserRole = 3 sendOTPRequest.UserRole = 3
sendOTPRequest.UserId = "4988" sendOTPRequest.UserId = "4988"
// Gson().toJson(sendOTPRequest)
(activity as SignUpActivity).viewModelOne.getSaveEAgreementSendOTP( (activity as SignUpActivity).viewModelOne.getSaveEAgreementSendOTP(
sendOTPRequest, sendOTPRequest,
"", "",
@ -315,7 +304,7 @@ class SaveEAgreementFragment : BaseFragment() {
response.data.toString(), response.data.toString(),
SendOTPResponse::class.java SendOTPResponse::class.java
) )
if (res.Status == "success") {
if (res.Status ==getString(R.string.successText)) {
dialogOTP() dialogOTP()
} }
} }


+ 10
- 36
app/src/main/java/com/nivesh/production/partnerOnBoarding/ui/fragments/SignUpFragment.kt View File

@ -10,6 +10,7 @@ import android.view.View
import android.view.ViewGroup import android.view.ViewGroup
import androidx.lifecycle.ViewModelProvider import androidx.lifecycle.ViewModelProvider
import com.google.gson.Gson import com.google.gson.Gson
import com.nivesh.production.partnerOnBoarding.R
import com.nivesh.production.partnerOnBoarding.api.ApiClient import com.nivesh.production.partnerOnBoarding.api.ApiClient
import com.nivesh.production.partnerOnBoarding.databinding.FragmentSignupBinding import com.nivesh.production.partnerOnBoarding.databinding.FragmentSignupBinding
import com.nivesh.production.partnerOnBoarding.db.PreferenceManager import com.nivesh.production.partnerOnBoarding.db.PreferenceManager
@ -22,6 +23,7 @@ import com.nivesh.production.partnerOnBoarding.repositories.MainRepository
import com.nivesh.production.partnerOnBoarding.ui.activities.BaseActivity import com.nivesh.production.partnerOnBoarding.ui.activities.BaseActivity
import com.nivesh.production.partnerOnBoarding.ui.activities.SignUpActivity import com.nivesh.production.partnerOnBoarding.ui.activities.SignUpActivity
import com.nivesh.production.partnerOnBoarding.util.Common import com.nivesh.production.partnerOnBoarding.util.Common
import com.nivesh.production.partnerOnBoarding.util.Common.Companion.isValidMobileNumber
import com.nivesh.production.partnerOnBoarding.viewModels.OnBoardingViewModel import com.nivesh.production.partnerOnBoarding.viewModels.OnBoardingViewModel
class SignUpFragment : BaseFragment() { class SignUpFragment : BaseFragment() {
@ -29,7 +31,7 @@ class SignUpFragment : BaseFragment() {
private val binding get() = _binding!! private val binding get() = _binding!!
private var type: Int? = null private var type: Int? = null
private var arnType: String = "" private var arnType: String = ""
lateinit var viewModel: OnBoardingViewModel
private lateinit var viewModel: OnBoardingViewModel
override fun onCreateView( override fun onCreateView(
inflater: LayoutInflater, container: ViewGroup?, savedInstanceState: Bundle? inflater: LayoutInflater, container: ViewGroup?, savedInstanceState: Bundle?
@ -61,22 +63,9 @@ class SignUpFragment : BaseFragment() {
}) })
binding.btnSignUp.setOnClickListener { binding.btnSignUp.setOnClickListener {
if (validate()) { if (validate()) {
// val partnerRequest = PartnerRequest()
// partnerRequest.Mobile = binding.edtMobileNumber.text.toString().trim()
// partnerRequest.PartnerType = arnType
// partnerRequest.DateOfIncorporation = Common.getDateFromTimeMills(System.currentTimeMillis())
// //GsonBuilder().create().toJson(this, PartnerRequest::class.java)
// (activity as SignUpActivity).viewModelOne.getPartnerCreateData(
// partnerRequest,
// "",
// (activity as SignUpActivity)
// )
val vpr = ValidatePartnerRequest() val vpr = ValidatePartnerRequest()
vpr.Mobile = binding.edtMobileNumber.text.toString().trim() vpr.Mobile = binding.edtMobileNumber.text.toString().trim()
(activity as SignUpActivity).viewModelOne.getPartnerValidate( (activity as SignUpActivity).viewModelOne.getPartnerValidate(
vpr, vpr,
"", "",
@ -93,8 +82,7 @@ class SignUpFragment : BaseFragment() {
response?.data.toString(), response?.data.toString(),
PartnerResponse::class.java PartnerResponse::class.java
) )
if (cretePartnerResponse.Status == "success") {
if (cretePartnerResponse.Status == (activity as SignUpActivity).getString(R.string.successText)) {
setUpOTPFragment(cretePartnerResponse.Result.PartnerCode) setUpOTPFragment(cretePartnerResponse.Result.PartnerCode)
} else { } else {
Common.showDialogValidation( Common.showDialogValidation(
@ -114,7 +102,7 @@ class SignUpFragment : BaseFragment() {
ValidatePartnerResponse::class.java ValidatePartnerResponse::class.java
) )
if (validatePartnerResponse.Status == "success") {
if (validatePartnerResponse.Status == (activity as SignUpActivity).getString(R.string.successText)) {
if (validatePartnerResponse.Result.IsPartialRegistered) { if (validatePartnerResponse.Result.IsPartialRegistered) {
PreferenceManager(activity as SignUpActivity).setPartnerCode( PreferenceManager(activity as SignUpActivity).setPartnerCode(
validatePartnerResponse.Result.PartnerCode) validatePartnerResponse.Result.PartnerCode)
@ -151,7 +139,7 @@ class SignUpFragment : BaseFragment() {
replaceFragment( replaceFragment(
activity as BaseActivity, activity as BaseActivity,
com.nivesh.production.partnerOnBoarding.R.id.signUpContainer,
R.id.signUpContainer,
fragment, fragment,
"OTP", "OTP",
true true
@ -164,37 +152,23 @@ class SignUpFragment : BaseFragment() {
Common.commonErrorMethod( Common.commonErrorMethod(
binding.edtMobileNumber, binding.edtMobileNumber,
binding.tlMobileNumber, binding.tlMobileNumber,
getString(com.nivesh.production.partnerOnBoarding.R.string.emptyMobileNumber)
getString(R.string.emptyMobileNumber)
) )
} else if (binding.edtMobileNumber.text?.length != 10) { // EditText
} else if (!isValidMobileNumber(binding.edtMobileNumber.text.toString())) { // EditText
Common.commonErrorMethod( Common.commonErrorMethod(
binding.edtMobileNumber, binding.edtMobileNumber,
binding.tlMobileNumber, binding.tlMobileNumber,
getString(com.nivesh.production.partnerOnBoarding.R.string.inValidMobileNumber)
getString(R.string.inValidMobileNumber)
) )
} else if (!Common.isIndianMobileNo(binding.edtMobileNumber.text.toString())) { // EditText } else if (!Common.isIndianMobileNo(binding.edtMobileNumber.text.toString())) { // EditText
Common.commonErrorMethod( Common.commonErrorMethod(
binding.edtMobileNumber, binding.edtMobileNumber,
binding.tlMobileNumber, binding.tlMobileNumber,
getString(com.nivesh.production.partnerOnBoarding.R.string.inValidIndianMobileNumber)
getString(R.string.inValidIndianMobileNumber)
) )
} else { } else {
return true return true
} }
} }
override fun onDestroy() {
super.onDestroy()
Log.e("check_sign_destroy", "Destroyed")
}
override fun onDestroyView() {
super.onDestroyView()
Log.e("check_sign_destroy", "DestroyeView")
}
override fun onDetach() {
super.onDetach()
Log.e("check_sign_destroy", "Detach")
}
} }

+ 23
- 105
app/src/main/java/com/nivesh/production/partnerOnBoarding/util/Common.kt View File

@ -1,21 +1,17 @@
package com.nivesh.production.partnerOnBoarding.util package com.nivesh.production.partnerOnBoarding.util
import android.R.attr.textColor
import android.app.Activity import android.app.Activity
import android.app.AlertDialog import android.app.AlertDialog
import android.app.DatePickerDialog import android.app.DatePickerDialog
import android.app.Dialog import android.app.Dialog
import android.content.Context import android.content.Context
import android.content.Intent import android.content.Intent
import android.graphics.Color
import android.graphics.drawable.GradientDrawable
import android.net.ConnectivityManager import android.net.ConnectivityManager
import android.net.NetworkCapabilities import android.net.NetworkCapabilities
import android.net.Uri import android.net.Uri
import android.os.Build import android.os.Build
import android.provider.Settings import android.provider.Settings
import android.text.format.DateFormat
import android.util.Log
import android.text.TextUtils
import android.util.Patterns import android.util.Patterns
import android.view.Gravity import android.view.Gravity
import android.view.View import android.view.View
@ -23,16 +19,13 @@ import android.view.Window
import android.webkit.WebView import android.webkit.WebView
import android.widget.ImageView import android.widget.ImageView
import androidx.appcompat.app.ActionBar import androidx.appcompat.app.ActionBar
import com.google.android.material.snackbar.Snackbar
import com.google.android.material.textfield.MaterialAutoCompleteTextView import com.google.android.material.textfield.MaterialAutoCompleteTextView
import com.google.android.material.textfield.TextInputEditText import com.google.android.material.textfield.TextInputEditText
import com.google.android.material.textfield.TextInputLayout import com.google.android.material.textfield.TextInputLayout
import com.google.gson.JsonObject import com.google.gson.JsonObject
import com.nivesh.production.partnerOnBoarding.R import com.nivesh.production.partnerOnBoarding.R
import com.nivesh.production.partnerOnBoarding.model.response.PartnerResponse
import com.nivesh.production.partnerOnBoarding.ui.activities.SignUpActivity import com.nivesh.production.partnerOnBoarding.ui.activities.SignUpActivity
import kotlinx.coroutines.CoroutineExceptionHandler import kotlinx.coroutines.CoroutineExceptionHandler
import org.json.JSONObject
import retrofit2.HttpException import retrofit2.HttpException
import retrofit2.Response import retrofit2.Response
import java.io.IOException import java.io.IOException
@ -45,12 +38,6 @@ import java.util.regex.Pattern
class Common { class Common {
companion object { companion object {
/**
*Before use this method write following code in model class
app:Application(in activity and model)
changes in hasInternetConnection
val connectivityManager = getApplication<NewsApplication>().getSystemService(....
**/
//internet check //internet check
fun isNetworkAvailable(activity: Activity): Boolean { fun isNetworkAvailable(activity: Activity): Boolean {
val connectivityManager = activity.getSystemService( val connectivityManager = activity.getSystemService(
@ -87,24 +74,19 @@ class Common {
return Patterns.EMAIL_ADDRESS.matcher(target.toString()).matches() return Patterns.EMAIL_ADDRESS.matcher(target.toString()).matches()
} }
//valid Name Check
fun isValidName(nameText: String?): Boolean {
val pattern = Pattern.compile(("^[a-zA-Z\\s]{2,70}$"))
val matcher = pattern.matcher(nameText.toString())
return matcher.matches()
}
//validPanCard //validPanCard
fun isValidPan(pan: String?): Boolean { fun isValidPan(pan: String?): Boolean {
val mPattern = Pattern.compile("[A-Z]{5}[0-9]{4}[A-Z]")
val mPattern = Pattern.compile("[A-Z]{5}\\d{4}[A-Z]")
val mMatcher = mPattern.matcher(pan.toString()) val mMatcher = mPattern.matcher(pan.toString())
return mMatcher.matches() return mMatcher.matches()
} }
fun isValidIndividualPan(pan: String?): Boolean {
val mPattern = Pattern.compile("[A-Z]{3}[P][A-Z][0-9]{4}[A-Z]")
val mMatcher = mPattern.matcher(pan.toString())
return mMatcher.matches()
fun isValidIndividualPan(pan: String): Boolean {
// val mPattern = Pattern.compile("[A-Z]{3}P[A-Z]\\d{4}[A-Z]")
// val mMatcher = mPattern.matcher(pan.toString())
// return mMatcher.matches()
return pan.length == 4 && pan[3] != 'P'
} }
//is Indian mobile Number //is Indian mobile Number
@ -119,6 +101,10 @@ class Common {
return match.matches() return match.matches()
} }
fun isValidMobileNumber(mobileNumber : String) : Boolean{
return mobileNumber.length == 10
}
fun removeError(textInputLayout: TextInputLayout) { fun removeError(textInputLayout: TextInputLayout) {
if (textInputLayout.error != null) { if (textInputLayout.error != null) {
textInputLayout.error = null textInputLayout.error = null
@ -188,24 +174,6 @@ class Common {
builder.show() builder.show()
} }
// set Default Step
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
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
}
fun commonErrorMethod( fun commonErrorMethod(
inputText: TextInputEditText, inputText: TextInputEditText,
inputError: TextInputLayout, inputError: TextInputLayout,
@ -216,16 +184,6 @@ class Common {
return false return false
} }
fun commonErrorAutoCompleteMethod(
inputText: MaterialAutoCompleteTextView,
inputError: TextInputLayout,
strMessage: String
): Boolean {
inputText.requestFocus()
inputError.error = strMessage
return false
}
fun commonSpinnerErrorMethod( fun commonSpinnerErrorMethod(
inputText: MaterialAutoCompleteTextView, inputText: MaterialAutoCompleteTextView,
inputError: TextInputLayout, inputError: TextInputLayout,
@ -236,13 +194,6 @@ class Common {
return false return false
} }
fun getDate(string: String): String {
val input = SimpleDateFormat("dd/MM/yyyy", Locale.US)
val mDate: Date? = input.parse(string)
val simpleDateFormat = SimpleDateFormat("yyyy-MM-dd", Locale.US)
return simpleDateFormat.format(mDate as Date)
}
fun handleResponse(response: Response<JsonObject>): Resource<JsonObject> { fun handleResponse(response: Response<JsonObject>): Resource<JsonObject> {
if (response.isSuccessful && response.body() != null) { if (response.isSuccessful && response.body() != null) {
response.body()?.let { resultResponse -> response.body()?.let { resultResponse ->
@ -252,32 +203,6 @@ class Common {
return Resource.Error(response.message()) return Resource.Error(response.message())
} }
fun handleResponse1(response: Response<String>): Resource<String> {
if (response.isSuccessful && response.body() != null) {
return if (response.body().toString().isNotEmpty()) {
Log.e("response", "-->$response")
val str: String = response.body().toString().replace("\r\n", "")
Log.e("str", "-->$str")
val jsonObject = JSONObject(str)
Log.e("jsonObject", "-->$jsonObject")
Resource.Success(jsonObject.toString())
} else {
Resource.Error(response.message())
}
}
return Resource.Error(response.message())
}
fun handleResponsePartner(response: Response<PartnerResponse>): Resource<PartnerResponse>? {
if (response.isSuccessful && response.body() != null) {
response.body()?.let { resultResponse ->
return Resource.Success(resultResponse)
}
}
return Resource.Error(response.message())
}
fun handleError(activity: Activity): CoroutineExceptionHandler { fun handleError(activity: Activity): CoroutineExceptionHandler {
val handler = CoroutineExceptionHandler { _, exception -> val handler = CoroutineExceptionHandler { _, exception ->
if (exception is IOException || exception is HttpException) { if (exception is IOException || exception is HttpException) {
@ -295,18 +220,6 @@ class Common {
return handler return handler
} }
fun isMinor(date: String): Boolean {
val simpleDateFormat = SimpleDateFormat("yyyy-MM-dd", Locale.US)
val dt1: Date = simpleDateFormat.parse(date) as Date
val year: Int = DateFormat.format("yyyy", dt1).toString().toInt()
val month: Int = DateFormat.format("mm", dt1).toString().toInt()
val day = DateFormat.format("dd", dt1).toString().toInt()
val userAge: Calendar = GregorianCalendar(year, month, day)
val minAdultAge: Calendar = GregorianCalendar()
minAdultAge.add(Calendar.YEAR, -18)
return minAdultAge.before(userAge)
}
/* this function is used for file size in readable format(End)*/ /* this function is used for file size in readable format(End)*/
fun getFileSizeInMB(length: Long): Double { // Get length of file in bytes fun getFileSizeInMB(length: Long): Double { // Get length of file in bytes
val fileSizeInBytes = val fileSizeInBytes =
@ -325,12 +238,12 @@ class Common {
} }
} }
fun datePicker(activity: Activity,edtDOB: TextInputEditText): String {
var cal = Calendar.getInstance()
fun datePicker(activity: Activity, edtDOB: TextInputEditText): String {
val cal = Calendar.getInstance()
var preSelectedDate = "" var preSelectedDate = ""
var year: Int
var month: Int
var day: Int
val year: Int
val month: Int
val day: Int
if (edtDOB.text.toString().isNotEmpty()) { if (edtDOB.text.toString().isNotEmpty()) {
val formatter: java.text.DateFormat = SimpleDateFormat("yyyy-MM-dd", Locale.US) val formatter: java.text.DateFormat = SimpleDateFormat("yyyy-MM-dd", Locale.US)
@ -366,10 +279,15 @@ class Common {
return preSelectedDate return preSelectedDate
} }
fun getDateFromTimeMills(long: Long) : String{
val sdf = SimpleDateFormat("yyyy-MM-dd")
fun getDateFromTimeMills(long: Long): String {
val sdf = SimpleDateFormat("yyyy-MM-dd", Locale.US)
val resultDate = Date(long) val resultDate = Date(long)
return sdf.format((resultDate)) return sdf.format((resultDate))
} }
//valid email check
fun isValidPinCode(target: String): Boolean {
return target.length != 6
}
} }
} }

+ 4
- 3
app/src/main/java/com/nivesh/production/partnerOnBoarding/util/Constants.kt View File

@ -1,13 +1,14 @@
package com.nivesh.production.partnerOnBoarding.util package com.nivesh.production.partnerOnBoarding.util
class Constants() {
class Constants {
companion object { companion object {
const val BASE_URL = "http://3.109.121.6:5001/api/" const val BASE_URL = "http://3.109.121.6:5001/api/"
// const val BASE_URL = "http://3.109.121.6/partner/api/" // const val BASE_URL = "http://3.109.121.6/partner/api/"
const val BASE_URL_COMMON = "http://3.109.121.6:5002/api/" const val BASE_URL_COMMON = "http://3.109.121.6:5002/api/"
// const val token = "636F8F63-06C4-4D95-8562-392B34025FB0" // const val token = "636F8F63-06C4-4D95-8562-392B34025FB0"
const val paymentUrl = "https://uat.nivesh.com/bajajFD/OrderStatus"
const val maxFileSize : Double = 5.0
} }
} }

+ 0
- 134
app/src/main/java/com/nivesh/production/partnerOnBoarding/util/ImageFilePath.kt View File

@ -1,134 +0,0 @@
package com.nivesh.production.partnerOnBoarding.util
import android.annotation.SuppressLint
import android.annotation.TargetApi
import android.content.ContentUris
import android.content.Context
import android.database.Cursor
import android.net.Uri
import android.os.Build
import android.os.Environment
import android.provider.DocumentsContract
import android.provider.MediaStore
object ImageFilePath {
/**
* Method for return file path of Gallery image
*
* @param context
* @param uri
* @return path of the selected image file from gallery
*/
var nopath = "Select Video Only"
@TargetApi(Build.VERSION_CODES.KITKAT)
@SuppressLint("NewApi")
fun getPath(context: Context, uri: Uri): String? {
val isKitKat = Build.VERSION.SDK_INT >= Build.VERSION_CODES.KITKAT
if (isKitKat && DocumentsContract.isDocumentUri(context, uri)) {
if (isExternalStorageDocument(uri)) {
val docId = DocumentsContract.getDocumentId(uri)
val split = docId.split(":").toTypedArray()
val type = split[0]
if ("primary".equals(type, ignoreCase = true)) {
return (Environment.getExternalStorageDirectory().toString() + "/"
+ split[1])
}
} else if (isDownloadsDocument(uri)) {
val id = DocumentsContract.getDocumentId(uri)
val contentUri = ContentUris.withAppendedId(
Uri.parse("content://downloads/public_downloads"),
java.lang.Long.valueOf(id)
)
return getDataColumn(context, contentUri, null, null)
} else if (isMediaDocument(uri)) {
val docId = DocumentsContract.getDocumentId(uri)
val split = docId.split(":").toTypedArray()
val type = split[0]
var contentUri: Uri? = null
if ("image" == type) {
contentUri = MediaStore.Images.Media.EXTERNAL_CONTENT_URI
} else if ("video" == type) {
contentUri = MediaStore.Video.Media.EXTERNAL_CONTENT_URI
} else if ("audio" == type) {
contentUri = MediaStore.Audio.Media.EXTERNAL_CONTENT_URI
}
val selection = "_id=?"
val selectionArgs = arrayOf(split[1])
return getDataColumn(
context, contentUri, selection,
selectionArgs
)
}
} else if ("content".equals(uri.scheme, ignoreCase = true)) {
// Return the remote address
return if (isGooglePhotosUri(uri)) uri.lastPathSegment else getDataColumn(
context,
uri,
null,
null
)
} else if ("file".equals(uri.scheme, ignoreCase = true)) {
return uri.path
}
return nopath
}
private fun getDataColumn(
context: Context, uri: Uri?,
selection: String?, selectionArgs: Array<String>?
): String {
var cursor: Cursor? = null
val column = "_data"
val projection = arrayOf(column)
try {
cursor = context.contentResolver.query(
uri!!, projection,
selection, selectionArgs, null
)
if (cursor != null && cursor.moveToFirst()) {
val index = cursor.getColumnIndexOrThrow(column)
return cursor.getString(index)
}
} finally {
cursor?.close()
}
return nopath
}
/**
* @param uri The Uri to check.
* @return Whether the Uri authority is ExternalStorageProvider.
*/
private fun isExternalStorageDocument(uri: Uri): Boolean {
return "com.android.externalstorage.documents" == uri
.authority
}
/**
* @param uri The Uri to check.
* @return Whether the Uri authority is DownloadsProvider.
*/
private fun isDownloadsDocument(uri: Uri): Boolean {
return "com.android.providers.downloads.documents" == uri
.authority
}
/**
* @param uri The Uri to check.
* @return Whether the Uri authority is MediaProvider.
*/
private fun isMediaDocument(uri: Uri): Boolean {
return "com.android.providers.media.documents" == uri
.authority
}
/**
* @param uri The Uri to check.
* @return Whether the Uri authority is Google Photos.
*/
private fun isGooglePhotosUri(uri: Uri): Boolean {
return "com.google.android.apps.photos.content" == uri
.authority
}
}

+ 0
- 27
app/src/main/java/com/nivesh/production/partnerOnBoarding/util/ImageUtil.kt View File

@ -1,27 +0,0 @@
package com.nivesh.production.partnerOnBoarding.util
import android.graphics.Bitmap;
import android.graphics.BitmapFactory;
import android.util.Base64;
import java.io.ByteArrayOutputStream;
class ImageUtil {
@Throws(IllegalArgumentException::class)
fun convert(base64Str: String): Bitmap? {
val decodedBytes: ByteArray = Base64.decode(
base64Str.substring(base64Str.indexOf(",") + 1),
Base64.DEFAULT
)
return BitmapFactory.decodeByteArray(decodedBytes, 0, decodedBytes.size)
}
companion object {
fun convert(bitmap: Bitmap): String? {
val outputStream = ByteArrayOutputStream()
bitmap.compress(Bitmap.CompressFormat.PNG, 100, outputStream)
return Base64.encodeToString(outputStream.toByteArray(), Base64.DEFAULT)
}
}
}

+ 0
- 8
app/src/main/java/com/nivesh/production/partnerOnBoarding/util/ProgressUtil.kt View File

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


+ 0
- 12
app/src/main/java/com/nivesh/production/partnerOnBoarding/viewModels/MyObservable.kt View File

@ -1,12 +0,0 @@
package com.nivesh.production.partnerOnBoarding.viewModels
import androidx.lifecycle.MutableLiveData
import androidx.lifecycle.ViewModel
open class MyObservable : ViewModel()
{
val data = MutableLiveData<String>()
fun data(item: String) {
data.value = item
}
}

+ 0
- 47
app/src/main/java/com/nivesh/production/partnerOnBoarding/viewModels/OnBoardingViewModel.kt View File

@ -6,7 +6,6 @@ import androidx.lifecycle.ViewModel
import androidx.lifecycle.viewModelScope import androidx.lifecycle.viewModelScope
import com.google.gson.JsonObject import com.google.gson.JsonObject
import com.nivesh.production.partnerOnBoarding.model.request.PartnerRequest import com.nivesh.production.partnerOnBoarding.model.request.PartnerRequest
import com.nivesh.production.partnerOnBoarding.model.request.SaveEAgreementRequest
import com.nivesh.production.partnerOnBoarding.model.request.SendOTPRequest import com.nivesh.production.partnerOnBoarding.model.request.SendOTPRequest
import com.nivesh.production.partnerOnBoarding.model.request.ValidatePartnerRequest import com.nivesh.production.partnerOnBoarding.model.request.ValidatePartnerRequest
import com.nivesh.production.partnerOnBoarding.repositories.MainRepository import com.nivesh.production.partnerOnBoarding.repositories.MainRepository
@ -20,43 +19,6 @@ import okhttp3.RequestBody
open class OnBoardingViewModel(private val mainRepository: MainRepository) : ViewModel() { open class OnBoardingViewModel(private val mainRepository: MainRepository) : ViewModel() {
// val postPartnerCreationViewModel: MutableLiveData<Resource<PartnerResponse>> = MutableLiveData()
// fun getPartnerCreation(
// requestBody: PartnerCreation,
// token: String,
// activity: Activity
// ) = viewModelScope.launch(handleError(activity)) {
// if (Common.isNetworkAvailable(activity)) {
// postPartnerCreationViewModel.postValue(Resource.Loading())
// val response = mainRepository.getPartnerResponse(requestBody)
// postPartnerCreationViewModel.postValue(handleResponse(response))
// }
// }
// val getStepsCountMutableData: MutableLiveData<Resource<JsonObject>> = MutableLiveData()
// fun getStepsCount(
// requestBody: FDStepsCountRequest,
// token: String,
// activity: Activity
// ) = viewModelScope.launch(handleError(activity)) {
// if (Common.isNetworkAvailable(activity)) {
// getStepsCountMutableData.postValue(Resource.Loading())
// val response = mainRepository.getStepsCountResponse(requestBody, token)
// getStepsCountMutableData.postValue(handleResponse(response))
// }
// }
//
// val getClientDetailsMutableData: MutableLiveData<Resource<JsonObject>> = MutableLiveData()
// fun getClientDetails(getClientDetailsRequest: getClientDetailsRequest, token: String, activity: Activity) =
// viewModelScope.launch(handleError(activity)) {
// if (Common.isNetworkAvailable(activity)) {
// getClientDetailsMutableData.postValue(Resource.Loading())
// val response =
// mainRepository.getClientDetailsResponse(getClientDetailsRequest, token)
// getClientDetailsMutableData.postValue(handleResponse(response))
// }
// }
val getPartnerCreationMutableData: MutableLiveData<Resource<JsonObject>?> = MutableLiveData() val getPartnerCreationMutableData: MutableLiveData<Resource<JsonObject>?> = MutableLiveData()
fun getPartnerCreateData( fun getPartnerCreateData(
requestBody: PartnerRequest, requestBody: PartnerRequest,
@ -64,7 +26,6 @@ open class OnBoardingViewModel(private val mainRepository: MainRepository) : Vie
activity: Activity activity: Activity
) = viewModelScope.launch(handleError(activity)) { ) = viewModelScope.launch(handleError(activity)) {
if (Common.isNetworkAvailable(activity)) { if (Common.isNetworkAvailable(activity)) {
// getPartnerCreationMutableData.postValue(Resource.Loading())
val response = mainRepository.getPartnerCreationResponse(requestBody, token) val response = mainRepository.getPartnerCreationResponse(requestBody, token)
getPartnerCreationMutableData.postValue(handleResponse(response)) getPartnerCreationMutableData.postValue(handleResponse(response))
} }
@ -77,7 +38,6 @@ open class OnBoardingViewModel(private val mainRepository: MainRepository) : Vie
activity: Activity activity: Activity
) = viewModelScope.launch(handleError(activity)) { ) = viewModelScope.launch(handleError(activity)) {
if (Common.isNetworkAvailable(activity)) { if (Common.isNetworkAvailable(activity)) {
// getValidatePartnerMutableData.postValue(Resource.Loading())
val response = mainRepository.getValidatePartnerResponse(validatePartnerRequest) val response = mainRepository.getValidatePartnerResponse(validatePartnerRequest)
getValidatePartnerMutableData.postValue(handleResponse(response)) getValidatePartnerMutableData.postValue(handleResponse(response))
} }
@ -113,7 +73,6 @@ open class OnBoardingViewModel(private val mainRepository: MainRepository) : Vie
activity: Activity activity: Activity
) = viewModelScope.launch(handleError(activity)) { ) = viewModelScope.launch(handleError(activity)) {
if (Common.isNetworkAvailable(activity)) { if (Common.isNetworkAvailable(activity)) {
// getValidatePartnerMutableData.postValue(Resource.Loading())
val response = mainRepository.getVerifyOTP(requestBody) val response = mainRepository.getVerifyOTP(requestBody)
getVerifyOTPMutableData.postValue(handleResponse(response)) getVerifyOTPMutableData.postValue(handleResponse(response))
} }
@ -126,7 +85,6 @@ open class OnBoardingViewModel(private val mainRepository: MainRepository) : Vie
activity: Activity activity: Activity
) = viewModelScope.launch(handleError(activity)) { ) = viewModelScope.launch(handleError(activity)) {
if (Common.isNetworkAvailable(activity)) { if (Common.isNetworkAvailable(activity)) {
// getValidatePartnerMutableData.postValue(Resource.Loading())
val response = mainRepository.getAMFIDetailResponse(requestBody) val response = mainRepository.getAMFIDetailResponse(requestBody)
getAMFIDetailMutableData.postValue(handleResponse(response)) getAMFIDetailMutableData.postValue(handleResponse(response))
} }
@ -139,7 +97,6 @@ open class OnBoardingViewModel(private val mainRepository: MainRepository) : Vie
activity: Activity activity: Activity
) = viewModelScope.launch(handleError(activity)) { ) = viewModelScope.launch(handleError(activity)) {
if (Common.isNetworkAvailable(activity)) { if (Common.isNetworkAvailable(activity)) {
// getValidatePartnerMutableData.postValue(Resource.Loading())
val response = mainRepository.getPANDetailResponse(url,requestBody) val response = mainRepository.getPANDetailResponse(url,requestBody)
getPANDetailMutableData.postValue(handleResponse(response)) getPANDetailMutableData.postValue(handleResponse(response))
} }
@ -153,7 +110,6 @@ open class OnBoardingViewModel(private val mainRepository: MainRepository) : Vie
activity: Activity activity: Activity
) = viewModelScope.launch(handleError(activity)) { ) = viewModelScope.launch(handleError(activity)) {
if (Common.isNetworkAvailable(activity)) { if (Common.isNetworkAvailable(activity)) {
// getValidatePartnerMutableData.postValue(Resource.Loading())
val response = mainRepository.getDocumentTypeResponse(url,value,type) val response = mainRepository.getDocumentTypeResponse(url,value,type)
getDocumentTypeMutableData.postValue(handleResponse(response)) getDocumentTypeMutableData.postValue(handleResponse(response))
} }
@ -168,7 +124,6 @@ open class OnBoardingViewModel(private val mainRepository: MainRepository) : Vie
activity: Activity activity: Activity
) = viewModelScope.launch(handleError(activity)) { ) = viewModelScope.launch(handleError(activity)) {
if (Common.isNetworkAvailable(activity)) { if (Common.isNetworkAvailable(activity)) {
// getValidatePartnerMutableData.postValue(Resource.Loading())
val response = mainRepository.getDocumentUploadResponse(multipartBody,pc,pr,di) val response = mainRepository.getDocumentUploadResponse(multipartBody,pc,pr,di)
getDocumentUploadMutableData.postValue(handleResponse(response)) getDocumentUploadMutableData.postValue(handleResponse(response))
} }
@ -181,7 +136,6 @@ open class OnBoardingViewModel(private val mainRepository: MainRepository) : Vie
activity: Activity activity: Activity
) = viewModelScope.launch(handleError(activity)) { ) = viewModelScope.launch(handleError(activity)) {
if (Common.isNetworkAvailable(activity)) { if (Common.isNetworkAvailable(activity)) {
// getPartnerCreationMutableData.postValue(Resource.Loading())
val response = mainRepository.getSaveEAgreement(requestBody, token) val response = mainRepository.getSaveEAgreement(requestBody, token)
getSaveEAgreementMutableData.postValue(handleResponse(response)) getSaveEAgreementMutableData.postValue(handleResponse(response))
} }
@ -193,7 +147,6 @@ open class OnBoardingViewModel(private val mainRepository: MainRepository) : Vie
activity: Activity activity: Activity
) = viewModelScope.launch(handleError(activity)) { ) = viewModelScope.launch(handleError(activity)) {
if (Common.isNetworkAvailable(activity)) { if (Common.isNetworkAvailable(activity)) {
// getValidatePartnerMutableData.postValue(Resource.Loading())
val response = mainRepository.getAllProduct(url) val response = mainRepository.getAllProduct(url)
getAllProductMutableData.postValue(handleResponse(response)) getAllProductMutableData.postValue(handleResponse(response))
} }


+ 2
- 0
app/src/main/res/values-hi-rIN/strings.xml View File

@ -347,5 +347,7 @@
<string name="uploadEUINCard">Upload EUIN Card</string> <string name="uploadEUINCard">Upload EUIN Card</string>
<string name="fileSizeCant">File Size Can\'t Greater Than 5 MB</string> <string name="fileSizeCant">File Size Can\'t Greater Than 5 MB</string>
<string name="euinName">EUIN Name (Employee)</string> <string name="euinName">EUIN Name (Employee)</string>
<string name="successText">success</string>
<string name="aadhaarText">Aadhaar</string>
</resources> </resources>

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

@ -360,5 +360,7 @@
<string name="uploadEUINCard">Upload EUIN Card</string> <string name="uploadEUINCard">Upload EUIN Card</string>
<string name="fileSizeCant">File Size Can\'t Greater Than 5 MB</string> <string name="fileSizeCant">File Size Can\'t Greater Than 5 MB</string>
<string name="euinName">EUIN Name (Employee)</string> <string name="euinName">EUIN Name (Employee)</string>
<string name="successText">success</string>
<string name="aadhaarText">Aadhaar</string>
</resources> </resources>

Loading…
Cancel
Save

Powered by TurnKey Linux.