diff --git a/android/app/src/main/java/app/organicmaps/widget/placepage/PlacePageUtils.java b/android/app/src/main/java/app/organicmaps/widget/placepage/PlacePageUtils.java index 4993c1cfeb..4f45e8c74f 100644 --- a/android/app/src/main/java/app/organicmaps/widget/placepage/PlacePageUtils.java +++ b/android/app/src/main/java/app/organicmaps/widget/placepage/PlacePageUtils.java @@ -1,5 +1,6 @@ package app.organicmaps.widget.placepage; +import android.app.KeyguardManager; import android.content.Context; import android.os.Build; import android.view.Menu; @@ -72,7 +73,10 @@ public class PlacePageUtils public static void copyToClipboard(Context context, View frame, String text) { Utils.copyTextToClipboard(context, text); - if (Build.VERSION.SDK_INT < Build.VERSION_CODES.TIRAMISU) + + KeyguardManager keyguardManager = (KeyguardManager) context.getSystemService(Context.KEYGUARD_SERVICE); + // Starting from API 33, the automatic system control that shows copied text is displayed. + if (Build.VERSION.SDK_INT < Build.VERSION_CODES.TIRAMISU || keyguardManager.isDeviceLocked()) { Utils.showSnackbarAbove(frame.getRootView().findViewById(R.id.pp_buttons_layout), frame, context.getString(R.string.copied_to_clipboard, text)); diff --git a/android/app/src/main/java/app/organicmaps/widget/placepage/sections/PlacePageBookmarkFragment.java b/android/app/src/main/java/app/organicmaps/widget/placepage/sections/PlacePageBookmarkFragment.java index 0398494ed1..6fc56b93f8 100644 --- a/android/app/src/main/java/app/organicmaps/widget/placepage/sections/PlacePageBookmarkFragment.java +++ b/android/app/src/main/java/app/organicmaps/widget/placepage/sections/PlacePageBookmarkFragment.java @@ -1,5 +1,6 @@ package app.organicmaps.widget.placepage.sections; +import android.app.KeyguardManager; import android.content.Context; import android.os.Build; import android.os.Bundle; @@ -137,7 +138,9 @@ public class PlacePageBookmarkFragment extends Fragment implements View.OnClickL final Context ctx = requireContext(); Utils.copyTextToClipboard(ctx, notes); - if (Build.VERSION.SDK_INT < Build.VERSION_CODES.TIRAMISU) + + KeyguardManager keyguardManager = (KeyguardManager) ctx.getSystemService(Context.KEYGUARD_SERVICE); + if (Build.VERSION.SDK_INT < Build.VERSION_CODES.TIRAMISU || keyguardManager.isDeviceLocked()) { Utils.showSnackbarAbove(mFrame.getRootView().findViewById(R.id.pp_buttons_layout), mFrame, ctx.getString(R.string.copied_to_clipboard, notes)); diff --git a/android/app/src/main/java/app/organicmaps/widget/placepage/sections/PlacePhoneAdapter.java b/android/app/src/main/java/app/organicmaps/widget/placepage/sections/PlacePhoneAdapter.java index 82a33a5c31..2f2a4a633c 100644 --- a/android/app/src/main/java/app/organicmaps/widget/placepage/sections/PlacePhoneAdapter.java +++ b/android/app/src/main/java/app/organicmaps/widget/placepage/sections/PlacePhoneAdapter.java @@ -1,5 +1,6 @@ package app.organicmaps.widget.placepage.sections; +import android.app.KeyguardManager; import android.content.Context; import android.os.Build; import android.text.TextUtils; @@ -88,7 +89,9 @@ public class PlacePhoneAdapter extends RecyclerView.Adapter