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

Commit 91ffdc41 authored by Adrian Roos's avatar Adrian Roos
Browse files

AOD: Fix launching notifications from occluded AOD

Fixes an issue where launching notifications from AOD when a SHOW_WHEN_LOCKED
activity was showing did not work because the bouncer got dismissed.

After that was fixed and the bouncer showed, the launch transition did not
work because the panel was not collapsible. Instead of waiting for the panel
to collapse, just start keyguardDone directly if not collapsible.

Change-Id: I8813f91c741da372c9cb559797f4dc0fe8578d8c
Fixes: 63686192
Test: Disable TrustAgent if enabled, launch maps navigation, get notification, double tap on notification and/or actions. Verify Bouncer shows and unlock works.
parent fee661ca
Loading
Loading
Loading
Loading
+24 −13
Original line number Diff line number Diff line
@@ -5786,15 +5786,18 @@ public class StatusBar extends SystemUI implements DemoMode,
                        boolean handled = superOnClickHandler(view, pendingIntent, fillInIntent);

                        // close the shade if it was open
                        if (handled) {
                        if (handled && !mNotificationPanel.isFullyCollapsed()) {
                            animateCollapsePanels(CommandQueue.FLAG_EXCLUDE_RECENTS_PANEL,
                                    true /* force */);
                            visibilityChanged(false);
                            mAssistManager.hideAssist();
                        }

                            // Wait for activity start.
                        return handled;
                            return true;
                        } else {
                            return false;
                        }

                    }
                }, afterKeyguardGone);
                return true;
@@ -6844,12 +6847,16 @@ public class StatusBar extends SystemUI implements DemoMode,
                    }
                }.start();

                if (!mNotificationPanel.isFullyCollapsed()) {
                    // close the shade if it was open
                    animateCollapsePanels(CommandQueue.FLAG_EXCLUDE_RECENTS_PANEL,
                            true /* force */, true /* delayed */);
                    visibilityChanged(false);

                    return true;
                } else {
                    return false;
                }
            }
        }, afterKeyguardGone);
    }
@@ -7001,12 +7008,16 @@ public class StatusBar extends SystemUI implements DemoMode,
                        new Thread(runnable).start();
                    }

                    if (!mNotificationPanel.isFullyCollapsed()) {
                        // close the shade if it was open
                        animateCollapsePanels(CommandQueue.FLAG_EXCLUDE_RECENTS_PANEL,
                                true /* force */, true /* delayed */);
                        visibilityChanged(false);

                        return true;
                    } else {
                        return false;
                    }
                }
            }, afterKeyguardGone);
        }
+3 −1
Original line number Diff line number Diff line
@@ -226,7 +226,9 @@ public class StatusBarKeyguardViewManager implements RemoteInputController.Callb
            if (mOccluded) {
                mStatusBar.hideKeyguard();
                mStatusBar.stopWaitingForKeyguardExit();
                if (hideBouncerWhenShowing || mBouncer.needsFullscreenBouncer()) {
                    hideBouncer(false /* destroyView */);
                }
            } else {
                showBouncerOrKeyguard(hideBouncerWhenShowing);
            }