From be517f56a51abd689281c139c560dc686a0e9ef9 Mon Sep 17 00:00:00 2001 From: n0tst3v3 Date: Wed, 19 Aug 2026 09:30:45 -0600 Subject: [PATCH] fix(map): bring back the compact filter button and floating layers control MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit The split carried over the wrong versions of two bits of chrome. The filter toggle had become a full-width grey TextView bar, 48dp of "Map Filters ▼" sitting above the map. Restored to what it was: a small "☰ Filters" button on a wrap-content row. The Leaflet layers control was being created with collapsed:false, which pins the whole Streets/Satellite list open as a box over the map. collapsed:true is what renders it as the floating corner button that opens on tap. Its 13px font rule came back with it. Co-Authored-By: Claude Opus 5 --- .../com/wytehat/btlogger/MapActivity.java | 73 ++++++++++--------- .../com/wytehat/btlogger/MapHtmlBuilder.java | 6 +- 2 files changed, 45 insertions(+), 34 deletions(-) diff --git a/app/src/main/java/com/wytehat/btlogger/MapActivity.java b/app/src/main/java/com/wytehat/btlogger/MapActivity.java index 0bbf5a4..3fce641 100644 --- a/app/src/main/java/com/wytehat/btlogger/MapActivity.java +++ b/app/src/main/java/com/wytehat/btlogger/MapActivity.java @@ -32,7 +32,7 @@ private boolean mapReady; private LinearLayout filterPanel; private ScrollView filterScroll; -private TextView filterHeader; +private Button filterButton; private boolean filtersExpanded = false; private Spinner deviceSpinner; @@ -171,38 +171,49 @@ protected void onCreate(Bundle state) { ) ); - filterHeader = - new TextView(this); + /* + * Compact filter button -- a small button that sits on its own row, + * not a full-width grey bar eating 48dp above the map. + */ + LinearLayout filterHeaderRow = + new LinearLayout(this); - filterHeader.setText( - "Map Filters ▼" - ); + filterHeaderRow.setOrientation( + LinearLayout.HORIZONTAL + ); - filterHeader.setTextSize(16); - filterHeader.setTextColor(Color.DKGRAY); + filterHeaderRow.setGravity( + Gravity.CENTER_VERTICAL + ); - filterHeader.setGravity( - Gravity.CENTER_VERTICAL - ); + filterHeaderRow.setPadding( + dp(8), + dp(2), + dp(8), + dp(2) + ); - filterHeader.setPadding( - dp(14), - dp(10), - dp(14), - dp(10) - ); + filterButton = + new Button(this); - filterHeader.setBackgroundColor( - Color.rgb(238, 238, 238) - ); + filterButton.setText("☰ Filters"); + filterButton.setTextSize(13); - root.addView( - filterHeader, - new LinearLayout.LayoutParams( - LinearLayout.LayoutParams.MATCH_PARENT, - dp(48) - ) - ); + filterHeaderRow.addView( + filterButton, + new LinearLayout.LayoutParams( + LinearLayout.LayoutParams.WRAP_CONTENT, + LinearLayout.LayoutParams.WRAP_CONTENT + ) + ); + + root.addView( + filterHeaderRow, + new LinearLayout.LayoutParams( + LinearLayout.LayoutParams.MATCH_PARENT, + LinearLayout.LayoutParams.WRAP_CONTENT + ) + ); filterPanel = new LinearLayout(this); @@ -255,7 +266,7 @@ protected void onCreate(Bundle state) { ) ); - filterHeader.setOnClickListener( + filterButton.setOnClickListener( new View.OnClickListener() { @Override public void onClick(View view) { @@ -1066,11 +1077,7 @@ private void setFiltersExpanded( : View.GONE ); - filterHeader.setText( - expanded - ? "Map Filters ▲" - : "Map Filters ▼" - ); + filterButton.setText("☰ Filters"); } private TextView filterLabel( diff --git a/app/src/main/java/com/wytehat/btlogger/MapHtmlBuilder.java b/app/src/main/java/com/wytehat/btlogger/MapHtmlBuilder.java index e81cbfa..625cb75 100644 --- a/app/src/main/java/com/wytehat/btlogger/MapHtmlBuilder.java +++ b/app/src/main/java/com/wytehat/btlogger/MapHtmlBuilder.java @@ -549,6 +549,7 @@ public final class MapHtmlBuilder { + "