Merge "Fix crash when trying to dismiss dialog"

This commit is contained in:
Jernej Virag
2022-09-27 08:18:34 +00:00
committed by Gerrit Code Review

View File

@@ -18,6 +18,7 @@ package com.android.systemui.controls.ui
import android.annotation.AnyThread import android.annotation.AnyThread
import android.annotation.MainThread import android.annotation.MainThread
import android.app.Activity
import android.app.AlertDialog import android.app.AlertDialog
import android.app.Dialog import android.app.Dialog
import android.app.PendingIntent import android.app.PendingIntent
@@ -119,9 +120,17 @@ class ControlActionCoordinatorImpl @Inject constructor(
} }
override fun closeDialogs() { override fun closeDialogs() {
val isActivityFinishing =
(activityContext as? Activity)?.let { it.isFinishing || it.isDestroyed }
if (isActivityFinishing == true) {
dialog = null
return
}
if (dialog?.isShowing == true) {
dialog?.dismiss() dialog?.dismiss()
dialog = null dialog = null
} }
}
override fun toggle(cvh: ControlViewHolder, templateId: String, isChecked: Boolean) { override fun toggle(cvh: ControlViewHolder, templateId: String, isChecked: Boolean) {
controlsMetricsLogger.touch(cvh, isLocked) controlsMetricsLogger.touch(cvh, isLocked)