Twidere-App-Android-Twitter.../twidere/src/main/kotlin/org/mariotaku/ktextension/AccountManagerExtensions.kt

33 lines
907 B
Kotlin
Raw Normal View History

package org.mariotaku.ktextension
import android.accounts.AccountManager
import android.accounts.OnAccountsUpdateListener
import android.os.Handler
/**
* Created by mariotaku on 2016/12/13.
*/
fun AccountManager.addOnAccountsUpdatedListenerSafe(listener: OnAccountsUpdateListener,
2017-04-02 19:11:37 +02:00
handler: Handler? = null, updateImmediately: Boolean = false): Boolean {
2020-06-08 23:19:10 +02:00
return try {
this.addOnAccountsUpdatedListener(listener, handler, updateImmediately)
2020-06-08 23:19:10 +02:00
true
} catch (e: IllegalStateException) {
2020-06-08 23:19:10 +02:00
false
2017-04-02 19:11:37 +02:00
} catch (e: IllegalArgumentException) {
2020-06-08 23:19:10 +02:00
false
}
}
fun AccountManager.removeOnAccountsUpdatedListenerSafe(listener: OnAccountsUpdateListener): Boolean {
2020-06-08 23:19:10 +02:00
return try {
this.removeOnAccountsUpdatedListener(listener)
2020-06-08 23:19:10 +02:00
true
} catch (e: IllegalStateException) {
2020-06-08 23:19:10 +02:00
false
2017-04-02 19:11:37 +02:00
} catch (e: IllegalArgumentException) {
2020-06-08 23:19:10 +02:00
false
}
}