diff options
author | Daria Volvenkova <d.volvenkova@corp.mail.ru> | 2018-04-03 01:33:21 +0300 |
---|---|---|
committer | Roman Kuznetsov <r.kuznetsow@gmail.com> | 2018-04-06 15:59:42 +0300 |
commit | ed54df20ee4dd5b0c236cd6a89a67766eaf3bd96 (patch) | |
tree | e3b7ced025a60cdca1271aa24469c9a06d3b445b /android/src | |
parent | b918e138b4a53bd2015273a51566132444d0c0a1 (diff) |
Support KMB on Android.
Diffstat (limited to 'android/src')
6 files changed, 53 insertions, 40 deletions
diff --git a/android/src/com/mapswithme/maps/bookmarks/IconsAdapter.java b/android/src/com/mapswithme/maps/bookmarks/IconsAdapter.java index 4c42c81151..9a31173e2b 100644 --- a/android/src/com/mapswithme/maps/bookmarks/IconsAdapter.java +++ b/android/src/com/mapswithme/maps/bookmarks/IconsAdapter.java @@ -14,7 +14,7 @@ import com.mapswithme.maps.bookmarks.data.Icon; public class IconsAdapter extends ArrayAdapter<Icon> { - private String mCheckedIconType; + private int mCheckedIconColor; public IconsAdapter(Context context, List<Icon> list) { @@ -36,7 +36,7 @@ public class IconsAdapter extends ArrayAdapter<Icon> holder = (SpinnerViewHolder) convertView.getTag(); final Icon icon = getItem(position); - if (icon.getType().equals(mCheckedIconType)) + if (icon.getColor() == mCheckedIconColor) holder.icon.setImageResource(getItem(position).getSelectedResId()); else holder.icon.setImageResource(getItem(position).getResId()); @@ -54,9 +54,9 @@ public class IconsAdapter extends ArrayAdapter<Icon> } } - public void chooseItem(String position) + public void chooseItem(int position) { - mCheckedIconType = position; + mCheckedIconColor = position; notifyDataSetChanged(); } } diff --git a/android/src/com/mapswithme/maps/bookmarks/data/Bookmark.java b/android/src/com/mapswithme/maps/bookmarks/data/Bookmark.java index f218339b98..a3e6977c03 100644 --- a/android/src/com/mapswithme/maps/bookmarks/data/Bookmark.java +++ b/android/src/com/mapswithme/maps/bookmarks/data/Bookmark.java @@ -62,7 +62,7 @@ public class Bookmark extends MapObject super.writeToParcel(dest, flags); dest.writeLong(mCategoryId); dest.writeLong(mBookmarkId); - dest.writeString(mIcon.getType()); + dest.writeInt(mIcon.getColor()); dest.writeDouble(mMerX); dest.writeDouble(mMerY); } @@ -75,7 +75,7 @@ public class Bookmark extends MapObject super(type, source); mCategoryId = source.readLong(); mBookmarkId = source.readLong(); - mIcon = BookmarkManager.getIconByType(source.readString()); + mIcon = BookmarkManager.getIconByColor(source.readInt()); mMerX = source.readDouble(); mMerY = source.readDouble(); initXY(); @@ -94,7 +94,7 @@ public class Bookmark extends MapObject private Icon getIconInternal() { - return BookmarkManager.getIconByType(nativeGetIcon(mBookmarkId)); + return BookmarkManager.getIconByColor(nativeGetColor(mBookmarkId)); } public Icon getIcon() @@ -130,7 +130,9 @@ public class Bookmark extends MapObject if (!title.equals(getTitle()) || icon != mIcon || !description.equals(getBookmarkDescription())) { - nativeSetBookmarkParams(mBookmarkId, title, icon != null ? icon.getType() : "", + nativeSetBookmarkParams(mBookmarkId, title, + icon != null ? icon.getColor() + : BookmarkManager.INSTANCE.getLastEditedColor(), description); } } @@ -164,13 +166,13 @@ public class Bookmark extends MapObject private native ParcelablePointD nativeGetXY(@IntRange(from = 0) long bookmarkId); - private native String nativeGetIcon(@IntRange(from = 0) long bookmarkId); + private native int nativeGetColor(@IntRange(from = 0) long bookmarkId); private native double nativeGetScale(@IntRange(from = 0) long bookmarkId); private native String nativeEncode2Ge0Url(@IntRange(from = 0) long bookmarkId, boolean addName); - private native void nativeSetBookmarkParams(@IntRange(from = 0) long bookmarkId, String name, String type, String descr); + private native void nativeSetBookmarkParams(@IntRange(from = 0) long bookmarkId, String name, int color, String descr); private native void nativeChangeCategory(@IntRange(from = 0) long oldCatId, @IntRange(from = 0) long newCatId, @IntRange(from = 0) long bookmarkId); } diff --git a/android/src/com/mapswithme/maps/bookmarks/data/BookmarkManager.java b/android/src/com/mapswithme/maps/bookmarks/data/BookmarkManager.java index 5057b2675e..6404b2c9a3 100644 --- a/android/src/com/mapswithme/maps/bookmarks/data/BookmarkManager.java +++ b/android/src/com/mapswithme/maps/bookmarks/data/BookmarkManager.java @@ -58,24 +58,40 @@ public enum BookmarkManager @NonNull private List<BookmarksCloudListener> mCloudListeners = new ArrayList<>(); + @Retention(RetentionPolicy.SOURCE) + @IntDef({ PREDEFINED_COLOR_NONE, PREDEFINED_COLOR_RED, PREDEFINED_COLOR_BLUE, + PREDEFINED_COLOR_PURPLE, PREDEFINED_COLOR_YELLOW, PREDEFINED_COLOR_PINK, + PREDEFINED_COLOR_BROWN, PREDEFINED_COLOR_GREEN, PREDEFINED_COLOR_ORANGE }) + + public @interface PredefinedColor {} + + public static final int PREDEFINED_COLOR_NONE = 0; + public static final int PREDEFINED_COLOR_RED = 1; + public static final int PREDEFINED_COLOR_BLUE = 2; + public static final int PREDEFINED_COLOR_PURPLE = 3; + public static final int PREDEFINED_COLOR_YELLOW = 4; + public static final int PREDEFINED_COLOR_PINK = 5; + public static final int PREDEFINED_COLOR_BROWN = 6; + public static final int PREDEFINED_COLOR_GREEN = 7; + public static final int PREDEFINED_COLOR_ORANGE = 8; + static { - ICONS.add(new Icon("placemark-red", "placemark-red", R.drawable.ic_bookmark_marker_red_off, R.drawable.ic_bookmark_marker_red_on)); - ICONS.add(new Icon("placemark-blue", "placemark-blue", R.drawable.ic_bookmark_marker_blue_off, R.drawable.ic_bookmark_marker_blue_on)); - ICONS.add(new Icon("placemark-purple", "placemark-purple", R.drawable.ic_bookmark_marker_purple_off, R.drawable.ic_bookmark_marker_purple_on)); - ICONS.add(new Icon("placemark-yellow", "placemark-yellow", R.drawable.ic_bookmark_marker_yellow_off, R.drawable.ic_bookmark_marker_yellow_on)); - ICONS.add(new Icon("placemark-pink", "placemark-pink", R.drawable.ic_bookmark_marker_pink_off, R.drawable.ic_bookmark_marker_pink_on)); - ICONS.add(new Icon("placemark-brown", "placemark-brown", R.drawable.ic_bookmark_marker_brown_off, R.drawable.ic_bookmark_marker_brown_on)); - ICONS.add(new Icon("placemark-green", "placemark-green", R.drawable.ic_bookmark_marker_green_off, R.drawable.ic_bookmark_marker_green_on)); - ICONS.add(new Icon("placemark-orange", "placemark-orange", R.drawable.ic_bookmark_marker_orange_off, R.drawable.ic_bookmark_marker_orange_on)); - ICONS.add(new Icon("placemark-hotel", "placemark-hotel", R.drawable.ic_bookmark_marker_hotel_off, R.drawable.ic_bookmark_marker_hotel_on)); + ICONS.add(new Icon("placemark-red", PREDEFINED_COLOR_RED, R.drawable.ic_bookmark_marker_red_off, R.drawable.ic_bookmark_marker_red_on)); + ICONS.add(new Icon("placemark-blue", PREDEFINED_COLOR_BLUE, R.drawable.ic_bookmark_marker_blue_off, R.drawable.ic_bookmark_marker_blue_on)); + ICONS.add(new Icon("placemark-purple", PREDEFINED_COLOR_PURPLE, R.drawable.ic_bookmark_marker_purple_off, R.drawable.ic_bookmark_marker_purple_on)); + ICONS.add(new Icon("placemark-yellow", PREDEFINED_COLOR_YELLOW, R.drawable.ic_bookmark_marker_yellow_off, R.drawable.ic_bookmark_marker_yellow_on)); + ICONS.add(new Icon("placemark-pink", PREDEFINED_COLOR_PINK, R.drawable.ic_bookmark_marker_pink_off, R.drawable.ic_bookmark_marker_pink_on)); + ICONS.add(new Icon("placemark-brown", PREDEFINED_COLOR_BROWN, R.drawable.ic_bookmark_marker_brown_off, R.drawable.ic_bookmark_marker_brown_on)); + ICONS.add(new Icon("placemark-green", PREDEFINED_COLOR_GREEN, R.drawable.ic_bookmark_marker_green_off, R.drawable.ic_bookmark_marker_green_on)); + ICONS.add(new Icon("placemark-orange", PREDEFINED_COLOR_ORANGE, R.drawable.ic_bookmark_marker_orange_off, R.drawable.ic_bookmark_marker_orange_on)); } - static Icon getIconByType(String type) + static Icon getIconByColor(int color) { for (Icon icon : ICONS) { - if (icon.getType().equals(type)) + if (icon.getColor() == color) return icon; } // return default icon @@ -318,11 +334,7 @@ public enum BookmarkManager public long getLastEditedCategory() { return nativeGetLastEditedCategory(); } - @NonNull - public static String generateUniqueFileName(@NonNull String baseName) - { - return nativeGenerateUniqueFileName(baseName); - } + public int getLastEditedColor() { return nativeGetLastEditedColor(); } public void setCloudEnabled(boolean enabled) { nativeSetCloudEnabled(enabled); } @@ -458,15 +470,14 @@ public enum BookmarkManager private native long nativeGetLastEditedCategory(); + private native int nativeGetLastEditedColor(); + private native void nativeSetCloudEnabled(boolean enabled); private native boolean nativeIsCloudEnabled(); private native long nativeGetLastSynchronizationTimestampInMs(); - @NonNull - private static native String nativeGenerateUniqueFileName(@NonNull String baseName); - private static native void nativeLoadKmzFile(@NonNull String path, boolean isTemporaryFile); @NonNull diff --git a/android/src/com/mapswithme/maps/bookmarks/data/Icon.java b/android/src/com/mapswithme/maps/bookmarks/data/Icon.java index 26045c48f9..3d89451c12 100644 --- a/android/src/com/mapswithme/maps/bookmarks/data/Icon.java +++ b/android/src/com/mapswithme/maps/bookmarks/data/Icon.java @@ -4,21 +4,21 @@ package com.mapswithme.maps.bookmarks.data; public class Icon { private final String mName; - private final String mType; + private final int mColor; private final int mResId; private final int mSelectedResId; - public Icon(String Name, String type, int resId, int selectedResId) + public Icon(String Name, int color, int resId, int selectedResId) { mName = Name; - mType = type; + mColor = color; mResId = resId; mSelectedResId = selectedResId; } - public String getType() + public int getColor() { - return mType; + return mColor; } public String getName() @@ -42,12 +42,12 @@ public class Icon if (o == null || !(o instanceof Icon)) return false; final Icon comparedIcon = (Icon) o; - return mType.equals(comparedIcon.getType()); + return mColor == comparedIcon.getColor(); } @Override public int hashCode() { - return mType.hashCode(); + return mColor; } } diff --git a/android/src/com/mapswithme/maps/widget/placepage/BookmarkColorDialogFragment.java b/android/src/com/mapswithme/maps/widget/placepage/BookmarkColorDialogFragment.java index c92ca45c1f..7005dd97bc 100644 --- a/android/src/com/mapswithme/maps/widget/placepage/BookmarkColorDialogFragment.java +++ b/android/src/com/mapswithme/maps/widget/placepage/BookmarkColorDialogFragment.java @@ -21,7 +21,7 @@ public class BookmarkColorDialogFragment extends BaseMwmDialogFragment { public static final String ICON_TYPE = "ExtraIconType"; - private String mIconType; + private int mIconColor; interface OnBookmarkColorChangeListener { @@ -37,7 +37,7 @@ public class BookmarkColorDialogFragment extends BaseMwmDialogFragment public Dialog onCreateDialog(Bundle savedInstanceState) { if (getArguments() != null) - mIconType = getArguments().getString(ICON_TYPE); + mIconColor = getArguments().getInt(ICON_TYPE); return new AlertDialog.Builder(getActivity()) .setView(buildView()) @@ -55,7 +55,7 @@ public class BookmarkColorDialogFragment extends BaseMwmDialogFragment { final List<Icon> icons = BookmarkManager.ICONS; final IconsAdapter adapter = new IconsAdapter(getActivity(), icons); - adapter.chooseItem(mIconType); + adapter.chooseItem(mIconColor); final GridView gView = (GridView) LayoutInflater.from(getActivity()).inflate(R.layout.fragment_color_grid, null); gView.setAdapter(adapter); diff --git a/android/src/com/mapswithme/maps/widget/placepage/EditBookmarkFragment.java b/android/src/com/mapswithme/maps/widget/placepage/EditBookmarkFragment.java index 227887f0a0..1caf0a1b44 100644 --- a/android/src/com/mapswithme/maps/widget/placepage/EditBookmarkFragment.java +++ b/android/src/com/mapswithme/maps/widget/placepage/EditBookmarkFragment.java @@ -172,7 +172,7 @@ public class EditBookmarkFragment extends BaseMwmDialogFragment implements View. return; final Bundle args = new Bundle(); - args.putString(BookmarkColorDialogFragment.ICON_TYPE, mIcon.getType()); + args.putInt(BookmarkColorDialogFragment.ICON_TYPE, mIcon.getColor()); final BookmarkColorDialogFragment dialogFragment = (BookmarkColorDialogFragment) BookmarkColorDialogFragment. instantiate(getActivity(), BookmarkColorDialogFragment.class.getName(), args); |