From fa62f562275455bc1b29fd303afb46aa8684ddd4 Mon Sep 17 00:00:00 2001 From: Shane <6071159+smashedr@users.noreply.github.com> Date: Sat, 21 Feb 2026 14:28:17 -0800 Subject: [PATCH] Update AGP and Dependencies --- .github/actionlint.yaml | 6 ++ .github/workflows/draft.yaml | 2 +- .github/workflows/lint.yaml | 52 ++++++++------- .github/workflows/release.yaml | 64 ++++++++++--------- .github/yamllint.yaml | 7 ++ README.md | 23 +++++-- Taskfile.yml | 24 +++++++ app/build.gradle.kts | 18 +++--- .../djangofiles/djangofiles/db/AlbumDao.kt | 2 +- .../djangofiles/djangofiles/db/ServerDao.kt | 2 +- .../ui/files/FilesPreviewFragment.kt | 4 +- .../djangofiles/ui/files/FilesViewAdapter.kt | 2 +- .../djangofiles/ui/home/HomeFragment.kt | 2 +- .../djangofiles/ui/upload/UploadFragment.kt | 2 +- app/src/main/res/values/strings.xml | 4 +- gradle.properties | 5 +- gradle/libs.versions.toml | 34 +++++----- gradle/wrapper/gradle-wrapper.properties | 2 +- 18 files changed, 159 insertions(+), 96 deletions(-) create mode 100644 .github/actionlint.yaml create mode 100644 .github/yamllint.yaml create mode 100644 Taskfile.yml diff --git a/.github/actionlint.yaml b/.github/actionlint.yaml new file mode 100644 index 0000000..447aaa1 --- /dev/null +++ b/.github/actionlint.yaml @@ -0,0 +1,6 @@ +paths: + .github/workflows/**/*.{yml,yaml}: + ignore: + - '"inputs" section is alias node but mapping node is expected' + - '"paths" section must be sequence node but got alias node with "" tag' + - '"paths-ignore" section must be sequence node but got alias node with "" tag' diff --git a/.github/workflows/draft.yaml b/.github/workflows/draft.yaml index a82f5c3..309c3b9 100644 --- a/.github/workflows/draft.yaml +++ b/.github/workflows/draft.yaml @@ -19,7 +19,7 @@ jobs: steps: - name: "Checkout" - uses: actions/checkout@v4 + uses: actions/checkout@v6 - name: "Draft Release Action" id: draft diff --git a/.github/workflows/lint.yaml b/.github/workflows/lint.yaml index c7f5bf3..6214e0a 100644 --- a/.github/workflows/lint.yaml +++ b/.github/workflows/lint.yaml @@ -20,15 +20,21 @@ jobs: steps: - name: "Checkout" - uses: actions/checkout@v4 + uses: actions/checkout@v6 - name: "Debug event.json" - if: ${{ !cancelled() }} continue-on-error: true - run: | - cat "${GITHUB_EVENT_PATH}" + run: cat "${GITHUB_EVENT_PATH}" + - name: "Debug CTX github" + continue-on-error: true + env: + GITHUB_CTX: ${{ toJSON(github) }} + run: echo "$GITHUB_CTX" + - name: "Debug Environment" + continue-on-error: true + run: env - - name: "Kotlin Lint" + - name: "ktlint" if: ${{ !cancelled() }} continue-on-error: true # TODO: Resolve KTLint Issues env: @@ -41,7 +47,7 @@ jobs: ${{ env.klint }} --version ${{ env.klint }} --color 'app/src/main/java/**' - - name: "Prettier" + - name: "prettier" if: ${{ !cancelled() }} run: | echo "::group::Install" @@ -49,28 +55,26 @@ jobs: echo "::endgroup::" npx prettier --check . - - name: "Yamllint" + - name: "yamllint" if: ${{ !cancelled() }} env: - CONFIG: "{extends: relaxed, ignore: [node_modules/,.github/disabled/], rules: {line-length: {max: 119}}}" + CONFIG: .github/yamllint.yaml run: | echo "::group::List Files" - yamllint -d '${{ env.CONFIG }}' --list-files . + yamllint -c "${{ env.CONFIG }}" --list-files . echo "::endgroup::" - yamllint -d '${{ env.CONFIG }}' . + yamllint -c "${{ env.CONFIG }}" . - - name: "Actionlint" + - name: "actionlint" if: ${{ !cancelled() }} - run: | - echo "::group::Download" - loc=$(curl -sI https://github.com/rhysd/actionlint/releases/latest | grep -i '^location:') - echo "loc: ${loc}" - tag=$(echo "${loc}" | sed -E 's|.*/tag/v?(.*)|\1|' | tr -d '\t\r\n') - echo "tag: ${tag}" - url="https://github.com/rhysd/actionlint/releases/latest/download/actionlint_${tag}_linux_amd64.tar.gz" - echo "url: ${url}" - curl -sL "${url}" | tar xz -C "${RUNNER_TEMP}" actionlint - file "${RUNNER_TEMP}/actionlint" - "${RUNNER_TEMP}/actionlint" --version - echo "::endgroup::" - "${RUNNER_TEMP}/actionlint" -color -verbose -shellcheck= -pyflakes= + uses: cssnr/actionlint-action@v1 + with: + shellcheck_opts: -e SC2129 + + - name: "shellcheck" + if: ${{ !cancelled() }} + uses: ludeeus/action-shellcheck@master + env: + SHELLCHECK_OPTS: -x + with: + scandir: .github/scripts diff --git a/.github/workflows/release.yaml b/.github/workflows/release.yaml index 5fb56ea..37692bd 100644 --- a/.github/workflows/release.yaml +++ b/.github/workflows/release.yaml @@ -35,7 +35,7 @@ jobs: steps: - name: "Checkout" - uses: actions/checkout@v4 + uses: actions/checkout@v6 - name: "Debug Event" continue-on-error: true @@ -68,7 +68,7 @@ jobs: echo "::endgroup::" - name: "Update Version" - uses: chkfung/android-version-actions@v1.2.2 + uses: chkfung/android-version-actions@fcf89abef1c7afba2083146dcca0c6da4705ba4b # v1.2.3 id: version with: gradlePath: ${{ env.gradle_file }} @@ -97,10 +97,10 @@ jobs: echo ${{ secrets.ANDROID_KEYSTORE_PASS }} | keytool -list -keystore ${{ env.key_file }} - - name: "Setup Node 22" - uses: actions/setup-node@v4 + - name: "Setup Node 24" + uses: actions/setup-node@v6 with: - node-version: 22 + node-version: 24 - name: "Prepare Build" working-directory: ".github/scripts" @@ -114,7 +114,7 @@ jobs: ls -lAh app - name: "Setup Java" - uses: actions/setup-java@v4 + uses: actions/setup-java@v5 with: distribution: "zulu" java-version: "17" @@ -152,7 +152,6 @@ jobs: mv "${{ env.apk_path }}/${{ env.apk_file }}" "${{ env.apk_path }}/${{ env.signed_apk }}" - name: "Upload APK to Artifacts" - if: ${{ !github.event.act }} uses: actions/upload-artifact@v4 with: name: release @@ -160,12 +159,10 @@ jobs: - name: "Upload APK to Release" if: ${{ github.event_name == 'release' }} - uses: svenstaro/upload-release-action@v2 + uses: cssnr/upload-release-action@v1 with: - file: ${{ env.apk_path }}/${{ env.signed_apk }} - tag: ${{ github.ref }} + files: ${{ env.apk_path }}/${{ env.signed_apk }} overwrite: true - file_glob: true #- name: "Gradle Bundle AAB" # if: ${{ !github.event.release.prerelease }} @@ -178,11 +175,11 @@ jobs: # continue-on-error: true # run: | # echo "env.aab_path: ${{ env.aab_path }}" - # ls -lAh ${{ env.aab_path }} ||: + # ls -lAh "${{ env.aab_path }}" ||: # echo "env.debug_symbols: ${{ env.debug_symbols }}" - # ls -lAh ${{ env.debug_symbols }} ||: + # ls -lAh "${{ env.debug_symbols }}" ||: # echo "env.mapping_file: ${{ env.mapping_file }}" - # ls -lAh $(dirname ${{ env.debug_symbols }}) ||: + # ls -lAh "$(dirname "${{ env.debug_symbols }}")" ||: #- name: "Sign Bundle" # if: ${{ !github.event.release.prerelease }} @@ -197,21 +194,30 @@ jobs: #- name: "Upload Bundle to Artifacts" # if: ${{ !github.event.release.prerelease }} - # uses: actions/upload-artifact@v4 + # uses: actions/upload-artifact@v6 # with: # name: bundle # path: ${{ env.aab_path }} + #- name: "Parse Release Notes" + # if: ${{ github.event_name == 'release' && !github.event.release.prerelease }} + # id: notes + # run: | + # body="${{ github.event.release.body }}" + # summary="$(echo "${body%%#*}" | tr -d '\r' | sed ':a;N;$!ba;s/\n*$//')" + # echo "summary<> "$GITHUB_OUTPUT" + # echo "$summary" >> "$GITHUB_OUTPUT" + # echo "EOF" >> "$GITHUB_OUTPUT" + #- name: "Generate Whats New" - # if: ${{ !github.event.release.prerelease }} + # if: ${{ github.event_name == 'release' && !github.event.release.prerelease }} # run: | # mkdir -p whatsNew - # echo "GitHub Actions Build" > whatsNew/whatsnew-en-US - # cat whatsNew/whatsnew-en-US + # echo -n "${{ steps.notes.outputs.summary }}" > whatsNew/whatsnew-en-US #- name: "Upload Google Play" # if: ${{ github.event_name == 'release' && !github.event.release.prerelease }} - # uses: r0adkll/upload-google-play@v1 + # uses: r0adkll/upload-google-play@935ef9c68bb393a8e6116b1575626a7f5be3a7fb # v1.1.3 # with: # serviceAccountJsonPlainText: ${{ secrets.GOOGLE_SERVICE_ACCOUNT_JSON }} # packageName: ${{ env.package_name }} @@ -240,24 +246,24 @@ jobs: if: ${{ !github.event.act }} continue-on-error: true run: | - echo -e "## Android Release\n\n" >> $GITHUB_STEP_SUMMARY + echo -e "## Android Release\n\n" >> "$GITHUB_STEP_SUMMARY" - echo -e "Final APK: \`${{ env.signed_apk }}\`\n\n" >> $GITHUB_STEP_SUMMARY + echo -e "Final APK: \`${{ env.signed_apk }}\`\n\n" >> "$GITHUB_STEP_SUMMARY" - echo -e "
Build Artifacts\n\n" >> $GITHUB_STEP_SUMMARY - echo -e "\`\`\`text\n$(ls -lAh ${{ env.apk_path }})\n\`\`\`\n\n" >> $GITHUB_STEP_SUMMARY - echo -e "
\n\n" >> $GITHUB_STEP_SUMMARY + echo -e "
Build Artifacts\n\n" >> "$GITHUB_STEP_SUMMARY" + echo -e "\`\`\`text\n$(ls -lAh ${{ env.apk_path }})\n\`\`\`\n\n" >> "$GITHUB_STEP_SUMMARY" + echo -e "
\n\n" >> "$GITHUB_STEP_SUMMARY" if [ -f "${{ env.apk_path }}/output-metadata.json" ];then - echo -e "
File: output-metadata.json\n\n" >> $GITHUB_STEP_SUMMARY - echo -e "\`\`\`json\n$(cat ${{ env.apk_path }}/output-metadata.json)\n\`\`\`\n\n" >> $GITHUB_STEP_SUMMARY - echo -e "
\n\n" >> $GITHUB_STEP_SUMMARY + echo -e "
File: output-metadata.json\n\n" >> "$GITHUB_STEP_SUMMARY" + echo -e "\`\`\`json\n$(cat ${{ env.apk_path }}/output-metadata.json)\n\`\`\`\n\n" >> "$GITHUB_STEP_SUMMARY" + echo -e "
\n\n" >> "$GITHUB_STEP_SUMMARY" fi - echo -e "\n\n---" >> $GITHUB_STEP_SUMMARY + echo -e "\n\n---" >> "$GITHUB_STEP_SUMMARY" - name: "Send Failure Notification" if: ${{ failure() && github.event_name == 'release' }} - uses: sarisia/actions-status-discord@v1 + uses: sarisia/actions-status-discord@eb045afee445dc055c18d3d90bd0f244fd062708 # v1.16.0 with: webhook: ${{ secrets.DISCORD_WEBHOOK }} diff --git a/.github/yamllint.yaml b/.github/yamllint.yaml new file mode 100644 index 0000000..38237e5 --- /dev/null +++ b/.github/yamllint.yaml @@ -0,0 +1,7 @@ +extends: relaxed + +ignore-from-file: .gitignore + +rules: + line-length: + max: 119 diff --git a/README.md b/README.md index 5e22b11..2bfcba2 100644 --- a/README.md +++ b/README.md @@ -4,12 +4,15 @@ [![Lint](https://img.shields.io/github/actions/workflow/status/django-files/android-client/lint.yaml?logo=github&logoColor=white&label=lint)](https://github.com/django-files/android-client/actions/workflows/lint.yaml) [![Release](https://img.shields.io/github/actions/workflow/status/django-files/android-client/release.yaml?logo=github&logoColor=white&label=release)](https://github.com/django-files/android-client/actions/workflows/release.yaml) [![AGP Version](https://img.shields.io/badge/dynamic/toml?url=https%3A%2F%2Fraw.githubusercontent.com%2Fdjango-files%2Fandroid-client%2Frefs%2Fheads%2Fmaster%2Fgradle%2Flibs.versions.toml&query=%24.versions.agp&logo=gradle&label=AGP)](https://github.com/django-files/android-client/blob/master/gradle/libs.versions.toml#L2) -[![GitHub Repo Size](https://img.shields.io/github/repo-size/django-files/android-client?logo=bookstack&logoColor=white&label=repo%20size)](https://github.com/django-files/android-client) -[![GitHub Top Language](https://img.shields.io/github/languages/top/django-files/android-client?logo=htmx)](https://github.com/django-files/android-client) -[![GitHub Discussions](https://img.shields.io/github/discussions/django-files/android-client?logo=github)](https://github.com/django-files/android-client/discussions) -[![GitHub Forks](https://img.shields.io/github/forks/django-files/android-client?style=flat&logo=github)](https://github.com/django-files/android-client/forks) -[![GitHub Repo Stars](https://img.shields.io/github/stars/django-files/android-client?style=flat&logo=github)](https://github.com/django-files/android-client/stargazers) -[![GitHub Org Stars](https://img.shields.io/github/stars/django-files?style=flat&logo=github&label=org%20stars)](https://django-files.github.io/) +[![GitHub Last Commit](https://img.shields.io/github/last-commit/django-files/android-client?logo=listenhub&label=updated)](https://github.com/django-files/android-client/pulse) +[![GitHub Repo Size](https://img.shields.io/github/repo-size/django-files/android-client?logo=buffer&label=repo%20size)](https://github.com/django-files/android-client?tab=readme-ov-file#readme) +[![GitHub Top Language](https://img.shields.io/github/languages/top/django-files/android-client?logo=devbox)](https://github.com/django-files/android-client?tab=readme-ov-file#readme) +[![GitHub Contributors](https://img.shields.io/github/contributors-anon/django-files/android-client?logo=southwestairlines)](https://github.com/django-files/android-client/graphs/contributors) +[![GitHub Issues](https://img.shields.io/github/issues/django-files/android-client?logo=codeforces&logoColor=white)](https://github.com/django-files/android-client/issues) +[![GitHub Discussions](https://img.shields.io/github/discussions/django-files/android-client?logo=theconversation)](https://github.com/django-files/android-client/discussions) +[![GitHub Forks](https://img.shields.io/github/forks/django-files/android-client?style=flat&logo=forgejo&logoColor=white)](https://github.com/django-files/android-client/forks) +[![GitHub Repo Stars](https://img.shields.io/github/stars/django-files/android-client?style=flat&logo=gleam&logoColor=white)](https://github.com/django-files/android-client/stargazers) +[![GitHub Org Stars](https://img.shields.io/github/stars/django-files?style=flat&logo=apachespark&logoColor=white&label=org%20stars)](https://django-files.github.io/) [![Discord](https://img.shields.io/discord/899171661457293343?logo=discord&logoColor=white&label=discord&color=7289da)](https://discord.gg/wXy6m2X8wY) # Django Files Android App @@ -338,3 +341,11 @@ You can also support other related projects: - [Django Files iOS App](https://github.com/django-files/ios-client) - [Django Files Android App](https://github.com/django-files/android-client) - [Django Files Web Extension](https://github.com/django-files/web-extension) + + + + + + Star History Chart + + diff --git a/Taskfile.yml b/Taskfile.yml new file mode 100644 index 0000000..3519170 --- /dev/null +++ b/Taskfile.yml @@ -0,0 +1,24 @@ +# yaml-language-server: $schema=https://taskfile.dev/schema.json +version: "3" + +tasks: + lint: + desc: Lint + cmds: + - prettier --check . + - yamllint -c .github/yamllint.yaml . + - actionlint -shellcheck="-e SC2129" + - shellcheck .github/scripts/prepare.sh + + format: + desc: Format + aliases: [fmt] + cmd: | + prettier --write . + + build: + desc: Build (recommended android studio) + vars: + GRADLEW: 'gradlew{{if eq OS "windows"}}.bat{{end}}' + cmd: | + ./{{.GRADLEW}} assemble {{.CLI_ARGS}} diff --git a/app/build.gradle.kts b/app/build.gradle.kts index bdb584f..583335b 100644 --- a/app/build.gradle.kts +++ b/app/build.gradle.kts @@ -1,10 +1,10 @@ +import com.android.build.api.dsl.ApplicationExtension import org.jetbrains.kotlin.gradle.dsl.JvmTarget -import org.jetbrains.kotlin.gradle.tasks.KotlinJvmCompile import java.util.Properties plugins { alias(libs.plugins.android.application) - alias(libs.plugins.kotlin.android) + //alias(libs.plugins.kotlin.android) //alias(libs.plugins.kotlin.kapt) alias(libs.plugins.ksp) alias(libs.plugins.google.services) @@ -15,7 +15,7 @@ plugins { //id("androidx.navigation.safeargs.kotlin") version "2.8.9" // Use the correct version } -android { +configure { namespace = "com.djangofiles.djangofiles" compileSdk = 36 @@ -66,11 +66,11 @@ android { //kotlinOptions { // jvmTarget = "17" //} - tasks.withType().configureEach { - compilerOptions { - jvmTarget.set(JvmTarget.JVM_17) - } - } + //tasks.withType().configureEach { + // compilerOptions { + // jvmTarget.set(JvmTarget.JVM_17) + // } + //} buildFeatures { viewBinding = true @@ -79,6 +79,8 @@ android { } } +kotlin { compilerOptions { jvmTarget.set(JvmTarget.JVM_17) } } + dependencies { implementation(libs.androidx.core.ktx) implementation(libs.androidx.appcompat) diff --git a/app/src/main/java/com/djangofiles/djangofiles/db/AlbumDao.kt b/app/src/main/java/com/djangofiles/djangofiles/db/AlbumDao.kt index 27774b0..7d0d680 100644 --- a/app/src/main/java/com/djangofiles/djangofiles/db/AlbumDao.kt +++ b/app/src/main/java/com/djangofiles/djangofiles/db/AlbumDao.kt @@ -72,7 +72,7 @@ data class AlbumEntity( ) -@Database(entities = [AlbumEntity::class], version = 1) +@Database(entities = [AlbumEntity::class], version = 1, exportSchema = false) abstract class AlbumDatabase : RoomDatabase() { abstract fun albumDao(): AlbumDao diff --git a/app/src/main/java/com/djangofiles/djangofiles/db/ServerDao.kt b/app/src/main/java/com/djangofiles/djangofiles/db/ServerDao.kt index d80885f..49044f0 100644 --- a/app/src/main/java/com/djangofiles/djangofiles/db/ServerDao.kt +++ b/app/src/main/java/com/djangofiles/djangofiles/db/ServerDao.kt @@ -59,7 +59,7 @@ data class Server( ) -@Database(entities = [Server::class], version = 3) +@Database(entities = [Server::class], version = 3, exportSchema = false) abstract class ServerDatabase : RoomDatabase() { abstract fun serverDao(): ServerDao diff --git a/app/src/main/java/com/djangofiles/djangofiles/ui/files/FilesPreviewFragment.kt b/app/src/main/java/com/djangofiles/djangofiles/ui/files/FilesPreviewFragment.kt index e6554bb..53d0f9e 100644 --- a/app/src/main/java/com/djangofiles/djangofiles/ui/files/FilesPreviewFragment.kt +++ b/app/src/main/java/com/djangofiles/djangofiles/ui/files/FilesPreviewFragment.kt @@ -296,7 +296,7 @@ class FilesPreviewFragment : Fragment() { Log.d("FilesPreviewFragment", "OTHER - NO PREVIEW") binding.previewImageView.visibility = View.VISIBLE - binding.previewImageView.setImageResource(getGenericIcon(mimeType.toString())) + binding.previewImageView.setImageResource(getGenericIcon(mimeType)) binding.previewImageView.setOnClickListener { //findNavController().popBackStack() findNavController().navigateUp() @@ -329,7 +329,7 @@ class FilesPreviewFragment : Fragment() { client.newCall(request).execute().use { response -> Log.d("getContent", "response.code: ${response.code}") if (response.isSuccessful) { - return response.body?.string() + return response.body.string() } null } diff --git a/app/src/main/java/com/djangofiles/djangofiles/ui/files/FilesViewAdapter.kt b/app/src/main/java/com/djangofiles/djangofiles/ui/files/FilesViewAdapter.kt index 2d7db96..b938370 100644 --- a/app/src/main/java/com/djangofiles/djangofiles/ui/files/FilesViewAdapter.kt +++ b/app/src/main/java/com/djangofiles/djangofiles/ui/files/FilesViewAdapter.kt @@ -88,7 +88,7 @@ class FilesViewAdapter( viewHolder.fileName.text = data.name // Size - viewHolder.fileSize.text = bytesToHuman(data.size.toDouble()).toString() + viewHolder.fileSize.text = bytesToHuman(data.size.toDouble()) // Views viewHolder.fileView.text = data.view.toString() diff --git a/app/src/main/java/com/djangofiles/djangofiles/ui/home/HomeFragment.kt b/app/src/main/java/com/djangofiles/djangofiles/ui/home/HomeFragment.kt index dfd0846..069e110 100644 --- a/app/src/main/java/com/djangofiles/djangofiles/ui/home/HomeFragment.kt +++ b/app/src/main/java/com/djangofiles/djangofiles/ui/home/HomeFragment.kt @@ -252,7 +252,7 @@ class HomeFragment : Fragment() { Log.d("doUpdateVisitedHistory", "AUTHENTICATION URL: $url") //findNavController().navigate(R.id.nav_item_settings_action_login) val bundle = Bundle().apply { - putString("authUrl", currentUrl.toString()) + putString("authUrl", currentUrl) } findNavController().navigate( R.id.nav_item_login, bundle, NavOptions.Builder() diff --git a/app/src/main/java/com/djangofiles/djangofiles/ui/upload/UploadFragment.kt b/app/src/main/java/com/djangofiles/djangofiles/ui/upload/UploadFragment.kt index fd1ad3b..6f821b4 100644 --- a/app/src/main/java/com/djangofiles/djangofiles/ui/upload/UploadFragment.kt +++ b/app/src/main/java/com/djangofiles/djangofiles/ui/upload/UploadFragment.kt @@ -235,7 +235,7 @@ class UploadFragment : Fragment() { binding.imageOverlayText.text = mimeType binding.imageOverlayText.visibility = View.VISIBLE // Set Icon Based on Type - binding.imagePreview.setImageResource(getGenericIcon(mimeType.toString())) + binding.imagePreview.setImageResource(getGenericIcon(mimeType)) } binding.shareButton.setOnClickListener { diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index 305ebf0..60ad6b5 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -1,7 +1,7 @@ Django Files v%s - %s (%s) + %1$s (%2$s) https://github.com/django-files/android-client %s]]> @@ -33,7 +33,7 @@ File Name Shorten URL - **%s** `v%s` API **%s**\n```\n%s\n``` + **%1$s** `v%2$s` API **%3$s**\n```\n%4$s\n``` Background Opacity %d diff --git a/gradle.properties b/gradle.properties index 20e2a01..0d4b7ed 100644 --- a/gradle.properties +++ b/gradle.properties @@ -20,4 +20,7 @@ kotlin.code.style=official # Enables namespacing of each library's R class so that its R class includes only the # resources declared in the library itself and none from the library's dependencies, # thereby reducing the size of the R class for that library -android.nonTransitiveRClass=true \ No newline at end of file +android.nonTransitiveRClass=true +android.uniquePackageNames=false +android.dependency.useConstraints=false +android.r8.strictFullModeForKeepRules=false \ No newline at end of file diff --git a/gradle/libs.versions.toml b/gradle/libs.versions.toml index dc4145b..93635d2 100644 --- a/gradle/libs.versions.toml +++ b/gradle/libs.versions.toml @@ -1,33 +1,33 @@ [versions] -agp = "8.12.1" -kotlin = "2.2.10" -ksp = "2.2.10-2.0.2" +agp = "9.0.1" +kotlin = "2.3.10" +ksp = "2.3.5" coreKtx = "1.17.0" junit = "4.13.2" junitVersion = "1.3.0" espressoCore = "3.7.0" appcompat = "1.7.1" -material = "1.12.0" +material = "1.13.0" -activity = "1.10.1" +activity = "1.12.4" preferenceKtx = "1.2.1" -lifecycleLivedataKtx = "2.9.2" -lifecycleViewmodelKtx = "2.9.2" -navigationFragmentKtx = "2.9.3" -navigationUiKtx = "2.9.3" -swiperefreshlayout = "1.1.0" -workRuntimeKtx = "2.10.3" -room = "2.7.2" -media3 = "1.8.0" +lifecycleLivedataKtx = "2.10.0" +lifecycleViewmodelKtx = "2.10.0" +navigationFragmentKtx = "2.9.7" +navigationUiKtx = "2.9.7" +swiperefreshlayout = "1.2.0" +workRuntimeKtx = "2.11.1" +room = "2.8.4" +media3 = "1.9.2" -googleServices = "4.4.3" -firebaseBom = "34.1.0" +googleServices = "4.4.4" +firebaseBom = "34.9.0" crashlyticsPlugin = "3.0.6" -okhttp = "5.1.0" +okhttp = "5.3.2" retrofit = "3.0.0" moshiKotlinCodegen = "1.15.2" -glide = "5.0.0-rc01" +glide = "5.0.5" #navigationSafeargsVersion = "2.8.9" #roomRuntime = "2.6.1" diff --git a/gradle/wrapper/gradle-wrapper.properties b/gradle/wrapper/gradle-wrapper.properties index 11f7c31..0c56fd5 100644 --- a/gradle/wrapper/gradle-wrapper.properties +++ b/gradle/wrapper/gradle-wrapper.properties @@ -1,6 +1,6 @@ #Thu Mar 27 10:12:37 PDT 2025 distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists -distributionUrl=https\://services.gradle.org/distributions/gradle-8.13-bin.zip +distributionUrl=https\://services.gradle.org/distributions/gradle-9.2.1-bin.zip zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists