Skip to content

Commit ac8d25e

Browse files
committed
do not inherit internal class in public RoadLabelSurfaceLayer
1 parent fcb6f36 commit ac8d25e

2 files changed

Lines changed: 28 additions & 8 deletions

File tree

libnavui-androidauto/api/current.txt

Lines changed: 0 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -505,12 +505,6 @@ package com.mapbox.androidauto.navigation.roadlabel {
505505

506506
public final class RoadLabelSurfaceLayer implements com.mapbox.maps.extension.androidauto.MapboxCarMapObserver {
507507
ctor public RoadLabelSurfaceLayer(androidx.car.app.CarContext carContext);
508-
method public java.util.List<com.mapbox.maps.extension.androidauto.MapboxCarMapObserver> children();
509-
method public androidx.car.app.CarContext getCarContext();
510-
method public final com.mapbox.maps.EdgeInsets? getEdgeInsets();
511-
method public final android.graphics.Rect? getVisibleArea();
512-
method public final kotlin.Pair<java.lang.Integer,java.lang.Integer>? surfaceDimensions();
513-
property public final androidx.car.app.CarContext carContext;
514508
}
515509

516510
public abstract class RoadNameObserver implements com.mapbox.navigation.core.lifecycle.MapboxNavigationObserver {

libnavui-androidauto/src/main/java/com/mapbox/androidauto/navigation/roadlabel/RoadLabelSurfaceLayer.kt

Lines changed: 28 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
package com.mapbox.androidauto.navigation.roadlabel
22

33
import android.graphics.Color
4+
import android.graphics.Rect
45
import androidx.car.app.CarContext
56
import androidx.car.app.Screen
67
import com.mapbox.androidauto.internal.extensions.getStyleAsync
@@ -11,6 +12,7 @@ import com.mapbox.androidauto.internal.logAndroidAutoFailure
1112
import com.mapbox.androidauto.internal.surfacelayer.CarSurfaceLayer
1213
import com.mapbox.androidauto.internal.surfacelayer.textview.CarTextLayerHost
1314
import com.mapbox.androidauto.navigation.MapUserStyleObserver
15+
import com.mapbox.maps.EdgeInsets
1416
import com.mapbox.maps.LayerPosition
1517
import com.mapbox.maps.MapboxExperimental
1618
import com.mapbox.maps.extension.androidauto.MapboxCarMap
@@ -31,8 +33,32 @@ import com.mapbox.navigation.ui.shield.model.RouteShield
3133
* removing the listener with [MapboxCarMap.unregisterObserver].
3234
*/
3335
@OptIn(MapboxExperimental::class)
34-
class RoadLabelSurfaceLayer(
35-
val carContext: CarContext,
36+
class RoadLabelSurfaceLayer internal constructor(
37+
private val delegate: RoadLabelSurfaceLayerDelegate,
38+
) : MapboxCarMapObserver {
39+
40+
constructor(carContext: CarContext) : this(RoadLabelSurfaceLayerDelegate(carContext))
41+
42+
override fun onAttached(mapboxCarMapSurface: MapboxCarMapSurface) {
43+
delegate.onAttached(mapboxCarMapSurface)
44+
}
45+
46+
override fun onDetached(mapboxCarMapSurface: MapboxCarMapSurface) {
47+
delegate.onDetached(mapboxCarMapSurface)
48+
}
49+
50+
override fun onVisibleAreaChanged(visibleArea: Rect, edgeInsets: EdgeInsets) {
51+
delegate.onVisibleAreaChanged(visibleArea, edgeInsets)
52+
}
53+
54+
override fun onStableAreaChanged(stableArea: Rect, edgeInsets: EdgeInsets) {
55+
delegate.onStableAreaChanged(stableArea, edgeInsets)
56+
}
57+
}
58+
59+
@OptIn(MapboxExperimental::class)
60+
internal class RoadLabelSurfaceLayerDelegate(
61+
private val carContext: CarContext,
3662
) : CarSurfaceLayer() {
3763

3864
private val roadLabelRenderer = RoadLabelRenderer(carContext.resources)

0 commit comments

Comments
 (0)