diff --git a/android/app/src/main/java/com/naviapp/analytics/utils/NaviSDKHelper.kt b/android/app/src/main/java/com/naviapp/analytics/utils/NaviSDKHelper.kt index 57bc6c3548..1c0deb46ed 100644 --- a/android/app/src/main/java/com/naviapp/analytics/utils/NaviSDKHelper.kt +++ b/android/app/src/main/java/com/naviapp/analytics/utils/NaviSDKHelper.kt @@ -31,7 +31,6 @@ import com.navi.common.firebaseremoteconfig.FirebaseRemoteConfigHelper.ADVERSE_N import com.navi.common.firebaseremoteconfig.FirebaseRemoteConfigHelper.DISABLE_ALFRED import com.navi.common.firebaseremoteconfig.FirebaseRemoteConfigHelper.PULSE_EVENT_BATCH_SIZE import com.navi.common.firebaseremoteconfig.FirebaseRemoteConfigHelper.PULSE_EVENT_INTERVAL_IN_SECS -import com.navi.common.managers.UserManager import com.navi.common.utils.CommonUtils import com.navi.common.utils.getSessionId import com.navi.common.utils.updateSessionId @@ -168,7 +167,6 @@ object NaviSDKHelper { NaviTrackEvent.logoutUser() NaviTrackEvent.firebaseAuthSignOut() RazorpayHelper().clearRazorPayData(context) - UserManager.clearUser() DeeplinkManager().logOut() NaviApplication.instance.naviPayManager.get().onAppLogout() NaviApplication.instance.notificationManager.get().logout() diff --git a/android/app/src/main/java/com/naviapp/common/navigator/NaviDeepLinkNavigator.kt b/android/app/src/main/java/com/naviapp/common/navigator/NaviDeepLinkNavigator.kt index 114f298726..deaa2764e0 100644 --- a/android/app/src/main/java/com/naviapp/common/navigator/NaviDeepLinkNavigator.kt +++ b/android/app/src/main/java/com/naviapp/common/navigator/NaviDeepLinkNavigator.kt @@ -37,10 +37,10 @@ import com.navi.base.deeplink.util.DeeplinkConstants.RELEASE_LOG import com.navi.base.model.CtaData import com.navi.base.model.CtaType import com.navi.base.model.LineItem -import com.navi.base.sharedpref.CommonPrefConstants.CURRENT_USER import com.navi.base.sharedpref.CommonPrefConstants.USER_EXTERNAL_ID import com.navi.base.sharedpref.PreferenceManager import com.navi.base.utils.BaseUtils +import com.navi.base.utils.EMPTY import com.navi.base.utils.orFalse import com.navi.base.utils.orZero import com.navi.base.utils.replaceAngularBrackets @@ -58,7 +58,6 @@ import com.navi.chat.utils.getCrmWebViewIntent import com.navi.coin.navigator.NaviCoinDeepLinkNavigator import com.navi.common.firebaseremoteconfig.FirebaseRemoteConfigHelper import com.navi.common.model.ModuleNameV2 -import com.navi.common.model.UserDetail import com.navi.common.navigation.NavArgs import com.navi.common.ui.activity.NaviWebViewActivity import com.navi.common.utils.Constants.ADDITIONAL_PARAMETERS @@ -166,7 +165,7 @@ import timber.log.Timber object NaviDeepLinkNavigator : DeepLinkListener { private const val POST_OFFER_GENERATION = "POST_OFFER_GENERATION" - const val LOAN_APPLICATION = "LOAN_APPLICATION" + private const val LOAN_APPLICATION = "LOAN_APPLICATION" private const val APP_SETTINGS = "APP_SETTINGS" const val FAQ = "faq" private const val CALL = "call" @@ -234,7 +233,7 @@ object NaviDeepLinkNavigator : DeepLinkListener { private const val FEEDBACK_SCREEN = "feedback_screen" private const val DIGITAL_GOLD_FTUE = "digitalGoldFTUE" private const val PAYMENT_BEHAVIOUR = "PAYMENT_BEHAVIOUR" - const val BANK_ACCOUNT_CHANGE = "bank_account_change" + private const val BANK_ACCOUNT_CHANGE = "bank_account_change" private const val PAYMENT_HANDLER = "PAYMENT_HANDLER" private const val COIN = "coin" private const val ACCOUNT_AGGREGATOR = "ACCOUNT_AGGREGATOR_V2" @@ -553,13 +552,7 @@ object NaviDeepLinkNavigator : DeepLinkListener { NaviChatSystemLocalData( source = shareableLink.orEmpty(), sourceId = sourceId.orEmpty(), - currentUserName = - PreferenceManager.getSecureObject( - CURRENT_USER, - UserDetail::class.java - ) - ?.name - .orEmpty(), + currentUserName = EMPTY, externalCustomerId = PreferenceManager.getStringPreference(USER_EXTERNAL_ID) .orEmpty(), diff --git a/android/app/src/main/java/com/naviapp/dashboard/menu/customersupport/activities/CustomerSupportActivity.kt b/android/app/src/main/java/com/naviapp/dashboard/menu/customersupport/activities/CustomerSupportActivity.kt index 7a5175f5d2..2f5c445966 100644 --- a/android/app/src/main/java/com/naviapp/dashboard/menu/customersupport/activities/CustomerSupportActivity.kt +++ b/android/app/src/main/java/com/naviapp/dashboard/menu/customersupport/activities/CustomerSupportActivity.kt @@ -16,12 +16,10 @@ import androidx.lifecycle.ViewModelProvider import com.navi.analytics.utils.NaviTrackEvent import com.navi.base.model.CtaData import com.navi.base.model.LineItem -import com.navi.base.utils.BaseUtils import com.navi.base.utils.orFalse import com.navi.common.model.GroupFaq import com.navi.common.model.ModuleNameV2 import com.navi.common.ui.activity.BaseActivity -import com.navi.common.utils.observeNonNull import com.navi.common.utils.observeNullable import com.naviapp.R import com.naviapp.analytics.utils.NaviAnalytics @@ -32,15 +30,13 @@ import com.naviapp.dashboard.menu.customersupport.listeners.FaqInteractionListen import com.naviapp.dashboard.viewmodels.DashboardSharedVM import com.naviapp.databinding.ActivityCustomerSupportBinding import com.naviapp.network.ApiErrorTagType -import com.naviapp.utils.* import com.naviapp.utils.Constants.HOME_LOAN +import com.naviapp.utils.IntentConstants +import com.naviapp.utils.onPageSelected class CustomerSupportActivity : BaseActivity(), View.OnClickListener, FaqInteractionListener { private lateinit var binding: ActivityCustomerSupportBinding private val viewModel by lazy { ViewModelProvider(this).get(DashboardSharedVM::class.java) } - private var userName: String? = null - private var userPhoneNumber: String? = null - private var userEmail: String? = null private val naviAnalyticsEventTracker = NaviAnalytics.naviAnalytics.CustomerSupport() private var shouldRefresh: Boolean? = false private var product: String? = null @@ -110,19 +106,11 @@ class CustomerSupportActivity : BaseActivity(), View.OnClickListener, FaqInterac hideLoader() it?.let { groupFaqs -> initData(groupFaqs) } } - viewModel.userProfile.observeNonNull(this) { - userName = it.name - userPhoneNumber = it.phoneNumber - userEmail = it.email - } } private fun initUI() { showLoader(isShimmerEffect = true) viewModel.fetchFaqs(product, subProduct, screenName) - if (BaseUtils.isUserLoggedIn()) { - viewModel.fetchUserProfileData(naeScreenName = screenName) - } binding.sectionHeading.sectionHeadingTv.text = resources.getString(R.string.faqs_text) binding.sectionHeading.backIv.setOnClickListener(this) } diff --git a/android/app/src/main/java/com/naviapp/dashboard/repositories/DashboardRepository.kt b/android/app/src/main/java/com/naviapp/dashboard/repositories/DashboardRepository.kt index 13c4bfddb3..3627316b78 100644 --- a/android/app/src/main/java/com/naviapp/dashboard/repositories/DashboardRepository.kt +++ b/android/app/src/main/java/com/naviapp/dashboard/repositories/DashboardRepository.kt @@ -14,13 +14,6 @@ import com.naviapp.utils.retrofitService import com.naviapp.utils.superAppRetrofitService class DashboardRepository : ResponseCallback() { - suspend fun fetchUserProfile(naeScreenName: String) = - apiResponseCallback( - retrofitService().fetchUserProfile(), - metricInfo = - MetricInfo.AppMetric(screen = naeScreenName, isNae = { !it.isSuccessWithData() }) - ) - suspend fun fetchFaqs(product: String?, subProduct: String?, naeScreenName: String) = apiResponseCallback( superAppRetrofitService().fetchFaqs(product, subProduct), diff --git a/android/app/src/main/java/com/naviapp/dashboard/viewmodels/DashboardSharedVM.kt b/android/app/src/main/java/com/naviapp/dashboard/viewmodels/DashboardSharedVM.kt index 5a71374d7a..14f77a9d86 100644 --- a/android/app/src/main/java/com/naviapp/dashboard/viewmodels/DashboardSharedVM.kt +++ b/android/app/src/main/java/com/naviapp/dashboard/viewmodels/DashboardSharedVM.kt @@ -16,7 +16,6 @@ import com.navi.common.viewmodel.BaseVM import com.navi.payment.paymenthandler.model.PaymentStatusData import com.naviapp.dashboard.repositories.DashboardRepository import com.naviapp.models.GiPaymentError -import com.naviapp.models.UserProfile import com.naviapp.models.response.CustomerSupportOptionsResponse import com.naviapp.network.ApiErrorTagType import kotlinx.coroutines.flow.MutableSharedFlow @@ -34,10 +33,6 @@ class DashboardSharedVM(private val repository: DashboardRepository = DashboardR _pgRepaymentStatus.value = data } - private val _userProfile = MutableLiveData() - val userProfile: LiveData - get() = _userProfile - private val _faqs = MutableLiveData>() val faqs: LiveData> get() = _faqs @@ -69,17 +64,6 @@ class DashboardSharedVM(private val repository: DashboardRepository = DashboardR } } - fun fetchUserProfileData(needToShowError: Boolean = false, naeScreenName: String) { - coroutineScope.launch { - val response = repository.fetchUserProfile(naeScreenName = naeScreenName) - if (response.error == null && response.errors.isNullOrEmpty()) { - _userProfile.value = response.data - } else if (needToShowError) { - setErrorData(response.errors, response.error) - } - } - } - fun logout(naeScreenName: String) { coroutineScope.launch { val response = repository.logout(naeScreenName = naeScreenName) diff --git a/android/app/src/main/java/com/naviapp/home/compose/activity/HomePageActivity.kt b/android/app/src/main/java/com/naviapp/home/compose/activity/HomePageActivity.kt index ca3fbe171a..dd959a7201 100644 --- a/android/app/src/main/java/com/naviapp/home/compose/activity/HomePageActivity.kt +++ b/android/app/src/main/java/com/naviapp/home/compose/activity/HomePageActivity.kt @@ -38,7 +38,6 @@ import com.navi.base.model.GenericAnalytics import com.navi.base.model.GenericAnalyticsData import com.navi.base.model.NaviClickAction import com.navi.base.model.NaviWidgetClickWithActionData -import com.navi.base.sharedpref.CommonPrefConstants.CURRENT_USER import com.navi.base.sharedpref.PreferenceManager import com.navi.base.utils.AppLaunchUtils import com.navi.base.utils.BaseUtils @@ -61,12 +60,10 @@ import com.navi.common.firebaseremoteconfig.FirebaseRemoteConfigHelper import com.navi.common.firebaseremoteconfig.FirebaseRemoteConfigHelper.RESOURCE_MANAGER_ENABLED import com.navi.common.handler.CollectRequestPopupEventHandler import com.navi.common.managers.PermissionsManager -import com.navi.common.managers.UserManager import com.navi.common.model.AppUpgradeResponse import com.navi.common.model.ModuleName import com.navi.common.model.ModuleNameV2 import com.navi.common.model.PreviousScreenNameRequest -import com.navi.common.model.UserDetail import com.navi.common.model.common.NetworkConnectivityNudgeData import com.navi.common.network.models.GenericErrorResponse import com.navi.common.resourcemanager.manager.ResourceManager @@ -335,7 +332,6 @@ class HomePageActivity : handleStatusBarColor() startPeriodicDataUploadWorker() initPaymentListener() - fetchOtherModulesData() initHomeScreenActions() navigateToHomeTab(isResetCall = true) redirectToTab() @@ -346,16 +342,6 @@ class HomePageActivity : AppLoadTimerMapper.setAppLaunchEventStatus(intent.action != Intent.ACTION_MAIN) } - private fun fetchOtherModulesData() { - if (BaseUtils.isUserLoggedIn()) { - fetchUserProfileData() - } - } - - private fun fetchUserProfileData() { - dashboardSharedVM.fetchUserProfileData(naeScreenName = screenName) - } - private fun handleStatusBarColor() { when (sharedVM.getSelectedTabId()) { BottomBarTabType.HOME.name -> { @@ -492,7 +478,6 @@ class HomePageActivity : registrationVM.createNewSessionIfRequired(naeScreenName = screenName) observeCachedResponse() observeLoggedOut() - observeUserProfile() observeHomeFeaturesData() observeGIPaymentFailed() observeNpsRatingSubmitResponse() @@ -885,15 +870,6 @@ class HomePageActivity : } } - private fun observeUserProfile() { - dashboardSharedVM.userProfile.observeNonNull(this) { - val userDetail = - UserDetail(name = it.name.orEmpty(), phoneNumber = it.phoneNumber.orEmpty()) - PreferenceManager.saveObjectSecurely(CURRENT_USER, userDetail) - UserManager.setUserDetail(userDetail) - } - } - private fun initErrors() { initError(registrationVM) initError(dashboardSharedVM) diff --git a/android/app/src/main/java/com/naviapp/models/UserProfile.kt b/android/app/src/main/java/com/naviapp/models/UserProfile.kt deleted file mode 100644 index da8db29586..0000000000 --- a/android/app/src/main/java/com/naviapp/models/UserProfile.kt +++ /dev/null @@ -1,22 +0,0 @@ -/* - * - * * Copyright © 2019-2023 by Navi Technologies Limited - * * All rights reserved. Strictly confidential - * - */ - -package com.naviapp.models - -import android.os.Parcelable -import com.google.gson.annotations.SerializedName -import com.navi.common.model.BankDetail -import kotlinx.parcelize.Parcelize - -@Parcelize -data class UserProfile( - @SerializedName("name") var name: String? = null, - @SerializedName("email") var email: String? = null, - @SerializedName("phoneNumber") val phoneNumber: String? = null, - @SerializedName("bankAccount") var bankDetails: BankDetail? = null, - @SerializedName("insurance") val hasInsurance: Boolean? = null -) : Parcelable diff --git a/android/app/src/main/java/com/naviapp/network/retrofit/RetrofitService.kt b/android/app/src/main/java/com/naviapp/network/retrofit/RetrofitService.kt index 47c7e42686..df0a719269 100644 --- a/android/app/src/main/java/com/naviapp/network/retrofit/RetrofitService.kt +++ b/android/app/src/main/java/com/naviapp/network/retrofit/RetrofitService.kt @@ -26,7 +26,6 @@ import com.navi.common.model.InitiateRescheduleLoanAgreementGenerationRequest import com.navi.common.model.InitiateRescheduleLoanAgreementGenerationResponse import com.navi.common.model.ModuleName import com.navi.common.model.PaymentOrderDetail -import com.navi.common.model.ProfileResponse import com.navi.common.model.UploadDataAsyncResponse import com.navi.common.model.UserDataWrapper import com.navi.common.network.EnableRequestBodyLogging @@ -83,7 +82,6 @@ import com.naviapp.models.EnachData import com.naviapp.models.LoginSettings import com.naviapp.models.RedirectPageStatus import com.naviapp.models.UserInstalledApp -import com.naviapp.models.UserProfile import com.naviapp.models.request.AutoPayOptionData import com.naviapp.models.request.CrossSellProductDetailsRequest import com.naviapp.models.request.CustomPaymentRequest @@ -276,9 +274,6 @@ interface RetrofitService { @Path("loan_account_number") loanAccountNumber: String ): Response>> - @GET("/customer-service/customers/me/profile") - suspend fun fetchUserProfile(): Response> - @GET("/faq") suspend fun fetchFaqs( @Query("product") product: String? = null, @@ -356,9 +351,6 @@ interface RetrofitService { @Body autoPayOptionData: AutoPayOptionData ): Response> - @GET("customer-service/customers/me/profile") - suspend fun fetchProfileDetails(): Response> - // Logout @POST("/auth/v1/logout") suspend fun logout(): Response> diff --git a/android/app/src/main/java/com/naviapp/payment/repositories/PaymentRepository.kt b/android/app/src/main/java/com/naviapp/payment/repositories/PaymentRepository.kt index 63fa88a073..e0e2882c83 100644 --- a/android/app/src/main/java/com/naviapp/payment/repositories/PaymentRepository.kt +++ b/android/app/src/main/java/com/naviapp/payment/repositories/PaymentRepository.kt @@ -38,8 +38,6 @@ class PaymentRepository @Inject constructor() : ResponseCallback() { ): RepoResult> = apiResponseCallback(retrofitService().getRepaymentDetail(requestId, repaymentType)) - suspend fun fetchProfileDetails() = apiResponseCallback(retrofitService().fetchProfileDetails()) - suspend fun postPgRepaymentStatus( loanAccountNumber: String, data: PaymentStatusData diff --git a/android/app/src/main/java/com/naviapp/payment/viewmodel/PaymentVM.kt b/android/app/src/main/java/com/naviapp/payment/viewmodel/PaymentVM.kt index b1d9b16b71..9861372268 100644 --- a/android/app/src/main/java/com/naviapp/payment/viewmodel/PaymentVM.kt +++ b/android/app/src/main/java/com/naviapp/payment/viewmodel/PaymentVM.kt @@ -10,11 +10,11 @@ package com.naviapp.payment.viewmodel import androidx.lifecycle.LiveData import androidx.lifecycle.MutableLiveData import com.navi.analytics.utils.NaviTrackEvent +import com.navi.base.utils.EMPTY import com.navi.base.utils.orZero import com.navi.common.model.GroupFaq import com.navi.common.model.ModuleNameV2 import com.navi.common.model.PaymentOrderDetail -import com.navi.common.model.ProfileResponse import com.navi.common.model.UploadDataAsyncResponse import com.navi.common.network.models.ErrorMetaData import com.navi.common.utils.CommonNaviAnalytics @@ -82,8 +82,6 @@ class PaymentVM : BaseVM() { MutableStateFlow(GenericWidgetState.Init) val loanForeclosureResponse = _loanForeclosureResponse.asStateFlow() - private val profileResponse = MutableLiveData() - private val _prePaymentDetails = MutableLiveData() val prePaymentDetails: LiveData get() = _prePaymentDetails @@ -148,9 +146,7 @@ class PaymentVM : BaseVM() { return@launch } _paymentOrderData.value = response.data?.details - if (profileResponse.value == null) - fetchProfileDetails(response.data?.details, amount) - else populatePaymentData(response.data?.details, amount) + populatePaymentData(response.data?.details, amount) } else { isPaymentLoaderShowing = false updateErrorMessage(response.error) @@ -158,29 +154,16 @@ class PaymentVM : BaseVM() { } } - private fun fetchProfileDetails(data: PaymentOrderDetail?, amount: Amount?) { - coroutineScope.launch { - val response = repository.fetchProfileDetails() - profileResponse.value = response.data - if (response.error == null) { - populatePaymentData(data, amount) - } else { - updateErrorMessage(response.error) - } - } - } - private fun populatePaymentData(orderDetail: PaymentOrderDetail?, amount: Amount?) { val paymentReq = PaymentRequest() amount?.let { - paymentReq.name = profileResponse.value?.name + paymentReq.name = EMPTY /** Amount is always passed in currency subunits Eg: "500" = INR 5.00 */ paymentReq.amount = (it.value.orZero() * RUPEES_IN_PAISA).toString() paymentReq.currency = it.currency paymentReq.orderId = orderDetail?.orderDetail?.orderId paymentReq.notes = Notes(orderDetail?.paymentReferenceId) - paymentReq.prefill = - Prefill(profileResponse.value?.email, profileResponse.value?.phoneNumber) + paymentReq.prefill = Prefill(EMPTY, EMPTY) paymentReq.method = orderDetail?.hidePaymentMethod _paymentDetail.value = paymentReq } diff --git a/android/app/src/main/java/com/naviapp/personalloan/getloan/common/fragment/CustomerSupportFragment.kt b/android/app/src/main/java/com/naviapp/personalloan/getloan/common/fragment/CustomerSupportFragment.kt index e24c9150e3..d4b42ac6d3 100644 --- a/android/app/src/main/java/com/naviapp/personalloan/getloan/common/fragment/CustomerSupportFragment.kt +++ b/android/app/src/main/java/com/naviapp/personalloan/getloan/common/fragment/CustomerSupportFragment.kt @@ -17,10 +17,9 @@ import android.view.ViewStub import androidx.databinding.DataBindingUtil import androidx.lifecycle.ViewModelProvider import com.navi.analytics.utils.NaviTrackEvent -import com.navi.base.sharedpref.CommonPrefConstants.CURRENT_USER import com.navi.base.sharedpref.CommonPrefConstants.USER_EXTERNAL_ID import com.navi.base.sharedpref.PreferenceManager -import com.navi.base.utils.BaseUtils +import com.navi.base.utils.EMPTY import com.navi.base.utils.orTrue import com.navi.chat.models.NaviChatSystemLocalData import com.navi.chat.utils.CHAT_ACTIVITY @@ -32,7 +31,6 @@ import com.navi.chat.utils.TIMESTAMP import com.navi.chat.utils.TRACKING_UUID import com.navi.chat.utils.navigateToCrm import com.navi.common.R as CommonR -import com.navi.common.model.UserDetail import com.navi.common.ui.fragment.BaseBottomSheet import com.navi.common.utils.bankDetailsAutoDebitFaqs import com.navi.common.utils.bankDetailsFaqs @@ -93,19 +91,6 @@ class CustomerSupportFragment : BaseBottomSheet(), View.OnClickListener { binding.sendEmailIbv.setOnClickListener(this) binding.faqsIbv.setOnClickListener(this) binding.itcvChat.setOnClickListener(this) - viewModel.userProfile.observeNonNull(this) { - val bundle = Bundle() - if (loanType == Constants.TYPE_HOME_LOAN) { - bundle.putString(KEY_PRODUCT, Constants.HOME_LOAN) - } - ScreenNavigator.instance.startActivity( - activity, - ScreenNavigator.EMAIL_US_SCREEN, - isRootActivity = false, - bundle = bundle - ) - hideLoader() - } viewModel.customerSupportOptionsResponse.observeNonNull(this) { customerSupportOptionResponse -> @@ -187,14 +172,22 @@ class CustomerSupportFragment : BaseBottomSheet(), View.OnClickListener { override fun onClick(v: View?) { when (v?.id) { R.id.send_email_ibv -> { - showLoader() faqEventTracker.onHelpBottomSheetSendEmailClicked( arguments?.getString(CUST_SCREEN_NAME).orEmpty(), loanType ) eventTracker.onSendEmailTap(arguments?.getString(CUST_SCREEN_NAME).orEmpty()) - if (BaseUtils.isUserLoggedIn()) - viewModel.fetchUserProfileData(true, naeScreenName = screenName) + + val bundle = Bundle() + if (loanType == Constants.TYPE_HOME_LOAN) { + bundle.putString(KEY_PRODUCT, Constants.HOME_LOAN) + } + ScreenNavigator.instance.startActivity( + activity, + ScreenNavigator.EMAIL_US_SCREEN, + isRootActivity = false, + bundle = bundle + ) } R.id.faqs_ibv -> { faqEventTracker.onHelpBottomSheetFaqClicked( @@ -212,10 +205,7 @@ class CustomerSupportFragment : BaseBottomSheet(), View.OnClickListener { NaviChatSystemLocalData( source = touchPointName.orEmpty(), sourceId = DEFAULT_SOURCE_ID_FOR_PL, - currentUserName = - PreferenceManager.getSecureObject(CURRENT_USER, UserDetail::class.java) - ?.name - .orEmpty(), + currentUserName = EMPTY, externalCustomerId = PreferenceManager.getStringPreference(USER_EXTERNAL_ID).orEmpty() ) diff --git a/android/navi-base/src/main/java/com/navi/base/sharedpref/CommonPrefConstants.kt b/android/navi-base/src/main/java/com/navi/base/sharedpref/CommonPrefConstants.kt index e37750d97d..b5fe7cddf9 100644 --- a/android/navi-base/src/main/java/com/navi/base/sharedpref/CommonPrefConstants.kt +++ b/android/navi-base/src/main/java/com/navi/base/sharedpref/CommonPrefConstants.kt @@ -9,7 +9,6 @@ package com.navi.base.sharedpref object CommonPrefConstants { const val IS_LOAN_JOURNEY_DATA_DELETED = "IS_LOAN_JOURNEY_DATA_DELETED" - const val CURRENT_USER = "CURRENT_USER" const val SESSION_TOKEN = "SESSION_TOKEN" const val REFRESH_TOKEN = "REFRESH_TOKEN" const val PHONE_NUMBER = "PHONE_NUMBER" diff --git a/android/navi-base/src/main/java/com/navi/base/sharedpref/PreferenceManager.kt b/android/navi-base/src/main/java/com/navi/base/sharedpref/PreferenceManager.kt index def418c6e5..05d3adbe2e 100644 --- a/android/navi-base/src/main/java/com/navi/base/sharedpref/PreferenceManager.kt +++ b/android/navi-base/src/main/java/com/navi/base/sharedpref/PreferenceManager.kt @@ -13,8 +13,6 @@ import android.content.SharedPreferences import androidx.security.crypto.EncryptedSharedPreferences import androidx.security.crypto.MasterKey import com.google.gson.Gson -import com.google.gson.reflect.TypeToken -import com.navi.base.sharedpref.CommonPrefConstants.CURRENT_USER import com.navi.base.sharedpref.CommonPrefConstants.IS_LOAN_JOURNEY_DATA_DELETED import com.navi.base.utils.removeSelectiveData import kotlinx.coroutines.CoroutineScope @@ -169,9 +167,6 @@ object PreferenceManager { fun getObjectPrefrences(key: String, model: Class): T? { return run { val json = sharedPreferencesForSession.getString(key, "") - if (key == CURRENT_USER && json.isNullOrBlank()) { - return null - } try { gson.fromJson(json, model) } catch (e: Exception) { @@ -180,23 +175,6 @@ object PreferenceManager { } } - fun getListObjectReference(key: String, model: Class): List? { - return run { - val json = sharedPreferencesForSession.getString(key, "") - if (key == CURRENT_USER && json.isNullOrBlank()) { - return null - } - try { - val listOfObjects: List? - val type = TypeToken.getParameterized(List::class.java, model).type - listOfObjects = gson.fromJson(json, type) - listOfObjects - } catch (e: Exception) { - null - } - } - } - fun clearPrefDataSession( excludeSharedPrefKeys: List = listOf(), excludeSecureSharedPrefKeys: List = listOf() @@ -375,9 +353,6 @@ object PreferenceManager { if (shouldUseEncryptedSharedPref()) { return run { val json = secureSharedPreferencesForSession?.getString(key, null) - if (key == CURRENT_USER && json.isNullOrBlank()) { - return null - } try { gson.fromJson(json, model) } catch (e: Exception) { diff --git a/android/navi-common/src/main/java/com/navi/common/managers/UserManager.kt b/android/navi-common/src/main/java/com/navi/common/managers/UserManager.kt index dd84e6bf25..bd50cbcf15 100644 --- a/android/navi-common/src/main/java/com/navi/common/managers/UserManager.kt +++ b/android/navi-common/src/main/java/com/navi/common/managers/UserManager.kt @@ -7,37 +7,11 @@ package com.navi.common.managers -import com.navi.base.sharedpref.CommonPrefConstants.CURRENT_USER -import com.navi.base.sharedpref.PreferenceManager import com.navi.base.utils.BaseUtils -import com.navi.common.model.UserDetail +import com.navi.base.utils.EMPTY object UserManager { + fun getPhoneNumber() = BaseUtils.getPhoneNumber().orEmpty() - private var user: UserDetail? = null - - init { - user = PreferenceManager.getSecureObject(CURRENT_USER, UserDetail::class.java) - } - - fun setUserDetail(userDetail: UserDetail) { - user = userDetail - } - - fun getPhoneNumber(): String { - user?.phoneNumber?.let { - return it - } - ?: run { - return BaseUtils.getPhoneNumber().orEmpty() - } - } - - fun getName() = user?.name - - fun clearUser() { - user = null - PreferenceManager.removePrefData(arrayOf(CURRENT_USER)) - PreferenceManager.removeSecureKey(CURRENT_USER) - } + fun getName() = EMPTY } diff --git a/android/navi-common/src/main/java/com/navi/common/model/ProfileResponse.kt b/android/navi-common/src/main/java/com/navi/common/model/ProfileResponse.kt deleted file mode 100644 index 2b3dec045f..0000000000 --- a/android/navi-common/src/main/java/com/navi/common/model/ProfileResponse.kt +++ /dev/null @@ -1,17 +0,0 @@ -/* - * - * * Copyright © 2023 by Navi Technologies Limited - * * All rights reserved. Strictly confidential - * - */ - -package com.navi.common.model - -import com.google.gson.annotations.SerializedName - -data class ProfileResponse( - @SerializedName("name") val name: String?, - @SerializedName("email") val email: String?, - @SerializedName("phoneNumber") val phoneNumber: String?, - @SerializedName("bankDetails") val bankDetails: BankDetail? -) diff --git a/android/navi-gold/src/main/java/com/navi/gold/ui/BankDetailsFragment.kt b/android/navi-gold/src/main/java/com/navi/gold/ui/BankDetailsFragment.kt index 4108111d30..3c469d6037 100644 --- a/android/navi-gold/src/main/java/com/navi/gold/ui/BankDetailsFragment.kt +++ b/android/navi-gold/src/main/java/com/navi/gold/ui/BankDetailsFragment.kt @@ -37,7 +37,6 @@ import com.navi.common.firebaseremoteconfig.FirebaseRemoteConfigHelper import com.navi.common.listeners.BackPressedListener import com.navi.common.listeners.FragmentInterchangeListener import com.navi.common.listeners.HeaderInteractionListener -import com.navi.common.model.UserDetail import com.navi.common.model.common.Header import com.navi.common.network.models.GenericErrorResponse import com.navi.common.ui.fragment.BaseFragment @@ -134,13 +133,7 @@ class BankDetailsFragment : NaviChatSystemLocalData( source = GenericScreens.DIGITAL_GOLD_LANDING_PAGE.name, sourceId = DIGITAL_GOLD, - currentUserName = - PreferenceManager.getSecureObject( - CommonPrefConstants.CURRENT_USER, - UserDetail::class.java - ) - ?.name - .orEmpty(), + currentUserName = EMPTY, externalCustomerId = PreferenceManager.getStringPreference( CommonPrefConstants.USER_EXTERNAL_ID diff --git a/android/navi-gold/src/main/java/com/navi/gold/ui/BankSearchFragment.kt b/android/navi-gold/src/main/java/com/navi/gold/ui/BankSearchFragment.kt index 32d753cbcd..e9ffe889fa 100644 --- a/android/navi-gold/src/main/java/com/navi/gold/ui/BankSearchFragment.kt +++ b/android/navi-gold/src/main/java/com/navi/gold/ui/BankSearchFragment.kt @@ -19,6 +19,7 @@ import androidx.databinding.DataBindingUtil import androidx.lifecycle.ViewModelProvider import com.navi.base.sharedpref.CommonPrefConstants import com.navi.base.sharedpref.PreferenceManager +import com.navi.base.utils.EMPTY import com.navi.base.utils.orZero import com.navi.chat.models.NaviChatSystemLocalData import com.navi.chat.ui.activities.SupportScreenActivity @@ -32,7 +33,6 @@ import com.navi.common.firebaseremoteconfig.FirebaseRemoteConfigHelper import com.navi.common.image.loadUrlIntoImageView import com.navi.common.listeners.FragmentInterchangeListener import com.navi.common.listeners.HeaderInteractionListener -import com.navi.common.model.UserDetail import com.navi.common.model.common.Header import com.navi.common.ui.fragment.BaseFragment import com.navi.common.utils.observeNonNull @@ -95,13 +95,7 @@ class BankSearchFragment : NaviChatSystemLocalData( source = GenericScreens.DIGITAL_GOLD_LANDING_PAGE.name, sourceId = DIGITAL_GOLD, - currentUserName = - PreferenceManager.getSecureObject( - CommonPrefConstants.CURRENT_USER, - UserDetail::class.java - ) - ?.name - .orEmpty(), + currentUserName = EMPTY, externalCustomerId = PreferenceManager.getStringPreference( CommonPrefConstants.USER_EXTERNAL_ID diff --git a/android/navi-gold/src/main/java/com/navi/gold/ui/CommonPermissionFragment.kt b/android/navi-gold/src/main/java/com/navi/gold/ui/CommonPermissionFragment.kt index 04a98a4eef..51841e6140 100644 --- a/android/navi-gold/src/main/java/com/navi/gold/ui/CommonPermissionFragment.kt +++ b/android/navi-gold/src/main/java/com/navi/gold/ui/CommonPermissionFragment.kt @@ -28,6 +28,7 @@ import com.navi.base.AppServiceManager import com.navi.base.model.ActionData import com.navi.base.sharedpref.CommonPrefConstants import com.navi.base.sharedpref.PreferenceManager +import com.navi.base.utils.EMPTY import com.navi.chat.models.NaviChatSystemLocalData import com.navi.chat.ui.activities.NaviChatActivity import com.navi.chat.utils.DIGITAL_GOLD @@ -40,7 +41,6 @@ import com.navi.common.listeners.HeaderInteractionListener import com.navi.common.listeners.LocationUpdateListener import com.navi.common.managers.PermissionsManager import com.navi.common.model.PermissionRequestData -import com.navi.common.model.UserDetail import com.navi.common.model.permission.PermissionTile import com.navi.common.permission.PermissionAdapter import com.navi.common.ui.fragment.BaseFragment @@ -149,13 +149,7 @@ class CommonPermissionFragment : NaviChatSystemLocalData( source = GenericScreens.DIGITAL_GOLD_LANDING_PAGE.name, sourceId = DIGITAL_GOLD, - currentUserName = - PreferenceManager.getSecureObject( - CommonPrefConstants.CURRENT_USER, - UserDetail::class.java - ) - ?.name - .orEmpty(), + currentUserName = EMPTY, externalCustomerId = PreferenceManager.getStringPreference( CommonPrefConstants.USER_EXTERNAL_ID diff --git a/android/navi-gold/src/main/java/com/navi/gold/ui/DigitalGoldHomeActivity.kt b/android/navi-gold/src/main/java/com/navi/gold/ui/DigitalGoldHomeActivity.kt index 67f8d82c74..42a6e08712 100644 --- a/android/navi-gold/src/main/java/com/navi/gold/ui/DigitalGoldHomeActivity.kt +++ b/android/navi-gold/src/main/java/com/navi/gold/ui/DigitalGoldHomeActivity.kt @@ -45,9 +45,9 @@ import com.navi.base.model.GenericAnalyticsData import com.navi.base.model.NaviClickAction import com.navi.base.model.NaviWidgetClickWithActionData import com.navi.base.sharedpref.CommonPrefConstants -import com.navi.base.sharedpref.CommonPrefConstants.CURRENT_USER import com.navi.base.sharedpref.PreferenceManager import com.navi.base.utils.BaseUtils +import com.navi.base.utils.EMPTY import com.navi.base.utils.isNotNull import com.navi.base.utils.isNotNullAndNotEmpty import com.navi.base.utils.isNull @@ -74,7 +74,6 @@ import com.navi.common.listeners.NewBottomSheetListener import com.navi.common.managers.PermissionsManager import com.navi.common.model.ModuleNameV2 import com.navi.common.model.PermissionVerticalType -import com.navi.common.model.UserDetail import com.navi.common.model.common.InvoiceDownloadData import com.navi.common.model.common.WidgetResponse import com.navi.common.network.models.GenericErrorResponse @@ -1289,13 +1288,7 @@ class DigitalGoldHomeActivity : NaviChatSystemLocalData( source = GenericScreens.DIGITAL_GOLD_LANDING_PAGE.name, sourceId = DIGITAL_GOLD, - currentUserName = - PreferenceManager.getSecureObject( - CURRENT_USER, - UserDetail::class.java - ) - ?.name - .orEmpty(), + currentUserName = EMPTY, externalCustomerId = PreferenceManager.getStringPreference( CommonPrefConstants.USER_EXTERNAL_ID diff --git a/android/navi-gold/src/main/java/com/navi/gold/ui/PennyDropOptionsFragment.kt b/android/navi-gold/src/main/java/com/navi/gold/ui/PennyDropOptionsFragment.kt index 81bbd65963..8af770e988 100644 --- a/android/navi-gold/src/main/java/com/navi/gold/ui/PennyDropOptionsFragment.kt +++ b/android/navi-gold/src/main/java/com/navi/gold/ui/PennyDropOptionsFragment.kt @@ -27,6 +27,7 @@ import com.navi.base.model.ActionData import com.navi.base.model.BottomSheetData import com.navi.base.sharedpref.CommonPrefConstants import com.navi.base.sharedpref.PreferenceManager +import com.navi.base.utils.EMPTY import com.navi.base.utils.isNotNull import com.navi.base.utils.isNull import com.navi.chat.models.NaviChatSystemLocalData @@ -41,7 +42,6 @@ import com.navi.common.firebaseremoteconfig.FirebaseRemoteConfigHelper import com.navi.common.listeners.FragmentInterchangeListener import com.navi.common.listeners.HeaderInteractionListener import com.navi.common.listeners.NewBottomSheetListener -import com.navi.common.model.UserDetail import com.navi.common.model.common.Header import com.navi.common.ui.fragment.BaseFragment import com.navi.common.ui.fragment.NewCommonBottomSheet @@ -128,13 +128,7 @@ class PennyDropOptionsFragment : BaseFragment(), WidgetCallback, NewBottomSheetL NaviChatSystemLocalData( source = GenericScreens.DIGITAL_GOLD_LANDING_PAGE.name, sourceId = DIGITAL_GOLD, - currentUserName = - PreferenceManager.getSecureObject( - CommonPrefConstants.CURRENT_USER, - UserDetail::class.java - ) - ?.name - .orEmpty(), + currentUserName = EMPTY, externalCustomerId = PreferenceManager.getStringPreference( CommonPrefConstants.USER_EXTERNAL_ID diff --git a/android/navi-gold/src/main/java/com/navi/gold/util/CommonUtils.kt b/android/navi-gold/src/main/java/com/navi/gold/util/CommonUtils.kt index 9699f66281..4f4f56e100 100644 --- a/android/navi-gold/src/main/java/com/navi/gold/util/CommonUtils.kt +++ b/android/navi-gold/src/main/java/com/navi/gold/util/CommonUtils.kt @@ -17,13 +17,13 @@ import com.navi.base.deeplink.DeepLinkManager import com.navi.base.model.ActionData import com.navi.base.sharedpref.CommonPrefConstants import com.navi.base.sharedpref.PreferenceManager +import com.navi.base.utils.EMPTY import com.navi.base.utils.orTrue import com.navi.chat.models.NaviChatSystemLocalData import com.navi.chat.ui.activities.NaviChatActivity import com.navi.chat.utils.DIGITAL_GOLD import com.navi.chat.utils.NAVI_CHAT_SYSTEM_LOCAL_DATA import com.navi.common.enach.ProviderType -import com.navi.common.model.UserDetail import com.navi.common.ui.fragment.PaymentCheckFragment import com.navi.common.ui.fragment.WidgetFullScreenDialogFragment import com.navi.common.utils.TemporaryStorageHelper @@ -120,13 +120,7 @@ object CommonUtils { NaviChatSystemLocalData( source = source, sourceId = DIGITAL_GOLD, - currentUserName = - PreferenceManager.getSecureObject( - CommonPrefConstants.CURRENT_USER, - UserDetail::class.java - ) - ?.name - .orEmpty(), + currentUserName = EMPTY, externalCustomerId = PreferenceManager.getStringPreference( CommonPrefConstants.USER_EXTERNAL_ID diff --git a/android/navi-payment/src/main/java/com/navi/payment/paymenthandler/model/PaymentHandlerErrorType.kt b/android/navi-payment/src/main/java/com/navi/payment/paymenthandler/model/PaymentHandlerErrorType.kt index fcb55db280..d5eb9f6372 100644 --- a/android/navi-payment/src/main/java/com/navi/payment/paymenthandler/model/PaymentHandlerErrorType.kt +++ b/android/navi-payment/src/main/java/com/navi/payment/paymenthandler/model/PaymentHandlerErrorType.kt @@ -1,6 +1,6 @@ /* * - * * Copyright © 2023 by Navi Technologies Limited + * * Copyright © 2023-2024 by Navi Technologies Limited * * All rights reserved. Strictly confidential * */ @@ -12,7 +12,6 @@ enum class PaymentHandlerErrorType { INIT_PAYMENT_API_FAILURE, INIT_PAYMENT_REQUEST_ID_NULL, FETCH_PAYMENT_ORDER_DETAILS_API_FAILURE, - FETCH_PROFILE_DETAILS_API_FAILURE, PAYMENT_ORDER_DATA_NULL, POST_PAYMENT_STATUS_DETAILS_API_FAILURE, PAYMENT_STATUS_POLLING_API_FAILURE, diff --git a/android/navi-payment/src/main/java/com/navi/paymentclients/network/ClientRetrofitService.kt b/android/navi-payment/src/main/java/com/navi/paymentclients/network/ClientRetrofitService.kt index 7e6746255b..59df07cca1 100644 --- a/android/navi-payment/src/main/java/com/navi/paymentclients/network/ClientRetrofitService.kt +++ b/android/navi-payment/src/main/java/com/navi/paymentclients/network/ClientRetrofitService.kt @@ -9,7 +9,6 @@ package com.navi.paymentclients.network import com.navi.common.model.AsyncRequestData import com.navi.common.model.PaymentOrderDetail -import com.navi.common.model.ProfileResponse import com.navi.common.model.UploadDataAsyncResponse import com.navi.common.network.models.GenericResponse import com.navi.payment.paymenthandler.model.PaymentStatusData @@ -47,11 +46,6 @@ interface ClientRetrofitService { @Body data: PaymentStatusData ): Response> - @GET("customer-service/customers/me/profile") - suspend fun fetchProfileDetails( - @Header("X-Target") header: String - ): Response> - @GET("/repayments") suspend fun fetchPaymentOrderDetails( @Header("X-Target") header: String, diff --git a/android/navi-payment/src/main/java/com/navi/paymentclients/repo/lending/LEPaymentClientRepository.kt b/android/navi-payment/src/main/java/com/navi/paymentclients/repo/lending/LEPaymentClientRepository.kt index d7174dbafa..7d95283375 100644 --- a/android/navi-payment/src/main/java/com/navi/paymentclients/repo/lending/LEPaymentClientRepository.kt +++ b/android/navi-payment/src/main/java/com/navi/paymentclients/repo/lending/LEPaymentClientRepository.kt @@ -38,9 +38,6 @@ constructor(private val retrofitService: ClientRetrofitService) : ResponseCallba retrofitService.fetchPaymentOrderDetails(ModuleName.LE.name, requestId, repaymentType) ) - suspend fun fetchProfileDetails() = - apiResponseCallback(retrofitService.fetchProfileDetails(ModuleName.LE.name)) - suspend fun postPaymentStatusDetail( loanAccountNumber: String, data: PaymentStatusData diff --git a/android/navi-payment/src/main/java/com/navi/paymentclients/ui/lending/LEPaymentHandlerActivity.kt b/android/navi-payment/src/main/java/com/navi/paymentclients/ui/lending/LEPaymentHandlerActivity.kt index 5c8fc63808..19026f1023 100644 --- a/android/navi-payment/src/main/java/com/navi/paymentclients/ui/lending/LEPaymentHandlerActivity.kt +++ b/android/navi-payment/src/main/java/com/navi/paymentclients/ui/lending/LEPaymentHandlerActivity.kt @@ -182,7 +182,7 @@ class LEPaymentHandlerActivity : is ResponseState.Success -> { if (data.value?.status != FirebaseStatusType.PENDING) { resetListeners() - viewModel.fetchProfileDetails( + viewModel.updatePaymentRequestData( data.value?.details, viewModel.getPaymentAmount(queryMap) ) diff --git a/android/navi-payment/src/main/java/com/navi/paymentclients/viewmodel/lending/LEPaymentHandlerVM.kt b/android/navi-payment/src/main/java/com/navi/paymentclients/viewmodel/lending/LEPaymentHandlerVM.kt index 272759fcd8..45445117df 100644 --- a/android/navi-payment/src/main/java/com/navi/paymentclients/viewmodel/lending/LEPaymentHandlerVM.kt +++ b/android/navi-payment/src/main/java/com/navi/paymentclients/viewmodel/lending/LEPaymentHandlerVM.kt @@ -8,12 +8,12 @@ package com.navi.paymentclients.viewmodel.lending import androidx.lifecycle.viewModelScope +import com.navi.base.utils.EMPTY import com.navi.base.utils.orZero import com.navi.common.ResponseState import com.navi.common.constants.RUPEES_IN_PAISA import com.navi.common.model.AsyncRequestData import com.navi.common.model.PaymentOrderDetail -import com.navi.common.model.ProfileResponse import com.navi.common.model.UploadDataAsyncResponse import com.navi.common.viewmodel.BaseVM import com.navi.payment.paymenthandler.model.Notes @@ -42,8 +42,6 @@ import kotlinx.coroutines.launch class LEPaymentHandlerVM @Inject constructor(private val repository: LEPaymentClientRepository) : BaseVM() { - private var profileResponse: ProfileResponse? = null - var paymentOrderData: PaymentOrderDetail? = null private val _initPaymentResponse = @@ -108,24 +106,6 @@ class LEPaymentHandlerVM @Inject constructor(private val repository: LEPaymentCl } } - fun fetchProfileDetails(data: PaymentOrderDetail?, amount: Amount?) { - viewModelScope.launch { - val response = repository.fetchProfileDetails() - if ( - response.error == null && response.errors.isNullOrEmpty() && response.data != null - ) { - profileResponse = response.data - updatePaymentRequestData(data, amount) - } else { - _paymentRequestData.emit( - ResponseState.Failure( - PaymentHandlerErrorType.FETCH_PROFILE_DETAILS_API_FAILURE.name - ) - ) - } - } - } - fun postPaymentStatusDetail(loanAccountNumber: String, data: PaymentStatusData) { viewModelScope.launch { _paymentStatusDetail.value = ResponseState.Loading @@ -180,15 +160,15 @@ class LEPaymentHandlerVM @Inject constructor(private val repository: LEPaymentCl } } - private fun updatePaymentRequestData(orderDetail: PaymentOrderDetail?, amount: Amount?) { + fun updatePaymentRequestData(orderDetail: PaymentOrderDetail?, amount: Amount?) { val paymentRequest = PaymentRequest( - name = profileResponse?.name, + name = EMPTY, amount = (amount?.value.orZero() * RUPEES_IN_PAISA).toString(), currency = amount?.currency, orderId = orderDetail?.orderDetail?.orderId, notes = Notes(orderDetail?.paymentReferenceId), - prefill = Prefill(profileResponse?.email, profileResponse?.phoneNumber), + prefill = Prefill(EMPTY, EMPTY), method = orderDetail?.hidePaymentMethod ) _paymentRequestData.value = ResponseState.Success(paymentRequest)