- Modularised the app to share more setup

- Fixed failing UI tests
This commit is contained in:
2024-07-03 18:27:50 +01:00
parent ae9c9f4eb8
commit 4fc13dc40f
7 changed files with 2 additions and 67 deletions

View File

@@ -27,6 +27,7 @@ class SnapshotCaptureTest : BaseTest<MainActivity>(MainActivity::class.java) {
super.testFinished()
clearLocation("London")
clearDatabase()
clearPrefs()
}

View File

@@ -5,7 +5,6 @@
<uses-permission android:name="android.permission.POST_NOTIFICATIONS" />
<application
android:name="com.appttude.h_mal.atlas_weather.application.AtlasApp"
android:allowBackup="true"
android:icon="@mipmap/ic_launcher"
android:label="@string/app_name"

View File

@@ -1,46 +0,0 @@
package com.appttude.h_mal.atlas_weather.application
import com.appttude.h_mal.atlas_weather.service.notification.NotificationHelper
import com.appttude.h_mal.atlas_weather.service.notification.NotificationService
import org.kodein.di.generic.bind
import org.kodein.di.generic.instance
import org.kodein.di.generic.provider
import org.kodein.di.generic.singleton
open class AtlasApp : AppClass() {
private lateinit var notificationService: NotificationService
override val flavourModule = super.flavourModule.copy {
bind() from singleton {
NotificationHelper(
instance(),
instance(),
)
}
bind() from singleton {
NotificationService(this@AtlasApp).apply { notificationService = this }
}
bind() from provider {
ApplicationViewModelFactory(
this@AtlasApp,
instance(),
instance(),
instance(),
instance()
)
}
}
// override fun onCreate() {
// super.onCreate()
// notificationService.schedulePushNotifications()
// }
fun scheduleNotifications() = notificationService.schedulePushNotifications()
fun unscheduleNotifications() = notificationService.unschedulePushNotifications()
}

View File

@@ -18,6 +18,7 @@
android:required="true" />
<application
android:name="com.appttude.h_mal.atlas_weather.application.AppClass"
android:networkSecurityConfig="@xml/network_security_config"
tools:ignore="MissingApplicationIcon" />

View File

@@ -3,7 +3,6 @@
xmlns:tools="http://schemas.android.com/tools">
<application
android:name="com.appttude.h_mal.atlas_weather.application.MonoApp"
android:allowBackup="true"
android:icon="@mipmap/ic_launcher"
android:label="@string/app_name"

View File

@@ -1,19 +0,0 @@
package com.appttude.h_mal.atlas_weather.application
import org.kodein.di.generic.bind
import org.kodein.di.generic.instance
import org.kodein.di.generic.provider
open class MonoApp : AppClass() {
override val flavourModule = super.flavourModule.copy {
bind() from provider {
ApplicationViewModelFactory(
this@MonoApp,
instance(),
instance(),
instance(),
)
}
}
}