Revert "Use refreshing state"

This reverts commit 3d283bd5
This commit is contained in:
Goooler 2024-04-11 08:16:14 +08:00
parent 26d19e2229
commit 6e48b6ad79
2 changed files with 8 additions and 22 deletions

View File

@ -488,16 +488,8 @@ class AccountActivity : BottomSheetActivity(), ActionButtonActivity, MenuProvide
private fun setupRefreshLayout() {
binding.swipeToRefreshLayout.setOnRefreshListener { onRefresh() }
lifecycleScope.launch {
viewModel.refreshState.collect {
when (it) {
AccountViewModel.RefreshState.INITIAL -> Unit
AccountViewModel.RefreshState.REFRESHING -> {
binding.swipeToRefreshLayout.isRefreshing = true
}
AccountViewModel.RefreshState.IDLE -> {
binding.swipeToRefreshLayout.isRefreshing = false
}
}
viewModel.isRefreshing.collect {
binding.swipeToRefreshLayout.isRefreshing = it
}
}
binding.swipeToRefreshLayout.setColorSchemeResources(R.color.tusky_blue)

View File

@ -42,8 +42,8 @@ class AccountViewModel @Inject constructor(
private val _noteSaved = MutableStateFlow(false)
val noteSaved: StateFlow<Boolean> = _noteSaved.asStateFlow()
private val _refreshState = MutableStateFlow(RefreshState.INITIAL)
val refreshState: StateFlow<RefreshState> = _refreshState.asStateFlow()
private val _isRefreshing = MutableStateFlow(false)
val isRefreshing: StateFlow<Boolean> = _isRefreshing.asStateFlow()
lateinit var accountId: String
var isSelf = false
@ -71,7 +71,7 @@ class AccountViewModel @Inject constructor(
private fun obtainAccount(reload: Boolean = false) {
if (_accountData.value == null || reload) {
if (reload) {
_refreshState.value = RefreshState.REFRESHING
_isRefreshing.value = true
}
_accountData.value = Loading()
@ -83,12 +83,12 @@ class AccountViewModel @Inject constructor(
isFromOwnDomain = domain == activeAccount.domain
_accountData.value = Success(account)
_refreshState.value = RefreshState.IDLE
_isRefreshing.value = false
},
{ t ->
Log.w(TAG, "failed obtaining account", t)
_accountData.value = Error(cause = t)
_refreshState.value = RefreshState.IDLE
_isRefreshing.value = false
}
)
}
@ -310,7 +310,7 @@ class AccountViewModel @Inject constructor(
}
private fun reload(isReload: Boolean = false) {
if (_refreshState.value == RefreshState.REFRESHING) {
if (_isRefreshing.value) {
return
}
accountId.let {
@ -338,12 +338,6 @@ class AccountViewModel @Inject constructor(
UNSUBSCRIBE
}
enum class RefreshState {
INITIAL,
REFRESHING,
IDLE
}
companion object {
const val TAG = "AccountViewModel"
}