mirror of
https://codeberg.org/timelimit/timelimit-android.git
synced 2025-10-03 17:59:51 +02:00
Refactor task review no handling
This commit is contained in:
parent
1468d9d5a0
commit
cb4beed825
3 changed files with 42 additions and 13 deletions
|
@ -198,6 +198,18 @@ object ApplyActionUtil {
|
|||
}
|
||||
}
|
||||
|
||||
suspend fun applyParentAction(
|
||||
action: ParentAction,
|
||||
authentication: ApplyActionParentAuthentication,
|
||||
logic: AppLogic
|
||||
) = applyParentAction(
|
||||
action = action,
|
||||
database = logic.database,
|
||||
authentication = authentication,
|
||||
syncUtil = logic.syncUtil,
|
||||
platformIntegration = logic.platformIntegration
|
||||
)
|
||||
|
||||
suspend fun applyParentAction(
|
||||
action: ParentAction,
|
||||
database: Database,
|
||||
|
|
|
@ -29,6 +29,8 @@ import io.timelimit.android.integration.platform.RuntimePermissionStatus
|
|||
import io.timelimit.android.livedata.map
|
||||
import io.timelimit.android.logic.AppLogic
|
||||
import io.timelimit.android.logic.ServerApiLevelInfo
|
||||
import io.timelimit.android.sync.actions.ReviewChildTaskAction
|
||||
import io.timelimit.android.sync.actions.apply.ApplyActionUtil
|
||||
import io.timelimit.android.ui.model.ActivityCommand
|
||||
import io.timelimit.android.ui.model.AuthenticationModelApi
|
||||
import io.timelimit.android.ui.model.Screen
|
||||
|
@ -106,6 +108,30 @@ object OverviewHandling {
|
|||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
reviewReject = { task ->
|
||||
// TODO: add error handler to scope
|
||||
scope.launch {
|
||||
lock.tryWithLock {
|
||||
authentication.doParentAuthentication()?.let { parent ->
|
||||
ApplyActionUtil.applyParentAction(
|
||||
ReviewChildTaskAction(
|
||||
taskId = task.task.childTask.taskId,
|
||||
ok = false,
|
||||
time = logic.timeApi.getCurrentTimeInMillis(),
|
||||
day = null
|
||||
),
|
||||
parent.authentication,
|
||||
logic
|
||||
)
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
reviewAccept = {
|
||||
scope.launch {
|
||||
TODO()
|
||||
}
|
||||
}
|
||||
)
|
||||
}
|
||||
|
@ -310,7 +336,9 @@ object OverviewHandling {
|
|||
data class Actions(
|
||||
val hideIntro: () -> Unit,
|
||||
val addDevice: () -> Unit,
|
||||
val skipTaskReview: (TaskToReview) -> Unit
|
||||
val skipTaskReview: (TaskToReview) -> Unit,
|
||||
val reviewReject: (TaskToReview) -> Unit,
|
||||
val reviewAccept: (TaskToReview) -> Unit
|
||||
)
|
||||
data class IntroFlags(
|
||||
val showSetupOption: Boolean,
|
||||
|
|
|
@ -197,18 +197,7 @@ fun OverviewScreen(
|
|||
|
||||
Spacer(Modifier.weight(1.0f))
|
||||
|
||||
OutlinedButton(onClick = {
|
||||
if (activity.getActivityViewModel().isParentAuthenticated()) {
|
||||
auth.tryDispatchParentAction(
|
||||
ReviewChildTaskAction(
|
||||
taskId = screen.taskToReview.task.childTask.taskId,
|
||||
ok = false,
|
||||
time = logic.timeApi.getCurrentTimeInMillis(),
|
||||
day = null
|
||||
)
|
||||
)
|
||||
} else activity.showAuthenticationScreen()
|
||||
}) {
|
||||
OutlinedButton(onClick = { screen.actions.reviewReject(screen.taskToReview) }) {
|
||||
Text(stringResource(R.string.generic_no))
|
||||
}
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue