[android] fix enabling and visibility of the Edit and App buttons on the PP

Signed-off-by: Kiryl Kaveryn <kirylkaveryn@gmail.com>
This commit is contained in:
Kiryl Kaveryn 2024-07-24 17:19:38 +04:00 committed by Roman Tsisyk
parent 2a3fc64a00
commit b05cc564c6
3 changed files with 16 additions and 4 deletions

View file

@ -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<jboolean>(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<jboolean>(false);
return g_framework->GetPlacePageInfo().ShouldEnableAddPlace();
}
JNIEXPORT jintArray JNICALL

View file

@ -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();

View file

@ -431,8 +431,9 @@ 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());
UiUtils.showIf(UiUtils.isVisible(mEditPlace)
|| UiUtils.isVisible(mAddOrganisation)
|| UiUtils.isVisible(mAddPlace), mEditTopSpace);