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

Commit f0734a24 authored by Govinda Wasserman's avatar Govinda Wasserman Committed by Android (Google) Code Review
Browse files

Merge "Fix NPE when assistant component name is null" into tm-qpr-dev

parents 636e17ba 933f17ec
Loading
Loading
Loading
Loading
+13 −8
Original line number Diff line number Diff line
@@ -25,10 +25,10 @@ import com.android.internal.logging.InstanceId
import com.android.internal.logging.InstanceIdSequence
import com.android.internal.logging.UiEventLogger
import com.android.internal.util.FrameworkStatsLog
import com.android.keyguard.KeyguardUpdateMonitor
import com.android.systemui.assist.AssistantInvocationEvent.Companion.deviceStateFromLegacyDeviceState
import com.android.systemui.assist.AssistantInvocationEvent.Companion.eventFromLegacyInvocationType
import com.android.systemui.dagger.SysUISingleton
import com.android.systemui.settings.UserTracker
import javax.inject.Inject

/** Class for reporting events related to Assistant sessions. */
@@ -37,7 +37,8 @@ open class AssistLogger @Inject constructor(
    protected val context: Context,
    protected val uiEventLogger: UiEventLogger,
    private val assistUtils: AssistUtils,
    private val phoneStateMonitor: PhoneStateMonitor
    private val phoneStateMonitor: PhoneStateMonitor,
    private val userTracker: UserTracker,
) {

    private val instanceIdSequence = InstanceIdSequence(INSTANCE_ID_MAX)
@@ -78,7 +79,7 @@ open class AssistLogger @Inject constructor(
                FrameworkStatsLog.ASSISTANT_INVOCATION_REPORTED,
                invocationEvent.id,
                assistantUid,
                assistComponentFinal.flattenToString(),
                assistComponentFinal?.flattenToString() ?: "",
                getOrCreateInstanceId().id,
                deviceStateFinal,
                false)
@@ -91,7 +92,7 @@ open class AssistLogger @Inject constructor(
        uiEventLogger.logWithInstanceId(
                sessionEvent,
                assistantUid,
                assistantComponent.flattenToString(),
                assistantComponent?.flattenToString(),
                getOrCreateInstanceId())

        if (SESSION_END_EVENTS.contains(sessionEvent)) {
@@ -112,11 +113,15 @@ open class AssistLogger @Inject constructor(
        currentInstanceId = null
    }

    protected fun getAssistantComponentForCurrentUser(): ComponentName {
        return assistUtils.getAssistComponentForUser(KeyguardUpdateMonitor.getCurrentUser())
    protected fun getAssistantComponentForCurrentUser(): ComponentName? {
        return assistUtils.getAssistComponentForUser(userTracker.userId)
    }

    protected fun getAssistantUid(assistantComponent: ComponentName?): Int {
        if (assistantComponent == null) {
            return 0
        }

    protected fun getAssistantUid(assistantComponent: ComponentName): Int {
        var assistantUid = 0
        try {
            assistantUid = context.packageManager.getApplicationInfo(