diff --git a/android/app/src/main/java/app/organicmaps/bookmarks/data/Metadata.java b/android/app/src/main/java/app/organicmaps/bookmarks/data/Metadata.java index c79e25f7ac..e1a612f5d7 100644 --- a/android/app/src/main/java/app/organicmaps/bookmarks/data/Metadata.java +++ b/android/app/src/main/java/app/organicmaps/bookmarks/data/Metadata.java @@ -64,7 +64,8 @@ public class Metadata implements Parcelable FMD_WHEELCHAIR(43), FMD_LOCAL_REF(44), FMD_DRIVE_THROUGH(45), - FMD_WEBSITE_MENU(46); + FMD_WEBSITE_MENU(46), + FMD_SELF_SERVICE(47); private final int mMetaType; MetadataType(int metadataType) diff --git a/android/app/src/main/java/app/organicmaps/util/Utils.java b/android/app/src/main/java/app/organicmaps/util/Utils.java index 3b4a58068d..d0698d1b2a 100644 --- a/android/app/src/main/java/app/organicmaps/util/Utils.java +++ b/android/app/src/main/java/app/organicmaps/util/Utils.java @@ -629,6 +629,17 @@ public class Utils return getStringValueByKey(context, key); } + @Keep + @SuppressWarnings("unused") + @NonNull + public static String getTagValueLocalized(@NonNull Context context, @Nullable String tagKey, @Nullable String value) + { + if (TextUtils.isEmpty(tagKey) || TextUtils.isEmpty(value)) + return ""; + + return getLocalizedFeatureType(context, tagKey + "-" + value); + } + // Called from JNI. @Keep @SuppressWarnings("unused") diff --git a/android/app/src/main/java/app/organicmaps/widget/placepage/PlacePageView.java b/android/app/src/main/java/app/organicmaps/widget/placepage/PlacePageView.java index 67ae7d51e8..13089df2c0 100644 --- a/android/app/src/main/java/app/organicmaps/widget/placepage/PlacePageView.java +++ b/android/app/src/main/java/app/organicmaps/widget/placepage/PlacePageView.java @@ -106,6 +106,8 @@ public class PlacePageView extends Fragment implements View.OnClickListener, private TextView mTvWheelchair; private View mDriveThrough; private TextView mTvDriveThrough; + private View mSelfService; + private TextView mTvSelfService; private View mCuisine; private TextView mTvCuisine; private View mEntrance; @@ -248,6 +250,8 @@ public class PlacePageView extends Fragment implements View.OnClickListener, mTvWheelchair = mFrame.findViewById(R.id.tv__place_wheelchair); mDriveThrough = mFrame.findViewById(R.id.ll__place_drive_through); mTvDriveThrough = mFrame.findViewById(R.id.tv__place_drive_through); + mSelfService = mFrame.findViewById(R.id.ll__place_self_service); + mTvSelfService = mFrame.findViewById(R.id.tv__place_self_service); mCuisine = mFrame.findViewById(R.id.ll__place_cuisine); mTvCuisine = mFrame.findViewById(R.id.tv__place_cuisine); mEntrance = mFrame.findViewById(R.id.ll__place_entrance); @@ -267,6 +271,7 @@ public class PlacePageView extends Fragment implements View.OnClickListener, mCapacity.setOnLongClickListener(this); mWheelchair.setOnLongClickListener(this); mDriveThrough.setOnLongClickListener(this); + mSelfService.setOnLongClickListener(this); mDownloaderIcon = new DownloaderStatusIcon(mPreview.findViewById(R.id.downloader_status_frame)); @@ -422,6 +427,9 @@ public class PlacePageView extends Fragment implements View.OnClickListener, refreshMetadataOrHide(getString(R.string.drive_through), mDriveThrough, mTvDriveThrough); } + final String selfService = mMapObject.getMetadata(Metadata.MetadataType.FMD_SELF_SERVICE); + refreshMetadataOrHide(Utils.getTagValueLocalized(getContext(), "self_service", selfService), mSelfService, mTvSelfService); + // showTaxiOffer(mapObject); if (RoutingController.get().isNavigating() || RoutingController.get().isPlanning()) diff --git a/android/app/src/main/res/drawable/ic_self_service.xml b/android/app/src/main/res/drawable/ic_self_service.xml new file mode 100644 index 0000000000..04ee644cd8 --- /dev/null +++ b/android/app/src/main/res/drawable/ic_self_service.xml @@ -0,0 +1,11 @@ + + + diff --git a/android/app/src/main/res/layout/place_page_details.xml b/android/app/src/main/res/layout/place_page_details.xml index 3b6ba48746..8534820c9b 100644 --- a/android/app/src/main/res/layout/place_page_details.xml +++ b/android/app/src/main/res/layout/place_page_details.xml @@ -65,6 +65,8 @@ + + diff --git a/android/app/src/main/res/layout/place_page_self_service.xml b/android/app/src/main/res/layout/place_page_self_service.xml new file mode 100644 index 0000000000..f144e2f170 --- /dev/null +++ b/android/app/src/main/res/layout/place_page_self_service.xml @@ -0,0 +1,21 @@ + + + + + + + \ No newline at end of file