From 5805bb051be370de82d98bd4418da349d652d88b Mon Sep 17 00:00:00 2001 From: Peter Steinberger Date: Sat, 10 Jan 2026 16:03:58 +0000 Subject: [PATCH] fix(android): enforce strict lint checks --- apps/android/app/build.gradle.kts | 3 +++ .../main/java/com/clawdbot/android/NodeApp.kt | 20 ++++++++++++++++++- .../android/node/CameraCaptureManager.kt | 2 +- .../android/node/ScreenRecordManager.kt | 8 +------- 4 files changed, 24 insertions(+), 9 deletions(-) diff --git a/apps/android/app/build.gradle.kts b/apps/android/app/build.gradle.kts index 14c051e73..744c3a47d 100644 --- a/apps/android/app/build.gradle.kts +++ b/apps/android/app/build.gradle.kts @@ -49,6 +49,7 @@ android { lint { disable += setOf("IconLauncherShape") + warningsAsErrors = true } testOptions { @@ -72,6 +73,7 @@ androidComponents { kotlin { compilerOptions { jvmTarget.set(org.jetbrains.kotlin.gradle.dsl.JvmTarget.JVM_17) + allWarningsAsErrors.set(true) } } @@ -100,6 +102,7 @@ dependencies { implementation("org.jetbrains.kotlinx:kotlinx-serialization-json:1.9.0") implementation("androidx.security:security-crypto:1.1.0") + implementation("androidx.exifinterface:exifinterface:1.4.2") // CameraX (for node.invoke camera.* parity) implementation("androidx.camera:camera-core:1.5.2") diff --git a/apps/android/app/src/main/java/com/clawdbot/android/NodeApp.kt b/apps/android/app/src/main/java/com/clawdbot/android/NodeApp.kt index 127a4009a..228794ff3 100644 --- a/apps/android/app/src/main/java/com/clawdbot/android/NodeApp.kt +++ b/apps/android/app/src/main/java/com/clawdbot/android/NodeApp.kt @@ -1,8 +1,26 @@ package com.clawdbot.android import android.app.Application +import android.os.StrictMode class NodeApp : Application() { val runtime: NodeRuntime by lazy { NodeRuntime(this) } -} + override fun onCreate() { + super.onCreate() + if (BuildConfig.DEBUG) { + StrictMode.setThreadPolicy( + StrictMode.ThreadPolicy.Builder() + .detectAll() + .penaltyLog() + .build(), + ) + StrictMode.setVmPolicy( + StrictMode.VmPolicy.Builder() + .detectAll() + .penaltyLog() + .build(), + ) + } + } +} diff --git a/apps/android/app/src/main/java/com/clawdbot/android/node/CameraCaptureManager.kt b/apps/android/app/src/main/java/com/clawdbot/android/node/CameraCaptureManager.kt index 69a8a13c9..0361c2e55 100644 --- a/apps/android/app/src/main/java/com/clawdbot/android/node/CameraCaptureManager.kt +++ b/apps/android/app/src/main/java/com/clawdbot/android/node/CameraCaptureManager.kt @@ -8,7 +8,7 @@ import android.graphics.BitmapFactory import android.graphics.Matrix import android.util.Base64 import android.content.pm.PackageManager -import android.media.ExifInterface +import androidx.exifinterface.media.ExifInterface import androidx.lifecycle.LifecycleOwner import androidx.camera.core.CameraSelector import androidx.camera.core.ImageCapture diff --git a/apps/android/app/src/main/java/com/clawdbot/android/node/ScreenRecordManager.kt b/apps/android/app/src/main/java/com/clawdbot/android/node/ScreenRecordManager.kt index 61203f4f8..82e805530 100644 --- a/apps/android/app/src/main/java/com/clawdbot/android/node/ScreenRecordManager.kt +++ b/apps/android/app/src/main/java/com/clawdbot/android/node/ScreenRecordManager.kt @@ -122,13 +122,7 @@ class ScreenRecordManager(private val context: Context) { ) } - private fun createMediaRecorder(): MediaRecorder = - if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.S) { - MediaRecorder(context) - } else { - @Suppress("DEPRECATION") - MediaRecorder() - } + private fun createMediaRecorder(): MediaRecorder = MediaRecorder(context) private suspend fun ensureMicPermission() { val granted =