refactor: Move AccountPreferenceDataStore to core.data (#730)

This commit is contained in:
Nik Clayton 2024-06-10 16:54:14 +02:00 committed by GitHub
parent 5dd1b9a2f9
commit dc61030b98
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
6 changed files with 26 additions and 5 deletions

View File

@ -29,6 +29,7 @@ import app.pachli.core.accounts.AccountManager
import app.pachli.core.activity.extensions.TransitionKind import app.pachli.core.activity.extensions.TransitionKind
import app.pachli.core.activity.extensions.startActivityWithTransition import app.pachli.core.activity.extensions.startActivityWithTransition
import app.pachli.core.common.util.unsafeLazy import app.pachli.core.common.util.unsafeLazy
import app.pachli.core.data.repository.AccountPreferenceDataStore
import app.pachli.core.data.repository.ServerRepository import app.pachli.core.data.repository.ServerRepository
import app.pachli.core.designsystem.R as DR import app.pachli.core.designsystem.R as DR
import app.pachli.core.navigation.AccountListActivityIntent import app.pachli.core.navigation.AccountListActivityIntent
@ -46,7 +47,6 @@ import app.pachli.core.network.model.Account
import app.pachli.core.network.model.Status import app.pachli.core.network.model.Status
import app.pachli.core.network.retrofit.MastodonApi import app.pachli.core.network.retrofit.MastodonApi
import app.pachli.core.preferences.PrefKeys import app.pachli.core.preferences.PrefKeys
import app.pachli.settings.AccountPreferenceDataStore
import app.pachli.settings.listPreference import app.pachli.settings.listPreference
import app.pachli.settings.makePreferenceScreen import app.pachli.settings.makePreferenceScreen
import app.pachli.settings.preference import app.pachli.settings.preference

View File

@ -21,13 +21,13 @@ import androidx.annotation.VisibleForTesting
import androidx.annotation.VisibleForTesting.Companion.PRIVATE import androidx.annotation.VisibleForTesting.Companion.PRIVATE
import app.pachli.core.accounts.AccountManager import app.pachli.core.accounts.AccountManager
import app.pachli.core.common.di.ApplicationScope import app.pachli.core.common.di.ApplicationScope
import app.pachli.core.data.repository.AccountPreferenceDataStore
import app.pachli.core.data.repository.ServerRepository import app.pachli.core.data.repository.ServerRepository
import app.pachli.core.database.model.AccountEntity import app.pachli.core.database.model.AccountEntity
import app.pachli.core.network.ServerOperation.ORG_JOINMASTODON_STATUSES_TRANSLATE import app.pachli.core.network.ServerOperation.ORG_JOINMASTODON_STATUSES_TRANSLATE
import app.pachli.core.preferences.CardViewMode import app.pachli.core.preferences.CardViewMode
import app.pachli.core.preferences.PrefKeys import app.pachli.core.preferences.PrefKeys
import app.pachli.core.preferences.SharedPreferencesRepository import app.pachli.core.preferences.SharedPreferencesRepository
import app.pachli.settings.AccountPreferenceDataStore
import com.github.michaelbull.result.onFailure import com.github.michaelbull.result.onFailure
import com.github.michaelbull.result.onSuccess import com.github.michaelbull.result.onSuccess
import io.github.z4kn4fein.semver.constraints.toConstraint import io.github.z4kn4fein.semver.constraints.toConstraint

View File

@ -22,6 +22,7 @@ import app.pachli.appstore.EventHub
import app.pachli.components.timeline.FilterKind import app.pachli.components.timeline.FilterKind
import app.pachli.components.timeline.FiltersRepository import app.pachli.components.timeline.FiltersRepository
import app.pachli.core.accounts.AccountManager import app.pachli.core.accounts.AccountManager
import app.pachli.core.data.repository.AccountPreferenceDataStore
import app.pachli.core.data.repository.ServerRepository import app.pachli.core.data.repository.ServerRepository
import app.pachli.core.database.model.AccountEntity import app.pachli.core.database.model.AccountEntity
import app.pachli.core.network.model.nodeinfo.UnvalidatedJrd import app.pachli.core.network.model.nodeinfo.UnvalidatedJrd
@ -31,7 +32,6 @@ import app.pachli.core.network.retrofit.NodeInfoApi
import app.pachli.core.preferences.SharedPreferencesRepository import app.pachli.core.preferences.SharedPreferencesRepository
import app.pachli.core.testing.fakes.InMemorySharedPreferences import app.pachli.core.testing.fakes.InMemorySharedPreferences
import app.pachli.core.testing.rules.MainCoroutineRule import app.pachli.core.testing.rules.MainCoroutineRule
import app.pachli.settings.AccountPreferenceDataStore
import app.pachli.usecase.TimelineCases import app.pachli.usecase.TimelineCases
import app.pachli.util.StatusDisplayOptionsRepository import app.pachli.util.StatusDisplayOptionsRepository
import at.connyduck.calladapter.networkresult.NetworkResult import at.connyduck.calladapter.networkresult.NetworkResult

View File

@ -22,6 +22,7 @@ import androidx.test.ext.junit.runners.AndroidJUnit4
import app.cash.turbine.test import app.cash.turbine.test
import app.pachli.PachliApplication import app.pachli.PachliApplication
import app.pachli.core.accounts.AccountManager import app.pachli.core.accounts.AccountManager
import app.pachli.core.data.repository.AccountPreferenceDataStore
import app.pachli.core.network.model.Account import app.pachli.core.network.model.Account
import app.pachli.core.network.model.nodeinfo.UnvalidatedJrd import app.pachli.core.network.model.nodeinfo.UnvalidatedJrd
import app.pachli.core.network.model.nodeinfo.UnvalidatedNodeInfo import app.pachli.core.network.model.nodeinfo.UnvalidatedNodeInfo
@ -30,7 +31,6 @@ import app.pachli.core.network.retrofit.NodeInfoApi
import app.pachli.core.preferences.PrefKeys import app.pachli.core.preferences.PrefKeys
import app.pachli.core.preferences.SharedPreferencesRepository import app.pachli.core.preferences.SharedPreferencesRepository
import app.pachli.core.testing.rules.MainCoroutineRule import app.pachli.core.testing.rules.MainCoroutineRule
import app.pachli.settings.AccountPreferenceDataStore
import at.connyduck.calladapter.networkresult.NetworkResult import at.connyduck.calladapter.networkresult.NetworkResult
import com.google.common.truth.Truth.assertThat import com.google.common.truth.Truth.assertThat
import dagger.hilt.android.testing.CustomTestApplication import dagger.hilt.android.testing.CustomTestApplication

View File

@ -34,6 +34,10 @@ dependencies {
implementation(projects.core.database) implementation(projects.core.database)
implementation(projects.core.model) implementation(projects.core.model)
implementation(projects.core.network) implementation(projects.core.network)
implementation(projects.core.preferences)
// PreferenceDataStore
implementation(libs.bundles.androidx)
testImplementation(projects.core.networkTest) testImplementation(projects.core.networkTest)
testImplementation(libs.bundles.mockito) testImplementation(libs.bundles.mockito)

View File

@ -1,4 +1,21 @@
package app.pachli.settings /*
* Copyright 2024 Pachli Association
*
* This file is a part of Pachli.
*
* This program is free software; you can redistribute it and/or modify it under the terms of the
* GNU General Public License as published by the Free Software Foundation; either version 3 of the
* License, or (at your option) any later version.
*
* Pachli is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even
* the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General
* Public License for more details.
*
* You should have received a copy of the GNU General Public License along with Pachli; if not,
* see <http://www.gnu.org/licenses>.
*/
package app.pachli.core.data.repository
import androidx.preference.PreferenceDataStore import androidx.preference.PreferenceDataStore
import app.pachli.core.accounts.AccountManager import app.pachli.core.accounts.AccountManager