From f7f97586e507de6cc62a5f04377de90123b77d54 Mon Sep 17 00:00:00 2001 From: JKook <10250087+JKook-Plus@users.noreply.github.com> Date: Fri, 9 Oct 2026 19:13:58 +1100 Subject: [PATCH] Move to AGP 9.4.1, Gradle 9.8.1, Kotlin 2.4.20 and current androidx AGP 9 needs Gradle 9.6 or newer and compiles Kotlin itself, so the kotlin-android plugin is gone. The new androidx libraries need compileSdk 37; targetSdk stays at 34. compileSdk 37 marks MediaCodecInfo.videoCapabilities as nullable, which pickEncoder now handles. Three functions get an explicit Unit return type, which Kotlin 2.5 will require. Replaces the Dependabot updates #5, #6 and #7. Co-Authored-By: Claude Opus 5.5 --- app/build.gradle.kts | 5 +- app/src/main/java/dev/hardline/media/Codec.kt | 2 +- .../main/java/dev/hardline/media/Recorder.kt | 4 +- .../java/dev/hardline/net/SrtPublisher.kt | 2 +- build.gradle.kts | 1 - gradle/libs.versions.toml | 13 ++- gradle/wrapper/gradle-wrapper.jar | Bin 43764 -> 48749 bytes gradle/wrapper/gradle-wrapper.properties | 4 +- gradlew | 11 +-- gradlew.bat | 86 +++++++++++------- 10 files changed, 71 insertions(+), 57 deletions(-) diff --git a/app/build.gradle.kts b/app/build.gradle.kts index 5a4d5a0..053f7c4 100644 --- a/app/build.gradle.kts +++ b/app/build.gradle.kts @@ -3,7 +3,6 @@ import org.jetbrains.kotlin.gradle.dsl.JvmTarget plugins { alias(libs.plugins.android.application) - alias(libs.plugins.kotlin.android) alias(libs.plugins.kotlin.compose) } @@ -15,7 +14,7 @@ val keystoreProps = Properties().apply { android { namespace = "dev.hardline" - compileSdk = 36 + compileSdk = 37 ndkVersion = "28.2.13676358" defaultConfig { @@ -89,7 +88,7 @@ kotlin { } // libusb and libuvc are not committed: fetch them before anything compiles. -val fetchNativeDeps by tasks.registering(Exec::class) { +val fetchNativeDeps = tasks.register("fetchNativeDeps") { description = "Downloads libusb and libuvc into third_party/ and applies the patches." group = "build setup" val script = rootProject.file("scripts/fetch-deps.sh") diff --git a/app/src/main/java/dev/hardline/media/Codec.kt b/app/src/main/java/dev/hardline/media/Codec.kt index 85a0dff..16fae58 100644 --- a/app/src/main/java/dev/hardline/media/Codec.kt +++ b/app/src/main/java/dev/hardline/media/Codec.kt @@ -191,7 +191,7 @@ class VideoEncoder( fun pickEncoder(mime: String, width: Int, height: Int, hardware: Boolean): String? = MediaCodecList(MediaCodecList.REGULAR_CODECS).codecInfos.firstOrNull { info -> info.isEncoder && info.supportedTypes.any { it.equals(mime, true) } && H26xDecoder.isSoftware(info) != hardware && - runCatching { info.getCapabilitiesForType(mime).videoCapabilities.isSizeSupported(width, height) }.getOrDefault(false) + runCatching { info.getCapabilitiesForType(mime).videoCapabilities?.isSizeSupported(width, height) ?: false }.getOrDefault(false) }?.name fun isSupported(codec: VideoCodec, width: Int, height: Int): Boolean = diff --git a/app/src/main/java/dev/hardline/media/Recorder.kt b/app/src/main/java/dev/hardline/media/Recorder.kt index 30a1124..f9173cd 100644 --- a/app/src/main/java/dev/hardline/media/Recorder.kt +++ b/app/src/main/java/dev/hardline/media/Recorder.kt @@ -98,7 +98,7 @@ class Recorder( } } - fun setPaused(value: Boolean) = synchronized(lock) { + fun setPaused(value: Boolean): Unit = synchronized(lock) { if (!active || paused == value) return paused = value val now = SystemClock.elapsedRealtime() @@ -201,7 +201,7 @@ class Recorder( if (failed) stop() } - override fun onAudioPacket(packet: AudioPacket) = synchronized(lock) { + override fun onAudioPacket(packet: AudioPacket): Unit = synchronized(lock) { if (!active || paused || muxer == null || needKey || audioTrack < 0) return val pts = maxOf(packet.ptsUs - baseUs - gapUs, lastAudioUs + 1) if (pts < 0) return diff --git a/app/src/main/java/dev/hardline/net/SrtPublisher.kt b/app/src/main/java/dev/hardline/net/SrtPublisher.kt index ff84611..c87891e 100644 --- a/app/src/main/java/dev/hardline/net/SrtPublisher.kt +++ b/app/src/main/java/dev/hardline/net/SrtPublisher.kt @@ -467,7 +467,7 @@ class SrtPublisher(private val c: CameraController, override val target: PushTar val sink = object : VideoSink, AudioSink { override fun onVideoConfig(config_: VideoConfig) { config = config_ } override fun onAudioConfig(config: AudioConfig) = Unit - override fun onVideoPacket(packet: VideoPacket) = synchronized(mux) { + override fun onVideoPacket(packet: VideoPacket): Unit = synchronized(mux) { if (!started) { if (!packet.key) return else started = true } mux.video(config, packet) } diff --git a/build.gradle.kts b/build.gradle.kts index 9deb573..020183f 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -1,5 +1,4 @@ plugins { alias(libs.plugins.android.application) apply false - alias(libs.plugins.kotlin.android) apply false alias(libs.plugins.kotlin.compose) apply false } diff --git a/gradle/libs.versions.toml b/gradle/libs.versions.toml index fd73afb..e7dfdd6 100644 --- a/gradle/libs.versions.toml +++ b/gradle/libs.versions.toml @@ -1,13 +1,13 @@ [versions] -agp = "8.13.2" -kotlin = "2.2.21" -compose-bom = "2025.12.01" +agp = "9.4.1" +kotlin = "2.4.20" +compose-bom = "2026.09.00" activity-compose = "1.12.2" lifecycle = "2.9.4" -core-ktx = "1.17.0" -exifinterface = "1.4.1" +core-ktx = "1.19.1" +exifinterface = "1.4.2" documentfile = "1.1.0" -coroutines = "1.10.2" +coroutines = "1.11.0" commons-net = "3.12.0" android-mail = "1.6.8" zxing = "3.5.4" @@ -32,5 +32,4 @@ junit = { module = "junit:junit", version.ref = "junit" } [plugins] android-application = { id = "com.android.application", version.ref = "agp" } -kotlin-android = { id = "org.jetbrains.kotlin.android", version.ref = "kotlin" } kotlin-compose = { id = "org.jetbrains.kotlin.plugin.compose", version.ref = "kotlin" } diff --git a/gradle/wrapper/gradle-wrapper.jar b/gradle/wrapper/gradle-wrapper.jar index 1b33c55baabb587c669f562ae36f953de2481846..9fa7f288283f81eec4952784c271abd7e0938dee 100644 GIT binary patch delta 40600 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 Ni~|7pL4VyP{~wTp`vL#} delta 35738 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 P0AT@fQ8;w(8t3W1FpW&b diff --git a/gradle/wrapper/gradle-wrapper.properties b/gradle/wrapper/gradle-wrapper.properties index 4f5eb9d..2e7bb9f 100644 --- a/gradle/wrapper/gradle-wrapper.properties +++ b/gradle/wrapper/gradle-wrapper.properties @@ -1,7 +1,9 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists -distributionUrl=https\://services.gradle.org/distributions/gradle-8.14.5-bin.zip +distributionUrl=https\://services.gradle.org/distributions/gradle-9.8.1-bin.zip networkTimeout=10000 +retries=0 +retryBackOffMs=500 validateDistributionUrl=true zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists diff --git a/gradlew b/gradlew index 23d15a9..249efbb 100755 --- a/gradlew +++ b/gradlew @@ -1,7 +1,7 @@ #!/bin/sh # -# Copyright © 2015-2021 the original authors. +# Copyright © 2015 the original authors. # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. @@ -20,7 +20,7 @@ ############################################################################## # -# Gradle start up script for POSIX generated by Gradle. +# gradlew start up script for POSIX generated by Gradle. # # Important for running: # @@ -29,7 +29,7 @@ # bash, then to run this script, type that shell name before the whole # command line, like: # -# ksh Gradle +# ksh gradlew # # Busybox and similar reduced shells will NOT work, because this script # requires all of these POSIX shell features: @@ -57,7 +57,7 @@ # Darwin, MinGW, and NonStop. # # (3) This script is generated from the Groovy template -# https://github.com/gradle/gradle/blob/HEAD/platforms/jvm/plugins-application/src/main/resources/org/gradle/api/internal/plugins/unixStartScript.txt +# https://github.com/gradle/gradle/blob/3d91ce3b8caaf77ad09f381f43615b715b53f72c/platforms/jvm/plugins-application/src/main/resources/org/gradle/api/internal/plugins/unixStartScript.txt # within the Gradle project. # # You can find Gradle at https://github.com/gradle/gradle/. @@ -114,7 +114,6 @@ case "$( uname )" in #( NONSTOP* ) nonstop=true ;; esac -CLASSPATH="\\\"\\\"" # Determine the Java command to use to start the JVM. @@ -172,7 +171,6 @@ fi # For Cygwin or MSYS, switch paths to Windows format before running java if "$cygwin" || "$msys" ; then APP_HOME=$( cygpath --path --mixed "$APP_HOME" ) - CLASSPATH=$( cygpath --path --mixed "$CLASSPATH" ) JAVACMD=$( cygpath --unix "$JAVACMD" ) @@ -212,7 +210,6 @@ DEFAULT_JVM_OPTS='"-Xmx64m" "-Xms64m"' set -- \ "-Dorg.gradle.appname=$APP_BASE_NAME" \ - -classpath "$CLASSPATH" \ -jar "$APP_HOME/gradle/wrapper/gradle-wrapper.jar" \ "$@" diff --git a/gradlew.bat b/gradlew.bat index db3a6ac..3185a43 100644 --- a/gradlew.bat +++ b/gradlew.bat @@ -19,12 +19,39 @@ @if "%DEBUG%"=="" @echo off @rem ########################################################################## @rem -@rem Gradle startup script for Windows +@rem gradlew startup script for Windows @rem @rem ########################################################################## -@rem Set local scope for the variables with windows NT shell -if "%OS%"=="Windows_NT" setlocal +@rem Set local scope for the variables, and ensure extensions are enabled +setlocal EnableExtensions + +@rem Catch executions from older scripts and ensure they exit cleanly. +@rem This can be removed once we can be reasonably confident that few people +@rem will be migrating directly to this new wrapper. +goto afterSafetyNet +:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: +:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: +:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: +:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: +:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: +:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: +:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: +:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: +:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: +:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: +:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: +:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: +:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: +:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: +:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: +:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: +:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: +:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: +:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: +:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: +goto exitWithErrorLevel +:afterSafetyNet set DIRNAME=%~dp0 if "%DIRNAME%"=="" set DIRNAME=. @@ -45,13 +72,14 @@ set JAVA_EXE=java.exe %JAVA_EXE% -version >NUL 2>&1 if %ERRORLEVEL% equ 0 goto execute -echo. 1>&2 -echo ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH. 1>&2 -echo. 1>&2 -echo Please set the JAVA_HOME variable in your environment to match the 1>&2 -echo location of your Java installation. 1>&2 +1>&2 echo. +1>&2 echo ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH. +1>&2 echo. +1>&2 echo Please set the JAVA_HOME variable in your environment to match the +1>&2 echo location of your Java installation. -goto fail +"%COMSPEC%" /c exit 1 +goto exitWithErrorLevel :findJavaFromJavaHome set JAVA_HOME=%JAVA_HOME:"=% @@ -59,36 +87,26 @@ set JAVA_EXE=%JAVA_HOME%/bin/java.exe if exist "%JAVA_EXE%" goto execute -echo. 1>&2 -echo ERROR: JAVA_HOME is set to an invalid directory: %JAVA_HOME% 1>&2 -echo. 1>&2 -echo Please set the JAVA_HOME variable in your environment to match the 1>&2 -echo location of your Java installation. 1>&2 +1>&2 echo. +1>&2 echo ERROR: JAVA_HOME is set to an invalid directory: %JAVA_HOME% +1>&2 echo. +1>&2 echo Please set the JAVA_HOME variable in your environment to match the +1>&2 echo location of your Java installation. -goto fail +"%COMSPEC%" /c exit 1 +goto exitWithErrorLevel :execute @rem Setup the command line -set CLASSPATH= -@rem Execute Gradle -"%JAVA_EXE%" %DEFAULT_JVM_OPTS% %JAVA_OPTS% %GRADLE_OPTS% "-Dorg.gradle.appname=%APP_BASE_NAME%" -classpath "%CLASSPATH%" -jar "%APP_HOME%\gradle\wrapper\gradle-wrapper.jar" %* +@rem Execute gradlew +@rem endlocal doesn't take effect until after the line is parsed and variables are expanded +@rem which allows us to clear the local environment before executing the java command +endlocal & "%JAVA_EXE%" %DEFAULT_JVM_OPTS% %JAVA_OPTS% %GRADLE_OPTS% "-Dorg.gradle.appname=%APP_BASE_NAME%" -jar "%APP_HOME%\gradle\wrapper\gradle-wrapper.jar" %* & call :exitWithErrorLevel & goto exitWithErrorLevel -:end -@rem End local scope for the variables with windows NT shell -if %ERRORLEVEL% equ 0 goto mainEnd - -:fail -rem Set variable GRADLE_EXIT_CONSOLE if you need the _script_ return code instead of -rem the _cmd.exe /c_ return code! -set EXIT_CODE=%ERRORLEVEL% -if %EXIT_CODE% equ 0 set EXIT_CODE=1 -if not ""=="%GRADLE_EXIT_CONSOLE%" exit %EXIT_CODE% -exit /b %EXIT_CODE% - -:mainEnd -if "%OS%"=="Windows_NT" endlocal - -:omega +@rem This label must not be changed. We rely on old scripts being able to jump to this point. +:exitWithErrorLevel +@rem Use "%COMSPEC%" /c exit to allow operators to work properly in scripts +"%COMSPEC%" /c exit %ERRORLEVEL%