From c3d8f948ce16486680acd5c1717ee991400804bd Mon Sep 17 00:00:00 2001 From: Jean-Baptiste Date: Fri, 22 Aug 2025 20:16:49 +0200 Subject: [PATCH] [android] Migrate NavMenu to Material components Signed-off-by: jeanbaptisteC --- .../src/main/java/app/organicmaps/util/UiUtils.java | 8 -------- .../java/app/organicmaps/widget/menu/NavMenu.java | 11 +++++------ android/app/src/main/res/drawable/button_red.xml | 10 ---------- .../src/main/res/drawable/button_red_disabled.xml | 6 ------ .../app/src/main/res/drawable/button_red_normal.xml | 6 ------ .../app/src/main/res/drawable/button_red_pressed.xml | 6 ------ .../app/src/main/res/layout/layout_nav_bottom.xml | 12 ++++++------ android/app/src/main/res/values-night/themes.xml | 4 ---- android/app/src/main/res/values/colors.xml | 6 +----- android/app/src/main/res/values/dimens.xml | 2 +- android/app/src/main/res/values/themes-attrs.xml | 3 --- android/app/src/main/res/values/themes.xml | 4 ---- 12 files changed, 13 insertions(+), 65 deletions(-) delete mode 100644 android/app/src/main/res/drawable/button_red.xml delete mode 100644 android/app/src/main/res/drawable/button_red_disabled.xml delete mode 100644 android/app/src/main/res/drawable/button_red_normal.xml delete mode 100644 android/app/src/main/res/drawable/button_red_pressed.xml diff --git a/android/app/src/main/java/app/organicmaps/util/UiUtils.java b/android/app/src/main/java/app/organicmaps/util/UiUtils.java index 50c57194a..762973c37 100644 --- a/android/app/src/main/java/app/organicmaps/util/UiUtils.java +++ b/android/app/src/main/java/app/organicmaps/util/UiUtils.java @@ -16,7 +16,6 @@ import android.view.ViewGroup; import android.view.ViewTreeObserver; import android.view.Window; import android.view.WindowManager; -import android.widget.Button; import android.widget.TextView; import androidx.activity.result.ActivityResultLauncher; import androidx.annotation.AnyRes; @@ -208,13 +207,6 @@ public final class UiUtils windowManager.getDefaultDisplay().getRealMetrics(metrics); return metrics.heightPixels; } - - public static void updateRedButton(Button button) - { - button.setTextColor(ThemeUtils.getColor( - button.getContext(), button.isEnabled() ? R.attr.redButtonTextColor : R.attr.redButtonTextColorDisabled)); - } - public static void setInputError(@NonNull TextInputLayout layout, @StringRes int error) { setInputError(layout, error == 0 ? null : layout.getContext().getString(error)); diff --git a/android/app/src/main/java/app/organicmaps/widget/menu/NavMenu.java b/android/app/src/main/java/app/organicmaps/widget/menu/NavMenu.java index d876d2628..ac0fff620 100644 --- a/android/app/src/main/java/app/organicmaps/widget/menu/NavMenu.java +++ b/android/app/src/main/java/app/organicmaps/widget/menu/NavMenu.java @@ -3,8 +3,6 @@ package app.organicmaps.widget.menu; import android.location.Location; import android.util.Pair; import android.view.View; -import android.widget.Button; -import android.widget.ImageView; import androidx.annotation.NonNull; import androidx.appcompat.app.AppCompatActivity; import androidx.core.content.ContextCompat; @@ -17,6 +15,8 @@ import app.organicmaps.util.Graphics; import app.organicmaps.util.ThemeUtils; import app.organicmaps.util.UiUtils; import com.google.android.material.bottomsheet.BottomSheetBehavior; +import com.google.android.material.button.MaterialButton; +import com.google.android.material.imageview.ShapeableImageView; import com.google.android.material.progressindicator.LinearProgressIndicator; import com.google.android.material.textview.MaterialTextView; import java.time.LocalTime; @@ -29,7 +29,7 @@ public class NavMenu private final View mBottomSheetBackground; private final View mHeaderFrame; - private final ImageView mTts; + private final ShapeableImageView mTts; private final View mSpeedViewContainer; private final MaterialTextView mSpeedValue; private final MaterialTextView mSpeedUnits; @@ -105,13 +105,12 @@ public class NavMenu mRouteProgress = bottomFrame.findViewById(R.id.navigation_progress); // Bottom frame buttons - ImageView mSettings = bottomFrame.findViewById(R.id.settings); + ShapeableImageView mSettings = bottomFrame.findViewById(R.id.settings); mSettings.setOnClickListener(v -> onSettingsClicked()); mTts = bottomFrame.findViewById(R.id.tts_volume); mTts.setOnClickListener(v -> onTtsClicked()); - Button stop = bottomFrame.findViewById(R.id.stop); + MaterialButton stop = bottomFrame.findViewById(R.id.stop); stop.setOnClickListener(v -> onStopClicked()); - UiUtils.updateRedButton(stop); } private void onStopClicked() diff --git a/android/app/src/main/res/drawable/button_red.xml b/android/app/src/main/res/drawable/button_red.xml deleted file mode 100644 index f8132991f..000000000 --- a/android/app/src/main/res/drawable/button_red.xml +++ /dev/null @@ -1,10 +0,0 @@ - - - - - - - - - \ No newline at end of file diff --git a/android/app/src/main/res/drawable/button_red_disabled.xml b/android/app/src/main/res/drawable/button_red_disabled.xml deleted file mode 100644 index 62a50d357..000000000 --- a/android/app/src/main/res/drawable/button_red_disabled.xml +++ /dev/null @@ -1,6 +0,0 @@ - - - - - \ No newline at end of file diff --git a/android/app/src/main/res/drawable/button_red_normal.xml b/android/app/src/main/res/drawable/button_red_normal.xml deleted file mode 100644 index 9657730b0..000000000 --- a/android/app/src/main/res/drawable/button_red_normal.xml +++ /dev/null @@ -1,6 +0,0 @@ - - - - - \ No newline at end of file diff --git a/android/app/src/main/res/drawable/button_red_pressed.xml b/android/app/src/main/res/drawable/button_red_pressed.xml deleted file mode 100644 index 2015701bf..000000000 --- a/android/app/src/main/res/drawable/button_red_pressed.xml +++ /dev/null @@ -1,6 +0,0 @@ - - - - - \ No newline at end of file diff --git a/android/app/src/main/res/layout/layout_nav_bottom.xml b/android/app/src/main/res/layout/layout_nav_bottom.xml index 13886a3f7..652b01e16 100644 --- a/android/app/src/main/res/layout/layout_nav_bottom.xml +++ b/android/app/src/main/res/layout/layout_nav_bottom.xml @@ -43,7 +43,7 @@ android:paddingEnd="@dimen/nav_bottom_gap" tools:background="#300000FF"> - - -