1
0
Fork 0

For #5334: disable notification for private custom tabs

master
Severin Rudie 2019-12-27 15:51:03 -08:00 committed by Mihai Adrian
parent a441f55d7a
commit a8c47c8805
2 changed files with 11 additions and 2 deletions

View File

@ -32,7 +32,9 @@ class NotificationSessionObserver(
} }
override fun onSessionAdded(session: Session) { override fun onSessionAdded(session: Session) {
if (session.private) { // Custom tabs are meant to feel like part of the app that opened them, not Fenix, so we
// don't need to show a 'close tab' notification for them
if (session.private && !session.isCustomTabSession()) {
SessionNotificationService.start(context) SessionNotificationService.start(context)
} }
} }

View File

@ -26,7 +26,14 @@ import org.mozilla.fenix.ext.metrics
import org.mozilla.fenix.ext.sessionsOfType import org.mozilla.fenix.ext.sessionsOfType
/** /**
* As long as a session is active this service will keep the notification (and our process) alive. * Manages notifications for private tabs.
*
* Private tab notifications solve two problems for us:
* 1 - They allow users to interact with us from outside of the app (example: by closing all
* private tabs).
* 2 - The notification will keep our process alive, allowing us to keep private tabs in memory.
*
* As long as a session is active this service will keep its notification alive.
*/ */
class SessionNotificationService : Service() { class SessionNotificationService : Service() {