diff --git a/app/build.gradle.kts b/app/build.gradle.kts index af21b7d7..c67e8a19 100644 --- a/app/build.gradle.kts +++ b/app/build.gradle.kts @@ -1,6 +1,8 @@ plugins { alias(libs.plugins.android.application) alias(libs.plugins.kotlin.android) + alias(libs.plugins.ksp) + alias(libs.plugins.hilt.android) } android { @@ -121,6 +123,10 @@ dependencies { implementation(libs.caverock.androidsvg)//https://bigbadaboom.github.io/androidsvg/release_notes.html implementation(libs.paho.mqtt.android) + //hilt + implementation(libs.hilt.android) + ksp(libs.hilt.android.compiler) + add("androidTestScreenshotImplementation", libs.junit) add("androidTestScreenshotImplementation", libs.fastlane.screengrab) add("androidTestScreenshotImplementation", libs.androidx.test.rules) diff --git a/app/src/main/java/de/rwth_aachen/phyphox/App.java b/app/src/main/java/de/rwth_aachen/phyphox/App.java deleted file mode 100644 index 5d8230b7..00000000 --- a/app/src/main/java/de/rwth_aachen/phyphox/App.java +++ /dev/null @@ -1,11 +0,0 @@ -package de.rwth_aachen.phyphox; - -import android.app.Application; - -import androidx.multidex.MultiDexApplication; - -//This extension to application is only used to store measured data in memory as this may easily exceed the amount of data allowed on the transaction stack - -public class App extends MultiDexApplication { - public PhyphoxExperiment experiment = null; -} diff --git a/app/src/main/java/de/rwth_aachen/phyphox/App.kt b/app/src/main/java/de/rwth_aachen/phyphox/App.kt new file mode 100644 index 00000000..b16162f1 --- /dev/null +++ b/app/src/main/java/de/rwth_aachen/phyphox/App.kt @@ -0,0 +1,13 @@ +package de.rwth_aachen.phyphox + +import androidx.multidex.MultiDexApplication +import dagger.hilt.android.HiltAndroidApp + +//This extension to application is only used to store measured data in memory as this may easily exceed the amount of data allowed on the transaction stack +@HiltAndroidApp +class App : MultiDexApplication() { + + //Need to get rid off of this ASAP + @JvmField + var experiment: PhyphoxExperiment? = null +} diff --git a/app/src/main/java/de/rwth_aachen/phyphox/SettingsActivity/SettingsActivity.java b/app/src/main/java/de/rwth_aachen/phyphox/SettingsActivity/SettingsActivity.java index 4e74c56a..d9cd7fa6 100644 --- a/app/src/main/java/de/rwth_aachen/phyphox/SettingsActivity/SettingsActivity.java +++ b/app/src/main/java/de/rwth_aachen/phyphox/SettingsActivity/SettingsActivity.java @@ -12,11 +12,12 @@ import android.view.ViewGroup; +import dagger.hilt.android.AndroidEntryPoint; import de.rwth_aachen.phyphox.Helper.Helper; import de.rwth_aachen.phyphox.Helper.WindowInsetHelper; import de.rwth_aachen.phyphox.R; - +@AndroidEntryPoint public class SettingsActivity extends AppCompatActivity { @Override protected void onCreate(Bundle savedInstanceState) { diff --git a/app/src/main/java/de/rwth_aachen/phyphox/di/AppModule.kt b/app/src/main/java/de/rwth_aachen/phyphox/di/AppModule.kt new file mode 100644 index 00000000..bda88bd7 --- /dev/null +++ b/app/src/main/java/de/rwth_aachen/phyphox/di/AppModule.kt @@ -0,0 +1,10 @@ +package de.rwth_aachen.phyphox.di + +import dagger.Module +import dagger.hilt.InstallIn +import dagger.hilt.components.SingletonComponent + +@Module(includes = []) +@InstallIn(SingletonComponent::class) +abstract class AppModule {} + diff --git a/build.gradle.kts b/build.gradle.kts index 7f09f7c5..58f44467 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -2,4 +2,6 @@ plugins { alias(libs.plugins.android.application) apply false alias(libs.plugins.kotlin.android) apply false + alias(libs.plugins.hilt.android) apply false + alias(libs.plugins.ksp) apply false } diff --git a/gradle/libs.versions.toml b/gradle/libs.versions.toml index 98457d4c..2a8fbd68 100644 --- a/gradle/libs.versions.toml +++ b/gradle/libs.versions.toml @@ -6,7 +6,8 @@ targetSdk = "35" # Plugin Versions androidGradlePlugin = "8.13.2" -kotlin = "2.3.0" +kotlin = "2.2.21" +ksp = "2.2.10-2.0.2" # Dependency Versions multidex = "2.0.1" @@ -15,7 +16,7 @@ annotation = "1.9.1" appcompat = "1.7.1" preference = "1.2.1" core = "1.16.0" -fragment = "1.8.8" +fragment = "1.8.9" viewpager = "1.1.0" commonsIo = "1.3.2" zxing = "3.5.0" @@ -27,11 +28,12 @@ recyclerviewSelection = "1.2.0" junit = "4.13.2" screengrab = "2.1.1" testRules = "1.6.1" -testExtJunit = "1.2.1" +testExtJunit = "1.3.0" espresso = "3.6.1" truth = "1.0.1" pahoMqtt = "4.4" camerax = "1.4.2" +hilt-android = "2.57.2" [libraries] androidx-multidex = { group = "androidx.multidex", name = "multidex", version.ref = "multidex" } @@ -65,9 +67,15 @@ androidx-camera-camera2 = { group = "androidx.camera", name = "camera-camera2", androidx-camera-lifecycle = { group = "androidx.camera", name = "camera-lifecycle", version.ref = "camerax" } androidx-camera-view = { group = "androidx.camera", name = "camera-view", version.ref = "camerax" } +#hilt-android +hilt-android = { group = "com.google.dagger", name = "hilt-android", version.ref = "hilt-android" } +hilt-android-compiler = { group = "com.google.dagger", name = "hilt-android-compiler", version.ref = "hilt-android" } + [plugins] android-application = { id = "com.android.application", version.ref = "androidGradlePlugin" } kotlin-android = { id = "org.jetbrains.kotlin.android", version.ref = "kotlin" } +hilt-android = { id = "com.google.dagger.hilt.android", version.ref = "hilt-android" } +ksp = { id = "com.google.devtools.ksp", version.ref = "ksp" } [bundles] camerax = ["androidx-camera-core", "androidx-camera-camera2", "androidx-camera-lifecycle", "androidx-camera-view"]