From f4a3478d8409b25e865acf5eff8011fd4fe845c3 Mon Sep 17 00:00:00 2001 From: ibaker Date: Thu, 30 Mar 2023 09:07:57 +0000 Subject: [PATCH] Use `Future.get()` `@Deterministic` annotation in `OfflineLicenseHelper` This means we don't need to manually store the result of `get()` into a local to convince the nullness checker that it remains non-null. PiperOrigin-RevId: 520576719 --- .../media3/exoplayer/drm/OfflineLicenseHelper.java | 14 ++++++-------- 1 file changed, 6 insertions(+), 8 deletions(-) diff --git a/libraries/exoplayer/src/main/java/androidx/media3/exoplayer/drm/OfflineLicenseHelper.java b/libraries/exoplayer/src/main/java/androidx/media3/exoplayer/drm/OfflineLicenseHelper.java index 1dff7d6728..546da70fbe 100644 --- a/libraries/exoplayer/src/main/java/androidx/media3/exoplayer/drm/OfflineLicenseHelper.java +++ b/libraries/exoplayer/src/main/java/androidx/media3/exoplayer/drm/OfflineLicenseHelper.java @@ -376,27 +376,25 @@ public final class OfflineLicenseHelper { // (drmSession.state == STATE_ERROR). drmListenerConditionVariable.block(); - SettableFuture<@NullableType DrmSessionException> drmSessionErrorFuture = - SettableFuture.create(); + SettableFuture<@NullableType DrmSessionException> drmSessionError = SettableFuture.create(); handler.post( () -> { try { - DrmSessionException drmSessionError = drmSession.getError(); + DrmSessionException error = drmSession.getError(); if (drmSession.getState() == DrmSession.STATE_ERROR) { drmSession.release(eventDispatcher); drmSessionManager.release(); } - drmSessionErrorFuture.set(drmSessionError); + drmSessionError.set(error); } catch (Throwable e) { - drmSessionErrorFuture.setException(e); + drmSessionError.setException(e); drmSession.release(eventDispatcher); drmSessionManager.release(); } }); try { - DrmSessionException drmSessionError = drmSessionErrorFuture.get(); - if (drmSessionError != null) { - throw drmSessionError; + if (drmSessionError.get() != null) { + throw drmSessionError.get(); } else { return drmSession; }