From dbb27a9531485b553e180489b2d2d94f8abd556f Mon Sep 17 00:00:00 2001 From: Alexander Borsuk Date: Thu, 1 Jun 2023 00:39:15 +0200 Subject: [PATCH] [android] Properly display snackbars above their long-tapped controls Signed-off-by: Alexander Borsuk --- android/src/app/organicmaps/MwmActivity.java | 2 +- .../app/organicmaps/widget/placepage/PlacePageUtils.java | 7 +++---- .../app/organicmaps/widget/placepage/PlacePageView.java | 2 +- .../placepage/sections/PlacePageBookmarkFragment.java | 3 +-- .../widget/placepage/sections/PlacePageLinksFragment.java | 2 +- .../widget/placepage/sections/PlacePhoneAdapter.java | 2 +- 6 files changed, 8 insertions(+), 10 deletions(-) diff --git a/android/src/app/organicmaps/MwmActivity.java b/android/src/app/organicmaps/MwmActivity.java index 0c6f2993b6..0702c5a4cb 100644 --- a/android/src/app/organicmaps/MwmActivity.java +++ b/android/src/app/organicmaps/MwmActivity.java @@ -1686,7 +1686,7 @@ public class MwmActivity extends BaseMwmFragmentActivity @Override public void onBookmarksFileLoaded(boolean success) { - Utils.showSnackbar(this, findViewById(R.id.coordinator), null, + Utils.showSnackbar(this, findViewById(R.id.coordinator), success ? R.string.load_kmz_successful : R.string.load_kmz_failed); } diff --git a/android/src/app/organicmaps/widget/placepage/PlacePageUtils.java b/android/src/app/organicmaps/widget/placepage/PlacePageUtils.java index 2375a3db53..7f6b2e42f3 100644 --- a/android/src/app/organicmaps/widget/placepage/PlacePageUtils.java +++ b/android/src/app/organicmaps/widget/placepage/PlacePageUtils.java @@ -79,12 +79,11 @@ public class PlacePageUtils public static void copyToClipboard(Context context, View frame, String text) { Utils.copyTextToClipboard(context, text); - Utils.showSnackbarAbove(frame, - frame.getRootView().findViewById(R.id.pp_buttons_layout), + Utils.showSnackbarAbove(frame.getRootView().findViewById(R.id.pp_buttons_layout), frame, context.getString(R.string.copied_to_clipboard, text)); } - public static void showCopyPopup(Context context, View popupAnchor, View frame, List items) + public static void showCopyPopup(Context context, View popupAnchor, List items) { final PopupMenu popup = new PopupMenu(context, popupAnchor); final Menu menu = popup.getMenu(); @@ -95,7 +94,7 @@ public class PlacePageUtils popup.setOnMenuItemClickListener(item -> { final String text = items.get(item.getItemId()); - copyToClipboard(context, frame, text); + copyToClipboard(context, popupAnchor, text); return true; }); popup.show(); diff --git a/android/src/app/organicmaps/widget/placepage/PlacePageView.java b/android/src/app/organicmaps/widget/placepage/PlacePageView.java index 7f57fa90fc..b35038f151 100644 --- a/android/src/app/organicmaps/widget/placepage/PlacePageView.java +++ b/android/src/app/organicmaps/widget/placepage/PlacePageView.java @@ -543,7 +543,7 @@ public class PlacePageView extends Fragment implements View.OnClickListener, if (items.size() == 1) PlacePageUtils.copyToClipboard(context, mFrame, items.get(0)); else - PlacePageUtils.showCopyPopup(context, v, mFrame, items); + PlacePageUtils.showCopyPopup(context, v, items); return true; } diff --git a/android/src/app/organicmaps/widget/placepage/sections/PlacePageBookmarkFragment.java b/android/src/app/organicmaps/widget/placepage/sections/PlacePageBookmarkFragment.java index db15d99893..4ef19042cd 100644 --- a/android/src/app/organicmaps/widget/placepage/sections/PlacePageBookmarkFragment.java +++ b/android/src/app/organicmaps/widget/placepage/sections/PlacePageBookmarkFragment.java @@ -136,8 +136,7 @@ public class PlacePageBookmarkFragment extends Fragment implements View.OnClickL final Context ctx = requireContext(); Utils.copyTextToClipboard(ctx, notes); - Utils.showSnackbarAbove(mFrame, - mFrame.getRootView().findViewById(R.id.pp_buttons_layout), + Utils.showSnackbarAbove(mFrame.getRootView().findViewById(R.id.pp_buttons_layout), mFrame, ctx.getString(R.string.copied_to_clipboard, notes)); return true; } diff --git a/android/src/app/organicmaps/widget/placepage/sections/PlacePageLinksFragment.java b/android/src/app/organicmaps/widget/placepage/sections/PlacePageLinksFragment.java index f552832bd6..fd031cf277 100644 --- a/android/src/app/organicmaps/widget/placepage/sections/PlacePageLinksFragment.java +++ b/android/src/app/organicmaps/widget/placepage/sections/PlacePageLinksFragment.java @@ -185,7 +185,7 @@ public class PlacePageLinksFragment extends Fragment implements Observer