diff --git a/android/src/app/organicmaps/bookmarks/BookmarkCategorySettingsFragment.java b/android/src/app/organicmaps/bookmarks/BookmarkCategorySettingsFragment.java index f710b2e0ae..d66f00cd53 100644 --- a/android/src/app/organicmaps/bookmarks/BookmarkCategorySettingsFragment.java +++ b/android/src/app/organicmaps/bookmarks/BookmarkCategorySettingsFragment.java @@ -19,6 +19,7 @@ import app.organicmaps.R; import app.organicmaps.base.BaseMwmToolbarFragment; import app.organicmaps.bookmarks.data.BookmarkCategory; import app.organicmaps.bookmarks.data.BookmarkManager; +import app.organicmaps.util.Utils; import java.util.Objects; @@ -42,10 +43,10 @@ public class BookmarkCategorySettingsFragment extends BaseMwmToolbarFragment public void onCreate(@Nullable Bundle savedInstanceState) { super.onCreate(savedInstanceState); - Bundle args = getArguments(); + final Bundle args = getArguments(); if (args == null) - throw new IllegalArgumentException("Args must be not null"); - mCategory = Objects.requireNonNull(args.getParcelable(BookmarkCategorySettingsActivity.EXTRA_BOOKMARK_CATEGORY)); + throw new IllegalArgumentException("Args must not be null"); + mCategory = Objects.requireNonNull(Utils.getParcelable(args, BookmarkCategorySettingsActivity.EXTRA_BOOKMARK_CATEGORY, BookmarkCategory.class)); } @Nullable diff --git a/android/src/app/organicmaps/bookmarks/BookmarksListFragment.java b/android/src/app/organicmaps/bookmarks/BookmarksListFragment.java index 5403fa9121..158bf9f642 100644 --- a/android/src/app/organicmaps/bookmarks/BookmarksListFragment.java +++ b/android/src/app/organicmaps/bookmarks/BookmarksListFragment.java @@ -42,6 +42,7 @@ import app.organicmaps.widget.recycler.DividerItemDecorationWithPadding; import app.organicmaps.util.CrashlyticsUtils; import app.organicmaps.util.SharingUtils; import app.organicmaps.util.UiUtils; +import app.organicmaps.util.Utils; import app.organicmaps.util.bottomsheet.MenuBottomSheetFragment; import app.organicmaps.util.bottomsheet.MenuBottomSheetItem; @@ -112,7 +113,7 @@ public class BookmarksListFragment extends BaseMwmRecyclerFragment T getParcelable(Bundle args, String key, Class clazz) + { + args.setClassLoader(clazz.getClassLoader()); + if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.TIRAMISU) + return args.getParcelable(key, clazz); + return getParcelableOld(args, key); + } + + @SuppressWarnings({"deprecation", "unchecked"}) + @Nullable + private static T getParcelableOld(Bundle args, String key) + { + return (T) args.getParcelable(key); + } } diff --git a/android/src/app/organicmaps/widget/placepage/DirectionFragment.java b/android/src/app/organicmaps/widget/placepage/DirectionFragment.java index 9336239690..98c9cbf53f 100644 --- a/android/src/app/organicmaps/widget/placepage/DirectionFragment.java +++ b/android/src/app/organicmaps/widget/placepage/DirectionFragment.java @@ -19,6 +19,7 @@ import app.organicmaps.location.LocationHelper; import app.organicmaps.location.LocationListener; import app.organicmaps.widget.ArrowView; import app.organicmaps.util.UiUtils; +import app.organicmaps.util.Utils; public class DirectionFragment extends BaseMwmDialogFragment implements LocationListener @@ -48,7 +49,7 @@ public class DirectionFragment extends BaseMwmDialogFragment }); initViews(root); if (savedInstanceState != null) - setMapObject(savedInstanceState.getParcelable(EXTRA_MAP_OBJECT)); + setMapObject(Utils.getParcelable(savedInstanceState, EXTRA_MAP_OBJECT, MapObject.class)); return root; } diff --git a/android/src/app/organicmaps/widget/placepage/ElevationProfileViewRenderer.java b/android/src/app/organicmaps/widget/placepage/ElevationProfileViewRenderer.java index 6cf329f205..9c6dae8799 100644 --- a/android/src/app/organicmaps/widget/placepage/ElevationProfileViewRenderer.java +++ b/android/src/app/organicmaps/widget/placepage/ElevationProfileViewRenderer.java @@ -15,6 +15,7 @@ import app.organicmaps.R; import app.organicmaps.bookmarks.data.ElevationInfo; import app.organicmaps.routing.RoutingController; import app.organicmaps.util.UiUtils; +import app.organicmaps.util.Utils; import java.util.Objects; @@ -140,7 +141,7 @@ public class ElevationProfileViewRenderer implements PlacePageViewRenderer