diff --git a/twidere/src/main/kotlin/org/mariotaku/twidere/fragment/AccountsDashboardFragment.kt b/twidere/src/main/kotlin/org/mariotaku/twidere/fragment/AccountsDashboardFragment.kt index a314a8505..97fa3b397 100644 --- a/twidere/src/main/kotlin/org/mariotaku/twidere/fragment/AccountsDashboardFragment.kt +++ b/twidere/src/main/kotlin/org/mariotaku/twidere/fragment/AccountsDashboardFragment.kt @@ -611,7 +611,6 @@ class AccountsDashboardFragment : BaseFragment(), LoaderCallbacks, context: Context, val firsSyncLoad: Boolean ) : FixedAsyncTaskLoader(context) { - private val am = AccountManager.get(context) private var contentObserver: ContentObserver? = null set(value) { @@ -624,6 +623,7 @@ class AccountsDashboardFragment : BaseFragment(), LoaderCallbacks, } private var accountListener: OnAccountsUpdateListener? = null set(value) { + val am = AccountManager.get(context) field?.let { am.removeOnAccountsUpdatedListenerSafe(it) } diff --git a/twidere/src/main/kotlin/org/mariotaku/twidere/loader/AccountDetailsLoader.kt b/twidere/src/main/kotlin/org/mariotaku/twidere/loader/AccountDetailsLoader.kt index 6298597de..e2711404b 100644 --- a/twidere/src/main/kotlin/org/mariotaku/twidere/loader/AccountDetailsLoader.kt +++ b/twidere/src/main/kotlin/org/mariotaku/twidere/loader/AccountDetailsLoader.kt @@ -18,10 +18,9 @@ class AccountDetailsLoader( val filter: (AccountDetails.() -> Boolean)? = null ) : FixedAsyncTaskLoader>(context) { - private val am: AccountManager = AccountManager.get(context) - private var accountUpdateListener: OnAccountsUpdateListener? = null set(value) { + val am: AccountManager = AccountManager.get(context) field?.let { am.removeOnAccountsUpdatedListenerSafe(it) } @@ -31,6 +30,7 @@ class AccountDetailsLoader( } override fun loadInBackground(): List { + val am: AccountManager = AccountManager.get(context) return AccountUtils.getAllAccountDetails(am, true).filter { filter?.invoke(it) ?: true }.sortedBy(AccountDetails::position)