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(
|
suspend fun applyParentAction(
|
||||||
action: ParentAction,
|
action: ParentAction,
|
||||||
database: Database,
|
database: Database,
|
||||||
|
|
|
@ -29,6 +29,8 @@ import io.timelimit.android.integration.platform.RuntimePermissionStatus
|
||||||
import io.timelimit.android.livedata.map
|
import io.timelimit.android.livedata.map
|
||||||
import io.timelimit.android.logic.AppLogic
|
import io.timelimit.android.logic.AppLogic
|
||||||
import io.timelimit.android.logic.ServerApiLevelInfo
|
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.ActivityCommand
|
||||||
import io.timelimit.android.ui.model.AuthenticationModelApi
|
import io.timelimit.android.ui.model.AuthenticationModelApi
|
||||||
import io.timelimit.android.ui.model.Screen
|
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(
|
data class Actions(
|
||||||
val hideIntro: () -> Unit,
|
val hideIntro: () -> Unit,
|
||||||
val addDevice: () -> Unit,
|
val addDevice: () -> Unit,
|
||||||
val skipTaskReview: (TaskToReview) -> Unit
|
val skipTaskReview: (TaskToReview) -> Unit,
|
||||||
|
val reviewReject: (TaskToReview) -> Unit,
|
||||||
|
val reviewAccept: (TaskToReview) -> Unit
|
||||||
)
|
)
|
||||||
data class IntroFlags(
|
data class IntroFlags(
|
||||||
val showSetupOption: Boolean,
|
val showSetupOption: Boolean,
|
||||||
|
|
|
@ -197,18 +197,7 @@ fun OverviewScreen(
|
||||||
|
|
||||||
Spacer(Modifier.weight(1.0f))
|
Spacer(Modifier.weight(1.0f))
|
||||||
|
|
||||||
OutlinedButton(onClick = {
|
OutlinedButton(onClick = { screen.actions.reviewReject(screen.taskToReview) }) {
|
||||||
if (activity.getActivityViewModel().isParentAuthenticated()) {
|
|
||||||
auth.tryDispatchParentAction(
|
|
||||||
ReviewChildTaskAction(
|
|
||||||
taskId = screen.taskToReview.task.childTask.taskId,
|
|
||||||
ok = false,
|
|
||||||
time = logic.timeApi.getCurrentTimeInMillis(),
|
|
||||||
day = null
|
|
||||||
)
|
|
||||||
)
|
|
||||||
} else activity.showAuthenticationScreen()
|
|
||||||
}) {
|
|
||||||
Text(stringResource(R.string.generic_no))
|
Text(stringResource(R.string.generic_no))
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue