diff --git a/gitignore b/.gitignore
similarity index 100%
rename from gitignore
rename to .gitignore
diff --git a/.gitignore.txt b/.gitignore.txt
deleted file mode 100644
index 16dcd12266258c807ca1406edf3ab951248f7d05..0000000000000000000000000000000000000000
--- a/.gitignore.txt
+++ /dev/null
@@ -1,33 +0,0 @@
-# Gradle files
-.gradle/
-build/
-
-# Local configuration file (sdk path, etc)
-local.properties
-
-# Log/OS Files
-*.log
-
-# Android Studio generated files and folders
-captures/
-.externalNativeBuild/
-.cxx/
-*.apk
-output.json
-
-# IntelliJ
-*.iml
-.idea/
-misc.xml
-deploymentTargetDropDown.xml
-render.experimental.xml
-
-# Keystore files
-*.jks
-*.keystore
-
-# Google Services (e.g. APIs or Firebase)
-google-services.json
-
-# Android Profiling
-*.hprof
\ No newline at end of file
diff --git a/android/.gradle/8.7/fileHashes/resourceHashesCache.bin b/android/.gradle/8.7/fileHashes/resourceHashesCache.bin
index 8464287dbf65fc8325802af6774fc1e247de64ec..3b95043c4405876ff92b904add81c06628e57d63 100644
Binary files a/android/.gradle/8.7/fileHashes/resourceHashesCache.bin and b/android/.gradle/8.7/fileHashes/resourceHashesCache.bin differ
diff --git a/android/.gradle/config.properties b/android/.gradle/config.properties
index e9c157499e134a4bbaff0428c384f0cae80fe946..30c0a2b58dfe50357b57d33235fad6392451fd7e 100644
--- a/android/.gradle/config.properties
+++ b/android/.gradle/config.properties
@@ -1,2 +1,2 @@
-#Tue Sep 17 15:19:00 CEST 2024
-java.home=C\:\\Program Files\\Android\\Android Studio\\jbr
+#Mon Feb 17 09:52:00 CET 2025
+java.home=/home/johannes/android-studio/jbr
diff --git a/android/.idea/deploymentTargetSelector.xml b/android/.idea/deploymentTargetSelector.xml
deleted file mode 100644
index 472eb5b3d257087680780bbe8356ca7ca03eb938..0000000000000000000000000000000000000000
--- a/android/.idea/deploymentTargetSelector.xml
+++ /dev/null
@@ -1,18 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<project version="4">
-  <component name="deploymentTargetSelector">
-    <selectionStates>
-      <SelectionState runConfigName="app">
-        <option name="selectionMode" value="DROPDOWN" />
-        <DropdownSelection timestamp="2025-02-13T09:40:54.759818500Z">
-          <Target type="DEFAULT_BOOT">
-            <handle>
-              <DeviceId pluginId="LocalEmulator" identifier="path=C:\Users\cylin\.android\avd\Pixel_Tablet_API_35.avd" />
-            </handle>
-          </Target>
-        </DropdownSelection>
-        <DialogSelection />
-      </SelectionState>
-    </selectionStates>
-  </component>
-</project>
\ No newline at end of file
diff --git a/android/app/build.gradle.kts b/android/app/build.gradle.kts
index be3b76a346deab6d3277248c864d306c98a73edc..e1e8d6c25d6bdfcca57a130338d671cec9a539b4 100644
--- a/android/app/build.gradle.kts
+++ b/android/app/build.gradle.kts
@@ -52,60 +52,47 @@ android {
 
 dependencies {
 
-    implementation("androidx.core:core-ktx:1.12.0")
-    implementation("androidx.lifecycle:lifecycle-runtime-ktx:2.7.0")
-    implementation("androidx.activity:activity-compose:1.8.2")
-    implementation(platform("androidx.compose:compose-bom:2023.08.00"))
-    implementation("androidx.compose.ui:ui")
-    implementation("androidx.compose.ui:ui-graphics")
-    implementation("androidx.compose.ui:ui-tooling-preview")
-    implementation("androidx.compose.material3:material3-android:1.2.1")
-    implementation("androidx.lifecycle:lifecycle-viewmodel-compose:2.7.0")
-    implementation("androidx.navigation:navigation-runtime-ktx:2.7.7")
-    implementation("androidx.navigation:navigation-compose:2.7.7")
-    testImplementation("junit:junit:4.13.2")
-    androidTestImplementation("androidx.test.ext:junit:1.1.5")
-    androidTestImplementation("androidx.test.espresso:espresso-core:3.5.1")
-    androidTestImplementation(platform("androidx.compose:compose-bom:2023.08.00"))
-    androidTestImplementation("androidx.compose.ui:ui-test-junit4")
-    debugImplementation("androidx.compose.ui:ui-tooling")
-    debugImplementation("androidx.compose.ui:ui-test-manifest")
+    implementation(libs.core.ktx)
+    implementation(libs.lifecycle.runtime.ktx)
+    implementation(libs.activity.compose)
+    implementation(platform(libs.compose.bom))
+    implementation(libs.compose.ui)
+    implementation(libs.compose.ui.graphics)
+    implementation(libs.compose.ui.tooling.preview)
+    implementation(libs.compose.material3)
+    implementation(libs.lifecycle.viewmodel.compose)
+    implementation(libs.navigation.runtime.ktx)
+    implementation(libs.navigation.compose)
+    implementation(libs.google.material)
+    implementation(libs.media3.exoplayer)
+    implementation(libs.media3.exoplayer.dash)
+    implementation(libs.media3.ui)
+    implementation(libs.media3.common)
+    implementation(libs.media3.exoplayer.hls)
+    implementation(libs.compose.material.icons.core)
+    implementation(libs.compose.material.icons.extended)
+    implementation(libs.compose.runtime.livedata)
+    implementation(libs.datastore)
+
+    //implementation ("androidx.datastore:datastore-preferences-rxjava2:1.1.1")
+    //implementation ("androidx.datastore:datastore-preferences-rxjava3:1.1.1")
+    implementation(libs.core.splashscreen)
+    implementation(libs.compose.material)
+    implementation(libs.compose.ui.tooling.preview)
+    implementation(libs.lifecycle.runtime.ktx)
+    implementation(libs.lifecycle.viewmodel.compose)
+    implementation(libs.compose.animation)
+    implementation(libs.compose.material.icons.extended)
+    implementation(libs.gson)
+    implementation(libs.numberpicker)
+    implementation(libs.reorderable)
+
+    testImplementation(libs.junit.test)
+    androidTestImplementation(libs.junit)
+    androidTestImplementation(libs.espresso)
+    androidTestImplementation(platform(libs.compose.bom))
+    androidTestImplementation(libs.junit4)
+    debugImplementation(libs.compose.ui.tooling)
+    debugImplementation(libs.compose.ui.test.manifest)
 
-    implementation("com.google.android.material:material:1.12.0")
-
-    implementation("androidx.media3:media3-exoplayer:1.3.1")
-    implementation("androidx.media3:media3-exoplayer-dash:1.3.1")
-    implementation("androidx.media3:media3-ui:1.3.1")
-
-
-    implementation ("androidx.media3:media3-common:1.3.1")
-    implementation ("androidx.media3:media3-exoplayer:1.3.1")
-    implementation ("androidx.media3:media3-exoplayer-hls:1.3.1")
-
-    implementation ("androidx.compose.material:material-icons-core:1.6.7")
-    implementation ("androidx.compose.material:material-icons-extended:1.6.7")
-
-    implementation ("androidx.compose.runtime:runtime-livedata:1.6.7")
-
-    implementation ("androidx.datastore:datastore-preferences:1.1.1")
-
-    implementation ("androidx.datastore:datastore-preferences-rxjava2:1.1.1")
-    implementation ("androidx.datastore:datastore-preferences-rxjava3:1.1.1")
-    implementation ("androidx.core:core-splashscreen:1.0.1")
-
-    implementation ("com.google.code.gson:gson:2.8.8")
-
-    implementation ("androidx.core:core-ktx:1.9.0")
-    implementation ("androidx.activity:activity-compose:1.6.0")
-    implementation ("androidx.compose.ui:ui:1.3.0")
-    implementation ("androidx.compose.material:material:1.3.0")
-    implementation ("androidx.compose.ui:ui-tooling-preview:1.3.0")
-    implementation ("androidx.lifecycle:lifecycle-runtime-ktx:2.5.1")
-    implementation ("androidx.lifecycle:lifecycle-viewmodel-compose:2.5.1")
-
-    implementation("sh.calvin.reorderable:reorderable:2.3.3")
-    implementation ("androidx.compose.animation:animation:1.7.5")
-    implementation("androidx.compose.material:material-icons-extended") // 1.7.5
-
-    implementation("com.chargemap.compose:numberpicker:1.0.3")
 }
\ No newline at end of file
diff --git a/android/gradle/libs.versions.toml b/android/gradle/libs.versions.toml
new file mode 100644
index 0000000000000000000000000000000000000000..652aba93f702e2dce0ce93be75a45f3a590ab56e
--- /dev/null
+++ b/android/gradle/libs.versions.toml
@@ -0,0 +1,95 @@
+[versions]
+
+compileSdk = "34"
+minSdk = "28"
+targetSdk = "34"
+
+core-ktx = "1.12.0"
+lifecycle-runtime = "2.7.0"
+
+lifecycle-viewmodel-compose = "2.7.0"
+activity-compose = "1.8.2"
+compose-bom = "2023.08.00"
+compose-material3 = "1.2.1"
+numberpicker = "1.0.3"
+compose-material-icons-core = "1.7.5"
+compose-animation = "1.7.5"
+reorderable = "2.3.3"
+navigation-runtime-ktx = "2.7.7"
+navigation-compose = "2.7.7"
+compose-ui-tooling-preview = "1.3.0"
+compose-material = "1.3.0"
+compose-ui = "1.3.0"
+google-material = "1.12.0"
+gson = "2.8.8"
+android-core-splashscreen = "1.0.1"
+media3-exoplayer-dash = "1.3.1"
+media3-ui = "1.3.1"
+media3-common = "1.3.1"
+media3-exoplayer = "1.3.1"
+media3-exoplayer-hls = "1.3.1"
+compose-material-icons-extended = "1.6.7"
+datastore = "1.1.1"
+runtime-livedata = "1.6.7"
+espresso = "3.5.1"
+junit = "1.1.5"
+junit-test = "4.13.2"
+
+[plugins]
+android-application = { id = "com.android.applicaiton", version = "8.6.1"}
+kotlin-android = { id = "org.jetbrains.kotlin.android", version = "1.9.0" }
+google-relay = { id = "com.google.relay", version = "0.3.11" }
+
+[libraries]
+
+
+core-ktx = { module = "androidx.core:core-ktx", version.ref = "core-ktx" }
+core-splashscreen = { module = "androidx.core:core-splashscreen", version.ref = "android-core-splashscreen" }
+
+lifecycle-runtime-ktx = { module = "androidx.lifecycle:lifecycle-runtime-ktx", version.ref = "lifecycle-runtime" }
+lifecycle-viewmodel-compose = { module = "androidx.lifecycle:lifecycle-viewmodel-compose", version.ref = "lifecycle-viewmodel-compose" }
+
+activity-compose = { module = "androidx.activity:activity-compose", version.ref = "activity-compose" }
+
+navigation-runtime-ktx = { module = "androidx.navigation:navigation-runtime-ktx", version.ref = "navigation-runtime-ktx" }
+navigation-compose = { module = "androidx.navigation:navigation-compose", version.ref = "navigation-compose" }
+
+google-material = { module = "com.google.android.material:material", version.ref = "google-material" }
+media3-exoplayer-dash = { module = "androidx.media3:media3-exoplayer-dash", version.ref = "media3-exoplayer-dash" }
+media3-ui = { module = "androidx.media3:media3-ui", version.ref = "media3-ui" }
+media3-common = { module = "androidx.media3:media3-common", version.ref = "media3-common" }
+media3-exoplayer = { module = "androidx.media3:media3-exoplayer", version.ref = "media3-exoplayer" }
+media3-exoplayer-hls = { module = "androidx.media3:media3-exoplayer-hls", version.ref = "media3-exoplayer-hls" }
+
+compose-bom = { module = "androidx.compose:compose.bom", version.ref = "compose-bom" }
+compose-ui-graphics = { module = "androidx.compose.ui:ui-graphics" }
+compose-material3 = { module = "androidx.compose.material3:material3-android", version.ref = "compose-material3" }
+compose-material-icons-core = { module = "androidx.compose.material:material-icons-core", version.ref = "compose-material-icons-core" }
+compose-runtime-livedata = { module = "androidx.compose.runtime:runtime-livedata", version.ref = "runtime-livedata" }
+compose-ui = { module = "androidx.compose.ui:ui", version.ref ="compose-ui" }
+compose-material = { module = "androidx.compose.material:material", version.ref ="compose-material" }
+compose-ui-tooling-preview = { module = "androidx.compose.ui:ui-tooling-preview", version.ref ="compose-ui-tooling-preview" }
+compose-animation = { module = "androidx.compose.animation:animation", version.ref ="compose-animation" }
+compose-material-icons-extended = { module = "androidx.compose.material:material-icons-extended", version.ref ="compose-material-icons-extended" }    
+
+
+datastore = { module = "androidx.datastore:datastore-preferences", version.ref = "datastore" }
+gson = { module = "com.google.code.gson:gson", version.ref = "gson" }
+reorderable = { module = "sh.calvin.reorderable:reorderable", version.ref ="reorderable" }    
+numberpicker = { module = "com.chargemap.compose:numberpicker", version.ref ="numberpicker" }
+
+    # implementation ("androidx.datastore:datastore-preferences-rxjava2:1.1.1")
+    # implementation ("androidx.datastore:datastore-preferences-rxjava3:1.1.1")
+
+# testImplementation
+junit-test = { module = "junit:junit", version.ref ="junit-test" }
+
+# androidTestImplementation
+junit = { module = "androidx.test.ext:junit", version.ref ="junit" }
+espresso = { module = "androidx.test.espresso:espresso-core", version.ref ="espresso" }
+compose-bom-test = { module = "androidx.compose:compose-bom", version.ref ="compose-bom" }
+junit4 = { module = "androidx.compose.ui:ui-test-junit4" }
+
+# debugImplementation
+compose-ui-tooling = { module = "androidx.compose.ui:ui-tooling" }
+compose-ui-test-manifest = { module = "androidx.compose.ui:ui-test-manifest" }