diff --git a/android/app/src/main/cpp/app/organicmaps/editor/Editor.cpp b/android/app/src/main/cpp/app/organicmaps/editor/Editor.cpp index 50cff911bf..b126499ecb 100644 --- a/android/app/src/main/cpp/app/organicmaps/editor/Editor.cpp +++ b/android/app/src/main/cpp/app/organicmaps/editor/Editor.cpp @@ -188,13 +188,23 @@ Java_app_organicmaps_editor_Editor_nativeShouldShowAddPlace(JNIEnv *, jclass) } JNIEXPORT jboolean JNICALL -Java_app_organicmaps_editor_Editor_nativeShouldShowAddBusiness(JNIEnv *, jclass) +Java_app_organicmaps_editor_Editor_nativeShouldEnableEditPlace(JNIEnv *, jclass) { ::Framework * frm = g_framework->NativeFramework(); if (!frm->HasPlacePageInfo()) return static_cast(false); - return g_framework->GetPlacePageInfo().ShouldShowAddBusiness(); + return g_framework->GetPlacePageInfo().ShouldEnableEditPlace(); +} + +JNIEXPORT jboolean JNICALL +Java_app_organicmaps_editor_Editor_nativeShouldEnableAddPlace(JNIEnv *, jclass) +{ + ::Framework * frm = g_framework->NativeFramework(); + if (!frm->HasPlacePageInfo()) + return static_cast(false); + + return g_framework->GetPlacePageInfo().ShouldEnableAddPlace(); } JNIEXPORT jintArray JNICALL diff --git a/android/app/src/main/java/app/organicmaps/editor/Editor.java b/android/app/src/main/java/app/organicmaps/editor/Editor.java index 827d98af5a..4e359bb1aa 100644 --- a/android/app/src/main/java/app/organicmaps/editor/Editor.java +++ b/android/app/src/main/java/app/organicmaps/editor/Editor.java @@ -55,7 +55,8 @@ public final class Editor public static native boolean nativeShouldShowEditPlace(); public static native boolean nativeShouldShowAddPlace(); - public static native boolean nativeShouldShowAddBusiness(); + public static native boolean nativeShouldEnableEditPlace(); + public static native boolean nativeShouldEnableAddPlace(); @NonNull public static native int[] nativeGetEditableProperties(); 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 c4a5dcec67..9ff6318d50 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 @@ -450,8 +450,13 @@ public class PlacePageView extends Fragment implements View.OnClickListener, else { UiUtils.showIf(Editor.nativeShouldShowEditPlace(), mEditPlace); - UiUtils.showIf(Editor.nativeShouldShowAddBusiness(), mAddOrganisation); UiUtils.showIf(Editor.nativeShouldShowAddPlace(), mAddPlace); + mEditPlace.setEnabled(Editor.nativeShouldEnableEditPlace()); + mAddPlace.setEnabled(Editor.nativeShouldEnableAddPlace()); + TextView mTvEditPlace = mEditPlace.findViewById(R.id.tv__editor); + TextView mTvAddPlace = mAddPlace.findViewById(R.id.tv__editor); + mTvEditPlace.setTextColor(Editor.nativeShouldEnableEditPlace() ? getResources().getColor(R.color.base_accent) : getResources().getColor(R.color.button_accent_text_disabled)); + mTvAddPlace.setTextColor(Editor.nativeShouldEnableEditPlace() ? getResources().getColor(R.color.base_accent) : getResources().getColor(R.color.button_accent_text_disabled)); UiUtils.showIf(UiUtils.isVisible(mEditPlace) || UiUtils.isVisible(mAddOrganisation) || UiUtils.isVisible(mAddPlace), mEditTopSpace);