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

Commit 22714f1c authored by Selim Cinek's avatar Selim Cinek
Browse files

Only foreground service notifications can be colorized

Normal ongoing notifications are not allowed to do so
anymore.

Change-Id: I22b55b7350180e9fdfbab9f3f34826470d7c9fa8
Fixes: 34469375
parent 511f2706
Loading
Loading
Loading
Loading
+8 −10
Original line number Original line Diff line number Diff line
@@ -3205,9 +3205,10 @@ public class Notification implements Parcelable
         * This should only be used for high priority ongoing tasks like navigation, an ongoing
         * This should only be used for high priority ongoing tasks like navigation, an ongoing
         * call, or other similarly high-priority events for the user.
         * call, or other similarly high-priority events for the user.
         * <p>
         * <p>
         * For most styles, the coloring will only be applied if the notification is ongoing.
         * For most styles, the coloring will only be applied if the notification is for a
         * foreground service notification.
         * However, for {@link MediaStyle} and {@link DecoratedMediaCustomViewStyle} notifications
         * However, for {@link MediaStyle} and {@link DecoratedMediaCustomViewStyle} notifications
         * that have a media session attached there is no requirement for it to be ongoing.
         * that have a media session attached there is no such requirement.
         *
         *
         * @see Builder#setOngoing(boolean)
         * @see Builder#setOngoing(boolean)
         * @see Builder#setColor(int)
         * @see Builder#setColor(int)
@@ -4705,12 +4706,10 @@ public class Notification implements Parcelable
    }
    }


    /**
    /**
     * @return whether this notification is ongoing and can't be dismissed by the user.
     * @return whether this notification is a foreground service notification
     */
     */
    private boolean isOngoing() {
    private boolean isForegroundService() {
        final int ongoingFlags = Notification.FLAG_FOREGROUND_SERVICE
        return (flags & Notification.FLAG_FOREGROUND_SERVICE) != 0;
                | Notification.FLAG_ONGOING_EVENT | Notification.FLAG_NO_CLEAR;
        return (flags & ongoingFlags) != 0;
    }
    }


    /**
    /**
@@ -4735,8 +4734,7 @@ public class Notification implements Parcelable
    }
    }


    /**
    /**
     * @return true if this notification is colorized. This also factors in whether the
     * @return true if this notification is colorized.
     * notification is ongoing.
     *
     *
     * @hide
     * @hide
     */
     */
@@ -4752,7 +4750,7 @@ public class Notification implements Parcelable
                return true;
                return true;
            }
            }
        }
        }
        return extras.getBoolean(EXTRA_COLORIZED) && isOngoing();
        return extras.getBoolean(EXTRA_COLORIZED) && isForegroundService();
    }
    }


    private boolean hasLargeIcon() {
    private boolean hasLargeIcon() {