fix: crash because of network running main on main thread and update deps

This commit is contained in:
2026-02-13 01:07:07 +01:00
parent 94580046fe
commit f99363f2d3
8 changed files with 50 additions and 26 deletions
+6
View File
@@ -0,0 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="Ask2AgentMigrationStateService">
<option name="migrationStatus" value="COMPLETED" />
</component>
</project>
+1 -1
View File
@@ -4,7 +4,7 @@
<selectionStates> <selectionStates>
<SelectionState runConfigName="app"> <SelectionState runConfigName="app">
<option name="selectionMode" value="DROPDOWN" /> <option name="selectionMode" value="DROPDOWN" />
<DropdownSelection timestamp="2025-12-17T16:55:49.678648276Z"> <DropdownSelection timestamp="2026-02-12T23:57:54.600608215Z">
<Target type="DEFAULT_BOOT"> <Target type="DEFAULT_BOOT">
<handle> <handle>
<DeviceId pluginId="PhysicalDevice" identifier="serial=ealnrkpzgynvivq8" /> <DeviceId pluginId="PhysicalDevice" identifier="serial=ealnrkpzgynvivq8" />
+4 -4
View File
@@ -1,6 +1,5 @@
plugins { plugins {
alias(libs.plugins.android.application) alias(libs.plugins.android.application)
alias(libs.plugins.kotlin.android)
alias(libs.plugins.kotlin.compose) alias(libs.plugins.kotlin.compose)
} }
@@ -33,9 +32,6 @@ android {
sourceCompatibility = JavaVersion.VERSION_11 sourceCompatibility = JavaVersion.VERSION_11
targetCompatibility = JavaVersion.VERSION_11 targetCompatibility = JavaVersion.VERSION_11
} }
kotlinOptions {
jvmTarget = "11"
}
buildFeatures { buildFeatures {
compose = true compose = true
} }
@@ -51,6 +47,10 @@ dependencies {
implementation(libs.androidx.compose.ui.tooling.preview) implementation(libs.androidx.compose.ui.tooling.preview)
implementation(libs.androidx.compose.material3) implementation(libs.androidx.compose.material3)
implementation(libs.androidx.compose.material3.adaptive.navigation.suite) implementation(libs.androidx.compose.material3.adaptive.navigation.suite)
implementation(libs.androidx.material3)
implementation(libs.androidx.compose.material3.window.size.class1)
implementation(libs.androidx.material.icons.core)
implementation(libs.androidx.material.icons.extended)
implementation(libs.okhttp) implementation(libs.okhttp)
testImplementation(libs.junit) testImplementation(libs.junit)
androidTestImplementation(libs.androidx.junit) androidTestImplementation(libs.androidx.junit)
+2 -1
View File
@@ -2,6 +2,8 @@
<manifest xmlns:android="http://schemas.android.com/apk/res/android" <manifest xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"> xmlns:tools="http://schemas.android.com/tools">
<uses-permission android:name="android.permission.INTERNET" />
<application <application
android:allowBackup="true" android:allowBackup="true"
android:dataExtractionRules="@xml/data_extraction_rules" android:dataExtractionRules="@xml/data_extraction_rules"
@@ -14,7 +16,6 @@
<activity <activity
android:name=".MainActivity" android:name=".MainActivity"
android:exported="true" android:exported="true"
android:label="@string/app_name"
android:theme="@style/Theme.SoftwareManager"> android:theme="@style/Theme.SoftwareManager">
<intent-filter> <intent-filter>
<action android:name="android.intent.action.MAIN" /> <action android:name="android.intent.action.MAIN" />
@@ -1,6 +1,7 @@
package com.KeksPirates.SoftwareManager package com.KeksPirates.SoftwareManager
import android.os.Bundle import android.os.Bundle
import android.os.StrictMode
import androidx.activity.ComponentActivity import androidx.activity.ComponentActivity
import androidx.activity.compose.setContent import androidx.activity.compose.setContent
import androidx.activity.enableEdgeToEdge import androidx.activity.enableEdgeToEdge
@@ -24,14 +25,11 @@ import androidx.compose.ui.graphics.vector.ImageVector
import androidx.compose.ui.tooling.preview.Preview import androidx.compose.ui.tooling.preview.Preview
import androidx.compose.ui.tooling.preview.PreviewScreenSizes import androidx.compose.ui.tooling.preview.PreviewScreenSizes
import com.KeksPirates.SoftwareManager.ui.theme.SoftwareManagerTheme import com.KeksPirates.SoftwareManager.ui.theme.SoftwareManagerTheme
import kotlinx.coroutines.Dispatchers
import kotlinx.coroutines.withContext
import okhttp3.OkHttpClient import okhttp3.OkHttpClient
import okhttp3.Request import okhttp3.Request
import java.io.IOException import java.io.IOException
private val client = OkHttpClient() private val client = OkHttpClient()
fun run(): String { fun run(): String {
val request = Request.Builder() val request = Request.Builder()
.url("https://publicobject.com/helloworld.txt") .url("https://publicobject.com/helloworld.txt")
@@ -44,8 +42,8 @@ fun run(): String {
println("$name: $value") println("$name: $value")
} }
println(response.body!!.string()) // println(response.body.string())
response.body!!.string() response.body.string()
} }
} }
@@ -56,6 +54,13 @@ class MainActivity : ComponentActivity() {
setContent { setContent {
SoftwareManagerTheme { SoftwareManagerTheme {
SoftwareManagerApp() SoftwareManagerApp()
Thread {
try {
println(run())
} catch (e: Exception) {
e.printStackTrace()
}
}.start()
} }
} }
} }
@@ -105,7 +110,6 @@ enum class AppDestinations(
fun Greeting(name: String, modifier: Modifier = Modifier) { fun Greeting(name: String, modifier: Modifier = Modifier) {
Text( Text(
text = "Hello $name!", text = "Hello $name!",
// text = run(),
modifier = modifier modifier = modifier
) )
} }
@@ -114,9 +118,7 @@ fun Greeting(name: String, modifier: Modifier = Modifier) {
@Composable @Composable
fun GreetingPreview() { fun GreetingPreview() {
SoftwareManagerTheme { SoftwareManagerTheme {
// Greeting("Android") Greeting("Android")
// println(run())
Greeting("test")
} }
} }
+11 -1
View File
@@ -20,4 +20,14 @@ kotlin.code.style=official
# Enables namespacing of each library's R class so that its R class includes only the # 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, # resources declared in the library itself and none from the library's dependencies,
# thereby reducing the size of the R class for that library # thereby reducing the size of the R class for that library
android.nonTransitiveRClass=true android.nonTransitiveRClass=true
android.defaults.buildfeatures.resvalues=true
android.sdk.defaultTargetSdkToCompileSdkIfUnset=false
android.enableAppCompileTimeRClass=false
android.usesSdkInManifest.disallowed=false
android.uniquePackageNames=false
android.dependency.useConstraints=true
android.r8.strictFullModeForKeepRules=false
android.r8.optimizedResourceShrinking=false
android.builtInKotlin=true
android.newDsl=true
+14 -9
View File
@@ -1,17 +1,22 @@
[versions] [versions]
agp = "8.13.2" agp = "9.0.0"
kotlin = "2.0.21" kotlin = "2.3.10"
coreKtx = "1.10.1" coreKtx = "1.17.0"
junit = "4.13.2" junit = "4.13.2"
junitVersion = "1.1.5" junitVersion = "1.3.0"
espressoCore = "3.5.1" espressoCore = "3.7.0"
lifecycleRuntimeKtx = "2.6.1" lifecycleRuntimeKtx = "2.10.0"
activityCompose = "1.8.0" activityCompose = "1.12.4"
composeBom = "2024.09.00" composeBom = "2026.02.00"
okhttp = "4.12.0" material3 = "1.4.0"
okhttp = "5.3.2"
[libraries] [libraries]
androidx-compose-material3-window-size-class1 = { module = "androidx.compose.material3:material3-window-size-class", version.ref = "material3" }
androidx-core-ktx = { group = "androidx.core", name = "core-ktx", version.ref = "coreKtx" } androidx-core-ktx = { group = "androidx.core", name = "core-ktx", version.ref = "coreKtx" }
androidx-material3 = { module = "androidx.compose.material3:material3", version.ref = "material3" }
androidx-material-icons-core = { group = "androidx.compose.material", name = "material-icons-core" }
androidx-material-icons-extended = { group = "androidx.compose.material", name = "material-icons-extended" }
junit = { group = "junit", name = "junit", version.ref = "junit" } junit = { group = "junit", name = "junit", version.ref = "junit" }
androidx-junit = { group = "androidx.test.ext", name = "junit", version.ref = "junitVersion" } androidx-junit = { group = "androidx.test.ext", name = "junit", version.ref = "junitVersion" }
androidx-espresso-core = { group = "androidx.test.espresso", name = "espresso-core", version.ref = "espressoCore" } androidx-espresso-core = { group = "androidx.test.espresso", name = "espresso-core", version.ref = "espressoCore" }
+1 -1
View File
@@ -1,7 +1,7 @@
#Wed Dec 17 17:41:23 CET 2025 #Wed Dec 17 17:41:23 CET 2025
distributionBase=GRADLE_USER_HOME distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists distributionPath=wrapper/dists
distributionUrl=https\://services.gradle.org/distributions/gradle-8.13-bin.zip distributionUrl=https\://services.gradle.org/distributions/gradle-9.1.0-bin.zip
networkTimeout=10000 networkTimeout=10000
validateDistributionUrl=true validateDistributionUrl=true
zipStoreBase=GRADLE_USER_HOME zipStoreBase=GRADLE_USER_HOME