From c49ebceb526339f45a95450ede5bbe9b5f7d2ee7 Mon Sep 17 00:00:00 2001 From: Kishan Kumar Date: Mon, 13 May 2024 14:40:06 +0530 Subject: [PATCH] =?UTF-8?q?TP-64841=20|=20methods,=20classes=20&=20package?= =?UTF-8?q?=20restructuring=20&=20removed=20unused=20=E2=80=A6=20(#10786)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../navi-coin/src/main/AndroidManifest.xml | 2 +- .../di => di/module}/NetworkModule.kt | 27 ++-- .../com/navi/coin/di/module/UtilityModule.kt | 17 +++ .../qualifiers/Qualifiers.kt} | 2 +- .../navi/coin/models/CoinHistoryNavArgs.kt | 13 -- .../coin/models/{ => model}/RedemptionData.kt | 2 +- .../{ => model}/ScratchCardHistoryResponse.kt | 2 +- .../{ => model}/TransactionHistoryResponse.kt | 2 +- .../models/{ => model}/VpaValidationModels.kt | 2 +- .../{ => states}/CoinHomeScreenState.kt | 2 +- .../CoinNavigationActions.kt | 2 +- .../coin/{utils => navigator}/CoinRouter.kt | 12 +- .../navigator/NaviCoinDeepLinkNavigator.kt | 9 +- .../navigator/navigators/CoinNavigator.kt | 4 +- .../navigator/screens/CoinActivityRegistry.kt | 2 +- .../screens/CoinComposableRegistry.kt | 6 +- .../com/navi/coin/network/ApiConstants.kt | 6 - .../network/{retrofit => }/CoinHttpClient.kt | 2 +- .../network/{retrofit => }/RetrofitService.kt | 16 +-- .../com/navi/coin/network/di/NetworkUtils.kt | 16 --- .../CashHistoryListSource.kt | 7 +- .../CoinHistoryListSource.kt | 7 +- .../ScratchCardHistoryListSource.kt | 7 +- .../{ => repository}/CoinHistoryScreenRepo.kt | 10 +- .../{ => repository}/CoinHomeScreenRepo.kt | 10 +- .../ScratchCardHistoryScreenRepo.kt | 11 +- .../navi/coin/{ui/themes => theme}/Colors.kt | 2 +- .../ui/{compose => activity}/CoinActivity.kt | 14 +- .../compose/common/CoinHistory.kt} | 28 ++-- .../compose/common/Common.kt} | 130 +----------------- .../compose/common/Init.kt} | 4 +- .../compose/common/ScratchCardList.kt} | 48 +++---- .../{ => navhost}/CoinDestinationNavHost.kt | 8 +- .../compose/{ => screen}/CoinErrorScreen.kt | 2 +- .../compose/{ => screen}/CoinHistoryScreen.kt | 27 ++-- .../ui/compose/{ => screen}/CoinHomeScreen.kt | 26 ++-- .../{ => screen}/RedemptionStatusScreen.kt | 6 +- .../{ => screen}/ScratchCardHistoryScreen.kt | 36 ++--- .../widgetfactory}/CoinWidgetRenderer.kt | 22 +-- .../com/navi/coin/utils/CoinAnimationsUtil.kt | 17 --- .../java/com/navi/coin/utils/CommonUtils.kt | 90 +----------- .../com/navi/coin/utils/ICountDownHelper.kt | 23 ---- .../{ => analytics}/NaviCoinsAnalytics.kt | 2 +- .../coin/utils/{ => constant}/Constants.kt | 18 +-- .../com/navi/coin/utils/ext/ActivityExt.kt | 29 ++++ .../coin/utils/{Ext.kt => ext/JsonObj.kt} | 2 +- .../java/com/navi/coin/utils/ext/UtilExt.kt | 16 +++ .../utils/{ => facade}/CountDownFacade.kt | 18 ++- .../coin/utils/{ => mock}/CoinMockUtils.kt | 2 +- .../navi/coin/utils/shape/SemiCircleShape.kt | 42 ++++++ .../com/navi/coin/vm/CoinHistoryScreenVM.kt | 14 +- .../java/com/navi/coin/vm/CoinHomeScreenVM.kt | 34 ++--- .../com/navi/coin/vm/ScratchCardScreenVM.kt | 16 +-- .../coins/repo/CoinHistoryScreenRepoTest.kt | 20 +-- .../navi/coins/repo/CoinHomeScreenRepoTest.kt | 6 +- .../navi/coins/vm/CoinHistoryScreenVMTest.kt | 8 +- .../com/navi/coins/vm/CoinHomeScreenVMTest.kt | 19 +-- 57 files changed, 364 insertions(+), 563 deletions(-) rename android/navi-coin/src/main/java/com/navi/coin/{network/di => di/module}/NetworkModule.kt (69%) create mode 100644 android/navi-coin/src/main/java/com/navi/coin/di/module/UtilityModule.kt rename android/navi-coin/src/main/java/com/navi/coin/{network/di/NetworkQualifiers.kt => di/qualifiers/Qualifiers.kt} (88%) delete mode 100644 android/navi-coin/src/main/java/com/navi/coin/models/CoinHistoryNavArgs.kt rename android/navi-coin/src/main/java/com/navi/coin/models/{ => model}/RedemptionData.kt (98%) rename android/navi-coin/src/main/java/com/navi/coin/models/{ => model}/ScratchCardHistoryResponse.kt (98%) rename android/navi-coin/src/main/java/com/navi/coin/models/{ => model}/TransactionHistoryResponse.kt (95%) rename android/navi-coin/src/main/java/com/navi/coin/models/{ => model}/VpaValidationModels.kt (89%) rename android/navi-coin/src/main/java/com/navi/coin/models/{ => states}/CoinHomeScreenState.kt (94%) rename android/navi-coin/src/main/java/com/navi/coin/{utils => navigator}/CoinNavigationActions.kt (94%) rename android/navi-coin/src/main/java/com/navi/coin/{utils => navigator}/CoinRouter.kt (86%) delete mode 100644 android/navi-coin/src/main/java/com/navi/coin/network/ApiConstants.kt rename android/navi-coin/src/main/java/com/navi/coin/network/{retrofit => }/CoinHttpClient.kt (97%) rename android/navi-coin/src/main/java/com/navi/coin/network/{retrofit => }/RetrofitService.kt (86%) delete mode 100644 android/navi-coin/src/main/java/com/navi/coin/network/di/NetworkUtils.kt rename android/navi-coin/src/main/java/com/navi/coin/repo/{ => pagingsource}/CashHistoryListSource.kt (91%) rename android/navi-coin/src/main/java/com/navi/coin/repo/{ => pagingsource}/CoinHistoryListSource.kt (91%) rename android/navi-coin/src/main/java/com/navi/coin/repo/{ => pagingsource}/ScratchCardHistoryListSource.kt (92%) rename android/navi-coin/src/main/java/com/navi/coin/repo/{ => repository}/CoinHistoryScreenRepo.kt (86%) rename android/navi-coin/src/main/java/com/navi/coin/repo/{ => repository}/CoinHomeScreenRepo.kt (88%) rename android/navi-coin/src/main/java/com/navi/coin/repo/{ => repository}/ScratchCardHistoryScreenRepo.kt (81%) rename android/navi-coin/src/main/java/com/navi/coin/{ui/themes => theme}/Colors.kt (94%) rename android/navi-coin/src/main/java/com/navi/coin/ui/{compose => activity}/CoinActivity.kt (87%) rename android/navi-coin/src/main/java/com/navi/coin/{views/CoinHistoryView.kt => ui/compose/common/CoinHistory.kt} (96%) rename android/navi-coin/src/main/java/com/navi/coin/{views/CoinCommonView.kt => ui/compose/common/Common.kt} (73%) rename android/navi-coin/src/main/java/com/navi/coin/{utils/ComposableUtils.kt => ui/compose/common/Init.kt} (95%) rename android/navi-coin/src/main/java/com/navi/coin/{views/ScratchCardListView.kt => ui/compose/common/ScratchCardList.kt} (94%) rename android/navi-coin/src/main/java/com/navi/coin/ui/compose/{ => navhost}/CoinDestinationNavHost.kt (91%) rename android/navi-coin/src/main/java/com/navi/coin/ui/compose/{ => screen}/CoinErrorScreen.kt (93%) rename android/navi-coin/src/main/java/com/navi/coin/ui/compose/{ => screen}/CoinHistoryScreen.kt (95%) rename android/navi-coin/src/main/java/com/navi/coin/ui/compose/{ => screen}/CoinHomeScreen.kt (96%) rename android/navi-coin/src/main/java/com/navi/coin/ui/compose/{ => screen}/RedemptionStatusScreen.kt (93%) rename android/navi-coin/src/main/java/com/navi/coin/ui/compose/{ => screen}/ScratchCardHistoryScreen.kt (96%) rename android/navi-coin/src/main/java/com/navi/coin/{widgetFactory => ui/compose/widgetfactory}/CoinWidgetRenderer.kt (57%) delete mode 100644 android/navi-coin/src/main/java/com/navi/coin/utils/CoinAnimationsUtil.kt delete mode 100644 android/navi-coin/src/main/java/com/navi/coin/utils/ICountDownHelper.kt rename android/navi-coin/src/main/java/com/navi/coin/utils/{ => analytics}/NaviCoinsAnalytics.kt (98%) rename android/navi-coin/src/main/java/com/navi/coin/utils/{ => constant}/Constants.kt (84%) create mode 100644 android/navi-coin/src/main/java/com/navi/coin/utils/ext/ActivityExt.kt rename android/navi-coin/src/main/java/com/navi/coin/utils/{Ext.kt => ext/JsonObj.kt} (97%) create mode 100644 android/navi-coin/src/main/java/com/navi/coin/utils/ext/UtilExt.kt rename android/navi-coin/src/main/java/com/navi/coin/utils/{ => facade}/CountDownFacade.kt (82%) rename android/navi-coin/src/main/java/com/navi/coin/utils/{ => mock}/CoinMockUtils.kt (95%) create mode 100644 android/navi-coin/src/main/java/com/navi/coin/utils/shape/SemiCircleShape.kt diff --git a/android/navi-coin/src/main/AndroidManifest.xml b/android/navi-coin/src/main/AndroidManifest.xml index 2739f1c899..361e6a4126 100644 --- a/android/navi-coin/src/main/AndroidManifest.xml +++ b/android/navi-coin/src/main/AndroidManifest.xml @@ -8,7 +8,7 @@ android:supportsRtl="true"> { return responseHandler.handleResponse( diff --git a/android/navi-coin/src/main/java/com/navi/coin/ui/themes/Colors.kt b/android/navi-coin/src/main/java/com/navi/coin/theme/Colors.kt similarity index 94% rename from android/navi-coin/src/main/java/com/navi/coin/ui/themes/Colors.kt rename to android/navi-coin/src/main/java/com/navi/coin/theme/Colors.kt index ed3badda0f..e7f7386f3b 100644 --- a/android/navi-coin/src/main/java/com/navi/coin/ui/themes/Colors.kt +++ b/android/navi-coin/src/main/java/com/navi/coin/theme/Colors.kt @@ -1,4 +1,4 @@ -package com.navi.coin.ui.themes +package com.navi.coin.theme import androidx.compose.ui.graphics.Color diff --git a/android/navi-coin/src/main/java/com/navi/coin/ui/compose/CoinActivity.kt b/android/navi-coin/src/main/java/com/navi/coin/ui/activity/CoinActivity.kt similarity index 87% rename from android/navi-coin/src/main/java/com/navi/coin/ui/compose/CoinActivity.kt rename to android/navi-coin/src/main/java/com/navi/coin/ui/activity/CoinActivity.kt index c59026ec1a..9e573a17a1 100644 --- a/android/navi-coin/src/main/java/com/navi/coin/ui/compose/CoinActivity.kt +++ b/android/navi-coin/src/main/java/com/navi/coin/ui/activity/CoinActivity.kt @@ -1,4 +1,4 @@ -package com.navi.coin.ui.compose +package com.navi.coin.ui.activity import android.content.Intent import android.os.Bundle @@ -7,12 +7,12 @@ import androidx.navigation.NavHostController import com.navi.base.deeplink.DeepLinkManager import com.navi.base.deeplink.util.DeeplinkConstants import com.navi.base.model.CtaData -import com.navi.coin.ui.activity.CoinBaseActivity -import com.navi.coin.utils.CoinRouter -import com.navi.coin.utils.Constants.COINS_SCREEN -import com.navi.coin.utils.Constants.COIN_NAVIGATION_LINK -import com.navi.coin.utils.startEnterAnimation -import com.navi.coin.utils.startExitAnimation +import com.navi.coin.navigator.CoinRouter +import com.navi.coin.ui.compose.navhost.CoinDestinationNavHost +import com.navi.coin.utils.constant.Constants.COINS_SCREEN +import com.navi.coin.utils.constant.Constants.COIN_NAVIGATION_LINK +import com.navi.coin.utils.ext.startEnterAnimation +import com.navi.coin.utils.ext.startExitAnimation import com.navi.common.model.ModuleNameV2 import com.navi.design.theme.NaviMaterialTheme import com.ramcosta.composedestinations.navigation.navigate diff --git a/android/navi-coin/src/main/java/com/navi/coin/views/CoinHistoryView.kt b/android/navi-coin/src/main/java/com/navi/coin/ui/compose/common/CoinHistory.kt similarity index 96% rename from android/navi-coin/src/main/java/com/navi/coin/views/CoinHistoryView.kt rename to android/navi-coin/src/main/java/com/navi/coin/ui/compose/common/CoinHistory.kt index b6844fac22..c00dc2aed8 100644 --- a/android/navi-coin/src/main/java/com/navi/coin/views/CoinHistoryView.kt +++ b/android/navi-coin/src/main/java/com/navi/coin/ui/compose/common/CoinHistory.kt @@ -1,4 +1,4 @@ -package com.navi.coin.views +package com.navi.coin.ui.compose.common import android.content.Context import androidx.compose.foundation.BorderStroke @@ -62,19 +62,18 @@ import com.google.accompanist.pager.HorizontalPager import com.google.accompanist.pager.pagerTabIndicatorOffset import com.google.accompanist.pager.rememberPagerState import com.navi.coin.R -import com.navi.coin.models.TransactionHistoryCardData -import com.navi.coin.ui.compose.RenderCoinHistoryScreenContent -import com.navi.coin.utils.Constants.Status.BLOCKED_STATUS -import com.navi.coin.utils.Constants.Status.FAILED_STATUS -import com.navi.coin.utils.Constants.Status.IN_PROGRESS_CASH_STATUS -import com.navi.coin.utils.Constants.Status.IN_PROGRESS_GOLD_STATUS -import com.navi.coin.utils.Constants.Status.IN_PROGRESS_STATUS -import com.navi.coin.utils.Constants.Status.RECEIVED_STATUS -import com.navi.coin.utils.Constants.Status.REDEEMED_TO_CASH_STATUS -import com.navi.coin.utils.Constants.Status.REDEEMED_TO_GOLD_STATUS -import com.navi.coin.utils.NaviCoinsAnalytics -import com.navi.coin.utils.NoRippleIndicationSource -import com.navi.coin.utils.scaledSp +import com.navi.coin.models.model.TransactionHistoryCardData +import com.navi.coin.ui.compose.screen.RenderCoinHistoryScreenContent +import com.navi.coin.utils.analytics.NaviCoinsAnalytics +import com.navi.coin.utils.constant.Constants.Status.BLOCKED_STATUS +import com.navi.coin.utils.constant.Constants.Status.FAILED_STATUS +import com.navi.coin.utils.constant.Constants.Status.IN_PROGRESS_CASH_STATUS +import com.navi.coin.utils.constant.Constants.Status.IN_PROGRESS_GOLD_STATUS +import com.navi.coin.utils.constant.Constants.Status.IN_PROGRESS_STATUS +import com.navi.coin.utils.constant.Constants.Status.RECEIVED_STATUS +import com.navi.coin.utils.constant.Constants.Status.REDEEMED_TO_CASH_STATUS +import com.navi.coin.utils.constant.Constants.Status.REDEEMED_TO_GOLD_STATUS +import com.navi.coin.utils.ext.scaledSp import com.navi.coin.vm.CoinHistoryScreenVM import com.navi.common.forge.model.TabConfig import com.navi.common.forge.model.WidgetModelDefinition @@ -82,6 +81,7 @@ import com.navi.design.font.FontWeightEnum import com.navi.design.theme.getFontWeight import com.navi.design.theme.ttComposeFontFamily import com.navi.design.utils.parseColorSafe +import com.navi.rr.utils.NoRippleIndicationSource import com.navi.uitron.model.UiTronResponse import kotlinx.coroutines.launch import kotlin.reflect.KFunction1 diff --git a/android/navi-coin/src/main/java/com/navi/coin/views/CoinCommonView.kt b/android/navi-coin/src/main/java/com/navi/coin/ui/compose/common/Common.kt similarity index 73% rename from android/navi-coin/src/main/java/com/navi/coin/views/CoinCommonView.kt rename to android/navi-coin/src/main/java/com/navi/coin/ui/compose/common/Common.kt index 0190f3d070..9ea9583f5e 100644 --- a/android/navi-coin/src/main/java/com/navi/coin/views/CoinCommonView.kt +++ b/android/navi-coin/src/main/java/com/navi/coin/ui/compose/common/Common.kt @@ -1,4 +1,4 @@ -package com.navi.coin.views +package com.navi.coin.ui.compose.common import androidx.annotation.RawRes @@ -36,8 +36,8 @@ import com.airbnb.lottie.compose.LottieCompositionSpec import com.airbnb.lottie.compose.animateLottieCompositionAsState import com.airbnb.lottie.compose.rememberLottieComposition import com.navi.coin.R -import com.navi.coin.utils.Constants -import com.navi.coin.utils.SemiCircleShape +import com.navi.coin.utils.constant.Constants +import com.navi.coin.utils.shape.SemiCircleShape import com.navi.design.font.FontWeightEnum import com.navi.design.theme.getFontWeight import com.navi.design.theme.ttComposeFontFamily @@ -47,96 +47,6 @@ import com.navi.uitron.utils.toPx import kotlin.reflect.KFunction0 import com.navi.design.R as DesignR -@Composable -fun MainScreenShimmer(){ - Column( - Modifier - .fillMaxSize() - .padding(start = 16.dp, top = 48.dp), - horizontalAlignment = Alignment.CenterHorizontally, - ) { - Row( - Modifier.fillMaxWidth(), - horizontalArrangement = Arrangement.SpaceBetween - ) { - Box(modifier = Modifier - .height(24.dp) - .width(24.dp) - .clip(RoundedCornerShape(4.dp)) - .setShimmerEffect(true)) - Box(modifier = Modifier - .padding(end = 16.dp) - .height(24.dp) - .width(82.dp) - .clip(RoundedCornerShape(4.dp)) - .setShimmerEffect(true)) - } - Box(modifier = Modifier - .padding(top = 4.dp) - .width(130.dp) - .height(130.dp) - .clip(RoundedCornerShape(4.dp)) - .setShimmerEffect(true)) - Box(modifier = Modifier - .padding(top = 32.dp) - .height(24.dp) - .width(234.dp) - .clip(RoundedCornerShape(4.dp)) - .setShimmerEffect(true)) - Row( - Modifier - .fillMaxWidth() - .padding(start = 24.dp, top = 24.dp, bottom = 41.dp) - ) { - Box(modifier = Modifier - .height(92.dp) - .width(284.dp) - .clip(RoundedCornerShape(4.dp)) - .setShimmerEffect(true)) - Box(modifier = Modifier - .height(92.dp) - .width(284.dp) - .padding(start = 18.dp) - .clip(RoundedCornerShape(4.dp)) - .setShimmerEffect(true)) - } - Box(modifier = Modifier - .height(82.dp) - .width(192.dp) - .clip(RoundedCornerShape(4.dp)) - .setShimmerEffect(true)) - Row( - Modifier - .padding(top = 33.dp) - .fillMaxWidth() - ) { - Box(modifier = Modifier - .height(220.dp) - .width(136.dp) - .clip(RoundedCornerShape(4.dp)) - .setShimmerEffect(true)) - Box(modifier = Modifier - .height(220.dp) - .width(136.dp) - .padding(start = 16.dp) - .clip(RoundedCornerShape(4.dp)) - .setShimmerEffect(true)) - Box(modifier = Modifier - .height(220.dp) - .width(136.dp) - .padding(start = 16.dp) - .clip(RoundedCornerShape(4.dp)) - .setShimmerEffect(true)) - } - Box(modifier = Modifier - .padding(top = 92.dp, bottom = 412.dp) - .height(52.dp) - .width(328.dp) - .clip(RoundedCornerShape(4.dp)) - .setShimmerEffect(true)) - } -} - @Composable fun MainScreenShimmerV2(){ Column( @@ -333,40 +243,6 @@ fun CoinPaginationLoadingComponent() { } -@Composable -fun CoinPaginationErrorComponent(retry: KFunction0) { - Column( - modifier = Modifier - .fillMaxWidth() - .background( - Color(0xFFF9F9F9) - ), horizontalAlignment = Alignment.CenterHorizontally - ) { - Row( - modifier = Modifier.padding(16.dp, 16.dp, 16.dp, 40.dp), - ) { - Image( - painter = painterResource(id = DesignR.drawable.ic_info_icon_black), - modifier = Modifier.size(16.dp), - contentDescription = stringResource(R.string.error_icon) - ) - - Text( - text = stringResource(R.string.retry) , - modifier = Modifier - .padding(8.dp, 0.dp, 0.dp, 0.dp) - .clickable { - retry() - }, - color = Color(0xFF000000), - fontFamily = ttComposeFontFamily, - fontWeight = getFontWeight(FontWeightEnum.TT_REGULAR), - fontSize = 12.sp - ) - } - } -} - @Composable fun NaviCoinLottieAnimation( modifier: Modifier, diff --git a/android/navi-coin/src/main/java/com/navi/coin/utils/ComposableUtils.kt b/android/navi-coin/src/main/java/com/navi/coin/ui/compose/common/Init.kt similarity index 95% rename from android/navi-coin/src/main/java/com/navi/coin/utils/ComposableUtils.kt rename to android/navi-coin/src/main/java/com/navi/coin/ui/compose/common/Init.kt index 2b231443a3..53247a7a74 100644 --- a/android/navi-coin/src/main/java/com/navi/coin/utils/ComposableUtils.kt +++ b/android/navi-coin/src/main/java/com/navi/coin/ui/compose/common/Init.kt @@ -1,4 +1,4 @@ -package com.navi.coin.utils +package com.navi.coin.ui.compose.common import android.app.Activity import androidx.compose.material3.ExperimentalMaterial3Api @@ -11,7 +11,7 @@ import androidx.compose.ui.graphics.Color import androidx.core.os.bundleOf import androidx.lifecycle.Lifecycle import androidx.lifecycle.compose.collectAsStateWithLifecycle -import com.navi.coin.ui.compose.destinations.CoinErrorScreenDestination +import com.navi.coin.ui.compose.screen.destinations.CoinErrorScreenDestination import com.navi.common.constants.SCREEN_NAME import com.navi.rr.common.utils.InitErrorBottomSheet import com.navi.rr.common.vm.RRBaseVM diff --git a/android/navi-coin/src/main/java/com/navi/coin/views/ScratchCardListView.kt b/android/navi-coin/src/main/java/com/navi/coin/ui/compose/common/ScratchCardList.kt similarity index 94% rename from android/navi-coin/src/main/java/com/navi/coin/views/ScratchCardListView.kt rename to android/navi-coin/src/main/java/com/navi/coin/ui/compose/common/ScratchCardList.kt index a47e8413cd..d338f10a6e 100644 --- a/android/navi-coin/src/main/java/com/navi/coin/views/ScratchCardListView.kt +++ b/android/navi-coin/src/main/java/com/navi/coin/ui/compose/common/ScratchCardList.kt @@ -5,7 +5,7 @@ * */ -package com.navi.coin.views +package com.navi.coin.ui.compose.common import android.annotation.SuppressLint import androidx.compose.foundation.ExperimentalFoundationApi @@ -63,32 +63,31 @@ import coil.compose.AsyncImage import coil.request.ImageRequest import com.navi.base.utils.EMPTY import com.navi.coin.R -import com.navi.coin.models.ScratchCard +import com.navi.coin.models.model.ScratchCard import com.navi.coin.models.states.ScratchCardPaginatedHistoryScreenState import com.navi.coin.models.states.ScratchCardStatus -import com.navi.coin.ui.themes.Color_824992 -import com.navi.coin.ui.themes.Color_F9F9F9 -import com.navi.coin.ui.themes.borderAlt -import com.navi.coin.ui.themes.brandSupportingMidGreen -import com.navi.coin.ui.themes.ctaTertiary -import com.navi.coin.ui.themes.midGoldColor -import com.navi.coin.ui.themes.onSurfaceHighlight -import com.navi.coin.ui.themes.textOrange -import com.navi.coin.ui.themes.textPrimary -import com.navi.coin.ui.themes.textTertiary -import com.navi.coin.utils.Constants -import com.navi.coin.utils.Constants.EXPIRED -import com.navi.coin.utils.Constants.EXPIRED_SCRATCH_CARD_URL_KEY -import com.navi.coin.utils.Constants.IN_PROGRESS -import com.navi.coin.utils.Constants.LOCKED_SCRATCH_CARD_URL_KEY -import com.navi.coin.utils.Constants.NAVI_COINS -import com.navi.coin.utils.Constants.NAVI_COIN_URL_KEY -import com.navi.coin.utils.Constants.SCRATCH_CARD_EXPIRED_BOTTOM_SHEET -import com.navi.coin.utils.Constants.SCRATCH_CARD_IN_PROGRESS_BOTTOM_SHEET -import com.navi.coin.utils.Constants.SCRATCH_CARD_RECEIVED_BOTTOM_SHEET -import com.navi.coin.utils.NoRippleIndicationSource +import com.navi.coin.theme.Color_824992 +import com.navi.coin.theme.Color_F9F9F9 +import com.navi.coin.theme.borderAlt +import com.navi.coin.theme.brandSupportingMidGreen +import com.navi.coin.theme.ctaTertiary +import com.navi.coin.theme.midGoldColor +import com.navi.coin.theme.onSurfaceHighlight +import com.navi.coin.theme.textOrange +import com.navi.coin.theme.textPrimary +import com.navi.coin.theme.textTertiary +import com.navi.coin.utils.constant.Constants +import com.navi.coin.utils.constant.Constants.EXPIRED +import com.navi.coin.utils.constant.Constants.EXPIRED_SCRATCH_CARD_URL_KEY +import com.navi.coin.utils.constant.Constants.IN_PROGRESS +import com.navi.coin.utils.constant.Constants.LOCKED_SCRATCH_CARD_URL_KEY +import com.navi.coin.utils.constant.Constants.NAVI_COINS +import com.navi.coin.utils.constant.Constants.NAVI_COIN_URL_KEY +import com.navi.coin.utils.constant.Constants.SCRATCH_CARD_EXPIRED_BOTTOM_SHEET +import com.navi.coin.utils.constant.Constants.SCRATCH_CARD_IN_PROGRESS_BOTTOM_SHEET +import com.navi.coin.utils.constant.Constants.SCRATCH_CARD_RECEIVED_BOTTOM_SHEET +import com.navi.coin.utils.ext.scaledSp import com.navi.coin.utils.formatDuration -import com.navi.coin.utils.scaledSp import com.navi.coin.vm.ScratchCardScreenVM import com.navi.common.forge.model.WidgetModelDefinition import com.navi.design.font.FontWeightEnum @@ -97,6 +96,7 @@ import com.navi.design.theme.ttComposeFontFamily import com.navi.rr.utils.EventConstants.BOTTOM_SHEET_TYPE import com.navi.rr.utils.EventConstants.SCRATCH_CARD_HISTORY_BOTTOM_SHEET_VISIBLE_EVENT import com.navi.rr.utils.NaviRRAnalytics +import com.navi.rr.utils.NoRippleIndicationSource import com.navi.rr.widgetFactory.WidgetRenderer import com.navi.uitron.model.UiTronResponse import java.util.Locale diff --git a/android/navi-coin/src/main/java/com/navi/coin/ui/compose/CoinDestinationNavHost.kt b/android/navi-coin/src/main/java/com/navi/coin/ui/compose/navhost/CoinDestinationNavHost.kt similarity index 91% rename from android/navi-coin/src/main/java/com/navi/coin/ui/compose/CoinDestinationNavHost.kt rename to android/navi-coin/src/main/java/com/navi/coin/ui/compose/navhost/CoinDestinationNavHost.kt index 39105fafcb..a5186082c3 100644 --- a/android/navi-coin/src/main/java/com/navi/coin/ui/compose/CoinDestinationNavHost.kt +++ b/android/navi-coin/src/main/java/com/navi/coin/ui/compose/navhost/CoinDestinationNavHost.kt @@ -1,4 +1,4 @@ -package com.navi.coin.ui.compose +package com.navi.coin.ui.compose.navhost import androidx.compose.animation.AnimatedContentTransitionScope import androidx.compose.animation.ExperimentalAnimationApi @@ -6,9 +6,11 @@ import androidx.compose.animation.core.tween import androidx.compose.runtime.Composable import androidx.navigation.compose.rememberNavController import com.google.accompanist.navigation.material.ExperimentalMaterialNavigationApi +import com.navi.coin.navigator.CoinNavigationActions import com.navi.coin.ui.activity.CoinBaseActivity -import com.navi.coin.ui.compose.destinations.CoinHistoryScreenDestination -import com.navi.coin.utils.CoinNavigationActions +import com.navi.coin.ui.compose.screen.CoinHistoryScreen +import com.navi.coin.ui.compose.screen.NavGraphs +import com.navi.coin.ui.compose.screen.destinations.CoinHistoryScreenDestination import com.navi.naviwidgets.utils.FORWARD_SLASH import com.ramcosta.composedestinations.DestinationsNavHost import com.ramcosta.composedestinations.animations.defaults.RootNavGraphDefaultAnimations diff --git a/android/navi-coin/src/main/java/com/navi/coin/ui/compose/CoinErrorScreen.kt b/android/navi-coin/src/main/java/com/navi/coin/ui/compose/screen/CoinErrorScreen.kt similarity index 93% rename from android/navi-coin/src/main/java/com/navi/coin/ui/compose/CoinErrorScreen.kt rename to android/navi-coin/src/main/java/com/navi/coin/ui/compose/screen/CoinErrorScreen.kt index d3bd536964..00af7a2761 100644 --- a/android/navi-coin/src/main/java/com/navi/coin/ui/compose/CoinErrorScreen.kt +++ b/android/navi-coin/src/main/java/com/navi/coin/ui/compose/screen/CoinErrorScreen.kt @@ -1,4 +1,4 @@ -package com.navi.coin.ui.compose +package com.navi.coin.ui.compose.screen import android.os.Bundle import androidx.compose.runtime.Composable diff --git a/android/navi-coin/src/main/java/com/navi/coin/ui/compose/CoinHistoryScreen.kt b/android/navi-coin/src/main/java/com/navi/coin/ui/compose/screen/CoinHistoryScreen.kt similarity index 95% rename from android/navi-coin/src/main/java/com/navi/coin/ui/compose/CoinHistoryScreen.kt rename to android/navi-coin/src/main/java/com/navi/coin/ui/compose/screen/CoinHistoryScreen.kt index 4f268a2124..f146c44dc1 100644 --- a/android/navi-coin/src/main/java/com/navi/coin/ui/compose/CoinHistoryScreen.kt +++ b/android/navi-coin/src/main/java/com/navi/coin/ui/compose/screen/CoinHistoryScreen.kt @@ -1,4 +1,4 @@ -package com.navi.coin.ui.compose +package com.navi.coin.ui.compose.screen import android.app.Activity import androidx.activity.compose.BackHandler @@ -50,20 +50,20 @@ import com.navi.base.model.CtaData import com.navi.base.model.LineItem import com.navi.base.utils.EMPTY import com.navi.coin.R -import com.navi.coin.models.TransactionHistoryCardData -import com.navi.coin.utils.Constants.Status.FAILED_STATUS -import com.navi.coin.utils.Constants.Status.REDEEMED_TO_CASH_STATUS -import com.navi.coin.utils.Constants.Status.REDEEMED_TO_GOLD_STATUS -import com.navi.coin.utils.Init -import com.navi.coin.utils.NaviCoinsAnalytics -import com.navi.coin.utils.NaviCoinsAnalytics.Companion.REWARDS_HISTORY_TRANSACTION_DETAIL_BOTTOMSHEET_APPEARS -import com.navi.coin.utils.NaviCoinsAnalytics.Companion.REWARDS_HISTORY_TRANSACTION_DETAIL_BOTTOMSHEET_DISAPPEARS -import com.navi.coin.utils.NaviCoinsAnalytics.Companion.naviCoinsAnalytics -import com.navi.coin.views.TabLayout -import com.navi.coin.views.TransactionHistoryScreenShimmer +import com.navi.coin.models.model.TransactionHistoryCardData +import com.navi.coin.utils.constant.Constants.Status.FAILED_STATUS +import com.navi.coin.utils.constant.Constants.Status.REDEEMED_TO_CASH_STATUS +import com.navi.coin.utils.constant.Constants.Status.REDEEMED_TO_GOLD_STATUS +import com.navi.coin.ui.compose.common.Init +import com.navi.coin.utils.analytics.NaviCoinsAnalytics +import com.navi.coin.utils.analytics.NaviCoinsAnalytics.Companion.REWARDS_HISTORY_TRANSACTION_DETAIL_BOTTOMSHEET_APPEARS +import com.navi.coin.utils.analytics.NaviCoinsAnalytics.Companion.REWARDS_HISTORY_TRANSACTION_DETAIL_BOTTOMSHEET_DISAPPEARS +import com.navi.coin.utils.analytics.NaviCoinsAnalytics.Companion.naviCoinsAnalytics +import com.navi.coin.ui.compose.common.TabLayout +import com.navi.coin.ui.compose.common.TransactionHistoryScreenShimmer import com.navi.coin.vm.CoinHistoryScreenState import com.navi.coin.vm.CoinHistoryScreenVM -import com.navi.coin.widgetFactory.CoinWidgetRenderer +import com.navi.coin.ui.compose.widgetfactory.CoinWidgetRenderer import com.navi.common.constants.CHAT_BOT_SCREEN_NAME import com.navi.common.forge.model.TabConfig import com.navi.common.forge.model.WidgetModelDefinition @@ -75,7 +75,6 @@ import com.navi.naviwidgets.models.RewardType import com.navi.rr.common.constants.COIN_HISTORY_SCREEN import com.navi.rr.common.constants.PROFILE_RR_SCREEN import com.navi.rr.utils.clickable -import com.navi.rr.common.constants.COIN_HISTORY_SCREEN import com.navi.uitron.model.UiTronResponse import com.navi.uitron.model.data.SpannableTextData import com.navi.uitron.model.data.TextData diff --git a/android/navi-coin/src/main/java/com/navi/coin/ui/compose/CoinHomeScreen.kt b/android/navi-coin/src/main/java/com/navi/coin/ui/compose/screen/CoinHomeScreen.kt similarity index 96% rename from android/navi-coin/src/main/java/com/navi/coin/ui/compose/CoinHomeScreen.kt rename to android/navi-coin/src/main/java/com/navi/coin/ui/compose/screen/CoinHomeScreen.kt index 5fe9fdae3e..2ef1c5d4b2 100644 --- a/android/navi-coin/src/main/java/com/navi/coin/ui/compose/CoinHomeScreen.kt +++ b/android/navi-coin/src/main/java/com/navi/coin/ui/compose/screen/CoinHomeScreen.kt @@ -1,4 +1,4 @@ -package com.navi.coin.ui.compose +package com.navi.coin.ui.compose.screen import android.os.Bundle import androidx.activity.compose.BackHandler @@ -65,26 +65,26 @@ import com.navi.base.model.LineItem import com.navi.base.utils.EMPTY import com.navi.base.utils.orFalse import com.navi.coin.R -import com.navi.coin.models.CoinHomeScreenState import com.navi.coin.models.states.ApiActionState import com.navi.coin.ui.activity.CoinBaseActivity -import com.navi.coin.utils.CoinRouter.REDEMPTION_STATUS_SCREEN_CTA_URL -import com.navi.coin.utils.Constants -import com.navi.coin.utils.Constants.BACKGROUND_IMAGE_HEIGHT_KEY -import com.navi.coin.utils.Constants.HERO_PLACEHOLDER_PROPERTY_KEY -import com.navi.coin.utils.Constants.SCREEN_CONTENT -import com.navi.coin.utils.Constants.SHOW_CURVE_KEY -import com.navi.coin.utils.Init -import com.navi.coin.utils.NaviCoinsAnalytics -import com.navi.coin.utils.NaviCoinsAnalytics.Companion.REWARDS_NAVI_COINS_INFO_PAGE_BACK_ARROW_CLICK -import com.navi.coin.utils.NoRippleIndicationSource -import com.navi.coin.views.MainScreenShimmerV2 +import com.navi.coin.models.states.CoinHomeScreenState +import com.navi.coin.navigator.CoinRouter.REDEMPTION_STATUS_SCREEN_CTA_URL +import com.navi.coin.ui.compose.common.Init +import com.navi.coin.ui.compose.common.MainScreenShimmerV2 +import com.navi.coin.utils.analytics.NaviCoinsAnalytics +import com.navi.coin.utils.analytics.NaviCoinsAnalytics.Companion.REWARDS_NAVI_COINS_INFO_PAGE_BACK_ARROW_CLICK +import com.navi.coin.utils.constant.Constants +import com.navi.coin.utils.constant.Constants.BACKGROUND_IMAGE_HEIGHT_KEY +import com.navi.coin.utils.constant.Constants.HERO_PLACEHOLDER_PROPERTY_KEY +import com.navi.coin.utils.constant.Constants.SCREEN_CONTENT +import com.navi.coin.utils.constant.Constants.SHOW_CURVE_KEY import com.navi.coin.vm.CoinHomeScreenVM import com.navi.common.uitron.model.action.CtaAction import com.navi.rr.common.actions.InitActionHandler import com.navi.rr.common.constants.COIN_HOME_SCREEN import com.navi.rr.utils.Constants.NULL_STRING import com.navi.rr.utils.InitWidgetActions +import com.navi.rr.utils.NoRippleIndicationSource import com.navi.rr.utils.brushType import com.navi.rr.utils.getGsonBuilders import com.navi.rr.utils.toJson diff --git a/android/navi-coin/src/main/java/com/navi/coin/ui/compose/RedemptionStatusScreen.kt b/android/navi-coin/src/main/java/com/navi/coin/ui/compose/screen/RedemptionStatusScreen.kt similarity index 93% rename from android/navi-coin/src/main/java/com/navi/coin/ui/compose/RedemptionStatusScreen.kt rename to android/navi-coin/src/main/java/com/navi/coin/ui/compose/screen/RedemptionStatusScreen.kt index d7b7355822..28de16bf5e 100644 --- a/android/navi-coin/src/main/java/com/navi/coin/ui/compose/RedemptionStatusScreen.kt +++ b/android/navi-coin/src/main/java/com/navi/coin/ui/compose/screen/RedemptionStatusScreen.kt @@ -1,4 +1,4 @@ -package com.navi.coin.ui.compose +package com.navi.coin.ui.compose.screen import android.app.Activity import android.os.Bundle @@ -15,8 +15,8 @@ import androidx.compose.ui.platform.LocalContext import androidx.core.os.bundleOf import androidx.hilt.navigation.compose.hiltViewModel import com.navi.base.deeplink.DeepLinkManager -import com.navi.coin.utils.Constants.SCREENS.COINS_LOADING_SCREEN_SCREEN_NAME -import com.navi.coin.utils.Constants.SCREEN_CONTENT +import com.navi.coin.utils.constant.Constants.SCREENS.COINS_LOADING_SCREEN_SCREEN_NAME +import com.navi.coin.utils.constant.Constants.SCREEN_CONTENT import com.navi.common.forge.model.ScreenDefinition import com.navi.common.uitron.model.action.CtaAction import com.navi.rr.common.utils.Init diff --git a/android/navi-coin/src/main/java/com/navi/coin/ui/compose/ScratchCardHistoryScreen.kt b/android/navi-coin/src/main/java/com/navi/coin/ui/compose/screen/ScratchCardHistoryScreen.kt similarity index 96% rename from android/navi-coin/src/main/java/com/navi/coin/ui/compose/ScratchCardHistoryScreen.kt rename to android/navi-coin/src/main/java/com/navi/coin/ui/compose/screen/ScratchCardHistoryScreen.kt index c10a4281ce..79ff70064c 100644 --- a/android/navi-coin/src/main/java/com/navi/coin/ui/compose/ScratchCardHistoryScreen.kt +++ b/android/navi-coin/src/main/java/com/navi/coin/ui/compose/screen/ScratchCardHistoryScreen.kt @@ -5,7 +5,7 @@ * */ -package com.navi.coin.ui.compose +package com.navi.coin.ui.compose.screen import android.app.Activity import androidx.activity.compose.BackHandler @@ -58,25 +58,25 @@ import com.navi.base.deeplink.util.DeeplinkConstants.CHAT_ACTIVITY import com.navi.base.model.CtaData import com.navi.base.model.LineItem import com.navi.coin.R -import com.navi.coin.models.ScratchCard +import com.navi.coin.models.model.ScratchCard +import com.navi.coin.models.model.toFlatMap import com.navi.coin.models.states.ScratchCardHistoryScreenState -import com.navi.coin.models.toFlatMap +import com.navi.coin.theme.Color_601978 import com.navi.coin.ui.activity.CoinBaseActivity -import com.navi.coin.ui.themes.Color_601978 -import com.navi.coin.ui.themes.Color_F9F9F9 -import com.navi.coin.utils.Constants -import com.navi.coin.utils.Constants.N -import com.navi.coin.utils.Constants.PREVIOUS_BALANCE -import com.navi.coin.utils.Constants.REWARD_EARNED -import com.navi.coin.utils.Constants.REWARD_HISTORY_SCRATCH_CARD_SCREEN_NAME -import com.navi.coin.utils.Constants.RR_BOTTOM_SHEET -import com.navi.coin.utils.Constants.SCREEN_NAME -import com.navi.coin.utils.Constants.TRANSACTION_ID -import com.navi.coin.utils.Constants.Y -import com.navi.coin.utils.Init -import com.navi.coin.utils.NaviCoinsAnalytics -import com.navi.coin.utils.SemiCircleShape -import com.navi.coin.views.ScratchCardListView +import com.navi.coin.theme.Color_F9F9F9 +import com.navi.coin.ui.compose.common.Init +import com.navi.coin.ui.compose.common.ScratchCardListView +import com.navi.coin.utils.analytics.NaviCoinsAnalytics +import com.navi.coin.utils.constant.Constants +import com.navi.coin.utils.constant.Constants.N +import com.navi.coin.utils.constant.Constants.PREVIOUS_BALANCE +import com.navi.coin.utils.constant.Constants.REWARD_EARNED +import com.navi.coin.utils.constant.Constants.REWARD_HISTORY_SCRATCH_CARD_SCREEN_NAME +import com.navi.coin.utils.constant.Constants.RR_BOTTOM_SHEET +import com.navi.coin.utils.constant.Constants.SCREEN_NAME +import com.navi.coin.utils.constant.Constants.TRANSACTION_ID +import com.navi.coin.utils.constant.Constants.Y +import com.navi.coin.utils.shape.SemiCircleShape import com.navi.coin.vm.ScratchCardScreenVM import com.navi.common.constants.CHAT_BOT_SCREEN_NAME import com.navi.common.forge.model.ScreenDefinition diff --git a/android/navi-coin/src/main/java/com/navi/coin/widgetFactory/CoinWidgetRenderer.kt b/android/navi-coin/src/main/java/com/navi/coin/ui/compose/widgetfactory/CoinWidgetRenderer.kt similarity index 57% rename from android/navi-coin/src/main/java/com/navi/coin/widgetFactory/CoinWidgetRenderer.kt rename to android/navi-coin/src/main/java/com/navi/coin/ui/compose/widgetfactory/CoinWidgetRenderer.kt index 15e0777e3c..44d62afe9d 100644 --- a/android/navi-coin/src/main/java/com/navi/coin/widgetFactory/CoinWidgetRenderer.kt +++ b/android/navi-coin/src/main/java/com/navi/coin/ui/compose/widgetfactory/CoinWidgetRenderer.kt @@ -1,8 +1,7 @@ -package com.navi.coin.widgetFactory +package com.navi.coin.ui.compose.widgetfactory import androidx.compose.runtime.Composable import com.navi.coin.vm.CoinHistoryScreenVM -import com.navi.coin.vm.CoinHomeScreenVM import com.navi.common.forge.model.WidgetModelDefinition import com.navi.common.forge.model.WidgetTypes import com.navi.uitron.model.UiTronResponse @@ -23,25 +22,6 @@ fun CoinWidgetRenderer( .Render(composeViews = widget.widgetData?.parentComposeView.orEmpty()) } - else -> Unit - } -} - -@Composable -fun CoinWidgetRenderer( - widget: WidgetModelDefinition?, - viewModel: CoinHomeScreenVM -) { - if (widget == null) return - return when (widget.widgetType) { - WidgetTypes.UI_TRON_WIDGET.name -> { - UiTronRenderer( - dataMap = widget.widgetData?.data, - uiTronViewModel = viewModel, - ) - .Render(composeViews = widget.widgetData?.parentComposeView.orEmpty()) - } - else -> Unit } } \ No newline at end of file diff --git a/android/navi-coin/src/main/java/com/navi/coin/utils/CoinAnimationsUtil.kt b/android/navi-coin/src/main/java/com/navi/coin/utils/CoinAnimationsUtil.kt deleted file mode 100644 index f43b7256d8..0000000000 --- a/android/navi-coin/src/main/java/com/navi/coin/utils/CoinAnimationsUtil.kt +++ /dev/null @@ -1,17 +0,0 @@ -package com.navi.coin.utils - -import android.app.Activity -import com.navi.common.R as CommonR - -fun Activity.startEnterAnimation() { - this.overridePendingTransition( - CommonR.anim.parallax_slide_in_right, - CommonR.anim.parallax_slide_out_left) -} - -fun Activity.startExitAnimation() { - this.overridePendingTransition( - CommonR.anim.parallax_slide_in_left, - CommonR.anim.parallax_slide_out_right - ) -} \ No newline at end of file diff --git a/android/navi-coin/src/main/java/com/navi/coin/utils/CommonUtils.kt b/android/navi-coin/src/main/java/com/navi/coin/utils/CommonUtils.kt index 5be04ab122..a6ff6bb3ee 100644 --- a/android/navi-coin/src/main/java/com/navi/coin/utils/CommonUtils.kt +++ b/android/navi-coin/src/main/java/com/navi/coin/utils/CommonUtils.kt @@ -1,60 +1,34 @@ package com.navi.coin.utils -import android.app.Activity -import androidx.compose.foundation.interaction.Interaction -import androidx.compose.foundation.interaction.MutableInteractionSource -import androidx.compose.runtime.Composable -import androidx.compose.ui.geometry.Rect -import androidx.compose.ui.geometry.Size import androidx.compose.ui.graphics.Color -import androidx.compose.ui.graphics.Outline -import androidx.compose.ui.graphics.Path -import androidx.compose.ui.graphics.Shape -import androidx.compose.ui.platform.LocalDensity import androidx.compose.ui.text.AnnotatedString import androidx.compose.ui.text.SpanStyle import androidx.compose.ui.text.buildAnnotatedString -import androidx.compose.ui.unit.Density -import androidx.compose.ui.unit.LayoutDirection -import androidx.compose.ui.unit.TextUnit import androidx.compose.ui.unit.sp -import androidx.core.content.ContextCompat -import androidx.core.view.WindowInsetsControllerCompat import coil.imageLoader import coil.request.CachePolicy import coil.request.ImageRequest -import com.google.gson.Gson -import com.google.gson.GsonBuilder import com.navi.base.utils.isNull import com.navi.coin.ui.activity.CoinBaseActivity +import com.navi.coin.utils.ext.filterEntries import com.navi.common.CommonLibManager import com.navi.common.forge.model.ScreenStructure -import com.navi.common.utils.registerUiTronDeSerializers import com.navi.design.theme.getFontFamily import com.navi.design.theme.getFontWeight import com.navi.naviwidgets.models.NaviTextComponent import com.navi.rr.common.activity.NavHostControllerOwner import com.navi.rr.navigation.NavArgs import com.navi.rr.navigation.NavigationAction +import com.navi.rr.utils.getGsonBuilders import com.navi.uitron.utils.hexToComposeColor import kotlinx.coroutines.Dispatchers -import kotlinx.coroutines.flow.Flow -import kotlinx.coroutines.flow.emptyFlow import kotlinx.coroutines.withContext import org.json.JSONObject import java.util.concurrent.TimeUnit -fun Activity.setStatusBarColor(color: Int, isLight: Boolean = false) { - val window = window - val decorView = window.decorView - val wic = WindowInsetsControllerCompat(window, decorView) - wic.isAppearanceLightStatusBars = isLight - window.statusBarColor = ContextCompat.getColor(this, color) -} - fun setSpannableString( - textWithSpan: NaviTextComponent + textWithSpan: NaviTextComponent, ): AnnotatedString? { if (textWithSpan.text == null) { return null @@ -80,62 +54,6 @@ fun setSpannableString( } return annotatedString } -class SemiCircleShape(private val height: Float) : Shape { - override fun createOutline( - size: Size, - layoutDirection: LayoutDirection, - density: Density, - ): Outline { - return Outline.Generic( - path = drawSemiCircle(size, height) - ) - } - - private fun drawSemiCircle(size: Size, height:Float): Path { - return Path().apply { - reset() - arcTo( - rect = Rect( - left = 0f, - top = -height , - right = size.width, - bottom = height - ), - startAngleDegrees = 180.0f, - sweepAngleDegrees = -180.0f, - forceMoveTo = false - ) - lineTo(size.width, 0f) - lineTo(size.width, size.height) - lineTo(0f, size.height) - close() - } - } -} - -@Composable -fun Int.scaledSp(): TextUnit { - val value: Int = this - return with(LocalDensity.current) { - val fontScale = this.fontScale - val textSize = value / fontScale - textSize.sp - } -} -val Int.scaledSp: TextUnit - @Composable get() = scaledSp() -class NoRippleIndicationSource : MutableInteractionSource { - - override val interactions: Flow = emptyFlow() - - override suspend fun emit(interaction: Interaction) {} - - override fun tryEmit(interaction: Interaction) = true - -} -fun getSerializerGsonBuilders(): Gson = GsonBuilder() - .registerUiTronDeSerializers() - .create() suspend fun cacheCoinHomeImages(screenStructure: ScreenStructure?) = withContext(Dispatchers.IO) { @@ -152,7 +70,7 @@ suspend fun cacheCoinHomeImages(screenStructure: ScreenStructure?) = } screenStructure.content?.widgets?.forEach { uiTronResponse -> uiTronResponse?.let { - val jsonObj = JSONObject(getSerializerGsonBuilders().toJson(uiTronResponse)) + val jsonObj = JSONObject(getGsonBuilders().toJson(uiTronResponse)) jsonObj .filterEntries { it.first == "iconUrl" && it.second.isNull().not() } .forEach { context.imageLoader.enqueue(request.data(it.second).build()) } diff --git a/android/navi-coin/src/main/java/com/navi/coin/utils/ICountDownHelper.kt b/android/navi-coin/src/main/java/com/navi/coin/utils/ICountDownHelper.kt deleted file mode 100644 index c19ce9af5d..0000000000 --- a/android/navi-coin/src/main/java/com/navi/coin/utils/ICountDownHelper.kt +++ /dev/null @@ -1,23 +0,0 @@ -/* - * - * * Copyright © 2024 by Navi Technologies Limited - * * All rights reserved. Strictly confidential - * - */ - -package com.navi.coin.utils - -import java.io.Closeable - -interface ICountDownHelper : Closeable { - fun startTimer( - timerId: String, - millisInFuture: Long, - onTick: (Long) -> Unit, - onFinish: () -> Unit - ) - - fun cancelAllTimers() - - fun cancelTimer(timerId: String) -} \ No newline at end of file diff --git a/android/navi-coin/src/main/java/com/navi/coin/utils/NaviCoinsAnalytics.kt b/android/navi-coin/src/main/java/com/navi/coin/utils/analytics/NaviCoinsAnalytics.kt similarity index 98% rename from android/navi-coin/src/main/java/com/navi/coin/utils/NaviCoinsAnalytics.kt rename to android/navi-coin/src/main/java/com/navi/coin/utils/analytics/NaviCoinsAnalytics.kt index 2d5a1eb8c6..2a8a1d76a2 100644 --- a/android/navi-coin/src/main/java/com/navi/coin/utils/NaviCoinsAnalytics.kt +++ b/android/navi-coin/src/main/java/com/navi/coin/utils/analytics/NaviCoinsAnalytics.kt @@ -1,4 +1,4 @@ -package com.navi.coin.utils +package com.navi.coin.utils.analytics import com.navi.analytics.utils.NaviTrackEvent import com.navi.base.sharedpref.CommonPrefConstants.USER_EXTERNAL_ID diff --git a/android/navi-coin/src/main/java/com/navi/coin/utils/Constants.kt b/android/navi-coin/src/main/java/com/navi/coin/utils/constant/Constants.kt similarity index 84% rename from android/navi-coin/src/main/java/com/navi/coin/utils/Constants.kt rename to android/navi-coin/src/main/java/com/navi/coin/utils/constant/Constants.kt index 422dee765a..0cc4190485 100644 --- a/android/navi-coin/src/main/java/com/navi/coin/utils/Constants.kt +++ b/android/navi-coin/src/main/java/com/navi/coin/utils/constant/Constants.kt @@ -1,4 +1,4 @@ -package com.navi.coin.utils +package com.navi.coin.utils.constant object Constants { @@ -26,18 +26,12 @@ object Constants { const val EXPIRED_SCRATCH_CARD_URL_KEY = "expiredScratchCardUrl" const val NAVI_COIN_URL_KEY = "naviCoinsUrl" const val RR_BOTTOM_SHEET = "RR_BOTTOM_SHEET" - const val CURRENT_BALANCE = "currentBalance" const val PREVIOUS_BALANCE = "previousBalance" const val TRANSACTION_ID = "transaction_id" const val SCREEN_NAME = "screen_name" const val REWARD_EARNED= "reward_earned" const val Y="Y" const val N="N" - const val PAYMENT_SUMMARY_SCREEN = "PAYMENT_SUMMARY_SCREEN" - const val TEMPLATE_NAME = "templateName" - const val REWARD = "REWARD" - const val NO_REWARD = "NO_REWARD" - const val SCRATCH_STARTED="scratchStarted" const val BACK="BACK" const val SCREEN_CONTENT = "screen_content" @@ -70,11 +64,9 @@ object Constants { const val COINS_LOADING_SCREEN_SCREEN_NAME = "COINS_HOME_LOADING_SCREEN_M2" } - object ErrorConfig { - const val ERROR_TITLE = "Something went wrong!" - const val ERROR_SUBTITLE = "Oops! Something isn’t working correctly." - const val ERROR_BUTTON_TEXT = "Reload" - } - const val CLOSE = "close" + + object ApiConstants { + const val API_CONNECT_TIMEOUT_VALUE = 20L + } } diff --git a/android/navi-coin/src/main/java/com/navi/coin/utils/ext/ActivityExt.kt b/android/navi-coin/src/main/java/com/navi/coin/utils/ext/ActivityExt.kt new file mode 100644 index 0000000000..2258b61775 --- /dev/null +++ b/android/navi-coin/src/main/java/com/navi/coin/utils/ext/ActivityExt.kt @@ -0,0 +1,29 @@ +package com.navi.coin.utils.ext + +import android.app.Activity +import androidx.core.content.ContextCompat +import androidx.core.view.WindowInsetsControllerCompat +import com.navi.common.R + + +fun Activity.startEnterAnimation() { + this.overridePendingTransition( + R.anim.parallax_slide_in_right, + R.anim.parallax_slide_out_left + ) +} + +fun Activity.startExitAnimation() { + this.overridePendingTransition( + R.anim.parallax_slide_in_left, + R.anim.parallax_slide_out_right + ) +} + +fun Activity.setStatusBarColor(color: Int, isLight: Boolean = false) { + val window = window + val decorView = window.decorView + val wic = WindowInsetsControllerCompat(window, decorView) + wic.isAppearanceLightStatusBars = isLight + window.statusBarColor = ContextCompat.getColor(this, color) +} diff --git a/android/navi-coin/src/main/java/com/navi/coin/utils/Ext.kt b/android/navi-coin/src/main/java/com/navi/coin/utils/ext/JsonObj.kt similarity index 97% rename from android/navi-coin/src/main/java/com/navi/coin/utils/Ext.kt rename to android/navi-coin/src/main/java/com/navi/coin/utils/ext/JsonObj.kt index 27ada8e979..a42d4dffa3 100644 --- a/android/navi-coin/src/main/java/com/navi/coin/utils/Ext.kt +++ b/android/navi-coin/src/main/java/com/navi/coin/utils/ext/JsonObj.kt @@ -1,4 +1,4 @@ -package com.navi.coin.utils +package com.navi.coin.utils.ext import com.navi.common.utils.EMPTY import com.navi.common.utils.log diff --git a/android/navi-coin/src/main/java/com/navi/coin/utils/ext/UtilExt.kt b/android/navi-coin/src/main/java/com/navi/coin/utils/ext/UtilExt.kt new file mode 100644 index 0000000000..09d5e10bcb --- /dev/null +++ b/android/navi-coin/src/main/java/com/navi/coin/utils/ext/UtilExt.kt @@ -0,0 +1,16 @@ +package com.navi.coin.utils.ext + +import androidx.compose.runtime.Composable +import androidx.compose.ui.platform.LocalDensity +import androidx.compose.ui.unit.TextUnit +import androidx.compose.ui.unit.sp + +@Composable +fun Int.scaledSp(): TextUnit { + val value: Int = this + return with(LocalDensity.current) { + val fontScale = this.fontScale + val textSize = value / fontScale + textSize.sp + } +} \ No newline at end of file diff --git a/android/navi-coin/src/main/java/com/navi/coin/utils/CountDownFacade.kt b/android/navi-coin/src/main/java/com/navi/coin/utils/facade/CountDownFacade.kt similarity index 82% rename from android/navi-coin/src/main/java/com/navi/coin/utils/CountDownFacade.kt rename to android/navi-coin/src/main/java/com/navi/coin/utils/facade/CountDownFacade.kt index 45cd862d2d..d44db9eda4 100644 --- a/android/navi-coin/src/main/java/com/navi/coin/utils/CountDownFacade.kt +++ b/android/navi-coin/src/main/java/com/navi/coin/utils/facade/CountDownFacade.kt @@ -5,15 +5,31 @@ * */ -package com.navi.coin.utils +package com.navi.coin.utils.facade import android.os.CountDownTimer +import java.io.Closeable import javax.inject.Inject /** * Please call close method manually when you are done with the helper **/ + +interface ICountDownHelper : Closeable { + fun startTimer( + timerId: String, + millisInFuture: Long, + onTick: (Long) -> Unit, + onFinish: () -> Unit + ) + + fun cancelAllTimers() + + fun cancelTimer(timerId: String) +} + + class CountDownFacade @Inject constructor() : ICountDownHelper { private var idToTimer = mutableMapOf() diff --git a/android/navi-coin/src/main/java/com/navi/coin/utils/CoinMockUtils.kt b/android/navi-coin/src/main/java/com/navi/coin/utils/mock/CoinMockUtils.kt similarity index 95% rename from android/navi-coin/src/main/java/com/navi/coin/utils/CoinMockUtils.kt rename to android/navi-coin/src/main/java/com/navi/coin/utils/mock/CoinMockUtils.kt index ea46bc8a39..bf735c3d04 100644 --- a/android/navi-coin/src/main/java/com/navi/coin/utils/CoinMockUtils.kt +++ b/android/navi-coin/src/main/java/com/navi/coin/utils/mock/CoinMockUtils.kt @@ -1,4 +1,4 @@ -package com.navi.coin.utils +package com.navi.coin.utils.mock import com.google.gson.JsonObject import com.google.gson.JsonParser diff --git a/android/navi-coin/src/main/java/com/navi/coin/utils/shape/SemiCircleShape.kt b/android/navi-coin/src/main/java/com/navi/coin/utils/shape/SemiCircleShape.kt new file mode 100644 index 0000000000..4b4b753d05 --- /dev/null +++ b/android/navi-coin/src/main/java/com/navi/coin/utils/shape/SemiCircleShape.kt @@ -0,0 +1,42 @@ +package com.navi.coin.utils.shape + +import androidx.compose.ui.geometry.Rect +import androidx.compose.ui.geometry.Size +import androidx.compose.ui.graphics.Outline +import androidx.compose.ui.graphics.Path +import androidx.compose.ui.graphics.Shape +import androidx.compose.ui.unit.Density +import androidx.compose.ui.unit.LayoutDirection + +class SemiCircleShape(private val height: Float) : Shape { + override fun createOutline( + size: Size, + layoutDirection: LayoutDirection, + density: Density, + ): Outline { + return Outline.Generic( + path = drawSemiCircle(size, height) + ) + } + + private fun drawSemiCircle(size: Size, height:Float): Path { + return Path().apply { + reset() + arcTo( + rect = Rect( + left = 0f, + top = -height , + right = size.width, + bottom = height + ), + startAngleDegrees = 180.0f, + sweepAngleDegrees = -180.0f, + forceMoveTo = false + ) + lineTo(size.width, 0f) + lineTo(size.width, size.height) + lineTo(0f, size.height) + close() + } + } +} \ No newline at end of file diff --git a/android/navi-coin/src/main/java/com/navi/coin/vm/CoinHistoryScreenVM.kt b/android/navi-coin/src/main/java/com/navi/coin/vm/CoinHistoryScreenVM.kt index aec987201d..69c738bdbe 100644 --- a/android/navi-coin/src/main/java/com/navi/coin/vm/CoinHistoryScreenVM.kt +++ b/android/navi-coin/src/main/java/com/navi/coin/vm/CoinHistoryScreenVM.kt @@ -6,13 +6,13 @@ import androidx.paging.PagingConfig import androidx.paging.cachedIn import com.navi.base.cache.model.NaviCacheEntity import com.navi.base.cache.repository.NaviCacheRepositoryImpl -import com.navi.coin.repo.CashHistoryListSource -import com.navi.coin.repo.CoinHistoryListSource -import com.navi.coin.repo.CoinHistoryScreenRepo -import com.navi.coin.repo.CoinHomeScreenRepo -import com.navi.coin.utils.CoinNavigationActions -import com.navi.coin.utils.CoinRouter -import com.navi.coin.utils.Constants.CLOSE +import com.navi.coin.repo.pagingsource.CashHistoryListSource +import com.navi.coin.repo.pagingsource.CoinHistoryListSource +import com.navi.coin.repo.repository.CoinHistoryScreenRepo +import com.navi.coin.repo.repository.CoinHomeScreenRepo +import com.navi.coin.navigator.CoinNavigationActions +import com.navi.coin.navigator.CoinRouter +import com.navi.coin.utils.constant.Constants.CLOSE import com.navi.coin.utils.cacheCoinHomeImages import com.navi.common.CommonLibManager import com.navi.common.constants.DBCacheConstants.COIN_HOME_SCREEN_CACHE_KEY diff --git a/android/navi-coin/src/main/java/com/navi/coin/vm/CoinHomeScreenVM.kt b/android/navi-coin/src/main/java/com/navi/coin/vm/CoinHomeScreenVM.kt index ba41ff66a0..aa3cfa57c3 100644 --- a/android/navi-coin/src/main/java/com/navi/coin/vm/CoinHomeScreenVM.kt +++ b/android/navi-coin/src/main/java/com/navi/coin/vm/CoinHomeScreenVM.kt @@ -3,24 +3,24 @@ package com.navi.coin.vm import com.navi.base.cache.model.NaviCacheAltSourceEntity import com.navi.base.cache.model.NaviCacheEntity import com.navi.base.cache.repository.NaviCacheRepositoryImpl -import com.navi.coin.models.CoinHomeScreenState -import com.navi.coin.models.RedemptionRequest -import com.navi.coin.models.RedemptionResponse -import com.navi.coin.models.RedemptionResponse.Companion.NAVI_CASH -import com.navi.coin.models.RedemptionResponse.Companion.NAVI_COINS -import com.navi.coin.models.RedemptionStatusResponse +import com.navi.coin.models.states.CoinHomeScreenState +import com.navi.coin.models.model.RedemptionRequest +import com.navi.coin.models.model.RedemptionResponse +import com.navi.coin.models.model.RedemptionResponse.Companion.NAVI_CASH +import com.navi.coin.models.model.RedemptionResponse.Companion.NAVI_COINS +import com.navi.coin.models.model.RedemptionStatusResponse import com.navi.coin.models.states.ApiActionState -import com.navi.coin.repo.CoinHistoryScreenRepo -import com.navi.coin.repo.CoinHomeScreenRepo -import com.navi.coin.utils.CoinNavigationActions -import com.navi.coin.utils.CoinRouter -import com.navi.coin.utils.NaviCoinsAnalytics -import com.navi.coin.utils.NaviCoinsAnalytics.Companion.DEV_REDEEM_COIN_FAILURE_EVENT -import com.navi.coin.utils.NaviCoinsAnalytics.Companion.DEV_REDEEM_COIN_INITIATED_EVENT -import com.navi.coin.utils.NaviCoinsAnalytics.Companion.DEV_REDEEM_COIN_SUCCESS_EVENT -import com.navi.coin.utils.NaviCoinsAnalytics.Companion.DEV_VALIDATE_UPI_ID_EVENT -import com.navi.coin.utils.NaviCoinsAnalytics.Companion.DEV_VALIDATE_UPI_ID_FAILURE_EVENT -import com.navi.coin.utils.NaviCoinsAnalytics.Companion.DEV_VALIDATE_UPI_ID_SUCCESS_EVENT +import com.navi.coin.repo.repository.CoinHistoryScreenRepo +import com.navi.coin.repo.repository.CoinHomeScreenRepo +import com.navi.coin.navigator.CoinNavigationActions +import com.navi.coin.navigator.CoinRouter +import com.navi.coin.utils.analytics.NaviCoinsAnalytics +import com.navi.coin.utils.analytics.NaviCoinsAnalytics.Companion.DEV_REDEEM_COIN_FAILURE_EVENT +import com.navi.coin.utils.analytics.NaviCoinsAnalytics.Companion.DEV_REDEEM_COIN_INITIATED_EVENT +import com.navi.coin.utils.analytics.NaviCoinsAnalytics.Companion.DEV_REDEEM_COIN_SUCCESS_EVENT +import com.navi.coin.utils.analytics.NaviCoinsAnalytics.Companion.DEV_VALIDATE_UPI_ID_EVENT +import com.navi.coin.utils.analytics.NaviCoinsAnalytics.Companion.DEV_VALIDATE_UPI_ID_FAILURE_EVENT +import com.navi.coin.utils.analytics.NaviCoinsAnalytics.Companion.DEV_VALIDATE_UPI_ID_SUCCESS_EVENT import com.navi.coin.utils.cacheCoinHomeImages import com.navi.common.CommonLibManager import com.navi.common.constants.DBCacheConstants.COIN_HOME_SCREEN_CACHE_KEY diff --git a/android/navi-coin/src/main/java/com/navi/coin/vm/ScratchCardScreenVM.kt b/android/navi-coin/src/main/java/com/navi/coin/vm/ScratchCardScreenVM.kt index 14bc955191..d52b4a8b25 100644 --- a/android/navi-coin/src/main/java/com/navi/coin/vm/ScratchCardScreenVM.kt +++ b/android/navi-coin/src/main/java/com/navi/coin/vm/ScratchCardScreenVM.kt @@ -13,16 +13,16 @@ import androidx.paging.PagingConfig import androidx.paging.cachedIn import androidx.paging.compose.LazyPagingItems import com.navi.base.utils.orZero -import com.navi.coin.models.ScratchCard +import com.navi.coin.di.qualifiers.CountDownHelperQualifier +import com.navi.coin.models.model.ScratchCard import com.navi.coin.models.states.ScratchCardHistoryScreenState import com.navi.coin.models.states.ScratchCardStatus -import com.navi.coin.network.di.CountDownHelperQualifier -import com.navi.coin.repo.ScratchCardHistoryListSource -import com.navi.coin.repo.ScratchCardHistoryScreenRepo -import com.navi.coin.utils.CoinNavigationActions -import com.navi.coin.utils.CoinRouter -import com.navi.coin.utils.Constants -import com.navi.coin.utils.ICountDownHelper +import com.navi.coin.navigator.CoinNavigationActions +import com.navi.coin.navigator.CoinRouter +import com.navi.coin.repo.pagingsource.ScratchCardHistoryListSource +import com.navi.coin.repo.repository.ScratchCardHistoryScreenRepo +import com.navi.coin.utils.constant.Constants +import com.navi.coin.utils.facade.ICountDownHelper import com.navi.common.forge.model.ScreenDefinition import com.navi.common.forge.model.WidgetModelDefinition import com.navi.common.network.ApiConstants diff --git a/android/navi-coin/src/test/java/com/navi/coins/repo/CoinHistoryScreenRepoTest.kt b/android/navi-coin/src/test/java/com/navi/coins/repo/CoinHistoryScreenRepoTest.kt index 818f899033..d8bccd0921 100644 --- a/android/navi-coin/src/test/java/com/navi/coins/repo/CoinHistoryScreenRepoTest.kt +++ b/android/navi-coin/src/test/java/com/navi/coins/repo/CoinHistoryScreenRepoTest.kt @@ -8,11 +8,11 @@ package com.navi.coins.repo import androidx.arch.core.executor.testing.InstantTaskExecutorRule -import com.navi.coin.models.TransactionHistoryCardData -import com.navi.coin.models.TransactionHistoryResponse -import com.navi.coin.network.retrofit.RetrofitService -import com.navi.coin.repo.CoinHistoryScreenRepo -import com.navi.coin.utils.Constants +import com.navi.coin.models.model.TransactionHistoryCardData +import com.navi.coin.models.model.TransactionHistoryResponse +import com.navi.coin.network.RetrofitService +import com.navi.coin.repo.repository.CoinHistoryScreenRepo +import com.navi.coin.utils.constant.Constants import com.navi.coins.common.TestDispatcher import com.navi.common.forge.model.ScreenDefinition import com.navi.common.forge.model.ScreenStructure @@ -21,6 +21,7 @@ import com.navi.common.network.models.GenericResponse import com.navi.common.network.models.RepoResult import com.navi.common.network.retrofit.ResponseCallback import com.navi.common.utils.Constants.GZIP +import com.navi.rr.network.retrofit.ResponseHandler import io.mockk.MockKAnnotations import io.mockk.coEvery import io.mockk.every @@ -40,6 +41,7 @@ import retrofit2.Response class CoinHistoryScreenRepoTest { @RelaxedMockK private lateinit var superAppRetrofitService: RetrofitService @RelaxedMockK private lateinit var responseCallback: ResponseCallback + @RelaxedMockK private lateinit var responseHandler: ResponseHandler private lateinit var repository: CoinHistoryScreenRepo @get:Rule var rule: TestRule = InstantTaskExecutorRule() @InternalCoroutinesApi lateinit var testDispatcher: TestDispatcher @@ -55,7 +57,7 @@ class CoinHistoryScreenRepoTest { @Test fun testFetchCoinHistoryScreenCoinBalanceUiTronConfigs() = runBlocking(testDispatcher) { - repository = CoinHistoryScreenRepo(superAppRetrofitService) + repository = CoinHistoryScreenRepo(superAppRetrofitService,responseHandler) // Mock Retrofit response val expectedResponse = ScreenDefinition(screenStructure = ScreenStructure(screenId = "1")) @@ -82,7 +84,7 @@ class CoinHistoryScreenRepoTest { @Test fun testFetchCoinHistoryScreenCashRewardsUiTronConfigs() = runBlocking(testDispatcher) { - repository = CoinHistoryScreenRepo(superAppRetrofitService) + repository = CoinHistoryScreenRepo(superAppRetrofitService,responseHandler) // Mock Retrofit response val expectedResponse = ScreenDefinition(screenStructure = ScreenStructure(screenId = "1")) @@ -109,7 +111,7 @@ class CoinHistoryScreenRepoTest { @Test fun testFetchCoinsListData() = runBlocking(testDispatcher) { - repository = CoinHistoryScreenRepo(superAppRetrofitService) + repository = CoinHistoryScreenRepo(superAppRetrofitService,responseHandler) // Mock Retrofit response val expectedResponse = TransactionHistoryResponse( @@ -138,7 +140,7 @@ class CoinHistoryScreenRepoTest { @Test fun testFetchCashListData() = runBlocking(testDispatcher) { - repository = CoinHistoryScreenRepo(superAppRetrofitService) + repository = CoinHistoryScreenRepo(superAppRetrofitService,responseHandler) val expectedResponse = TransactionHistoryResponse( coinHistoryList = listOf(TransactionHistoryCardData("@31123")) diff --git a/android/navi-coin/src/test/java/com/navi/coins/repo/CoinHomeScreenRepoTest.kt b/android/navi-coin/src/test/java/com/navi/coins/repo/CoinHomeScreenRepoTest.kt index 1499c6edb7..831f0a2ee7 100644 --- a/android/navi-coin/src/test/java/com/navi/coins/repo/CoinHomeScreenRepoTest.kt +++ b/android/navi-coin/src/test/java/com/navi/coins/repo/CoinHomeScreenRepoTest.kt @@ -8,9 +8,9 @@ package com.navi.coins.repo import androidx.arch.core.executor.testing.InstantTaskExecutorRule -import com.navi.coin.network.retrofit.RetrofitService -import com.navi.coin.repo.CoinHomeScreenRepo -import com.navi.coin.utils.Constants +import com.navi.coin.network.RetrofitService +import com.navi.coin.repo.repository.CoinHomeScreenRepo +import com.navi.coin.utils.constant.Constants import com.navi.coins.common.TestDispatcher import com.navi.common.forge.model.ScreenDefinition import com.navi.common.forge.model.ScreenStructure diff --git a/android/navi-coin/src/test/java/com/navi/coins/vm/CoinHistoryScreenVMTest.kt b/android/navi-coin/src/test/java/com/navi/coins/vm/CoinHistoryScreenVMTest.kt index 5cf06a5710..6bb93e6b69 100644 --- a/android/navi-coin/src/test/java/com/navi/coins/vm/CoinHistoryScreenVMTest.kt +++ b/android/navi-coin/src/test/java/com/navi/coins/vm/CoinHistoryScreenVMTest.kt @@ -3,10 +3,10 @@ package com.navi.coins.vm import androidx.arch.core.executor.testing.InstantTaskExecutorRule import androidx.lifecycle.viewModelScope import com.navi.base.cache.repository.NaviCacheRepositoryImpl -import com.navi.coin.repo.CashHistoryListSource -import com.navi.coin.repo.CoinHistoryListSource -import com.navi.coin.repo.CoinHistoryScreenRepo -import com.navi.coin.repo.CoinHomeScreenRepo +import com.navi.coin.repo.pagingsource.CashHistoryListSource +import com.navi.coin.repo.pagingsource.CoinHistoryListSource +import com.navi.coin.repo.repository.CoinHistoryScreenRepo +import com.navi.coin.repo.repository.CoinHomeScreenRepo import com.navi.coin.vm.CoinHistoryCardScreenState import com.navi.coin.vm.CoinHistoryScreenState import com.navi.coin.vm.CoinHistoryScreenVM diff --git a/android/navi-coin/src/test/java/com/navi/coins/vm/CoinHomeScreenVMTest.kt b/android/navi-coin/src/test/java/com/navi/coins/vm/CoinHomeScreenVMTest.kt index 2f800b94cc..1905f149ac 100644 --- a/android/navi-coin/src/test/java/com/navi/coins/vm/CoinHomeScreenVMTest.kt +++ b/android/navi-coin/src/test/java/com/navi/coins/vm/CoinHomeScreenVMTest.kt @@ -1,13 +1,11 @@ package com.navi.coins.vm import androidx.arch.core.executor.testing.InstantTaskExecutorRule -import androidx.lifecycle.viewModelScope -import com.navi.base.cache.model.NaviCacheEntity import com.navi.base.cache.repository.NaviCacheRepositoryImpl -import com.navi.coin.repo.CashHistoryListSource -import com.navi.coin.repo.CoinHistoryListSource -import com.navi.coin.repo.CoinHistoryScreenRepo -import com.navi.coin.repo.CoinHomeScreenRepo +import com.navi.coin.repo.pagingsource.CashHistoryListSource +import com.navi.coin.repo.pagingsource.CoinHistoryListSource +import com.navi.coin.repo.repository.CoinHistoryScreenRepo +import com.navi.coin.repo.repository.CoinHomeScreenRepo import com.navi.coin.vm.CoinHomeScreenVM import com.navi.coins.common.TestDispatcher import com.navi.common.forge.model.ScreenDefinition @@ -21,17 +19,8 @@ import io.mockk.impl.annotations.RelaxedMockK import io.mockk.unmockkAll import kotlinx.coroutines.Dispatchers import kotlinx.coroutines.InternalCoroutinesApi -import kotlinx.coroutines.cancel -import kotlinx.coroutines.flow.flowOf import kotlinx.coroutines.runBlocking -import kotlinx.coroutines.test.StandardTestDispatcher -import kotlinx.coroutines.test.TestCoroutineDispatcher -import kotlinx.coroutines.test.TestCoroutineScope -import kotlinx.coroutines.test.advanceUntilIdle import kotlinx.coroutines.test.resetMain -import kotlinx.coroutines.test.runBlockingTest -import kotlinx.coroutines.test.runTest -import kotlinx.coroutines.test.setMain import org.junit.After import org.junit.Before import org.junit.Rule