messageTray: Use duration 0 when not animating

Instead of using a special branch for the not animate case, just use
the same path with duration 0.

Since commit ee09c5c85312f571e14abe69bb6674a361c16d65 we are sure that
duration 0 is always preserved.

In the not animate case, we now call this._updateState(). This was not
happening before.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/2987>
This commit is contained in:
Alessandro Bono 2023-01-15 13:18:26 +01:00 committed by Marge Bot
parent be49c8efc2
commit 1571171a21

View File

@ -1356,29 +1356,23 @@ export const MessageTray = GObject.registerClass({
this._resetNotificationLeftTimeout(); this._resetNotificationLeftTimeout();
this._bannerBin.remove_all_transitions(); this._bannerBin.remove_all_transitions();
if (animate) { const duration = animate ? ANIMATION_TIME : 0;
this._notificationState = State.HIDING; this._notificationState = State.HIDING;
this._bannerBin.ease({ this._bannerBin.ease({
opacity: 0, opacity: 0,
duration: ANIMATION_TIME, duration,
mode: Clutter.AnimationMode.EASE_OUT_BACK, mode: Clutter.AnimationMode.EASE_OUT_BACK,
}); });
this._bannerBin.ease({ this._bannerBin.ease({
y: -this._bannerBin.height, y: -this._bannerBin.height,
duration: ANIMATION_TIME, duration,
mode: Clutter.AnimationMode.EASE_OUT_BACK, mode: Clutter.AnimationMode.EASE_OUT_BACK,
onComplete: () => { onComplete: () => {
this._notificationState = State.HIDDEN; this._notificationState = State.HIDDEN;
this._hideNotificationCompleted(); this._hideNotificationCompleted();
this._updateState(); this._updateState();
}, },
}); });
} else {
this._bannerBin.y = -this._bannerBin.height;
this._bannerBin.opacity = 0;
this._notificationState = State.HIDDEN;
this._hideNotificationCompleted();
}
} }
_hideNotificationCompleted() { _hideNotificationCompleted() {