For #5334: disable notification for private custom tabs
parent
a441f55d7a
commit
a8c47c8805
|
@ -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)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -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() {
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue