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

Commit b9e0d962 authored by Jernej Virag's avatar Jernej Virag
Browse files

Lazily initialize userContentResolverProvider in FakeUserTracker

This fixes a downstream test failure in Ravenwood test suite without
blocking execution of those tests.

Bug: 355615069
Test: atest SysUIRavenTests SysUIRoboTests
Flag: TEST_ONLY
Change-Id: I5cb42987f387892000203c7e6773a99e08d3824a
parent d0193b05
Loading
Loading
Loading
Loading
+7 −2
Original line number Diff line number Diff line
@@ -33,7 +33,7 @@ class FakeUserTracker(
    private var _userHandle: UserHandle = UserHandle.of(_userId),
    private var _userInfo: UserInfo = mock(),
    private var _userProfiles: List<UserInfo> = emptyList(),
    userContentResolver: ContentResolver = MockContentResolver(),
    userContentResolverProvider: () -> ContentResolver = { MockContentResolver() },
    userContext: Context = mock(),
    private val onCreateCurrentUserContext: (Context) -> Context = { mock() },
) : UserTracker {
@@ -41,14 +41,19 @@ class FakeUserTracker(

    override val userId: Int
        get() = _userId

    override val userHandle: UserHandle
        get() = _userHandle

    override val userInfo: UserInfo
        get() = _userInfo

    override val userProfiles: List<UserInfo>
        get() = _userProfiles

    override val userContentResolver: ContentResolver = userContentResolver
    // userContentResolver is lazy because Ravenwood doesn't support MockContentResolver()
    // and we still want to allow people use this class for tests that don't use it.
    override val userContentResolver: ContentResolver by lazy { userContentResolverProvider() }
    override val userContext: Context = userContext

    override fun addCallback(callback: UserTracker.Callback, executor: Executor) {