mirror of
https://github.com/gedoor/legado.git
synced 2024-07-04 23:36:56 +08:00
1,更新okhttp到4.9.3
2,更新Cronet版本到最新稳定版96.0.4664.104 3,修复一些过时方法
This commit is contained in:
parent
afd262be8b
commit
5be99c5db2
|
@ -188,7 +188,7 @@ dependencies {
|
|||
implementation('com.github.gedoor:rhino-android:1.6')
|
||||
|
||||
//网络
|
||||
implementation('com.squareup.okhttp3:okhttp:4.9.2')
|
||||
implementation('com.squareup.okhttp3:okhttp:4.9.3')
|
||||
implementation(fileTree(dir: 'cronetlib', include: ['*.jar', '*.aar']))
|
||||
|
||||
//Glide
|
||||
|
|
Binary file not shown.
Binary file not shown.
Binary file not shown.
|
@ -1 +1 @@
|
|||
{"arm64-v8a":"9717593e18b283ac23a0be548c5aeea6","armeabi-v7a":"44c83d10c4a32ff20466bd7ef363c264","x86":"ce4ad637ead52aa3761e4ce3083f6453","x86_64":"a9924d9d2a31510d7335f6c6af32abc0","version":"93.0.4577.82"}
|
||||
{"arm64-v8a":"690c212d9bbad4b09b9e1ba450b273bb","armeabi-v7a":"4dbb88e5229abef7d84138218772f872","x86":"3f2421e040147da48abb07cfc6c7c87e","x86_64":"730a71ef4f03a27d1c8c8a77e7d09ff5","version":"96.0.4664.104"}
|
|
@ -2,7 +2,7 @@ package io.legado.app.help.exoplayer
|
|||
|
||||
import android.net.Uri
|
||||
import com.google.android.exoplayer2.MediaItem
|
||||
import com.google.android.exoplayer2.database.ExoDatabaseProvider
|
||||
import com.google.android.exoplayer2.database.StandaloneDatabaseProvider
|
||||
import com.google.android.exoplayer2.ext.okhttp.OkHttpDataSource
|
||||
import com.google.android.exoplayer2.source.MediaSource
|
||||
import com.google.android.exoplayer2.source.ProgressiveMediaSource
|
||||
|
@ -49,7 +49,7 @@ object ExoPlayerHelper {
|
|||
* Exoplayer 内置的缓存
|
||||
*/
|
||||
private val cache: Cache by lazy {
|
||||
val databaseProvider = ExoDatabaseProvider(appCtx)
|
||||
val databaseProvider = StandaloneDatabaseProvider(appCtx)
|
||||
return@lazy SimpleCache(
|
||||
//Exoplayer的缓存路径
|
||||
File(appCtx.externalCacheDir, "exoplayer"),
|
||||
|
|
|
@ -157,8 +157,6 @@ class CronetRequestCallback @JvmOverloads internal constructor(
|
|||
|
||||
private fun protocolFromNegotiatedProtocol(responseInfo: UrlResponseInfo): Protocol {
|
||||
val negotiatedProtocol = responseInfo.negotiatedProtocol.lowercase(Locale.getDefault())
|
||||
// Log.e("Cronet", responseInfo.url)
|
||||
// Log.e("Cronet", negotiatedProtocol)
|
||||
return when {
|
||||
negotiatedProtocol.contains("h3") -> {
|
||||
return Protocol.QUIC
|
||||
|
|
|
@ -13,9 +13,9 @@ import android.support.v4.media.session.MediaSessionCompat
|
|||
import android.support.v4.media.session.PlaybackStateCompat
|
||||
import androidx.core.app.NotificationCompat
|
||||
import androidx.media.AudioFocusRequestCompat
|
||||
import com.google.android.exoplayer2.ExoPlayer
|
||||
import com.google.android.exoplayer2.PlaybackException
|
||||
import com.google.android.exoplayer2.Player
|
||||
import com.google.android.exoplayer2.SimpleExoPlayer
|
||||
import io.legado.app.R
|
||||
import io.legado.app.base.BaseService
|
||||
import io.legado.app.constant.*
|
||||
|
@ -56,8 +56,8 @@ class AudioPlayService : BaseService(),
|
|||
private val mFocusRequest: AudioFocusRequestCompat by lazy {
|
||||
MediaHelp.getFocusRequest(this)
|
||||
}
|
||||
private val exoPlayer: SimpleExoPlayer by lazy {
|
||||
SimpleExoPlayer.Builder(this).build()
|
||||
private val exoPlayer: ExoPlayer by lazy {
|
||||
ExoPlayer.Builder(this).build()
|
||||
}
|
||||
private var title: String = ""
|
||||
private var subtitle: String = ""
|
||||
|
|
|
@ -3,12 +3,12 @@ plugins {
|
|||
}
|
||||
|
||||
android {
|
||||
compileSdkVersion 30
|
||||
buildToolsVersion "30.0.3"
|
||||
compileSdkVersion 31
|
||||
buildToolsVersion '31.0.0'
|
||||
|
||||
defaultConfig {
|
||||
minSdkVersion 21
|
||||
targetSdkVersion 30
|
||||
targetSdkVersion 31
|
||||
|
||||
testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
|
||||
consumerProguardFiles "consumer-rules.pro"
|
||||
|
@ -29,5 +29,5 @@ android {
|
|||
}
|
||||
|
||||
dependencies {
|
||||
|
||||
implementation "androidx.annotation:annotation:1.3.0"
|
||||
}
|
|
@ -34,7 +34,7 @@ public class UmdBook {
|
|||
|
||||
/**
|
||||
* Build the UMD file.
|
||||
* @param os
|
||||
* @param os OutputStream
|
||||
* @throws IOException
|
||||
*/
|
||||
public void buildUmd(OutputStream os) throws IOException {
|
||||
|
|
|
@ -27,7 +27,7 @@ public class UmdChapters {
|
|||
return titles;
|
||||
}
|
||||
|
||||
private List<byte[]> titles = new ArrayList<>();
|
||||
private final List<byte[]> titles = new ArrayList<>();
|
||||
public List<Integer> contentLengths = new ArrayList<>();
|
||||
public ByteArrayOutputStream contents = new ByteArrayOutputStream();
|
||||
|
||||
|
@ -129,7 +129,7 @@ public class UmdChapters {
|
|||
|
||||
while(startPos < allContents.length) {
|
||||
left = allContents.length - startPos;
|
||||
len = DEFAULT_CHUNK_INIT_SIZE < left ? DEFAULT_CHUNK_INIT_SIZE : left;
|
||||
len = Math.min(DEFAULT_CHUNK_INIT_SIZE, left);
|
||||
|
||||
bos.reset();
|
||||
DeflaterOutputStream zos = new DeflaterOutputStream(bos);
|
||||
|
|
|
@ -1,6 +1,8 @@
|
|||
package me.ag2s.umdlib.domain;
|
||||
|
||||
|
||||
import androidx.annotation.NonNull;
|
||||
|
||||
import java.io.IOException;
|
||||
|
||||
import me.ag2s.umdlib.tool.UmdUtils;
|
||||
|
@ -146,6 +148,7 @@ public class UmdHeader {
|
|||
}
|
||||
|
||||
@Override
|
||||
@NonNull
|
||||
public String toString() {
|
||||
return "UmdHeader{" +
|
||||
"umdType=" + umdType +
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
package me.ag2s.umdlib.tool;
|
||||
|
||||
import java.io.FileInputStream;
|
||||
|
||||
import java.io.IOException;
|
||||
import java.io.InputStream;
|
||||
|
||||
|
|
|
@ -117,19 +117,15 @@ public class UmdUtils {
|
|||
|
||||
|
||||
public static void saveFile(File f, byte[] content) throws IOException {
|
||||
FileOutputStream fos = new FileOutputStream(f);
|
||||
try {
|
||||
try (FileOutputStream fos = new FileOutputStream(f)) {
|
||||
BufferedOutputStream bos = new BufferedOutputStream(fos);
|
||||
bos.write(content);
|
||||
bos.flush();
|
||||
} finally {
|
||||
fos.close();
|
||||
}
|
||||
}
|
||||
|
||||
public static byte[] readFile(File f) throws IOException {
|
||||
FileInputStream fis = new FileInputStream(f);
|
||||
try {
|
||||
try (FileInputStream fis = new FileInputStream(f)) {
|
||||
ByteArrayOutputStream baos = new ByteArrayOutputStream();
|
||||
BufferedInputStream bis = new BufferedInputStream(fis);
|
||||
int ch;
|
||||
|
@ -138,12 +134,10 @@ public class UmdUtils {
|
|||
}
|
||||
baos.flush();
|
||||
return baos.toByteArray();
|
||||
} finally {
|
||||
fis.close();
|
||||
}
|
||||
}
|
||||
|
||||
private static Random random = new Random();
|
||||
private static final Random random = new Random();
|
||||
|
||||
public static byte[] genRandomBytes(int len) {
|
||||
if (len <= 0) {
|
||||
|
|
|
@ -5,7 +5,7 @@ import java.io.OutputStream;
|
|||
|
||||
public class WrapOutputStream extends OutputStream {
|
||||
|
||||
private OutputStream os;
|
||||
private final OutputStream os;
|
||||
private int written;
|
||||
|
||||
public WrapOutputStream(OutputStream os) {
|
||||
|
|
|
@ -1,5 +1,8 @@
|
|||
package me.ag2s.umdlib.umd;
|
||||
|
||||
|
||||
import androidx.annotation.NonNull;
|
||||
|
||||
import java.io.IOException;
|
||||
import java.io.InputStream;
|
||||
|
||||
|
@ -46,7 +49,7 @@ public class UmdReader {
|
|||
|
||||
System.out.println("块标识:" + segType);
|
||||
//short length1 = reader.readByte();
|
||||
ReadSection(segType, segFlag, len, reader, umdHeader);
|
||||
readSection(segType, segFlag, len, reader, umdHeader);
|
||||
|
||||
if ((int) segType == 241 || (int) segType == 10) {
|
||||
segType = num1;
|
||||
|
@ -56,7 +59,7 @@ public class UmdReader {
|
|||
System.out.println(ch);
|
||||
int additionalCheckNumber = reader.readIntLe();
|
||||
int length2 = (reader.readIntLe() - 9);
|
||||
ReadAdditionalSection(segType, additionalCheckNumber, length2, reader);
|
||||
readAdditionalSection(segType, additionalCheckNumber, length2, reader);
|
||||
}
|
||||
num1 = segType;
|
||||
|
||||
|
@ -66,7 +69,7 @@ public class UmdReader {
|
|||
|
||||
}
|
||||
|
||||
private void ReadAdditionalSection(short segType, int additionalCheckNumber, int length, StreamReader reader) throws Exception {
|
||||
private void readAdditionalSection(short segType, int additionalCheckNumber, int length, StreamReader reader) throws Exception {
|
||||
switch (segType) {
|
||||
case 14:
|
||||
//this._TotalImageList.Add((object) Image.FromStream((Stream) new MemoryStream(reader.ReadBytes((int) length))));
|
||||
|
@ -118,7 +121,7 @@ public class UmdReader {
|
|||
}
|
||||
}
|
||||
|
||||
public void ReadSection(short segType, byte segFlag, short length, StreamReader reader, UmdHeader header) throws IOException {
|
||||
public void readSection(short segType, byte segFlag, short length, StreamReader reader, UmdHeader header) throws IOException {
|
||||
switch (segType) {
|
||||
case 1://umd文件头 DCTS_CMD_ID_VERSION
|
||||
header.setUmdType(reader.readByte());
|
||||
|
@ -214,6 +217,7 @@ public class UmdReader {
|
|||
|
||||
|
||||
@Override
|
||||
@NonNull
|
||||
public String toString() {
|
||||
return "UmdReader{" +
|
||||
"book=" + book +
|
||||
|
|
|
@ -22,4 +22,4 @@ kotlin.code.style=official
|
|||
|
||||
android.enableResourceOptimizations=true
|
||||
|
||||
CronetVersion=93.0.4577.82
|
||||
CronetVersion=96.0.4664.104
|
||||
|
|
Loading…
Reference in New Issue
Block a user