Loading services/core/java/com/android/server/am/ServiceRecord.java +4 −1 Original line number Diff line number Diff line Loading @@ -517,11 +517,14 @@ final class ServiceRecord extends Binder { } catch (PackageManager.NameNotFoundException e) { } } if (localForegroundNoti.getSmallIcon() == null) { if (localForegroundNoti.getSmallIcon() == null || nm.getNotificationChannel(localPackageName, appUid, localForegroundNoti.getChannelId()) == null) { // Notifications whose icon is 0 are defined to not show // a notification, silently ignoring it. We don't want to // just ignore it, we want to prevent the service from // being foreground. // Also every notification needs a channel. throw new RuntimeException("invalid service notification: " + foregroundNoti); } Loading services/core/java/com/android/server/notification/NotificationManagerInternal.java +2 −0 Original line number Diff line number Diff line Loading @@ -17,8 +17,10 @@ package com.android.server.notification; import android.app.Notification; import android.app.NotificationChannel; public interface NotificationManagerInternal { NotificationChannel getNotificationChannel(String pkg, int uid, String channelId); void enqueueNotification(String pkg, String basePkg, int callingUid, int callingPid, String tag, int id, Notification notification, int userId); Loading services/core/java/com/android/server/notification/NotificationManagerService.java +6 −0 Original line number Diff line number Diff line Loading @@ -3372,6 +3372,12 @@ public class NotificationManagerService extends SystemService { * The private API only accessible to the system process. */ private final NotificationManagerInternal mInternalService = new NotificationManagerInternal() { @Override public NotificationChannel getNotificationChannel(String pkg, int uid, String channelId) { return mRankingHelper.getNotificationChannel(pkg, uid, channelId, false); } @Override public void enqueueNotification(String pkg, String opPkg, int callingUid, int callingPid, String tag, int id, Notification notification, int userId) { Loading Loading
services/core/java/com/android/server/am/ServiceRecord.java +4 −1 Original line number Diff line number Diff line Loading @@ -517,11 +517,14 @@ final class ServiceRecord extends Binder { } catch (PackageManager.NameNotFoundException e) { } } if (localForegroundNoti.getSmallIcon() == null) { if (localForegroundNoti.getSmallIcon() == null || nm.getNotificationChannel(localPackageName, appUid, localForegroundNoti.getChannelId()) == null) { // Notifications whose icon is 0 are defined to not show // a notification, silently ignoring it. We don't want to // just ignore it, we want to prevent the service from // being foreground. // Also every notification needs a channel. throw new RuntimeException("invalid service notification: " + foregroundNoti); } Loading
services/core/java/com/android/server/notification/NotificationManagerInternal.java +2 −0 Original line number Diff line number Diff line Loading @@ -17,8 +17,10 @@ package com.android.server.notification; import android.app.Notification; import android.app.NotificationChannel; public interface NotificationManagerInternal { NotificationChannel getNotificationChannel(String pkg, int uid, String channelId); void enqueueNotification(String pkg, String basePkg, int callingUid, int callingPid, String tag, int id, Notification notification, int userId); Loading
services/core/java/com/android/server/notification/NotificationManagerService.java +6 −0 Original line number Diff line number Diff line Loading @@ -3372,6 +3372,12 @@ public class NotificationManagerService extends SystemService { * The private API only accessible to the system process. */ private final NotificationManagerInternal mInternalService = new NotificationManagerInternal() { @Override public NotificationChannel getNotificationChannel(String pkg, int uid, String channelId) { return mRankingHelper.getNotificationChannel(pkg, uid, channelId, false); } @Override public void enqueueNotification(String pkg, String opPkg, int callingUid, int callingPid, String tag, int id, Notification notification, int userId) { Loading