mirror of
https://github.com/Aviortheking/Neo-Store.git
synced 2025-06-07 16:29:55 +00:00
Clean up
This commit is contained in:
parent
e64c3585ac
commit
755b89d08d
@ -1,76 +0,0 @@
|
||||
package com.machiav3lli.fdroid.ui.fragments
|
||||
|
||||
import android.os.Bundle
|
||||
import android.view.LayoutInflater
|
||||
import android.view.View
|
||||
import android.view.ViewGroup
|
||||
import androidx.compose.foundation.isSystemInDarkTheme
|
||||
import androidx.compose.runtime.Composable
|
||||
import androidx.compose.ui.platform.ComposeView
|
||||
import androidx.fragment.app.viewModels
|
||||
import androidx.lifecycle.lifecycleScope
|
||||
import com.machiav3lli.fdroid.content.Preferences
|
||||
import com.machiav3lli.fdroid.ui.activities.PrefsActivityX
|
||||
import com.machiav3lli.fdroid.ui.compose.pages.settings.repository.RepositoryPage
|
||||
import com.machiav3lli.fdroid.ui.compose.theme.AppTheme
|
||||
import com.machiav3lli.fdroid.ui.viewmodels.RepositoriesViewModelX
|
||||
import com.machiav3lli.fdroid.utility.isDarkTheme
|
||||
import kotlinx.coroutines.flow.collectLatest
|
||||
|
||||
class PrefsRepositoriesFragment : BaseNavFragment() {
|
||||
|
||||
val viewModel: RepositoriesViewModelX by viewModels {
|
||||
RepositoriesViewModelX.Factory(prefsActivityX.db.repositoryDao)
|
||||
}
|
||||
|
||||
private val prefsActivityX: PrefsActivityX
|
||||
get() = requireActivity() as PrefsActivityX
|
||||
|
||||
override fun onCreateView(
|
||||
inflater: LayoutInflater,
|
||||
container: ViewGroup?,
|
||||
savedInstanceState: Bundle?,
|
||||
): View {
|
||||
super.onCreate(savedInstanceState)
|
||||
lifecycleScope.launchWhenStarted {
|
||||
viewModel.showSheet.collectLatest {
|
||||
if (it.editMode) {
|
||||
EditRepositorySheetX(it.repositoryId).showNow(
|
||||
childFragmentManager,
|
||||
"Repository ${it.repositoryId}"
|
||||
)
|
||||
} else {
|
||||
RepositorySheetX(it.repositoryId).showNow(
|
||||
childFragmentManager,
|
||||
"Repository $it"
|
||||
)
|
||||
}
|
||||
}
|
||||
}
|
||||
return ComposeView(requireContext()).apply {
|
||||
setContent { ReposPage() }
|
||||
}
|
||||
}
|
||||
|
||||
override fun setupLayout() {
|
||||
viewModel.bindConnection(requireContext())
|
||||
}
|
||||
|
||||
override fun onDestroyView() {
|
||||
super.onDestroyView()
|
||||
viewModel.syncConnection.unbind(requireContext())
|
||||
}
|
||||
|
||||
@Composable
|
||||
fun ReposPage() {
|
||||
AppTheme(
|
||||
darkTheme = when (Preferences[Preferences.Key.Theme]) {
|
||||
is Preferences.Theme.System -> isSystemInDarkTheme()
|
||||
is Preferences.Theme.AmoledSystem -> isSystemInDarkTheme()
|
||||
else -> isDarkTheme
|
||||
}
|
||||
) {
|
||||
RepositoryPage(viewModel = viewModel)
|
||||
}
|
||||
}
|
||||
}
|
@ -1,14 +1,11 @@
|
||||
package com.machiav3lli.fdroid.ui.viewmodels
|
||||
|
||||
import android.content.Context
|
||||
import androidx.lifecycle.ViewModel
|
||||
import androidx.lifecycle.ViewModelProvider
|
||||
import androidx.lifecycle.viewModelScope
|
||||
import com.machiav3lli.fdroid.database.dao.RepositoryDao
|
||||
import com.machiav3lli.fdroid.database.entity.Repository
|
||||
import com.machiav3lli.fdroid.database.entity.Repository.Companion.newRepository
|
||||
import com.machiav3lli.fdroid.service.Connection
|
||||
import com.machiav3lli.fdroid.service.SyncService
|
||||
import kotlinx.coroutines.Dispatchers
|
||||
import kotlinx.coroutines.flow.MutableSharedFlow
|
||||
import kotlinx.coroutines.flow.MutableStateFlow
|
||||
@ -20,8 +17,6 @@ import kotlinx.coroutines.withContext
|
||||
|
||||
class RepositoriesViewModelX(val repositoryDao: RepositoryDao) : ViewModel() {
|
||||
|
||||
val syncConnection = Connection(SyncService::class.java)
|
||||
|
||||
private val _showSheet = MutableSharedFlow<SheetNavigationData>()
|
||||
val showSheet: SharedFlow<SheetNavigationData> = _showSheet
|
||||
|
||||
@ -36,10 +31,6 @@ class RepositoriesViewModelX(val repositoryDao: RepositoryDao) : ViewModel() {
|
||||
}
|
||||
}
|
||||
|
||||
fun bindConnection(context: Context) {
|
||||
viewModelScope.launch { syncConnection.bind(context) }
|
||||
}
|
||||
|
||||
fun showRepositorySheet(
|
||||
repositoryId: Long = 0L,
|
||||
editMode: Boolean = false,
|
||||
@ -56,12 +47,6 @@ class RepositoriesViewModelX(val repositoryDao: RepositoryDao) : ViewModel() {
|
||||
}
|
||||
}
|
||||
|
||||
fun toggleRepository(repository: Repository, isEnabled: Boolean) {
|
||||
viewModelScope.launch {
|
||||
syncConnection.binder?.setEnabled(repository, isEnabled)
|
||||
}
|
||||
}
|
||||
|
||||
private suspend fun addNewRepository(): Long = withContext(Dispatchers.IO) {
|
||||
repositoryDao.insert(newRepository(fallbackName = "new repository"))
|
||||
repositoryDao.latestAddedId()
|
||||
|
@ -14,9 +14,9 @@
|
||||
android:name="com.machiav3lli.fdroid.ui.fragments.PrefsUpdatesFragment"
|
||||
tools:layout="@layout/fragment_prefs" />
|
||||
|
||||
<fragment
|
||||
<!--fragment
|
||||
android:id="@+id/reposTab"
|
||||
android:name="com.machiav3lli.fdroid.ui.fragments.PrefsRepositoriesFragment" />
|
||||
android:name="com.machiav3lli.fdroid.ui.fragments.PrefsRepositoriesFragment" /-->
|
||||
|
||||
<fragment
|
||||
android:id="@+id/otherTab"
|
||||
|
Loading…
x
Reference in New Issue
Block a user