diff --git a/Android/app/src/main/AndroidManifest.xml b/Android/app/src/main/AndroidManifest.xml
index f8c1bf6..d5eaf31 100644
--- a/Android/app/src/main/AndroidManifest.xml
+++ b/Android/app/src/main/AndroidManifest.xml
@@ -27,8 +27,8 @@
-
diff --git a/Android/app/src/main/java/com/example/mathseduc/ConnexionPlayerActivity.kt b/Android/app/src/main/java/com/example/mathseduc/ConnexionPlayerActivity.kt
index eb9cff8..d928f94 100644
--- a/Android/app/src/main/java/com/example/mathseduc/ConnexionPlayerActivity.kt
+++ b/Android/app/src/main/java/com/example/mathseduc/ConnexionPlayerActivity.kt
@@ -1,5 +1,6 @@
package com.example.mathseduc
+import android.content.Intent
import android.os.Bundle
import android.widget.Toast
import androidx.activity.ComponentActivity
@@ -10,6 +11,7 @@ import androidx.compose.foundation.layout.*
import androidx.compose.foundation.text.KeyboardOptions
import androidx.compose.material3.*
import androidx.compose.runtime.*
+import androidx.compose.runtime.saveable.rememberSaveable
import androidx.compose.ui.Alignment
import androidx.compose.ui.Modifier
import androidx.compose.ui.graphics.Color
@@ -36,9 +38,9 @@ class ConnexionPlayerActivity : ComponentActivity() {
@Composable
fun ConnexionPlayerContent() {
- var nickname by remember { mutableStateOf("") }
- var password by remember { mutableStateOf("") }
- var showDialog by remember { mutableStateOf(false) }
+ var nickname by rememberSaveable { mutableStateOf("") }
+ var password by rememberSaveable { mutableStateOf("") }
+ var showDialog by rememberSaveable { mutableStateOf(false) }
val context = LocalContext.current
@@ -87,6 +89,9 @@ fun ConnexionPlayerContent() {
onClick = {
val isAuthenticated = ControllerPlayer.authenticateUser(nickname, password)
if (isAuthenticated != -1) {
+ val intent = Intent(context, MainActivity::class.java)
+ context.startActivity(intent)
+
MainActivity.idPlayerConnected = isAuthenticated
Toast.makeText(context, "Connexion réussie, bienvenue $nickname !", Toast.LENGTH_SHORT).show()
} else {
diff --git a/Android/app/src/main/java/com/example/mathseduc/ServerDetailsActivity.kt b/Android/app/src/main/java/com/example/mathseduc/ServerDetailsActivity.kt
new file mode 100644
index 0000000..7bebd33
--- /dev/null
+++ b/Android/app/src/main/java/com/example/mathseduc/ServerDetailsActivity.kt
@@ -0,0 +1,221 @@
+package com.example.mathseduc
+
+import android.os.Bundle
+import android.os.Handler
+import android.os.Looper
+import android.widget.Toast
+import androidx.activity.ComponentActivity
+import androidx.activity.OnBackPressedCallback
+import androidx.activity.compose.setContent
+import androidx.compose.foundation.background
+import androidx.compose.foundation.layout.Arrangement
+import androidx.compose.foundation.layout.Column
+import androidx.compose.foundation.layout.fillMaxSize
+import androidx.compose.foundation.layout.fillMaxWidth
+import androidx.compose.foundation.layout.height
+import androidx.compose.foundation.layout.padding
+import androidx.compose.foundation.lazy.LazyColumn
+import androidx.compose.foundation.lazy.items
+import androidx.compose.foundation.shape.RoundedCornerShape
+import androidx.compose.material3.Button
+import androidx.compose.material3.ButtonDefaults
+import androidx.compose.material3.Text
+import androidx.compose.runtime.Composable
+import androidx.compose.runtime.DisposableEffect
+import androidx.compose.runtime.getValue
+import androidx.compose.runtime.mutableStateOf
+import androidx.compose.runtime.saveable.rememberSaveable
+import androidx.compose.runtime.setValue
+import androidx.compose.ui.Alignment
+import androidx.compose.ui.Modifier
+import androidx.compose.ui.draw.clip
+import androidx.compose.ui.graphics.Color
+import androidx.compose.ui.platform.LocalContext
+import androidx.compose.ui.text.font.FontWeight
+import androidx.compose.ui.unit.dp
+import androidx.compose.ui.unit.sp
+import com.example.mathseduc.controllers.ControllerLobby
+import com.example.mathseduc.controllers.ControllerPlayer
+import com.example.mathseduc.controllers.ControllerUtiliser
+import com.example.mathseduc.models.Player
+import com.example.mathseduc.ui.theme.Colors
+import okhttp3.MultipartBody
+
+class ServerDetailsActivity : ComponentActivity() {
+
+ private var playerList: List = emptyList()
+ private val handler = Handler(Looper.getMainLooper())
+ private val refreshInterval: Long = 2000
+
+ private val onBackPressedCallback: OnBackPressedCallback = object : OnBackPressedCallback(true) {
+ override fun handleOnBackPressed() {
+ myBackPressed()
+ }
+ }
+
+ override fun onCreate(savedInstanceState: Bundle?) {
+ super.onCreate(savedInstanceState)
+ setContent {
+ ServerDetailPage()
+ }
+
+ /*
+ onBackPressedDispatcher.addCallback(this, onBackPressedCallback)
+ //setContentView(R.layout.activity_server_details)
+
+ val serverName = intent.getStringExtra("serverName")
+
+ val serverNameTextView = findViewById(R.id.titleServerDetails)
+ serverNameTextView.text = serverName
+
+ val lobbyId = intent.getIntExtra("lobbyId", -1)
+
+ if (savedInstanceState != null) {
+ playerList = savedInstanceState?.getParcelableArrayList("playerList") ?: emptyList()
+ } else {
+ val playerId = ControllerPlayer.getPlayersIdFromLobbyId(lobbyId)
+ if (playerId != null) {
+ playerList = playerId.mapNotNull { playerId ->
+ ControllerPlayer.getPlayerInfoById(playerId.toString())
+ }
+ }
+ }
+
+ val listViewPlayers = findViewById(R.id.listViewPlayers)
+ playerAdapter = PlayerAdapter(this, playerList)
+ listViewPlayers.adapter = playerAdapter
+
+ handler.postDelayed(refreshRunnable, refreshInterval)
+
+ val btnLaunchQuiz = findViewById