Loading packages/SystemUI/src/com/android/systemui/statusbar/phone/NotificationIconAreaController.java +19 −12 Original line number Original line Diff line number Diff line Loading @@ -13,7 +13,6 @@ import android.widget.FrameLayout; import androidx.annotation.NonNull; import androidx.annotation.NonNull; import androidx.collection.ArrayMap; import androidx.collection.ArrayMap; import com.android.internal.annotations.VisibleForTesting; import com.android.internal.statusbar.StatusBarIcon; import com.android.internal.statusbar.StatusBarIcon; import com.android.internal.util.ContrastColorUtil; import com.android.internal.util.ContrastColorUtil; import com.android.settingslib.Utils; import com.android.settingslib.Utils; Loading @@ -24,7 +23,6 @@ import com.android.systemui.plugins.DarkIconDispatcher; import com.android.systemui.plugins.DarkIconDispatcher.DarkReceiver; import com.android.systemui.plugins.DarkIconDispatcher.DarkReceiver; import com.android.systemui.plugins.statusbar.StatusBarStateController; import com.android.systemui.plugins.statusbar.StatusBarStateController; import com.android.systemui.statusbar.CrossFadeHelper; import com.android.systemui.statusbar.CrossFadeHelper; import com.android.systemui.statusbar.NotificationListener; import com.android.systemui.statusbar.NotificationMediaManager; import com.android.systemui.statusbar.NotificationMediaManager; import com.android.systemui.statusbar.NotificationShelf; import com.android.systemui.statusbar.NotificationShelf; import com.android.systemui.statusbar.StatusBarIconView; import com.android.systemui.statusbar.StatusBarIconView; Loading Loading @@ -242,11 +240,15 @@ public class NotificationIconAreaController implements DarkReceiver, protected boolean shouldShowNotificationIcon(NotificationEntry entry, protected boolean shouldShowNotificationIcon(NotificationEntry entry, boolean showAmbient, boolean showLowPriority, boolean hideDismissed, boolean showAmbient, boolean showLowPriority, boolean hideDismissed, boolean hideRepliedMessages, boolean hideCurrentMedia, boolean hideCenteredIcon, boolean hideRepliedMessages, boolean hideCurrentMedia, boolean hideCenteredIcon, boolean hidePulsing) { boolean hidePulsing, boolean onlyShowCenteredIcon) { final boolean isCenteredNotificationIcon = entry.centeredIcon != null final boolean isCenteredNotificationIcon = mCenteredIconView != null && entry.centeredIcon != null && Objects.equals(entry.centeredIcon, mCenteredIconView); && Objects.equals(entry.centeredIcon, mCenteredIconView); if (hideCenteredIcon == isCenteredNotificationIcon) { if (onlyShowCenteredIcon) { return isCenteredNotificationIcon; } if (hideCenteredIcon && isCenteredNotificationIcon) { return false; return false; } } if (mEntryManager.getNotificationData().isAmbient(entry.key) && !showAmbient) { if (mEntryManager.getNotificationData().isAmbient(entry.key) && !showAmbient) { Loading Loading @@ -299,8 +301,9 @@ public class NotificationIconAreaController implements DarkReceiver, false /* hideDismissed */, false /* hideDismissed */, false /* hideRepliedMessages */, false /* hideRepliedMessages */, false /* hideCurrentMedia */, false /* hideCurrentMedia */, true /* hide centered icon */, false /* hide centered icon */, false /* hidePulsing */); false /* hidePulsing */, false /* onlyShowCenteredIcon */); } } public void updateStatusBarIcons() { public void updateStatusBarIcons() { Loading @@ -311,7 +314,8 @@ public class NotificationIconAreaController implements DarkReceiver, true /* hideRepliedMessages */, true /* hideRepliedMessages */, false /* hideCurrentMedia */, false /* hideCurrentMedia */, true /* hide centered icon */, true /* hide centered icon */, false /* hidePulsing */); false /* hidePulsing */, false /* onlyShowCenteredIcon */); } } private void updateCenterIcon() { private void updateCenterIcon() { Loading @@ -322,7 +326,8 @@ public class NotificationIconAreaController implements DarkReceiver, false /* hideRepliedMessages */, false /* hideRepliedMessages */, false /* hideCurrentMedia */, false /* hideCurrentMedia */, false /* hide centered icon */, false /* hide centered icon */, false /* hidePulsing */); false /* hidePulsing */, true/* onlyShowCenteredIcon */); } } public void updateAodNotificationIcons() { public void updateAodNotificationIcons() { Loading @@ -333,7 +338,8 @@ public class NotificationIconAreaController implements DarkReceiver, true /* hideRepliedMessages */, true /* hideRepliedMessages */, true /* hideCurrentMedia */, true /* hideCurrentMedia */, true /* hide centered icon */, true /* hide centered icon */, mBypassController.getBypassEnabled() /* hidePulsing */); mBypassController.getBypassEnabled() /* hidePulsing */, false /* onlyShowCenteredIcon */); } } /** /** Loading @@ -349,7 +355,7 @@ public class NotificationIconAreaController implements DarkReceiver, private void updateIconsForLayout(Function<NotificationEntry, StatusBarIconView> function, private void updateIconsForLayout(Function<NotificationEntry, StatusBarIconView> function, NotificationIconContainer hostLayout, boolean showAmbient, boolean showLowPriority, NotificationIconContainer hostLayout, boolean showAmbient, boolean showLowPriority, boolean hideDismissed, boolean hideRepliedMessages, boolean hideCurrentMedia, boolean hideDismissed, boolean hideRepliedMessages, boolean hideCurrentMedia, boolean hideCenteredIcon, boolean hidePulsing) { boolean hideCenteredIcon, boolean hidePulsing, boolean onlyShowCenteredIcon) { ArrayList<StatusBarIconView> toShow = new ArrayList<>( ArrayList<StatusBarIconView> toShow = new ArrayList<>( mNotificationScrollLayout.getChildCount()); mNotificationScrollLayout.getChildCount()); Loading @@ -359,7 +365,8 @@ public class NotificationIconAreaController implements DarkReceiver, if (view instanceof ExpandableNotificationRow) { if (view instanceof ExpandableNotificationRow) { NotificationEntry ent = ((ExpandableNotificationRow) view).getEntry(); NotificationEntry ent = ((ExpandableNotificationRow) view).getEntry(); if (shouldShowNotificationIcon(ent, showAmbient, showLowPriority, hideDismissed, if (shouldShowNotificationIcon(ent, showAmbient, showLowPriority, hideDismissed, hideRepliedMessages, hideCurrentMedia, hideCenteredIcon, hidePulsing)) { hideRepliedMessages, hideCurrentMedia, hideCenteredIcon, hidePulsing, onlyShowCenteredIcon)) { StatusBarIconView iconView = function.apply(ent); StatusBarIconView iconView = function.apply(ent); if (iconView != null) { if (iconView != null) { toShow.add(iconView); toShow.add(iconView); Loading Loading
packages/SystemUI/src/com/android/systemui/statusbar/phone/NotificationIconAreaController.java +19 −12 Original line number Original line Diff line number Diff line Loading @@ -13,7 +13,6 @@ import android.widget.FrameLayout; import androidx.annotation.NonNull; import androidx.annotation.NonNull; import androidx.collection.ArrayMap; import androidx.collection.ArrayMap; import com.android.internal.annotations.VisibleForTesting; import com.android.internal.statusbar.StatusBarIcon; import com.android.internal.statusbar.StatusBarIcon; import com.android.internal.util.ContrastColorUtil; import com.android.internal.util.ContrastColorUtil; import com.android.settingslib.Utils; import com.android.settingslib.Utils; Loading @@ -24,7 +23,6 @@ import com.android.systemui.plugins.DarkIconDispatcher; import com.android.systemui.plugins.DarkIconDispatcher.DarkReceiver; import com.android.systemui.plugins.DarkIconDispatcher.DarkReceiver; import com.android.systemui.plugins.statusbar.StatusBarStateController; import com.android.systemui.plugins.statusbar.StatusBarStateController; import com.android.systemui.statusbar.CrossFadeHelper; import com.android.systemui.statusbar.CrossFadeHelper; import com.android.systemui.statusbar.NotificationListener; import com.android.systemui.statusbar.NotificationMediaManager; import com.android.systemui.statusbar.NotificationMediaManager; import com.android.systemui.statusbar.NotificationShelf; import com.android.systemui.statusbar.NotificationShelf; import com.android.systemui.statusbar.StatusBarIconView; import com.android.systemui.statusbar.StatusBarIconView; Loading Loading @@ -242,11 +240,15 @@ public class NotificationIconAreaController implements DarkReceiver, protected boolean shouldShowNotificationIcon(NotificationEntry entry, protected boolean shouldShowNotificationIcon(NotificationEntry entry, boolean showAmbient, boolean showLowPriority, boolean hideDismissed, boolean showAmbient, boolean showLowPriority, boolean hideDismissed, boolean hideRepliedMessages, boolean hideCurrentMedia, boolean hideCenteredIcon, boolean hideRepliedMessages, boolean hideCurrentMedia, boolean hideCenteredIcon, boolean hidePulsing) { boolean hidePulsing, boolean onlyShowCenteredIcon) { final boolean isCenteredNotificationIcon = entry.centeredIcon != null final boolean isCenteredNotificationIcon = mCenteredIconView != null && entry.centeredIcon != null && Objects.equals(entry.centeredIcon, mCenteredIconView); && Objects.equals(entry.centeredIcon, mCenteredIconView); if (hideCenteredIcon == isCenteredNotificationIcon) { if (onlyShowCenteredIcon) { return isCenteredNotificationIcon; } if (hideCenteredIcon && isCenteredNotificationIcon) { return false; return false; } } if (mEntryManager.getNotificationData().isAmbient(entry.key) && !showAmbient) { if (mEntryManager.getNotificationData().isAmbient(entry.key) && !showAmbient) { Loading Loading @@ -299,8 +301,9 @@ public class NotificationIconAreaController implements DarkReceiver, false /* hideDismissed */, false /* hideDismissed */, false /* hideRepliedMessages */, false /* hideRepliedMessages */, false /* hideCurrentMedia */, false /* hideCurrentMedia */, true /* hide centered icon */, false /* hide centered icon */, false /* hidePulsing */); false /* hidePulsing */, false /* onlyShowCenteredIcon */); } } public void updateStatusBarIcons() { public void updateStatusBarIcons() { Loading @@ -311,7 +314,8 @@ public class NotificationIconAreaController implements DarkReceiver, true /* hideRepliedMessages */, true /* hideRepliedMessages */, false /* hideCurrentMedia */, false /* hideCurrentMedia */, true /* hide centered icon */, true /* hide centered icon */, false /* hidePulsing */); false /* hidePulsing */, false /* onlyShowCenteredIcon */); } } private void updateCenterIcon() { private void updateCenterIcon() { Loading @@ -322,7 +326,8 @@ public class NotificationIconAreaController implements DarkReceiver, false /* hideRepliedMessages */, false /* hideRepliedMessages */, false /* hideCurrentMedia */, false /* hideCurrentMedia */, false /* hide centered icon */, false /* hide centered icon */, false /* hidePulsing */); false /* hidePulsing */, true/* onlyShowCenteredIcon */); } } public void updateAodNotificationIcons() { public void updateAodNotificationIcons() { Loading @@ -333,7 +338,8 @@ public class NotificationIconAreaController implements DarkReceiver, true /* hideRepliedMessages */, true /* hideRepliedMessages */, true /* hideCurrentMedia */, true /* hideCurrentMedia */, true /* hide centered icon */, true /* hide centered icon */, mBypassController.getBypassEnabled() /* hidePulsing */); mBypassController.getBypassEnabled() /* hidePulsing */, false /* onlyShowCenteredIcon */); } } /** /** Loading @@ -349,7 +355,7 @@ public class NotificationIconAreaController implements DarkReceiver, private void updateIconsForLayout(Function<NotificationEntry, StatusBarIconView> function, private void updateIconsForLayout(Function<NotificationEntry, StatusBarIconView> function, NotificationIconContainer hostLayout, boolean showAmbient, boolean showLowPriority, NotificationIconContainer hostLayout, boolean showAmbient, boolean showLowPriority, boolean hideDismissed, boolean hideRepliedMessages, boolean hideCurrentMedia, boolean hideDismissed, boolean hideRepliedMessages, boolean hideCurrentMedia, boolean hideCenteredIcon, boolean hidePulsing) { boolean hideCenteredIcon, boolean hidePulsing, boolean onlyShowCenteredIcon) { ArrayList<StatusBarIconView> toShow = new ArrayList<>( ArrayList<StatusBarIconView> toShow = new ArrayList<>( mNotificationScrollLayout.getChildCount()); mNotificationScrollLayout.getChildCount()); Loading @@ -359,7 +365,8 @@ public class NotificationIconAreaController implements DarkReceiver, if (view instanceof ExpandableNotificationRow) { if (view instanceof ExpandableNotificationRow) { NotificationEntry ent = ((ExpandableNotificationRow) view).getEntry(); NotificationEntry ent = ((ExpandableNotificationRow) view).getEntry(); if (shouldShowNotificationIcon(ent, showAmbient, showLowPriority, hideDismissed, if (shouldShowNotificationIcon(ent, showAmbient, showLowPriority, hideDismissed, hideRepliedMessages, hideCurrentMedia, hideCenteredIcon, hidePulsing)) { hideRepliedMessages, hideCurrentMedia, hideCenteredIcon, hidePulsing, onlyShowCenteredIcon)) { StatusBarIconView iconView = function.apply(ent); StatusBarIconView iconView = function.apply(ent); if (iconView != null) { if (iconView != null) { toShow.add(iconView); toShow.add(iconView); Loading