Skip to content

Commit

Permalink
Merge pull request #183 from jasper-apps:bugfix/make-download-notific…
Browse files Browse the repository at this point in the history
…ation-appear-immediately

PiperOrigin-RevId: 482165983
  • Loading branch information
marcbaechinger committed Oct 20, 2022
2 parents 7d5f1a2 + ed55d0b commit 405455b
Showing 1 changed file with 19 additions and 0 deletions.
Expand Up @@ -15,17 +15,23 @@
*/
package com.google.android.exoplayer2.ui;

import static androidx.core.app.NotificationCompat.FOREGROUND_SERVICE_IMMEDIATE;

import android.annotation.SuppressLint;
import android.app.Notification;
import android.app.PendingIntent;
import android.content.Context;
import androidx.annotation.DoNotInline;
import androidx.annotation.DrawableRes;
import androidx.annotation.Nullable;
import androidx.annotation.RequiresApi;
import androidx.annotation.StringRes;
import androidx.core.app.NotificationCompat;
import com.google.android.exoplayer2.C;
import com.google.android.exoplayer2.core.R;
import com.google.android.exoplayer2.offline.Download;
import com.google.android.exoplayer2.scheduler.Requirements;
import com.google.android.exoplayer2.util.Util;
import java.util.List;

/** Helper for creating download notifications. */
Expand Down Expand Up @@ -236,6 +242,19 @@ private Notification buildNotification(
notificationBuilder.setProgress(maxProgress, currentProgress, indeterminateProgress);
notificationBuilder.setOngoing(ongoing);
notificationBuilder.setShowWhen(showWhen);
if (Util.SDK_INT >= 31) {
Api31.setForegroundServiceBehavior(notificationBuilder);
}
return notificationBuilder.build();
}

@RequiresApi(31)
private static final class Api31 {
@SuppressLint("WrongConstant") // TODO(b/254277605): remove lint suppression
@DoNotInline
public static void setForegroundServiceBehavior(
NotificationCompat.Builder notificationBuilder) {
notificationBuilder.setForegroundServiceBehavior(FOREGROUND_SERVICE_IMMEDIATE);
}
}
}

0 comments on commit 405455b

Please sign in to comment.