log for tech.mmarca.openvitals:1070304528

== Installed Android Tools ==2026-10-15 20:15:53,758 INFO: Creating log directory2026-10-15 20:15:53,758 INFO: Creating temporary directory2026-10-15 20:15:53,758 INFO: Creating output directory2026-10-15 20:15:53,762 DEBUG: Getting git vcs interface for https://github.com/OpenVitals-MTU/android-app2026-10-15 20:15:53,762 DEBUG: Checking tech.mmarca.openvitals:10703045282026-10-15 20:15:53,762 INFO: Building tech.mmarca.openvitals:10703045282026-10-15 20:15:53,764 DEBUG: Popen(['git', 'log', '-n', '1', '--pretty=%ct'], cwd=/home/vagrant/build/tech.mmarca.openvitals, stdin=None, shell=False, universal_newlines=False)2026-10-15 20:15:53,766 DEBUG: > sudo passwd --lock rootpasswd: password changed.2026-10-15 20:15:54,167 DEBUG: > sudo SUDO_FORCE_REMOVE=yes dpkg --purge sudo(Reading database ... 48149 files and directories currently installed.)Removing sudo (1.9.16p2-3+deb13u2) ...Purging configuration files for sudo (1.9.16p2-3+deb13u2) ...dpkg: warning: while removing sudo, directory '/etc/sudoers.d' not empty so not removedProcessing triggers for libc-bin (2.41-12+deb13u4) ...2026-10-15 20:15:58,149 INFO: Getting source for revision 2067f698fb2fbcff118a757394c92feb4f3daf5a2026-10-15 20:15:58,149 DEBUG: Directory: build/tech.mmarca.openvitals2026-10-15 20:15:58,149 DEBUG: > git rev-parse --show-toplevel2026-10-15 20:15:58,350 DEBUG: Directory: build/tech.mmarca.openvitals2026-10-15 20:15:58,350 DEBUG: > git submodule foreach --recursive git reset --hard2026-10-15 20:15:58,451 DEBUG: Directory: build/tech.mmarca.openvitals2026-10-15 20:15:58,451 DEBUG: > git reset --hard2026-10-15 20:15:58,752 DEBUG: Directory: build/tech.mmarca.openvitals2026-10-15 20:15:58,753 DEBUG: > git submodule foreach --recursive git clean -dffx2026-10-15 20:15:58,854 DEBUG: Directory: build/tech.mmarca.openvitals2026-10-15 20:15:58,854 DEBUG: > git clean -dffx2026-10-15 20:15:58,955 DEBUG: Directory: build/tech.mmarca.openvitals2026-10-15 20:15:58,955 DEBUG: > git -c core.askpass=/bin/true -c core.sshCommand=/bin/false -c url.https://.insteadOf=ssh:// -c url.https://u:p@bitbucket.org/.insteadOf=git@bitbucket.org: -c url.https://u:p@bitbucket.org.insteadOf=git://bitbucket.org -c url.https://u:p@bitbucket.org.insteadOf=https://bitbucket.org -c url.https://u:p@github.com/.insteadOf=git@github.com: -c url.https://u:p@github.com.insteadOf=git://github.com -c url.https://u:p@github.com.insteadOf=https://github.com -c url.https://u:p@gitlab.com/.insteadOf=git@gitlab.com: -c url.https://u:p@gitlab.com.insteadOf=git://gitlab.com -c url.https://u:p@gitlab.com.insteadOf=https://gitlab.com -c url.https://u:p@codeberg.org/.insteadOf=git@codeberg.org: -c url.https://u:p@codeberg.org.insteadOf=git://codeberg.org -c url.https://u:p@codeberg.org.insteadOf=https://codeberg.org fetch --prune --prune-tags --force origin2026-10-15 20:15:59,256 DEBUG: Directory: build/tech.mmarca.openvitals2026-10-15 20:15:59,256 DEBUG: > git -c core.askpass=/bin/true -c core.sshCommand=/bin/false -c url.https://.insteadOf=ssh:// -c url.https://u:p@bitbucket.org/.insteadOf=git@bitbucket.org: -c url.https://u:p@bitbucket.org.insteadOf=git://bitbucket.org -c url.https://u:p@bitbucket.org.insteadOf=https://bitbucket.org -c url.https://u:p@github.com/.insteadOf=git@github.com: -c url.https://u:p@github.com.insteadOf=git://github.com -c url.https://u:p@github.com.insteadOf=https://github.com -c url.https://u:p@gitlab.com/.insteadOf=git@gitlab.com: -c url.https://u:p@gitlab.com.insteadOf=git://gitlab.com -c url.https://u:p@gitlab.com.insteadOf=https://gitlab.com -c url.https://u:p@codeberg.org/.insteadOf=git@codeberg.org: -c url.https://u:p@codeberg.org.insteadOf=git://codeberg.org -c url.https://u:p@codeberg.org.insteadOf=https://codeberg.org fetch --prune --tags --force origin2026-10-15 20:15:59,557 DEBUG: Directory: build/tech.mmarca.openvitals2026-10-15 20:15:59,557 DEBUG: > git remote set-head origin --auto2026-10-15 20:16:02,061 DEBUG: Directory: build/tech.mmarca.openvitals2026-10-15 20:16:02,061 DEBUG: > git checkout -f 2067f698fb2fbcff118a757394c92feb4f3daf5a2026-10-15 20:16:02,363 DEBUG: Directory: build/tech.mmarca.openvitals2026-10-15 20:16:02,363 DEBUG: > git clean -dffx2026-10-15 20:16:02,464 INFO: commit: 2067f698fb2fbcff118a757394c92feb4f3daf5a (SHA1: 2067f698fb2fbcff118a757394c92feb4f3daf5a)2026-10-15 20:16:02,464 DEBUG: Directory: build/tech.mmarca.openvitals2026-10-15 20:16:02,464 DEBUG: > git rev-parse --show-toplevel2026-10-15 20:16:02,665 DEBUG: Directory: build/tech.mmarca.openvitals2026-10-15 20:16:02,665 DEBUG: > git submodule deinit --all --force2026-10-15 20:16:02,766 INFO: Creating local.properties file at build/tech.mmarca.openvitals/local.properties2026-10-15 20:16:02,767 INFO: Creating local.properties file at build/tech.mmarca.openvitals/app/local.properties2026-10-15 20:16:02,768 INFO: Cleaned build.gradle.kts of keysigning configs at build/tech.mmarca.openvitals/app/build.gradle.kts2026-10-15 20:16:02,771 INFO: Running 'prebuild' commands in build/tech.mmarca.openvitals/app2026-10-15 20:16:02,771 DEBUG: Directory: build/tech.mmarca.openvitals/app2026-10-15 20:16:02,771 DEBUG: > bash -e -u -o pipefail -x -c -- sed -i -e '/foojay/d' ../settings.gradle.kts; sed -i -e '/jvmToolchain/s/17/21/' ../wearlink/build.gradle.kts; sed -i -e 's/System.getenv("OPENVITALS_APK_ABI_FILTERS")/"armeabi-v7a,arm64-v8a"/' build.gradle.kts+ '[' -z '' ']'+ return+ case $- in+ return+ sed -i -e /foojay/d ../settings.gradle.kts+ sed -i -e /jvmToolchain/s/17/21/ ../wearlink/build.gradle.kts+ sed -i -e 's/System.getenv("OPENVITALS_APK_ABI_FILTERS")/"armeabi-v7a,arm64-v8a"/' build.gradle.kts2026-10-15 20:16:02,976 INFO: Scanning source for common problems...2026-10-15 20:16:02,981 DEBUG: scanner is configured to use signature data from: 'suss'2026-10-15 20:16:02,981 DEBUG: downloading 'https://fdroid.gitlab.io/fdroid-suss/suss.json'2026-10-15 20:16:03,486 DEBUG: write 'suss.json' to cache2026-10-15 20:16:03,486 DEBUG: next suss.json cache update due in 23:59:59.9986982026-10-15 20:16:03,528 INFO: Removing gradle-wrapper.jar at gradle/wrapper/gradle-wrapper.jar2026-10-15 20:16:03,537 INFO: Creating source tarball...2026-10-15 20:16:05,022 INFO: Building Gradle project...2026-10-15 20:16:05,022 DEBUG: Directory: build/tech.mmarca.openvitals/app2026-10-15 20:16:05,022 DEBUG: > /usr/local/bin/gradlew-fdroid assembleReleaseCACHEDIR set to /home/vagrant/.cache/gradlew-fdroidUpdate checksum from gradle-transparency-logFound 9.7.0 via distributionUrlDownloading missing gradle version 9.7.0Using cache directory /home/vagrant/.cache/gradlew-fdroidRunning /home/vagrant/.cache/gradlew-fdroid/versions/9.7.0/bin/gradle assembleReleaseWelcome to Gradle 9.7.0!Here are the highlights of this release:- Isolated Projects graduates to incubating- Broader Configuration Cache compatibility- More source locations in problem reportsFor more details see https://docs.gradle.org/9.7.0/release-notes.htmlTo honour the JVM settings for this build a single-use Daemon process will be forked. For more on this, please refer to https://docs.gradle.org/9.7.0/userguide/gradle_daemon.html#sec:disabling_the_daemon in the Gradle documentation.Daemon will be stopped at the end of the buildCalculating task graph as no cached configuration is available for tasks: assembleRelease> Configure project :appWARNING: The option setting 'android.disallowKotlinSourceSets=false' is experimental.The current default is 'true'.Add android.sync.suppressAgpWarnings=UNSUPPORTED_PROJECT_OPTION_USE to the gradle.properties file to suppress this warning.w: file:///home/vagrant/build/tech.mmarca.openvitals/app/build.gradle.kts:82:42: 'fun <U : Task> RegisteringDomainObjectDelegateProviderWithTypeAndAction<out TaskContainer, U>.provideDelegate(receiver: Any?, property: KProperty<*>): ExistingDomainObjectDelegate<TaskProvider<U>>' is deprecated. Use 'val task = tasks.register<Type>(name) { }' instead. See the Gradle 9.6 upgrading guide.w: file:///home/vagrant/build/tech.mmarca.openvitals/app/build.gradle.kts:82:42: 'fun <T : Any, C : PolymorphicDomainObjectContainer<T>, U : T> C.registering(type: KClass<U>, action: U.() -> Unit): RegisteringDomainObjectDelegateProviderWithTypeAndAction<out C, U>' is deprecated. Use 'val element = register<Type>(name) { }' instead. See the Gradle 9.6 upgrading guide.w: file:///home/vagrant/build/tech.mmarca.openvitals/app/build.gradle.kts:82:42: 'fun <T> ExistingDomainObjectDelegate<out T>.getValue(receiver: Any?, property: KProperty<*>): T' is deprecated. Use the named() API instead. See the Gradle 9.6 upgrading guide.w: file:///home/vagrant/build/tech.mmarca.openvitals/app/build.gradle.kts:187:17: 'fun srcDir(srcDir: Any): Any' is deprecated. Use `directories` mutable set instead.Found corrupted package.xml at /opt/android-sdk/platforms/android-10/package.xmlException while marshalling /opt/android-sdk/platforms/android-10/package.xml. Probably the SDK is read-onlyFound corrupted package.xml at /opt/android-sdk/platforms/android-11/package.xmlException while marshalling /opt/android-sdk/platforms/android-11/package.xml. Probably the SDK is read-onlyFound corrupted package.xml at /opt/android-sdk/platforms/android-12/package.xmlException while marshalling /opt/android-sdk/platforms/android-12/package.xml. Probably the SDK is read-onlyFound corrupted package.xml at /opt/android-sdk/platforms/android-13/package.xmlException while marshalling /opt/android-sdk/platforms/android-13/package.xml. Probably the SDK is read-onlyFound corrupted package.xml at /opt/android-sdk/platforms/android-10/package.xmlException while marshalling /opt/android-sdk/platforms/android-10/package.xml. Probably the SDK is read-onlyFound corrupted package.xml at /opt/android-sdk/platforms/android-11/package.xmlException while marshalling /opt/android-sdk/platforms/android-11/package.xml. Probably the SDK is read-onlyFound corrupted package.xml at /opt/android-sdk/platforms/android-12/package.xmlException while marshalling /opt/android-sdk/platforms/android-12/package.xml. Probably the SDK is read-onlyFound corrupted package.xml at /opt/android-sdk/platforms/android-13/package.xmlException while marshalling /opt/android-sdk/platforms/android-13/package.xml. Probably the SDK is read-onlyChecking the license for package Android SDK Build-Tools 37 in /opt/android-sdk/licensesLicense for package Android SDK Build-Tools 37 accepted.Preparing "Install Android SDK Build-Tools 37 v.37.0.0"."Install Android SDK Build-Tools 37 v.37.0.0" ready.Installing Android SDK Build-Tools 37 in /opt/android-sdk/build-tools/37.0.0"Install Android SDK Build-Tools 37 v.37.0.0" complete."Install Android SDK Build-Tools 37 v.37.0.0" finished.Checking the license for package Android SDK Platform 37.0 in /opt/android-sdk/licensesLicense for package Android SDK Platform 37.0 accepted.Preparing "Install Android SDK Platform 37.0 (revision 2)"."Install Android SDK Platform 37.0 (revision 2)" ready.Installing Android SDK Platform 37.0 in /opt/android-sdk/platforms/android-37.0"Install Android SDK Platform 37.0 (revision 2)" complete."Install Android SDK Platform 37.0 (revision 2)" finished.Found corrupted package.xml at /opt/android-sdk/platforms/android-10/package.xmlException while marshalling /opt/android-sdk/platforms/android-10/package.xml. Probably the SDK is read-onlyFound corrupted package.xml at /opt/android-sdk/platforms/android-11/package.xmlException while marshalling /opt/android-sdk/platforms/android-11/package.xml. Probably the SDK is read-onlyFound corrupted package.xml at /opt/android-sdk/platforms/android-12/package.xmlException while marshalling /opt/android-sdk/platforms/android-12/package.xml. Probably the SDK is read-onlyFound corrupted package.xml at /opt/android-sdk/platforms/android-13/package.xmlException while marshalling /opt/android-sdk/platforms/android-13/package.xml. Probably the SDK is read-only[=========                              ] 25%> Task :app:generateReleaseAssets UP-TO-DATE> Task :wearlink:checkKotlinGradlePluginConfigurationErrors SKIPPED> Task :app:preBuild UP-TO-DATE> Task :app:preReleaseBuild UP-TO-DATE> Task :wearlink:processResources NO-SOURCE> Task :app:createReleaseCompatibleScreenManifests> Task :app:writeReleaseSigningConfigVersions> Task :app:extractProguardFiles> Task :app:writeReleaseAppMetadata> Task :app:mergeReleaseStartupProfile> Task :app:generateReleaseBuildConfig> Task :app:mergeReleaseJniLibFolders> Task :app:extractReleaseVersionControlInfo> Task :app:generateTranslationCoverage> Task :app:extractDeepLinksRelease> Task :app:generateReleaseResources> Task :app:mapReleaseSourceSetPaths> Task :app:javaPreCompileRelease> Task :app:packageReleaseResources> Task :app:checkReleaseDuplicateClasses> Task :app:processReleaseNavigationResources> Task :app:checkReleaseAarMetadata> Task :app:mergeReleaseAssets> Task :app:mergeReleaseArtProfile> Task :app:compressReleaseAssets> Task :app:compileReleaseNavigationResources> Task :app:processReleaseMainManifest> Task :app:processReleaseManifest> Task :app:processReleaseManifestForPackage> Task :app:parseReleaseLocalResources> Task :app:generateReleaseRFile> Task :app:mergeReleaseResources> Task :app:processReleaseResources> Task :wearlink:compileKotlinw: file:///home/vagrant/build/tech.mmarca.openvitals/wearlink/src/main/kotlin/tech/mmarca/openvitals/wearlink/WearLinkServer.kt:171:50 Expression is unused.w: file:///home/vagrant/build/tech.mmarca.openvitals/wearlink/src/main/kotlin/tech/mmarca/openvitals/wearlink/WearLinkWatchdog.kt:12:24 This class is not recommended for use in Kotlin. Use 'kotlin.Any' instead.> Task :wearlink:compileJava NO-SOURCE> Task :wearlink:classes UP-TO-DATE> Task :wearlink:jar> Task :app:mergeReleaseNativeLibs> Task :app:stripReleaseDebugSymbolsUnable to strip the following libraries, packaging them as they are: libandroidx.graphics.path.so, libimage_processing_util_jni.so, libmaplibre.so, libsurface_util_jni.so. Run with --info option to learn more.> Task :app:extractReleaseNativeSymbolTables> Task :app:mergeReleaseNativeDebugMetadata NO-SOURCE> Task :app:kspReleaseKotlin> Task :app:compileReleaseKotlinw: file:///home/vagrant/build/tech.mmarca.openvitals/app/src/main/kotlin/tech/mmarca/openvitals/core/presentation/UnitFormatter.kt:174:9 Only safe (?.) or non-null asserted (!!.) calls are allowed on a nullable receiver of type 'HashMap<Pair<Locale, Int>, NumberFormat>?'.w: file:///home/vagrant/build/tech.mmarca.openvitals/app/src/main/kotlin/tech/mmarca/openvitals/devices/core/pairing/BleWatchPairing.kt:44:56 'fun <T : Parcelable!> getParcelableExtra(p0: String!): T?' is deprecated. Deprecated in Java.w: file:///home/vagrant/build/tech.mmarca.openvitals/app/src/main/kotlin/tech/mmarca/openvitals/devices/core/pairing/CompanionDevicePairing.kt:199:34 This declaration overrides a deprecated member but is not marked as deprecated itself. Add the '@Deprecated' annotation or suppress the diagnostic.w: file:///home/vagrant/build/tech.mmarca.openvitals/app/src/main/kotlin/tech/mmarca/openvitals/devices/core/pairing/OpenVitalsCompanionDeviceService.kt:25:18 This declaration overrides a deprecated member but is not marked as deprecated itself. Add the '@Deprecated' annotation or suppress the diagnostic.w: file:///home/vagrant/build/tech.mmarca.openvitals/app/src/main/kotlin/tech/mmarca/openvitals/devices/core/pairing/OpenVitalsCompanionDeviceService.kt:30:18 This declaration overrides a deprecated member but is not marked as deprecated itself. Add the '@Deprecated' annotation or suppress the diagnostic.w: file:///home/vagrant/build/tech.mmarca.openvitals/app/src/main/kotlin/tech/mmarca/openvitals/devices/garmin/GarminGattClient.kt:444:34 'fun connectGatt(p0: Context!, p1: Boolean, p2: BluetoothGattCallback!, p3: Int): BluetoothGatt!' is deprecated. Deprecated in Java.w: file:///home/vagrant/build/tech.mmarca.openvitals/app/src/main/kotlin/tech/mmarca/openvitals/domain/insights/SleepScore.kt:424:74 Unnecessary non-null assertion (!!) on a non-null receiver of type 'Pair<Double, Double>'.w: file:///home/vagrant/build/tech.mmarca.openvitals/app/src/main/kotlin/tech/mmarca/openvitals/features/cycle/CycleHistorySection.kt:247:65 'fun rememberModalBottomSheetState(skipPartiallyExpanded: Boolean = ..., confirmValueChange: (SheetValue) -> Boolean = ...): SheetState' is deprecated. Use rememberBottomSheetState with Hidden initial value.w: file:///home/vagrant/build/tech.mmarca.openvitals/app/src/main/kotlin/tech/mmarca/openvitals/features/dashboard/DashboardScreen.kt:143:39 Unnecessary safe call on a non-null receiver of type 'ScreenError'.w: file:///home/vagrant/build/tech.mmarca.openvitals/app/src/main/kotlin/tech/mmarca/openvitals/features/dashboard/DashboardViewModel.kt:569:65 Elvis operator (?:) always returns the left operand of non-nullable type 'DashboardData'.w: file:///home/vagrant/build/tech.mmarca.openvitals/app/src/main/kotlin/tech/mmarca/openvitals/features/devicesync/DeviceSyncPairingSteps.kt:192:39 'val Icons.Outlined.BluetoothSearching: ImageVector' is deprecated. Use the AutoMirrored version at Icons.AutoMirrored.Outlined.BluetoothSearching.w: file:///home/vagrant/build/tech.mmarca.openvitals/app/src/main/kotlin/tech/mmarca/openvitals/features/devicesync/protocol/SyncSession.kt:408:25 'when' is exhaustive so 'else' is redundant here.w: file:///home/vagrant/build/tech.mmarca.openvitals/app/src/main/kotlin/tech/mmarca/openvitals/features/homewidgets/HomeCycleWidget.kt:278:88 Condition is always 'true'.w: file:///home/vagrant/build/tech.mmarca.openvitals/app/src/main/kotlin/tech/mmarca/openvitals/features/imports/applehealth/AppleHealthImportParser.kt:256:33 Unnecessary safe call on a non-null receiver of type 'AppleHealthXmlEventConsumer'.w: file:///home/vagrant/build/tech.mmarca.openvitals/app/src/main/kotlin/tech/mmarca/openvitals/features/imports/applehealth/AppleHealthImportWorker.kt:488:18 'fun getStringArray(key: String): Array<String>?' is deprecated. Use getNullableStringArray(key) instead. This method does not correctly handle String arrays which may contain null elements.w: file:///home/vagrant/build/tech.mmarca.openvitals/app/src/main/kotlin/tech/mmarca/openvitals/features/imports/medical/AppleClinicalRecordsImportSource.kt:103:113 Condition is always 'false'.w: file:///home/vagrant/build/tech.mmarca.openvitals/app/src/main/kotlin/tech/mmarca/openvitals/features/manualentry/activity/recording/ActivityRecording.kt:1501:43 Unnecessary safe call on a non-null receiver of type 'AudioManager'.w: file:///home/vagrant/build/tech.mmarca.openvitals/app/src/main/kotlin/tech/mmarca/openvitals/features/manualentry/activity/recording/ActivityRecordingFocusMode.kt:252:45 'var statusBarColor: Int' is deprecated. Deprecated in Java.w: file:///home/vagrant/build/tech.mmarca.openvitals/app/src/main/kotlin/tech/mmarca/openvitals/features/manualentry/activity/recording/ActivityRecordingFocusMode.kt:253:49 'var navigationBarColor: Int' is deprecated. Deprecated in Java.w: file:///home/vagrant/build/tech.mmarca.openvitals/app/src/main/kotlin/tech/mmarca/openvitals/features/manualentry/activity/recording/ActivityRecordingFocusMode.kt:257:24 'var statusBarColor: Int' is deprecated. Deprecated in Java.w: file:///home/vagrant/build/tech.mmarca.openvitals/app/src/main/kotlin/tech/mmarca/openvitals/features/manualentry/activity/recording/ActivityRecordingFocusMode.kt:258:24 'var navigationBarColor: Int' is deprecated. Deprecated in Java.w: file:///home/vagrant/build/tech.mmarca.openvitals/app/src/main/kotlin/tech/mmarca/openvitals/features/manualentry/activity/recording/ActivityRecordingFocusMode.kt:262:24 'var statusBarColor: Int' is deprecated. Deprecated in Java.w: file:///home/vagrant/build/tech.mmarca.openvitals/app/src/main/kotlin/tech/mmarca/openvitals/features/manualentry/activity/recording/ActivityRecordingFocusMode.kt:263:24 'var navigationBarColor: Int' is deprecated. Deprecated in Java.w: file:///home/vagrant/build/tech.mmarca.openvitals/app/src/main/kotlin/tech/mmarca/openvitals/features/manualentry/activity/recording/ActivityRecordingFocusMode.kt:284:20 'var statusBarColor: Int' is deprecated. Deprecated in Java.w: file:///home/vagrant/build/tech.mmarca.openvitals/app/src/main/kotlin/tech/mmarca/openvitals/features/manualentry/activity/recording/ActivityRecordingFocusMode.kt:285:20 'var navigationBarColor: Int' is deprecated. Deprecated in Java.w: file:///home/vagrant/build/tech.mmarca.openvitals/app/src/main/kotlin/tech/mmarca/openvitals/features/reports/ReportBuilderScreen.kt:72:41 'fun <reified VM : ViewModel> hiltViewModel(viewModelStoreOwner: ViewModelStoreOwner = ..., key: String? = ...): VM' is deprecated. Moved to package: androidx.hilt.lifecycle.viewmodel.compose.w: file:///home/vagrant/build/tech.mmarca.openvitals/app/src/main/kotlin/tech/mmarca/openvitals/features/reports/ReportExportService.kt:300:45 Unnecessary non-null assertion (!!) on a non-null receiver of type 'Double'.w: file:///home/vagrant/build/tech.mmarca.openvitals/app/src/main/kotlin/tech/mmarca/openvitals/features/settings/BleDevicesSettingsScreen.kt:302:58 'val Icons.Outlined.BluetoothSearching: ImageVector' is deprecated. Use the AutoMirrored version at Icons.AutoMirrored.Outlined.BluetoothSearching.w: file:///home/vagrant/build/tech.mmarca.openvitals/app/src/main/kotlin/tech/mmarca/openvitals/features/sleep/SleepStageComponents.kt:82:47 Elvis operator (?:) always returns the left operand of non-nullable type 'Instant'.w: file:///home/vagrant/build/tech.mmarca.openvitals/app/src/main/kotlin/tech/mmarca/openvitals/features/workoutplans/WorkoutPlanBuilderScreen.kt:66:46 'fun <reified VM : ViewModel> hiltViewModel(viewModelStoreOwner: ViewModelStoreOwner = ..., key: String? = ...): VM' is deprecated. Moved to package: androidx.hilt.lifecycle.viewmodel.compose.w: file:///home/vagrant/build/tech.mmarca.openvitals/app/src/main/kotlin/tech/mmarca/openvitals/features/workoutplans/WorkoutPlanLabels.kt:58:13 'when' is exhaustive so 'else' is redundant here.w: file:///home/vagrant/build/tech.mmarca.openvitals/app/src/main/kotlin/tech/mmarca/openvitals/features/workoutplans/WorkoutPlanListScreen.kt:64:43 'fun <reified VM : ViewModel> hiltViewModel(viewModelStoreOwner: ViewModelStoreOwner = ..., key: String? = ...): VM' is deprecated. Moved to package: androidx.hilt.lifecycle.viewmodel.compose.w: file:///home/vagrant/build/tech.mmarca.openvitals/app/src/main/kotlin/tech/mmarca/openvitals/features/workoutplans/WorkoutPlanStepPickerSheet.kt:48:22 'fun rememberModalBottomSheetState(skipPartiallyExpanded: Boolean = ..., confirmValueChange: (SheetValue) -> Boolean = ...): SheetState' is deprecated. Use rememberBottomSheetState with Hidden initial value.w: file:///home/vagrant/build/tech.mmarca.openvitals/app/src/main/kotlin/tech/mmarca/openvitals/healthconnect/ActivityHealthReader.kt:502:57 Redundant call of conversion method.w: file:///home/vagrant/build/tech.mmarca.openvitals/app/src/main/kotlin/tech/mmarca/openvitals/healthconnect/BmrEstimateHealthReader.kt:92:51 Unnecessary non-null assertion (!!) on a non-null receiver of type 'String'.w: file:///home/vagrant/build/tech.mmarca.openvitals/app/src/main/kotlin/tech/mmarca/openvitals/healthconnect/BodyHealthReader.kt:277:22 Inferred type 'InstantaneousRecord' for when expression is not visible in this scope.w: file:///home/vagrant/build/tech.mmarca.openvitals/app/src/main/kotlin/tech/mmarca/openvitals/healthconnect/BodyHealthReader.kt:332:26 Inferred type 'InstantaneousRecord' for when expression is not visible in this scope.w: file:///home/vagrant/build/tech.mmarca.openvitals/app/src/main/kotlin/tech/mmarca/openvitals/healthconnect/StepDistanceHealthReader.kt:94:51 Unnecessary non-null assertion (!!) on a non-null receiver of type 'String'.w: file:///home/vagrant/build/tech.mmarca.openvitals/app/src/main/kotlin/tech/mmarca/openvitals/healthconnect/VitalsHealthReader.kt:382:22 Inferred type 'InstantaneousRecord' for when expression is not visible in this scope.w: file:///home/vagrant/build/tech.mmarca.openvitals/app/src/main/kotlin/tech/mmarca/openvitals/healthconnect/VitalsHealthReader.kt:547:26 Inferred type 'InstantaneousRecord' for when expression is not visible in this scope.w: file:///home/vagrant/build/tech.mmarca.openvitals/app/src/main/kotlin/tech/mmarca/openvitals/sensors/ble/BleGattConnection.kt:118:20 'fun connectGatt(p0: Context!, p1: Boolean, p2: BluetoothGattCallback!, p3: Int, p4: Int, p5: Handler!): BluetoothGatt!' is deprecated. Deprecated in Java.w: file:///home/vagrant/build/tech.mmarca.openvitals/app/src/main/kotlin/tech/mmarca/openvitals/sensors/ble/BleSensorCoordinator.kt:107:40 Return in function with expression body and without explicit return type. Use block body '{...}' or add an explicit return type. This will become an error in language version 2.5. See https://youtrack.jetbrains.com/issue/KTLC-288.w: file:///home/vagrant/build/tech.mmarca.openvitals/app/src/main/kotlin/tech/mmarca/openvitals/sensors/ble/BleSensorCoordinator.kt:417:36 Unnecessary safe call on a non-null receiver of type 'Runnable'.w: file:///home/vagrant/build/tech.mmarca.openvitals/app/src/main/kotlin/tech/mmarca/openvitals/sensors/ble/BleSensorCoordinator.kt:423:31 'fun connectGatt(p0: Context!, p1: Boolean, p2: BluetoothGattCallback!, p3: Int, p4: Int, p5: Handler!): BluetoothGatt!' is deprecated. Deprecated in Java.w: file:///home/vagrant/build/tech.mmarca.openvitals/app/src/main/kotlin/tech/mmarca/openvitals/sensors/ble/BleSensorCoordinator.kt:452:55 Unnecessary non-null assertion (!!) on a non-null receiver of type 'Runnable'.w: file:///home/vagrant/build/tech.mmarca.openvitals/app/src/main/kotlin/tech/mmarca/openvitals/sensors/ble/BleSensorCoordinator.kt:527:42 Return in function with expression body and without explicit return type. Use block body '{...}' or add an explicit return type. This will become an error in language version 2.5. See https://youtrack.jetbrains.com/issue/KTLC-288.w: file:///home/vagrant/build/tech.mmarca.openvitals/app/src/main/kotlin/tech/mmarca/openvitals/sensors/ble/parsers/BleParsers.kt:28:34 'var value: ByteArray!' is deprecated. Deprecated in Java.w: file:///home/vagrant/build/tech.mmarca.openvitals/app/src/main/kotlin/tech/mmarca/openvitals/sensors/ble/parsers/BleParsers.kt:57:34 'var value: ByteArray!' is deprecated. Deprecated in Java.w: file:///home/vagrant/build/tech.mmarca.openvitals/app/src/main/kotlin/tech/mmarca/openvitals/sensors/ble/parsers/BleParsers.kt:89:34 'var value: ByteArray!' is deprecated. Deprecated in Java.w: file:///home/vagrant/build/tech.mmarca.openvitals/app/src/main/kotlin/tech/mmarca/openvitals/sensors/ble/parsers/BleParsers.kt:100:54 Redundant call of conversion method.w: file:///home/vagrant/build/tech.mmarca.openvitals/app/src/main/kotlin/tech/mmarca/openvitals/sensors/ble/parsers/BleParsers.kt:125:34 'var value: ByteArray!' is deprecated. Deprecated in Java.w: file:///home/vagrant/build/tech.mmarca.openvitals/app/src/main/kotlin/tech/mmarca/openvitals/ui/charts/PeriodChart.kt:277:43 Unnecessary safe call on a non-null receiver of type '(LocalDate) -> Unit'.w: file:///home/vagrant/build/tech.mmarca.openvitals/app/src/main/kotlin/tech/mmarca/openvitals/ui/components/AppLockGate.kt:78:33 'fun createConfirmDeviceCredentialIntent(p0: CharSequence!, p1: CharSequence!): Intent!' is deprecated. Deprecated in Java.w: file:///home/vagrant/build/tech.mmarca.openvitals/app/src/main/kotlin/tech/mmarca/openvitals/ui/components/CountdownRing.kt:56:50 Unnecessary non-null assertion (!!) on a non-null receiver of type 'Long'.w: file:///home/vagrant/build/tech.mmarca.openvitals/app/src/main/kotlin/tech/mmarca/openvitals/ui/components/ReferenceLinkButton.kt:34:42 'val Icons.Outlined.OpenInNew: ImageVector' is deprecated. Use the AutoMirrored version at Icons.AutoMirrored.Outlined.OpenInNew.> Task :app:processReleaseJavaRes> Task :app:mergeReleaseJavaResource> Task :app:compileReleaseJavaWithJavac> Task :app:hiltCollectClassesRelease> Task :app:hiltAggregateDepsRelease> Task :app:generateReleaseLintVitalReportModel> Task :app:hiltJavaCompileRelease> Task :app:transformReleaseClassesWithAsm> Task :app:mergeReleaseGeneratedProguardFiles> Task :app:expandReleaseArtProfileWildcards> Task :app:produceReleaseComposeMapping> Task :app:reportReleaseComposeMappingErrors> Task :app:lintVitalAnalyzeRelease> Task :app:minifyReleaseWithR8> Task :app:convertShrunkResourcesToBinaryRelease> Task :app:optimizeReleaseResources> Task :app:mergeReleaseComposeMapping> Task :app:verifyReleaseR8Keepsverify-r8-keeps: 29 manifest components, 2 ActionCallback classes and 41 sync record classes kept.> Task :app:compileReleaseArtProfile> Task :app:lintVitalReportRelease> Task :app:lintVitalRelease> Task :app:packageRelease> Task :app:assembleRelease> Task :app:createReleaseApkListingFileRedirect[Incubating] Problems report is available at: file:///home/vagrant/build/tech.mmarca.openvitals/build/reports/problems/problems-report.htmlDeprecated Gradle features were used in this build, making it incompatible with Gradle 10.You can use '--warning-mode all' to show the individual deprecation warnings and determine if they come from your own scripts or plugins.For more on this, please refer to https://docs.gradle.org/9.7.0/userguide/command_line_interface.html#sec:command_line_warnings in the Gradle documentation.BUILD SUCCESSFUL in 4m 3s57 actionable tasks: 57 executedConfiguration cache entry stored.2026-10-15 20:20:11,443 DEBUG: Checking build/tech.mmarca.openvitals/app/build/outputs/apk/release/app-release-unsigned.apk2026-10-15 20:20:11,447 INFO: Successfully built tech.mmarca.openvitals:1070304528 from 2067f698fb2fbcff118a757394c92feb4f3daf5a2026-10-15 20:20:11,453 INFO: Created directory for storing developer supplied reference binaries: 'unsigned/binaries'2026-10-15 20:20:11,453 INFO: ...retrieving https://github.com/OpenVitals-MTU/android-app/releases/download/v2.14.2/OpenVitals-v2.14.2.apk2026-10-15 20:20:11,454 DEBUG: Starting new HTTPS connection (1): github.com:4432026-10-15 20:20:11,697 DEBUG: https://github.com:443 "GET /OpenVitals-MTU/android-app/releases/download/v2.14.2/OpenVitals-v2.14.2.apk HTTP/1.1" 302 02026-10-15 20:20:11,698 DEBUG: Starting new HTTPS connection (1): release-assets.githubusercontent.com:4432026-10-15 20:20:11,786 DEBUG: https://release-assets.githubusercontent.com:443 "GET /github-production-release-asset/1249523148/0e9a3d08-3fc4-486d-9caf-fa329f8f8a7a?sp=r&sv=2018-11-09&sr=b&spr=https&se=2026-10-15T21%3A14%3A38Z&rscd=attachment%3B+filename%3DOpenVitals-v2.14.2.apk&rsct=application%2Fvnd.android.package-archive&skoid=96c2d410-5711-43a1-aedd-ab1947aa7ab0&sktid=398a6654-997b-47e9-b12b-9515b896b4de&skt=2026-10-15T20%3A14%3A04Z&ske=2026-10-15T21%3A14%3A38Z&sks=b&skv=2018-11-09&sig=6Vzrbme6O0Xrb%2B3QASLl54vrs7uKlzfpZt0HWIqJaA8%3D&jwt=eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmVsZWFzZS1hc3NldHMuZ2l0aHVidXNlcmNvbnRlbnQuY29tIiwia2V5Ijoia2V5MSIsImV4cCI6MTc5MjA5NzQxMSwibmJmIjoxNzkyMDk1NjExLCJwYXRoIjoicmVsZWFzZWFzc2V0cHJvZHVjdGlvbi5ibG9iLmNvcmUud2luZG93cy5uZXQifQ.qEXopenlwPw0c6HE1oCiWo4C1J3d3GGZBc1K5N8ICc8&response-content-disposition=attachment%3B%20filename%3DOpenVitals-v2.14.2.apk&response-content-type=application%2Fvnd.android.package-archive HTTP/1.1" 200 214256792026-10-15 20:20:12,490 DEBUG: unsigned/binaries/tech.mmarca.openvitals_1070304528.binary.apk: VerifiesVerified using v1 scheme (JAR signing): falseVerified using v2 scheme (APK Signature Scheme v2): trueVerified using v3 scheme (APK Signature Scheme v3): falseVerified using v3.1 scheme (APK Signature Scheme v3.1): falseVerified using v4 scheme (APK Signature Scheme v4): falseVerified for SourceStamp: falseNumber of signers: 12026-10-15 20:20:12,636 DEBUG: /tmp/tmpjnb63jgy/sigcp_tech.mmarca.openvitals_1070304528.apk: VerifiesVerified using v1 scheme (JAR signing): falseVerified using v2 scheme (APK Signature Scheme v2): trueVerified using v3 scheme (APK Signature Scheme v3): falseVerified using v3.1 scheme (APK Signature Scheme v3.1): falseVerified using v4 scheme (APK Signature Scheme v4): falseVerified for SourceStamp: falseNumber of signers: 12026-10-15 20:20:12,636 INFO: ...successfully verified2026-10-15 20:20:12,636 INFO: compared built binary to supplied reference binary successfully2026-10-15 20:20:12,650 DEBUG: Using APK Signature v22026-10-15 20:20:12,650 INFO: supplied reference binary has allowed signer 0416c0651543e951ef3b6c1ed9beb13833bff3a2be9ddacf492270712861e05d2026-10-15 20:20:12,651 INFO: success: tech.mmarca.openvitals2026-10-15 20:20:12,651 INFO: Finished2026-10-15 20:20:12,651 INFO: 1 build succeeded