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

This commit is contained in:
Govinda Wasserman
2022-07-29 17:33:06 +00:00
committed by Android (Google) Code Review

View File

@@ -25,10 +25,10 @@ import com.android.internal.logging.InstanceId
import com.android.internal.logging.InstanceIdSequence import com.android.internal.logging.InstanceIdSequence
import com.android.internal.logging.UiEventLogger import com.android.internal.logging.UiEventLogger
import com.android.internal.util.FrameworkStatsLog 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.deviceStateFromLegacyDeviceState
import com.android.systemui.assist.AssistantInvocationEvent.Companion.eventFromLegacyInvocationType import com.android.systemui.assist.AssistantInvocationEvent.Companion.eventFromLegacyInvocationType
import com.android.systemui.dagger.SysUISingleton import com.android.systemui.dagger.SysUISingleton
import com.android.systemui.settings.UserTracker
import javax.inject.Inject import javax.inject.Inject
/** Class for reporting events related to Assistant sessions. */ /** Class for reporting events related to Assistant sessions. */
@@ -37,7 +37,8 @@ open class AssistLogger @Inject constructor(
protected val context: Context, protected val context: Context,
protected val uiEventLogger: UiEventLogger, protected val uiEventLogger: UiEventLogger,
private val assistUtils: AssistUtils, private val assistUtils: AssistUtils,
private val phoneStateMonitor: PhoneStateMonitor private val phoneStateMonitor: PhoneStateMonitor,
private val userTracker: UserTracker,
) { ) {
private val instanceIdSequence = InstanceIdSequence(INSTANCE_ID_MAX) private val instanceIdSequence = InstanceIdSequence(INSTANCE_ID_MAX)
@@ -78,7 +79,7 @@ open class AssistLogger @Inject constructor(
FrameworkStatsLog.ASSISTANT_INVOCATION_REPORTED, FrameworkStatsLog.ASSISTANT_INVOCATION_REPORTED,
invocationEvent.id, invocationEvent.id,
assistantUid, assistantUid,
assistComponentFinal.flattenToString(), assistComponentFinal?.flattenToString() ?: "",
getOrCreateInstanceId().id, getOrCreateInstanceId().id,
deviceStateFinal, deviceStateFinal,
false) false)
@@ -91,7 +92,7 @@ open class AssistLogger @Inject constructor(
uiEventLogger.logWithInstanceId( uiEventLogger.logWithInstanceId(
sessionEvent, sessionEvent,
assistantUid, assistantUid,
assistantComponent.flattenToString(), assistantComponent?.flattenToString(),
getOrCreateInstanceId()) getOrCreateInstanceId())
if (SESSION_END_EVENTS.contains(sessionEvent)) { if (SESSION_END_EVENTS.contains(sessionEvent)) {
@@ -112,11 +113,15 @@ open class AssistLogger @Inject constructor(
currentInstanceId = null currentInstanceId = null
} }
protected fun getAssistantComponentForCurrentUser(): ComponentName { protected fun getAssistantComponentForCurrentUser(): ComponentName? {
return assistUtils.getAssistComponentForUser(KeyguardUpdateMonitor.getCurrentUser()) return assistUtils.getAssistComponentForUser(userTracker.userId)
} }
protected fun getAssistantUid(assistantComponent: ComponentName): Int { protected fun getAssistantUid(assistantComponent: ComponentName?): Int {
if (assistantComponent == null) {
return 0
}
var assistantUid = 0 var assistantUid = 0
try { try {
assistantUid = context.packageManager.getApplicationInfo( assistantUid = context.packageManager.getApplicationInfo(
@@ -138,4 +143,4 @@ open class AssistLogger @Inject constructor(
AssistantSessionEvent.ASSISTANT_SESSION_INVOCATION_CANCELLED, AssistantSessionEvent.ASSISTANT_SESSION_INVOCATION_CANCELLED,
AssistantSessionEvent.ASSISTANT_SESSION_CLOSE) AssistantSessionEvent.ASSISTANT_SESSION_CLOSE)
} }
} }