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

Commit 16a21767 authored by Darrell Shi's avatar Darrell Shi Committed by Android (Google) Code Review
Browse files

Merge "Avoid creating user context in a non system user" into main

parents 1d5e772d ea70312c
Loading
Loading
Loading
Loading
+8 −1
Original line number Diff line number Diff line
@@ -33,6 +33,9 @@ interface GlanceableHubMultiUserHelper {
    /** Whether the current process is running in the headless system user. */
    fun isInHeadlessSystemUser(): Boolean

    /** Whether the current process is running in the system user. */
    fun isSystemUser(): Boolean

    /**
     * Asserts that the current process is running in the headless system user.
     *
@@ -57,7 +60,11 @@ class GlanceableHubMultiUserHelperImpl @Inject constructor(private val userHandl
    override fun isHeadlessSystemUserMode(): Boolean = UserManager.isHeadlessSystemUserMode()

    override fun isInHeadlessSystemUser(): Boolean {
        return isHeadlessSystemUserMode() && userHandle.isSystem
        return isHeadlessSystemUserMode() && isSystemUser()
    }

    override fun isSystemUser(): Boolean {
        return userHandle.isSystem
    }

    override fun assertInHeadlessSystemUser() {
+8 −0
Original line number Diff line number Diff line
@@ -69,6 +69,14 @@ constructor(
    private val glanceableHubWidgetManager by lazy { glanceableHubWidgetManagerLazy.get() }

    override fun start() {
        // Do nothing on a non system user process when hsum is not enabled. See b/431515488.
        if (
            !glanceableHubMultiUserHelper.glanceableHubHsumFlagEnabled &&
                !glanceableHubMultiUserHelper.isSystemUser()
        ) {
            return
        }

        if (
            glanceableHubMultiUserHelper.glanceableHubHsumFlagEnabled &&
                glanceableHubMultiUserHelper.isInHeadlessSystemUser()
+9 −0
Original line number Diff line number Diff line
@@ -20,6 +20,7 @@ class FakeGlanceableHubMultiUserHelper(
    override val glanceableHubHsumFlagEnabled: Boolean = true,
    private var isHeadlessSystemUserMode: Boolean = false,
    private var isInHeadlessSystemUser: Boolean = false,
    private var isSystemUser: Boolean = true,
) : GlanceableHubMultiUserHelper {

    override fun isHeadlessSystemUserMode(): Boolean {
@@ -34,10 +35,18 @@ class FakeGlanceableHubMultiUserHelper(
        return isInHeadlessSystemUser
    }

    override fun isSystemUser(): Boolean {
        return isSystemUser
    }

    fun setIsInHeadlessSystemUser(isInHeadlessSystemUser: Boolean) {
        this.isInHeadlessSystemUser = isInHeadlessSystemUser
    }

    fun setIsSystemUser(isSystemUser: Boolean) {
        this.isSystemUser = isSystemUser
    }

    override fun assertInHeadlessSystemUser() {
        check(isInHeadlessSystemUser())
    }