Page Menu
Home
GitPull.it
Search
Configure Global Search
Log In
Files
F15002417
D197.1791056815.diff
No One
Temporary
Actions
View File
Edit File
Delete File
View Transforms
Subscribe
Award Token
Flag For Later
Authored By
Unknown
Size
28 KB
Referenced Files
None
Subscribers
None
D197.1791056815.diff
View Options
diff --git a/app/src/main/java/it/reyboz/bustorino/fragments/GeneralMapLibreFragment.kt b/app/src/main/java/it/reyboz/bustorino/fragments/GeneralMapLibreFragment.kt
--- a/app/src/main/java/it/reyboz/bustorino/fragments/GeneralMapLibreFragment.kt
+++ b/app/src/main/java/it/reyboz/bustorino/fragments/GeneralMapLibreFragment.kt
@@ -169,6 +169,19 @@
}
)
}
+ protected fun isPointInsideVisibleRegion(p: LatLng, other: Boolean): Boolean{
+ val bounds = map?.projection?.visibleRegion?.latLngBounds
+ var inside = other
+ bounds?.let { inside = it.contains(p) }
+ return inside
+ }
+
+ protected fun isPointInsideVisibleRegion(lat: Double, lon: Double, other: Boolean): Boolean{
+ val p = LatLng(lat, lon)
+ return isPointInsideVisibleRegion(p, other)
+ }
+
+
companion object{
private const val DEBUG_TAG="GeneralMapLibreFragment"
diff --git a/app/src/main/java/it/reyboz/bustorino/fragments/LinesDetailFragment.kt b/app/src/main/java/it/reyboz/bustorino/fragments/LinesDetailFragment.kt
--- a/app/src/main/java/it/reyboz/bustorino/fragments/LinesDetailFragment.kt
+++ b/app/src/main/java/it/reyboz/bustorino/fragments/LinesDetailFragment.kt
@@ -196,6 +196,7 @@
private lateinit var locationComponent: LocationComponent
private lateinit var polylineSource: GeoJsonSource
private lateinit var polyArrowSource: GeoJsonSource
+ private lateinit var selectedBusSource: GeoJsonSource
private var savedCameraPosition: CameraPosition? = null
private var vehShowing = ""
@@ -699,8 +700,6 @@
stopTitleTextView.visibility = View.VISIBLE
val string_show = if (stop.numRoutesStopping==0) ""
- else if (stop.numRoutesStopping <= 1)
- requireContext().getString(R.string.line_fill, stop.routesThatStopHereToString())
else requireContext().getString(R.string.lines_fill, stop.routesThatStopHereToString())
linesPassingTextView.text = string_show
@@ -710,6 +709,7 @@
}
arrivalsCard.visibility = View.VISIBLE
+ directionsCard.visibility = View.VISIBLE
directionsCard.setOnClickListener {
ViewUtils.openStopInOutsideApp(stop, context)
@@ -750,7 +750,11 @@
//reset states
shownStopInBottomSheet = null
- vehShowing = ""
+ if (vehShowing!=""){
+ //we are hiding a vehicle
+ vehShowing = ""
+ updatePositionsIcons(true)
+ }
}
@@ -764,39 +768,48 @@
bottomLayout?.let {
val lineName = FiveTNormalizer.fixShortNameForDisplay(
GtfsUtils.getLineNameFromGtfsID(data.posUpdate.routeID), true)
- stopNumberTextView.text = requireContext().getString(R.string.line_fill, lineName)
val pat = data.pattern
if (pat!=null){
+ //WE HAVE THE DIRECTIONS DATA
stopTitleTextView.text = pat.headsign
stopTitleTextView.visibility = View.VISIBLE
Log.d(DEBUG_TAG, "Showing headsign ${pat.headsign} for vehicle $veh")
+ stopNumberTextView.text = requireContext().getString(R.string.line_fill_towards, lineName)
+
+ bottomrightImage.setImageDrawable(ResourcesCompat.getDrawable(resources, R.drawable.ic_magnifying_glass, activity?.theme))
+ directionsCard.setOnClickListener {
+ data.pattern?.let {
+
+ if(patternShown?.pattern?.code == it.code){
+ context?.let { c->Toast.makeText(c, R.string.showing_same_direction, Toast.LENGTH_SHORT).show() }
+ }else
+ showPatternWithCode(it.code)
+ } //TODO
+ // ?: {
+ // context?.let { ctx -> Toast.makeText(ctx,"") }
+ //}
+ }
+ //set color
+ val colorBlue = ResourcesCompat.getColor(resources,R.color.blue_500,activity?.theme)
+ ViewCompat.setBackgroundTintList(directionsCard, ColorStateList.valueOf(colorBlue))
+ directionsCard.visibility = View.VISIBLE
} else {
//stopTitleTextView.text = "NN"
stopTitleTextView.visibility = View.GONE
+ stopNumberTextView.text = requireContext().getString(R.string.line_fill, lineName)
+ directionsCard.visibility = View.GONE
+
}
- linesPassingTextView.text = data.posUpdate.vehicle
+ linesPassingTextView.text = requireContext().getString(R.string.vehicle_fill, data.posUpdate.vehicle)
}
arrivalsCard.visibility=View.GONE
- bottomrightImage.setImageDrawable(ResourcesCompat.getDrawable(resources, R.drawable.ic_magnifying_glass, activity?.theme))
- directionsCard.setOnClickListener {
- data.pattern?.let {
-
- if(patternShown?.pattern?.code == it.code){
- context?.let { c->Toast.makeText(c, R.string.showing_same_direction, Toast.LENGTH_SHORT).show() }
- }else
- showPatternWithCode(it.code)
- } //TODO
- // ?: {
- // context?.let { ctx -> Toast.makeText(ctx,"") }
- //}
- }
- //set color
- val colorBlue = ResourcesCompat.getColor(resources,R.color.blue_620,activity?.theme)
- ViewCompat.setBackgroundTintList(directionsCard, ColorStateList.valueOf(colorBlue))
vehShowing = veh
bottomSheetBehavior.state = BottomSheetBehavior.STATE_EXPANDED
+
+ //call update position to color the bus special
+ updatePositionsIcons(true)
//isBottomSheetShowing = true
Log.d(DEBUG_TAG, "Shown vehicle $veh in bottom layout")
}
@@ -878,6 +891,10 @@
style.addSource(busesSource)
style.addImage("bus_symbol",ResourcesCompat.getDrawable(resources, R.drawable.map_bus_position_icon, activity?.theme)!!)
+ selectedBusSource = GeoJsonSource("sel_bus_source")
+ style.addSource(selectedBusSource)
+ style.addImage("sel_bus_symbol", ResourcesCompat.getDrawable(resources, R.drawable.map_bus_position_icon_sel, activity?.theme)!!)
+
// Buses layer
val busesLayer = SymbolLayer(BUSES_LAYER_ID, BUSES_SOURCE_ID).apply {
withProperties(
@@ -892,6 +909,17 @@
}
style.addLayerAbove(busesLayer, STOPS_LAYER_ID)
+ val selectedBusLayer = SymbolLayer("sel_bus_layer", "sel_bus_source").withProperties(
+ PropertyFactory.iconImage("sel_bus_symbol"),
+ //PropertyFactory.iconSize(1.2f),
+ PropertyFactory.iconAllowOverlap(true),
+ PropertyFactory.iconIgnorePlacement(true),
+ PropertyFactory.iconRotate(Expression.get("bearing")),
+ PropertyFactory.iconRotationAlignment(ICON_ROTATION_ALIGNMENT_MAP)
+
+ )
+ style.addLayerAbove(selectedBusLayer, BUSES_LAYER_ID)
+
}
override fun onAttach(context: Context) {
@@ -1198,9 +1226,9 @@
var countUpds = 0
//val symbolsToUpdate = ArrayList<Symbol>()
for (upsWithTrp in incomingData.values){
- val pos = upsWithTrp.first
+ val newPos = upsWithTrp.first
val patternStops = upsWithTrp.second
- val vehID = pos.vehicle
+ val vehID = newPos.vehicle
var animate = false
if (vehsOld.contains(vehID)){
//changing the location of an existing bus
@@ -1210,10 +1238,10 @@
var avoidShowingUpdateBecauseIsImpossible = false
oldPos?.let{
- if(it.routeID!=pos.routeID) {
- val dist = LatLng(it.latitude, it.longitude).distanceTo(LatLng(pos.latitude, pos.longitude))
- val speed = dist*3.6 / (pos.timestamp - it.timestamp) //this should be in km/h
- Log.w(DEBUG_TAG, "Vehicle $vehID changed route from ${oldPos.routeID} to ${pos.routeID}, distance: $dist, speed: $speed")
+ if(it.routeID!=newPos.routeID) {
+ val dist = LatLng(it.latitude, it.longitude).distanceTo(LatLng(newPos.latitude, newPos.longitude))
+ val speed = dist*3.6 / (newPos.timestamp - it.timestamp) //this should be in km/h
+ Log.w(DEBUG_TAG, "Vehicle $vehID changed route from ${oldPos.routeID} to ${newPos.routeID}, distance: $dist, speed: $speed")
if (speed > 120 || speed < 0){
avoidShowingUpdateBecauseIsImpossible = true
}
@@ -1225,26 +1253,25 @@
continue
}
- val samePosition = oldPos?.let { (it.latitude==pos.latitude)&&(it.longitude == pos.longitude) }?:false
+ val samePosition = oldPos?.let { (it.latitude==newPos.latitude)&&(it.longitude == newPos.longitude) }?:false
val setPattern = (oldPattern==null) && (patternStops!=null)
if((!samePosition)|| setPattern) {
- //THIS PART C
- /*val isPositionInBounds = isInsideVisibleRegion(
- pos.latitude, pos.longitude, true
- ) || (oldPos?.let { isInsideVisibleRegion(it.latitude,it.longitude,true) } ?: false)
- */
- val skip = true
- if (skip) {
- //animate = true
- // set the pattern data too
- updatesByVehDict[vehID]!!.pattern = patternStops!!.pattern
+ val newOrOldPosInBounds = isPointInsideVisibleRegion(
+ newPos.latitude, newPos.longitude, true
+ ) || (oldPos?.let { isPointInsideVisibleRegion(it.latitude,it.longitude,true) } ?: false)
+
+
+ //val skip = true
+ if (newOrOldPosInBounds) {
+ // update the pattern data, the position will be updated with the animation
+ patternStops?.let { updatesByVehDict[vehID]!!.pattern = it.pattern}
//this moves both the icon and the label
- animateNewPositionMove(pos)
+ animateNewPositionMove(newPos)
} else {
//update
- updatesByVehDict[vehID] = LivePositionTripPattern(pos,patternStops!!.pattern)
+ updatesByVehDict[vehID] = LivePositionTripPattern(newPos,patternStops?.pattern)
/*busLabelSymbolsByVeh[vehID]?.let {
it.latLng = LatLng(pos.latitude, pos.longitude)
symbolsToUpdate.add(it)
@@ -1259,7 +1286,7 @@
else{
//not inside
// update it simply
- updatesByVehDict[vehID] = LivePositionTripPattern(pos, patternStops?.pattern)
+ updatesByVehDict[vehID] = LivePositionTripPattern(newPos, patternStops?.pattern)
//createLabelForVehicle(pos)
//if(vehShowing==vehID)
// map?.animateCamera(CameraUpdateFactory.newLatLng(LatLng(pos.latitude, pos.longitude)),500)
@@ -1379,24 +1406,26 @@
return
}
- val features = ArrayList<Feature>()//stops.mapNotNull { stop ->
- //stop.latitude?.let { lat ->
- // stop.longitude?.let { lon ->
+ val busFeatures = ArrayList<Feature>()
+ val selectedBusFeatures = ArrayList<Feature>()
for (dat in updatesByVehDict.values){
//if (s.latitude!=null && s.longitude!=null)
val pos = dat.posUpdate
val point = Point.fromLngLat(pos.longitude, pos.latitude)
- features.add(
- Feature.fromGeometry(
- point,
- JsonObject().apply {
- addProperty("veh", pos.vehicle)
- addProperty("trip", pos.tripID)
- addProperty("bearing", pos.bearing ?:0.0f)
- addProperty("line", pos.routeID)
- }
- )
+
+ val newFeature = Feature.fromGeometry(
+ point,
+ JsonObject().apply {
+ addProperty("veh", pos.vehicle)
+ addProperty("trip", pos.tripID)
+ addProperty("bearing", pos.bearing ?:0.0f)
+ addProperty("line", pos.routeID)
+ }
)
+ if (vehShowing == dat.posUpdate.vehicle)
+ selectedBusFeatures.add(newFeature)
+ else
+ busFeatures.add(newFeature)
/*busLabelSymbolsByVeh[pos.vehicle]?.let {
it.latLng = LatLng(pos.latitude, pos.longitude)
symbolsToUpdate.add(it)
@@ -1404,7 +1433,8 @@
*/
}
- busesSource.setGeoJson(FeatureCollection.fromFeatures(features))
+ busesSource.setGeoJson(FeatureCollection.fromFeatures(busFeatures))
+ selectedBusSource.setGeoJson(FeatureCollection.fromFeatures(selectedBusFeatures))
//update labels, clear cache to be used
//symbolManager.update(symbolsToUpdate)
//symbolsToUpdate.clear()
diff --git a/app/src/main/java/it/reyboz/bustorino/fragments/MapLibreFragment.kt b/app/src/main/java/it/reyboz/bustorino/fragments/MapLibreFragment.kt
--- a/app/src/main/java/it/reyboz/bustorino/fragments/MapLibreFragment.kt
+++ b/app/src/main/java/it/reyboz/bustorino/fragments/MapLibreFragment.kt
@@ -518,8 +518,6 @@
stopTitleTextView.text = stopName//stop.stopDefaultName
stopNumberTextView.text = getString(R.string.stop_fill,stop.ID)
val string_show = if (stop.numRoutesStopping==0) ""
- else if (stop.numRoutesStopping <= 1)
- requireContext().getString(R.string.line_fill, stop.routesThatStopHereToString())
else requireContext().getString(R.string.lines_fill, stop.routesThatStopHereToString())
linesPassingTextView.text = string_show
diff --git a/app/src/main/res/drawable/map_bus_position_icon_sel.xml b/app/src/main/res/drawable/map_bus_position_icon_sel.xml
new file mode 100644
--- /dev/null
+++ b/app/src/main/res/drawable/map_bus_position_icon_sel.xml
@@ -0,0 +1,8 @@
+<vector android:height="40dp" android:viewportHeight="35.719"
+ android:viewportWidth="35.719" android:width="40dp" xmlns:android="http://schemas.android.com/apk/res/android">
+ <path android:fillColor="@color/blue_500"
+ android:strokeColor="@color/black"
+ android:pathData="m17.859,0.505c-2.419,2.799 -6.614,7.924 -8.107,10.349 -1.294,2.102 -2.431,4.162 -2.431,6.824 0,5.83 4.714,10.559 10.538,10.583 5.824,-0.024 10.538,-4.753 10.538,-10.583 0,-2.662 -1.138,-4.722 -2.431,-6.824C24.474,8.429 20.279,3.304 17.859,0.505Z"
+ android:strokeLineJoin="round"
+ android:strokeWidth="0.8"/>
+</vector>
diff --git a/app/src/main/res/font/lato_bold.ttf b/app/src/main/res/font/lato_bold.ttf
new file mode 100644
index 0000000000000000000000000000000000000000..0000000000000000000000000000000000000000
GIT binary patch
literal 0
Hc$@<O00001
literal 0
Hc$@<O00001
diff --git a/app/src/main/res/font/lato_regular.ttf b/app/src/main/res/font/lato_regular.ttf
new file mode 100644
index 0000000000000000000000000000000000000000..0000000000000000000000000000000000000000
GIT binary patch
literal 0
Hc$@<O00001
literal 0
Hc$@<O00001
diff --git a/app/src/main/res/layout/fragment_lines_detail.xml b/app/src/main/res/layout/fragment_lines_detail.xml
--- a/app/src/main/res/layout/fragment_lines_detail.xml
+++ b/app/src/main/res/layout/fragment_lines_detail.xml
@@ -156,8 +156,8 @@
android:id="@+id/bottom_sheet"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
- android:layout_marginStart="5dp"
- android:layout_marginEnd="5dp"
+ android:layout_marginStart="10dp"
+ android:layout_marginEnd="10dp"
android:paddingTop="3dp"
android:orientation="vertical"
android:background="@drawable/bottom_sheet_background"
@@ -173,41 +173,41 @@
android:id="@+id/stopNumberTextView"
android:layout_width="match_parent"
android:layout_height="wrap_content"
- android:textSize="18sp"
+ android:textSize="17sp"
android:layout_alignParentTop="true"
android:layout_alignParentStart="true"
android:layout_toStartOf="@id/arrivalsCardButton"
android:layout_marginStart="10dp"
android:layout_marginEnd="10dp"
- android:layout_marginBottom="2dp"
- android:fontFamily="@font/pitagon_semibold"
+ android:layout_marginBottom="4dp"
+ android:fontFamily="@font/lato_regular"
/>
<TextView
android:id="@+id/stopTitleTextView"
android:layout_width="match_parent"
android:layout_height="wrap_content"
- android:textSize="18sp"
- android:textStyle="bold"
+ android:textSize="19sp"
android:layout_below="@id/stopNumberTextView"
android:layout_alignParentStart="true"
android:layout_toStartOf="@id/arrivalsCardButton"
- android:layout_marginBottom="5dp"
+ android:layout_marginBottom="6dp"
android:layout_marginStart="10dp"
android:layout_marginEnd="10dp"
- android:fontFamily="@font/pitagon_regular"
+ android:fontFamily="@font/lato_bold"
/>
<TextView
android:id="@+id/linesPassingTextView"
android:layout_width="match_parent"
android:layout_height="wrap_content"
- android:textSize="14sp"
+ android:textSize="15sp"
android:layout_below="@id/stopTitleTextView"
android:layout_alignParentStart="true"
android:layout_toStartOf="@id/arrivalsCardButton"
android:layout_marginBottom="5dp"
android:layout_marginStart="10dp"
android:layout_marginEnd="10dp"
+ android:fontFamily="@font/lato_regular"
/>
<androidx.cardview.widget.CardView
android:id="@+id/arrivalsCardButton"
@@ -228,7 +228,7 @@
android:layout_width="30sp"
android:layout_height="30sp"
android:layout_gravity="center"
- android:tint="?colorOnPrimary"
+ app:tint="?colorOnPrimary"
app:srcCompat="@drawable/ic_baseline_departure_board_24" />
</androidx.cardview.widget.CardView>
@@ -267,7 +267,7 @@
android:layout_height="30sp"
app:srcCompat="@drawable/baseline_close_16"
android:id="@+id/btnClose"
- android:layout_marginTop="15dp"
+ android:layout_marginTop="10dp"
android:layout_marginEnd="15dp"
android:layout_marginBottom="5dp"
android:layout_marginStart="10dp"
diff --git a/app/src/main/res/layout/fragment_map_libre.xml b/app/src/main/res/layout/fragment_map_libre.xml
--- a/app/src/main/res/layout/fragment_map_libre.xml
+++ b/app/src/main/res/layout/fragment_map_libre.xml
@@ -21,56 +21,57 @@
android:layout_height="wrap_content"
android:layout_marginStart="10dp"
android:layout_marginEnd="10dp"
+ android:paddingTop="3dp"
android:orientation="vertical"
android:background="@drawable/bottom_sheet_background"
android:elevation="8dp"
- android:padding="10dp"
+ android:padding="13dp"
app:layout_behavior="com.google.android.material.bottomsheet.BottomSheetBehavior"
app:behavior_hideable="true"
app:behavior_peekHeight="4dp"
android:clickable="true"
android:focusable="true">
+ <!-- TODO: Deduplicate code from here and fragment_lines_details -->
<TextView
android:id="@+id/stopNumberTextView"
android:layout_width="match_parent"
android:layout_height="wrap_content"
- android:textSize="18sp"
+ android:textSize="17sp"
android:layout_alignParentTop="true"
android:layout_alignParentStart="true"
android:layout_toStartOf="@id/arrivalsCardButton"
- android:layout_marginTop="8dp"
android:layout_marginStart="10dp"
android:layout_marginEnd="10dp"
- android:layout_marginBottom="2dp"
- android:fontFamily="@font/pitagon_semibold"
+ android:layout_marginBottom="4dp"
+ android:fontFamily="@font/lato_regular"
/>
<TextView
- android:id="@+id/stopTitleTextView"
- android:layout_width="match_parent"
- android:layout_height="wrap_content"
- android:textSize="18sp"
- android:textStyle="bold"
- android:layout_below="@id/stopNumberTextView"
- android:layout_alignParentStart="true"
- android:layout_toStartOf="@id/arrivalsCardButton"
- android:layout_marginBottom="5dp"
- android:layout_marginStart="10dp"
- android:layout_marginEnd="10dp"
- android:fontFamily="@font/pitagon_regular"
+ android:id="@+id/stopTitleTextView"
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:textSize="19sp"
+ android:layout_below="@id/stopNumberTextView"
+ android:layout_alignParentStart="true"
+ android:layout_toStartOf="@id/arrivalsCardButton"
+ android:layout_marginBottom="6dp"
+ android:layout_marginStart="10dp"
+ android:layout_marginEnd="10dp"
+ android:fontFamily="@font/lato_bold"
/>
<TextView
android:id="@+id/linesPassingTextView"
android:layout_width="match_parent"
android:layout_height="wrap_content"
- android:textSize="14sp"
+ android:textSize="15sp"
android:layout_below="@id/stopTitleTextView"
android:layout_alignParentStart="true"
android:layout_toStartOf="@id/arrivalsCardButton"
android:layout_marginBottom="5dp"
android:layout_marginStart="10dp"
android:layout_marginEnd="10dp"
+ android:fontFamily="@font/lato_regular"
/>
<androidx.cardview.widget.CardView
android:id="@+id/arrivalsCardButton"
@@ -90,7 +91,7 @@
android:layout_width="30sp"
android:layout_height="30sp"
android:layout_gravity="center"
- android:tint="?colorOnPrimary"
+ app:tint="?colorOnPrimary"
app:srcCompat="@drawable/ic_baseline_departure_board_24" />
</androidx.cardview.widget.CardView>
@@ -126,11 +127,11 @@
android:layout_width="30sp"
android:layout_height="30sp"
app:srcCompat="@drawable/baseline_close_16"
- android:tint="@color/red_darker"
+ app:tint="@color/red_darker"
android:id="@+id/btnClose"
android:layout_marginTop="10dp"
- android:layout_marginEnd="10dp"
- android:layout_marginBottom="10dp"
+ android:layout_marginEnd="15dp"
+ android:layout_marginBottom="5dp"
android:layout_marginStart="10dp"
android:layout_below="@id/directionsCardButton"
android:layout_alignParentEnd="true"
diff --git a/app/src/main/res/values-fr/strings.xml b/app/src/main/res/values-fr/strings.xml
--- a/app/src/main/res/values-fr/strings.xml
+++ b/app/src/main/res/values-fr/strings.xml
@@ -102,7 +102,8 @@
<string name="action_about">À propos de l\'application</string>
<string name="no_lines_found">Aucune ligne trouvée dans cette catégorie</string>
<string name="no_lines_found_query">Aucune ligne ne correspond à la recherche</string>
- <string name="line_fill">Ligne: %1$s</string>
+ <string name="line_fill">Ligne %1$s</string>
+ <string name="line_fill_towards">Ligne %1$s, direction:</string>
<string name="internal_error">Erreur interne inattendue, impossible d\'extraire les données depuis le site GTT/5T</string>
<string name="action_favorites">Favoris</string>
<string name="title_activity_map">Carte</string>
diff --git a/app/src/main/res/values-it/strings.xml b/app/src/main/res/values-it/strings.xml
--- a/app/src/main/res/values-it/strings.xml
+++ b/app/src/main/res/values-it/strings.xml
@@ -28,10 +28,12 @@
<string name="no_lines_found">Nessuna linea in questa categoria</string>
<string name="no_lines_found_query">Nessuna linea corrisponde alla ricerca</string>
<string name="search_box_lines_suggestion_filter">Filtra per nome</string>
- <string name="line_fill">Linea: %1$s</string>
+ <string name="line_fill">Linea %1$s</string>
<string name="lines_fill">Linee: %1$s</string>
+ <string name="line_fill_towards">Linea %1$s, direzione:</string>
<string name="stop_fill">Fermata %1$s</string>
<string name="results">Scegli la fermata…</string>
+ <string name="vehicle_fill">Matricola %1$s</string>
<string name="no_passages">Nessun passaggio</string>
<string name="no_qrcode">Nessun QR code trovato, prova ad usare un\'altra app</string>
<string name="action_favorites">Preferiti</string>
diff --git a/app/src/main/res/values-nl/strings.xml b/app/src/main/res/values-nl/strings.xml
--- a/app/src/main/res/values-nl/strings.xml
+++ b/app/src/main/res/values-nl/strings.xml
@@ -48,7 +48,7 @@
<string name="no_lines_found">Geen lijnen gevonden in deze categorie</string>
<string name="no_lines_found_query">Geen lijnen gevonden met deze naam</string>
<string name="direction_duep">Bestemming:</string>
- <string name="line_fill">Lijn: %1$s</string>
+ <string name="line_fill">Lijn %1$s</string>
<string name="no_passages">Geen rooster gevonden</string>
<string name="no_qrcode">Geen QR code gevonden, probeer het met een andere app</string>
<string name="internal_error">Onverwachte interne fout, kan geen data halen van de GTT/5T website</string>
diff --git a/app/src/main/res/values/colors.xml b/app/src/main/res/values/colors.xml
--- a/app/src/main/res/values/colors.xml
+++ b/app/src/main/res/values/colors.xml
@@ -44,6 +44,7 @@
<color name="white">#FFFFFF</color>
<color name="black">#000000</color>
<color name="black_900">#1c1c1c</color>
+ <color name="black_800">#3f3f3f</color>
<color name="line_pattern_color">@color/blue_mid_2</color><!-- 2e8df0-->
diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml
--- a/app/src/main/res/values/strings.xml
+++ b/app/src/main/res/values/strings.xml
@@ -44,8 +44,10 @@
<string name="direction_duep">Destination:</string>
<string name="lines_fill">Lines: %1$s</string>
- <string name="line_fill">Line: %1$s</string>
+ <string name="line_fill">Line %1$s</string>
+ <string name="line_fill_towards">Line %1$s towards:</string>
<string name="stop_fill">Stop %1$s</string>
+ <string name="vehicle_fill">Vehicle %1$s</string>
<string name="no_passages">No timetable found</string>
<string name="no_qrcode">No QR code found, try using another app to scan</string>
<string name="internal_error">Unexpected internal error, cannot extract data from GTT/5T website</string>
diff --git a/app/src/main/res/values/styles.xml b/app/src/main/res/values/styles.xml
--- a/app/src/main/res/values/styles.xml
+++ b/app/src/main/res/values/styles.xml
@@ -31,6 +31,8 @@
<!-- For the preferences Fragment -->
<item name="preferenceTheme">@style/PreferenceThemeOverlay</item>
+ <item name="android:textColor">@color/grey_700</item>
+
</style>
<style name="Widget.MyApp.Button" parent="Widget.MaterialComponents.Button">
File Metadata
Details
Attached
Mime Type
text/plain
Expires
Sat, Oct 3, 21:46 (13 h, 13 m)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
2211630
Default Alt Text
D197.1791056815.diff (28 KB)
Attached To
Mode
D197: Great aesthetic changes and small bugfixes
Attached
Detach File
Event Timeline