Merge remote-tracking branch 'origin/master' into dev

This commit is contained in:
Tobias Kaminsky 2025-06-12 03:38:07 +02:00
commit f8c5dafa82
8 changed files with 155 additions and 79 deletions

View File

@ -1,4 +1,4 @@
FROM ubuntu:noble@sha256:6015f66923d7afbc53558d7ccffd325d43b4e249f41a6e93eef074c9505d2233
FROM ubuntu:noble@sha256:b59d21599a2b151e23eea5f6602f4af4d7d31c4e236d22bf0b62b86d2e386b8f
ARG DEBIAN_FRONTEND=noninteractive
ENV ANDROID_HOME=/usr/lib/android-sdk

View File

@ -9,25 +9,26 @@ GEM
public_suffix (>= 2.0.2, < 7.0)
artifactory (3.0.17)
atomos (0.1.3)
aws-eventstream (1.3.2)
aws-partitions (1.1066.0)
aws-sdk-core (3.220.2)
aws-eventstream (1.4.0)
aws-partitions (1.1115.0)
aws-sdk-core (3.225.2)
aws-eventstream (~> 1, >= 1.3.0)
aws-partitions (~> 1, >= 1.992.0)
aws-sigv4 (~> 1.9)
base64
jmespath (~> 1, >= 1.6.1)
aws-sdk-kms (1.99.0)
aws-sdk-core (~> 3, >= 3.216.0)
logger
aws-sdk-kms (1.104.0)
aws-sdk-core (~> 3, >= 3.225.0)
aws-sigv4 (~> 1.5)
aws-sdk-s3 (1.182.0)
aws-sdk-core (~> 3, >= 3.216.0)
aws-sdk-s3 (1.189.1)
aws-sdk-core (~> 3, >= 3.225.0)
aws-sdk-kms (~> 1)
aws-sigv4 (~> 1.5)
aws-sigv4 (1.11.0)
aws-sigv4 (1.12.1)
aws-eventstream (~> 1, >= 1.0.2)
babosa (1.0.4)
base64 (0.2.0)
base64 (0.3.0)
cgi (0.4.1)
claide (1.1.0)
colored (1.2)
@ -70,7 +71,7 @@ GEM
faraday_middleware (1.2.1)
faraday (~> 1.0)
fastimage (2.4.0)
fastlane (2.227.2)
fastlane (2.228.0)
CFPropertyList (>= 2.3, < 4.0.0)
addressable (>= 2.8, < 3.0.0)
artifactory (~> 3.0)
@ -159,22 +160,23 @@ GEM
httpclient (2.9.0)
mutex_m
jmespath (1.6.2)
json (2.10.2)
json (2.12.2)
jwt (2.10.1)
base64
logger (1.7.0)
mini_magick (4.13.2)
mini_mime (1.1.5)
multi_json (1.15.0)
multipart-post (2.4.1)
mutex_m (0.3.0)
nanaimo (0.4.0)
naturally (2.2.1)
naturally (2.2.2)
nkf (0.2.0)
optparse (0.6.0)
os (1.1.4)
plist (3.7.2)
public_suffix (6.0.2)
rake (13.2.1)
rake (13.3.0)
representable (3.2.0)
declarative (< 0.1.0)
trailblazer-option (>= 0.1.1, < 0.2.0)
@ -185,7 +187,7 @@ GEM
ruby2_keywords (0.0.5)
rubyzip (2.4.1)
security (0.1.5)
signet (0.19.0)
signet (0.20.0)
addressable (~> 2.8)
faraday (>= 0.17.5, < 3.a)
jwt (>= 1.5, < 3.0)

View File

@ -313,19 +313,19 @@ dependencies {
implementation "androidx.appcompat:appcompat:$appCompatVersion"
implementation "androidx.webkit:webkit:1.12.1"
implementation "androidx.cardview:cardview:1.0.0"
implementation "androidx.exifinterface:exifinterface:1.4.0"
implementation "androidx.lifecycle:lifecycle-viewmodel-ktx:2.8.7"
implementation "androidx.lifecycle:lifecycle-service:2.8.7"
implementation "androidx.exifinterface:exifinterface:1.4.1"
implementation "androidx.lifecycle:lifecycle-viewmodel-ktx:2.9.1"
implementation "androidx.lifecycle:lifecycle-service:2.9.1"
implementation "androidx.work:work-runtime:$workRuntime"
implementation "androidx.work:work-runtime-ktx:$workRuntime"
implementation "androidx.fragment:fragment-ktx:1.8.6"
implementation "androidx.fragment:fragment-ktx:1.8.8"
implementation "com.github.albfernandez:juniversalchardet:2.0.3" // need this version for Android <7
compileOnly "com.google.code.findbugs:annotations:3.0.1u2"
implementation "commons-io:commons-io:2.18.0"
implementation "org.greenrobot:eventbus:3.3.1"
implementation "com.googlecode.ez-vcard:ez-vcard:0.12.1"
implementation "org.lukhnos:nnio:0.3.1"
implementation "org.bouncycastle:bcpkix-jdk18on:1.80"
implementation "org.bouncycastle:bcpkix-jdk18on:1.81"
implementation "com.google.code.gson:gson:2.13.1"
implementation "com.github.nextcloud-deps:sectioned-recyclerview:0.6.1"
implementation "com.github.chrisbanes:PhotoView:2.3.0"
@ -338,7 +338,7 @@ dependencies {
implementation "com.caverock:androidsvg:1.4"
implementation "androidx.annotation:annotation:1.9.1"
implementation "com.vanniktech:emoji-google:0.21.0"
implementation("androidx.lifecycle:lifecycle-runtime-ktx:2.8.7")
implementation("androidx.lifecycle:lifecycle-runtime-ktx:2.9.1")
// document scanner not available on FDroid (generic) due to OpenCV binaries
gplayImplementation project(":appscan")
@ -346,7 +346,7 @@ dependencies {
qaImplementation project(":appscan")
spotbugsPlugins "com.h3xstream.findsecbugs:findsecbugs-plugin:1.14.0"
spotbugsPlugins "com.mebigfatguy.fb-contrib:fb-contrib:7.6.9"
spotbugsPlugins "com.mebigfatguy.fb-contrib:fb-contrib:7.6.10"
implementation "com.google.dagger:dagger:$daggerVersion"
implementation "com.google.dagger:dagger-android:$daggerVersion"
@ -391,7 +391,7 @@ dependencies {
testImplementation "junit:junit:4.13.2"
testImplementation "org.mockito:mockito-core:$mockitoVersion"
testImplementation "androidx.test:core:$androidxTestVersion"
testImplementation "org.json:json:20250107"
testImplementation "org.json:json:20250517"
testImplementation "org.mockito.kotlin:mockito-kotlin:$mockitoKotlinVersion"
testImplementation "androidx.arch.core:core-testing:2.2.0"
testImplementation "io.mockk:mockk:$mockkVersion"

View File

@ -392,7 +392,7 @@ class OCFileListFragmentStaticServerIT : AbstractIT() {
testFolder.richWorkspace = "1"
activity.storageManager.saveFile(testFolder)
sut.adapter.currentDirectory = testFolder
sut.adapter.setCurrentDirectory(testFolder)
Assert.assertTrue(sut.adapter.shouldShowHeader())
}
}

View File

@ -119,7 +119,6 @@ public class OCFileListAdapter extends RecyclerView.Adapter<RecyclerView.ViewHol
private List<OCFile> mFiles = new ArrayList<>();
private final List<OCFile> mFilesAll = new ArrayList<>();
private final boolean hideItemOptions;
private long lastTimestamp;
private boolean gridView;
public ArrayList<String> listOfHiddenFiles = new ArrayList<>();
private FileDataStorageManager mStorageManager;
@ -144,7 +143,6 @@ public class OCFileListAdapter extends RecyclerView.Adapter<RecyclerView.ViewHol
private final long footerId = UUID.randomUUID().getLeastSignificantBits();
private final long headerId = UUID.randomUUID().getLeastSignificantBits();
private final SyncedFolderProvider syncedFolderProvider;
private ArrayList<Recommendation> recommendedFiles = new ArrayList<>();
@ -179,7 +177,6 @@ public class OCFileListAdapter extends RecyclerView.Adapter<RecyclerView.ViewHol
.get(activity)
.getUserData(this.user.toPlatformAccount(),
AccountUtils.Constants.KEY_USER_ID);
this.syncedFolderProvider = syncedFolderProvider;
this.viewThemeUtils = viewThemeUtils;
ocFileListDelegate = new OCFileListDelegate(FileUploadHelper.Companion.instance(),
activity,
@ -929,7 +926,6 @@ public class OCFileListAdapter extends RecyclerView.Adapter<RecyclerView.ViewHol
if (clear) {
mFiles.clear();
resetLastTimestamp();
preferences.setPhotoSearchTimestamp(0);
VirtualFolderType type = switch (searchType) {
@ -944,7 +940,7 @@ public class OCFileListAdapter extends RecyclerView.Adapter<RecyclerView.ViewHol
}
// early exit
if (objects.size() > 0 && mStorageManager != null) {
if (!objects.isEmpty() && mStorageManager != null) {
if (searchType == SearchType.SHARED_FILTER) {
parseShares(objects);
} else {
@ -1004,16 +1000,6 @@ public class OCFileListAdapter extends RecyclerView.Adapter<RecyclerView.ViewHol
case GALLERY_SEARCH:
type = VirtualFolderType.GALLERY;
onlyMedia = true;
int lastPosition = objects.size() - 1;
if (lastPosition < 0) {
lastTimestamp = -1;
break;
}
RemoteFile lastFile = (RemoteFile) objects.get(lastPosition);
lastTimestamp = lastFile.getModifiedTimestamp() / 1000;
break;
default:
type = VirtualFolderType.NONE;
@ -1099,20 +1085,6 @@ public class OCFileListAdapter extends RecyclerView.Adapter<RecyclerView.ViewHol
mStorageManager.saveVirtuals(contentValues);
}
public void showVirtuals(VirtualFolderType type, boolean onlyImages, FileDataStorageManager storageManager) {
mFiles = storageManager.getVirtualFolderContent(type, onlyImages);
if (VirtualFolderType.GALLERY == type) {
mFiles = FileStorageUtils.sortOcFolderDescDateModifiedWithoutFavoritesFirst(mFiles);
}
mFilesAll.clear();
mFilesAll.addAll(mFiles);
new Handler(Looper.getMainLooper()).post(this::notifyDataSetChanged);
}
public void setSortOrder(@Nullable OCFile folder, FileSortOrder sortOrder) {
preferences.setSortOrder(folder, sortOrder);
mFiles = sortOrder.sortCloudFiles(mFiles);
@ -1151,14 +1123,6 @@ public class OCFileListAdapter extends RecyclerView.Adapter<RecyclerView.ViewHol
});
}
public void resetLastTimestamp() {
lastTimestamp = -1;
}
public long getLastTimestamp() {
return lastTimestamp;
}
@Override
public void onViewRecycled(@NonNull RecyclerView.ViewHolder holder) {
super.onViewRecycled(holder);
@ -1231,20 +1195,6 @@ public class OCFileListAdapter extends RecyclerView.Adapter<RecyclerView.ViewHol
ocFileListDelegate.setShowShareAvatar(bool);
}
@VisibleForTesting
public void setCurrentDirectory(OCFile folder) {
currentDirectory = folder;
}
@SuppressFBWarnings("EI_EXPOSE_REP")
public List<OCFile> getAllFiles() {
return mFilesAll;
}
public OCFile getCurrentDirectory() {
return currentDirectory;
}
@Override
public int getFilesCount() {
return mFiles.size();
@ -1264,4 +1214,9 @@ public class OCFileListAdapter extends RecyclerView.Adapter<RecyclerView.ViewHol
public void showRecommendedFileMoreActions(@NonNull OCFile file, @NonNull View view) {
ocFileListFragmentInterface.onOverflowIconClicked(file, view);
}
@VisibleForTesting
public void setCurrentDirectory(OCFile folder) {
currentDirectory = folder;
}
}

View File

@ -15,7 +15,7 @@ buildscript {
androidPluginVersion = "8.9.2"
androidxMediaVersion = "1.5.1"
androidxTestVersion = "1.6.1"
appCompatVersion = "1.7.0"
appCompatVersion = "1.7.1"
checkerVersion = "3.21.2"
daggerVersion = "2.56.2"
documentScannerVersion = "1.1.1"
@ -28,7 +28,7 @@ buildscript {
mockkVersion = "1.13.17"
prismVersion = "2.0.0"
roomVersion = "2.6.1"
workRuntime = "2.10.0"
workRuntime = "2.10.1"
ciBuild = System.getenv("CI") == "true"
shotTest = System.getenv("SHOT_TEST") == "true"

View File

@ -3,11 +3,11 @@
[versions]
espressoVersion = "3.6.1"
media3 = "1.5.1"
media3 = "1.7.1"
roomVersion = "2.6.1"
splash-screen = "1.0.1"
kotlin = "2.1.20"
composeBom = "2025.04.01"
composeBom = "2025.06.00"
spotbugsGradlePlugin = "6.1.13"
detektGradlePlugin = "1.23.8"
spotless = "6.25.0"

View File

@ -8,6 +8,9 @@
<trust group="com.fasterxml.jackson" name="jackson-base" version="2.14.2" reason="no keys available, no pom artifact to create a checksum"/>
<trust file=".*-sources[.]jar" regex="true"/>
</trusted-artifacts>
<ignored-keys>
<ignored-key id="BDD2A76422470515" reason="Key couldn't be downloaded from any key server"/>
</ignored-keys>
<trusted-keys>
<trusted-key id="015479E1055341431B4545AB72475FD306B9CAB7" group="com.googlecode.javaewah" name="JavaEWAH" version="1.2.3"/>
<trusted-key id="042B29E928995B9DB963C636C7CA19B7B620D787" group="com.github.stephenc.jcip" name="jcip-annotations" version="1.0-1"/>
@ -35,11 +38,17 @@
<trusted-key id="0CDE80149711EB46DFF17AE421A24B3F8B0F594A" group="org.apache" name="apache" version="16"/>
<trusted-key id="0D35D3F60078655126908E8AF3D1600878E85A3D" group="io.netty"/>
<trusted-key id="0F06FF86BEEAF4E71866EE5232EE5355A6BC6E42">
<trusting group="androidx.appcompat"/>
<trusting group="androidx.collection"/>
<trusting group="androidx.constraintlayout"/>
<trusting group="androidx.core"/>
<trusting group="androidx.databinding"/>
<trusting group="androidx.exifinterface" name="exifinterface" version="1.4.0"/>
<trusting group="androidx.exifinterface" name="exifinterface" version="1.4.1"/>
<trusting group="androidx.fragment"/>
<trusting group="androidx.lifecycle"/>
<trusting group="androidx.savedstate"/>
<trusting group="androidx.work"/>
<trusting group="com.google.firebase" name="firebase-messaging" version="24.1.1"/>
<trusting group="^androidx[.]compose($|([.].*))" regex="true"/>
<trusting group="^com[.]android($|([.].*))" regex="true"/>
@ -309,6 +318,7 @@
<trusting group="com.github.mangstadt"/>
<trusting group="com.googlecode.ez-vcard"/>
</trusted-key>
<trusted-key id="AEFEB87890CDFDF2BC08C4AABDD2A76422470515" group="com.mebigfatguy.fb-contrib" name="fb-contrib" version="7.6.10"/>
<trusted-key id="AFCC4C7594D09E2182C60E0F7A01B0F236E5430F" group="com.google.code.gson"/>
<trusted-key id="B01128C8FD304FE48E6EED2C347CD0EAED975C5F" group="org.antlr"/>
<trusted-key id="B02335AA54CCF21E52BBF9ABD9C565AA72BA2FDD" group="io.grpc"/>
@ -396,6 +406,7 @@
<trusting group="org.json" name="json" version="20240205"/>
<trusting group="org.json" name="json" version="20240303"/>
<trusting group="org.json" name="json" version="20250107"/>
<trusting group="org.json" name="json" version="20250517"/>
</trusted-key>
<trusted-key id="FC411CD3CB7DCB0ABC9801058118B3BCDB1A5000" group="jakarta.xml.bind"/>
<trusted-key id="FF6E2C001948C5F2F38B0CC385911F425EC61B51">
@ -799,6 +810,11 @@
<sha256 value="38842af2b96c99540cc756337754b3030de08b029d4bf3aa06e4ecf741da68bf" origin="Generated by Gradle"/>
</artifact>
</component>
<component group="androidx.appcompat" name="appcompat" version="1.7.1">
<artifact name="appcompat-1.7.1.aar">
<sha256 value="2ad334a323b28046e89b738c77d184cb3dcca32a551ab048851b2fda23a3ba26" origin="Generated by Gradle"/>
</artifact>
</component>
<component group="androidx.appcompat" name="appcompat-resources" version="1.1.0">
<artifact name="appcompat-resources-1.1.0.aar">
<sha256 value="19944d32b46551a17c347e21894b95837fbd7baaafc9e2082794344f222f7361" origin="Generated by Gradle" reason="Artifact is not signed"/>
@ -1134,6 +1150,11 @@
<sha256 value="ab8e88fe6b5e49616c2b8bb322c55a227fcc96b0056d45fea680af6cf98d872e" origin="Generated by Gradle" reason="Artifact is not signed"/>
</artifact>
</component>
<component group="androidx.compose" name="compose-bom" version="2025.06.00">
<artifact name="compose-bom-2025.06.00.pom">
<sha256 value="a8b9c186caa05ec7bf27fc33db0c1b494a78b4f9a0c3ce1fa3c6f6b970ddc5ec" origin="Generated by Gradle" reason="Artifact is not signed"/>
</artifact>
</component>
<component group="androidx.compose.animation" name="animation" version="1.7.5">
<artifact name="animation-1.7.5.module">
<sha256 value="7c742bb407497fb4c322bd3d4abef83741ea6107a12168f579438303433497ff" origin="Generated by Gradle"/>
@ -3320,6 +3341,11 @@
<sha256 value="567576bcb6db841f36358f1646e167360b8725be05cfe284907b66b4b12bedd5" origin="Generated by Gradle"/>
</artifact>
</component>
<component group="androidx.fragment" name="fragment" version="1.8.8">
<artifact name="fragment-1.8.8.aar">
<sha256 value="7cb906956095f114eeb7769d6990f0fedc2965fc1a24368ef5eff69930c11556" origin="Generated by Gradle"/>
</artifact>
</component>
<component group="androidx.fragment" name="fragment-ktx" version="1.3.2">
<artifact name="fragment-ktx-1.3.2.aar">
<sha256 value="29af1e9ee0e93b5fc638600c230705584aecc49205c363f0923ba1e5be675533" origin="Generated by Gradle" reason="Artifact is not signed"/>
@ -3645,6 +3671,11 @@
<sha256 value="d72516cfce78bef654fe5df4c99b9dabd19780c95053268a6d5b4b0dda2d4323" origin="Generated by Gradle"/>
</artifact>
</component>
<component group="androidx.lifecycle" name="lifecycle-livedata" version="2.9.1">
<artifact name="lifecycle-livedata-2.9.1.aar">
<sha256 value="b4675b960c43d8cb8695385e7192a0036860542a8b9d723aa56477c769f44874" origin="Generated by Gradle"/>
</artifact>
</component>
<component group="androidx.lifecycle" name="lifecycle-livedata-core" version="2.0.0">
<artifact name="lifecycle-livedata-core-2.0.0.aar">
<sha256 value="fde334ec7e22744c0f5bfe7caf1a84c9d717327044400577bdf9bd921ec4f7bc" origin="Generated by Gradle" reason="Artifact is not signed"/>
@ -4235,6 +4266,14 @@
<sha256 value="c01afb3a57e3d171e41d98d71220ef9cbb7a508118a189d0c79e55c6337fb796" origin="Generated by Gradle" reason="Artifact is not signed"/>
</artifact>
</component>
<component group="androidx.media3" name="media3-common" version="1.7.1">
<artifact name="media3-common-1.7.1.aar">
<sha256 value="f91f4b4f34feb42bcb4d42889e3b4777bfc530b9714ec815d40bac60fe6550dc" origin="Generated by Gradle" reason="Artifact is not signed"/>
</artifact>
<artifact name="media3-common-1.7.1.module">
<sha256 value="ab91c82cc547dcbce2b35646ad60118b02f1fdbfef63dbc4fedabde9f88db42f" origin="Generated by Gradle" reason="Artifact is not signed"/>
</artifact>
</component>
<component group="androidx.media3" name="media3-container" version="1.2.0">
<artifact name="media3-container-1.2.0.aar">
<sha256 value="fb60da12818e914c0401fc0759ba8cf6094c324f8590e5a915a7fc8921867777" origin="Generated by Gradle" reason="Artifact is not signed"/>
@ -4291,6 +4330,14 @@
<sha256 value="369c92fe1ec4d80aa3bd9cbec4fe6757cc4bea24b3a4cddea328ad9629c56d5f" origin="Generated by Gradle" reason="Artifact is not signed"/>
</artifact>
</component>
<component group="androidx.media3" name="media3-container" version="1.7.1">
<artifact name="media3-container-1.7.1.aar">
<sha256 value="314cc96ea65e7e6fee624e0afc9eafc5a0b9df1a7dc4685bb86fb11e29d26753" origin="Generated by Gradle" reason="Artifact is not signed"/>
</artifact>
<artifact name="media3-container-1.7.1.module">
<sha256 value="fb29064b2fa73d23bafb90909a6d518b516fb1033ef49b264f0f26cfde8ad464" origin="Generated by Gradle" reason="Artifact is not signed"/>
</artifact>
</component>
<component group="androidx.media3" name="media3-database" version="1.2.0">
<artifact name="media3-database-1.2.0.aar">
<sha256 value="70b3c64d054a46276f6eab4fc96f42e0a256db00009fbd1e1f8e4d0b6fa4e3d4" origin="Generated by Gradle" reason="Artifact is not signed"/>
@ -4347,6 +4394,14 @@
<sha256 value="21239585d06e7c673002e3da85ab6358ce427d64f8ab4253c932d2f4fbddb065" origin="Generated by Gradle" reason="Artifact is not signed"/>
</artifact>
</component>
<component group="androidx.media3" name="media3-database" version="1.7.1">
<artifact name="media3-database-1.7.1.aar">
<sha256 value="c830254f4e6fd5a8dfa40c764b8fc5b02f1e67400ab23a4c0f4f03e23924d90b" origin="Generated by Gradle" reason="Artifact is not signed"/>
</artifact>
<artifact name="media3-database-1.7.1.module">
<sha256 value="c3962c07a740c9ba67e32325617f85dae3808776769072cf9c158bb802e193eb" origin="Generated by Gradle" reason="Artifact is not signed"/>
</artifact>
</component>
<component group="androidx.media3" name="media3-datasource" version="1.2.0">
<artifact name="media3-datasource-1.2.0.aar">
<sha256 value="595fb8718de38c9c67e30720af3e62e795b1469ac182d9ee49672287ec912aed" origin="Generated by Gradle" reason="Artifact is not signed"/>
@ -4403,6 +4458,14 @@
<sha256 value="a94825f509e053042c918b7e1b4b7752f5bafaf9ba2968c4c3350b6222c5af64" origin="Generated by Gradle" reason="Artifact is not signed"/>
</artifact>
</component>
<component group="androidx.media3" name="media3-datasource" version="1.7.1">
<artifact name="media3-datasource-1.7.1.aar">
<sha256 value="bbde38dd88eae3217a689530f30fec22857910701793517b4a37e82280281e9b" origin="Generated by Gradle" reason="Artifact is not signed"/>
</artifact>
<artifact name="media3-datasource-1.7.1.module">
<sha256 value="2e6acca35d861ffb05af17404bdc89c94c773c6e6fcaf0cfe8523ab0946462f6" origin="Generated by Gradle" reason="Artifact is not signed"/>
</artifact>
</component>
<component group="androidx.media3" name="media3-datasource-okhttp" version="1.2.0">
<artifact name="media3-datasource-okhttp-1.2.0.aar">
<sha256 value="118c4c32f77356faad00aa5b96856ccb4982b72905293279692d14897eb1028d" origin="Generated by Gradle" reason="Artifact is not signed"/>
@ -4459,6 +4522,14 @@
<sha256 value="39f2c03eb7a0832872676e6d6cd0339a0118452528eefcef2d727cee9d6194f8" origin="Generated by Gradle" reason="Artifact is not signed"/>
</artifact>
</component>
<component group="androidx.media3" name="media3-datasource-okhttp" version="1.7.1">
<artifact name="media3-datasource-okhttp-1.7.1.aar">
<sha256 value="d69e885e512a2c4446adf4585a1c5a64354a01b70b54a5862b9768c5ab12f1c6" origin="Generated by Gradle" reason="Artifact is not signed"/>
</artifact>
<artifact name="media3-datasource-okhttp-1.7.1.module">
<sha256 value="ec5efd47d93601ac9e4e65976271249b41589aaff1656eb298abdb285bc0a361" origin="Generated by Gradle" reason="Artifact is not signed"/>
</artifact>
</component>
<component group="androidx.media3" name="media3-decoder" version="1.2.0">
<artifact name="media3-decoder-1.2.0.aar">
<sha256 value="d8e33c61dd1e6be894996452d49117e501c88293f3e57c33fb7e748519eea623" origin="Generated by Gradle" reason="Artifact is not signed"/>
@ -4515,6 +4586,14 @@
<sha256 value="fc9f6c7dde342308ec395d3db7c517fb089c22978e0465f1eb870ee0570ee88f" origin="Generated by Gradle" reason="Artifact is not signed"/>
</artifact>
</component>
<component group="androidx.media3" name="media3-decoder" version="1.7.1">
<artifact name="media3-decoder-1.7.1.aar">
<sha256 value="4d85f84f6d23cdb50fd40f0d363195ccc3c636dc2432d3535132e446639adde0" origin="Generated by Gradle" reason="Artifact is not signed"/>
</artifact>
<artifact name="media3-decoder-1.7.1.module">
<sha256 value="47e666b6d294f36d16b633f863ad1870f9bb757a561f8633d14cb176b7a4a9a1" origin="Generated by Gradle" reason="Artifact is not signed"/>
</artifact>
</component>
<component group="androidx.media3" name="media3-exoplayer" version="1.2.0">
<artifact name="media3-exoplayer-1.2.0.aar">
<sha256 value="7e750d2a26c4221364ef73d9772d23f591b89900886684acdacb4520cd352ece" origin="Generated by Gradle" reason="Artifact is not signed"/>
@ -4571,6 +4650,14 @@
<sha256 value="d7b09ec60b5eee17041c7b7cd7233e6964db598ec73ae2037661691454430a75" origin="Generated by Gradle" reason="Artifact is not signed"/>
</artifact>
</component>
<component group="androidx.media3" name="media3-exoplayer" version="1.7.1">
<artifact name="media3-exoplayer-1.7.1.aar">
<sha256 value="9bf86b17207e3ca63691e0c8dd15958d53363915ca700e3e9caf7e3ec0617c69" origin="Generated by Gradle" reason="Artifact is not signed"/>
</artifact>
<artifact name="media3-exoplayer-1.7.1.module">
<sha256 value="7372ad94b08110a9bcceec0fbab0caa2281b409a4725697f410a2c9538f53fda" origin="Generated by Gradle" reason="Artifact is not signed"/>
</artifact>
</component>
<component group="androidx.media3" name="media3-extractor" version="1.2.0">
<artifact name="media3-extractor-1.2.0.aar">
<sha256 value="94314aece2d5985e45ec1e2cb6e57ab7547e11cdc5dad74d329dcc3ee195f36a" origin="Generated by Gradle" reason="Artifact is not signed"/>
@ -4627,6 +4714,14 @@
<sha256 value="86b2a4e43762808d57f331c25b5f7967bc7fab3cffe580563108f9149afd3d9b" origin="Generated by Gradle" reason="Artifact is not signed"/>
</artifact>
</component>
<component group="androidx.media3" name="media3-extractor" version="1.7.1">
<artifact name="media3-extractor-1.7.1.aar">
<sha256 value="2c9fc71a8b4bea13caef841034e8ddbd3911dbedf10ea433f42d327626c52ee4" origin="Generated by Gradle" reason="Artifact is not signed"/>
</artifact>
<artifact name="media3-extractor-1.7.1.module">
<sha256 value="b4028e99029a33c28559186ffaf9e2763548f231abc0249eed549c7ca85bf76d" origin="Generated by Gradle" reason="Artifact is not signed"/>
</artifact>
</component>
<component group="androidx.media3" name="media3-session" version="1.4.0">
<artifact name="media3-session-1.4.0.aar">
<sha256 value="a5daaaea8fc9a87ebb4411f1d97bcf887069132068b3af15374205cfd458bb7c" origin="Generated by Gradle" reason="Artifact is not signed"/>
@ -4651,6 +4746,14 @@
<sha256 value="576150d522dee55bc752622ab286afb43e9d897798e848ead7056debabf2852a" origin="Generated by Gradle" reason="Artifact is not signed"/>
</artifact>
</component>
<component group="androidx.media3" name="media3-session" version="1.7.1">
<artifact name="media3-session-1.7.1.aar">
<sha256 value="de4851a28e0990ef4da13d52c7766f5a616c9664f7098fb2b23c66398abd30ad" origin="Generated by Gradle" reason="Artifact is not signed"/>
</artifact>
<artifact name="media3-session-1.7.1.module">
<sha256 value="da2ee1c6f786cbfbb7d6c8e07299739d88255662efeec77862205bed35c704e9" origin="Generated by Gradle" reason="Artifact is not signed"/>
</artifact>
</component>
<component group="androidx.media3" name="media3-ui" version="1.2.0">
<artifact name="media3-ui-1.2.0.aar">
<sha256 value="fee39edbf615f9432f53af1cc9b20dd5706bfbc5dbd7fe581253a59eedd91482" origin="Generated by Gradle" reason="Artifact is not signed"/>
@ -4707,6 +4810,14 @@
<sha256 value="67d598c80cd09c09919ad6822af8d285b5bdcaafc5f92656d729e6b8a35e0ee6" origin="Generated by Gradle" reason="Artifact is not signed"/>
</artifact>
</component>
<component group="androidx.media3" name="media3-ui" version="1.7.1">
<artifact name="media3-ui-1.7.1.aar">
<sha256 value="2e2935ae7e2ba060347f7e68dc2f215a8debab5e4ba300e167e6e1ad9236df77" origin="Generated by Gradle" reason="Artifact is not signed"/>
</artifact>
<artifact name="media3-ui-1.7.1.module">
<sha256 value="7e74db21303c95a01636646407bb6457faded610bbd8fba6a1e7cd51838606a7" origin="Generated by Gradle" reason="Artifact is not signed"/>
</artifact>
</component>
<component group="androidx.multidex" name="multidex" version="2.0.1">
<artifact name="multidex-2.0.1.aar">
<sha256 value="42dd32ff9f97f85771b82a20003a8d70f68ab7b4ba328964312ce0732693db09" origin="Generated by Gradle" reason="Artifact is not signed"/>
@ -14686,6 +14797,14 @@
<sha256 value="1f3b5a26459843c6107ce4b904e2325a93c2091c2d0005fec272454fc9adaa24" origin="Generated by Gradle"/>
</artifact>
</component>
<component group="com.mebigfatguy.fb-contrib" name="fb-contrib" version="7.6.10">
<artifact name="fb-contrib-7.6.10.jar">
<sha256 value="14f648f03df923cdf1df3a906de9bc97f3edd3e282448e78ad7c06b0ae7d0d1c" origin="Generated by Gradle" reason="A key couldn't be downloaded"/>
</artifact>
<artifact name="fb-contrib-7.6.10.pom">
<sha256 value="500729650ed63efa2f5c2fe7da8e72e900bdc10a7cdaa4743a7e2f9ab6d22b76" origin="Generated by Gradle" reason="A key couldn't be downloaded"/>
</artifact>
</component>
<component group="com.mebigfatguy.fb-contrib" name="fb-contrib" version="7.6.5">
<artifact name="fb-contrib-7.6.5.jar">
<sha256 value="122f28fd26ed6c1a9bad1e1a028198f47c1c057054103849323376224932038d" origin="Generated by Gradle" reason="A key couldn't be downloaded"/>