From 4af5683de66ce75e7659234c6320c3494579fd18 Mon Sep 17 00:00:00 2001 From: Takuya Nishizawa Date: Tue, 20 Jan 2026 07:36:45 +0900 Subject: [PATCH 1/3] =?UTF-8?q?UserSettings=E5=8F=96=E5=BE=97=E7=94=A8UseC?= =?UTF-8?q?ase=E3=81=AE=E8=BF=BD=E5=8A=A0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../domain/usecase/GetUserSettingsUseCase.kt | 7 +++++++ .../usecase/impl/GetUserSettingsUseCaseImpl.kt | 13 +++++++++++++ 2 files changed, 20 insertions(+) create mode 100644 AndroidApp/domain/src/main/kotlin/me/nya_n/notificationnotifier/domain/usecase/GetUserSettingsUseCase.kt create mode 100644 AndroidApp/domain/src/main/kotlin/me/nya_n/notificationnotifier/domain/usecase/impl/GetUserSettingsUseCaseImpl.kt diff --git a/AndroidApp/domain/src/main/kotlin/me/nya_n/notificationnotifier/domain/usecase/GetUserSettingsUseCase.kt b/AndroidApp/domain/src/main/kotlin/me/nya_n/notificationnotifier/domain/usecase/GetUserSettingsUseCase.kt new file mode 100644 index 00000000..21e2b904 --- /dev/null +++ b/AndroidApp/domain/src/main/kotlin/me/nya_n/notificationnotifier/domain/usecase/GetUserSettingsUseCase.kt @@ -0,0 +1,7 @@ +package me.nya_n.notificationnotifier.domain.usecase + +import me.nya_n.notificationnotifier.model.UserSettings + +interface GetUserSettingsUseCase { + operator fun invoke(): UserSettings +} \ No newline at end of file diff --git a/AndroidApp/domain/src/main/kotlin/me/nya_n/notificationnotifier/domain/usecase/impl/GetUserSettingsUseCaseImpl.kt b/AndroidApp/domain/src/main/kotlin/me/nya_n/notificationnotifier/domain/usecase/impl/GetUserSettingsUseCaseImpl.kt new file mode 100644 index 00000000..92067829 --- /dev/null +++ b/AndroidApp/domain/src/main/kotlin/me/nya_n/notificationnotifier/domain/usecase/impl/GetUserSettingsUseCaseImpl.kt @@ -0,0 +1,13 @@ +package me.nya_n.notificationnotifier.domain.usecase.impl + +import me.nya_n.notificationnotifier.data.repository.UserSettingsRepository +import me.nya_n.notificationnotifier.domain.usecase.GetUserSettingsUseCase +import me.nya_n.notificationnotifier.model.UserSettings + +class GetUserSettingsUseCaseImpl( + private val userSettingsRepository: UserSettingsRepository +) : GetUserSettingsUseCase { + override fun invoke(): UserSettings { + return userSettingsRepository.getUserSettings() + } +} \ No newline at end of file From f838118c0e32ed5b3dd32911c99bf02d2fb52930 Mon Sep 17 00:00:00 2001 From: Takuya Nishizawa Date: Tue, 20 Jan 2026 07:37:00 +0900 Subject: [PATCH 2/3] =?UTF-8?q?=E8=A8=AD=E5=AE=9A=E7=94=BB=E9=9D=A2?= =?UTF-8?q?=E3=81=AE=E5=88=9D=E6=9C=9F=E5=8C=96=E5=87=A6=E7=90=86=E3=82=92?= =?UTF-8?q?=E4=BF=AE=E6=AD=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../ui/screen/settings/SettingsViewModel.kt | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/AndroidApp/ui/src/main/kotlin/me/nya_n/notificationnotifier/ui/screen/settings/SettingsViewModel.kt b/AndroidApp/ui/src/main/kotlin/me/nya_n/notificationnotifier/ui/screen/settings/SettingsViewModel.kt index a3639600..33a716ab 100644 --- a/AndroidApp/ui/src/main/kotlin/me/nya_n/notificationnotifier/ui/screen/settings/SettingsViewModel.kt +++ b/AndroidApp/ui/src/main/kotlin/me/nya_n/notificationnotifier/ui/screen/settings/SettingsViewModel.kt @@ -8,6 +8,7 @@ import kotlinx.coroutines.flow.asStateFlow import kotlinx.coroutines.flow.update import kotlinx.coroutines.launch import me.nya_n.notificationnotifier.domain.usecase.ExportDataUseCase +import me.nya_n.notificationnotifier.domain.usecase.GetUserSettingsUseCase import me.nya_n.notificationnotifier.domain.usecase.ImportDataUseCase import me.nya_n.notificationnotifier.domain.usecase.LoadAddressUseCase import me.nya_n.notificationnotifier.domain.usecase.NotifyUseCase @@ -24,6 +25,7 @@ class SettingsViewModel( private val saveAddressUseCase: SaveAddressUseCase, private val notifyUseCase: NotifyUseCase, private val saveWifiOnlyNotificationSettingUseCase: SaveWifiOnlyNotificationSettingUseCase, + private val getUserSettingsUseCase: GetUserSettingsUseCase, private val exportDataUseCase: ExportDataUseCase, private val importDataUseCase: ImportDataUseCase ) : BaseViewModel() { @@ -34,7 +36,13 @@ class SettingsViewModel( init { viewModelScope.launch { - _uiState.update { it.copy(address = loadAddressUseCase()) } + val userSettings = getUserSettingsUseCase() + _uiState.update { + it.copy( + address = loadAddressUseCase(), + isWifiOnlyNotificationEnabled = userSettings.isWifiOnlyNotificationEnabled + ) + } } } From 085cced7981a358332d1f0bf9aba6152ff1d66da Mon Sep 17 00:00:00 2001 From: Takuya Nishizawa Date: Tue, 20 Jan 2026 07:37:17 +0900 Subject: [PATCH 3/3] =?UTF-8?q?DI=E6=9B=B4=E6=96=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../app/src/main/kotlin/me/nya_n/notificationnotifier/App.kt | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/AndroidApp/app/src/main/kotlin/me/nya_n/notificationnotifier/App.kt b/AndroidApp/app/src/main/kotlin/me/nya_n/notificationnotifier/App.kt index 428400f2..29b9f2de 100644 --- a/AndroidApp/app/src/main/kotlin/me/nya_n/notificationnotifier/App.kt +++ b/AndroidApp/app/src/main/kotlin/me/nya_n/notificationnotifier/App.kt @@ -15,6 +15,7 @@ import me.nya_n.notificationnotifier.domain.usecase.AddTargetAppUseCase import me.nya_n.notificationnotifier.domain.usecase.CheckPackageVisibilityUseCase import me.nya_n.notificationnotifier.domain.usecase.DeleteTargetAppUseCase import me.nya_n.notificationnotifier.domain.usecase.ExportDataUseCase +import me.nya_n.notificationnotifier.domain.usecase.GetUserSettingsUseCase import me.nya_n.notificationnotifier.domain.usecase.ImportDataUseCase import me.nya_n.notificationnotifier.domain.usecase.LoadAddressUseCase import me.nya_n.notificationnotifier.domain.usecase.LoadAppUseCase @@ -30,6 +31,7 @@ import me.nya_n.notificationnotifier.domain.usecase.impl.AddTargetAppUseCaseImpl import me.nya_n.notificationnotifier.domain.usecase.impl.CheckPackageVisibilityUseCaseImpl import me.nya_n.notificationnotifier.domain.usecase.impl.DeleteTargetAppUseCaseImpl import me.nya_n.notificationnotifier.domain.usecase.impl.ExportDataUseCaseImpl +import me.nya_n.notificationnotifier.domain.usecase.impl.GetUserSettingsUseCaseImpl import me.nya_n.notificationnotifier.domain.usecase.impl.ImportDataUseCaseImpl import me.nya_n.notificationnotifier.domain.usecase.impl.LoadAddressUseCaseImpl import me.nya_n.notificationnotifier.domain.usecase.impl.LoadAppUseCaseImpl @@ -96,7 +98,7 @@ class App : Application() { viewModel { SelectionViewModel(get(), get()) } viewModel { params -> DetailViewModel(get(), get(), get(), get(), params.get()) } viewModel { TargetViewModel(get()) } - viewModel { SettingsViewModel(get(), get(), get(), get(), get(), get(), get()) } + viewModel { SettingsViewModel(get(), get(), get(), get(), get(), get(), get(), get()) } // UseCase factory { AddTargetAppUseCaseImpl(get()) } @@ -120,5 +122,6 @@ class App : Application() { get() ) } + factory { GetUserSettingsUseCaseImpl(get()) } } } \ No newline at end of file