Refactored RepositoryOpenViewModel to fix file system watch not working
This commit is contained in:
parent
8b17d68db4
commit
1b4b75d75b
@ -94,7 +94,7 @@ fun AppTab(
|
||||
|
||||
is RepositorySelectionStatus.Open -> {
|
||||
RepositoryOpenPage(
|
||||
repositoryOpenViewModel = tabViewModel.repositoryOpenViewModel,
|
||||
repositoryOpenViewModel = repositorySelectionStatusValue.viewModel,
|
||||
onShowSettingsDialog = { showSettingsDialog = true },
|
||||
onShowCloneDialog = { showCloneDialog = true },
|
||||
)
|
||||
|
@ -75,8 +75,6 @@ class TabViewModel @Inject constructor(
|
||||
val errorsManager: ErrorsManager = tabState.errorsManager
|
||||
val selectedItem: StateFlow<SelectedItem> = tabState.selectedItem
|
||||
|
||||
val repositoryOpenViewModel: RepositoryOpenViewModel = repositoryOpenViewModelProvider.get()
|
||||
|
||||
private val _repositorySelectionStatus = MutableStateFlow<RepositorySelectionStatus>(RepositorySelectionStatus.None)
|
||||
val repositorySelectionStatus: StateFlow<RepositorySelectionStatus>
|
||||
get() = _repositorySelectionStatus
|
||||
@ -115,7 +113,6 @@ class TabViewModel @Inject constructor(
|
||||
}
|
||||
|
||||
repository.workTree // test if repository is valid
|
||||
_repositorySelectionStatus.value = RepositorySelectionStatus.Open(repository)
|
||||
|
||||
val path = if (directory.name == ".git") {
|
||||
directory.parent
|
||||
@ -126,6 +123,9 @@ class TabViewModel @Inject constructor(
|
||||
|
||||
val git = Git(repository)
|
||||
tabState.initGit(git)
|
||||
|
||||
_repositorySelectionStatus.value = RepositorySelectionStatus.Open(repositoryOpenViewModelProvider.get())
|
||||
|
||||
tabState.refreshData(RefreshType.ALL_DATA)
|
||||
} catch (ex: Exception) {
|
||||
onRepositoryChanged(null)
|
||||
@ -196,5 +196,5 @@ class TabViewModel @Inject constructor(
|
||||
sealed class RepositorySelectionStatus {
|
||||
data object None : RepositorySelectionStatus()
|
||||
data class Opening(val path: String) : RepositorySelectionStatus()
|
||||
data class Open(val repository: Repository) : RepositorySelectionStatus()
|
||||
data class Open(val viewModel: RepositoryOpenViewModel) : RepositorySelectionStatus()
|
||||
}
|
Loading…
Reference in New Issue
Block a user