Skip to content

fix(feature:path-tracking): fix location permission handling and correct package name #2437

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Draft
wants to merge 4 commits into
base: kmp-impl
Choose a base branch
from
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -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

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand All @@ -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
Expand Down Expand Up @@ -137,25 +128,3 @@ actual fun PathTrackingMapView(latLngList: List<UserLatLng>) {
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)
},
)
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand All @@ -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
Expand Down Expand Up @@ -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)
},
)
}
Expand Down Expand Up @@ -171,12 +178,6 @@ private fun PathTrackingItem(
}
}

@Composable
expect fun HandleLocationPermissionRequest(
show: Boolean,
onPermissionResult: (granted: Boolean) -> Unit,
)

@Composable
expect fun PathTrackingMapView(latLngList: List<UserLatLng>)

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -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

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -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) {

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -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<UserLatLng>) {
TODO("Not yet implemented")
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -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<UserLatLng>) {
TODO("Not yet implemented")
Expand Down