From 23468ed55c7fdec61663edf41ee83176e0ddbb66 Mon Sep 17 00:00:00 2001 From: tonihei Date: Thu, 13 Mar 2025 10:03:54 -0700 Subject: [PATCH] Clarify that method can only be called after onCreate And improve error message if access to the notification controller happens without a base context. #cherrypick PiperOrigin-RevId: 736545574 (cherry picked from commit 41722be02e34199543dc92c44e12ff95a35cb378) --- .../java/androidx/media3/session/MediaSessionService.java | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/libraries/session/src/main/java/androidx/media3/session/MediaSessionService.java b/libraries/session/src/main/java/androidx/media3/session/MediaSessionService.java index 83ebd4ad05..541db78088 100644 --- a/libraries/session/src/main/java/androidx/media3/session/MediaSessionService.java +++ b/libraries/session/src/main/java/androidx/media3/session/MediaSessionService.java @@ -481,6 +481,9 @@ public abstract class MediaSessionService extends Service { * Sets the timeout for a session to stay in a foreground service state after it paused, stopped, * failed or ended. * + *

Can only be called once the {@link Context} of the service is initialized in {@link + * #onCreate()}. + * *

Has no effect on already running timeouts. * *

The default and maximum value is {@link #DEFAULT_FOREGROUND_SERVICE_TIMEOUT_MS}. If a larger @@ -679,6 +682,7 @@ public abstract class MediaSessionService extends Service { synchronized (lock) { if (mediaNotificationManager == null) { if (mediaNotificationProvider == null) { + checkStateNotNull(getBaseContext(), "Accessing service context before onCreate()"); mediaNotificationProvider = new DefaultMediaNotificationProvider.Builder(getApplicationContext()).build(); }