diff --git a/cmp-navigation/src/commonMain/kotlin/cmp/navigation/di/KoinModules.kt b/cmp-navigation/src/commonMain/kotlin/cmp/navigation/di/KoinModules.kt index 08e2194c5cc..520e1c511af 100644 --- a/cmp-navigation/src/commonMain/kotlin/cmp/navigation/di/KoinModules.kt +++ b/cmp-navigation/src/commonMain/kotlin/cmp/navigation/di/KoinModules.kt @@ -28,7 +28,7 @@ import com.mifos.feature.individualCollectionSheet.di.CollectionSheetModule import com.mifos.feature.loan.di.LoanModule import com.mifos.feature.note.di.NoteModule import com.mifos.feature.offline.di.OfflineModule -import com.mifos.feature.pathTracking.di.PathTrackingModule +import com.mifos.feature.path.tracking.di.PathTrackingModule import com.mifos.feature.report.di.ReportModule import com.mifos.feature.savings.di.SavingsModule import com.mifos.feature.search.di.SearchModule diff --git a/cmp-navigation/src/commonMain/kotlin/cmp/navigation/navigation/FeatureNavHost.kt b/cmp-navigation/src/commonMain/kotlin/cmp/navigation/navigation/FeatureNavHost.kt index 514b45c7e65..69e16215d77 100644 --- a/cmp-navigation/src/commonMain/kotlin/cmp/navigation/navigation/FeatureNavHost.kt +++ b/cmp-navigation/src/commonMain/kotlin/cmp/navigation/navigation/FeatureNavHost.kt @@ -47,7 +47,7 @@ import com.mifos.feature.loan.navigation.navigateToLoanAccountSummaryScreen import com.mifos.feature.note.navigation.navigateToNoteScreen import com.mifos.feature.note.navigation.noteNavGraph import com.mifos.feature.offline.navigation.offlineNavGraph -import com.mifos.feature.pathTracking.navigation.pathTrackingNavGraph +import com.mifos.feature.path.tracking.navigation.pathTrackingNavGraph import com.mifos.feature.report.navigation.reportNavGraph import com.mifos.feature.savings.navigation.navigateToAddSavingsAccount import com.mifos.feature.savings.navigation.navigateToSavingsAccountSummaryScreen diff --git a/cmp-navigation/src/commonMain/kotlin/cmp/navigation/navigation/HomeDestinationsScreen.kt b/cmp-navigation/src/commonMain/kotlin/cmp/navigation/navigation/HomeDestinationsScreen.kt index 0fe302366a5..8d2d7649028 100644 --- a/cmp-navigation/src/commonMain/kotlin/cmp/navigation/navigation/HomeDestinationsScreen.kt +++ b/cmp-navigation/src/commonMain/kotlin/cmp/navigation/navigation/HomeDestinationsScreen.kt @@ -16,7 +16,7 @@ import com.mifos.feature.checker.inbox.task.navigation.CheckerInboxTaskScreens import com.mifos.feature.client.navigation.ClientScreens import com.mifos.feature.groups.navigation.GroupScreen import com.mifos.feature.offline.navigation.OfflineScreens -import com.mifos.feature.pathTracking.navigation.PathTrackingScreens +import com.mifos.feature.path.tracking.navigation.PathTrackingScreens import com.mifos.feature.search.navigation.SearchScreens import com.mifos.feature.settings.navigation.SettingsScreens diff --git a/feature/path-tracking/src/androidMain/kotlin/com/mifos/feature/path/tracking/PathTrackingScreen.android.kt b/feature/path-tracking/src/androidMain/kotlin/com/mifos/feature/path/tracking/PathTrackingScreen.android.kt index 4d3d1ec7e75..b8426b0e89a 100644 --- a/feature/path-tracking/src/androidMain/kotlin/com/mifos/feature/path/tracking/PathTrackingScreen.android.kt +++ b/feature/path-tracking/src/androidMain/kotlin/com/mifos/feature/path/tracking/PathTrackingScreen.android.kt @@ -13,16 +13,10 @@ package com.mifos.feature.path.tracking -import android.Manifest import android.content.BroadcastReceiver import android.content.Context import android.content.Intent import android.content.IntentFilter -import androidclient.feature.path_tracking.generated.resources.Res -import androidclient.feature.path_tracking.generated.resources.feature_path_tracking_approve_permission_description_location -import androidclient.feature.path_tracking.generated.resources.feature_path_tracking_dismiss -import androidclient.feature.path_tracking.generated.resources.feature_path_tracking_permission_required -import androidclient.feature.path_tracking.generated.resources.feature_path_tracking_proceed import androidx.compose.foundation.layout.fillMaxWidth import androidx.compose.foundation.layout.height import androidx.compose.material3.ExperimentalMaterial3Api @@ -46,10 +40,7 @@ import com.google.maps.android.compose.GoogleMap import com.google.maps.android.compose.MapUiSettings import com.google.maps.android.compose.rememberCameraPositionState import com.mifos.core.common.utils.Constants -import com.mifos.core.designsystem.component.PermissionBox import com.mifos.core.model.objects.users.UserLatLng -import com.mifos.feature.pathTracking.PathTrackingViewModel -import org.jetbrains.compose.resources.stringResource @OptIn(ExperimentalMaterial3Api::class) @Composable @@ -137,25 +128,3 @@ actual fun PathTrackingMapView(latLngList: List) { uiSettings = uiSettings, ) } - -@Composable -actual fun HandleLocationPermissionRequest( - show: Boolean, - onPermissionResult: (granted: Boolean) -> Unit, -) { - if (show) { - PermissionBox( - requiredPermissions = listOf( - Manifest.permission.ACCESS_FINE_LOCATION, - Manifest.permission.ACCESS_COARSE_LOCATION, - ), - title = stringResource(Res.string.feature_path_tracking_permission_required), - description = stringResource(Res.string.feature_path_tracking_approve_permission_description_location), - confirmButtonText = stringResource(Res.string.feature_path_tracking_proceed), - dismissButtonText = stringResource(Res.string.feature_path_tracking_dismiss), - onGranted = { - onPermissionResult(true) - }, - ) - } -} diff --git a/feature/path-tracking/src/commonMain/kotlin/com/mifos/feature/path/tracking/PathTrackingScreen.kt b/feature/path-tracking/src/commonMain/kotlin/com/mifos/feature/path/tracking/PathTrackingScreen.kt index 3c0292de156..39f526c9656 100644 --- a/feature/path-tracking/src/commonMain/kotlin/com/mifos/feature/path/tracking/PathTrackingScreen.kt +++ b/feature/path-tracking/src/commonMain/kotlin/com/mifos/feature/path/tracking/PathTrackingScreen.kt @@ -10,8 +10,12 @@ package com.mifos.feature.path.tracking import androidclient.feature.path_tracking.generated.resources.Res +import androidclient.feature.path_tracking.generated.resources.feature_path_tracking_approve_permission_description_location +import androidclient.feature.path_tracking.generated.resources.feature_path_tracking_dismiss import androidclient.feature.path_tracking.generated.resources.feature_path_tracking_failed_to_load_path_tracking import androidclient.feature.path_tracking.generated.resources.feature_path_tracking_no_path_tracking_found +import androidclient.feature.path_tracking.generated.resources.feature_path_tracking_permission_required +import androidclient.feature.path_tracking.generated.resources.feature_path_tracking_proceed import androidclient.feature.path_tracking.generated.resources.feature_path_tracking_track_my_path import androidx.compose.foundation.layout.Column import androidx.compose.foundation.layout.padding @@ -37,12 +41,12 @@ import androidx.compose.ui.unit.dp import com.mifos.core.designsystem.component.MifosCircularProgress import com.mifos.core.designsystem.component.MifosScaffold import com.mifos.core.designsystem.component.MifosSweetError +import com.mifos.core.designsystem.component.PermissionBox +import com.mifos.core.designsystem.component.getRequiredPermissionsForLocation import com.mifos.core.designsystem.icon.MifosIcons import com.mifos.core.model.objects.users.UserLatLng import com.mifos.core.model.objects.users.UserLocation import com.mifos.core.ui.util.DevicePreview -import com.mifos.feature.pathTracking.PathTrackingUiState -import com.mifos.feature.pathTracking.PathTrackingViewModel import kotlinx.serialization.json.Json import org.jetbrains.compose.resources.stringResource import org.jetbrains.compose.ui.tooling.preview.PreviewParameter @@ -74,11 +78,14 @@ fun PathTrackingScreen( var checkPermission by remember { mutableStateOf(false) } if (checkPermission) { - HandleLocationPermissionRequest( - show = checkPermission, - onPermissionResult = { granted -> - if (granted) updateUserStatus(true) - checkPermission = false + PermissionBox( + requiredPermissions = getRequiredPermissionsForLocation(), + title = stringResource(Res.string.feature_path_tracking_permission_required), + description = stringResource(Res.string.feature_path_tracking_approve_permission_description_location), + confirmButtonText = stringResource(Res.string.feature_path_tracking_proceed), + dismissButtonText = stringResource(Res.string.feature_path_tracking_dismiss), + onGranted = { + updateUserStatus(true) }, ) } @@ -171,12 +178,6 @@ private fun PathTrackingItem( } } -@Composable -expect fun HandleLocationPermissionRequest( - show: Boolean, - onPermissionResult: (granted: Boolean) -> Unit, -) - @Composable expect fun PathTrackingMapView(latLngList: List) diff --git a/feature/path-tracking/src/commonMain/kotlin/com/mifos/feature/path/tracking/PathTrackingUiState.kt b/feature/path-tracking/src/commonMain/kotlin/com/mifos/feature/path/tracking/PathTrackingUiState.kt index ceb347c09df..82ce73e20c1 100644 --- a/feature/path-tracking/src/commonMain/kotlin/com/mifos/feature/path/tracking/PathTrackingUiState.kt +++ b/feature/path-tracking/src/commonMain/kotlin/com/mifos/feature/path/tracking/PathTrackingUiState.kt @@ -7,7 +7,7 @@ * * See https://github.com/openMF/android-client/blob/master/LICENSE.md */ -package com.mifos.feature.pathTracking +package com.mifos.feature.path.tracking import com.mifos.core.model.objects.users.UserLocation import org.jetbrains.compose.resources.StringResource diff --git a/feature/path-tracking/src/commonMain/kotlin/com/mifos/feature/path/tracking/PathTrackingViewModel.kt b/feature/path-tracking/src/commonMain/kotlin/com/mifos/feature/path/tracking/PathTrackingViewModel.kt index b7ca7fddd19..d03b2f19700 100644 --- a/feature/path-tracking/src/commonMain/kotlin/com/mifos/feature/path/tracking/PathTrackingViewModel.kt +++ b/feature/path-tracking/src/commonMain/kotlin/com/mifos/feature/path/tracking/PathTrackingViewModel.kt @@ -7,7 +7,7 @@ * * See https://github.com/openMF/android-client/blob/master/LICENSE.md */ -package com.mifos.feature.pathTracking +package com.mifos.feature.path.tracking import androidclient.feature.path_tracking.generated.resources.Res import androidclient.feature.path_tracking.generated.resources.feature_path_tracking_failed_to_load_path_tracking diff --git a/feature/path-tracking/src/commonMain/kotlin/com/mifos/feature/path/tracking/di/PathTrackingModule.kt b/feature/path-tracking/src/commonMain/kotlin/com/mifos/feature/path/tracking/di/PathTrackingModule.kt index a009385bf18..1bf41258022 100644 --- a/feature/path-tracking/src/commonMain/kotlin/com/mifos/feature/path/tracking/di/PathTrackingModule.kt +++ b/feature/path-tracking/src/commonMain/kotlin/com/mifos/feature/path/tracking/di/PathTrackingModule.kt @@ -7,9 +7,9 @@ * * See https://github.com/openMF/android-client/blob/master/LICENSE.md */ -package com.mifos.feature.pathTracking.di +package com.mifos.feature.path.tracking.di -import com.mifos.feature.pathTracking.PathTrackingViewModel +import com.mifos.feature.path.tracking.PathTrackingViewModel import org.koin.core.module.dsl.viewModelOf import org.koin.dsl.module diff --git a/feature/path-tracking/src/commonMain/kotlin/com/mifos/feature/path/tracking/navigation/PathTrackingNavigation.kt b/feature/path-tracking/src/commonMain/kotlin/com/mifos/feature/path/tracking/navigation/PathTrackingNavigation.kt index 3fedbc4b0d9..047d2bc0504 100644 --- a/feature/path-tracking/src/commonMain/kotlin/com/mifos/feature/path/tracking/navigation/PathTrackingNavigation.kt +++ b/feature/path-tracking/src/commonMain/kotlin/com/mifos/feature/path/tracking/navigation/PathTrackingNavigation.kt @@ -7,7 +7,7 @@ * * See https://github.com/openMF/android-client/blob/master/LICENSE.md */ -package com.mifos.feature.pathTracking.navigation +package com.mifos.feature.path.tracking.navigation import androidx.navigation.NavController import androidx.navigation.NavGraphBuilder diff --git a/feature/path-tracking/src/commonMain/kotlin/com/mifos/feature/path/tracking/navigation/PathTrackingScreens.kt b/feature/path-tracking/src/commonMain/kotlin/com/mifos/feature/path/tracking/navigation/PathTrackingScreens.kt index 58d7c17aaeb..013e2c3e88a 100644 --- a/feature/path-tracking/src/commonMain/kotlin/com/mifos/feature/path/tracking/navigation/PathTrackingScreens.kt +++ b/feature/path-tracking/src/commonMain/kotlin/com/mifos/feature/path/tracking/navigation/PathTrackingScreens.kt @@ -7,7 +7,7 @@ * * See https://github.com/openMF/android-client/blob/master/LICENSE.md */ -package com.mifos.feature.pathTracking.navigation +package com.mifos.feature.path.tracking.navigation sealed class PathTrackingScreens(val route: String) { diff --git a/feature/path-tracking/src/desktopMain/kotlin/com/mifos/feature/path/tracking/PathTrackingScreen.desktop.kt b/feature/path-tracking/src/desktopMain/kotlin/com/mifos/feature/path/tracking/PathTrackingScreen.desktop.kt index a4683d6455f..0e2aeb5a00f 100644 --- a/feature/path-tracking/src/desktopMain/kotlin/com/mifos/feature/path/tracking/PathTrackingScreen.desktop.kt +++ b/feature/path-tracking/src/desktopMain/kotlin/com/mifos/feature/path/tracking/PathTrackingScreen.desktop.kt @@ -21,14 +21,6 @@ actual fun PathTrackingScreen( TODO("Not yet implemented") } -@Composable -actual fun HandleLocationPermissionRequest( - show: Boolean, - onPermissionResult: (Boolean) -> Unit, -) { - TODO("Not yet implemented") -} - @Composable actual fun PathTrackingMapView(latLngList: List) { TODO("Not yet implemented") diff --git a/feature/path-tracking/src/nativeMain/kotlin/com/mifos/feature/path/tracking/PathTrackingScreen.native.kt b/feature/path-tracking/src/nativeMain/kotlin/com/mifos/feature/path/tracking/PathTrackingScreen.native.kt index bd90527db80..0e2aeb5a00f 100644 --- a/feature/path-tracking/src/nativeMain/kotlin/com/mifos/feature/path/tracking/PathTrackingScreen.native.kt +++ b/feature/path-tracking/src/nativeMain/kotlin/com/mifos/feature/path/tracking/PathTrackingScreen.native.kt @@ -21,16 +21,6 @@ actual fun PathTrackingScreen( TODO("Not yet implemented") } -@Composable -actual fun HandleLocationPermissionRequest( - show: Boolean, - onPermissionResult: (granted: Boolean) -> Unit, -) { - if (show) { - onPermissionResult(true) - } -} - @Composable actual fun PathTrackingMapView(latLngList: List) { TODO("Not yet implemented")