Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
22 changes: 5 additions & 17 deletions androidApp/build.gradle.kts
Original file line number Diff line number Diff line change
Expand Up @@ -18,11 +18,6 @@ plugins {
alias(libs.plugins.paraphrase)
}

val gitHashProvider = providers.exec {
commandLine("git", "rev-parse", "--short", "HEAD")
isIgnoreExitValue = true
}.standardOutput.asText.map { it.trim() }

tasks.withType<org.jetbrains.kotlin.gradle.tasks.KotlinCompile>().all {
compilerOptions {
freeCompilerArgs = listOf("-Xnon-local-break-continue")
Expand All @@ -31,7 +26,7 @@ tasks.withType<org.jetbrains.kotlin.gradle.tasks.KotlinCompile>().all {

android {
namespace = "io.github.chrisimx.scanbridge"
compileSdk = 36
compileSdk = 37

androidResources {
generateLocaleConfig = true
Expand All @@ -40,9 +35,9 @@ android {
defaultConfig {
applicationId = "io.github.chrisimx.scanbridge"
minSdk = 28
targetSdk = 36
versionCode = 2_001_005 // we just count up for each build
versionName = "2.2.0-alpha1"
targetSdk = 37
versionCode = providers.gradleProperty("scanbridgeVersionCode").get().toInt()
versionName = providers.gradleProperty("scanbridgeVersion").get()

testInstrumentationRunner = "androidx.test.runner.AndroidJUnitRunner"
testInstrumentationRunnerArguments["escl_server_url"] =
Expand All @@ -56,11 +51,8 @@ android {
getDefaultProguardFile("proguard-android-optimize.txt"),
"proguard-rules.pro"
)
buildConfigField("String", "GIT_COMMIT_HASH", "\"${gitHashProvider.get()}\"")
}
debug {
buildConfigField("String", "GIT_COMMIT_HASH", "\"${gitHashProvider.get()}\"")
}
debug {}
}
flavorDimensions += "edition"

Expand Down Expand Up @@ -104,16 +96,13 @@ dependencies {
implementation(libs.koin.annotations)
implementation(libs.koin.compose.viewmodel)
implementation(libs.koin.androix.navigation)
implementation(libs.zoomable)
implementation(libs.kotlin.reflect)
implementation(libs.coil.compose)
implementation(libs.timber)
implementation(libs.androidx.navigation.compose)
implementation(libs.kotlinx.serialization.json)
implementation(project(":core"))
implementation(project(":composeUI"))
implementation(libs.androidx.concurrent.futures)
implementation(libs.coil.fetcher.ktor)

ksp(libs.androidx.room.compiler)
implementation(libs.androidx.room.runtime)
Expand All @@ -132,7 +121,6 @@ dependencies {
implementation(libs.androidx.ui.tooling.preview)
implementation(libs.androidx.material3)
implementation(libs.androidx.material.icons.core)
implementation(libs.androidx.constraintlayout.compose)
implementation(libs.itext7.core)
implementation(libs.ktor.client.okhttp)
implementation(libs.ktor.logging)
Expand Down
100 changes: 0 additions & 100 deletions androidApp/gradle/libs.versions.toml

This file was deleted.

Original file line number Diff line number Diff line change
Expand Up @@ -6,32 +6,43 @@ import androidx.compose.material.icons.filled.Settings
import androidx.compose.material.icons.outlined.Home
import androidx.compose.material.icons.outlined.Settings
import androidx.compose.material3.ExperimentalMaterial3Api
import scanbridge.composeui.generated.resources.Res
import scanbridge.composeui.generated.resources.discovery
import scanbridge.composeui.generated.resources.header_scannerbrowser
import scanbridge.composeui.generated.resources.settings

@OptIn(ExperimentalMaterial3Api::class)
val STARTUP_TABS = listOf(
StartupScreen(
R.string.discovery,
R.string.header_scannerbrowser,
Icons.Filled.Home,
Icons.Outlined.Home,
true,
{ innerPadding, navController, showCustomDialog, setShowCustomDialog ->
ScannerBrowser(
innerPadding,
navController,
showCustomDialog,
setShowCustomDialog
class FdroidStartupTabsProvider : StartupTabsProvider {
@OptIn(ExperimentalMaterial3Api::class)
override fun getStartupTabs(): List<StartupTabDefinition> =
listOf(
StartupTabDefinition(
Res.string.discovery,
Res.string.header_scannerbrowser,
Icons.Filled.Home,
Icons.Outlined.Home,
true,
{ innerPadding, navController, showCustomDialog, setShowCustomDialog ->
ScannerBrowser(
innerPadding,
navController,
showCustomDialog,
setShowCustomDialog
)
}
),
StartupTabDefinition(
Res.string.settings,
Res.string.settings,
Icons.Filled.Settings,
Icons.Outlined.Settings,
false,
{ innerPadding, _, _, _ ->
AppSettingsScreen(innerPadding)
}
)
}
),
StartupScreen(
R.string.settings,
R.string.settings,
Icons.Filled.Settings,
Icons.Outlined.Settings,
false,
{ innerPadding, _, _, _ ->
AppSettingsScreen(innerPadding)
}
)
)
)


}

val STARTUP_TABS_PROVIDER = FdroidStartupTabsProvider()
Original file line number Diff line number Diff line change
Expand Up @@ -5,9 +5,6 @@ import io.github.chrisimx.scanbridge.buildinfo.ScanBridgeEdition
import io.github.chrisimx.scanbridge.model.Platform

class AndroidBuildInfoProvider : BuildInfoProvider {
override val versionName: String = BuildConfig.VERSION_NAME
override val versionCode: Int = BuildConfig.VERSION_CODE
override val commit: String = BuildConfig.GIT_COMMIT_HASH
override val edition: ScanBridgeEdition = when (BuildConfig.FLAVOR) {
"play" -> ScanBridgeEdition.PLAYSTORE
"fdroid" -> ScanBridgeEdition.FDROID
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -21,13 +21,14 @@ package io.github.chrisimx.scanbridge

import android.content.Context
import android.content.Intent
import io.github.chrisimx.scanbridge.savelastroute.LastRouteRepository
import java.io.File
import java.time.LocalDateTime
import java.time.format.DateTimeFormatter
import kotlinx.coroutines.runBlocking
import timber.log.Timber

class CrashHandler(val context: Context, val lastRouteRepository: LastRouteRepository) : Thread.UncaughtExceptionHandler {
class AndroidCrashHandler(val context: Context, val lastRouteRepository: LastRouteRepository) : Thread.UncaughtExceptionHandler {

private val defaultHandler = Thread.getDefaultUncaughtExceptionHandler()

Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
package io.github.chrisimx.scanbridge

import io.github.chrisimx.scanbridge.export.ExportCapabilitiesProvider
import io.github.chrisimx.scanbridge.scanning.FileSaveType

class AndroidExportCapabilitiesProvider : ExportCapabilitiesProvider {
override val supportedFileSaveTypes: Set<FileSaveType> = setOf(FileSaveType.Save, FileSaveType.Share)
}
Original file line number Diff line number Diff line change
Expand Up @@ -37,62 +37,9 @@ class CrashActivity : ComponentActivity() {
Timber.plant(Timber.DebugTree())

setContent {
ScanBridgeTheme {
Scaffold(
floatingActionButton = {
FloatingActionButton({
try {
val clipboard = getSystemService(ClipboardManager::class.java)
val clip = ClipData.newPlainText("Crash log", error)
clipboard.setPrimaryClip(clip)
} catch (e: Exception) {
Timber.e("Error in CrashActivity while trying to copy crash to clipboard: $e")
}
}) {
Row(horizontalArrangement = Arrangement.SpaceAround, verticalAlignment = Alignment.CenterVertically) {
Icon(
painterResource(R.drawable.rounded_content_copy_24),
contentDescription = stringResource(R.string.copy),
Modifier.padding(start = 10.dp, top = 10.dp, bottom = 10.dp, end = 5.dp)
)
Text(
stringResource(R.string.copy),
Modifier.padding(start = 5.dp, top = 10.dp, bottom = 10.dp, end = 10.dp)
)
}
}
}
)
{ innerPadding ->
val scrollState = rememberScrollState()

Column(
modifier = Modifier
.padding(innerPadding)
.padding(horizontal = 20.dp),
horizontalAlignment = Alignment.CenterHorizontally
) {
Icon(
painterResource(R.drawable.outline_error_24),
stringResource(R.string.crash),
Modifier.padding(20.dp).size(64.dp)
)

Column(modifier = Modifier.verticalScroll(scrollState)) {
Text(
stringResource(R.string.crash_occurred),
modifier = Modifier.padding(bottom = 14.dp),
style = MaterialTheme.typography.bodySmallEmphasized
)
Text(
error,
style = MaterialTheme.typography.bodySmall,
modifier = Modifier
)
}
}
}
}
CrashDisplay(
error
)
}
}
}
Loading
Loading