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
|
package com.machiav3lli.fdroid.ui.viewmodels
|
||||||
|
|
||||||
import android.content.Context
|
|
||||||
import androidx.lifecycle.ViewModel
|
import androidx.lifecycle.ViewModel
|
||||||
import androidx.lifecycle.ViewModelProvider
|
import androidx.lifecycle.ViewModelProvider
|
||||||
import androidx.lifecycle.viewModelScope
|
import androidx.lifecycle.viewModelScope
|
||||||
import com.machiav3lli.fdroid.database.dao.RepositoryDao
|
import com.machiav3lli.fdroid.database.dao.RepositoryDao
|
||||||
import com.machiav3lli.fdroid.database.entity.Repository
|
import com.machiav3lli.fdroid.database.entity.Repository
|
||||||
import com.machiav3lli.fdroid.database.entity.Repository.Companion.newRepository
|
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.Dispatchers
|
||||||
import kotlinx.coroutines.flow.MutableSharedFlow
|
import kotlinx.coroutines.flow.MutableSharedFlow
|
||||||
import kotlinx.coroutines.flow.MutableStateFlow
|
import kotlinx.coroutines.flow.MutableStateFlow
|
||||||
@ -20,8 +17,6 @@ import kotlinx.coroutines.withContext
|
|||||||
|
|
||||||
class RepositoriesViewModelX(val repositoryDao: RepositoryDao) : ViewModel() {
|
class RepositoriesViewModelX(val repositoryDao: RepositoryDao) : ViewModel() {
|
||||||
|
|
||||||
val syncConnection = Connection(SyncService::class.java)
|
|
||||||
|
|
||||||
private val _showSheet = MutableSharedFlow<SheetNavigationData>()
|
private val _showSheet = MutableSharedFlow<SheetNavigationData>()
|
||||||
val showSheet: SharedFlow<SheetNavigationData> = _showSheet
|
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(
|
fun showRepositorySheet(
|
||||||
repositoryId: Long = 0L,
|
repositoryId: Long = 0L,
|
||||||
editMode: Boolean = false,
|
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) {
|
private suspend fun addNewRepository(): Long = withContext(Dispatchers.IO) {
|
||||||
repositoryDao.insert(newRepository(fallbackName = "new repository"))
|
repositoryDao.insert(newRepository(fallbackName = "new repository"))
|
||||||
repositoryDao.latestAddedId()
|
repositoryDao.latestAddedId()
|
||||||
|
@ -14,9 +14,9 @@
|
|||||||
android:name="com.machiav3lli.fdroid.ui.fragments.PrefsUpdatesFragment"
|
android:name="com.machiav3lli.fdroid.ui.fragments.PrefsUpdatesFragment"
|
||||||
tools:layout="@layout/fragment_prefs" />
|
tools:layout="@layout/fragment_prefs" />
|
||||||
|
|
||||||
<fragment
|
<!--fragment
|
||||||
android:id="@+id/reposTab"
|
android:id="@+id/reposTab"
|
||||||
android:name="com.machiav3lli.fdroid.ui.fragments.PrefsRepositoriesFragment" />
|
android:name="com.machiav3lli.fdroid.ui.fragments.PrefsRepositoriesFragment" /-->
|
||||||
|
|
||||||
<fragment
|
<fragment
|
||||||
android:id="@+id/otherTab"
|
android:id="@+id/otherTab"
|
||||||
|
Loading…
x
Reference in New Issue
Block a user