From 4691d250dccdd7bd59d0f6221812e2b48567ee1a Mon Sep 17 00:00:00 2001 From: gedoor Date: Sun, 5 Sep 2021 23:14:36 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BC=98=E5=8C=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/src/main/assets/defaultData/bookSources.json | 2 +- .../app/help/{ => exoplayer}/ExoPlayerHelper.kt | 5 ++--- .../{ => exoplayer}/OkhttpCacheDataSource.java | 16 +++++++++++----- .../io/legado/app/service/AudioPlayService.kt | 2 +- 4 files changed, 15 insertions(+), 10 deletions(-) rename app/src/main/java/io/legado/app/help/{ => exoplayer}/ExoPlayerHelper.kt (97%) rename app/src/main/java/io/legado/app/help/{ => exoplayer}/OkhttpCacheDataSource.java (98%) diff --git a/app/src/main/assets/defaultData/bookSources.json b/app/src/main/assets/defaultData/bookSources.json index 14527cf74..ddaa9344b 100644 --- a/app/src/main/assets/defaultData/bookSources.json +++ b/app/src/main/assets/defaultData/bookSources.json @@ -40,7 +40,7 @@ "ruleToc": { "chapterList": "$.content.content", "chapterName": "$.chapterTitle", - "chapterUrl": "@js:\"https://www.shuidi.online:9021/fileMgt/getAudioByChapterId?bookId=\"\n + java.getString(\"$.bookId\") + \"&chapterId=\" + java.getString(\"$.id\")\n + \"&pageNum=1&pageSize=50&{{var header = JSON.parse(source.getLoginHeader());'Authorization=' + header.Authorization}}\"" + "chapterUrl": "@js:\"https://www.shuidi.online:9021/fileMgt/getAudioByChapterId?bookId=\"\n + java.getString(\"$.bookId\") + \"&chapterId=\" + java.getString(\"$.id\")\n + \"&pageNum=1&pageSize=50\"" }, "weight": 0 } diff --git a/app/src/main/java/io/legado/app/help/ExoPlayerHelper.kt b/app/src/main/java/io/legado/app/help/exoplayer/ExoPlayerHelper.kt similarity index 97% rename from app/src/main/java/io/legado/app/help/ExoPlayerHelper.kt rename to app/src/main/java/io/legado/app/help/exoplayer/ExoPlayerHelper.kt index a7d653b6f..a2b87d7bd 100644 --- a/app/src/main/java/io/legado/app/help/ExoPlayerHelper.kt +++ b/app/src/main/java/io/legado/app/help/exoplayer/ExoPlayerHelper.kt @@ -1,4 +1,4 @@ -package io.legado.app.help +package io.legado.app.help.exoplayer import android.net.Uri import com.google.android.exoplayer2.MediaItem @@ -46,7 +46,6 @@ object ExoPlayerHelper { */ private val okhttpDataFactory by lazy { OkHttpDataSource.Factory(okHttpClient) - } /** @@ -61,7 +60,7 @@ object ExoPlayerHelper { LeastRecentlyUsedCacheEvictor((100 * 1024 * 1024).toLong()), //记录缓存的数据库 databaseProvider - ); + ) } diff --git a/app/src/main/java/io/legado/app/help/OkhttpCacheDataSource.java b/app/src/main/java/io/legado/app/help/exoplayer/OkhttpCacheDataSource.java similarity index 98% rename from app/src/main/java/io/legado/app/help/OkhttpCacheDataSource.java rename to app/src/main/java/io/legado/app/help/exoplayer/OkhttpCacheDataSource.java index 5e8d5036d..bcd63e897 100644 --- a/app/src/main/java/io/legado/app/help/OkhttpCacheDataSource.java +++ b/app/src/main/java/io/legado/app/help/exoplayer/OkhttpCacheDataSource.java @@ -1,4 +1,4 @@ -package io.legado.app.help; +package io.legado.app.help.exoplayer; import static com.google.android.exoplayer2.util.Assertions.checkNotNull; import static com.google.android.exoplayer2.util.Util.castNonNull; @@ -7,6 +7,7 @@ import static java.lang.Math.min; import android.net.Uri; import androidx.annotation.IntDef; +import androidx.annotation.NonNull; import androidx.annotation.Nullable; import com.google.android.exoplayer2.C; @@ -45,11 +46,13 @@ import java.util.Map; * when possible. When data is not cached it is requested from an upstream {@link DataSource} and * written into the cache. */ +@SuppressWarnings("unused") public final class OkhttpCacheDataSource implements DataSource { /** * {@link DataSource.Factory} for {@link OkhttpCacheDataSource} instances. */ + @SuppressWarnings("unused") public static final class Factory implements DataSource.Factory { private Cache cache; @@ -587,14 +590,14 @@ public final class OkhttpCacheDataSource implements DataSource { } @Override - public void addTransferListener(TransferListener transferListener) { + public void addTransferListener(@NonNull TransferListener transferListener) { checkNotNull(transferListener); cacheReadDataSource.addTransferListener(transferListener); upstreamDataSource.addTransferListener(transferListener); } @Override - public long open(DataSpec dataSpec) throws IOException { + public long open(@NonNull DataSpec dataSpec) throws IOException { try { String key = cacheKeyFactory.buildCacheKey(dataSpec); DataSpec requestDataSpec = dataSpec.buildUpon().setKey(key).build(); @@ -637,7 +640,7 @@ public final class OkhttpCacheDataSource implements DataSource { } @Override - public int read(byte[] buffer, int offset, int length) throws IOException { + public int read(@NonNull byte[] buffer, int offset, int length) throws IOException { DataSpec requestDataSpec = checkNotNull(this.requestDataSpec); DataSpec currentDataSpec = checkNotNull(this.currentDataSpec); if (length == 0) { @@ -679,12 +682,15 @@ public final class OkhttpCacheDataSource implements DataSource { } } - @Override + + @SuppressWarnings("NullableProblems") @Nullable + @Override public Uri getUri() { return actualUri; } + @NonNull @Override public Map> getResponseHeaders() { // TODO: Implement. diff --git a/app/src/main/java/io/legado/app/service/AudioPlayService.kt b/app/src/main/java/io/legado/app/service/AudioPlayService.kt index 332343feb..44686f188 100644 --- a/app/src/main/java/io/legado/app/service/AudioPlayService.kt +++ b/app/src/main/java/io/legado/app/service/AudioPlayService.kt @@ -25,8 +25,8 @@ import io.legado.app.constant.Status import io.legado.app.data.appDb import io.legado.app.data.entities.Book import io.legado.app.data.entities.BookChapter -import io.legado.app.help.ExoPlayerHelper import io.legado.app.help.MediaHelp +import io.legado.app.help.exoplayer.ExoPlayerHelper import io.legado.app.model.AudioPlay import io.legado.app.model.ReadAloud import io.legado.app.model.analyzeRule.AnalyzeUrl