From 1d2d5079759ea1c37ad95c88ccfcfa2f8ac507c0 Mon Sep 17 00:00:00 2001 From: Alexander Marchuk Date: Wed, 9 Mar 2016 18:01:50 +0300 Subject: [PATCH] [new downloader][android] add: Show confirmation when trying to delete map with unsaved editor changes. --- .../jni/com/mapswithme/maps/MapManager.cpp | 15 ++++++++++ .../maps/downloader/DownloaderAdapter.java | 29 +++++++++++++++++-- .../maps/downloader/MapManager.java | 10 +++++++ 3 files changed, 52 insertions(+), 2 deletions(-) diff --git a/android/jni/com/mapswithme/maps/MapManager.cpp b/android/jni/com/mapswithme/maps/MapManager.cpp index c70118d475..36c4319b73 100644 --- a/android/jni/com/mapswithme/maps/MapManager.cpp +++ b/android/jni/com/mapswithme/maps/MapManager.cpp @@ -491,4 +491,19 @@ Java_com_mapswithme_maps_downloader_MapManager_nativeUnsubscribeOnCountryChanged g_countryChangedListener = nullptr; } +// static boolean nativeHasUnsavedEditorChanges(String root); +JNIEXPORT jboolean JNICALL +Java_com_mapswithme_maps_downloader_MapManager_nativeHasUnsavedEditorChanges(JNIEnv * env, jclass clazz, jstring root) +{ + return g_framework->NativeFramework()->HasUnsavedEdits(jni::ToNativeString(env, root)); +} + +// static void nativeDeleteUnsavedEditorChanges(String root); +JNIEXPORT void JNICALL +Java_com_mapswithme_maps_downloader_MapManager_nativeDeleteUnsavedEditorChanges(JNIEnv * env, jclass clazz, jstring root) +{ + // TODO (trashkalmar): Invoke proper method. + //g_framework->NativeFramework()->DeleteUnsavedEdits(jni::ToNativeString(env, root)); +} + } // extern "C" diff --git a/android/src/com/mapswithme/maps/downloader/DownloaderAdapter.java b/android/src/com/mapswithme/maps/downloader/DownloaderAdapter.java index bedcad0aae..2923c6df59 100644 --- a/android/src/com/mapswithme/maps/downloader/DownloaderAdapter.java +++ b/android/src/com/mapswithme/maps/downloader/DownloaderAdapter.java @@ -1,10 +1,12 @@ package com.mapswithme.maps.downloader; import android.app.Activity; +import android.content.DialogInterface; import android.graphics.drawable.Drawable; import android.support.annotation.DrawableRes; import android.support.annotation.Nullable; import android.support.annotation.StringRes; +import android.support.v7.app.AlertDialog; import android.support.v7.widget.LinearLayoutManager; import android.support.v7.widget.RecyclerView; import android.util.SparseArray; @@ -60,8 +62,7 @@ class DownloaderAdapter extends RecyclerView.Adapter