forked from organicmaps/organicmaps
Fixed Android after bookmarks refactoring.
This commit is contained in:
parent
a976fbb057
commit
689ca54a26
26 changed files with 551 additions and 480 deletions
|
@ -40,7 +40,6 @@ set(
|
|||
com/mapswithme/core/logging.cpp
|
||||
com/mapswithme/maps/bookmarks/data/Bookmark.cpp
|
||||
com/mapswithme/maps/bookmarks/data/BookmarkManager.cpp
|
||||
com/mapswithme/maps/bookmarks/data/BookmarkCategory.cpp
|
||||
com/mapswithme/maps/discovery/DiscoveryManager.cpp
|
||||
com/mapswithme/maps/discovery/Locals.cpp
|
||||
com/mapswithme/maps/DisplayedCategories.cpp
|
||||
|
|
|
@ -1,7 +1,6 @@
|
|||
#include "com/mapswithme/maps/Framework.hpp"
|
||||
#include "com/mapswithme/core/jni_helper.hpp"
|
||||
#include "com/mapswithme/maps/UserMarkHelper.hpp"
|
||||
#include "com/mapswithme/maps/bookmarks/data/BookmarkManager.hpp"
|
||||
#include "com/mapswithme/opengl/androidoglcontextfactory.hpp"
|
||||
#include "com/mapswithme/platform/Platform.hpp"
|
||||
#include "com/mapswithme/util/NetworkPolicy.hpp"
|
||||
|
@ -375,12 +374,12 @@ void Framework::RemoveLocalMaps()
|
|||
|
||||
void Framework::ReplaceBookmark(df::MarkID markId, BookmarkData & bm)
|
||||
{
|
||||
m_work.ReplaceBookmark(markId, ind.m_bookmarkIndex, bm);
|
||||
m_work.GetBookmarkManager().GetEditSession().UpdateBookmark(markId, bm);
|
||||
}
|
||||
|
||||
size_t Framework::ChangeBookmarkCategory(df::MarkID markId, df::MarkGroupID newCat)
|
||||
void Framework::MoveBookmark(df::MarkID markId, df::MarkGroupID curCat, df::MarkGroupID newCat)
|
||||
{
|
||||
return m_work.MoveBookmark(markId, newCat);
|
||||
m_work.GetBookmarkManager().GetEditSession().MoveBookmark(markId, curCat, newCat);
|
||||
}
|
||||
|
||||
bool Framework::ShowMapForURL(string const & url)
|
||||
|
@ -415,9 +414,9 @@ string Framework::GetOutdatedCountriesString()
|
|||
return res;
|
||||
}
|
||||
|
||||
void Framework::ShowTrack(int category, int track)
|
||||
void Framework::ShowTrack(df::LineID track)
|
||||
{
|
||||
Track const * nTrack = NativeFramework()->GetBmCategory(category)->GetTrack(track);
|
||||
Track const * nTrack = NativeFramework()->GetBookmarkManager().GetTrack(track);
|
||||
NativeFramework()->ShowTrack(*nTrack);
|
||||
}
|
||||
|
||||
|
@ -679,8 +678,7 @@ Java_com_mapswithme_maps_Framework_nativeGetNameAndAddress(JNIEnv * env, jclass
|
|||
JNIEXPORT void JNICALL
|
||||
Java_com_mapswithme_maps_Framework_nativeClearApiPoints(JNIEnv * env, jclass clazz)
|
||||
{
|
||||
UserMarkNotificationGuard guard(frm()->GetBookmarkManager(), UserMark::Type::API);
|
||||
guard.m_controller.Clear();
|
||||
frm()->GetBookmarkManager().GetEditSession().ClearGroup(UserMark::Type::API);
|
||||
}
|
||||
|
||||
JNIEXPORT jint JNICALL
|
||||
|
@ -903,9 +901,9 @@ Java_com_mapswithme_maps_Framework_nativeGetScreenRectCenter(JNIEnv * env, jclas
|
|||
}
|
||||
|
||||
JNIEXPORT void JNICALL
|
||||
Java_com_mapswithme_maps_Framework_nativeShowTrackRect(JNIEnv * env, jclass, jint cat, jint track)
|
||||
Java_com_mapswithme_maps_Framework_nativeShowTrackRect(JNIEnv * env, jclass, jlong track)
|
||||
{
|
||||
g_framework->ShowTrack(cat, track);
|
||||
g_framework->ShowTrack(static_cast<df::LineID>(track));
|
||||
}
|
||||
|
||||
JNIEXPORT jstring JNICALL
|
||||
|
@ -1415,20 +1413,22 @@ JNIEXPORT jobject JNICALL
|
|||
Java_com_mapswithme_maps_Framework_nativeDeleteBookmarkFromMapObject(JNIEnv * env, jclass)
|
||||
{
|
||||
place_page::Info & info = g_framework->GetPlacePageInfo();
|
||||
auto const bac = info.GetBookmarkAndCategory();
|
||||
BookmarkCategory * category = frm()->GetBmCategory(bac.m_categoryIndex);
|
||||
frm()->ResetBookmarkInfo(*static_cast<Bookmark const *>(category->GetUserMark(bac.m_bookmarkIndex)), info);
|
||||
bookmarks_helper::RemoveBookmark(bac.m_categoryIndex, bac.m_bookmarkIndex);
|
||||
auto const bookmarkId = info.GetBookmarkId();
|
||||
frm()->ResetBookmarkInfo(*frm()->GetBookmarkManager().GetBookmark(bookmarkId), info);
|
||||
frm()->GetBookmarkManager().GetEditSession().DeleteBookmark(bookmarkId);
|
||||
// TODO(darina): Save to KML here
|
||||
return usermark_helper::CreateMapObject(env, info);
|
||||
}
|
||||
|
||||
JNIEXPORT void JNICALL
|
||||
Java_com_mapswithme_maps_Framework_nativeOnBookmarkCategoryChanged(JNIEnv * env, jclass, jint cat, jint bmk)
|
||||
Java_com_mapswithme_maps_Framework_nativeOnBookmarkCategoryChanged(JNIEnv * env, jclass, jlong cat, jlong bmk)
|
||||
{
|
||||
place_page::Info & info = g_framework->GetPlacePageInfo();
|
||||
ASSERT_GREATER_OR_EQUAL(bmk, 0, ());
|
||||
ASSERT_GREATER_OR_EQUAL(cat, 0, ());
|
||||
info.SetBac({static_cast<size_t>(bmk), static_cast<size_t>(cat)});
|
||||
info.SetBookmarkCategoryId(static_cast<df::MarkGroupID>(cat));
|
||||
info.SetBookmarkId(static_cast<df::MarkID>(bmk));
|
||||
info.SetBookmarkCategoryName(frm()->GetBookmarkManager().GetCategoryName(static_cast<df::MarkGroupID>(cat)));
|
||||
}
|
||||
|
||||
JNIEXPORT void JNICALL
|
||||
|
|
|
@ -139,7 +139,7 @@ namespace android
|
|||
void Scale(m2::PointD const & centerPt, int targetZoom, bool animate);
|
||||
|
||||
void ReplaceBookmark(df::MarkID markId, BookmarkData & bm);
|
||||
size_t ChangeBookmarkCategory(df::MarkID markId, df::MarkGroupID newCat);
|
||||
void MoveBookmark(df::MarkID markId, df::MarkGroupID curCat, df::MarkGroupID newCat);
|
||||
|
||||
::Framework * NativeFramework();
|
||||
|
||||
|
@ -151,7 +151,7 @@ namespace android
|
|||
|
||||
std::string GetOutdatedCountriesString();
|
||||
|
||||
void ShowTrack(int category, int track);
|
||||
void ShowTrack(df::LineID track);
|
||||
|
||||
void SetMyPositionModeListener(location::TMyPositionModeChanged const & fn);
|
||||
location::EMyPositionMode GetMyPositionMode();
|
||||
|
|
|
@ -111,14 +111,14 @@ jobject CreateMapObject(JNIEnv * env, place_page::Info const & info)
|
|||
if (info.IsBookmark())
|
||||
{
|
||||
// public Bookmark(@NonNull FeatureId featureId,
|
||||
// @IntRange(from = 0) int categoryId, @IntRange(from = 0) int bookmarkId,
|
||||
// @IntRange(from = 0) long categoryId, @IntRange(from = 0) long bookmarkId,
|
||||
// String title, @Nullable String secondaryTitle, @Nullable String objectTitle,
|
||||
// @Nullable Banner[] banners, boolean reachableByTaxi,
|
||||
// @Nullable String bookingSearchUrl, @Nullable LocalAdInfo localAdInfo,
|
||||
// @Nullable RoutePointInfo routePointInfo)
|
||||
static jmethodID const ctorId =
|
||||
jni::GetConstructorID(env, g_bookmarkClazz,
|
||||
"(Lcom/mapswithme/maps/bookmarks/data/FeatureId;IILjava/lang/String;"
|
||||
"(Lcom/mapswithme/maps/bookmarks/data/FeatureId;JJLjava/lang/String;"
|
||||
"Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;"
|
||||
"[Lcom/mapswithme/maps/ads/Banner;[ILjava/lang/String;"
|
||||
"Lcom/mapswithme/maps/ads/LocalAdInfo;"
|
||||
|
@ -127,8 +127,8 @@ jobject CreateMapObject(JNIEnv * env, place_page::Info const & info)
|
|||
static jmethodID const featureCtorId =
|
||||
jni::GetConstructorID(env, g_featureIdClazz, "(Ljava/lang/String;JI)V");
|
||||
|
||||
auto const & bac = info.GetBookmarkAndCategory();
|
||||
BookmarkCategory * cat = g_framework->NativeFramework()->GetBmCategory(bac.m_categoryIndex);
|
||||
auto const bookmarkId = info.GetBookmarkId();
|
||||
auto const categoryId = info.GetBookmarkCategoryId();
|
||||
BookmarkData const & data = info.GetBookmarkData();
|
||||
jni::TScopedLocalRef jMwmName(env, jni::ToJavaString(env, info.GetID().GetMwmName()));
|
||||
jni::TScopedLocalRef jFeatureId(
|
||||
|
@ -142,8 +142,8 @@ jobject CreateMapObject(JNIEnv * env, place_page::Info const & info)
|
|||
|
||||
jni::TScopedLocalRef jBookingSearchUrl(env, jni::ToJavaString(env, info.GetBookingSearchUrl()));
|
||||
jobject mapObject = env->NewObject(
|
||||
g_bookmarkClazz, ctorId, jFeatureId.get(), static_cast<jint>(bac.m_categoryIndex),
|
||||
static_cast<jint>(bac.m_bookmarkIndex), jTitle.get(), jSecondaryTitle.get(), jSubtitle.get(),
|
||||
g_bookmarkClazz, ctorId, jFeatureId.get(), static_cast<jlong>(categoryId),
|
||||
static_cast<jlong>(bookmarkId), jTitle.get(), jSecondaryTitle.get(), jSubtitle.get(),
|
||||
jAddress.get(), jbanners.get(), jTaxiTypes.get(), jBookingSearchUrl.get(),
|
||||
localAdInfo.get(), routingPointInfo.get(), info.IsPreviewExtended(), info.ShouldShowUGC(),
|
||||
info.CanBeRated(), info.CanBeReviewed(), jratings.get());
|
||||
|
|
|
@ -7,11 +7,10 @@ namespace
|
|||
{
|
||||
::Framework * frm() { return g_framework->NativeFramework(); }
|
||||
|
||||
Bookmark const * getBookmark(jint c, jlong b)
|
||||
Bookmark const * getBookmark(jlong bokmarkId)
|
||||
{
|
||||
BookmarkCategory const * pCat = frm()->GetBmCategory(c);
|
||||
ASSERT(pCat, ("Category not found", c));
|
||||
Bookmark const * pBmk = static_cast<Bookmark const *>(pCat->GetUserMark(b));
|
||||
Bookmark const * pBmk = frm()->GetBookmarkManager().GetBookmark(static_cast<df::MarkID>(bokmarkId));
|
||||
ASSERT(pBmk, ("Bookmark not found, id", bokmarkId));
|
||||
return pBmk;
|
||||
}
|
||||
}
|
||||
|
@ -20,65 +19,66 @@ extern "C"
|
|||
{
|
||||
JNIEXPORT jstring JNICALL
|
||||
Java_com_mapswithme_maps_bookmarks_data_Bookmark_nativeGetName(
|
||||
JNIEnv * env, jobject thiz, jint cat, jlong bmk)
|
||||
JNIEnv * env, jobject thiz, jlong bmk)
|
||||
{
|
||||
return jni::ToJavaString(env, getBookmark(cat, bmk)->GetName());
|
||||
return jni::ToJavaString(env, getBookmark(bmk)->GetName());
|
||||
}
|
||||
|
||||
JNIEXPORT jstring JNICALL
|
||||
Java_com_mapswithme_maps_bookmarks_data_Bookmark_nativeGetBookmarkDescription(
|
||||
JNIEnv * env, jobject thiz, jint cat, jlong bmk)
|
||||
JNIEnv * env, jobject thiz, jlong bmk)
|
||||
{
|
||||
return jni::ToJavaString(env, getBookmark(cat, bmk)->GetDescription());
|
||||
return jni::ToJavaString(env, getBookmark(bmk)->GetDescription());
|
||||
}
|
||||
|
||||
JNIEXPORT jstring JNICALL
|
||||
Java_com_mapswithme_maps_bookmarks_data_Bookmark_nativeGetIcon(
|
||||
JNIEnv * env, jobject thiz, jint cat, jlong bmk)
|
||||
JNIEnv * env, jobject thiz, jlong bmk)
|
||||
{
|
||||
return jni::ToJavaString(env, getBookmark(cat, bmk)->GetType());
|
||||
return jni::ToJavaString(env, getBookmark(bmk)->GetType());
|
||||
}
|
||||
|
||||
JNIEXPORT void JNICALL
|
||||
Java_com_mapswithme_maps_bookmarks_data_Bookmark_nativeSetBookmarkParams(
|
||||
JNIEnv * env, jobject thiz, jint cat, jlong bmk,
|
||||
JNIEnv * env, jobject thiz, jlong bmk,
|
||||
jstring name, jstring type, jstring descr)
|
||||
{
|
||||
Bookmark const * p = getBookmark(cat, bmk);
|
||||
Bookmark const * p = getBookmark(bmk);
|
||||
|
||||
// initialize new bookmark
|
||||
BookmarkData bm(jni::ToNativeString(env, name), jni::ToNativeString(env, type));
|
||||
bm.SetDescription(descr ? jni::ToNativeString(env, descr)
|
||||
: p->GetDescription());
|
||||
|
||||
g_framework->ReplaceBookmark(BookmarkAndCategory(bmk, cat), bm);
|
||||
g_framework->ReplaceBookmark(static_cast<df::MarkID>(bmk), bm);
|
||||
}
|
||||
|
||||
JNIEXPORT jint JNICALL
|
||||
JNIEXPORT void JNICALL
|
||||
Java_com_mapswithme_maps_bookmarks_data_Bookmark_nativeChangeCategory(
|
||||
JNIEnv * env, jobject thiz, jint oldCat, jint newCat, jlong bmk)
|
||||
JNIEnv * env, jobject thiz, jlong oldCat, jlong newCat, jlong bmk)
|
||||
{
|
||||
return g_framework->ChangeBookmarkCategory(BookmarkAndCategory(bmk, oldCat), newCat);
|
||||
g_framework->MoveBookmark(static_cast<df::MarkID>(bmk), static_cast<df::MarkGroupID>(oldCat),
|
||||
static_cast<df::MarkGroupID>(newCat));
|
||||
}
|
||||
|
||||
JNIEXPORT jobject JNICALL
|
||||
Java_com_mapswithme_maps_bookmarks_data_Bookmark_nativeGetXY(
|
||||
JNIEnv * env, jobject thiz, jint cat, jlong bmk)
|
||||
JNIEnv * env, jobject thiz, jlong bmk)
|
||||
{
|
||||
return jni::GetNewParcelablePointD(env, getBookmark(cat, bmk)->GetPivot());
|
||||
return jni::GetNewParcelablePointD(env, getBookmark(bmk)->GetPivot());
|
||||
}
|
||||
|
||||
JNIEXPORT jdouble JNICALL
|
||||
Java_com_mapswithme_maps_bookmarks_data_Bookmark_nativeGetScale(
|
||||
JNIEnv * env, jobject thiz, jint cat, jlong bmk)
|
||||
JNIEnv * env, jobject thiz, jlong bmk)
|
||||
{
|
||||
return getBookmark(cat, bmk)->GetScale();
|
||||
return getBookmark(bmk)->GetScale();
|
||||
}
|
||||
|
||||
JNIEXPORT jstring JNICALL
|
||||
Java_com_mapswithme_maps_bookmarks_data_Bookmark_nativeEncode2Ge0Url(
|
||||
JNIEnv * env, jobject thiz, jint cat, jlong bmk, jboolean addName)
|
||||
JNIEnv * env, jobject thiz, jlong bmk, jboolean addName)
|
||||
{
|
||||
return jni::ToJavaString(env, frm()->CodeGe0url(getBookmark(cat, bmk), addName));
|
||||
return jni::ToJavaString(env, frm()->CodeGe0url(getBookmark(bmk), addName));
|
||||
}
|
||||
} // extern "C"
|
||||
|
|
|
@ -1,121 +0,0 @@
|
|||
#include "com/mapswithme/maps/Framework.hpp"
|
||||
#include "com/mapswithme/maps/UserMarkHelper.hpp"
|
||||
#include "com/mapswithme/core/jni_helper.hpp"
|
||||
|
||||
#include "map/place_page_info.hpp"
|
||||
#include "platform/measurement_utils.hpp"
|
||||
|
||||
namespace
|
||||
{
|
||||
::Framework * frm() { return g_framework->NativeFramework(); }
|
||||
|
||||
BookmarkCategory * getBmCategory(jint c)
|
||||
{
|
||||
BookmarkCategory * pCat = frm()->GetBmCategory(c);
|
||||
ASSERT(pCat, ("Category not found", c));
|
||||
return pCat;
|
||||
}
|
||||
}
|
||||
|
||||
extern "C"
|
||||
{
|
||||
JNIEXPORT jboolean JNICALL
|
||||
Java_com_mapswithme_maps_bookmarks_data_BookmarkCategory_nativeIsVisible(
|
||||
JNIEnv * env, jobject thiz, jint id)
|
||||
{
|
||||
return getBmCategory(id)->IsVisible();
|
||||
}
|
||||
|
||||
JNIEXPORT void JNICALL
|
||||
Java_com_mapswithme_maps_bookmarks_data_BookmarkCategory_nativeSetVisibility(
|
||||
JNIEnv * env, jobject thiz, jint id, jboolean b)
|
||||
{
|
||||
BookmarkCategory * pCat = getBmCategory(id);
|
||||
pCat->SetIsVisible(b);
|
||||
pCat->NotifyChanges();
|
||||
pCat->SaveToKMLFile();
|
||||
}
|
||||
|
||||
JNIEXPORT void JNICALL
|
||||
Java_com_mapswithme_maps_bookmarks_data_BookmarkCategory_nativeSetName(
|
||||
JNIEnv * env, jobject thiz, jint id, jstring n)
|
||||
{
|
||||
BookmarkCategory * pCat = getBmCategory(id);
|
||||
pCat->SetName(jni::ToNativeString(env, n));
|
||||
pCat->SaveToKMLFile();
|
||||
}
|
||||
|
||||
JNIEXPORT jstring JNICALL
|
||||
Java_com_mapswithme_maps_bookmarks_data_BookmarkCategory_nativeGetName(
|
||||
JNIEnv * env, jobject thiz, jint id)
|
||||
{
|
||||
return jni::ToJavaString(env, getBmCategory(id)->GetName());
|
||||
}
|
||||
|
||||
JNIEXPORT jint JNICALL
|
||||
Java_com_mapswithme_maps_bookmarks_data_BookmarkCategory_nativeGetSize(
|
||||
JNIEnv * env, jobject thiz, jint id)
|
||||
{
|
||||
BookmarkCategory * category = getBmCategory(id);
|
||||
return category->GetUserMarkCount() + category->GetTracksCount();
|
||||
}
|
||||
|
||||
JNIEXPORT jint JNICALL
|
||||
Java_com_mapswithme_maps_bookmarks_data_BookmarkCategory_nativeGetBookmarksCount(
|
||||
JNIEnv * env, jobject thiz, jint id)
|
||||
{
|
||||
return getBmCategory(id)->GetUserMarkCount();
|
||||
}
|
||||
|
||||
JNIEXPORT jint JNICALL
|
||||
Java_com_mapswithme_maps_bookmarks_data_BookmarkCategory_nativeGetTracksCount(
|
||||
JNIEnv * env, jobject thiz, jint id)
|
||||
{
|
||||
return getBmCategory(id)->GetTracksCount();
|
||||
}
|
||||
|
||||
// TODO(AlexZ): Get rid of UserMarks completely in UI code.
|
||||
// TODO(yunikkk): Refactor java code to get all necessary info without Bookmark wrapper, and without hierarchy.
|
||||
// If bookmark information is needed in the BookmarkManager, it does not relate in any way to Place Page info
|
||||
// and should be passed separately via simple name string and lat lon to calculate a distance.
|
||||
JNIEXPORT jobject JNICALL
|
||||
Java_com_mapswithme_maps_bookmarks_data_BookmarkCategory_nativeGetBookmark(
|
||||
JNIEnv * env, jobject thiz, jint catId, jint bmkId)
|
||||
{
|
||||
BookmarkCategory * category = getBmCategory(catId);
|
||||
place_page::Info info;
|
||||
frm()->FillBookmarkInfo(*static_cast<Bookmark const *>(category->GetUserMark(bmkId)),
|
||||
{static_cast<size_t>(bmkId), static_cast<size_t>(catId)}, info);
|
||||
return usermark_helper::CreateMapObject(env, info);
|
||||
}
|
||||
|
||||
static uint32_t shift(uint32_t v, uint8_t bitCount) { return v << bitCount; }
|
||||
|
||||
JNIEXPORT jobject JNICALL
|
||||
Java_com_mapswithme_maps_bookmarks_data_BookmarkCategory_nativeGetTrack(
|
||||
JNIEnv * env, jobject thiz, jint id, jint bmkId, jclass trackClazz)
|
||||
{
|
||||
// Track(int trackId, int categoryId, String name, String lengthString, int color)
|
||||
static jmethodID const cId = jni::GetConstructorID(env, trackClazz,
|
||||
"(IILjava/lang/String;Ljava/lang/String;I)V");
|
||||
|
||||
BookmarkCategory * category = getBmCategory(id);
|
||||
Track const * nTrack = category->GetTrack(bmkId);
|
||||
|
||||
ASSERT(nTrack, ("Track must not be null with index:)", bmkId));
|
||||
|
||||
std::string formattedLength;
|
||||
measurement_utils::FormatDistance(nTrack->GetLengthMeters(), formattedLength);
|
||||
|
||||
dp::Color nColor = nTrack->GetColor(0);
|
||||
|
||||
jint androidColor = shift(nColor.GetAlpha(), 24) +
|
||||
shift(nColor.GetRed(), 16) +
|
||||
shift(nColor.GetGreen(), 8) +
|
||||
nColor.GetBlue();
|
||||
|
||||
return env->NewObject(trackClazz, cId,
|
||||
bmkId, id, jni::ToJavaString(env, nTrack->GetName()),
|
||||
jni::ToJavaString(env, formattedLength), androidColor);
|
||||
}
|
||||
} // extern "C"
|
|
@ -1,5 +1,3 @@
|
|||
#include "BookmarkManager.hpp"
|
||||
|
||||
#include "com/mapswithme/core/jni_helper.hpp"
|
||||
#include "com/mapswithme/maps/Framework.hpp"
|
||||
#include "com/mapswithme/maps/UserMarkHelper.hpp"
|
||||
|
@ -83,30 +81,15 @@ void OnAsyncLoadingFileError(JNIEnv * env, std::string const & fileName, bool is
|
|||
}
|
||||
} // namespace
|
||||
|
||||
namespace bookmarks_helper
|
||||
{
|
||||
void RemoveBookmark(int cat, int bmk)
|
||||
{
|
||||
BookmarkCategory * pCat = frm()->GetBmCategory(cat);
|
||||
if (pCat)
|
||||
{
|
||||
pCat->DeleteUserMark(bmk);
|
||||
pCat->NotifyChanges();
|
||||
pCat->SaveToKMLFile();
|
||||
}
|
||||
}
|
||||
} // namespace bookmarks_helper
|
||||
|
||||
extern "C"
|
||||
{
|
||||
using namespace jni;
|
||||
|
||||
JNIEXPORT void JNICALL
|
||||
Java_com_mapswithme_maps_bookmarks_data_BookmarkManager_nativeShowBookmarkOnMap(
|
||||
JNIEnv * env, jobject thiz, jint c, jint b)
|
||||
JNIEnv * env, jobject thiz, jlong bmkId)
|
||||
{
|
||||
BookmarkAndCategory bnc = BookmarkAndCategory(b, c);
|
||||
frm()->ShowBookmark(bnc);
|
||||
frm()->ShowBookmark(static_cast<df::MarkID>(bmkId));
|
||||
}
|
||||
|
||||
JNIEXPORT void JNICALL
|
||||
|
@ -126,51 +109,71 @@ Java_com_mapswithme_maps_bookmarks_data_BookmarkManager_nativeLoadBookmarks(JNIE
|
|||
JNIEXPORT jint JNICALL
|
||||
Java_com_mapswithme_maps_bookmarks_data_BookmarkManager_nativeGetCategoriesCount(JNIEnv * env, jobject thiz)
|
||||
{
|
||||
return frm()->GetBmCategoriesCount();
|
||||
return frm()->GetBookmarkManager().GetBmGroupsIdList().size();
|
||||
}
|
||||
|
||||
JNIEXPORT jint JNICALL
|
||||
Java_com_mapswithme_maps_bookmarks_data_BookmarkManager_nativeGetCategoryPositionById(
|
||||
JNIEnv * env, jobject thiz, jlong catId)
|
||||
{
|
||||
auto & ids = frm()->GetBookmarkManager().GetBmGroupsIdList();
|
||||
jint position = 0;
|
||||
while (position < ids.size() && ids[position] != catId)
|
||||
++position;
|
||||
return position;
|
||||
}
|
||||
|
||||
JNIEXPORT jlong JNICALL
|
||||
Java_com_mapswithme_maps_bookmarks_data_BookmarkManager_nativeGetCategoryIdByPosition(
|
||||
JNIEnv * env, jobject thiz, jint position)
|
||||
{
|
||||
auto & ids = frm()->GetBookmarkManager().GetBmGroupsIdList();
|
||||
// TODO(darina): use kInvalidCategoryId
|
||||
return position < ids.size() ? static_cast<jlong>(ids[position]) : 0;
|
||||
}
|
||||
|
||||
JNIEXPORT jlong JNICALL
|
||||
Java_com_mapswithme_maps_bookmarks_data_BookmarkManager_nativeCreateCategory(
|
||||
JNIEnv * env, jobject thiz, jstring name)
|
||||
{
|
||||
return frm()->AddCategory(ToNativeString(env, name));
|
||||
return static_cast<jlong>(frm()->GetBookmarkManager().CreateBookmarkCategory(ToNativeString(env, name)));
|
||||
}
|
||||
|
||||
JNIEXPORT jboolean JNICALL
|
||||
Java_com_mapswithme_maps_bookmarks_data_BookmarkManager_nativeDeleteCategory(
|
||||
JNIEnv * env, jobject thiz, jint index)
|
||||
JNIEnv * env, jobject thiz, jlong catId)
|
||||
{
|
||||
return frm()->DeleteBmCategory(index);
|
||||
auto const categoryId = static_cast<df::MarkGroupID>(catId);
|
||||
return static_cast<jboolean>(frm()->GetBookmarkManager().GetEditSession().DeleteBmCategory(categoryId));
|
||||
}
|
||||
|
||||
JNIEXPORT void JNICALL
|
||||
Java_com_mapswithme_maps_bookmarks_data_BookmarkManager_nativeDeleteBookmark(JNIEnv *, jobject, jint cat, jint bmk)
|
||||
Java_com_mapswithme_maps_bookmarks_data_BookmarkManager_nativeDeleteBookmark(JNIEnv *, jobject, jint cat, jint bmkId)
|
||||
{
|
||||
bookmarks_helper::RemoveBookmark(cat, bmk);
|
||||
// TODO(darina): verify
|
||||
//bookmarks_helper::RemoveBookmark(cat, bmk);
|
||||
frm()->GetBookmarkManager().GetEditSession().DeleteBookmark(static_cast<df::MarkID>(bmkId));
|
||||
}
|
||||
|
||||
JNIEXPORT void JNICALL
|
||||
Java_com_mapswithme_maps_bookmarks_data_BookmarkManager_nativeDeleteTrack(
|
||||
JNIEnv * env, jobject thiz, jint cat, jint trk)
|
||||
JNIEnv * env, jobject thiz, jlong trkId)
|
||||
{
|
||||
BookmarkCategory * pCat = frm()->GetBmCategory(cat);
|
||||
if (pCat)
|
||||
{
|
||||
pCat->DeleteTrack(trk);
|
||||
pCat->NotifyChanges();
|
||||
pCat->SaveToKMLFile();
|
||||
}
|
||||
frm()->GetBookmarkManager().GetEditSession().DeleteTrack(static_cast<df::LineID>(trkId));
|
||||
// TODO(darina):
|
||||
//pCat->SaveToKMLFile();
|
||||
}
|
||||
|
||||
JNIEXPORT jstring JNICALL
|
||||
Java_com_mapswithme_maps_bookmarks_data_BookmarkManager_nativeSaveToKmzFile(
|
||||
JNIEnv * env, jobject thiz, jint catID, jstring tmpPath)
|
||||
JNIEnv * env, jobject thiz, jlong catId, jstring tmpPath)
|
||||
{
|
||||
BookmarkCategory * pCat = frm()->GetBmCategory(catID);
|
||||
if (pCat)
|
||||
auto const categoryId = static_cast<df::MarkGroupID>(catId);
|
||||
if (frm()->GetBookmarkManager().HasBmCategory(categoryId))
|
||||
{
|
||||
std::string const name = pCat->GetName();
|
||||
if (CreateZipFromPathDeflatedAndDefaultCompression(pCat->GetFileName(), ToNativeString(env, tmpPath) + name + ".kmz"))
|
||||
std::string const name = frm()->GetBookmarkManager().GetCategoryName(categoryId);
|
||||
std::string const fileName = frm()->GetBookmarkManager().GetCategoryFileName(categoryId);
|
||||
if (CreateZipFromPathDeflatedAndDefaultCompression(fileName, ToNativeString(env, tmpPath) + name + ".kmz"))
|
||||
return ToJavaString(env, name);
|
||||
}
|
||||
|
||||
|
@ -181,33 +184,32 @@ JNIEXPORT jobject JNICALL
|
|||
Java_com_mapswithme_maps_bookmarks_data_BookmarkManager_nativeAddBookmarkToLastEditedCategory(
|
||||
JNIEnv * env, jobject thiz, jstring name, double lat, double lon)
|
||||
{
|
||||
BookmarkManager & bmMng = frm()->GetBookmarkManager();
|
||||
|
||||
m2::PointD const glbPoint(MercatorBounds::FromLatLon(lat, lon));
|
||||
::Framework * f = frm();
|
||||
BookmarkData bmkData(ToNativeString(env, name), f->LastEditedBMType());
|
||||
size_t const lastEditedCategory = f->LastEditedBMCategory();
|
||||
size_t const createdBookmarkIndex = f->AddBookmark(lastEditedCategory, glbPoint, bmkData);
|
||||
BookmarkData bmkData(ToNativeString(env, name), frm()->LastEditedBMType());
|
||||
auto const lastEditedCategory = frm()->LastEditedBMCategory();
|
||||
|
||||
auto const * createdBookmark = bmMng.GetEditSession().CreateBookmark(glbPoint, bmkData, lastEditedCategory);
|
||||
|
||||
place_page::Info & info = g_framework->GetPlacePageInfo();
|
||||
BookmarkCategory * category = f->GetBmCategory(lastEditedCategory);
|
||||
f->FillBookmarkInfo(*static_cast<Bookmark const *>(category->GetUserMark(createdBookmarkIndex)),
|
||||
{static_cast<size_t>(createdBookmarkIndex),
|
||||
static_cast<size_t>(lastEditedCategory)}, info);
|
||||
frm()->FillBookmarkInfo(*createdBookmark, info);
|
||||
|
||||
return usermark_helper::CreateMapObject(env, info);
|
||||
}
|
||||
|
||||
JNIEXPORT jint JNICALL
|
||||
JNIEXPORT jlong JNICALL
|
||||
Java_com_mapswithme_maps_bookmarks_data_BookmarkManager_nativeGetLastEditedCategory(
|
||||
JNIEnv * env, jobject thiz)
|
||||
{
|
||||
return frm()->LastEditedBMCategory();
|
||||
return static_cast<jlong>(frm()->LastEditedBMCategory());
|
||||
}
|
||||
|
||||
JNIEXPORT jstring JNICALL
|
||||
Java_com_mapswithme_maps_bookmarks_data_BookmarkManager_nativeGenerateUniqueFileName(JNIEnv * env, jclass thiz, jstring jBaseName)
|
||||
{
|
||||
std::string baseName = ToNativeString(env, jBaseName);
|
||||
std::string bookmarkFileName = BookmarkCategory::GenerateUniqueFileName(GetPlatform().SettingsDir(), baseName);
|
||||
std::string bookmarkFileName = BookmarkManager::GenerateUniqueFileName(GetPlatform().SettingsDir(), baseName);
|
||||
return ToJavaString(env, bookmarkFileName);
|
||||
}
|
||||
|
||||
|
@ -230,4 +232,139 @@ Java_com_mapswithme_maps_bookmarks_data_BookmarkManager_nativeIsAsyncBookmarksLo
|
|||
return static_cast<jboolean>(frm()->GetBookmarkManager().IsAsyncLoadingInProgress());
|
||||
}
|
||||
|
||||
JNIEXPORT jboolean JNICALL
|
||||
Java_com_mapswithme_maps_bookmarks_data_BookmarkManager_nativeIsVisible(
|
||||
JNIEnv * env, jobject thiz, jlong catId)
|
||||
{
|
||||
return static_cast<jboolean>(frm()->GetBookmarkManager().IsVisible(static_cast<df::MarkGroupID>(catId)));
|
||||
}
|
||||
|
||||
JNIEXPORT void JNICALL
|
||||
Java_com_mapswithme_maps_bookmarks_data_BookmarkManager_nativeSetVisibility(
|
||||
JNIEnv * env, jobject thiz, jlong catId, jboolean isVisible)
|
||||
{
|
||||
frm()->GetBookmarkManager().GetEditSession().SetIsVisible(static_cast<df::MarkGroupID>(catId), isVisible);
|
||||
// TODO(darina):
|
||||
//pCat->SaveToKMLFile();
|
||||
}
|
||||
|
||||
JNIEXPORT void JNICALL
|
||||
Java_com_mapswithme_maps_bookmarks_data_BookmarkManager_nativeSetCategoryName(
|
||||
JNIEnv * env, jobject thiz, jlong catId, jstring name)
|
||||
{
|
||||
frm()->GetBookmarkManager().SetCategoryName(static_cast<df::MarkGroupID>(catId),
|
||||
jni::ToNativeString(env, name));
|
||||
// TODO(darina):
|
||||
//pCat->SaveToKMLFile();
|
||||
}
|
||||
|
||||
JNIEXPORT jstring JNICALL
|
||||
Java_com_mapswithme_maps_bookmarks_data_BookmarkManager_nativeGetCategoryName(
|
||||
JNIEnv * env, jobject thiz, jlong catId)
|
||||
{
|
||||
return ToJavaString(env, frm()->GetBookmarkManager().GetCategoryName(static_cast<df::MarkGroupID>(catId)));
|
||||
}
|
||||
|
||||
JNIEXPORT jint JNICALL
|
||||
Java_com_mapswithme_maps_bookmarks_data_BookmarkManager_nativeGetBookmarksCount(
|
||||
JNIEnv * env, jobject thiz, jlong catId)
|
||||
{
|
||||
return frm()->GetBookmarkManager().GetUserMarkIds(static_cast<df::MarkGroupID>(catId)).size();
|
||||
}
|
||||
|
||||
JNIEXPORT jint JNICALL
|
||||
Java_com_mapswithme_maps_bookmarks_data_BookmarkManager_nativeGetTracksCount(
|
||||
JNIEnv * env, jobject thiz, jlong catId)
|
||||
{
|
||||
return frm()->GetBookmarkManager().GetTrackIds(static_cast<df::MarkGroupID>(catId)).size();
|
||||
}
|
||||
|
||||
// TODO(AlexZ): Get rid of UserMarks completely in UI code.
|
||||
// TODO(yunikkk): Refactor java code to get all necessary info without Bookmark wrapper, and without hierarchy.
|
||||
// If bookmark information is needed in the BookmarkManager, it does not relate in any way to Place Page info
|
||||
// and should be passed separately via simple name string and lat lon to calculate a distance.
|
||||
JNIEXPORT jobject JNICALL
|
||||
Java_com_mapswithme_maps_bookmarks_data_BookmarkManager_nativeGetBookmark(
|
||||
JNIEnv * env, jobject thiz, jlong bmkId)
|
||||
{
|
||||
auto const * mark = frm()->GetBookmarkManager().GetBookmark(static_cast<df::MarkID>(bmkId));
|
||||
place_page::Info info;
|
||||
frm()->FillBookmarkInfo(*mark, info);
|
||||
return usermark_helper::CreateMapObject(env, info);
|
||||
}
|
||||
|
||||
JNIEXPORT jlong JNICALL
|
||||
Java_com_mapswithme_maps_bookmarks_data_BookmarkManager_nativeGetBookmarkIdByPosition(
|
||||
JNIEnv * env, jobject thiz, jlong catId, jint positionInCategory)
|
||||
{
|
||||
auto & ids = frm()->GetBookmarkManager().GetUserMarkIds(static_cast<df::MarkGroupID>(catId));
|
||||
// TODO(darina): use kInvalidMarkId
|
||||
if (positionInCategory >= ids.size())
|
||||
return 0;
|
||||
auto it = ids.begin();
|
||||
std::advance(it, positionInCategory);
|
||||
return static_cast<jlong>(*it);
|
||||
}
|
||||
|
||||
static uint32_t shift(uint32_t v, uint8_t bitCount) { return v << bitCount; }
|
||||
|
||||
JNIEXPORT jobject JNICALL
|
||||
Java_com_mapswithme_maps_bookmarks_data_BookmarkManager_nativeGetTrack(
|
||||
JNIEnv * env, jobject thiz, jlong trackId, jclass trackClazz)
|
||||
{
|
||||
// Track(int trackId, int categoryId, String name, String lengthString, int color)
|
||||
static jmethodID const cId = jni::GetConstructorID(env, trackClazz,
|
||||
"(IILjava/lang/String;Ljava/lang/String;I)V");
|
||||
auto const * nTrack = frm()->GetBookmarkManager().GetTrack(static_cast<df::LineID>(trackId));
|
||||
|
||||
ASSERT(nTrack, ("Track must not be null with id:)", trackId));
|
||||
|
||||
std::string formattedLength;
|
||||
measurement_utils::FormatDistance(nTrack->GetLengthMeters(), formattedLength);
|
||||
|
||||
dp::Color nColor = nTrack->GetColor(0);
|
||||
|
||||
jint androidColor = shift(nColor.GetAlpha(), 24) +
|
||||
shift(nColor.GetRed(), 16) +
|
||||
shift(nColor.GetGreen(), 8) +
|
||||
nColor.GetBlue();
|
||||
|
||||
return env->NewObject(trackClazz, cId,
|
||||
trackId, nTrack->GetGroupId(), jni::ToJavaString(env, nTrack->GetName()),
|
||||
jni::ToJavaString(env, formattedLength), androidColor);
|
||||
}
|
||||
|
||||
JNIEXPORT jlong JNICALL
|
||||
Java_com_mapswithme_maps_bookmarks_data_BookmarkManager_nativeGetTrackIdByPosition(
|
||||
JNIEnv * env, jobject thiz, jlong catId, jint positionInCategory)
|
||||
{
|
||||
auto & ids = frm()->GetBookmarkManager().GetTrackIds(static_cast<df::MarkGroupID>(catId));
|
||||
// TODO(darina): use kInvalidMarkId
|
||||
if (positionInCategory >= ids.size())
|
||||
return 0;
|
||||
auto it = ids.begin();
|
||||
std::advance(it, positionInCategory);
|
||||
return static_cast<jlong>(*it);
|
||||
}
|
||||
|
||||
JNIEXPORT void JNICALL
|
||||
Java_com_mapswithme_maps_bookmarks_data_BookmarkManager_nativeSetCloudEnabled(
|
||||
JNIEnv * env, jobject thiz, jboolean enabled)
|
||||
{
|
||||
frm()->GetBookmarkManager().SetCloudEnabled(enabled);
|
||||
}
|
||||
|
||||
JNIEXPORT jboolean JNICALL
|
||||
Java_com_mapswithme_maps_bookmarks_data_BookmarkManager_nativeIsCloudEnabled(
|
||||
JNIEnv * env, jobject thiz)
|
||||
{
|
||||
return static_cast<jboolean>(frm()->GetBookmarkManager().IsCloudEnabled());
|
||||
}
|
||||
|
||||
JNIEXPORT jlong JNICALL
|
||||
Java_com_mapswithme_maps_bookmarks_data_BookmarkManager_nativeGetLastSynchronizationTimestamp(
|
||||
JNIEnv * env, jobject thiz)
|
||||
{
|
||||
return static_cast<jlong>(frm()->GetBookmarkManager().GetLastSynchronizationTimestamp());
|
||||
}
|
||||
} // extern "C"
|
||||
|
|
|
@ -1,7 +0,0 @@
|
|||
#pragma once
|
||||
|
||||
namespace bookmarks_helper
|
||||
{
|
||||
void RemoveBookmark(int cat, int bmk);
|
||||
} // namespace bookmarks_helper
|
||||
|
|
@ -799,7 +799,7 @@ public class DownloadResourcesLegacyActivity extends BaseMwmFragmentActivity
|
|||
if (path != null)
|
||||
{
|
||||
LOGGER.d(TAG, "Loading bookmarks file from: " + path);
|
||||
BookmarkManager.nativeLoadKmzFile(path, isTemporaryFile);
|
||||
BookmarkManager.loadKmzFile(path, isTemporaryFile);
|
||||
}
|
||||
else
|
||||
LOGGER.w(TAG, "Can't get bookmarks file from URI: " + mData);
|
||||
|
|
|
@ -170,7 +170,7 @@ public class Framework
|
|||
nativeLogLocalAdsEvent(type, lat, lon, accuracy);
|
||||
}
|
||||
|
||||
public static native void nativeShowTrackRect(int category, int track);
|
||||
public static native void nativeShowTrackRect(long track);
|
||||
|
||||
public static native int nativeGetDrawScale();
|
||||
|
||||
|
@ -345,7 +345,7 @@ public class Framework
|
|||
public static native MapObject nativeDeleteBookmarkFromMapObject();
|
||||
|
||||
// TODO remove that hack after bookmarks will be refactored completely
|
||||
public static native void nativeOnBookmarkCategoryChanged(int cat, int bmk);
|
||||
public static native void nativeOnBookmarkCategoryChanged(long cat, long bmk);
|
||||
|
||||
public static native void nativeZoomToPoint(double lat, double lon, int zoom, boolean animate);
|
||||
|
||||
|
|
|
@ -2368,10 +2368,10 @@ public class MwmActivity extends BaseMwmFragmentActivity
|
|||
{
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
final int mCategoryId;
|
||||
final int mId;
|
||||
final long mCategoryId;
|
||||
final long mId;
|
||||
|
||||
BaseUserMarkTask(int categoryId, int id)
|
||||
BaseUserMarkTask(long categoryId, long id)
|
||||
{
|
||||
mCategoryId = categoryId;
|
||||
mId = id;
|
||||
|
@ -2380,7 +2380,7 @@ public class MwmActivity extends BaseMwmFragmentActivity
|
|||
|
||||
public static class ShowBookmarkTask extends BaseUserMarkTask
|
||||
{
|
||||
public ShowBookmarkTask(int categoryId, int bookmarkId)
|
||||
public ShowBookmarkTask(long categoryId, long bookmarkId)
|
||||
{
|
||||
super(categoryId, bookmarkId);
|
||||
}
|
||||
|
@ -2388,14 +2388,14 @@ public class MwmActivity extends BaseMwmFragmentActivity
|
|||
@Override
|
||||
public boolean run(MwmActivity target)
|
||||
{
|
||||
BookmarkManager.INSTANCE.nativeShowBookmarkOnMap(mCategoryId, mId);
|
||||
BookmarkManager.INSTANCE.showBookmarkOnMap(mId);
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
||||
public static class ShowTrackTask extends BaseUserMarkTask
|
||||
{
|
||||
public ShowTrackTask(int categoryId, int trackId)
|
||||
public ShowTrackTask(long categoryId, long trackId)
|
||||
{
|
||||
super(categoryId, trackId);
|
||||
}
|
||||
|
@ -2403,7 +2403,7 @@ public class MwmActivity extends BaseMwmFragmentActivity
|
|||
@Override
|
||||
public boolean run(MwmActivity target)
|
||||
{
|
||||
Framework.nativeShowTrackRect(mCategoryId, mId);
|
||||
Framework.nativeShowTrackRect(mId);
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
|
|
@ -270,7 +270,7 @@ public class MwmApplication extends Application
|
|||
MapManager.nativeSubscribe(mStorageCallbacks);
|
||||
|
||||
initNativeStrings();
|
||||
BookmarkManager.nativeLoadBookmarks();
|
||||
BookmarkManager.loadBookmarks();
|
||||
TtsPlayer.INSTANCE.init(this);
|
||||
ThemeSwitcher.restart(false);
|
||||
LocationHelper.INSTANCE.initialize();
|
||||
|
|
|
@ -4,7 +4,6 @@ import android.content.Context;
|
|||
import android.support.annotation.NonNull;
|
||||
import android.support.v7.widget.RecyclerView;
|
||||
|
||||
import com.mapswithme.maps.bookmarks.data.BookmarkCategory;
|
||||
import com.mapswithme.maps.bookmarks.data.BookmarkManager;
|
||||
|
||||
public abstract class BaseBookmarkCategoryAdapter<V extends RecyclerView.ViewHolder> extends RecyclerView.Adapter<V>
|
||||
|
@ -26,11 +25,11 @@ public abstract class BaseBookmarkCategoryAdapter<V extends RecyclerView.ViewHol
|
|||
@Override
|
||||
public int getItemCount()
|
||||
{
|
||||
return BookmarkManager.INSTANCE.nativeGetCategoriesCount();
|
||||
return BookmarkManager.INSTANCE.getCategoriesCount();
|
||||
}
|
||||
|
||||
public BookmarkCategory getItem(int position)
|
||||
public long getItem(int position)
|
||||
{
|
||||
return BookmarkManager.INSTANCE.getCategory(position);
|
||||
return BookmarkManager.INSTANCE.getCategoryIdByPosition(position);
|
||||
}
|
||||
}
|
||||
|
|
|
@ -12,7 +12,7 @@ import android.widget.ImageView;
|
|||
import android.widget.TextView;
|
||||
|
||||
import com.mapswithme.maps.R;
|
||||
import com.mapswithme.maps.bookmarks.data.BookmarkCategory;
|
||||
import com.mapswithme.maps.bookmarks.data.Bookmark;
|
||||
import com.mapswithme.maps.bookmarks.data.BookmarkManager;
|
||||
import com.mapswithme.maps.widget.recycler.RecyclerClickListener;
|
||||
import com.mapswithme.maps.widget.recycler.RecyclerLongClickListener;
|
||||
|
@ -83,15 +83,16 @@ public class BookmarkCategoriesAdapter extends BaseBookmarkCategoryAdapter<Bookm
|
|||
if (getItemViewType(position) == TYPE_HELP)
|
||||
return;
|
||||
|
||||
final BookmarkCategory set = getItem(position);
|
||||
holder.name.setText(set.getName());
|
||||
holder.size.setText(String.valueOf(set.getSize()));
|
||||
holder.setVisibilityState(set.isVisible());
|
||||
final BookmarkManager bmManager = BookmarkManager.INSTANCE;
|
||||
final long catId = getItem(position);
|
||||
holder.name.setText(bmManager.getCategoryName(catId));
|
||||
holder.size.setText(String.valueOf(bmManager.getCategorySize(catId)));
|
||||
holder.setVisibilityState(bmManager.isVisible(catId));
|
||||
holder.visibilityMarker.setOnClickListener(
|
||||
v ->
|
||||
{
|
||||
BookmarkManager.INSTANCE.toggleCategoryVisibility(holder.getAdapterPosition());
|
||||
holder.setVisibilityState(set.isVisible());
|
||||
BookmarkManager.INSTANCE.toggleCategoryVisibility(catId);
|
||||
holder.setVisibilityState(bmManager.isVisible(catId));
|
||||
});
|
||||
}
|
||||
|
||||
|
|
|
@ -13,8 +13,8 @@ import android.view.View;
|
|||
import com.mapswithme.maps.R;
|
||||
import com.mapswithme.maps.auth.Authorizer;
|
||||
import com.mapswithme.maps.base.BaseMwmRecyclerFragment;
|
||||
import com.mapswithme.maps.bookmarks.data.Bookmark;
|
||||
import com.mapswithme.maps.bookmarks.data.BookmarkBackupController;
|
||||
import com.mapswithme.maps.bookmarks.data.BookmarkCategory;
|
||||
import com.mapswithme.maps.bookmarks.data.BookmarkManager;
|
||||
import com.mapswithme.maps.dialog.EditTextDialogFragment;
|
||||
import com.mapswithme.maps.widget.PlaceholderView;
|
||||
|
@ -32,7 +32,7 @@ public class BookmarkCategoriesFragment extends BaseMwmRecyclerFragment
|
|||
BookmarkManager.BookmarksLoadingListener,
|
||||
Authorizer.Callback, BookmarkBackupController.BackupListener
|
||||
{
|
||||
private int mSelectedPosition;
|
||||
private long mSelectedCatId;
|
||||
@Nullable
|
||||
private View mLoadingPlaceholder;
|
||||
|
||||
|
@ -89,7 +89,7 @@ public class BookmarkCategoriesFragment extends BaseMwmRecyclerFragment
|
|||
|
||||
private void updateResultsPlaceholder()
|
||||
{
|
||||
boolean showLoadingPlaceholder = BookmarkManager.nativeIsAsyncBookmarksLoadingInProgress();
|
||||
boolean showLoadingPlaceholder = BookmarkManager.isAsyncBookmarksLoadingInProgress();
|
||||
boolean showPlaceHolder = !showLoadingPlaceholder &&
|
||||
(getAdapter() == null || getAdapter().getItemCount() == 0);
|
||||
if (getAdapter() != null)
|
||||
|
@ -104,7 +104,7 @@ public class BookmarkCategoriesFragment extends BaseMwmRecyclerFragment
|
|||
{
|
||||
if (mLoadingPlaceholder != null)
|
||||
{
|
||||
boolean showLoadingPlaceholder = BookmarkManager.nativeIsAsyncBookmarksLoadingInProgress();
|
||||
boolean showLoadingPlaceholder = BookmarkManager.isAsyncBookmarksLoadingInProgress();
|
||||
if (getAdapter() != null && getAdapter().getItemCount() != 0)
|
||||
showLoadingPlaceholder = false;
|
||||
|
||||
|
@ -145,8 +145,7 @@ public class BookmarkCategoriesFragment extends BaseMwmRecyclerFragment
|
|||
@Override
|
||||
public void onSaveText(String text)
|
||||
{
|
||||
final BookmarkCategory category = BookmarkManager.INSTANCE.getCategory(mSelectedPosition);
|
||||
category.setName(text);
|
||||
BookmarkManager.INSTANCE.setCategoryName(mSelectedCatId, text);
|
||||
if (getAdapter() != null)
|
||||
getAdapter().notifyDataSetChanged();
|
||||
}
|
||||
|
@ -157,24 +156,24 @@ public class BookmarkCategoriesFragment extends BaseMwmRecyclerFragment
|
|||
switch (item.getItemId())
|
||||
{
|
||||
case R.id.set_show:
|
||||
BookmarkManager.INSTANCE.toggleCategoryVisibility(mSelectedPosition);
|
||||
BookmarkManager.INSTANCE.toggleCategoryVisibility(mSelectedCatId);
|
||||
if (getAdapter() != null)
|
||||
getAdapter().notifyDataSetChanged();
|
||||
break;
|
||||
|
||||
case R.id.set_share:
|
||||
SharingHelper.shareBookmarksCategory(getActivity(), mSelectedPosition);
|
||||
SharingHelper.shareBookmarksCategory(getActivity(), mSelectedCatId);
|
||||
break;
|
||||
|
||||
case R.id.set_delete:
|
||||
BookmarkManager.INSTANCE.nativeDeleteCategory(mSelectedPosition);
|
||||
BookmarkManager.INSTANCE.deleteCategory(mSelectedCatId);
|
||||
if (getAdapter() != null)
|
||||
getAdapter().notifyDataSetChanged();
|
||||
break;
|
||||
|
||||
case R.id.set_edit:
|
||||
EditTextDialogFragment.show(getString(R.string.bookmark_set_name),
|
||||
BookmarkManager.INSTANCE.getCategory(mSelectedPosition).getName(),
|
||||
BookmarkManager.INSTANCE.getCategoryName(mSelectedCatId),
|
||||
getString(R.string.rename), getString(R.string.cancel), this);
|
||||
break;
|
||||
}
|
||||
|
@ -185,17 +184,19 @@ public class BookmarkCategoriesFragment extends BaseMwmRecyclerFragment
|
|||
@Override
|
||||
public void onLongItemClick(View v, int position)
|
||||
{
|
||||
mSelectedPosition = position;
|
||||
final BookmarkManager bmManager = BookmarkManager.INSTANCE;
|
||||
mSelectedCatId = bmManager.getCategoryIdByPosition(position);
|
||||
|
||||
BookmarkCategory category = BookmarkManager.INSTANCE.getCategory(mSelectedPosition);
|
||||
BottomSheetHelper.Builder bs = BottomSheetHelper.create(getActivity(), category.getName())
|
||||
final String name = bmManager.getCategoryName(mSelectedCatId);
|
||||
BottomSheetHelper.Builder bs = BottomSheetHelper.create(getActivity(), name)
|
||||
.sheet(R.menu.menu_bookmark_categories)
|
||||
.listener(this);
|
||||
MenuItem show = bs.getMenu().getItem(0);
|
||||
show.setIcon(category.isVisible() ? R.drawable.ic_hide
|
||||
: R.drawable.ic_show);
|
||||
show.setTitle(category.isVisible() ? R.string.hide
|
||||
: R.string.show);
|
||||
final boolean isVisible = bmManager.isVisible(mSelectedCatId);
|
||||
show.setIcon(isVisible ? R.drawable.ic_hide
|
||||
: R.drawable.ic_show);
|
||||
show.setTitle(isVisible ? R.string.hide
|
||||
: R.string.show);
|
||||
bs.tint().show();
|
||||
}
|
||||
|
||||
|
|
|
@ -15,7 +15,7 @@ import java.util.List;
|
|||
|
||||
import com.mapswithme.maps.R;
|
||||
import com.mapswithme.maps.bookmarks.data.Bookmark;
|
||||
import com.mapswithme.maps.bookmarks.data.BookmarkCategory;
|
||||
import com.mapswithme.maps.bookmarks.data.BookmarkManager;
|
||||
import com.mapswithme.maps.bookmarks.data.DistanceAndAzimut;
|
||||
import com.mapswithme.maps.bookmarks.data.Track;
|
||||
import com.mapswithme.maps.location.LocationHelper;
|
||||
|
@ -26,7 +26,7 @@ import com.mapswithme.util.Graphics;
|
|||
public class BookmarkListAdapter extends BaseAdapter
|
||||
{
|
||||
private final Activity mActivity;
|
||||
private final BookmarkCategory mCategory;
|
||||
private final long mCategoryId;
|
||||
|
||||
// view types
|
||||
static final int TYPE_TRACK = 0;
|
||||
|
@ -45,10 +45,10 @@ public class BookmarkListAdapter extends BaseAdapter
|
|||
}
|
||||
};
|
||||
|
||||
public BookmarkListAdapter(Activity activity, BookmarkCategory cat)
|
||||
public BookmarkListAdapter(Activity activity, long catId)
|
||||
{
|
||||
mActivity = activity;
|
||||
mCategory = cat;
|
||||
mCategoryId = catId;
|
||||
}
|
||||
|
||||
public void startLocationUpdate()
|
||||
|
@ -128,19 +128,26 @@ public class BookmarkListAdapter extends BaseAdapter
|
|||
@Override
|
||||
public int getCount()
|
||||
{
|
||||
return mCategory.getSize()
|
||||
+ (isSectionEmpty(SECTION_TRACKS) ? 0 : 1)
|
||||
+ (isSectionEmpty(SECTION_BMKS) ? 0 : 1);
|
||||
return BookmarkManager.INSTANCE.getCategorySize(mCategoryId)
|
||||
+ (isSectionEmpty(SECTION_TRACKS) ? 0 : 1)
|
||||
+ (isSectionEmpty(SECTION_BMKS) ? 0 : 1);
|
||||
}
|
||||
|
||||
@Override
|
||||
public Object getItem(int position)
|
||||
{
|
||||
if (getItemViewType(position) == TYPE_TRACK)
|
||||
return mCategory.nativeGetTrack(position - 1);
|
||||
{
|
||||
final long trackId = BookmarkManager.INSTANCE.getTrackIdByPosition(mCategoryId, position - 1);
|
||||
return BookmarkManager.INSTANCE.getTrack(trackId);
|
||||
}
|
||||
else
|
||||
return mCategory.getBookmark(position - 1
|
||||
- (isSectionEmpty(SECTION_TRACKS) ? 0 : mCategory.getTracksCount() + 1));
|
||||
{
|
||||
final int pos = position - 1
|
||||
- (isSectionEmpty(SECTION_TRACKS) ? 0 : BookmarkManager.INSTANCE.getTracksCount(mCategoryId) + 1);
|
||||
final long bookmarkId = BookmarkManager.INSTANCE.getBookmarkIdByPosition(mCategoryId, pos);
|
||||
return BookmarkManager.INSTANCE.getBookmark(bookmarkId);
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
|
@ -228,7 +235,7 @@ public class BookmarkListAdapter extends BaseAdapter
|
|||
if (isSectionEmpty(SECTION_BMKS))
|
||||
return -1;
|
||||
|
||||
return mCategory.getTracksCount()
|
||||
return BookmarkManager.INSTANCE.getTracksCount(mCategoryId)
|
||||
+ (isSectionEmpty(SECTION_TRACKS) ? 0 : 1);
|
||||
}
|
||||
|
||||
|
@ -253,9 +260,9 @@ public class BookmarkListAdapter extends BaseAdapter
|
|||
private boolean isSectionEmpty(int section)
|
||||
{
|
||||
if (section == SECTION_TRACKS)
|
||||
return mCategory.getTracksCount() == 0;
|
||||
return BookmarkManager.INSTANCE.getTracksCount(mCategoryId) == 0;
|
||||
if (section == SECTION_BMKS)
|
||||
return mCategory.getBookmarksCount() == 0;
|
||||
return BookmarkManager.INSTANCE.getBookmarksCount(mCategoryId) == 0;
|
||||
|
||||
throw new IllegalArgumentException("There is no section with index " + section);
|
||||
}
|
||||
|
|
|
@ -20,7 +20,6 @@ import com.mapswithme.maps.MwmActivity;
|
|||
import com.mapswithme.maps.R;
|
||||
import com.mapswithme.maps.base.BaseMwmListFragment;
|
||||
import com.mapswithme.maps.bookmarks.data.Bookmark;
|
||||
import com.mapswithme.maps.bookmarks.data.BookmarkCategory;
|
||||
import com.mapswithme.maps.bookmarks.data.BookmarkManager;
|
||||
import com.mapswithme.maps.bookmarks.data.Track;
|
||||
import com.mapswithme.maps.widget.placepage.EditBookmarkFragment;
|
||||
|
@ -35,8 +34,8 @@ public class BookmarksListFragment extends BaseMwmListFragment
|
|||
{
|
||||
public static final String TAG = BookmarksListFragment.class.getSimpleName();
|
||||
|
||||
private BookmarkCategory mCategory;
|
||||
private int mCategoryIndex;
|
||||
private int mCategoryPosition;
|
||||
private long mCategoryId;
|
||||
private int mSelectedPosition;
|
||||
@Nullable
|
||||
private BookmarkListAdapter mAdapter;
|
||||
|
@ -46,8 +45,8 @@ public class BookmarksListFragment extends BaseMwmListFragment
|
|||
public void onCreate(@Nullable Bundle savedInstanceState)
|
||||
{
|
||||
super.onCreate(savedInstanceState);
|
||||
mCategoryIndex = getArguments().getInt(ChooseBookmarkCategoryFragment.CATEGORY_ID, -1);
|
||||
mCategory = BookmarkManager.INSTANCE.getCategory(mCategoryIndex);
|
||||
mCategoryPosition = getArguments().getInt(ChooseBookmarkCategoryFragment.CATEGORY_ID, 0);
|
||||
mCategoryId = BookmarkManager.INSTANCE.getCategoryIdByPosition(mCategoryPosition);
|
||||
}
|
||||
|
||||
@Override
|
||||
|
@ -65,7 +64,7 @@ public class BookmarksListFragment extends BaseMwmListFragment
|
|||
setHasOptionsMenu(true);
|
||||
ActionBar bar = ((AppCompatActivity) getActivity()).getSupportActionBar();
|
||||
if (bar != null)
|
||||
bar.setTitle(mCategory.getName());
|
||||
bar.setTitle(BookmarkManager.INSTANCE.getCategoryName(mCategoryId));
|
||||
}
|
||||
|
||||
@Override
|
||||
|
@ -90,7 +89,7 @@ public class BookmarksListFragment extends BaseMwmListFragment
|
|||
|
||||
private void initList()
|
||||
{
|
||||
mAdapter = new BookmarkListAdapter(getActivity(), mCategory);
|
||||
mAdapter = new BookmarkListAdapter(getActivity(), mCategoryId);
|
||||
mAdapter.startLocationUpdate();
|
||||
setListAdapter(mAdapter);
|
||||
getListView().setOnItemLongClickListener(this);
|
||||
|
@ -110,7 +109,7 @@ public class BookmarksListFragment extends BaseMwmListFragment
|
|||
case BookmarkListAdapter.TYPE_BOOKMARK:
|
||||
final Bookmark bookmark = (Bookmark) mAdapter.getItem(position);
|
||||
i.putExtra(MwmActivity.EXTRA_TASK,
|
||||
new MwmActivity.ShowBookmarkTask(mCategoryIndex, bookmark.getBookmarkId()));
|
||||
new MwmActivity.ShowBookmarkTask(bookmark.getCategoryId(), bookmark.getBookmarkId()));
|
||||
break;
|
||||
case BookmarkListAdapter.TYPE_TRACK:
|
||||
final Track track = (Track) mAdapter.getItem(position);
|
||||
|
@ -161,7 +160,7 @@ public class BookmarksListFragment extends BaseMwmListFragment
|
|||
@Override
|
||||
public boolean onMenuItemClick(MenuItem menuItem)
|
||||
{
|
||||
BookmarkManager.INSTANCE.deleteTrack((Track) item);
|
||||
BookmarkManager.INSTANCE.deleteTrack(((Track) item).getTrackId());
|
||||
mAdapter.notifyDataSetChanged();
|
||||
return false;
|
||||
}
|
||||
|
@ -195,11 +194,11 @@ public class BookmarksListFragment extends BaseMwmListFragment
|
|||
break;
|
||||
|
||||
case R.id.edit:
|
||||
EditBookmarkFragment.editBookmark(mCategory.getId(), item.getBookmarkId(), getActivity(),
|
||||
EditBookmarkFragment.editBookmark(mCategoryPosition, item.getBookmarkId(), getActivity(),
|
||||
getChildFragmentManager(), new EditBookmarkFragment.EditBookmarkListener()
|
||||
{
|
||||
@Override
|
||||
public void onBookmarkSaved(int categoryId, int bookmarkId)
|
||||
public void onBookmarkSaved(long bookmarkId)
|
||||
{
|
||||
mAdapter.notifyDataSetChanged();
|
||||
}
|
||||
|
@ -207,7 +206,7 @@ public class BookmarksListFragment extends BaseMwmListFragment
|
|||
break;
|
||||
|
||||
case R.id.delete:
|
||||
BookmarkManager.INSTANCE.deleteBookmark(item);
|
||||
BookmarkManager.INSTANCE.deleteBookmark(item.getBookmarkId());
|
||||
mAdapter.notifyDataSetChanged();
|
||||
break;
|
||||
}
|
||||
|
@ -225,7 +224,7 @@ public class BookmarksListFragment extends BaseMwmListFragment
|
|||
{
|
||||
if (item.getItemId() == R.id.set_share)
|
||||
{
|
||||
SharingHelper.shareBookmarksCategory(getActivity(), mCategory.getId());
|
||||
SharingHelper.shareBookmarksCategory(getActivity(), mCategoryId);
|
||||
return true;
|
||||
}
|
||||
|
||||
|
|
|
@ -9,6 +9,7 @@ import android.widget.RadioButton;
|
|||
import android.widget.TextView;
|
||||
|
||||
import com.mapswithme.maps.R;
|
||||
import com.mapswithme.maps.bookmarks.data.BookmarkManager;
|
||||
|
||||
public class ChooseBookmarkCategoryAdapter extends BaseBookmarkCategoryAdapter<ChooseBookmarkCategoryAdapter.SingleChoiceHolder>
|
||||
{
|
||||
|
@ -19,7 +20,7 @@ public class ChooseBookmarkCategoryAdapter extends BaseBookmarkCategoryAdapter<C
|
|||
|
||||
public interface CategoryListener
|
||||
{
|
||||
void onCategorySet(int categoryId);
|
||||
void onCategorySet(int categoryPosition);
|
||||
|
||||
void onCategoryCreate();
|
||||
}
|
||||
|
@ -72,7 +73,7 @@ public class ChooseBookmarkCategoryAdapter extends BaseBookmarkCategoryAdapter<C
|
|||
{
|
||||
if (holder.getItemViewType() == VIEW_TYPE_CATEGORY)
|
||||
{
|
||||
holder.name.setText(getItem(position).getName());
|
||||
holder.name.setText(BookmarkManager.INSTANCE.getCategoryName(getItem(position)));
|
||||
holder.checked.setChecked(mCheckedPosition == position);
|
||||
}
|
||||
}
|
||||
|
|
|
@ -11,6 +11,7 @@ import android.view.ViewGroup;
|
|||
|
||||
import com.mapswithme.maps.R;
|
||||
import com.mapswithme.maps.base.BaseMwmDialogFragment;
|
||||
import com.mapswithme.maps.bookmarks.data.Bookmark;
|
||||
import com.mapswithme.maps.bookmarks.data.BookmarkManager;
|
||||
import com.mapswithme.maps.dialog.EditTextDialogFragment;
|
||||
import com.mapswithme.util.statistics.Statistics;
|
||||
|
@ -26,7 +27,7 @@ public class ChooseBookmarkCategoryFragment extends BaseMwmDialogFragment
|
|||
|
||||
public interface Listener
|
||||
{
|
||||
void onCategoryChanged(int newCategoryId);
|
||||
void onCategoryChanged(long newCategoryId);
|
||||
}
|
||||
private Listener mListener;
|
||||
|
||||
|
@ -52,8 +53,8 @@ public class ChooseBookmarkCategoryFragment extends BaseMwmDialogFragment
|
|||
super.onViewCreated(view, savedInstanceState);
|
||||
|
||||
final Bundle args = getArguments();
|
||||
final int catId = args.getInt(CATEGORY_ID, 0);
|
||||
mAdapter = new ChooseBookmarkCategoryAdapter(getActivity(), catId);
|
||||
final int catPosition = args.getInt(CATEGORY_ID, 0);
|
||||
mAdapter = new ChooseBookmarkCategoryAdapter(getActivity(), catPosition);
|
||||
mAdapter.setListener(this);
|
||||
mRecycler.setAdapter(mAdapter);
|
||||
}
|
||||
|
@ -81,21 +82,25 @@ public class ChooseBookmarkCategoryFragment extends BaseMwmDialogFragment
|
|||
|
||||
private void createCategory(String name)
|
||||
{
|
||||
final int category = BookmarkManager.INSTANCE.nativeCreateCategory(name);
|
||||
mAdapter.chooseItem(category);
|
||||
final long categoryId = BookmarkManager.INSTANCE.createCategory(name);
|
||||
final int categoryPosition = BookmarkManager.INSTANCE.getCategoriesCount() - 1;
|
||||
mAdapter.chooseItem(categoryPosition);
|
||||
|
||||
if (mListener != null)
|
||||
mListener.onCategoryChanged(category);
|
||||
mListener.onCategoryChanged(categoryId);
|
||||
dismiss();
|
||||
Statistics.INSTANCE.trackEvent(Statistics.EventName.BMK_GROUP_CREATED);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onCategorySet(int categoryId)
|
||||
public void onCategorySet(int categoryPosition)
|
||||
{
|
||||
mAdapter.chooseItem(categoryId);
|
||||
mAdapter.chooseItem(categoryPosition);
|
||||
if (mListener != null)
|
||||
{
|
||||
final long categoryId = BookmarkManager.INSTANCE.getCategoryIdByPosition(categoryPosition);
|
||||
mListener.onCategoryChanged(categoryId);
|
||||
}
|
||||
dismiss();
|
||||
Statistics.INSTANCE.trackEvent(Statistics.EventName.BMK_GROUP_CHANGED);
|
||||
}
|
||||
|
|
|
@ -19,13 +19,13 @@ import com.mapswithme.util.Constants;
|
|||
public class Bookmark extends MapObject
|
||||
{
|
||||
private final Icon mIcon;
|
||||
private int mCategoryId;
|
||||
private int mBookmarkId;
|
||||
private long mCategoryId;
|
||||
private long mBookmarkId;
|
||||
private double mMerX;
|
||||
private double mMerY;
|
||||
|
||||
public Bookmark(@NonNull FeatureId featureId, @IntRange(from = 0) int categoryId,
|
||||
@IntRange(from = 0) int bookmarkId, String title, @Nullable String secondaryTitle,
|
||||
public Bookmark(@NonNull FeatureId featureId, @IntRange(from = 0) long categoryId,
|
||||
@IntRange(from = 0) long bookmarkId, String title, @Nullable String secondaryTitle,
|
||||
@Nullable String subtitle, @Nullable String address, @Nullable Banner[] banners,
|
||||
@TaxiManager.TaxiType int[] reachableByTaxiTypes,
|
||||
@Nullable String bookingSearchUrl, @Nullable LocalAdInfo localAdInfo,
|
||||
|
@ -41,7 +41,7 @@ public class Bookmark extends MapObject
|
|||
mBookmarkId = bookmarkId;
|
||||
mIcon = getIconInternal();
|
||||
|
||||
final ParcelablePointD ll = nativeGetXY(mCategoryId, mBookmarkId);
|
||||
final ParcelablePointD ll = nativeGetXY(mBookmarkId);
|
||||
mMerX = ll.x;
|
||||
mMerY = ll.y;
|
||||
|
||||
|
@ -58,8 +58,8 @@ public class Bookmark extends MapObject
|
|||
public void writeToParcel(Parcel dest, int flags)
|
||||
{
|
||||
super.writeToParcel(dest, flags);
|
||||
dest.writeInt(mCategoryId);
|
||||
dest.writeInt(mBookmarkId);
|
||||
dest.writeLong(mCategoryId);
|
||||
dest.writeLong(mBookmarkId);
|
||||
dest.writeString(mIcon.getType());
|
||||
dest.writeDouble(mMerX);
|
||||
dest.writeDouble(mMerY);
|
||||
|
@ -71,8 +71,8 @@ public class Bookmark extends MapObject
|
|||
protected Bookmark(@MapObjectType int type, Parcel source)
|
||||
{
|
||||
super(type, source);
|
||||
mCategoryId = source.readInt();
|
||||
mBookmarkId = source.readInt();
|
||||
mCategoryId = source.readLong();
|
||||
mBookmarkId = source.readLong();
|
||||
mIcon = BookmarkManager.getIconByType(source.readString());
|
||||
mMerX = source.readDouble();
|
||||
mMerY = source.readDouble();
|
||||
|
@ -82,7 +82,7 @@ public class Bookmark extends MapObject
|
|||
@Override
|
||||
public double getScale()
|
||||
{
|
||||
return nativeGetScale(mCategoryId, mBookmarkId);
|
||||
return nativeGetScale(mBookmarkId);
|
||||
}
|
||||
|
||||
public DistanceAndAzimut getDistanceAndAzimuth(double cLat, double cLon, double north)
|
||||
|
@ -92,7 +92,8 @@ public class Bookmark extends MapObject
|
|||
|
||||
private Icon getIconInternal()
|
||||
{
|
||||
return BookmarkManager.getIconByType((mCategoryId >= 0) ? nativeGetIcon(mCategoryId, mBookmarkId) : "");
|
||||
// TODO(darina): fix check
|
||||
return BookmarkManager.getIconByType((mCategoryId >= 0) ? nativeGetIcon(mBookmarkId) : "");
|
||||
}
|
||||
|
||||
public Icon getIcon()
|
||||
|
@ -109,21 +110,15 @@ public class Bookmark extends MapObject
|
|||
|
||||
public String getCategoryName()
|
||||
{
|
||||
return getCategory().getName();
|
||||
return BookmarkManager.INSTANCE.getCategoryName(mCategoryId);
|
||||
}
|
||||
|
||||
@NonNull
|
||||
private BookmarkCategory getCategory()
|
||||
{
|
||||
return BookmarkManager.INSTANCE.getCategory(mCategoryId);
|
||||
}
|
||||
|
||||
public void setCategoryId(@IntRange(from = 0) int catId)
|
||||
public void setCategoryId(@IntRange(from = 0) long catId)
|
||||
{
|
||||
if (catId == mCategoryId)
|
||||
return;
|
||||
|
||||
mBookmarkId = nativeChangeCategory(mCategoryId, catId, mBookmarkId);
|
||||
nativeChangeCategory(mCategoryId, catId, mBookmarkId);
|
||||
mCategoryId = catId;
|
||||
}
|
||||
|
||||
|
@ -134,29 +129,29 @@ public class Bookmark extends MapObject
|
|||
|
||||
if (!title.equals(getTitle()) || icon != mIcon || !description.equals(getBookmarkDescription()))
|
||||
{
|
||||
nativeSetBookmarkParams(mCategoryId, mBookmarkId, title, icon != null ? icon.getType() : "",
|
||||
nativeSetBookmarkParams(mBookmarkId, title, icon != null ? icon.getType() : "",
|
||||
description);
|
||||
}
|
||||
}
|
||||
|
||||
public int getCategoryId()
|
||||
public long getCategoryId()
|
||||
{
|
||||
return mCategoryId;
|
||||
}
|
||||
|
||||
public int getBookmarkId()
|
||||
public long getBookmarkId()
|
||||
{
|
||||
return mBookmarkId;
|
||||
}
|
||||
|
||||
public String getBookmarkDescription()
|
||||
{
|
||||
return nativeGetBookmarkDescription(mCategoryId, mBookmarkId);
|
||||
return nativeGetBookmarkDescription(mBookmarkId);
|
||||
}
|
||||
|
||||
public String getGe0Url(boolean addName)
|
||||
{
|
||||
return nativeEncode2Ge0Url(mCategoryId, mBookmarkId, addName);
|
||||
return nativeEncode2Ge0Url(mBookmarkId, addName);
|
||||
}
|
||||
|
||||
public String getHttpGe0Url(boolean addName)
|
||||
|
@ -164,17 +159,17 @@ public class Bookmark extends MapObject
|
|||
return getGe0Url(addName).replaceFirst(Constants.Url.GE0_PREFIX, Constants.Url.HTTP_GE0_PREFIX);
|
||||
}
|
||||
|
||||
private native String nativeGetBookmarkDescription(@IntRange(from = 0) int categoryId, @IntRange(from = 0) long bookmarkId);
|
||||
private native String nativeGetBookmarkDescription(@IntRange(from = 0) long bookmarkId);
|
||||
|
||||
private native ParcelablePointD nativeGetXY(@IntRange(from = 0) int catId, @IntRange(from = 0) long bookmarkId);
|
||||
private native ParcelablePointD nativeGetXY(@IntRange(from = 0) long bookmarkId);
|
||||
|
||||
private native String nativeGetIcon(@IntRange(from = 0) int catId, @IntRange(from = 0) long bookmarkId);
|
||||
private native String nativeGetIcon(@IntRange(from = 0) long bookmarkId);
|
||||
|
||||
private native double nativeGetScale(@IntRange(from = 0) int catId, @IntRange(from = 0) long bookmarkId);
|
||||
private native double nativeGetScale(@IntRange(from = 0) long bookmarkId);
|
||||
|
||||
private native String nativeEncode2Ge0Url(@IntRange(from = 0) int catId, @IntRange(from = 0) long bookmarkId, boolean addName);
|
||||
private native String nativeEncode2Ge0Url(@IntRange(from = 0) long bookmarkId, boolean addName);
|
||||
|
||||
private native void nativeSetBookmarkParams(@IntRange(from = 0) int catId, @IntRange(from = 0) long bookmarkId, String name, String type, String descr);
|
||||
private native void nativeSetBookmarkParams(@IntRange(from = 0) long bookmarkId, String name, String type, String descr);
|
||||
|
||||
private native int nativeChangeCategory(@IntRange(from = 0) int oldCatId, @IntRange(from = 0) int newCatId, @IntRange(from = 0) long bookmarkId);
|
||||
private native void nativeChangeCategory(@IntRange(from = 0) long oldCatId, @IntRange(from = 0) long newCatId, @IntRange(from = 0) long bookmarkId);
|
||||
}
|
||||
|
|
|
@ -1,84 +0,0 @@
|
|||
package com.mapswithme.maps.bookmarks.data;
|
||||
|
||||
public class BookmarkCategory
|
||||
{
|
||||
private final int mId;
|
||||
private String mName;
|
||||
|
||||
BookmarkCategory(int id)
|
||||
{
|
||||
mId = id;
|
||||
}
|
||||
|
||||
public int getId()
|
||||
{
|
||||
return mId;
|
||||
}
|
||||
|
||||
public String getName()
|
||||
{
|
||||
return (mName == null ? nativeGetName(mId) : mName);
|
||||
}
|
||||
|
||||
public void setName(String name)
|
||||
{
|
||||
nativeSetName(mId, name);
|
||||
mName = name;
|
||||
}
|
||||
|
||||
public boolean isVisible()
|
||||
{
|
||||
return nativeIsVisible(mId);
|
||||
}
|
||||
|
||||
public void setVisibility(boolean visible)
|
||||
{
|
||||
nativeSetVisibility(mId, visible);
|
||||
}
|
||||
|
||||
/**
|
||||
* @return total count - tracks + bookmarks
|
||||
*/
|
||||
public int getSize()
|
||||
{
|
||||
return nativeGetSize(mId);
|
||||
}
|
||||
|
||||
public int getBookmarksCount()
|
||||
{
|
||||
return nativeGetBookmarksCount(mId);
|
||||
}
|
||||
|
||||
public int getTracksCount()
|
||||
{
|
||||
return nativeGetTracksCount(mId);
|
||||
}
|
||||
|
||||
public Bookmark getBookmark(int bookmarkId)
|
||||
{
|
||||
return nativeGetBookmark(mId, bookmarkId);
|
||||
}
|
||||
|
||||
public Track nativeGetTrack(int trackId)
|
||||
{
|
||||
return nativeGetTrack(mId, trackId, Track.class);
|
||||
}
|
||||
|
||||
private native int nativeGetBookmarksCount(int id);
|
||||
|
||||
private native int nativeGetTracksCount(int id);
|
||||
|
||||
private native int nativeGetSize(int id);
|
||||
|
||||
private native Bookmark nativeGetBookmark(int catId, int bmkId);
|
||||
|
||||
private native Track nativeGetTrack(int catId, int bmkId, Class<Track> trackClazz);
|
||||
|
||||
private native boolean nativeIsVisible(int id);
|
||||
|
||||
private native void nativeSetVisibility(int id, boolean visible);
|
||||
|
||||
private native String nativeGetName(int id);
|
||||
|
||||
private native void nativeSetName(int id, String n);
|
||||
}
|
|
@ -45,33 +45,10 @@ public enum BookmarkManager
|
|||
return ICONS.get(0);
|
||||
}
|
||||
|
||||
public void deleteBookmark(Bookmark bmk)
|
||||
public void toggleCategoryVisibility(long catId)
|
||||
{
|
||||
nativeDeleteBookmark(bmk.getCategoryId(), bmk.getBookmarkId());
|
||||
}
|
||||
|
||||
public void deleteTrack(Track track)
|
||||
{
|
||||
nativeDeleteTrack(track.getCategoryId(), track.getTrackId());
|
||||
}
|
||||
|
||||
public @NonNull BookmarkCategory getCategory(int catId)
|
||||
{
|
||||
if (catId < nativeGetCategoriesCount())
|
||||
return new BookmarkCategory(catId);
|
||||
|
||||
throw new IndexOutOfBoundsException("Invalid category ID!");
|
||||
}
|
||||
|
||||
public void toggleCategoryVisibility(int catId)
|
||||
{
|
||||
BookmarkCategory category = getCategory(catId);
|
||||
category.setVisibility(!category.isVisible());
|
||||
}
|
||||
|
||||
public Bookmark getBookmark(int catId, int bmkId)
|
||||
{
|
||||
return getCategory(catId).getBookmark(bmkId);
|
||||
boolean isVisible = isVisible(catId);
|
||||
setVisibility(catId, !isVisible);
|
||||
}
|
||||
|
||||
public Bookmark addNewBookmark(String name, double lat, double lon)
|
||||
|
@ -124,39 +101,198 @@ public enum BookmarkManager
|
|||
listener.onBookmarksFileLoaded(success);
|
||||
}
|
||||
|
||||
public static native void nativeLoadBookmarks();
|
||||
public boolean isVisible(long catId)
|
||||
{
|
||||
return nativeIsVisible(catId);
|
||||
}
|
||||
|
||||
private native void nativeDeleteTrack(int catId, int trackId);
|
||||
public void setVisibility(long catId, boolean visible)
|
||||
{
|
||||
nativeSetVisibility(catId, visible);
|
||||
}
|
||||
|
||||
private native void nativeDeleteBookmark(int cat, int bmkId);
|
||||
public String getCategoryName(long catId)
|
||||
{
|
||||
return nativeGetCategoryName(catId);
|
||||
}
|
||||
|
||||
public native int nativeGetCategoriesCount();
|
||||
|
||||
public native boolean nativeDeleteCategory(int catId);
|
||||
public void setCategoryName(long catId, String name)
|
||||
{
|
||||
nativeSetCategoryName(catId, name);
|
||||
}
|
||||
|
||||
/**
|
||||
* @return category Id
|
||||
* @return total count - tracks + bookmarks
|
||||
*/
|
||||
public native int nativeCreateCategory(String name);
|
||||
public int getCategorySize(long catId)
|
||||
{
|
||||
return nativeGetBookmarksCount(catId) + nativeGetTracksCount(catId);
|
||||
}
|
||||
|
||||
public native void nativeShowBookmarkOnMap(int catId, int bmkId);
|
||||
public int getCategoriesCount() { return nativeGetCategoriesCount(); }
|
||||
|
||||
public int getCategoryPositionById(long catId)
|
||||
{
|
||||
return nativeGetCategoryPositionById(catId);
|
||||
}
|
||||
|
||||
public long getCategoryIdByPosition(int position)
|
||||
{
|
||||
return nativeGetCategoryIdByPosition(position);
|
||||
}
|
||||
|
||||
public int getBookmarksCount(long catId)
|
||||
{
|
||||
return nativeGetBookmarksCount(catId);
|
||||
}
|
||||
|
||||
public int getTracksCount(long catId)
|
||||
{
|
||||
return nativeGetTracksCount(catId);
|
||||
}
|
||||
|
||||
public Bookmark getBookmark(long bmkId)
|
||||
{
|
||||
return nativeGetBookmark(bmkId);
|
||||
}
|
||||
|
||||
public long getBookmarkIdByPosition(long catId, int positionInCategory)
|
||||
{
|
||||
return nativeGetBookmarkIdByPosition(catId, positionInCategory);
|
||||
}
|
||||
|
||||
public Track getTrack(long trackId)
|
||||
{
|
||||
return nativeGetTrack(trackId, Track.class);
|
||||
}
|
||||
|
||||
public long getTrackIdByPosition(long catId, int positionInCategory)
|
||||
{
|
||||
return nativeGetTrackIdByPosition(catId, positionInCategory);
|
||||
}
|
||||
|
||||
public static void loadBookmarks() { nativeLoadBookmarks(); }
|
||||
|
||||
public void deleteCategory(long catId) { nativeDeleteCategory(catId); }
|
||||
|
||||
public void deleteTrack(long trackId)
|
||||
{
|
||||
nativeDeleteTrack(trackId);
|
||||
}
|
||||
|
||||
public void deleteBookmark(long bmkId)
|
||||
{
|
||||
nativeDeleteBookmark(bmkId);
|
||||
}
|
||||
|
||||
public long createCategory(String name) { return nativeCreateCategory(name); }
|
||||
|
||||
public void showBookmarkOnMap(long bmkId) { nativeShowBookmarkOnMap(bmkId); }
|
||||
|
||||
/**
|
||||
* @return null, if wrong category is passed.
|
||||
*/
|
||||
public native @Nullable String nativeSaveToKmzFile(int catId, String tmpPath);
|
||||
public @Nullable String saveToKmzFile(long catId, String tmpPath)
|
||||
{
|
||||
return nativeSaveToKmzFile(catId, tmpPath);
|
||||
}
|
||||
|
||||
public native Bookmark nativeAddBookmarkToLastEditedCategory(String name, double lat, double lon);
|
||||
public Bookmark addBookmarkToLastEditedCategory(String name, double lat, double lon)
|
||||
{
|
||||
return nativeAddBookmarkToLastEditedCategory(name, lat, lon);
|
||||
}
|
||||
|
||||
public native int nativeGetLastEditedCategory();
|
||||
public long getLastEditedCategory() { return nativeGetLastEditedCategory(); }
|
||||
|
||||
public static native String nativeGenerateUniqueFileName(String baseName);
|
||||
public static String generateUniqueFileName(String baseName)
|
||||
{
|
||||
return nativeGenerateUniqueFileName(baseName);
|
||||
}
|
||||
|
||||
public static native void nativeLoadKmzFile(@NonNull String path, boolean isTemporaryFile);
|
||||
public void setCloudEnabled(boolean enabled) { nativeSetCloudEnabled(enabled); }
|
||||
|
||||
public static native String nativeFormatNewBookmarkName();
|
||||
public boolean isCloudEnabled() { return nativeIsCloudEnabled(); }
|
||||
|
||||
public static native boolean nativeIsAsyncBookmarksLoadingInProgress();
|
||||
public long getLastSynchronizationTimestamp() { return nativeGetLastSynchronizationTimestamp(); }
|
||||
|
||||
public static void loadKmzFile(@NonNull String path, boolean isTemporaryFile)
|
||||
{
|
||||
nativeLoadKmzFile(path, isTemporaryFile);
|
||||
}
|
||||
|
||||
public static String formatNewBookmarkName()
|
||||
{
|
||||
return nativeFormatNewBookmarkName();
|
||||
}
|
||||
|
||||
public static boolean isAsyncBookmarksLoadingInProgress()
|
||||
{
|
||||
return nativeIsAsyncBookmarksLoadingInProgress();
|
||||
}
|
||||
|
||||
private native int nativeGetCategoriesCount();
|
||||
|
||||
private native int nativeGetCategoryPositionById(long catId);
|
||||
|
||||
private native long nativeGetCategoryIdByPosition(int position);
|
||||
|
||||
private native int nativeGetBookmarksCount(long catId);
|
||||
|
||||
private native int nativeGetTracksCount(long catId);
|
||||
|
||||
private native Bookmark nativeGetBookmark(long bmkId);
|
||||
|
||||
private native long nativeGetBookmarkIdByPosition(long catId, int position);
|
||||
|
||||
private native Track nativeGetTrack(long trackId, Class<Track> trackClazz);
|
||||
|
||||
private native long nativeGetTrackIdByPosition(long catId, int position);
|
||||
|
||||
private native boolean nativeIsVisible(long catId);
|
||||
|
||||
private native void nativeSetVisibility(long catId, boolean visible);
|
||||
|
||||
private native String nativeGetCategoryName(long catId);
|
||||
|
||||
private native void nativeSetCategoryName(long catId, String n);
|
||||
|
||||
private static native void nativeLoadBookmarks();
|
||||
|
||||
private native boolean nativeDeleteCategory(long catId);
|
||||
|
||||
private native void nativeDeleteTrack(long trackId);
|
||||
|
||||
private native void nativeDeleteBookmark(long bmkId);
|
||||
|
||||
/**
|
||||
* @return category Id
|
||||
*/
|
||||
private native long nativeCreateCategory(String name);
|
||||
|
||||
private native void nativeShowBookmarkOnMap(long bmkId);
|
||||
|
||||
/**
|
||||
* @return null, if wrong category is passed.
|
||||
*/
|
||||
private native @Nullable String nativeSaveToKmzFile(long catId, String tmpPath);
|
||||
|
||||
private native Bookmark nativeAddBookmarkToLastEditedCategory(String name, double lat, double lon);
|
||||
|
||||
private native long nativeGetLastEditedCategory();
|
||||
|
||||
private native void nativeSetCloudEnabled(boolean enabled);
|
||||
|
||||
private native boolean nativeIsCloudEnabled();
|
||||
|
||||
private native long nativeGetLastSynchronizationTimestamp();
|
||||
|
||||
private static native String nativeGenerateUniqueFileName(String baseName);
|
||||
|
||||
private static native void nativeLoadKmzFile(@NonNull String path, boolean isTemporaryFile);
|
||||
|
||||
private static native String nativeFormatNewBookmarkName();
|
||||
|
||||
private static native boolean nativeIsAsyncBookmarksLoadingInProgress();
|
||||
|
||||
public interface BookmarksLoadingListener
|
||||
{
|
||||
|
|
|
@ -2,13 +2,13 @@ package com.mapswithme.maps.bookmarks.data;
|
|||
|
||||
public class Track
|
||||
{
|
||||
private final int mTrackId;
|
||||
private final int mCategoryId;
|
||||
private final long mTrackId;
|
||||
private final long mCategoryId;
|
||||
private final String mName;
|
||||
private final String mLengthString;
|
||||
private final int mColor;
|
||||
|
||||
Track(int trackId, int categoryId, String name, String lengthString, int color)
|
||||
Track(long trackId, long categoryId, String name, String lengthString, int color)
|
||||
{
|
||||
mTrackId = trackId;
|
||||
mCategoryId = categoryId;
|
||||
|
@ -23,7 +23,7 @@ public class Track
|
|||
|
||||
public int getColor() { return mColor; }
|
||||
|
||||
public int getTrackId() { return mTrackId; }
|
||||
public long getTrackId() { return mTrackId; }
|
||||
|
||||
public int getCategoryId() { return mCategoryId; }
|
||||
public long getCategoryId() { return mCategoryId; }
|
||||
}
|
||||
|
|
|
@ -35,7 +35,8 @@ public class EditBookmarkFragment extends BaseMwmDialogFragment implements View.
|
|||
private EditText mEtName;
|
||||
private TextView mTvBookmarkGroup;
|
||||
private ImageView mIvColor;
|
||||
private int mCategoryId;
|
||||
private int mCategoryPosition;
|
||||
private long mCategoryId;
|
||||
@Nullable
|
||||
private Icon mIcon;
|
||||
@Nullable
|
||||
|
@ -45,16 +46,16 @@ public class EditBookmarkFragment extends BaseMwmDialogFragment implements View.
|
|||
|
||||
public interface EditBookmarkListener
|
||||
{
|
||||
void onBookmarkSaved(int categoryId, int bookmarkId);
|
||||
void onBookmarkSaved(long bookmarkId);
|
||||
}
|
||||
|
||||
public static void editBookmark(int categoryId, int bookmarkId, @NonNull Context context,
|
||||
public static void editBookmark(int categoryPosition, long bookmarkId, @NonNull Context context,
|
||||
@NonNull FragmentManager manager,
|
||||
@Nullable EditBookmarkListener listener)
|
||||
{
|
||||
final Bundle args = new Bundle();
|
||||
args.putInt(EXTRA_CATEGORY_ID, categoryId);
|
||||
args.putInt(EXTRA_BOOKMARK_ID, bookmarkId);
|
||||
args.putInt(EXTRA_CATEGORY_ID, categoryPosition);
|
||||
args.putLong(EXTRA_BOOKMARK_ID, bookmarkId);
|
||||
String name = EditBookmarkFragment.class.getName();
|
||||
final EditBookmarkFragment fragment = (EditBookmarkFragment) Fragment.instantiate(context, name, args);
|
||||
fragment.setArguments(args);
|
||||
|
@ -81,9 +82,10 @@ public class EditBookmarkFragment extends BaseMwmDialogFragment implements View.
|
|||
public void onViewCreated(@NonNull View view, Bundle savedInstanceState)
|
||||
{
|
||||
final Bundle args = getArguments();
|
||||
mCategoryId = args.getInt(EXTRA_CATEGORY_ID);
|
||||
int bookmarkId = args.getInt(EXTRA_BOOKMARK_ID);
|
||||
mBookmark = BookmarkManager.INSTANCE.getBookmark(mCategoryId, bookmarkId);
|
||||
mCategoryPosition = args.getInt(EXTRA_CATEGORY_ID);
|
||||
mCategoryId = BookmarkManager.INSTANCE.getCategoryIdByPosition(mCategoryPosition);
|
||||
long bookmarkId = args.getLong(EXTRA_BOOKMARK_ID);
|
||||
mBookmark = BookmarkManager.INSTANCE.getBookmark(bookmarkId);
|
||||
mIcon = mBookmark.getIcon();
|
||||
mEtName = (EditText) view.findViewById(R.id.et__bookmark_name);
|
||||
mEtDescription = (EditText) view.findViewById(R.id.et__description);
|
||||
|
@ -135,7 +137,7 @@ public class EditBookmarkFragment extends BaseMwmDialogFragment implements View.
|
|||
mBookmark.setParams(mEtName.getText().toString(), mIcon, mEtDescription.getText().toString());
|
||||
|
||||
if (mListener != null)
|
||||
mListener.onBookmarkSaved(mBookmark.getCategoryId(), mBookmark.getBookmarkId());
|
||||
mListener.onBookmarkSaved(mBookmark.getBookmarkId());
|
||||
dismiss();
|
||||
}
|
||||
|
||||
|
@ -159,7 +161,7 @@ public class EditBookmarkFragment extends BaseMwmDialogFragment implements View.
|
|||
return;
|
||||
|
||||
final Bundle args = new Bundle();
|
||||
args.putInt(ChooseBookmarkCategoryFragment.CATEGORY_ID, mCategoryId);
|
||||
args.putInt(ChooseBookmarkCategoryFragment.CATEGORY_ID, mCategoryPosition);
|
||||
final ChooseBookmarkCategoryFragment fragment = (ChooseBookmarkCategoryFragment) Fragment.instantiate(getActivity(), ChooseBookmarkCategoryFragment.class.getName(), args);
|
||||
fragment.show(getChildFragmentManager(), null);
|
||||
}
|
||||
|
@ -202,7 +204,7 @@ public class EditBookmarkFragment extends BaseMwmDialogFragment implements View.
|
|||
|
||||
private void refreshCategory()
|
||||
{
|
||||
mTvBookmarkGroup.setText(BookmarkManager.INSTANCE.getCategory(mCategoryId).getName());
|
||||
mTvBookmarkGroup.setText(BookmarkManager.INSTANCE.getCategoryName(mCategoryId));
|
||||
}
|
||||
|
||||
private void refreshBookmark()
|
||||
|
@ -220,7 +222,7 @@ public class EditBookmarkFragment extends BaseMwmDialogFragment implements View.
|
|||
}
|
||||
|
||||
@Override
|
||||
public void onCategoryChanged(int newCategoryId)
|
||||
public void onCategoryChanged(long newCategoryId)
|
||||
{
|
||||
mCategoryId = newCategoryId;
|
||||
refreshCategory();
|
||||
|
|
|
@ -1829,7 +1829,8 @@ public class PlacePageView extends RelativeLayout
|
|||
return;
|
||||
}
|
||||
Bookmark bookmark = (Bookmark) mMapObject;
|
||||
EditBookmarkFragment.editBookmark(bookmark.getCategoryId(), bookmark.getBookmarkId(),
|
||||
final int categoryPosition = BookmarkManager.INSTANCE.getCategoryPositionById(bookmark.getCategoryId());
|
||||
EditBookmarkFragment.editBookmark(categoryPosition, bookmark.getBookmarkId(),
|
||||
getActivity(), getActivity().getSupportFragmentManager(),
|
||||
this);
|
||||
break;
|
||||
|
@ -1890,7 +1891,7 @@ public class PlacePageView extends RelativeLayout
|
|||
if (MapObject.isOfType(MapObject.BOOKMARK, mapObject))
|
||||
setMapObject(Framework.nativeDeleteBookmarkFromMapObject(), true, null);
|
||||
else
|
||||
setMapObject(BookmarkManager.INSTANCE.addNewBookmark(BookmarkManager.nativeFormatNewBookmarkName(),
|
||||
setMapObject(BookmarkManager.INSTANCE.addNewBookmark(BookmarkManager.formatNewBookmarkName(),
|
||||
mapObject.getLat(), mapObject.getLon()), true, null);
|
||||
post(new Runnable()
|
||||
{
|
||||
|
@ -2092,9 +2093,9 @@ public class PlacePageView extends RelativeLayout
|
|||
}
|
||||
|
||||
@Override
|
||||
public void onBookmarkSaved(int categoryId, int bookmarkId)
|
||||
public void onBookmarkSaved(long bookmarkId)
|
||||
{
|
||||
setMapObject(BookmarkManager.INSTANCE.getBookmark(categoryId, bookmarkId), true, null);
|
||||
setMapObject(BookmarkManager.INSTANCE.getBookmark(bookmarkId), true, null);
|
||||
}
|
||||
|
||||
public boolean isBannerTouched(@NonNull MotionEvent event)
|
||||
|
|
|
@ -213,10 +213,10 @@ public final class SharingHelper
|
|||
save();
|
||||
}
|
||||
|
||||
public static void shareBookmarksCategory(Activity context, int id)
|
||||
public static void shareBookmarksCategory(Activity context, long id)
|
||||
{
|
||||
final String path = MwmApplication.get().getTempPath() + "/";
|
||||
String name = BookmarkManager.INSTANCE.nativeSaveToKmzFile(id, path);
|
||||
String name = BookmarkManager.INSTANCE.saveToKmzFile(id, path);
|
||||
if (name == null)
|
||||
return;
|
||||
|
||||
|
|
Loading…
Add table
Reference in a new issue