Skip to content

Commit

Permalink
fix: SafeSearchに関するダイアログの表示条件を修正
Browse files Browse the repository at this point in the history
  • Loading branch information
pantasystem committed Sep 9, 2024
1 parent 8dfea3d commit 9646eb2
Show file tree
Hide file tree
Showing 2 changed files with 22 additions and 2 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -27,6 +27,7 @@ class SafeSearchDescriptionDialog : DialogFragment() {
.setTitle(R.string.safe_search_description_dialog_title)
.setMessage(R.string.safe_search_description_dialog_message)
.setPositiveButton(R.string.safe_search_description_dialog_positive_button) { _, _ ->
mainViewModel.onGoToSettingSafeSearchButtonClicked()
val intent = Intent(requireContext(), SettingMovementActivity::class.java)
intent.putExtra(SettingMovementActivity.EXTRA_HIGHLIGHT_SAFE_SEARCH, true)
startActivity(intent)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,17 @@ import com.google.firebase.crashlytics.FirebaseCrashlytics
import dagger.hilt.android.lifecycle.HiltViewModel
import kotlinx.coroutines.Dispatchers
import kotlinx.coroutines.ExperimentalCoroutinesApi
import kotlinx.coroutines.flow.*
import kotlinx.coroutines.flow.SharingStarted
import kotlinx.coroutines.flow.StateFlow
import kotlinx.coroutines.flow.catch
import kotlinx.coroutines.flow.combine
import kotlinx.coroutines.flow.distinctUntilChanged
import kotlinx.coroutines.flow.filterNotNull
import kotlinx.coroutines.flow.flatMapLatest
import kotlinx.coroutines.flow.flowOn
import kotlinx.coroutines.flow.map
import kotlinx.coroutines.flow.shareIn
import kotlinx.coroutines.flow.stateIn
import kotlinx.coroutines.launch
import net.pantasystem.milktea.app_store.account.AccountStore
import net.pantasystem.milktea.app_store.setting.SettingStore
Expand Down Expand Up @@ -68,7 +78,7 @@ class MainViewModel @Inject constructor(
val isShowEnableSafeSearchDescription = settingStore.configState.map {
it.isEnableSafeSearch
}.map {
!(!it.isEnabled || it.isConfirmed)
!it.isConfirmed
}.distinctUntilChanged().shareIn(viewModelScope, SharingStarted.Lazily)

val isShowGoogleAnalyticsDialog = settingStore.configState.map { config ->
Expand Down Expand Up @@ -138,6 +148,15 @@ class MainViewModel @Inject constructor(
}
}

fun onGoToSettingSafeSearchButtonClicked() {
viewModelScope.launch {
configRepository.get().mapCancellableCatching {
configRepository.save(it.copy(isEnableSafeSearch = it.isEnableSafeSearch.copy(isConfirmed = true)))
}.onFailure {
logger.error("設定状態の保存に失敗", it)
}
}
}
}

data class MainUiState (
Expand Down

0 comments on commit 9646eb2

Please sign in to comment.