Skip to content

Commit db11dea

Browse files
committed
Overlay menu in NavigationBarLayer
1 parent 4949a53 commit db11dea

File tree

3 files changed

+22
-19
lines changed

3 files changed

+22
-19
lines changed

aat-android/src/main/kotlin/ch/bailu/aat/map/MapFactory.kt

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -39,7 +39,7 @@ class MapFactory(private val m: MapsForgeViewBase, activityContext: ActivityCont
3939

4040
private fun base() {
4141
m.add(CurrentLocationLayer(mc, d))
42-
m.add(NavigationBarLayer(c, mc, d, 4))
42+
m.add(NavigationBarLayer(appContext, c, mc, d))
4343
}
4444

4545
fun split(usageTracker: UsageTrackerInterface): MapsForgeViewBase {
@@ -113,7 +113,7 @@ class MapFactory(private val m: MapsForgeViewBase, activityContext: ActivityCont
113113
m.add(GpxDynLayer(s, mc, ser, d, InfoID.FILE_VIEW))
114114
m.add(CurrentLocationLayer(mc, d))
115115
m.add(GridDynLayer(ser, s, mc))
116-
m.add(NavigationBarLayer(c, mc, d))
116+
m.add(NavigationBarLayer(appContext, c, mc, d))
117117
m.add(InformationBarLayer(appContext, c, mc, d))
118118
return m
119119
}

aat-android/src/main/kotlin/ch/bailu/aat/map/layer/InformationBarLayer.kt

Lines changed: 1 addition & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,6 @@ import ch.bailu.aat.menus.MapQueryMenu
99
import ch.bailu.aat.util.ui.theme.AppTheme
1010
import ch.bailu.aat.util.ui.tooltip.ToolTip
1111
import ch.bailu.aat.views.bar.ControlBar
12-
import ch.bailu.aat.views.preferences.dialog.SolidCheckListDialog
1312
import ch.bailu.aat_lib.api.nominatim.NominatimReverseController
1413
import ch.bailu.aat_lib.app.AppContext
1514
import ch.bailu.aat_lib.dispatcher.DispatcherInterface
@@ -19,11 +18,10 @@ import ch.bailu.aat_lib.map.edge.Position
1918
import ch.bailu.aat_lib.preferences.StorageInterface
2019
import ch.bailu.aat_lib.preferences.map.SolidLegend
2120
import ch.bailu.aat_lib.preferences.map.SolidMapGrid
22-
import ch.bailu.aat_lib.preferences.map.overlay.SolidOverlayList
2321
import ch.bailu.aat_lib.resources.Res
2422

2523
class InformationBarLayer(
26-
private val appContext: AppContext,
24+
appContext: AppContext,
2725
private val context: Context,
2826
private val mcontext: MapContext,
2927
dispatcher: DispatcherInterface
@@ -35,7 +33,6 @@ class InformationBarLayer(
3533
private val map = bar.addImageButton(R.drawable.open_menu)
3634
private val search = bar.addImageButton(R.drawable.edit_find)
3735
private val location = bar.addImageButton(R.drawable.find_location)
38-
private val overlays = bar.addImageButton(R.drawable.view_paged)
3936
private val selector = NodeViewLayer(appContext, context, mcontext)
4037
private val reverseController = NominatimReverseController(appContext, mcontext.getMapView())
4138

@@ -49,7 +46,6 @@ class InformationBarLayer(
4946
ToolTip.set(grid, Res.str().tt_info_grid())
5047
ToolTip.set(legend, Res.str().tt_info_legend())
5148
ToolTip.set(location, Res.str().tt_info_location())
52-
ToolTip.set(overlays, Res.str().p_overlay())
5349

5450
dispatcher.addTarget(selector, InfoID.ALL)
5551
reverseController.addToDispatcher(dispatcher)
@@ -63,8 +59,6 @@ class InformationBarLayer(
6359
MapQueryMenu(context, mcontext).showAsPopup(v.getContext(), v)
6460
} else if (v === location) {
6561
LocationMenu(context, mcontext.getMapView(), reverseController).showAsPopup(v.getContext(), location)
66-
} else if (v === overlays) {
67-
SolidCheckListDialog(context, SolidOverlayList.createMapOverlayList(appContext))
6862
}
6963
}
7064

aat-android/src/main/kotlin/ch/bailu/aat/map/layer/NavigationBarLayer.kt

Lines changed: 19 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,8 @@ import ch.bailu.aat.util.ui.AppLayout
1212
import ch.bailu.aat.util.ui.theme.AppTheme
1313
import ch.bailu.aat.util.ui.tooltip.ToolTip
1414
import ch.bailu.aat.views.bar.ControlBar
15+
import ch.bailu.aat.views.preferences.dialog.SolidCheckListDialog
16+
import ch.bailu.aat_lib.app.AppContext
1517
import ch.bailu.aat_lib.dispatcher.DispatcherInterface
1618
import ch.bailu.aat_lib.dispatcher.TargetInterface
1719
import ch.bailu.aat_lib.dispatcher.usage.UsageTrackerAlwaysEnabled
@@ -21,29 +23,33 @@ import ch.bailu.aat_lib.map.MapContext
2123
import ch.bailu.aat_lib.map.edge.Position
2224
import ch.bailu.aat_lib.map.layer.BoundingCycler
2325
import 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

Comments
 (0)