Merge "Fix NPE when assistant component name is null" into tm-qpr-dev am: f0734a24e7
Original change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/base/+/19441919 Change-Id: I651f7c71a8b37e7c52dc82edd771ac1db66bb1da Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
This commit is contained in:
@@ -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 {
|
||||
protected fun getAssistantUid(assistantComponent: ComponentName?): Int {
|
||||
if (assistantComponent == null) {
|
||||
return 0
|
||||
}
|
||||
|
||||
var assistantUid = 0
|
||||
try {
|
||||
assistantUid = context.packageManager.getApplicationInfo(
|
||||
@@ -138,4 +143,4 @@ open class AssistLogger @Inject constructor(
|
||||
AssistantSessionEvent.ASSISTANT_SESSION_INVOCATION_CANCELLED,
|
||||
AssistantSessionEvent.ASSISTANT_SESSION_CLOSE)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user