parent
26d19e2229
commit
6e48b6ad79
|
@ -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)
|
||||
|
|
|
@ -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"
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue