mirror of
https://github.com/androidx/media.git
synced 2025-05-04 06:00:37 +08:00
Merge pull request #183 from jasper-apps:bugfix/make-download-notification-appear-immediately
PiperOrigin-RevId: 482165983
This commit is contained in:
commit
1565a2daba
@ -30,6 +30,8 @@
|
|||||||
* Fix potential infinite loop in `ProgressiveDownloader` caused by
|
* Fix potential infinite loop in `ProgressiveDownloader` caused by
|
||||||
simultaneous download and playback with the same `PriorityTaskManager`
|
simultaneous download and playback with the same `PriorityTaskManager`
|
||||||
([#10570](https://github.com/google/ExoPlayer/pull/10570)).
|
([#10570](https://github.com/google/ExoPlayer/pull/10570)).
|
||||||
|
* Make download notification appear immediately
|
||||||
|
([#183](https://github.com/androidx/media/pull/183))
|
||||||
* Audio:
|
* Audio:
|
||||||
* Adds `AudioOffloadListener.onExperimentalOffloadedPlayback` for the
|
* Adds `AudioOffloadListener.onExperimentalOffloadedPlayback` for the
|
||||||
AudioTrack offload state.
|
AudioTrack offload state.
|
||||||
|
@ -15,15 +15,21 @@
|
|||||||
*/
|
*/
|
||||||
package androidx.media3.exoplayer.offline;
|
package androidx.media3.exoplayer.offline;
|
||||||
|
|
||||||
|
import static androidx.core.app.NotificationCompat.FOREGROUND_SERVICE_IMMEDIATE;
|
||||||
|
|
||||||
|
import android.annotation.SuppressLint;
|
||||||
import android.app.Notification;
|
import android.app.Notification;
|
||||||
import android.app.PendingIntent;
|
import android.app.PendingIntent;
|
||||||
import android.content.Context;
|
import android.content.Context;
|
||||||
|
import androidx.annotation.DoNotInline;
|
||||||
import androidx.annotation.DrawableRes;
|
import androidx.annotation.DrawableRes;
|
||||||
import androidx.annotation.Nullable;
|
import androidx.annotation.Nullable;
|
||||||
|
import androidx.annotation.RequiresApi;
|
||||||
import androidx.annotation.StringRes;
|
import androidx.annotation.StringRes;
|
||||||
import androidx.core.app.NotificationCompat;
|
import androidx.core.app.NotificationCompat;
|
||||||
import androidx.media3.common.C;
|
import androidx.media3.common.C;
|
||||||
import androidx.media3.common.util.UnstableApi;
|
import androidx.media3.common.util.UnstableApi;
|
||||||
|
import androidx.media3.common.util.Util;
|
||||||
import androidx.media3.exoplayer.R;
|
import androidx.media3.exoplayer.R;
|
||||||
import androidx.media3.exoplayer.scheduler.Requirements;
|
import androidx.media3.exoplayer.scheduler.Requirements;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
@ -237,6 +243,19 @@ public final class DownloadNotificationHelper {
|
|||||||
notificationBuilder.setProgress(maxProgress, currentProgress, indeterminateProgress);
|
notificationBuilder.setProgress(maxProgress, currentProgress, indeterminateProgress);
|
||||||
notificationBuilder.setOngoing(ongoing);
|
notificationBuilder.setOngoing(ongoing);
|
||||||
notificationBuilder.setShowWhen(showWhen);
|
notificationBuilder.setShowWhen(showWhen);
|
||||||
|
if (Util.SDK_INT >= 31) {
|
||||||
|
Api31.setForegroundServiceBehavior(notificationBuilder);
|
||||||
|
}
|
||||||
return notificationBuilder.build();
|
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);
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user