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