Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/mapsme/omim.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDmitry Yunitsky <yunik@mapswithme.com>2015-08-26 16:17:57 +0300
committerAlex Zolotarev <alex@maps.me>2015-09-23 03:03:28 +0300
commitde370da0c3587fa8b9cd036a53a9b09e2ca02b98 (patch)
treed6a5236a525d95e291ae219d6d258ae4681fce83 /android
parent94f74c64fdac6cdffa1d79ad94cb5fbfcc276d31 (diff)
[android] Refactored lists to recyclers, fixed bug with bookmarks tranfer.
Diffstat (limited to 'android')
-rw-r--r--android/AndroidManifest.xml8
-rw-r--r--android/build.gradle3
-rw-r--r--android/res/layout/item_bookmark_category.xml5
-rw-r--r--android/res/layout/item_bookmark_category_choose.xml (renamed from android/res/layout/item_bookmark_set_chooser.xml)1
-rw-r--r--android/res/layout/item_bookmark_category_create.xml11
-rw-r--r--android/res/layout/item_bookmark_set_create.xml17
-rw-r--r--android/src/com/mapswithme/maps/MwmActivity.java38
-rw-r--r--android/src/com/mapswithme/maps/bookmarks/BaseBookmarkCategoryAdapter.java (renamed from android/src/com/mapswithme/maps/bookmarks/AbstractBookmarkCategoryAdapter.java)15
-rw-r--r--android/src/com/mapswithme/maps/bookmarks/BookmarkCategoriesAdapter.java104
-rw-r--r--android/src/com/mapswithme/maps/bookmarks/BookmarkCategoriesFragment.java74
-rw-r--r--android/src/com/mapswithme/maps/bookmarks/BookmarksListFragment.java4
-rw-r--r--android/src/com/mapswithme/maps/bookmarks/ChooseBookmarkCategoryActivity.java28
-rw-r--r--android/src/com/mapswithme/maps/bookmarks/ChooseBookmarkCategoryAdapter.java103
-rw-r--r--android/src/com/mapswithme/maps/bookmarks/ChooseBookmarkCategoryFragment.java120
-rw-r--r--android/src/com/mapswithme/maps/dialog/EditTextDialogFragment.java38
-rw-r--r--android/src/com/mapswithme/maps/widget/placepage/EditBookmarkFragment.java24
-rw-r--r--android/src/com/mapswithme/maps/widget/placepage/PlacePageView.java51
-rw-r--r--android/src/com/mapswithme/maps/widget/recycler/RecyclerClickListener.java8
-rw-r--r--android/src/com/mapswithme/maps/widget/recycler/RecyclerLongClickListener.java8
-rw-r--r--android/src/com/mapswithme/util/statistics/Statistics.java1
20 files changed, 376 insertions, 285 deletions
diff --git a/android/AndroidManifest.xml b/android/AndroidManifest.xml
index ba12b0d2c8..a0d089b317 100644
--- a/android/AndroidManifest.xml
+++ b/android/AndroidManifest.xml
@@ -221,14 +221,6 @@
</activity>
<activity
- android:name="com.mapswithme.maps.bookmarks.ChooseBookmarkCategoryActivity"
- android:configChanges="orientation|screenLayout|screenSize"
- android:label="@string/bookmark_sets"
- android:theme="@style/MwmTheme.Light"
- android:windowSoftInputMode="stateUnspecified|adjustResize">
- </activity>
-
- <activity
android:name="com.mapswithme.maps.bookmarks.BookmarkCategoriesActivity"
android:configChanges="orientation|screenLayout|screenSize"
android:label="@string/bookmarks"
diff --git a/android/build.gradle b/android/build.gradle
index 4915087bd4..7359179f79 100644
--- a/android/build.gradle
+++ b/android/build.gradle
@@ -34,6 +34,9 @@ dependencies {
compile fileTree(dir: '3rd_party', include: '*.jar')
// BottomSheet
compile project(":3rd_party:BottomSheet")
+ // LinearLayoutManager allowing wrap_content of RecyclerView-s
+ // TODO remove this library when default LinearLayoutManager will be fixed.
+ compile 'org.solovyev.android.views:linear-layout-manager:0.5@aar'
}
def getDate() {
diff --git a/android/res/layout/item_bookmark_category.xml b/android/res/layout/item_bookmark_category.xml
index 37db772131..fd0e4a55da 100644
--- a/android/res/layout/item_bookmark_category.xml
+++ b/android/res/layout/item_bookmark_category.xml
@@ -3,18 +3,19 @@
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="wrap_content"
+ android:background="?clickableBackground"
android:gravity="center_vertical"
android:minHeight="@dimen/height_item_oneline"
android:paddingLeft="0dp"
android:paddingRight="@dimen/margin_base">
<ImageView
- android:id="@+id/set_visible"
+ android:id="@+id/iv__set_visible"
android:layout_width="@dimen/height_item_oneline"
android:layout_height="@dimen/height_item_oneline"
android:layout_weight="0"
- android:scaleType="center"
android:background="?clickableBackground"
+ android:scaleType="center"
tools:src="@drawable/ic_bookmark_show"/>
<TextView
diff --git a/android/res/layout/item_bookmark_set_chooser.xml b/android/res/layout/item_bookmark_category_choose.xml
index 48cb90b03a..a75e2d9ed4 100644
--- a/android/res/layout/item_bookmark_set_chooser.xml
+++ b/android/res/layout/item_bookmark_category_choose.xml
@@ -3,6 +3,7 @@
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="48dp"
+ android:background="?clickableBackground"
android:gravity="center_vertical"
android:orientation="horizontal"
android:paddingLeft="@dimen/margin_base"
diff --git a/android/res/layout/item_bookmark_category_create.xml b/android/res/layout/item_bookmark_category_create.xml
new file mode 100644
index 0000000000..b723229afd
--- /dev/null
+++ b/android/res/layout/item_bookmark_category_create.xml
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="utf-8"?>
+<TextView
+ xmlns:android="http://schemas.android.com/apk/res/android"
+ android:layout_width="match_parent"
+ android:layout_height="@dimen/base_block_size"
+ android:background="?clickableBackground"
+ android:gravity="center_vertical"
+ android:paddingLeft="@dimen/margin_base"
+ android:paddingRight="@dimen/margin_base"
+ android:text="@string/add_new_set"
+ android:textAppearance="@style/MwmTextAppearance.Button"/> \ No newline at end of file
diff --git a/android/res/layout/item_bookmark_set_create.xml b/android/res/layout/item_bookmark_set_create.xml
deleted file mode 100644
index d01d623a9d..0000000000
--- a/android/res/layout/item_bookmark_set_create.xml
+++ /dev/null
@@ -1,17 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<RelativeLayout
- xmlns:android="http://schemas.android.com/apk/res/android"
- android:layout_width="match_parent"
- android:layout_height="48dp"
- android:paddingLeft="@dimen/margin_base"
- android:paddingRight="@dimen/margin_base">
-
- <TextView
- android:id="@+id/chs_footer_button"
- android:layout_width="match_parent"
- android:layout_height="wrap_content"
- android:layout_centerVertical="true"
- android:text="@string/add_new_set"
- android:textAppearance="@style/MwmTextAppearance.Button"/>
-
-</RelativeLayout> \ No newline at end of file
diff --git a/android/src/com/mapswithme/maps/MwmActivity.java b/android/src/com/mapswithme/maps/MwmActivity.java
index f262806446..4b47013309 100644
--- a/android/src/com/mapswithme/maps/MwmActivity.java
+++ b/android/src/com/mapswithme/maps/MwmActivity.java
@@ -6,7 +6,6 @@ import android.content.BroadcastReceiver;
import android.content.Context;
import android.content.DialogInterface;
import android.content.Intent;
-import android.graphics.Point;
import android.location.Location;
import android.os.Build;
import android.os.Bundle;
@@ -25,6 +24,7 @@ import android.view.ViewGroup;
import android.widget.ImageButton;
import android.widget.LinearLayout;
import android.widget.Toast;
+
import com.mapswithme.country.ActiveCountryTree;
import com.mapswithme.country.DownloadActivity;
import com.mapswithme.country.DownloadFragment;
@@ -36,12 +36,10 @@ import com.mapswithme.maps.ads.LikesManager;
import com.mapswithme.maps.api.ParsedMwmRequest;
import com.mapswithme.maps.base.BaseMwmFragmentActivity;
import com.mapswithme.maps.bookmarks.BookmarkCategoriesActivity;
-import com.mapswithme.maps.bookmarks.ChooseBookmarkCategoryActivity;
-import com.mapswithme.maps.bookmarks.data.Bookmark;
+import com.mapswithme.maps.bookmarks.ChooseBookmarkCategoryFragment;
import com.mapswithme.maps.bookmarks.data.BookmarkManager;
import com.mapswithme.maps.bookmarks.data.MapObject;
import com.mapswithme.maps.bookmarks.data.MapObject.ApiPoint;
-import com.mapswithme.maps.bookmarks.data.ParcelablePoint;
import com.mapswithme.maps.dialog.RoutingErrorDialogFragment;
import com.mapswithme.maps.location.LocationHelper;
import com.mapswithme.maps.location.LocationPredictor;
@@ -60,7 +58,13 @@ import com.mapswithme.maps.widget.menu.MainMenu;
import com.mapswithme.maps.widget.placepage.BasePlacePageAnimationController;
import com.mapswithme.maps.widget.placepage.PlacePageView;
import com.mapswithme.maps.widget.placepage.PlacePageView.State;
-import com.mapswithme.util.*;
+import com.mapswithme.util.BottomSheetHelper;
+import com.mapswithme.util.Constants;
+import com.mapswithme.util.InputUtils;
+import com.mapswithme.util.LocationUtils;
+import com.mapswithme.util.UiUtils;
+import com.mapswithme.util.Utils;
+import com.mapswithme.util.Yota;
import com.mapswithme.util.sharing.ShareOption;
import com.mapswithme.util.sharing.SharingHelper;
import com.mapswithme.util.statistics.AlohaHelper;
@@ -79,7 +83,8 @@ public class MwmActivity extends BaseMwmFragmentActivity
Framework.RoutingListener,
MapFragment.MapRenderingListener,
CustomNavigateUpListener,
- Framework.RoutingProgressListener
+ Framework.RoutingProgressListener,
+ ChooseBookmarkCategoryFragment.Listener
{
public static final String EXTRA_TASK = "map_task";
private final static String TAG = "MwmActivity";
@@ -136,11 +141,12 @@ public class MwmActivity extends BaseMwmFragmentActivity
private SearchToolbarController mSearchController;
private LastCompassData mLastCompassData;
-
public interface LeftAnimationTrackListener
{
void onTrackStarted(boolean collapsed);
+
void onTrackFinished(boolean collapsed);
+
void onTrackLeftAnimation(float offset);
}
@@ -1334,18 +1340,6 @@ public class MwmActivity extends BaseMwmFragmentActivity
}
@Override
- protected void onActivityResult(int requestCode, int resultCode, Intent data)
- {
- if (resultCode == RESULT_OK && requestCode == ChooseBookmarkCategoryActivity.REQUEST_CODE_BOOKMARK_SET)
- {
- final Point bookmarkAndCategory = ((ParcelablePoint) data.getParcelableExtra(ChooseBookmarkCategoryActivity.BOOKMARK)).getPoint();
- final Bookmark bookmark = BookmarkManager.INSTANCE.getBookmark(bookmarkAndCategory.x, bookmarkAndCategory.y);
- mPlacePage.setMapObject(bookmark);
- }
- super.onActivityResult(requestCode, resultCode, data);
- }
-
- @Override
public void onRoutingEvent(final int resultCode, final Index[] missingCountries)
{
runOnUiThread(new Runnable()
@@ -1499,4 +1493,10 @@ public class MwmActivity extends BaseMwmFragmentActivity
mMapFragment.nativeCompassUpdated(mLastCompassData.magneticNorth, mLastCompassData.trueNorth, true);
}
}
+
+ @Override
+ public void onCategoryChanged(int bookmarkId, int newCategoryId)
+ {
+ mPlacePage.setMapObject(BookmarkManager.INSTANCE.getBookmark(newCategoryId, bookmarkId));
+ }
}
diff --git a/android/src/com/mapswithme/maps/bookmarks/AbstractBookmarkCategoryAdapter.java b/android/src/com/mapswithme/maps/bookmarks/BaseBookmarkCategoryAdapter.java
index c83ff86114..d8405efa3f 100644
--- a/android/src/com/mapswithme/maps/bookmarks/AbstractBookmarkCategoryAdapter.java
+++ b/android/src/com/mapswithme/maps/bookmarks/BaseBookmarkCategoryAdapter.java
@@ -1,16 +1,16 @@
package com.mapswithme.maps.bookmarks;
import android.content.Context;
-import android.widget.BaseAdapter;
+import android.support.v7.widget.RecyclerView;
import com.mapswithme.maps.bookmarks.data.BookmarkCategory;
import com.mapswithme.maps.bookmarks.data.BookmarkManager;
-public abstract class AbstractBookmarkCategoryAdapter extends BaseAdapter
+public abstract class BaseBookmarkCategoryAdapter<V extends RecyclerView.ViewHolder> extends RecyclerView.Adapter<V>
{
private final Context mContext;
- public AbstractBookmarkCategoryAdapter(Context context)
+ public BaseBookmarkCategoryAdapter(Context context)
{
mContext = context;
}
@@ -21,18 +21,11 @@ public abstract class AbstractBookmarkCategoryAdapter extends BaseAdapter
}
@Override
- public int getCount()
+ public int getItemCount()
{
return BookmarkManager.INSTANCE.getCategoriesCount();
}
- @Override
- public long getItemId(int position)
- {
- return position;
- }
-
- @Override
public BookmarkCategory getItem(int position)
{
return BookmarkManager.INSTANCE.getCategoryById(position);
diff --git a/android/src/com/mapswithme/maps/bookmarks/BookmarkCategoriesAdapter.java b/android/src/com/mapswithme/maps/bookmarks/BookmarkCategoriesAdapter.java
index 4a99ef8f52..59213743b0 100644
--- a/android/src/com/mapswithme/maps/bookmarks/BookmarkCategoriesAdapter.java
+++ b/android/src/com/mapswithme/maps/bookmarks/BookmarkCategoriesAdapter.java
@@ -1,6 +1,7 @@
package com.mapswithme.maps.bookmarks;
import android.content.Context;
+import android.support.v7.widget.RecyclerView;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
@@ -10,60 +11,74 @@ import android.widget.TextView;
import com.mapswithme.maps.R;
import com.mapswithme.maps.bookmarks.data.BookmarkCategory;
import com.mapswithme.maps.bookmarks.data.BookmarkManager;
+import com.mapswithme.maps.widget.recycler.RecyclerClickListener;
+import com.mapswithme.maps.widget.recycler.RecyclerLongClickListener;
-public class BookmarkCategoriesAdapter extends AbstractBookmarkCategoryAdapter
+public class BookmarkCategoriesAdapter extends BaseBookmarkCategoryAdapter<BookmarkCategoriesAdapter.ViewHolder>
{
- public BookmarkCategoriesAdapter(Context context)
- {
- super(context);
- }
-
private final static int TYPE_ITEM = 0;
private final static int TYPE_HELP = 1;
+ private RecyclerLongClickListener mLongClickListener;
+ private RecyclerClickListener mClickListener;
- @Override
- public int getCount()
- {
- return super.getCount() + 1;
- }
-
- @Override
- public int getItemViewType(int position)
+ public BookmarkCategoriesAdapter(Context context)
{
- return (position == getCount() - 1) ? TYPE_HELP : TYPE_ITEM;
+ super(context);
}
- @Override
- public int getViewTypeCount()
+ public void setOnClickListener(RecyclerClickListener listener)
{
- return 2;
+ mClickListener = listener;
}
- @Override
- public boolean isEnabled(int position)
+ public void setOnLongClickListener(RecyclerLongClickListener listener)
{
- return getItemViewType(position) != TYPE_HELP;
+ mLongClickListener = listener;
}
@Override
- public View getView(final int position, View convertView, ViewGroup parent)
+ public ViewHolder onCreateViewHolder(ViewGroup parent, int viewType)
{
- if (getItemViewType(position) == TYPE_HELP)
+ View view;
+ if (viewType == TYPE_HELP)
{
- final TextView hintView = (TextView) LayoutInflater.from(getContext()).inflate(R.layout.item_bookmark_hint, parent, false);
- if (super.getCount() > 0)
+ TextView hintView = (TextView) LayoutInflater.from(getContext()).inflate(R.layout.item_bookmark_hint, parent, false);
+ if (getItemCount() > 1)
hintView.setText(R.string.bookmarks_usage_hint_import_only);
- return hintView;
+
+ view = hintView;
}
+ else
+ view = LayoutInflater.from(getContext()).inflate(R.layout.item_bookmark_category, parent, false);
- if (convertView == null)
+ final ViewHolder holder = new ViewHolder(view, viewType);
+ view.setOnClickListener(new View.OnClickListener()
{
- convertView = LayoutInflater.from(getContext()).inflate(R.layout.item_bookmark_category, parent, false);
- final ViewHolder holder = new ViewHolder(convertView);
- convertView.setTag(holder);
- }
+ @Override
+ public void onClick(View v)
+ {
+ mClickListener.onItemClick(v, holder.getAdapterPosition());
+ }
+ });
+ view.setOnLongClickListener(new View.OnLongClickListener()
+ {
+ @Override
+ public boolean onLongClick(View v)
+ {
+ mLongClickListener.onLongItemClick(v, holder.getAdapterPosition());
+ return true;
+ }
+ });
+
+ return holder;
+ }
+
+ @Override
+ public void onBindViewHolder(final ViewHolder holder, final int position)
+ {
+ if (getItemViewType(position) == TYPE_HELP)
+ return;
- final ViewHolder holder = (ViewHolder) convertView.getTag();
final BookmarkCategory set = getItem(position);
holder.name.setText(set.getName());
holder.size.setText(String.valueOf(set.getSize()));
@@ -77,21 +92,38 @@ public class BookmarkCategoriesAdapter extends AbstractBookmarkCategoryAdapter
holder.setVisibilityState(set.isVisible());
}
});
+ }
+ @Override
+ public int getItemViewType(int position)
+ {
+ return (position == getItemCount() - 1) ? TYPE_HELP : TYPE_ITEM;
+ }
- return convertView;
+ @Override
+ public int getItemCount()
+ {
+ return super.getItemCount() + 1;
}
- static class ViewHolder
+ static class ViewHolder extends RecyclerView.ViewHolder
{
TextView name;
ImageView visibilityMarker;
TextView size;
- public ViewHolder(View root)
+ public ViewHolder(View root, int viewType)
{
+ super(root);
+
+ if (viewType == TYPE_HELP)
+ {
+ root.setEnabled(false);
+ return;
+ }
+
name = (TextView) root.findViewById(R.id.tv__set_name);
- visibilityMarker = (ImageView) root.findViewById(R.id.set_visible);
+ visibilityMarker = (ImageView) root.findViewById(R.id.iv__set_visible);
size = (TextView) root.findViewById(R.id.tv__set_size);
}
diff --git a/android/src/com/mapswithme/maps/bookmarks/BookmarkCategoriesFragment.java b/android/src/com/mapswithme/maps/bookmarks/BookmarkCategoriesFragment.java
index 65d7191b07..d78f2a8ee3 100644
--- a/android/src/com/mapswithme/maps/bookmarks/BookmarkCategoriesFragment.java
+++ b/android/src/com/mapswithme/maps/bookmarks/BookmarkCategoriesFragment.java
@@ -7,22 +7,23 @@ import android.view.LayoutInflater;
import android.view.MenuItem;
import android.view.View;
import android.view.ViewGroup;
-import android.widget.AdapterView;
-import android.widget.ListView;
import com.cocosw.bottomsheet.BottomSheet;
import com.mapswithme.maps.R;
-import com.mapswithme.maps.base.BaseMwmListFragment;
+import com.mapswithme.maps.base.BaseMwmRecyclerFragment;
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.recycler.RecyclerClickListener;
+import com.mapswithme.maps.widget.recycler.RecyclerLongClickListener;
import com.mapswithme.util.BottomSheetHelper;
import com.mapswithme.util.sharing.SharingHelper;
-public class BookmarkCategoriesFragment extends BaseMwmListFragment
+public class BookmarkCategoriesFragment extends BaseMwmRecyclerFragment
implements EditTextDialogFragment.OnTextSaveListener,
MenuItem.OnMenuItemClickListener,
- AdapterView.OnItemLongClickListener
+ RecyclerClickListener,
+ RecyclerLongClickListener
{
private int mSelectedPosition;
private BookmarkCategoriesAdapter mAdapter;
@@ -30,7 +31,7 @@ public class BookmarkCategoriesFragment extends BaseMwmListFragment
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState)
{
- return inflater.inflate(R.layout.simple_list, container, false);
+ return inflater.inflate(R.layout.recycler_default, container, false);
}
@Override
@@ -39,8 +40,9 @@ public class BookmarkCategoriesFragment extends BaseMwmListFragment
super.onViewCreated(view, savedInstanceState);
mAdapter = new BookmarkCategoriesAdapter(getActivity());
- setListAdapter(mAdapter);
- getListView().setOnItemLongClickListener(this);
+ mAdapter.setOnClickListener(this);
+ mAdapter.setOnLongClickListener(this);
+ getRecyclerView().setAdapter(mAdapter);
}
@Override
@@ -58,34 +60,6 @@ public class BookmarkCategoriesFragment extends BaseMwmListFragment
}
@Override
- public void onListItemClick(ListView l, View v, int position, long id)
- {
- startActivity(new Intent(getActivity(), BookmarkListActivity.class)
- .putExtra(ChooseBookmarkCategoryActivity.BOOKMARK_CATEGORY_INDEX, position));
- }
-
- @Override
- public boolean onItemLongClick(AdapterView<?> parent, View view, int position, long id)
- {
- mSelectedPosition = position;
-
- BookmarkCategory category = BookmarkManager.INSTANCE.getCategoryById(mSelectedPosition);
- BottomSheet bs = BottomSheetHelper.create(getActivity())
- .title(category.getName())
- .sheet(R.menu.menu_bookmark_categories)
- .listener(this)
- .build();
-
- 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);
- bs.show();
- return true;
- }
-
- @Override
public void onSaveText(String text)
{
final BookmarkCategory category = BookmarkManager.INSTANCE.getCategoryById(mSelectedPosition);
@@ -119,7 +93,6 @@ public class BookmarkCategoriesFragment extends BaseMwmListFragment
args.putString(EditTextDialogFragment.EXTRA_POSITIVE_BUTTON, getString(R.string.rename));
args.putString(EditTextDialogFragment.EXTRA_NEGATIVE_BUTTON, getString(R.string.cancel));
final EditTextDialogFragment fragment = (EditTextDialogFragment) Fragment.instantiate(getActivity(), EditTextDialogFragment.class.getName());
- fragment.setOnTextSaveListener(this);
fragment.setArguments(args);
fragment.show(getActivity().getSupportFragmentManager(), EditTextDialogFragment.class.getName());
break;
@@ -127,4 +100,31 @@ public class BookmarkCategoriesFragment extends BaseMwmListFragment
return true;
}
+
+ @Override
+ public void onLongItemClick(View v, int position)
+ {
+ mSelectedPosition = position;
+
+ BookmarkCategory category = BookmarkManager.INSTANCE.getCategoryById(mSelectedPosition);
+ BottomSheet bs = BottomSheetHelper.create(getActivity())
+ .title(category.getName())
+ .sheet(R.menu.menu_bookmark_categories)
+ .listener(this)
+ .build();
+
+ 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);
+ bs.show();
+ }
+
+ @Override
+ public void onItemClick(View v, int position)
+ {
+ startActivity(new Intent(getActivity(), BookmarkListActivity.class)
+ .putExtra(ChooseBookmarkCategoryFragment.CATEGORY_ID, position));
+ }
}
diff --git a/android/src/com/mapswithme/maps/bookmarks/BookmarksListFragment.java b/android/src/com/mapswithme/maps/bookmarks/BookmarksListFragment.java
index dee9e38565..ec5e76c73e 100644
--- a/android/src/com/mapswithme/maps/bookmarks/BookmarksListFragment.java
+++ b/android/src/com/mapswithme/maps/bookmarks/BookmarksListFragment.java
@@ -45,7 +45,7 @@ public class BookmarksListFragment extends BaseMwmListFragment
{
super.onCreate(savedInstanceState);
- mCategoryIndex = getArguments().getInt(ChooseBookmarkCategoryActivity.BOOKMARK_CATEGORY_INDEX, -1);
+ mCategoryIndex = getArguments().getInt(ChooseBookmarkCategoryFragment.CATEGORY_ID, -1);
mCategory = BookmarkManager.INSTANCE.getCategoryById(mCategoryIndex);
}
@@ -197,7 +197,7 @@ public class BookmarksListFragment extends BaseMwmListFragment
args.putInt(EditBookmarkFragment.EXTRA_BOOKMARK_ID, bmk);
final EditBookmarkFragment fragment = (EditBookmarkFragment) Fragment.instantiate(getActivity(), EditBookmarkFragment.class.getName(), args);
fragment.setArguments(args);
- fragment.show(getActivity().getSupportFragmentManager(), null);
+ fragment.show(getChildFragmentManager(), null);
}
@Override
diff --git a/android/src/com/mapswithme/maps/bookmarks/ChooseBookmarkCategoryActivity.java b/android/src/com/mapswithme/maps/bookmarks/ChooseBookmarkCategoryActivity.java
deleted file mode 100644
index dcc4a53042..0000000000
--- a/android/src/com/mapswithme/maps/bookmarks/ChooseBookmarkCategoryActivity.java
+++ /dev/null
@@ -1,28 +0,0 @@
-package com.mapswithme.maps.bookmarks;
-
-import android.app.Activity;
-import android.content.Intent;
-import android.support.v4.app.Fragment;
-
-import com.mapswithme.maps.base.BaseMwmFragmentActivity;
-
-public class ChooseBookmarkCategoryActivity extends BaseMwmFragmentActivity
-{
- public static final String BOOKMARK = "Bookmark";
- public static final String BOOKMARK_CATEGORY_INDEX = "BoookmarkCategoryIndex";
- public static final int REQUEST_CODE_BOOKMARK_SET = 0x1;
-
- @Override
- protected Class<? extends Fragment> getFragmentClass()
- {
- return ChooseBookmarkCategoryFragment.class;
- }
-
- @Override
- public void onBackPressed()
- {
- setResult(Activity.RESULT_OK, new Intent().putExtra(BOOKMARK, getIntent().getParcelableExtra(BOOKMARK)));
-
- super.onBackPressed();
- }
-}
diff --git a/android/src/com/mapswithme/maps/bookmarks/ChooseBookmarkCategoryAdapter.java b/android/src/com/mapswithme/maps/bookmarks/ChooseBookmarkCategoryAdapter.java
index bcfb01c0af..f9182966a6 100644
--- a/android/src/com/mapswithme/maps/bookmarks/ChooseBookmarkCategoryAdapter.java
+++ b/android/src/com/mapswithme/maps/bookmarks/ChooseBookmarkCategoryAdapter.java
@@ -1,6 +1,7 @@
package com.mapswithme.maps.bookmarks;
import android.content.Context;
+import android.support.v7.widget.RecyclerView;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
@@ -9,83 +10,103 @@ import android.widget.TextView;
import com.mapswithme.maps.R;
-public class ChooseBookmarkCategoryAdapter extends AbstractBookmarkCategoryAdapter
+public class ChooseBookmarkCategoryAdapter extends BaseBookmarkCategoryAdapter<ChooseBookmarkCategoryAdapter.SingleChoiceHolder>
{
- private int mCheckedPosition;
-
public static final int VIEW_TYPE_CATEGORY = 0;
public static final int VIEW_TYPE_ADD_NEW = 1;
+ private int mCheckedPosition;
+
+ public interface CategoryListener
+ {
+ void onCategorySet(int categoryId);
+
+ void onCategoryCreate();
+ }
+
+ private CategoryListener mListener;
+
public ChooseBookmarkCategoryAdapter(Context context, int pos)
{
super(context);
mCheckedPosition = pos;
}
+ public void setListener(CategoryListener listener)
+ {
+ mListener = listener;
+ }
+
@Override
- public int getViewTypeCount()
+ public SingleChoiceHolder onCreateViewHolder(ViewGroup parent, int viewType)
{
- return super.getViewTypeCount() + 1;
+ View view;
+ final LayoutInflater inflater = LayoutInflater.from(parent.getContext());
+ if (viewType == VIEW_TYPE_CATEGORY)
+ view = inflater.inflate(R.layout.item_bookmark_category_choose, parent, false);
+ else
+ view = inflater.inflate(R.layout.item_bookmark_category_create, parent, false);
+
+ final SingleChoiceHolder holder = new SingleChoiceHolder(view);
+
+ view.setOnClickListener(new View.OnClickListener()
+ {
+ @Override
+ public void onClick(View v)
+ {
+ if (mListener == null)
+ return;
+
+ if (holder.getItemViewType() == VIEW_TYPE_ADD_NEW)
+ mListener.onCategoryCreate();
+ else
+ mListener.onCategorySet(holder.getAdapterPosition());
+ }
+ });
+
+ return holder;
}
@Override
- public int getCount()
+ public void onBindViewHolder(SingleChoiceHolder holder, int position)
{
- return super.getCount() + 1;
+ if (holder.getItemViewType() == VIEW_TYPE_CATEGORY)
+ {
+ holder.name.setText(getItem(position).getName());
+ holder.checked.setChecked(mCheckedPosition == position);
+ }
}
@Override
public int getItemViewType(int position)
{
- return position == getCount() - 1 ? VIEW_TYPE_ADD_NEW : VIEW_TYPE_CATEGORY;
+ return position == getItemCount() - 1 ? VIEW_TYPE_ADD_NEW : VIEW_TYPE_CATEGORY;
}
@Override
- public View getView(int position, View convertView, ViewGroup parent)
+ public int getItemCount()
{
- final int viewType = getItemViewType(position);
- if (convertView == null)
- {
- if (viewType == VIEW_TYPE_CATEGORY)
- {
- convertView = LayoutInflater.from(getContext()).inflate(R.layout.item_bookmark_set_chooser, parent, false);
- convertView.setTag(new SingleChoiceHolder(convertView));
- }
- else
- convertView = LayoutInflater.from(getContext()).inflate(R.layout.item_bookmark_set_create, parent, false);
- }
-
- if (viewType == VIEW_TYPE_CATEGORY)
- {
- final SingleChoiceHolder holder = (SingleChoiceHolder) convertView.getTag();
- boolean checked = mCheckedPosition == position;
- holder.name.setText(getItem(position).getName());
- holder.checked.setChecked(checked);
- }
+ return super.getItemCount() + 1;
+ }
- return convertView;
+ public void chooseItem(int position)
+ {
+ final int oldPosition = mCheckedPosition;
+ mCheckedPosition = position;
+ notifyItemChanged(oldPosition);
+ notifyItemChanged(mCheckedPosition);
}
- private static class SingleChoiceHolder
+ static class SingleChoiceHolder extends RecyclerView.ViewHolder
{
TextView name;
RadioButton checked;
public SingleChoiceHolder(View convertView)
{
+ super(convertView);
name = (TextView) convertView.findViewById(R.id.tv__set_name);
checked = (RadioButton) convertView.findViewById(R.id.rb__selected);
}
}
-
- public void chooseItem(int position)
- {
- mCheckedPosition = position;
- notifyDataSetChanged();
- }
-
- public int getCheckedItemPosition()
- {
- return mCheckedPosition;
- }
}
diff --git a/android/src/com/mapswithme/maps/bookmarks/ChooseBookmarkCategoryFragment.java b/android/src/com/mapswithme/maps/bookmarks/ChooseBookmarkCategoryFragment.java
index 6db18a3c25..f393db0ed2 100644
--- a/android/src/com/mapswithme/maps/bookmarks/ChooseBookmarkCategoryFragment.java
+++ b/android/src/com/mapswithme/maps/bookmarks/ChooseBookmarkCategoryFragment.java
@@ -1,86 +1,122 @@
package com.mapswithme.maps.bookmarks;
-import android.graphics.Point;
+import android.app.Activity;
import android.os.Bundle;
+import android.support.annotation.Nullable;
+import android.support.v4.app.DialogFragment;
import android.support.v4.app.Fragment;
+import android.support.v7.widget.RecyclerView;
+import android.view.LayoutInflater;
import android.view.View;
-import android.widget.ListView;
+import android.view.ViewGroup;
import com.mapswithme.maps.R;
-import com.mapswithme.maps.base.BaseMwmListFragment;
+import com.mapswithme.maps.base.BaseMwmDialogFragment;
import com.mapswithme.maps.bookmarks.data.Bookmark;
import com.mapswithme.maps.bookmarks.data.BookmarkManager;
-import com.mapswithme.maps.bookmarks.data.ParcelablePoint;
import com.mapswithme.maps.dialog.EditTextDialogFragment;
import com.mapswithme.util.statistics.Statistics;
-public class ChooseBookmarkCategoryFragment extends BaseMwmListFragment implements EditTextDialogFragment.OnTextSaveListener
+import static com.mapswithme.maps.dialog.EditTextDialogFragment.EXTRA_POSITIVE_BUTTON;
+import static com.mapswithme.maps.dialog.EditTextDialogFragment.EXTRA_TITLE;
+import static com.mapswithme.maps.dialog.EditTextDialogFragment.OnTextSaveListener;
+
+public class ChooseBookmarkCategoryFragment extends BaseMwmDialogFragment implements OnTextSaveListener, ChooseBookmarkCategoryAdapter.CategoryListener
{
- private ChooseBookmarkCategoryAdapter mAdapter;
+ public static final String CATEGORY_ID = "ExtraCategoryId";
+ public static final String BOOKMARK_ID = "ExtraBookmarkId";
+
private Bookmark mBookmark;
+ private ChooseBookmarkCategoryAdapter mAdapter;
+ private RecyclerView mRecycler;
+
+
+ public interface Listener
+ {
+ void onCategoryChanged(int bookmarkId, int newCategoryId);
+ }
+ private Listener mListener;
+
+ @Override
+ public void onCreate(@Nullable Bundle savedInstanceState)
+ {
+ super.onCreate(savedInstanceState);
+ setStyle(DialogFragment.STYLE_NO_FRAME, R.style.MwmMain_DialogFragment);
+ }
+
+ @Nullable
+ @Override
+ public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState)
+ {
+ mRecycler = (RecyclerView) inflater.inflate(R.layout.recycler_default, container, false);
+ mRecycler.setLayoutManager(new org.solovyev.android.views.llm.LinearLayoutManager(getActivity()));
+
+ return mRecycler;
+ }
@Override
public void onViewCreated(View view, Bundle savedInstanceState)
{
super.onViewCreated(view, savedInstanceState);
- mAdapter = new ChooseBookmarkCategoryAdapter(getActivity(), getArguments().getInt(ChooseBookmarkCategoryActivity.BOOKMARK_CATEGORY_INDEX, 0));
- setListAdapter(mAdapter);
- mBookmark = getBookmarkFromIntent();
+ final Bundle args = getArguments();
+ final int catId = args.getInt(CATEGORY_ID, 0);
+ mBookmark = BookmarkManager.INSTANCE.getBookmark(catId, args.getInt(BOOKMARK_ID));
+ mAdapter = new ChooseBookmarkCategoryAdapter(getActivity(), catId);
+ mAdapter.setListener(this);
+ mRecycler.setAdapter(mAdapter);
}
@Override
- public void onListItemClick(ListView l, View v, int position, long id)
+ public void onAttach(Activity activity)
{
- if (mAdapter.getItemViewType(position) == ChooseBookmarkCategoryAdapter.VIEW_TYPE_ADD_NEW)
- showCreateCategoryDialog();
- else
+ if (mListener == null)
{
- mAdapter.chooseItem(position);
-
- mBookmark.setCategoryId(position);
- getActivity().getIntent().putExtra(ChooseBookmarkCategoryActivity.BOOKMARK,
- new ParcelablePoint(mBookmark.getCategoryId(), mBookmark.getBookmarkId()));
-
- getActivity().onBackPressed();
+ final Fragment parent = getParentFragment();
+ if (parent instanceof Listener)
+ mListener = (Listener) parent;
+ else if (activity instanceof Listener)
+ mListener = (Listener) activity;
}
- }
- private Bookmark getBookmarkFromIntent()
- {
- // Note that Point result from the intent is actually a pair
- // of (category index, bookmark index in category).
- final Point cab = ((ParcelablePoint) getArguments().getParcelable(ChooseBookmarkCategoryActivity.BOOKMARK)).getPoint();
- return BookmarkManager.INSTANCE.getBookmark(cab.x, cab.y);
+ super.onAttach(activity);
}
- private void showCreateCategoryDialog()
+ @Override
+ public void onSaveText(String text)
{
- final Bundle args = new Bundle();
- args.putString(EditTextDialogFragment.EXTRA_TITLE, getString(R.string.new_group));
- args.putString(EditTextDialogFragment.EXTRA_POSITIVE_BUTTON, getString(R.string.ok));
- final EditTextDialogFragment fragment = (EditTextDialogFragment) Fragment.instantiate(getActivity(), EditTextDialogFragment.class.getName());
- fragment.setOnTextSaveListener(this);
- fragment.setArguments(args);
- fragment.show(getActivity().getSupportFragmentManager(), EditTextDialogFragment.class.getName());
+ createCategory(text);
}
private void createCategory(String name)
{
final int category = BookmarkManager.INSTANCE.createCategory(name);
mBookmark.setCategoryId(category);
-
- getActivity().getIntent().putExtra(ChooseBookmarkCategoryActivity.BOOKMARK_CATEGORY_INDEX, category)
- .putExtra(ChooseBookmarkCategoryActivity.BOOKMARK, new ParcelablePoint(category, 0));
-
mAdapter.chooseItem(category);
-
Statistics.INSTANCE.trackGroupCreated();
}
@Override
- public void onSaveText(String text)
+ public void onCategorySet(int categoryId)
{
- createCategory(text);
+ mBookmark.setCategoryId(categoryId);
+ mAdapter.chooseItem(categoryId);
+ if (mListener != null)
+ mListener.onCategoryChanged(mBookmark.getBookmarkId(), categoryId);
+ dismiss();
+ Statistics.INSTANCE.trackSimpleNamedEvent(Statistics.EventName.GROUP_CHANGED);
+ }
+
+ @Override
+ public void onCategoryCreate()
+ {
+ final Bundle args = new Bundle();
+ Activity activity = getActivity();
+ args.putString(EXTRA_TITLE, activity.getString(R.string.new_group));
+ args.putString(EXTRA_POSITIVE_BUTTON, activity.getString(R.string.ok));
+ final EditTextDialogFragment fragment = (EditTextDialogFragment) Fragment.
+ instantiate(activity, EditTextDialogFragment.class.getName());
+ fragment.setArguments(args);
+ fragment.show(getChildFragmentManager(), EditTextDialogFragment.class.getName());
}
}
diff --git a/android/src/com/mapswithme/maps/dialog/EditTextDialogFragment.java b/android/src/com/mapswithme/maps/dialog/EditTextDialogFragment.java
index d9c7724b77..8da05f8f37 100644
--- a/android/src/com/mapswithme/maps/dialog/EditTextDialogFragment.java
+++ b/android/src/com/mapswithme/maps/dialog/EditTextDialogFragment.java
@@ -1,10 +1,12 @@
package com.mapswithme.maps.dialog;
import android.annotation.SuppressLint;
+import android.app.Activity;
import android.app.Dialog;
import android.content.DialogInterface;
import android.os.Bundle;
import android.support.annotation.NonNull;
+import android.support.v4.app.Fragment;
import android.support.v7.app.AlertDialog;
import android.text.TextUtils;
import android.view.View;
@@ -31,10 +33,6 @@ public class EditTextDialogFragment extends BaseMwmDialogFragment
void onSaveText(String text);
}
- private OnTextSaveListener mTextSaveListener;
-
- public EditTextDialogFragment() {}
-
@NonNull
@Override
public Dialog onCreateDialog(Bundle savedInstanceState)
@@ -51,35 +49,29 @@ public class EditTextDialogFragment extends BaseMwmDialogFragment
negativeButtonText = args.getString(EXTRA_NEGATIVE_BUTTON);
}
- final AlertDialog.Builder builder = new AlertDialog.Builder(getActivity()).
- setView(buildView()).
+ final AlertDialog.Builder builder = new AlertDialog.Builder(getActivity()).setView(buildView()).
setPositiveButton(positiveButtonText, new DialogInterface.OnClickListener()
{
@Override
public void onClick(DialogInterface dialog, int which)
{
- if (mTextSaveListener != null)
- mTextSaveListener.onSaveText(mEtInput.getText().toString());
+ final Fragment parentFragment = getParentFragment();
+ final String result = mEtInput.getText().toString();
+ if (parentFragment instanceof OnTextSaveListener)
+ {
+ ((OnTextSaveListener) parentFragment).onSaveText(result);
+ return;
+ }
+
+ final Activity activity = getActivity();
+ if (activity instanceof OnTextSaveListener)
+ ((OnTextSaveListener) activity).onSaveText(result);
}
- }
- ).setNegativeButton(negativeButtonText, new DialogInterface.OnClickListener()
- {
- @Override
- public void onClick(DialogInterface dialog, int which)
- {
-
- }
- }
- );
+ }).setNegativeButton(negativeButtonText, null);
return builder.create();
}
- public void setOnTextSaveListener(OnTextSaveListener listener)
- {
- mTextSaveListener = listener;
- }
-
private View buildView()
{
@SuppressLint("InflateParams") final View root = getActivity().getLayoutInflater().inflate(R.layout.dialog_edit_text, null);
diff --git a/android/src/com/mapswithme/maps/widget/placepage/EditBookmarkFragment.java b/android/src/com/mapswithme/maps/widget/placepage/EditBookmarkFragment.java
index 21d1e6b986..2ec5d80df3 100644
--- a/android/src/com/mapswithme/maps/widget/placepage/EditBookmarkFragment.java
+++ b/android/src/com/mapswithme/maps/widget/placepage/EditBookmarkFragment.java
@@ -1,9 +1,9 @@
package com.mapswithme.maps.widget.placepage;
-import android.content.Intent;
import android.os.Bundle;
import android.support.annotation.Nullable;
import android.support.v4.app.DialogFragment;
+import android.support.v4.app.Fragment;
import android.support.v7.widget.Toolbar;
import android.text.TextUtils;
import android.view.LayoutInflater;
@@ -15,16 +15,16 @@ import android.widget.TextView;
import com.mapswithme.maps.R;
import com.mapswithme.maps.base.BaseMwmDialogFragment;
-import com.mapswithme.maps.bookmarks.ChooseBookmarkCategoryActivity;
+import com.mapswithme.maps.bookmarks.ChooseBookmarkCategoryFragment;
+import com.mapswithme.maps.bookmarks.ChooseBookmarkCategoryFragment.Listener;
import com.mapswithme.maps.bookmarks.data.Bookmark;
import com.mapswithme.maps.bookmarks.data.BookmarkManager;
import com.mapswithme.maps.bookmarks.data.Icon;
-import com.mapswithme.maps.bookmarks.data.ParcelablePoint;
import com.mapswithme.util.InputUtils;
import com.mapswithme.util.UiUtils;
import com.mapswithme.util.statistics.Statistics;
-public class EditBookmarkFragment extends BaseMwmDialogFragment implements View.OnClickListener
+public class EditBookmarkFragment extends BaseMwmDialogFragment implements View.OnClickListener, Listener
{
public static final String EXTRA_CATEGORY_ID = "CategoryId";
public static final String EXTRA_BOOKMARK_ID = "BookmarkId";
@@ -117,10 +117,11 @@ public class EditBookmarkFragment extends BaseMwmDialogFragment implements View.
private void selectBookmarkSet()
{
- final Intent intent = new Intent(getActivity(), ChooseBookmarkCategoryActivity.class)
- .putExtra(ChooseBookmarkCategoryActivity.BOOKMARK_CATEGORY_INDEX, mBookmark.getCategoryId())
- .putExtra(ChooseBookmarkCategoryActivity.BOOKMARK, new ParcelablePoint(mBookmark.getCategoryId(), mBookmark.getBookmarkId()));
- getActivity().startActivityForResult(intent, ChooseBookmarkCategoryActivity.REQUEST_CODE_BOOKMARK_SET);
+ final Bundle args = new Bundle();
+ args.putInt(ChooseBookmarkCategoryFragment.CATEGORY_ID, mBookmark.getCategoryId());
+ args.putInt(ChooseBookmarkCategoryFragment.BOOKMARK_ID, mBookmark.getBookmarkId());
+ final ChooseBookmarkCategoryFragment fragment = (ChooseBookmarkCategoryFragment) Fragment.instantiate(getActivity(), ChooseBookmarkCategoryFragment.class.getName(), args);
+ fragment.show(getChildFragmentManager(), null);
}
private void selectBookmarkColor()
@@ -165,4 +166,11 @@ public class EditBookmarkFragment extends BaseMwmDialogFragment implements View.
mTvBookmarkGroup.setText(mBookmark.getCategoryName(getActivity()));
refreshColorMarker();
}
+
+ @Override
+ public void onCategoryChanged(int bookmarkId, int newCategoryId)
+ {
+ mBookmark = BookmarkManager.INSTANCE.getBookmark(newCategoryId, bookmarkId);
+ refreshBookmark();
+ }
}
diff --git a/android/src/com/mapswithme/maps/widget/placepage/PlacePageView.java b/android/src/com/mapswithme/maps/widget/placepage/PlacePageView.java
index f0829b22be..a1c275807c 100644
--- a/android/src/com/mapswithme/maps/widget/placepage/PlacePageView.java
+++ b/android/src/com/mapswithme/maps/widget/placepage/PlacePageView.java
@@ -16,21 +16,48 @@ import android.support.v4.app.FragmentActivity;
import android.support.v7.widget.Toolbar;
import android.text.TextUtils;
import android.util.AttributeSet;
-import android.view.*;
+import android.view.LayoutInflater;
+import android.view.Menu;
+import android.view.MenuItem;
+import android.view.MotionEvent;
+import android.view.View;
+import android.view.ViewGroup;
import android.webkit.WebView;
-import android.widget.*;
-import com.mapswithme.maps.*;
+import android.widget.Button;
+import android.widget.EditText;
+import android.widget.ImageView;
+import android.widget.LinearLayout;
+import android.widget.PopupMenu;
+import android.widget.RatingBar;
+import android.widget.RelativeLayout;
+import android.widget.ScrollView;
+import android.widget.TextView;
+
+import com.mapswithme.maps.BuildConfig;
+import com.mapswithme.maps.Framework;
+import com.mapswithme.maps.MwmActivity;
+import com.mapswithme.maps.MwmApplication;
+import com.mapswithme.maps.R;
import com.mapswithme.maps.api.ParsedMwmRequest;
-import com.mapswithme.maps.bookmarks.ChooseBookmarkCategoryActivity;
-import com.mapswithme.maps.bookmarks.data.*;
+import com.mapswithme.maps.bookmarks.ChooseBookmarkCategoryFragment;
+import com.mapswithme.maps.bookmarks.data.Bookmark;
+import com.mapswithme.maps.bookmarks.data.BookmarkManager;
+import com.mapswithme.maps.bookmarks.data.DistanceAndAzimut;
+import com.mapswithme.maps.bookmarks.data.Icon;
+import com.mapswithme.maps.bookmarks.data.MapObject;
import com.mapswithme.maps.bookmarks.data.MapObject.MapObjectType;
import com.mapswithme.maps.bookmarks.data.MapObject.Poi;
+import com.mapswithme.maps.bookmarks.data.Metadata;
import com.mapswithme.maps.location.LocationHelper;
import com.mapswithme.maps.widget.ArrowView;
import com.mapswithme.maps.widget.BaseShadowController;
import com.mapswithme.maps.widget.ObservableScrollView;
import com.mapswithme.maps.widget.ScrollViewShadowController;
-import com.mapswithme.util.*;
+import com.mapswithme.util.InputUtils;
+import com.mapswithme.util.LocationUtils;
+import com.mapswithme.util.StringUtils;
+import com.mapswithme.util.UiUtils;
+import com.mapswithme.util.Utils;
import com.mapswithme.util.concurrency.UiThread;
import com.mapswithme.util.sharing.ShareOption;
import com.mapswithme.util.statistics.AlohaHelper;
@@ -744,12 +771,14 @@ public class PlacePageView extends RelativeLayout implements View.OnClickListene
private void selectBookmarkSet()
{
- final Activity activity = (Activity) getContext();
+ final FragmentActivity activity = (FragmentActivity) getContext();
final Bookmark bookmark = (Bookmark) mMapObject;
- final Intent intent = new Intent(activity, ChooseBookmarkCategoryActivity.class)
- .putExtra(ChooseBookmarkCategoryActivity.BOOKMARK_CATEGORY_INDEX, bookmark.getCategoryId())
- .putExtra(ChooseBookmarkCategoryActivity.BOOKMARK, new ParcelablePoint(bookmark.getCategoryId(), bookmark.getBookmarkId()));
- activity.startActivityForResult(intent, ChooseBookmarkCategoryActivity.REQUEST_CODE_BOOKMARK_SET);
+
+ final Bundle args = new Bundle();
+ args.putInt(ChooseBookmarkCategoryFragment.CATEGORY_ID, bookmark.getCategoryId());
+ args.putInt(ChooseBookmarkCategoryFragment.BOOKMARK_ID, bookmark.getBookmarkId());
+ final ChooseBookmarkCategoryFragment fragment = (ChooseBookmarkCategoryFragment) Fragment.instantiate(activity, ChooseBookmarkCategoryFragment.class.getName(), args);
+ fragment.show(activity.getSupportFragmentManager(), null);
}
private void selectBookmarkColor()
diff --git a/android/src/com/mapswithme/maps/widget/recycler/RecyclerClickListener.java b/android/src/com/mapswithme/maps/widget/recycler/RecyclerClickListener.java
new file mode 100644
index 0000000000..5c1c6ab010
--- /dev/null
+++ b/android/src/com/mapswithme/maps/widget/recycler/RecyclerClickListener.java
@@ -0,0 +1,8 @@
+package com.mapswithme.maps.widget.recycler;
+
+import android.view.View;
+
+public interface RecyclerClickListener
+{
+ void onItemClick(View v, int position);
+}
diff --git a/android/src/com/mapswithme/maps/widget/recycler/RecyclerLongClickListener.java b/android/src/com/mapswithme/maps/widget/recycler/RecyclerLongClickListener.java
new file mode 100644
index 0000000000..da2af20319
--- /dev/null
+++ b/android/src/com/mapswithme/maps/widget/recycler/RecyclerLongClickListener.java
@@ -0,0 +1,8 @@
+package com.mapswithme.maps.widget.recycler;
+
+import android.view.View;
+
+public interface RecyclerLongClickListener
+{
+ void onLongItemClick(View v, int position);
+}
diff --git a/android/src/com/mapswithme/util/statistics/Statistics.java b/android/src/com/mapswithme/util/statistics/Statistics.java
index 3822735770..7273dc92e5 100644
--- a/android/src/com/mapswithme/util/statistics/Statistics.java
+++ b/android/src/com/mapswithme/util/statistics/Statistics.java
@@ -39,6 +39,7 @@ public enum Statistics
public static final String SEARCH_CAT_CLICKED = "Search category clicked";
public static final String DESCRIPTION_CHANGED = "Description changed";
public static final String GROUP_CREATED = "Group Created";
+ public static final String GROUP_CHANGED = "Group changed";
public static final String COLOR_CHANGED = "Color changed";
public static final String BOOKMARK_CREATED = "Bookmark created";
public static final String PLACE_SHARED = "Place Shared";