From 5c2928597cbbbb90663f5c9247cb1dc6d689c1c5 Mon Sep 17 00:00:00 2001 From: Faraphel Date: Sun, 30 Jun 2024 17:36:48 +0200 Subject: [PATCH] added more example data --- .../faraphel/tasks_valider/database/test.kt | 81 +++++++++++++++---- .../connection/internet/role/client.kt | 36 ++++++--- .../connection/wifiP2p/role/client.kt | 37 ++++++--- .../tasks_valider/ui/screen/task/student.kt | 5 +- 4 files changed, 116 insertions(+), 43 deletions(-) diff --git a/app/src/main/java/com/faraphel/tasks_valider/database/test.kt b/app/src/main/java/com/faraphel/tasks_valider/database/test.kt index ff027fb..4e84074 100644 --- a/app/src/main/java/com/faraphel/tasks_valider/database/test.kt +++ b/app/src/main/java/com/faraphel/tasks_valider/database/test.kt @@ -74,46 +74,97 @@ fun populateTaskDatabaseTest(database: TaskDatabase) { taskA1Id, taskA2Id, taskA3Id, - taskB1Id, - taskB2Id, + taskA4Id, + taskA5Id, ) = database.taskDao().insert( + // Subject A TaskEntity( - title = "Commencer A", - description = "Description 1", + title = "Installation Debian", + description = "Installer la dernière version de Debian sur les Raspberry Pi.", order = 1, subjectId = subjectA.id, ), TaskEntity( - title = "Continuer A", - description = "Description 2", + title = "Connection de LEDs", + description = + "Utiliser les broches GPIO du Raspberry Pi pour brancher vos LEDs.\n" + + "N'oublier pas les résistances !", order = 2, - subjectId = subjectA.id + subjectId = subjectA.id, ), TaskEntity( - title = "Finir A", - description = "Description 3", + title = "IDLE Python", + description = "Installer l'éditeur basique Python avec 'apt install idle-python3.11'.", order = 3, - subjectId = subjectA.id + subjectId = subjectA.id, ), TaskEntity( - title = "Commencer B", - description = "Description 1", + title = "Clignotement de LEDs", + description = "Faite clignoter les différentes LEDs.", + order = 4, + subjectId = subjectA.id, + ), + TaskEntity( + title = "Feu Tricolore", + description = "Simuler un feu de circulation à l'aide de vos components.", + order = 5, + subjectId = subjectA.id, + ), + ) + + val ( + taskB1Id, + taskB2Id, + taskB3Id, + taskB4Id, + taskB5Id, + ) = database.taskDao().insert( + // Subject B + TaskEntity( + title = "Préparation Arduino", + description = "Préparer votre Arduino et assurer vous qu'il soit reconnu par votre ordinateur.", order = 1, subjectId = subjectB.id, ), TaskEntity( - title = "Finir B", - description = "Description 2", + title = "Connection de LEDs", + description = + "Utiliser les broches de votre Arduino pour brancher vos LEDs.\n" + + "N'oublier pas les résistances !", order = 2, subjectId = subjectB.id, - ) + ), + TaskEntity( + title = "IDE Arduino", + description = "Installer l'éditeur de code 'Arduino IDE'.", + order = 3, + subjectId = subjectB.id, + ), + TaskEntity( + title = "Clignotement de LEDs", + description = "Faite clignoter les différentes LEDs.", + order = 4, + subjectId = subjectB.id, + ), + TaskEntity( + title = "Feu Tricolore", + description = "Simuler un feu de circulation à l'aide de vos components.", + order = 5, + subjectId = subjectB.id, + ), ) val taskA1 = database.taskDao().getById(taskA1Id)!! val taskA2 = database.taskDao().getById(taskA2Id)!! val taskA3 = database.taskDao().getById(taskA3Id)!! + val taskA4 = database.taskDao().getById(taskA4Id)!! + val taskA5 = database.taskDao().getById(taskA5Id)!! + val taskB1 = database.taskDao().getById(taskB1Id)!! val taskB2 = database.taskDao().getById(taskB2Id)!! + val taskB3 = database.taskDao().getById(taskB3Id)!! + val taskB4 = database.taskDao().getById(taskB4Id)!! + val taskB5 = database.taskDao().getById(taskB5Id)!! } diff --git a/app/src/main/java/com/faraphel/tasks_valider/ui/screen/communication/connection/internet/role/client.kt b/app/src/main/java/com/faraphel/tasks_valider/ui/screen/communication/connection/internet/role/client.kt index 05b6565..3ec7087 100644 --- a/app/src/main/java/com/faraphel/tasks_valider/ui/screen/communication/connection/internet/role/client.kt +++ b/app/src/main/java/com/faraphel/tasks_valider/ui/screen/communication/connection/internet/role/client.kt @@ -16,6 +16,9 @@ import androidx.compose.ui.Modifier import androidx.compose.ui.text.input.KeyboardType import androidx.compose.ui.unit.dp import androidx.compose.ui.unit.sp +import androidx.navigation.compose.NavHost +import androidx.navigation.compose.composable +import androidx.navigation.compose.rememberNavController import com.faraphel.tasks_valider.connectivity.task.TaskClient import com.faraphel.tasks_valider.connectivity.task.session.TaskSession import com.faraphel.tasks_valider.ui.screen.communication.authentication.AuthenticationClientScreen @@ -27,22 +30,29 @@ import com.faraphel.tasks_valider.ui.screen.task.TaskSessionController @Composable fun CommunicationInternetClientScreen(activity: Activity) { + val controller = rememberNavController() + val client = remember { mutableStateOf(null) } val session = remember { mutableStateOf(null) } - // if the client is not connected, show the connection screen - if (client.value == null) - return CommunicationInternetClientContent(client) - // if the user is not authenticated, show the authentication screen - if (session.value == null) - return AuthenticationClientScreen(activity, client.value!!, session) - - // show the main screen - TaskSessionController( - activity, - client.value!!, - session.value!!.person, - ) + NavHost(controller, startDestination = "communication") { + composable("communication") { + CommunicationInternetClientContent(client) + if (client.value != null) controller.navigate("authentication") + } + composable("authentication") { + AuthenticationClientScreen(activity, client.value!!, session) + if (session.value != null) controller.navigate("session") + } + composable("session") { + // show the main screen + TaskSessionController( + activity, + client.value!!, + session.value!!.person, + ) + } + } } diff --git a/app/src/main/java/com/faraphel/tasks_valider/ui/screen/communication/connection/wifiP2p/role/client.kt b/app/src/main/java/com/faraphel/tasks_valider/ui/screen/communication/connection/wifiP2p/role/client.kt index a823f55..c9be389 100644 --- a/app/src/main/java/com/faraphel/tasks_valider/ui/screen/communication/connection/wifiP2p/role/client.kt +++ b/app/src/main/java/com/faraphel/tasks_valider/ui/screen/communication/connection/wifiP2p/role/client.kt @@ -6,33 +6,44 @@ import android.net.wifi.p2p.WifiP2pDevice import android.widget.Toast import androidx.compose.foundation.layout.Column import androidx.compose.runtime.* +import androidx.navigation.compose.NavHost +import androidx.navigation.compose.composable +import androidx.navigation.compose.rememberNavController import com.faraphel.tasks_valider.connectivity.bwd.BwdManager import com.faraphel.tasks_valider.connectivity.task.TaskClient import com.faraphel.tasks_valider.connectivity.task.session.TaskSession import com.faraphel.tasks_valider.ui.screen.communication.DEFAULT_SERVER_PORT import com.faraphel.tasks_valider.ui.screen.communication.authentication.AuthenticationClientScreen +import com.faraphel.tasks_valider.ui.screen.communication.connection.internet.role.CommunicationInternetClientContent import com.faraphel.tasks_valider.ui.screen.task.TaskSessionController import com.faraphel.tasks_valider.ui.widgets.connectivity.WifiP2pDeviceListWidget @Composable fun CommunicationWifiP2pClientScreen(activity: Activity, bwdManager: BwdManager) { + val controller = rememberNavController() + val client = remember { mutableStateOf(null) } val session = remember { mutableStateOf(null) } - // if the client is not connected, show the connection screen - if (client.value == null) - return CommunicationWifiP2pClientContent(activity, client, bwdManager) - // if the user is not authenticated, show the authentication screen - if (session.value == null) - return AuthenticationClientScreen(activity, client.value!!, session) - - // show the main screen - TaskSessionController( - activity, - client.value!!, - session.value!!.person, - ) + NavHost(controller, startDestination = "communication") { + composable("communication") { + CommunicationWifiP2pClientContent(activity, client, bwdManager) + if (client.value != null) controller.navigate("authentication") + } + composable("authentication") { + AuthenticationClientScreen(activity, client.value!!, session) + if (session.value != null) controller.navigate("session") + } + composable("session") { + // show the main screen + TaskSessionController( + activity, + client.value!!, + session.value!!.person, + ) + } + } } diff --git a/app/src/main/java/com/faraphel/tasks_valider/ui/screen/task/student.kt b/app/src/main/java/com/faraphel/tasks_valider/ui/screen/task/student.kt index e14d086..bc9c657 100644 --- a/app/src/main/java/com/faraphel/tasks_valider/ui/screen/task/student.kt +++ b/app/src/main/java/com/faraphel/tasks_valider/ui/screen/task/student.kt @@ -12,6 +12,7 @@ import androidx.compose.runtime.remember import androidx.compose.ui.Alignment import androidx.compose.ui.Modifier import androidx.compose.ui.text.font.FontWeight +import androidx.compose.ui.text.style.TextAlign import androidx.compose.ui.unit.dp import androidx.compose.ui.unit.sp import com.faraphel.tasks_valider.connectivity.task.TaskClient @@ -43,7 +44,7 @@ fun TaskStudentScreen( client, student, tasks, - validations + validations, ) }.start() @@ -105,7 +106,7 @@ fun TaskStudentScreen( client, student, tasks, - validations + validations, ) }.start() }