From 8480a4b44d37f442282c141a5ce5ffd12a076f08 Mon Sep 17 00:00:00 2001 From: eguven Date: Wed, 3 Apr 2019 01:24:07 +0100 Subject: [PATCH] Add Downloader.getCounters method PiperOrigin-RevId: 241636860 --- .../com/google/android/exoplayer2/offline/Downloader.java | 4 ++++ .../android/exoplayer2/offline/ProgressiveDownloader.java | 5 +++++ .../android/exoplayer2/offline/SegmentDownloader.java | 5 +++++ .../android/exoplayer2/offline/DownloadManagerTest.java | 6 ++++++ 4 files changed, 20 insertions(+) diff --git a/library/core/src/main/java/com/google/android/exoplayer2/offline/Downloader.java b/library/core/src/main/java/com/google/android/exoplayer2/offline/Downloader.java index b050e9770d..39f562ac19 100644 --- a/library/core/src/main/java/com/google/android/exoplayer2/offline/Downloader.java +++ b/library/core/src/main/java/com/google/android/exoplayer2/offline/Downloader.java @@ -16,6 +16,7 @@ package com.google.android.exoplayer2.offline; import com.google.android.exoplayer2.C; +import com.google.android.exoplayer2.upstream.cache.CacheUtil.CachingCounters; import java.io.IOException; /** @@ -47,6 +48,9 @@ public interface Downloader { */ float getDownloadPercentage(); + /** Returns a {@link CachingCounters} which holds download counters. */ + CachingCounters getCounters(); + /** * Removes the media. * diff --git a/library/core/src/main/java/com/google/android/exoplayer2/offline/ProgressiveDownloader.java b/library/core/src/main/java/com/google/android/exoplayer2/offline/ProgressiveDownloader.java index 8cf5820fa6..9794b19b62 100644 --- a/library/core/src/main/java/com/google/android/exoplayer2/offline/ProgressiveDownloader.java +++ b/library/core/src/main/java/com/google/android/exoplayer2/offline/ProgressiveDownloader.java @@ -106,6 +106,11 @@ public final class ProgressiveDownloader implements Downloader { return cachingCounters.percentage; } + @Override + public CachingCounters getCounters() { + return cachingCounters; + } + @Override public void remove() { CacheUtil.remove(dataSpec, cache, cacheKeyFactory); diff --git a/library/core/src/main/java/com/google/android/exoplayer2/offline/SegmentDownloader.java b/library/core/src/main/java/com/google/android/exoplayer2/offline/SegmentDownloader.java index c865df7dd9..4dbae47775 100644 --- a/library/core/src/main/java/com/google/android/exoplayer2/offline/SegmentDownloader.java +++ b/library/core/src/main/java/com/google/android/exoplayer2/offline/SegmentDownloader.java @@ -158,6 +158,11 @@ public abstract class SegmentDownloader> impleme return counters.percentage; } + @Override + public CachingCounters getCounters() { + return counters; + } + @Override public final void remove() throws InterruptedException { try { diff --git a/library/core/src/test/java/com/google/android/exoplayer2/offline/DownloadManagerTest.java b/library/core/src/test/java/com/google/android/exoplayer2/offline/DownloadManagerTest.java index 4bdd1390c6..4046ff76e8 100644 --- a/library/core/src/test/java/com/google/android/exoplayer2/offline/DownloadManagerTest.java +++ b/library/core/src/test/java/com/google/android/exoplayer2/offline/DownloadManagerTest.java @@ -28,6 +28,7 @@ import com.google.android.exoplayer2.testutil.DummyMainThread.TestRunnable; import com.google.android.exoplayer2.testutil.RobolectricUtil; import com.google.android.exoplayer2.testutil.TestDownloadManagerListener; import com.google.android.exoplayer2.testutil.TestUtil; +import com.google.android.exoplayer2.upstream.cache.CacheUtil.CachingCounters; import java.io.IOException; import java.util.ArrayList; import java.util.Arrays; @@ -747,6 +748,11 @@ public class DownloadManagerTest { return C.PERCENTAGE_UNSET; } + @Override + public CachingCounters getCounters() { + return null; + } + private void assertDoesNotStart() throws InterruptedException { Thread.sleep(ASSERT_FALSE_TIME); assertThat(started.getCount()).isEqualTo(1);