diff --git a/android/build.gradle b/android/build.gradle index 7d9661224f..77412bf460 100644 --- a/android/build.gradle +++ b/android/build.gradle @@ -11,7 +11,7 @@ buildscript { } } dependencies { - classpath 'com.android.tools.build:gradle:8.6.1' + classpath 'com.android.tools.build:gradle:8.8.0' classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version" classpath "org.jetbrains.kotlin:kotlin-serialization:$kotlin_version" classpath("com.ncorti.ktfmt.gradle:plugin:0.17.0") @@ -33,10 +33,10 @@ apply plugin: 'com.ncorti.ktfmt.gradle' android { ndkVersion "23.1.7779620" - compileSdkVersion 34 + compileSdkVersion 35 defaultConfig { minSdkVersion 26 - targetSdkVersion 34 + targetSdkVersion 35 versionCode 346 versionName getVersionProperty("VERSION_LONG") testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner" @@ -109,11 +109,11 @@ android { dependencies { // Android dependencies. - implementation "androidx.core:core:1.13.1" - implementation 'androidx.core:core-ktx:1.13.1' + implementation "androidx.core:core:1.15.0" + implementation 'androidx.core:core-ktx:1.15.0' implementation "androidx.browser:browser:1.8.0" implementation "androidx.security:security-crypto:1.1.0-alpha06" - implementation "androidx.work:work-runtime:2.9.1" + implementation "androidx.work:work-runtime:2.10.0" // Kotlin dependencies. implementation "org.jetbrains.kotlinx:kotlinx-serialization-json:1.6.3" @@ -124,21 +124,21 @@ dependencies { implementation "org.jetbrains.kotlin:kotlin-reflect:$kotlin_version" // Compose dependencies. - def composeBom = platform('androidx.compose:compose-bom:2024.09.03') + def composeBom = platform('androidx.compose:compose-bom:2024.12.01') implementation composeBom - implementation 'androidx.compose.material3:material3:1.3.0' - implementation 'androidx.compose.material:material-icons-core:1.7.3' - implementation "androidx.compose.ui:ui:1.7.3" - implementation "androidx.compose.ui:ui-tooling:1.7.3" - implementation 'androidx.lifecycle:lifecycle-viewmodel-ktx:2.8.6' - implementation 'androidx.activity:activity-compose:1.9.2' + implementation 'androidx.compose.material3:material3:1.3.1' + implementation 'androidx.compose.material:material-icons-core:1.7.6' + implementation "androidx.compose.ui:ui:1.7.6" + implementation "androidx.compose.ui:ui-tooling:1.7.6" + implementation 'androidx.lifecycle:lifecycle-viewmodel-ktx:2.8.7' + implementation 'androidx.activity:activity-compose:1.9.3' implementation "com.google.accompanist:accompanist-permissions:$accompanist_version" implementation "com.google.accompanist:accompanist-systemuicontroller:$accompanist_version" implementation "androidx.core:core-splashscreen:1.1.0-rc01" - implementation "androidx.compose.animation:animation:1.7.4" + implementation "androidx.compose.animation:animation:1.7.6" // Navigation dependencies. - def nav_version = "2.8.2" + def nav_version = "2.8.5" implementation "androidx.navigation:navigation-compose:$nav_version" implementation "androidx.navigation:navigation-ui-ktx:$nav_version" diff --git a/android/gradle/wrapper/gradle-wrapper.properties b/android/gradle/wrapper/gradle-wrapper.properties index 8307a0f148..61b1ee3a0a 100644 --- a/android/gradle/wrapper/gradle-wrapper.properties +++ b/android/gradle/wrapper/gradle-wrapper.properties @@ -1,6 +1,6 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists -distributionSha256Sum=544c35d6bd849ae8a5ed0bcea39ba677dc40f49df7d1835561582da2009b961d -distributionUrl=https\://services.gradle.org/distributions/gradle-8.7-bin.zip +distributionSha256Sum=31c55713e40233a8303827ceb42ca48a47267a0ad4bab9177123121e71524c26 +distributionUrl=https\://services.gradle.org/distributions/gradle-8.10.2-bin.zip zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists diff --git a/android/src/main/java/com/tailscale/ipn/util/TSLog.kt b/android/src/main/java/com/tailscale/ipn/util/TSLog.kt index c078b064ca..4f59726442 100644 --- a/android/src/main/java/com/tailscale/ipn/util/TSLog.kt +++ b/android/src/main/java/com/tailscale/ipn/util/TSLog.kt @@ -53,7 +53,7 @@ object TSLog { appContext.packageManager.getPackageInfo(appContext.packageName, 0).versionName // Extract the middle number and check if it's odd - val middleNumber = versionName.split(".").getOrNull(1)?.toIntOrNull() + val middleNumber = versionName?.split(".")?.getOrNull(1)?.toIntOrNull() return middleNumber?.let { it % 2 == 1 } ?: false }