Merge branch 'master' of https://codefirst.iut.uca.fr/git/jade.van_brabandt/3.01-QCM_MuscuMaths
continuous-integration/drone/push Build is passing
Details
continuous-integration/drone/push Build is passing
Details
commit
e5c118d88b
@ -1,46 +0,0 @@
|
|||||||
plugins {
|
|
||||||
id("com.android.application")
|
|
||||||
id("org.jetbrains.kotlin.android")
|
|
||||||
}
|
|
||||||
|
|
||||||
android {
|
|
||||||
namespace = "com.example.mathseduc"
|
|
||||||
compileSdk = 34
|
|
||||||
|
|
||||||
defaultConfig {
|
|
||||||
applicationId = "com.example.mathseduc"
|
|
||||||
minSdk = 21
|
|
||||||
targetSdk = 34
|
|
||||||
versionCode = 1
|
|
||||||
versionName = "1.0"
|
|
||||||
|
|
||||||
testInstrumentationRunner = "androidx.test.runner.AndroidJUnitRunner"
|
|
||||||
}
|
|
||||||
|
|
||||||
buildTypes {
|
|
||||||
release {
|
|
||||||
isMinifyEnabled = false
|
|
||||||
proguardFiles(
|
|
||||||
getDefaultProguardFile("proguard-android-optimize.txt"),
|
|
||||||
"proguard-rules.pro"
|
|
||||||
)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
compileOptions {
|
|
||||||
sourceCompatibility = JavaVersion.VERSION_1_8
|
|
||||||
targetCompatibility = JavaVersion.VERSION_1_8
|
|
||||||
}
|
|
||||||
kotlinOptions {
|
|
||||||
jvmTarget = "1.8"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
dependencies {
|
|
||||||
|
|
||||||
implementation("androidx.core:core-ktx:1.12.0")
|
|
||||||
implementation("androidx.appcompat:appcompat:1.6.1")
|
|
||||||
implementation("com.google.android.material:material:1.11.0")
|
|
||||||
testImplementation("junit:junit:4.13.2")
|
|
||||||
androidTestImplementation("androidx.test.ext:junit:1.1.5")
|
|
||||||
androidTestImplementation("androidx.test.espresso:espresso-core:3.5.1")
|
|
||||||
}
|
|
@ -0,0 +1,40 @@
|
|||||||
|
package com.example.mathseduc.controllers
|
||||||
|
|
||||||
|
import android.os.StrictMode
|
||||||
|
import com.example.mathseduc.models.Lobby
|
||||||
|
import com.google.gson.Gson
|
||||||
|
import com.google.gson.reflect.TypeToken
|
||||||
|
import okhttp3.OkHttpClient
|
||||||
|
import okhttp3.Request
|
||||||
|
import java.io.IOException
|
||||||
|
|
||||||
|
class ControllerLobby {
|
||||||
|
companion object {
|
||||||
|
fun getLobbies(): ArrayList<Lobby>? {
|
||||||
|
|
||||||
|
val policy = StrictMode.ThreadPolicy.Builder().permitAll().build()
|
||||||
|
StrictMode.setThreadPolicy(policy)
|
||||||
|
|
||||||
|
// Client HTTP API
|
||||||
|
val client = OkHttpClient()
|
||||||
|
|
||||||
|
// API Access
|
||||||
|
val request = Request.Builder()
|
||||||
|
.url("https://trusting-panini.87-106-126-109.plesk.page/api/all/lobbies/qUOGkWdoPCgbmuqxIC8xiaX0rV1Pw1LoPafkaoHOgszEyD9P2vcOu493xCDZpAqO/1")
|
||||||
|
.build()
|
||||||
|
|
||||||
|
// API Response
|
||||||
|
client.newCall(request).execute().use { response ->
|
||||||
|
if (!response.isSuccessful) throw IOException("Unexpected code $response")
|
||||||
|
|
||||||
|
// Gson deserialization
|
||||||
|
val gson = Gson()
|
||||||
|
val typeTokenProduct = object : TypeToken<ArrayList<Lobby>>() {}.type
|
||||||
|
|
||||||
|
return gson.fromJson(response.body!!.string(), typeTokenProduct)
|
||||||
|
}
|
||||||
|
|
||||||
|
return null
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
@ -0,0 +1,11 @@
|
|||||||
|
package com.example.mathseduc.models
|
||||||
|
|
||||||
|
data class Lobby(
|
||||||
|
val id: String,
|
||||||
|
val name: String,
|
||||||
|
val password: String,
|
||||||
|
val nbplayers: Int,
|
||||||
|
val idplayercreator: String,
|
||||||
|
val idchapter: Int,
|
||||||
|
val difficulty: Int
|
||||||
|
)
|
@ -0,0 +1,52 @@
|
|||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
|
||||||
|
android:layout_width="match_parent"
|
||||||
|
android:layout_height="60dp" >
|
||||||
|
|
||||||
|
<LinearLayout
|
||||||
|
android:layout_width="match_parent"
|
||||||
|
android:layout_height="match_parent"
|
||||||
|
android:orientation="horizontal"
|
||||||
|
android:paddingLeft="10dp"
|
||||||
|
android:paddingRight="10dp"
|
||||||
|
android:paddingTop="4dp">
|
||||||
|
|
||||||
|
<TextView
|
||||||
|
android:id="@+id/name"
|
||||||
|
android:layout_width="0dp"
|
||||||
|
android:layout_height="match_parent"
|
||||||
|
android:layout_weight="0.4"
|
||||||
|
android:gravity="left|center_vertical"
|
||||||
|
android:text="Name"
|
||||||
|
android:textSize="16dp" />
|
||||||
|
|
||||||
|
<TextView
|
||||||
|
android:id="@+id/nbplayers"
|
||||||
|
android:layout_width="0dp"
|
||||||
|
android:layout_weight="0.2"
|
||||||
|
android:layout_height="match_parent"
|
||||||
|
android:gravity="center|bottom"
|
||||||
|
android:textSize="10dp"
|
||||||
|
android:text="NbPlayers"/>
|
||||||
|
|
||||||
|
<TextView
|
||||||
|
android:id="@+id/difficulty"
|
||||||
|
android:layout_width="0dp"
|
||||||
|
android:layout_weight="0.2"
|
||||||
|
android:layout_height="match_parent"
|
||||||
|
android:gravity="center|bottom"
|
||||||
|
android:textSize="10dp"
|
||||||
|
android:text="Difficulty"/>
|
||||||
|
|
||||||
|
<TextView
|
||||||
|
android:id="@+id/idchapter"
|
||||||
|
android:layout_width="0dp"
|
||||||
|
android:layout_weight="0.2"
|
||||||
|
android:layout_height="match_parent"
|
||||||
|
android:gravity="center|center_vertical"
|
||||||
|
android:textSize="10dp"
|
||||||
|
android:text="idChapter"/>
|
||||||
|
|
||||||
|
</LinearLayout>
|
||||||
|
|
||||||
|
</FrameLayout>
|
@ -1,5 +0,0 @@
|
|||||||
// Top-level build file where you can add configuration options common to all sub-projects/modules.
|
|
||||||
plugins {
|
|
||||||
id("com.android.application") version "8.2.2" apply false
|
|
||||||
id("org.jetbrains.kotlin.android") version "1.9.22" apply false
|
|
||||||
}
|
|
Loading…
Reference in new issue