android: dependency upgrades
This commit is contained in:
parent
81a2b84c9f
commit
43cb2cd101
4 changed files with 41 additions and 22 deletions
1
android/.gitignore
vendored
1
android/.gitignore
vendored
|
@ -7,6 +7,7 @@ gradle-wrapper.jar
|
|||
GeneratedPluginRegistrant.java
|
||||
.cxx/
|
||||
.kotlin/
|
||||
/build/
|
||||
|
||||
# Remember to never publicly share your keystore.
|
||||
# See https://flutter.dev/to/reference-keystore
|
||||
|
|
|
@ -152,12 +152,12 @@ dependencies {
|
|||
implementation 'org.jetbrains.kotlinx:kotlinx-coroutines-android:1.10.1'
|
||||
|
||||
implementation "androidx.appcompat:appcompat:1.7.0"
|
||||
implementation 'androidx.core:core-ktx:1.15.0'
|
||||
implementation 'androidx.lifecycle:lifecycle-process:2.8.7'
|
||||
implementation 'androidx.core:core-ktx:1.16.0'
|
||||
implementation 'androidx.lifecycle:lifecycle-process:2.9.0'
|
||||
implementation 'androidx.media:media:1.7.0'
|
||||
implementation 'androidx.multidex:multidex:2.0.1'
|
||||
implementation 'androidx.security:security-crypto:1.1.0-alpha06'
|
||||
implementation 'androidx.work:work-runtime-ktx:2.10.0'
|
||||
implementation 'androidx.security:security-crypto:1.1.0-alpha07'
|
||||
implementation 'androidx.work:work-runtime-ktx:2.10.1'
|
||||
|
||||
implementation 'com.commonsware.cwac:document:0.5.0'
|
||||
implementation 'com.drewnoakes:metadata-extractor:2.19.0'
|
||||
|
@ -171,11 +171,11 @@ dependencies {
|
|||
// - https://jitpack.io/p/deckerst/androidsvg
|
||||
// - https://jitpack.io/p/deckerst/mp4parser
|
||||
// - https://jitpack.io/p/deckerst/pixymeta-android
|
||||
implementation 'com.github.deckerst:Android-TiffBitmapFactory:3ed067f021'
|
||||
implementation 'com.github.deckerst:androidsvg:cc9d59a88f'
|
||||
implementation 'com.github.deckerst.mp4parser:isoparser:d5caf7a3dd'
|
||||
implementation 'com.github.deckerst.mp4parser:muxer:d5caf7a3dd'
|
||||
implementation 'com.github.deckerst:pixymeta-android:71eee77dc4'
|
||||
implementation 'com.github.deckerst:Android-TiffBitmapFactory:d6b2b0aa4f'
|
||||
implementation 'com.github.deckerst:androidsvg:67db933051'
|
||||
implementation 'com.github.deckerst.mp4parser:isoparser:c2898f1832'
|
||||
implementation 'com.github.deckerst.mp4parser:muxer:c2898f1832'
|
||||
implementation 'com.github.deckerst:pixymeta-android:cb1cdc932e'
|
||||
implementation project(':exifinterface')
|
||||
|
||||
testImplementation 'org.junit.jupiter:junit-jupiter-engine:5.11.4'
|
||||
|
|
|
@ -22,7 +22,6 @@ import static androidx.exifinterface.media.ExifInterfaceUtilsFork.convertToLongA
|
|||
import static androidx.exifinterface.media.ExifInterfaceUtilsFork.copy;
|
||||
import static androidx.exifinterface.media.ExifInterfaceUtilsFork.parseSubSeconds;
|
||||
import static androidx.exifinterface.media.ExifInterfaceUtilsFork.startsWith;
|
||||
|
||||
import static java.lang.annotation.ElementType.TYPE_USE;
|
||||
import static java.nio.ByteOrder.BIG_ENDIAN;
|
||||
import static java.nio.ByteOrder.LITTLE_ENDIAN;
|
||||
|
@ -91,7 +90,7 @@ import java.util.regex.Pattern;
|
|||
import java.util.zip.CRC32;
|
||||
|
||||
/*
|
||||
* Forked from 'androidx.exifinterface:exifinterface:1.4.0'
|
||||
* Forked from 'androidx.exifinterface:exifinterface:1.4.1'
|
||||
* Named differently to let ExifInterface be loaded as subdependency.
|
||||
* cf https://maven.google.com/web/index.html?q=exifinterface#androidx.exifinterface:exifinterface
|
||||
* cf https://github.com/androidx/androidx/tree/androidx-main/exifinterface/exifinterface/src/main/java/androidx/exifinterface/media
|
||||
|
@ -4553,7 +4552,7 @@ public class ExifInterfaceFork {
|
|||
&& (mXmpFromSeparateMarker != null || !containsTiff700Xmp))
|
||||
|| (xmpHandling == XMP_HANDLING_PREFER_TIFF_700_IF_PRESENT
|
||||
&& !containsTiff700Xmp)) {
|
||||
mXmpFromSeparateMarker = ExifAttribute.createByte(value);
|
||||
mXmpFromSeparateMarker = value != null ? ExifAttribute.createByte(value) : null;
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
@ -6558,8 +6557,9 @@ public class ExifInterfaceFork {
|
|||
// Exif data in WebP images (e.g.
|
||||
// https://github.com/ImageMagick/ImageMagick/issues/3140)
|
||||
if (startsWith(payload, IDENTIFIER_EXIF_APP1)) {
|
||||
payload = Arrays.copyOfRange(payload, IDENTIFIER_EXIF_APP1.length,
|
||||
payload.length);
|
||||
payload =
|
||||
Arrays.copyOfRange(
|
||||
payload, IDENTIFIER_EXIF_APP1.length, payload.length);
|
||||
}
|
||||
|
||||
// Save offset to EXIF data for handling thumbnail and attribute offsets.
|
||||
|
@ -6722,8 +6722,11 @@ public class ExifInterfaceFork {
|
|||
copy(dataInputStream, dataOutputStream, PNG_SIGNATURE.length);
|
||||
|
||||
boolean needToWriteExif = true;
|
||||
boolean needToWriteXmp = mXmpFromSeparateMarker != null;
|
||||
while (needToWriteExif || needToWriteXmp) {
|
||||
// Either there's some XMP data to write, or it has been cleared locally but was present in
|
||||
// the file when it was read (and so needs to be removed).
|
||||
boolean needToHandleXmpChunk =
|
||||
mXmpFromSeparateMarker != null || mFileOnDiskContainsSeparateXmpMarker;
|
||||
while (needToWriteExif || needToHandleXmpChunk) {
|
||||
int chunkLength = dataInputStream.readInt();
|
||||
int chunkType = dataInputStream.readInt();
|
||||
if (chunkType == PNG_CHUNK_TYPE_IHDR) {
|
||||
|
@ -6738,7 +6741,7 @@ public class ExifInterfaceFork {
|
|||
}
|
||||
if (mXmpFromSeparateMarker != null && !mFileOnDiskContainsSeparateXmpMarker) {
|
||||
writePngXmpItxtChunk(dataOutputStream);
|
||||
needToWriteXmp = false;
|
||||
needToHandleXmpChunk = false;
|
||||
}
|
||||
continue;
|
||||
} else if (chunkType == PNG_CHUNK_TYPE_EXIF && needToWriteExif) {
|
||||
|
@ -6746,10 +6749,25 @@ public class ExifInterfaceFork {
|
|||
dataInputStream.skipFully(chunkLength + PNG_CHUNK_CRC_BYTE_LENGTH);
|
||||
needToWriteExif = false;
|
||||
continue;
|
||||
} else if (chunkType == PNG_CHUNK_TYPE_ITXT && needToWriteXmp) {
|
||||
} else if (chunkType == PNG_CHUNK_TYPE_ITXT
|
||||
&& chunkLength >= PNG_ITXT_XMP_KEYWORD.length) {
|
||||
// Read the 17 byte keyword and 5 expected null bytes.
|
||||
byte[] keyword = new byte[PNG_ITXT_XMP_KEYWORD.length];
|
||||
dataInputStream.readFully(keyword);
|
||||
int remainingChunkBytes = chunkLength - keyword.length + PNG_CHUNK_CRC_BYTE_LENGTH;
|
||||
if (Arrays.equals(keyword, PNG_ITXT_XMP_KEYWORD)) {
|
||||
if (mXmpFromSeparateMarker != null) {
|
||||
writePngXmpItxtChunk(dataOutputStream);
|
||||
dataInputStream.skipFully(chunkLength + PNG_CHUNK_CRC_BYTE_LENGTH);
|
||||
needToWriteXmp = false;
|
||||
}
|
||||
dataInputStream.skipFully(remainingChunkBytes);
|
||||
needToHandleXmpChunk = false;
|
||||
} else {
|
||||
// This is a non-XMP iTXt chunk, so just copy it to the output and continue.
|
||||
dataOutputStream.writeInt(chunkLength);
|
||||
dataOutputStream.writeInt(chunkType);
|
||||
dataOutputStream.write(keyword);
|
||||
copy(dataInputStream, dataOutputStream, remainingChunkBytes);
|
||||
}
|
||||
continue;
|
||||
}
|
||||
dataOutputStream.writeInt(chunkLength);
|
||||
|
|
|
@ -31,7 +31,7 @@ import java.io.InputStream;
|
|||
import java.io.OutputStream;
|
||||
|
||||
/*
|
||||
* Forked from 'androidx.exifinterface:exifinterface:1.4.0-alpha01' on 2024/11/17
|
||||
* Forked from 'androidx.exifinterface:exifinterface:1.4.1'
|
||||
* Named differently to let ExifInterface be loaded as subdependency.
|
||||
* cf https://github.com/androidx/androidx/tree/androidx-main/exifinterface/exifinterface/src/main/java/androidx/exifinterface/media
|
||||
*/
|
||||
|
|
Loading…
Reference in a new issue