Merge "Foreground service notis must be correctly formed." into oc-mr1-dev
This commit is contained in:
committed by
Android (Google) Code Review
commit
f2c00946e0
@@ -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);
|
||||
}
|
||||
|
||||
@@ -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);
|
||||
|
||||
|
||||
@@ -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) {
|
||||
|
||||
Reference in New Issue
Block a user