@@ -12,6 +12,8 @@ import ch.bailu.aat.util.ui.AppLayout
1212import ch.bailu.aat.util.ui.theme.AppTheme
1313import ch.bailu.aat.util.ui.tooltip.ToolTip
1414import ch.bailu.aat.views.bar.ControlBar
15+ import ch.bailu.aat.views.preferences.dialog.SolidCheckListDialog
16+ import ch.bailu.aat_lib.app.AppContext
1517import ch.bailu.aat_lib.dispatcher.DispatcherInterface
1618import ch.bailu.aat_lib.dispatcher.TargetInterface
1719import ch.bailu.aat_lib.dispatcher.usage.UsageTrackerAlwaysEnabled
@@ -21,29 +23,33 @@ import ch.bailu.aat_lib.map.MapContext
2123import ch.bailu.aat_lib.map.edge.Position
2224import ch.bailu.aat_lib.map.layer.BoundingCycler
2325import ch.bailu.aat_lib.preferences.map.SolidPositionLock
26+ import ch.bailu.aat_lib.preferences.map.overlay.SolidOverlayList
27+ import ch.bailu.aat_lib.resources.Res
2428
25- class NavigationBarLayer (context : Context ,
29+ class NavigationBarLayer (private val appContext : AppContext ,
30+ private val context : Context ,
2631 private val mcontext : MapContext ,
27- d : DispatcherInterface ,
28- i : Int = AppLayout .DEFAULT_VISIBLE_BUTTON_COUNT ) : ControlBarLayer(
29- mcontext, ControlBar (context, getOrientation(Position .BOTTOM ), AppTheme .bar, i), Position .BOTTOM
32+ d : DispatcherInterface ) : ControlBarLayer(
33+ mcontext, ControlBar (context, getOrientation(Position .BOTTOM ), AppTheme .bar, 5), Position .BOTTOM
3034), TargetInterface {
3135
3236 private val buttonPlus: View = bar.addImageButton(R .drawable.zoom_in)
3337 private val buttonMinus: View = bar.addImageButton(R .drawable.zoom_out)
34- private val buttonFrame: View
38+ private val lock = bar.addSolidIndexButton(
39+ SolidPositionLock (Storage (context), mcontext.getSolidKey())
40+ )
41+ private val buttonFrame: View = bar.addImageButton(R .drawable.zoom_fit_best)
42+ private val overlays = bar.addImageButton(R .drawable.view_paged)
3543
3644 private val boundingCycler = BoundingCycler (UsageTrackerAlwaysEnabled ())
3745
3846 init {
39- val lock = bar.addSolidIndexButton(
40- SolidPositionLock (Storage (context), mcontext.getSolidKey())
41- )
42- buttonFrame = bar.addImageButton(R .drawable.zoom_fit_best)
4347 ToolTip .set(buttonPlus, R .string.tt_map_zoomin)
4448 ToolTip .set(buttonMinus, R .string.tt_map_zoomout)
4549 ToolTip .set(buttonFrame, R .string.tt_map_frame)
4650 ToolTip .set(lock, R .string.tt_map_home)
51+ ToolTip .set(overlays, Res .str().p_overlay())
52+
4753 d.addTarget(this , InfoID .ALL )
4854 val volumeView = VolumeView (context)
4955 volumeView.visibility = View .INVISIBLE
@@ -58,6 +64,8 @@ class NavigationBarLayer(context: Context,
5864 mcontext.getMapView().zoomOut()
5965 } else if (v == = buttonFrame) {
6066 boundingCycler.onAction(mcontext)
67+ }else if (v == = overlays) {
68+ SolidCheckListDialog (context, SolidOverlayList .createMapOverlayList(appContext))
6169 }
6270 }
6371
@@ -77,7 +85,8 @@ class NavigationBarLayer(context: Context,
7785 override fun onLayout (changed : Boolean , l : Int , t : Int , r : Int , b : Int ) {}
7886
7987 override fun onHardwareButtonPressed (code : Int , type : AbsHardwareButtons .EventType ): Boolean {
80- if (To .view(mcontext.getMapView())!! .visibility == VISIBLE ) {
88+ val view = To .view(mcontext.getMapView())
89+ if (view is View && view.visibility == VISIBLE ) {
8190 if (code == KeyEvent .KEYCODE_VOLUME_UP ) {
8291 if (type == = AbsHardwareButtons .EventType .DOWN ) mcontext.getMapView().zoomIn()
8392 return true
0 commit comments