Skip to content

Commit 405455b

Browse files
Merge pull request #183 from jasper-apps:bugfix/make-download-notification-appear-immediately
PiperOrigin-RevId: 482165983
2 parents 7d5f1a2 + ed55d0b commit 405455b

File tree

1 file changed

+19
-0
lines changed

1 file changed

+19
-0
lines changed

library/core/src/main/java/com/google/android/exoplayer2/ui/DownloadNotificationHelper.java

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -15,17 +15,23 @@
1515
*/
1616
package com.google.android.exoplayer2.ui;
1717

18+
import static androidx.core.app.NotificationCompat.FOREGROUND_SERVICE_IMMEDIATE;
19+
20+
import android.annotation.SuppressLint;
1821
import android.app.Notification;
1922
import android.app.PendingIntent;
2023
import android.content.Context;
24+
import androidx.annotation.DoNotInline;
2125
import androidx.annotation.DrawableRes;
2226
import androidx.annotation.Nullable;
27+
import androidx.annotation.RequiresApi;
2328
import androidx.annotation.StringRes;
2429
import androidx.core.app.NotificationCompat;
2530
import com.google.android.exoplayer2.C;
2631
import com.google.android.exoplayer2.core.R;
2732
import com.google.android.exoplayer2.offline.Download;
2833
import com.google.android.exoplayer2.scheduler.Requirements;
34+
import com.google.android.exoplayer2.util.Util;
2935
import java.util.List;
3036

3137
/** Helper for creating download notifications. */
@@ -236,6 +242,19 @@ private Notification buildNotification(
236242
notificationBuilder.setProgress(maxProgress, currentProgress, indeterminateProgress);
237243
notificationBuilder.setOngoing(ongoing);
238244
notificationBuilder.setShowWhen(showWhen);
245+
if (Util.SDK_INT >= 31) {
246+
Api31.setForegroundServiceBehavior(notificationBuilder);
247+
}
239248
return notificationBuilder.build();
240249
}
250+
251+
@RequiresApi(31)
252+
private static final class Api31 {
253+
@SuppressLint("WrongConstant") // TODO(b/254277605): remove lint suppression
254+
@DoNotInline
255+
public static void setForegroundServiceBehavior(
256+
NotificationCompat.Builder notificationBuilder) {
257+
notificationBuilder.setForegroundServiceBehavior(FOREGROUND_SERVICE_IMMEDIATE);
258+
}
259+
}
241260
}

0 commit comments

Comments
 (0)