Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit dd6e7458 authored by TreeHugger Robot's avatar TreeHugger Robot Committed by Android (Google) Code Review
Browse files

Merge "Synchronize LifecycleRegistry observer" into rvc-dev

parents 78303d1e 54595606
Loading
Loading
Loading
Loading
+7 −2
Original line number Diff line number Diff line
@@ -23,18 +23,23 @@ import androidx.lifecycle.LifecycleRegistry
import java.lang.IllegalStateException

class CheckLifecycleRegistry(provider: LifecycleOwner) : LifecycleRegistry(provider) {
    private val observerLock = Any()

    override fun addObserver(observer: LifecycleObserver) {
        if (Looper.myLooper() != Looper.getMainLooper()) {
            throw IllegalStateException("Lifecycle running on non main thread")
        }
        synchronized(observerLock) {
            super.addObserver(observer)
        }
    }

    override fun removeObserver(observer: LifecycleObserver) {
        if (Looper.myLooper() != Looper.getMainLooper()) {
            throw IllegalStateException("Lifecycle running on non main thread")
        }
        synchronized(observerLock) {
            super.removeObserver(observer)
        }
    }
}
 No newline at end of file