From dac9adc75724fa45dcaf064907808100c06d001e Mon Sep 17 00:00:00 2001
From: Dale Hawkins <107309+dkhawk@users.noreply.github.com>
Date: Tue, 25 Aug 2026 15:01:04 -0600
Subject: [PATCH] fix(lint): resolve github-advanced-security warnings for text
size, layout hierarchy, and KTX color parsing
---
.../layout/control_panel_field_of_view.xml | 8 +--
.../res/layout/control_panel_roadmap_mode.xml | 63 ++++++++-----------
.../roadmapmode/RoadmapModeActivity.java | 2 +-
.../DataVisualizationActivity.kt | 21 ++++---
.../pathfollowing/PathFollowingActivity.kt | 6 +-
.../roadmapmode/RoadmapModeActivity.kt | 2 +-
6 files changed, 47 insertions(+), 55 deletions(-)
diff --git a/Maps3DSamples/ApiDemos/common/src/main/res/layout/control_panel_field_of_view.xml b/Maps3DSamples/ApiDemos/common/src/main/res/layout/control_panel_field_of_view.xml
index 9025799..4db8a07 100644
--- a/Maps3DSamples/ApiDemos/common/src/main/res/layout/control_panel_field_of_view.xml
+++ b/Maps3DSamples/ApiDemos/common/src/main/res/layout/control_panel_field_of_view.xml
@@ -122,7 +122,7 @@
android:layout_height="wrap_content"
android:layout_weight="1"
android:text="@string/fov_telephoto"
- android:textSize="10sp"
+ android:textSize="11sp"
android:paddingStart="2dp"
android:paddingEnd="2dp"
/>
@@ -136,7 +136,7 @@
android:layout_marginStart="2dp"
android:layout_marginEnd="2dp"
android:text="@string/fov_standard"
- android:textSize="10sp"
+ android:textSize="11sp"
android:paddingStart="2dp"
android:paddingEnd="2dp"
/>
@@ -149,7 +149,7 @@
android:layout_weight="1"
android:layout_marginEnd="2dp"
android:text="@string/fov_wide"
- android:textSize="10sp"
+ android:textSize="11sp"
android:paddingStart="2dp"
android:paddingEnd="2dp"
/>
@@ -161,7 +161,7 @@
android:layout_height="wrap_content"
android:layout_weight="1"
android:text="@string/fov_ultrawide"
- android:textSize="10sp"
+ android:textSize="11sp"
android:paddingStart="2dp"
android:paddingEnd="2dp"
/>
diff --git a/Maps3DSamples/ApiDemos/common/src/main/res/layout/control_panel_roadmap_mode.xml b/Maps3DSamples/ApiDemos/common/src/main/res/layout/control_panel_roadmap_mode.xml
index 4d61bc7..059caa5 100644
--- a/Maps3DSamples/ApiDemos/common/src/main/res/layout/control_panel_roadmap_mode.xml
+++ b/Maps3DSamples/ApiDemos/common/src/main/res/layout/control_panel_roadmap_mode.xml
@@ -70,52 +70,43 @@
-
-
-
-
-
-
+ android:checked="true"
+ android:text="@string/roadmap"
+ />
-
-
+
-
+
+
diff --git a/Maps3DSamples/ApiDemos/java-app/src/main/java/com/example/maps3djava/roadmapmode/RoadmapModeActivity.java b/Maps3DSamples/ApiDemos/java-app/src/main/java/com/example/maps3djava/roadmapmode/RoadmapModeActivity.java
index b77a592..7a0be9b 100644
--- a/Maps3DSamples/ApiDemos/java-app/src/main/java/com/example/maps3djava/roadmapmode/RoadmapModeActivity.java
+++ b/Maps3DSamples/ApiDemos/java-app/src/main/java/com/example/maps3djava/roadmapmode/RoadmapModeActivity.java
@@ -150,7 +150,7 @@ protected void onCreate(@Nullable Bundle savedInstanceState) {
private void initViews() {
controlsCard = findViewById(R.id.control_panel);
cardHeader = findViewById(R.id.card_header);
- cardContent = findViewById(R.id.card_content);
+ cardContent = findViewById(R.id.rg_map_mode);
btnCollapse = findViewById(R.id.btn_collapse);
rgMapMode = findViewById(R.id.rg_map_mode);
diff --git a/Maps3DSamples/ApiDemos/kotlin-app/src/main/java/com/example/maps3dkotlin/datavisualization/DataVisualizationActivity.kt b/Maps3DSamples/ApiDemos/kotlin-app/src/main/java/com/example/maps3dkotlin/datavisualization/DataVisualizationActivity.kt
index bba5140..7b6b420 100644
--- a/Maps3DSamples/ApiDemos/kotlin-app/src/main/java/com/example/maps3dkotlin/datavisualization/DataVisualizationActivity.kt
+++ b/Maps3DSamples/ApiDemos/kotlin-app/src/main/java/com/example/maps3dkotlin/datavisualization/DataVisualizationActivity.kt
@@ -18,6 +18,7 @@ package com.example.maps3dkotlin.datavisualization
import android.graphics.Color
import android.os.Bundle
+import androidx.core.graphics.toColorInt
import android.os.Handler
import android.os.Looper
import android.transition.TransitionManager
@@ -278,32 +279,32 @@ class DataVisualizationActivity : SampleBaseActivity() {
when {
currentFloodHeightMeters <= 2.0 -> {
floodRiskBadge.setText(R.string.flood_risk_baseline)
- floodRiskBadge.setTextColor(Color.parseColor("#008800"))
- floodRiskBadge.setBackgroundColor(Color.parseColor("#2000AA00"))
+ floodRiskBadge.setTextColor("#008800".toColorInt())
+ floodRiskBadge.setBackgroundColor("#2000AA00".toColorInt())
}
currentFloodHeightMeters <= 8.0 -> {
floodRiskBadge.setText(R.string.flood_risk_minor)
- floodRiskBadge.setTextColor(Color.parseColor("#BB7700"))
- floodRiskBadge.setBackgroundColor(Color.parseColor("#20FFAA00"))
+ floodRiskBadge.setTextColor("#BB7700".toColorInt())
+ floodRiskBadge.setBackgroundColor("#20FFAA00".toColorInt())
}
currentFloodHeightMeters <= 20.0 -> {
floodRiskBadge.setText(R.string.flood_risk_moderate)
- floodRiskBadge.setTextColor(Color.parseColor("#0077CC"))
- floodRiskBadge.setBackgroundColor(Color.parseColor("#200088FF"))
+ floodRiskBadge.setTextColor("#0077CC".toColorInt())
+ floodRiskBadge.setBackgroundColor("#200088FF".toColorInt())
}
currentFloodHeightMeters <= 35.0 -> {
floodRiskBadge.setText(R.string.flood_risk_storm_surge)
- floodRiskBadge.setTextColor(Color.parseColor("#DD4400"))
- floodRiskBadge.setBackgroundColor(Color.parseColor("#25FF5500"))
+ floodRiskBadge.setTextColor("#DD4400".toColorInt())
+ floodRiskBadge.setBackgroundColor("#25FF5500".toColorInt())
}
else -> {
floodRiskBadge.setText(R.string.flood_risk_extreme)
- floodRiskBadge.setTextColor(Color.parseColor("#CC0000"))
- floodRiskBadge.setBackgroundColor(Color.parseColor("#25FF0000"))
+ floodRiskBadge.setTextColor("#CC0000".toColorInt())
+ floodRiskBadge.setBackgroundColor("#25FF0000".toColorInt())
}
}
}
diff --git a/Maps3DSamples/ApiDemos/kotlin-app/src/main/java/com/example/maps3dkotlin/pathfollowing/PathFollowingActivity.kt b/Maps3DSamples/ApiDemos/kotlin-app/src/main/java/com/example/maps3dkotlin/pathfollowing/PathFollowingActivity.kt
index d6de834..84b15f1 100644
--- a/Maps3DSamples/ApiDemos/kotlin-app/src/main/java/com/example/maps3dkotlin/pathfollowing/PathFollowingActivity.kt
+++ b/Maps3DSamples/ApiDemos/kotlin-app/src/main/java/com/example/maps3dkotlin/pathfollowing/PathFollowingActivity.kt
@@ -16,8 +16,8 @@
package com.example.maps3dkotlin.pathfollowing
-import android.graphics.Color
import android.os.Bundle
+import androidx.core.graphics.toColorInt
import android.os.Handler
import android.os.Looper
import android.view.MotionEvent
@@ -447,7 +447,7 @@ class PathFollowingActivity : AppCompatActivity(), OnMap3DViewReadyCallback {
val staticOptions = PolylineOptions().apply {
id = STATIC_ROUTE_POLYLINE_ID
path = staticVertices
- strokeColor = Color.parseColor("#4285F4") // Wide blue route
+ strokeColor = "#4285F4".toColorInt() // Wide blue route
strokeWidth = 16.0
zIndex = 1
altitudeMode = pathAltitudeMode
@@ -493,7 +493,7 @@ class PathFollowingActivity : AppCompatActivity(), OnMap3DViewReadyCallback {
val progressOptions = PolylineOptions().apply {
id = PROGRESS_POLYLINE_ID
path = progressCoordinates
- strokeColor = Color.parseColor("#9C27B0") // Narrow purple progress
+ strokeColor = "#9C27B0".toColorInt() // Narrow purple progress
strokeWidth = 8.0
zIndex = 2
altitudeMode = pathAltitudeMode
diff --git a/Maps3DSamples/ApiDemos/kotlin-app/src/main/java/com/example/maps3dkotlin/roadmapmode/RoadmapModeActivity.kt b/Maps3DSamples/ApiDemos/kotlin-app/src/main/java/com/example/maps3dkotlin/roadmapmode/RoadmapModeActivity.kt
index 7ac4db4..0d3d6cc 100644
--- a/Maps3DSamples/ApiDemos/kotlin-app/src/main/java/com/example/maps3dkotlin/roadmapmode/RoadmapModeActivity.kt
+++ b/Maps3DSamples/ApiDemos/kotlin-app/src/main/java/com/example/maps3dkotlin/roadmapmode/RoadmapModeActivity.kt
@@ -131,7 +131,7 @@ class RoadmapModeActivity : SampleBaseActivity() {
private fun initViews() {
controlsCard = findViewById(R.id.control_panel)
cardHeader = findViewById(R.id.card_header)
- cardContent = findViewById(R.id.card_content)
+ cardContent = findViewById(R.id.rg_map_mode)
btnCollapse = findViewById(R.id.btn_collapse)
rgMapMode = findViewById(R.id.rg_map_mode)