From a2866cc26839fbfaba5dd9f053721efa103aac38 Mon Sep 17 00:00:00 2001 From: fr2651 Date: Sat, 14 Feb 2026 10:54:36 +0100 Subject: [PATCH] =?UTF-8?q?symbole=20angepasst=20unused=20fun=20gel=C3=B6s?= =?UTF-8?q?cht?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/example/snapandsolve/MainActivity.kt | 2 +- .../com/example/snapandsolve/MainScreen.kt | 29 +--- .../com/example/snapandsolve/MapViewModel.kt | 24 +-- .../ui/theme/DamageFilterSystem.kt | 10 +- .../snapandsolve/ui/theme/DamageListSystem.kt | 12 +- .../snapandsolve/view/StatusSymbolRenderer.kt | 138 +++++++++++------- .../viewmodel/NearbyDamageCheck.kt | 1 - app/src/main/res/drawable/bike.png | Bin 0 -> 11954 bytes app/src/main/res/drawable/lightbulb.png | Bin 0 -> 9595 bytes app/src/main/res/drawable/motorway.png | Bin 0 -> 7086 bytes app/src/main/res/drawable/pedestrian.png | Bin 0 -> 10557 bytes app/src/main/res/drawable/pin.png | Bin 0 -> 6670 bytes 12 files changed, 97 insertions(+), 119 deletions(-) create mode 100644 app/src/main/res/drawable/bike.png create mode 100644 app/src/main/res/drawable/lightbulb.png create mode 100644 app/src/main/res/drawable/motorway.png create mode 100644 app/src/main/res/drawable/pedestrian.png create mode 100644 app/src/main/res/drawable/pin.png diff --git a/app/src/main/java/com/example/snapandsolve/MainActivity.kt b/app/src/main/java/com/example/snapandsolve/MainActivity.kt index 9dd3cab..f22ac84 100644 --- a/app/src/main/java/com/example/snapandsolve/MainActivity.kt +++ b/app/src/main/java/com/example/snapandsolve/MainActivity.kt @@ -26,7 +26,7 @@ class MainActivity : ComponentActivity() { setContent { SnapAndSolveTheme { - MainScreen(application=application) + MainScreen(application=application, context=this) } } } diff --git a/app/src/main/java/com/example/snapandsolve/MainScreen.kt b/app/src/main/java/com/example/snapandsolve/MainScreen.kt index f5dbe77..e335cb4 100644 --- a/app/src/main/java/com/example/snapandsolve/MainScreen.kt +++ b/app/src/main/java/com/example/snapandsolve/MainScreen.kt @@ -2,6 +2,7 @@ import DamageFilterDialog import DamageListDialog import MapViewModel import android.app.Application +import android.content.Context import androidx.compose.foundation.layout.* import androidx.compose.material.icons.Icons import androidx.compose.material.icons.filled.Add @@ -37,12 +38,12 @@ import kotlinx.coroutines.launch @Composable -fun MainScreen(modifier: Modifier = Modifier, application: Application) { +fun MainScreen(modifier: Modifier = Modifier, application: Application, context: Context) { var showReport by rememberSaveable { mutableStateOf(false) } var sliderOpen by rememberSaveable { mutableStateOf(false) } var showSettings by rememberSaveable { mutableStateOf(false) } - val mapViewModel = remember { MapViewModel(application) } + val mapViewModel = remember { MapViewModel(application, context) } val albumViewModel = remember { AlbumViewModel(Dispatchers.Default) } fun openReport() { @@ -196,19 +197,16 @@ fun ContentScreen( style = MaterialTheme.typography.titleMedium, modifier = Modifier.padding(bottom = 12.dp) ) - SliderMenuItem( text = "Einstellungen", icon = Icons.Default.Settings, onClick = onOpenSettings ) - SliderMenuItem( text = "Schäden filtern", icon = Icons.Default.FilterAlt, onClick = { showFilterDialog = true } ) - SliderMenuItem( text = "Schadensliste", icon = Icons.Default.FormatListNumbered, @@ -233,24 +231,3 @@ fun AppTopBar( ) ) } - -/* -suspend fun loadFirstAttachmentBitmap( - feature: ArcGISFeature -): ImageBitmap? { - - // Feature muss geladen sein - feature.load().getOrThrow() - - // Attachments abrufen - val attachments = feature.fetchAttachments().getOrThrow() - - val first = attachments.firstOrNull() ?: return null - - // Attachment-Daten laden - val data = first.fetchData().getOrThrow() - - val bitmap = BitmapFactory.decodeByteArray(data, 0, data.size) - return bitmap.asImageBitmap() -} - */ \ No newline at end of file diff --git a/app/src/main/java/com/example/snapandsolve/MapViewModel.kt b/app/src/main/java/com/example/snapandsolve/MapViewModel.kt index 6dda7a1..f893dbf 100644 --- a/app/src/main/java/com/example/snapandsolve/MapViewModel.kt +++ b/app/src/main/java/com/example/snapandsolve/MapViewModel.kt @@ -1,4 +1,5 @@ import android.app.Application +import android.content.Context import android.graphics.Bitmap import androidx.compose.runtime.getValue import androidx.compose.runtime.mutableStateOf @@ -35,7 +36,7 @@ import java.io.ByteArrayOutputStream -class MapViewModel(application: Application) : AndroidViewModel(application) { +class MapViewModel(application: Application, context: Context) : AndroidViewModel(application) { companion object { // Zentrale Definition der Schadenstypen @@ -99,7 +100,7 @@ class MapViewModel(application: Application) : AndroidViewModel(application) { println("DEBUG: Fehler beim Laden der Tabelle: ${it.message}") } featureLayer = FeatureLayer.createWithFeatureTable(serviceFeatureTable) - featureLayer.renderer = createTypStatusRenderer() + featureLayer.renderer = createTypStatusRenderer(context) map.operationalLayers.add(featureLayer) // ===== DEBUG: Felder nach dem Hinzufügen zur Map ===== @@ -219,27 +220,9 @@ class MapViewModel(application: Application) : AndroidViewModel(application) { when (selectedOperation) { FeatureOperationType.DEFAULT -> selectFeatureAt(singleTapConfirmedEvent.screenCoordinate) - FeatureOperationType.DELETE -> deleteFeatureAt(singleTapConfirmedEvent.screenCoordinate) FeatureOperationType.UPDATE_ATTRIBUTE -> selectFeatureForAttributeEditAt(singleTapConfirmedEvent.screenCoordinate) FeatureOperationType.UPDATE_GEOMETRY -> updateFeatureGeometryAt(singleTapConfirmedEvent.screenCoordinate) FeatureOperationType.PICK_REPORT_LOCATION -> pickReportLocation(singleTapConfirmedEvent.screenCoordinate) - // RATE_FEATURE wird nicht mehr gebraucht - wird im DEFAULT mit behandelt! - } - } - - private fun deleteFeatureAt(screenCoordinate: ScreenCoordinate) { - featureLayer?.let { featureLayer -> - // Clear any existing selection. - featureLayer.clearSelection() - selectedFeature = null - viewModelScope.launch { - // Determine if a user tapped on a feature. - mapViewProxy.identify(featureLayer, screenCoordinate, 10.dp).onSuccess { identifyResult -> - selectedFeature = (identifyResult.geoElements.firstOrNull() as? ArcGISFeature)?.also { - featureLayer.selectFeature(it) - } - } - } } } @@ -431,7 +414,6 @@ class MapViewModel(application: Application) : AndroidViewModel(application) { enum class FeatureOperationType(val operationName: String, val instruction: String) { DEFAULT("Default", ""), - DELETE("Delete feature", "Select an existing feature to delete it."), UPDATE_ATTRIBUTE("Update attribute", "Select an existing feature to edit its attribute."), UPDATE_GEOMETRY("Update geometry", "Select an existing feature and tap the map to move it to a new position."), PICK_REPORT_LOCATION("Pick report location", "Tippe auf die Karte, um die Position zu setzen."), diff --git a/app/src/main/java/com/example/snapandsolve/ui/theme/DamageFilterSystem.kt b/app/src/main/java/com/example/snapandsolve/ui/theme/DamageFilterSystem.kt index 6c01648..8681d2d 100644 --- a/app/src/main/java/com/example/snapandsolve/ui/theme/DamageFilterSystem.kt +++ b/app/src/main/java/com/example/snapandsolve/ui/theme/DamageFilterSystem.kt @@ -1,4 +1,3 @@ -import MapViewModel import MapViewModel.Companion.DAMAGE_TYPES import androidx.compose.foundation.layout.* import androidx.compose.foundation.rememberScrollState @@ -148,14 +147,7 @@ fun DamageFilterDialog( selectedFilters - type } }, - emoji = when (type) { - "Straße" -> "🛣️" - "Gehweg" -> "🚶" - "Fahrradweg" -> "🚴" - "Beleuchtung" -> "💡" - "Sonstiges" -> "📍" - else -> "•" - } + emoji = getEmojiForType(type) ) } diff --git a/app/src/main/java/com/example/snapandsolve/ui/theme/DamageListSystem.kt b/app/src/main/java/com/example/snapandsolve/ui/theme/DamageListSystem.kt index cb7f69e..837d981 100644 --- a/app/src/main/java/com/example/snapandsolve/ui/theme/DamageListSystem.kt +++ b/app/src/main/java/com/example/snapandsolve/ui/theme/DamageListSystem.kt @@ -645,11 +645,11 @@ fun formatDistance(meters: Double?): String { fun getEmojiForType(typ: String): String { return when (typ) { - "Straße" -> "🛣️" - "Gehweg" -> "🚶" - "Fahrradweg" -> "🚴" - "Beleuchtung" -> "💡" - "Sonstiges" -> "📍" + "Straße" -> String(Character.toChars(0x1F6E3)) + "Gehweg" -> String(Character.toChars(0x1F6B5)) + "Fahrradweg" -> String(Character.toChars(0x1F6B2)) + "Beleuchtung" -> String(Character.toChars(0x1F4A1)) + "Sonstiges" -> String(Character.toChars(0x1F4CC)) else -> "•" } -} \ No newline at end of file +} diff --git a/app/src/main/java/com/example/snapandsolve/view/StatusSymbolRenderer.kt b/app/src/main/java/com/example/snapandsolve/view/StatusSymbolRenderer.kt index 2575d35..e8fa7aa 100644 --- a/app/src/main/java/com/example/snapandsolve/view/StatusSymbolRenderer.kt +++ b/app/src/main/java/com/example/snapandsolve/view/StatusSymbolRenderer.kt @@ -1,45 +1,108 @@ package com.example.snapandsolve.view +import android.content.Context import com.arcgismaps.Color import com.arcgismaps.mapping.symbology.* -import kotlin.collections.iterator +import com.example.snapandsolve.R -fun createTypStatusRenderer(): UniqueValueRenderer { - // Status -> Hintergrundfarbe - val statusColor = mapOf( +import android.graphics.Bitmap +import android.graphics.Canvas +import android.graphics.drawable.BitmapDrawable +import android.graphics.drawable.Drawable +import androidx.core.content.ContextCompat + +fun makeStatusTypeSymbol( + context: Context, + foregroundDrawableRes: Int, + statusColor: Color +): Symbol { + val white = Color.fromRgba(255, 255, 255, 255) + + // Hintergrund: weißer Kreis + Outline in Statusfarbe + val background = SimpleMarkerSymbol( + style = SimpleMarkerSymbolStyle.Circle, + color = white, + size = 20f + ).apply { + outline = SimpleLineSymbol( + style = SimpleLineSymbolStyle.Solid, + color = statusColor, + width = 2.5f + ) + } + + // Drawable aus Ressourcen laden + val drawable = ContextCompat.getDrawable(context, foregroundDrawableRes) + ?: throw IllegalArgumentException("Drawable resource not found: $foregroundDrawableRes") + + // Drawable zu Bitmap konvertieren + val bitmap = drawableToBitmap(drawable) + + // Bitmap zu BitmapDrawable konvertieren + val bitmapDrawable = BitmapDrawable(context.resources, bitmap) + + // Vordergrund: BitmapDrawable als PictureMarkerSymbol + val foreground = PictureMarkerSymbol.createWithImage(bitmapDrawable).apply { + width = 16f + height = 16f + } + + return CompositeSymbol(listOf(background, foreground)) +} + +// Hilfsfunktion: Drawable zu Bitmap konvertieren +private fun drawableToBitmap(drawable: Drawable): Bitmap { + if (drawable is BitmapDrawable) { + return drawable.bitmap + } + + // Für VectorDrawables und andere Drawable-Typen + val bitmap = Bitmap.createBitmap( + drawable.intrinsicWidth.takeIf { it > 0 } ?: 1, + drawable.intrinsicHeight.takeIf { it > 0 } ?: 1, + Bitmap.Config.ARGB_8888 + ) + + val canvas = Canvas(bitmap) + drawable.setBounds(0, 0, canvas.width, canvas.height) + drawable.draw(canvas) + + return bitmap +} + +fun createTypStatusRenderer(context: Context): UniqueValueRenderer { + val statusColorByName = mapOf( "neu" to Color.fromRgba(220, 50, 50, 255), "in Bearbeitung" to Color.fromRgba(255, 180, 0, 255), "Schaden behoben" to Color.fromRgba(60, 180, 75, 255) ) - // Typ -> Icon-Style (aus Standardbibliothek) - val typeIcon = mapOf( - "Straße" to SimpleMarkerSymbolStyle.Square, - "Gehweg" to SimpleMarkerSymbolStyle.Triangle, - "Fahrradweg" to SimpleMarkerSymbolStyle.Diamond, - "Beleuchtung" to SimpleMarkerSymbolStyle.X, - "Sonstiges" to SimpleMarkerSymbolStyle.Cross + val typeIconRes = mapOf( + "Straße" to R.drawable.motorway, + "Gehweg" to R.drawable.pedestrian, + "Fahrradweg" to R.drawable.bike, + "Beleuchtung" to R.drawable.lightbulb, + "Sonstiges" to R.drawable.pin ) val renderer = UniqueValueRenderer().apply { fieldNames.addAll(listOf("typ", "status")) - - defaultLabel = "Sonstige" - defaultSymbol = makeStatusTypeSymbol( - iconStyle = SimpleMarkerSymbolStyle.Circle, - backgroundFill = Color.fromRgba(180, 180, 180, 255) - ) } - for ((typ, iconStyle) in typeIcon) { - for ((status, bgColor) in statusColor) { + for ((typ, iconRes) in typeIconRes) { + for ((status, outlineColor) in statusColorByName) { val label = "$typ • $status" + renderer.uniqueValues.add( UniqueValue( label = label, description = label, - symbol = makeStatusTypeSymbol(iconStyle, bgColor), + symbol = makeStatusTypeSymbol( + context = context, + foregroundDrawableRes = iconRes, + statusColor = outlineColor + ), values = listOf(typ, status) ) ) @@ -49,38 +112,3 @@ fun createTypStatusRenderer(): UniqueValueRenderer { return renderer } -fun makeStatusTypeSymbol( - iconStyle: SimpleMarkerSymbolStyle, - backgroundFill: Color -): Symbol { - val white = Color.fromRgba(255, 255, 255, 255) - - // Hintergrund: Kreis in Statusfarbe - val background = SimpleMarkerSymbol( - style = SimpleMarkerSymbolStyle.Circle, - color = backgroundFill, - size = 18f - ).apply { - outline = SimpleLineSymbol( - style = SimpleLineSymbolStyle.Solid, - color = white, - width = 1.5f - ) - } - - // Vordergrund: "Icon" als Outline (weiß), ohne Füllung - val foreground = SimpleMarkerSymbol( - style = iconStyle, - color = Color.fromRgba(0, 0, 0, 0), // transparent => nur Outline sichtbar - size = 10f - ).apply { - outline = SimpleLineSymbol( - style = SimpleLineSymbolStyle.Solid, - color = white, - width = 2.0f - ) - } - - return CompositeSymbol(listOf(background, foreground)) -} - diff --git a/app/src/main/java/com/example/snapandsolve/viewmodel/NearbyDamageCheck.kt b/app/src/main/java/com/example/snapandsolve/viewmodel/NearbyDamageCheck.kt index 0f263db..3d397f7 100644 --- a/app/src/main/java/com/example/snapandsolve/viewmodel/NearbyDamageCheck.kt +++ b/app/src/main/java/com/example/snapandsolve/viewmodel/NearbyDamageCheck.kt @@ -40,7 +40,6 @@ suspend fun findNearbyDamageOfSameType( for (feature in result) { val p = feature.geometry as? Point ?: continue - // ✅ Distanz korrekt val dist = GeometryEngine.distanceOrNull(pointInLayerSR, p) ?: Double.POSITIVE_INFINITY val typ = (feature.attributes["typ"] as? String).orEmpty() diff --git a/app/src/main/res/drawable/bike.png b/app/src/main/res/drawable/bike.png new file mode 100644 index 0000000000000000000000000000000000000000..a015a8f33bc1a6b7f07f924bdb610169bb667622 GIT binary patch literal 11954 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 literal 0 HcmV?d00001 diff --git a/app/src/main/res/drawable/lightbulb.png b/app/src/main/res/drawable/lightbulb.png new file mode 100644 index 0000000000000000000000000000000000000000..d16679b300e9bcc3f8b498eb87b791cfc782ad5b GIT binary patch literal 9595 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 Wq%?=g4rcy;9Bp+2V5_QA-2Vb~VlRvU literal 0 HcmV?d00001 diff --git a/app/src/main/res/drawable/motorway.png b/app/src/main/res/drawable/motorway.png new file mode 100644 index 0000000000000000000000000000000000000000..927ba36ff02efee2e9376facdb312dc7878d5349 GIT binary patch literal 7086 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 C6n|*| literal 0 HcmV?d00001 diff --git a/app/src/main/res/drawable/pin.png b/app/src/main/res/drawable/pin.png new file mode 100644 index 0000000000000000000000000000000000000000..ef6372f7d7ba6e0bedc48bd42d761985a3ad5534 GIT binary patch literal 6670 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 literal 0 HcmV?d00001