Use postStartActivityDismissingKeyguard when showOnLockscreen is false.

This fixes the issue where the timer app becomes visible when the
lockscreen isn't fully dismissed. See b/250476316#comment6, step 2.

The relevent code path is the one using intent. But also made the same
change for the pending intent code path.

Bug: 250476316
Test: click on Smartspace timer on lockscreen.

Change-Id: I0ca16b535ff06a80db09640078e9c961fe29a60e
This commit is contained in:
Xiaowen Lei
2022-10-31 23:32:59 +00:00
parent 2d5c31acdf
commit 913676d0db

View File

@@ -234,19 +234,24 @@ class LockscreenSmartspaceController @Inject constructor(
ssView.setIntentStarter(object : BcSmartspaceDataPlugin.IntentStarter {
override fun startIntent(view: View, intent: Intent, showOnLockscreen: Boolean) {
activityStarter.startActivity(
intent,
true, /* dismissShade */
null, /* launch animator - looks bad with the transparent smartspace bg */
showOnLockscreen
)
if (showOnLockscreen) {
activityStarter.startActivity(
intent,
true, /* dismissShade */
// launch animator - looks bad with the transparent smartspace bg
null,
true
)
} else {
activityStarter.postStartActivityDismissingKeyguard(intent, 0)
}
}
override fun startPendingIntent(pi: PendingIntent, showOnLockscreen: Boolean) {
if (showOnLockscreen) {
pi.send()
} else {
activityStarter.startPendingIntentDismissingKeyguard(pi)
activityStarter.postStartActivityDismissingKeyguard(pi)
}
}
})