From 2f97e00b9f0cf5522de2ad17182a7dc053fe4f79 Mon Sep 17 00:00:00 2001 From: smayzy Date: Thu, 17 Apr 2025 12:22:09 +0200 Subject: [PATCH] initial commit --- .gitignore | 15 ++ .idea/.gitignore | 3 + .idea/AndroidProjectSystem.xml | 6 + .idea/deploymentTargetSelector.xml | 10 + .idea/gradle.xml | 19 ++ .idea/kotlinc.xml | 6 + .idea/migrations.xml | 10 + .idea/misc.xml | 9 + .idea/runConfigurations.xml | 17 ++ .idea/vcs.xml | 6 + app/.gitignore | 1 + app/build.gradle.kts | 48 +++++ app/proguard-rules.pro | 21 ++ .../ExampleInstrumentedTest.kt | 24 +++ app/src/main/AndroidManifest.xml | 26 +++ app/src/main/ic_launcher_app-playstore.png | Bin 0 -> 14770 bytes .../smayzy/i2d_project_15_app/MainActivity.kt | 24 +++ .../drawable/ic_launcher_app_foreground.xml | 15 ++ app/src/main/res/layout/activity_main.xml | 20 ++ .../res/mipmap-anydpi-v26/ic_launcher_app.xml | 5 + .../ic_launcher_app_round.xml | 5 + .../main/res/mipmap-hdpi/ic_launcher_app.webp | Bin 0 -> 1124 bytes .../mipmap-hdpi/ic_launcher_app_round.webp | Bin 0 -> 2724 bytes .../main/res/mipmap-mdpi/ic_launcher_app.webp | Bin 0 -> 824 bytes .../mipmap-mdpi/ic_launcher_app_round.webp | Bin 0 -> 1786 bytes .../res/mipmap-xhdpi/ic_launcher_app.webp | Bin 0 -> 1290 bytes .../mipmap-xhdpi/ic_launcher_app_round.webp | Bin 0 -> 3602 bytes .../res/mipmap-xxhdpi/ic_launcher_app.webp | Bin 0 -> 2216 bytes .../mipmap-xxhdpi/ic_launcher_app_round.webp | Bin 0 -> 6082 bytes .../res/mipmap-xxxhdpi/ic_launcher_app.webp | Bin 0 -> 2554 bytes .../mipmap-xxxhdpi/ic_launcher_app_round.webp | Bin 0 -> 7784 bytes app/src/main/res/values-fr/strings.xml | 5 + app/src/main/res/values-night/themes.xml | 7 + app/src/main/res/values/colors.xml | 7 + .../res/values/ic_launcher_app_background.xml | 4 + app/src/main/res/values/strings.xml | 5 + app/src/main/res/values/themes.xml | 11 ++ app/src/main/res/xml/backup_rules.xml | 13 ++ .../main/res/xml/data_extraction_rules.xml | 19 ++ .../i2d_project_15_app/ExampleUnitTest.kt | 17 ++ build.gradle.kts | 5 + gradle.properties | 23 +++ gradle/libs.versions.toml | 26 +++ gradle/wrapper/gradle-wrapper.jar | Bin 0 -> 59203 bytes gradle/wrapper/gradle-wrapper.properties | 6 + gradlew | 185 ++++++++++++++++++ gradlew.bat | 89 +++++++++ settings.gradle.kts | 23 +++ 48 files changed, 735 insertions(+) create mode 100644 .gitignore create mode 100644 .idea/.gitignore create mode 100644 .idea/AndroidProjectSystem.xml create mode 100644 .idea/deploymentTargetSelector.xml create mode 100644 .idea/gradle.xml create mode 100644 .idea/kotlinc.xml create mode 100644 .idea/migrations.xml create mode 100644 .idea/misc.xml create mode 100644 .idea/runConfigurations.xml create mode 100644 .idea/vcs.xml create mode 100644 app/.gitignore create mode 100644 app/build.gradle.kts create mode 100644 app/proguard-rules.pro create mode 100644 app/src/androidTest/java/ovh/smayzy/i2d_project_15_app/ExampleInstrumentedTest.kt create mode 100644 app/src/main/AndroidManifest.xml create mode 100644 app/src/main/ic_launcher_app-playstore.png create mode 100644 app/src/main/java/ovh/smayzy/i2d_project_15_app/MainActivity.kt create mode 100644 app/src/main/res/drawable/ic_launcher_app_foreground.xml create mode 100644 app/src/main/res/layout/activity_main.xml create mode 100644 app/src/main/res/mipmap-anydpi-v26/ic_launcher_app.xml create mode 100644 app/src/main/res/mipmap-anydpi-v26/ic_launcher_app_round.xml create mode 100644 app/src/main/res/mipmap-hdpi/ic_launcher_app.webp create mode 100644 app/src/main/res/mipmap-hdpi/ic_launcher_app_round.webp create mode 100644 app/src/main/res/mipmap-mdpi/ic_launcher_app.webp create mode 100644 app/src/main/res/mipmap-mdpi/ic_launcher_app_round.webp create mode 100644 app/src/main/res/mipmap-xhdpi/ic_launcher_app.webp create mode 100644 app/src/main/res/mipmap-xhdpi/ic_launcher_app_round.webp create mode 100644 app/src/main/res/mipmap-xxhdpi/ic_launcher_app.webp create mode 100644 app/src/main/res/mipmap-xxhdpi/ic_launcher_app_round.webp create mode 100644 app/src/main/res/mipmap-xxxhdpi/ic_launcher_app.webp create mode 100644 app/src/main/res/mipmap-xxxhdpi/ic_launcher_app_round.webp create mode 100644 app/src/main/res/values-fr/strings.xml create mode 100644 app/src/main/res/values-night/themes.xml create mode 100644 app/src/main/res/values/colors.xml create mode 100644 app/src/main/res/values/ic_launcher_app_background.xml create mode 100644 app/src/main/res/values/strings.xml create mode 100644 app/src/main/res/values/themes.xml create mode 100644 app/src/main/res/xml/backup_rules.xml create mode 100644 app/src/main/res/xml/data_extraction_rules.xml create mode 100644 app/src/test/java/ovh/smayzy/i2d_project_15_app/ExampleUnitTest.kt create mode 100644 build.gradle.kts create mode 100644 gradle.properties create mode 100644 gradle/libs.versions.toml create mode 100644 gradle/wrapper/gradle-wrapper.jar create mode 100644 gradle/wrapper/gradle-wrapper.properties create mode 100755 gradlew create mode 100644 gradlew.bat create mode 100644 settings.gradle.kts diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..aa724b7 --- /dev/null +++ b/.gitignore @@ -0,0 +1,15 @@ +*.iml +.gradle +/local.properties +/.idea/caches +/.idea/libraries +/.idea/modules.xml +/.idea/workspace.xml +/.idea/navEditor.xml +/.idea/assetWizardSettings.xml +.DS_Store +/build +/captures +.externalNativeBuild +.cxx +local.properties diff --git a/.idea/.gitignore b/.idea/.gitignore new file mode 100644 index 0000000..26d3352 --- /dev/null +++ b/.idea/.gitignore @@ -0,0 +1,3 @@ +# Default ignored files +/shelf/ +/workspace.xml diff --git a/.idea/AndroidProjectSystem.xml b/.idea/AndroidProjectSystem.xml new file mode 100644 index 0000000..4a53bee --- /dev/null +++ b/.idea/AndroidProjectSystem.xml @@ -0,0 +1,6 @@ + + + + + \ No newline at end of file diff --git a/.idea/deploymentTargetSelector.xml b/.idea/deploymentTargetSelector.xml new file mode 100644 index 0000000..b268ef3 --- /dev/null +++ b/.idea/deploymentTargetSelector.xml @@ -0,0 +1,10 @@ + + + + + + + + + \ No newline at end of file diff --git a/.idea/gradle.xml b/.idea/gradle.xml new file mode 100644 index 0000000..639c779 --- /dev/null +++ b/.idea/gradle.xml @@ -0,0 +1,19 @@ + + + + + + + \ No newline at end of file diff --git a/.idea/kotlinc.xml b/.idea/kotlinc.xml new file mode 100644 index 0000000..c224ad5 --- /dev/null +++ b/.idea/kotlinc.xml @@ -0,0 +1,6 @@ + + + + + \ No newline at end of file diff --git a/.idea/migrations.xml b/.idea/migrations.xml new file mode 100644 index 0000000..f8051a6 --- /dev/null +++ b/.idea/migrations.xml @@ -0,0 +1,10 @@ + + + + + + \ No newline at end of file diff --git a/.idea/misc.xml b/.idea/misc.xml new file mode 100644 index 0000000..b2c751a --- /dev/null +++ b/.idea/misc.xml @@ -0,0 +1,9 @@ + + + + + + + + \ No newline at end of file diff --git a/.idea/runConfigurations.xml b/.idea/runConfigurations.xml new file mode 100644 index 0000000..16660f1 --- /dev/null +++ b/.idea/runConfigurations.xml @@ -0,0 +1,17 @@ + + + + + + \ No newline at end of file diff --git a/.idea/vcs.xml b/.idea/vcs.xml new file mode 100644 index 0000000..94a25f7 --- /dev/null +++ b/.idea/vcs.xml @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/app/.gitignore b/app/.gitignore new file mode 100644 index 0000000..42afabf --- /dev/null +++ b/app/.gitignore @@ -0,0 +1 @@ +/build \ No newline at end of file diff --git a/app/build.gradle.kts b/app/build.gradle.kts new file mode 100644 index 0000000..f5afdcf --- /dev/null +++ b/app/build.gradle.kts @@ -0,0 +1,48 @@ +plugins { + alias(libs.plugins.android.application) + alias(libs.plugins.kotlin.android) +} + +android { + namespace = "ovh.smayzy.i2d_project_15_app" + compileSdk = 35 + + defaultConfig { + applicationId = "ovh.smayzy.i2d_project_15_app" + minSdk = 29 + targetSdk = 35 + 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_11 + targetCompatibility = JavaVersion.VERSION_11 + } + kotlinOptions { + jvmTarget = "11" + } +} + +dependencies { + + implementation(libs.androidx.core.ktx) + implementation(libs.androidx.appcompat) + implementation(libs.material) + implementation(libs.androidx.activity) + implementation(libs.androidx.constraintlayout) + testImplementation(libs.junit) + androidTestImplementation(libs.androidx.junit) + androidTestImplementation(libs.androidx.espresso.core) +} \ No newline at end of file diff --git a/app/proguard-rules.pro b/app/proguard-rules.pro new file mode 100644 index 0000000..481bb43 --- /dev/null +++ b/app/proguard-rules.pro @@ -0,0 +1,21 @@ +# Add project specific ProGuard rules here. +# You can control the set of applied configuration files using the +# proguardFiles setting in build.gradle. +# +# For more details, see +# http://developer.android.com/guide/developing/tools/proguard.html + +# If your project uses WebView with JS, uncomment the following +# and specify the fully qualified class name to the JavaScript interface +# class: +#-keepclassmembers class fqcn.of.javascript.interface.for.webview { +# public *; +#} + +# Uncomment this to preserve the line number information for +# debugging stack traces. +#-keepattributes SourceFile,LineNumberTable + +# If you keep the line number information, uncomment this to +# hide the original source file name. +#-renamesourcefileattribute SourceFile \ No newline at end of file diff --git a/app/src/androidTest/java/ovh/smayzy/i2d_project_15_app/ExampleInstrumentedTest.kt b/app/src/androidTest/java/ovh/smayzy/i2d_project_15_app/ExampleInstrumentedTest.kt new file mode 100644 index 0000000..6ac2616 --- /dev/null +++ b/app/src/androidTest/java/ovh/smayzy/i2d_project_15_app/ExampleInstrumentedTest.kt @@ -0,0 +1,24 @@ +package ovh.smayzy.i2d_project_15_app + +import androidx.test.platform.app.InstrumentationRegistry +import androidx.test.ext.junit.runners.AndroidJUnit4 + +import org.junit.Test +import org.junit.runner.RunWith + +import org.junit.Assert.* + +/** + * Instrumented test, which will execute on an Android device. + * + * See [testing documentation](http://d.android.com/tools/testing). + */ +@RunWith(AndroidJUnit4::class) +class ExampleInstrumentedTest { + @Test + fun useAppContext() { + // Context of the app under test. + val appContext = InstrumentationRegistry.getInstrumentation().targetContext + assertEquals("ovh.smayzy.i2d_project_15_app", appContext.packageName) + } +} \ No newline at end of file diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml new file mode 100644 index 0000000..f04f391 --- /dev/null +++ b/app/src/main/AndroidManifest.xml @@ -0,0 +1,26 @@ + + + + + + + + + + + + + + \ No newline at end of file diff --git a/app/src/main/ic_launcher_app-playstore.png b/app/src/main/ic_launcher_app-playstore.png new file mode 100644 index 0000000000000000000000000000000000000000..e0ad5098d2c55f735bd2bf488191f470ffff0e4f GIT binary patch literal 14770 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 KzEsok&i?}jurL__ literal 0 HcmV?d00001 diff --git a/app/src/main/java/ovh/smayzy/i2d_project_15_app/MainActivity.kt b/app/src/main/java/ovh/smayzy/i2d_project_15_app/MainActivity.kt new file mode 100644 index 0000000..8b10af4 --- /dev/null +++ b/app/src/main/java/ovh/smayzy/i2d_project_15_app/MainActivity.kt @@ -0,0 +1,24 @@ +package ovh.smayzy.i2d_project_15_app + +import android.os.Bundle +import android.util.Log +import androidx.activity.enableEdgeToEdge +import androidx.appcompat.app.AppCompatActivity +import android.widget.Button +import android.widget.Toast +import androidx.core.view.ViewCompat +import androidx.core.view.WindowInsetsCompat + +class MainActivity : AppCompatActivity() { + override fun onCreate(savedInstanceState: Bundle?) { + super.onCreate(savedInstanceState) + enableEdgeToEdge() + setContentView(R.layout.activity_main) + + val connectBtn = findViewById