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
|
GeneratedPluginRegistrant.java
|
||||||
.cxx/
|
.cxx/
|
||||||
.kotlin/
|
.kotlin/
|
||||||
|
/build/
|
||||||
|
|
||||||
# Remember to never publicly share your keystore.
|
# Remember to never publicly share your keystore.
|
||||||
# See https://flutter.dev/to/reference-keystore
|
# See https://flutter.dev/to/reference-keystore
|
||||||
|
|
|
@ -152,12 +152,12 @@ dependencies {
|
||||||
implementation 'org.jetbrains.kotlinx:kotlinx-coroutines-android:1.10.1'
|
implementation 'org.jetbrains.kotlinx:kotlinx-coroutines-android:1.10.1'
|
||||||
|
|
||||||
implementation "androidx.appcompat:appcompat:1.7.0"
|
implementation "androidx.appcompat:appcompat:1.7.0"
|
||||||
implementation 'androidx.core:core-ktx:1.15.0'
|
implementation 'androidx.core:core-ktx:1.16.0'
|
||||||
implementation 'androidx.lifecycle:lifecycle-process:2.8.7'
|
implementation 'androidx.lifecycle:lifecycle-process:2.9.0'
|
||||||
implementation 'androidx.media:media:1.7.0'
|
implementation 'androidx.media:media:1.7.0'
|
||||||
implementation 'androidx.multidex:multidex:2.0.1'
|
implementation 'androidx.multidex:multidex:2.0.1'
|
||||||
implementation 'androidx.security:security-crypto:1.1.0-alpha06'
|
implementation 'androidx.security:security-crypto:1.1.0-alpha07'
|
||||||
implementation 'androidx.work:work-runtime-ktx:2.10.0'
|
implementation 'androidx.work:work-runtime-ktx:2.10.1'
|
||||||
|
|
||||||
implementation 'com.commonsware.cwac:document:0.5.0'
|
implementation 'com.commonsware.cwac:document:0.5.0'
|
||||||
implementation 'com.drewnoakes:metadata-extractor:2.19.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/androidsvg
|
||||||
// - https://jitpack.io/p/deckerst/mp4parser
|
// - https://jitpack.io/p/deckerst/mp4parser
|
||||||
// - https://jitpack.io/p/deckerst/pixymeta-android
|
// - https://jitpack.io/p/deckerst/pixymeta-android
|
||||||
implementation 'com.github.deckerst:Android-TiffBitmapFactory:3ed067f021'
|
implementation 'com.github.deckerst:Android-TiffBitmapFactory:d6b2b0aa4f'
|
||||||
implementation 'com.github.deckerst:androidsvg:cc9d59a88f'
|
implementation 'com.github.deckerst:androidsvg:67db933051'
|
||||||
implementation 'com.github.deckerst.mp4parser:isoparser:d5caf7a3dd'
|
implementation 'com.github.deckerst.mp4parser:isoparser:c2898f1832'
|
||||||
implementation 'com.github.deckerst.mp4parser:muxer:d5caf7a3dd'
|
implementation 'com.github.deckerst.mp4parser:muxer:c2898f1832'
|
||||||
implementation 'com.github.deckerst:pixymeta-android:71eee77dc4'
|
implementation 'com.github.deckerst:pixymeta-android:cb1cdc932e'
|
||||||
implementation project(':exifinterface')
|
implementation project(':exifinterface')
|
||||||
|
|
||||||
testImplementation 'org.junit.jupiter:junit-jupiter-engine:5.11.4'
|
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.copy;
|
||||||
import static androidx.exifinterface.media.ExifInterfaceUtilsFork.parseSubSeconds;
|
import static androidx.exifinterface.media.ExifInterfaceUtilsFork.parseSubSeconds;
|
||||||
import static androidx.exifinterface.media.ExifInterfaceUtilsFork.startsWith;
|
import static androidx.exifinterface.media.ExifInterfaceUtilsFork.startsWith;
|
||||||
|
|
||||||
import static java.lang.annotation.ElementType.TYPE_USE;
|
import static java.lang.annotation.ElementType.TYPE_USE;
|
||||||
import static java.nio.ByteOrder.BIG_ENDIAN;
|
import static java.nio.ByteOrder.BIG_ENDIAN;
|
||||||
import static java.nio.ByteOrder.LITTLE_ENDIAN;
|
import static java.nio.ByteOrder.LITTLE_ENDIAN;
|
||||||
|
@ -91,7 +90,7 @@ import java.util.regex.Pattern;
|
||||||
import java.util.zip.CRC32;
|
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.
|
* Named differently to let ExifInterface be loaded as subdependency.
|
||||||
* cf https://maven.google.com/web/index.html?q=exifinterface#androidx.exifinterface:exifinterface
|
* 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
|
* 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))
|
&& (mXmpFromSeparateMarker != null || !containsTiff700Xmp))
|
||||||
|| (xmpHandling == XMP_HANDLING_PREFER_TIFF_700_IF_PRESENT
|
|| (xmpHandling == XMP_HANDLING_PREFER_TIFF_700_IF_PRESENT
|
||||||
&& !containsTiff700Xmp)) {
|
&& !containsTiff700Xmp)) {
|
||||||
mXmpFromSeparateMarker = ExifAttribute.createByte(value);
|
mXmpFromSeparateMarker = value != null ? ExifAttribute.createByte(value) : null;
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -6558,8 +6557,9 @@ public class ExifInterfaceFork {
|
||||||
// Exif data in WebP images (e.g.
|
// Exif data in WebP images (e.g.
|
||||||
// https://github.com/ImageMagick/ImageMagick/issues/3140)
|
// https://github.com/ImageMagick/ImageMagick/issues/3140)
|
||||||
if (startsWith(payload, IDENTIFIER_EXIF_APP1)) {
|
if (startsWith(payload, IDENTIFIER_EXIF_APP1)) {
|
||||||
payload = Arrays.copyOfRange(payload, IDENTIFIER_EXIF_APP1.length,
|
payload =
|
||||||
payload.length);
|
Arrays.copyOfRange(
|
||||||
|
payload, IDENTIFIER_EXIF_APP1.length, payload.length);
|
||||||
}
|
}
|
||||||
|
|
||||||
// Save offset to EXIF data for handling thumbnail and attribute offsets.
|
// Save offset to EXIF data for handling thumbnail and attribute offsets.
|
||||||
|
@ -6722,8 +6722,11 @@ public class ExifInterfaceFork {
|
||||||
copy(dataInputStream, dataOutputStream, PNG_SIGNATURE.length);
|
copy(dataInputStream, dataOutputStream, PNG_SIGNATURE.length);
|
||||||
|
|
||||||
boolean needToWriteExif = true;
|
boolean needToWriteExif = true;
|
||||||
boolean needToWriteXmp = mXmpFromSeparateMarker != null;
|
// Either there's some XMP data to write, or it has been cleared locally but was present in
|
||||||
while (needToWriteExif || needToWriteXmp) {
|
// 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 chunkLength = dataInputStream.readInt();
|
||||||
int chunkType = dataInputStream.readInt();
|
int chunkType = dataInputStream.readInt();
|
||||||
if (chunkType == PNG_CHUNK_TYPE_IHDR) {
|
if (chunkType == PNG_CHUNK_TYPE_IHDR) {
|
||||||
|
@ -6738,7 +6741,7 @@ public class ExifInterfaceFork {
|
||||||
}
|
}
|
||||||
if (mXmpFromSeparateMarker != null && !mFileOnDiskContainsSeparateXmpMarker) {
|
if (mXmpFromSeparateMarker != null && !mFileOnDiskContainsSeparateXmpMarker) {
|
||||||
writePngXmpItxtChunk(dataOutputStream);
|
writePngXmpItxtChunk(dataOutputStream);
|
||||||
needToWriteXmp = false;
|
needToHandleXmpChunk = false;
|
||||||
}
|
}
|
||||||
continue;
|
continue;
|
||||||
} else if (chunkType == PNG_CHUNK_TYPE_EXIF && needToWriteExif) {
|
} else if (chunkType == PNG_CHUNK_TYPE_EXIF && needToWriteExif) {
|
||||||
|
@ -6746,10 +6749,25 @@ public class ExifInterfaceFork {
|
||||||
dataInputStream.skipFully(chunkLength + PNG_CHUNK_CRC_BYTE_LENGTH);
|
dataInputStream.skipFully(chunkLength + PNG_CHUNK_CRC_BYTE_LENGTH);
|
||||||
needToWriteExif = false;
|
needToWriteExif = false;
|
||||||
continue;
|
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);
|
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;
|
continue;
|
||||||
}
|
}
|
||||||
dataOutputStream.writeInt(chunkLength);
|
dataOutputStream.writeInt(chunkLength);
|
||||||
|
|
|
@ -31,7 +31,7 @@ import java.io.InputStream;
|
||||||
import java.io.OutputStream;
|
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.
|
* 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
|
* cf https://github.com/androidx/androidx/tree/androidx-main/exifinterface/exifinterface/src/main/java/androidx/exifinterface/media
|
||||||
*/
|
*/
|
||||||
|
|
Loading…
Reference in a new issue