[android] Add UI for avoiding steps

Signed-off-by: x7z4w <x7z4w@noreply.codeberg.org>
This commit is contained in:
x7z4w
2025-09-20 13:04:39 +00:00
committed by jeanbaptisteC
parent fceb6e0b8a
commit dd3b6faa42
5 changed files with 32 additions and 2 deletions

View File

@@ -31,7 +31,8 @@ public class DrivingOptionsScreen extends BaseMapScreen
private final DrivingOption[] mDrivingOptions = {new DrivingOption(RoadType.Toll, R.string.avoid_tolls),
new DrivingOption(RoadType.Dirty, R.string.avoid_unpaved),
new DrivingOption(RoadType.Ferry, R.string.avoid_ferry),
new DrivingOption(RoadType.Motorway, R.string.avoid_motorways)};
new DrivingOption(RoadType.Motorway, R.string.avoid_motorways),
new DrivingOption(RoadType.Steps, R.string.avoid_steps)};
@NonNull
private final Map<RoadType, Boolean> mInitialDrivingOptionsState = new HashMap<>();

View File

@@ -107,6 +107,11 @@ public class DrivingOptionsFragment extends BaseMwmToolbarFragment
dirtyRoadsBtn.setChecked(RoutingOptions.hasOption(RoadType.Dirty));
CompoundButton.OnCheckedChangeListener dirtyBtnListener = new ToggleRoutingOptionListener(RoadType.Dirty);
dirtyRoadsBtn.setOnCheckedChangeListener(dirtyBtnListener);
SwitchCompat stepsBtn = root.findViewById(R.id.avoid_steps_btn);
stepsBtn.setChecked(RoutingOptions.hasOption(RoadType.Steps));
CompoundButton.OnCheckedChangeListener stepsBtnListener = new ToggleRoutingOptionListener(RoadType.Steps);
stepsBtn.setOnCheckedChangeListener(stepsBtnListener);
}
private static class ToggleRoutingOptionListener implements CompoundButton.OnCheckedChangeListener

View File

@@ -104,4 +104,26 @@
android:padding="@dimen/margin_half_double_plus"
android:layout_height="match_parent"/>
</LinearLayout>
<include layout="@layout/list_divider"/>
<LinearLayout
android:orientation="horizontal"
android:minHeight="@dimen/height_block_base"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:paddingEnd="@dimen/margin_base"
android:paddingStart="@dimen/margin_base">
<com.google.android.material.textview.MaterialTextView
android:text="@string/avoid_steps"
android:textAppearance="?android:attr/textAppearanceMedium"
android:layout_width="0dp"
android:layout_weight="1"
android:layout_gravity="center_vertical"
android:layout_height="wrap_content"
android:textColor="?android:attr/textColorPrimary"/>
<androidx.appcompat.widget.SwitchCompat
android:id="@+id/avoid_steps_btn"
android:layout_width="wrap_content"
android:padding="@dimen/margin_half_double_plus"
android:layout_height="match_parent"/>
</LinearLayout>
</LinearLayout>

View File

@@ -676,6 +676,7 @@
<!-- Recommended length for CarPlay and Android Auto is around 25-27 characters -->
<string name="avoid_ferry">Avoid ferries</string>
<string name="avoid_motorways">Avoid freeways</string>
<string name="avoid_steps">Avoid steps</string>
<string name="unable_to_calc_alert_title">Unable to calculate route</string>
<string name="unable_to_calc_alert_subtitle">A route could not be found. This may be caused by your routing options or incomplete OpenStreetMap data. Please change your routing options and retry.</string>
<string name="define_to_avoid_btn">Define roads to avoid</string>

View File

@@ -6,5 +6,6 @@ public enum RoadType
Toll,
Motorway,
Ferry,
Dirty
Dirty,
Steps
}